/* Official shield identity applied to site chrome. Navy + gold + emerald, bilingual lockup. */

.site-header,
.site-header.site-header-brand {
  background: #051A2D;
  color: #FFFFFF;
  border-block-end: 0;
  box-shadow: 0 1px 0 rgba(213, 170, 67, 0.35);
}

.site-header .header-inner {
  min-block-size: 5.75rem;
  border: 0;
}

.site-header .brand {
  display: flex;
  align-items: center;
  gap: 0;
  min-block-size: 52px;
  color: #FFFFFF;
}

.site-header .brand-lockup,
.brand-lockup {
  display: block;
  inline-size: auto;
  block-size: 76px;
  max-inline-size: min(58vw, 340px);
  height: 76px;
  width: auto;
}

.site-header .nav-links a,
.site-header .lang-switch,
.site-header .theme-toggle,
html.js[data-theme-ready='true'] .site-header .theme-toggle {
  color: #FFFFFF;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.site-header .nav-links a {
  border-color: transparent;
}

.site-header .nav-links a:hover,
.site-header .nav-links a[aria-current='page'],
.site-header .lang-switch:hover,
.site-header .theme-toggle:hover,
html.js[data-theme-ready='true'] .site-header .theme-toggle:hover {
  background: rgba(14, 184, 110, 0.18);
  color: #FFFFFF;
  border-color: #0EB86E;
}

.site-header .nav-links a[aria-current='page'] {
  box-shadow: inset 0 -2px 0 #D5AA43;
  text-decoration-color: #D5AA43;
}

.site-header .menu-toggle {
  border-color: rgba(255, 255, 255, 0.45);
  color: #FFFFFF;
  background: transparent;
}

.site-header .menu-toggle:hover,
.site-header[data-open='true'] .menu-toggle {
  background: #0EB86E;
  border-color: #0EB86E;
  color: #051A2D;
}

.site-header .button-primary {
  background: #0EB86E;
  color: #051A2D;
  border-color: #0EB86E;
}
.site-header .button-primary:hover {
  background: #D5AA43;
  border-color: #D5AA43;
  color: #051A2D;
}

/* Official tagline under a gold rule, as in the brand lockup. */
.brand-strap {
  background: #F5F7F5;
  border-block-end: 1px solid #d5ddd8;
}
.brand-strap-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
  padding-block: 0.7rem 0.8rem;
}
html[lang='en'] .brand-strap-inner { align-items: flex-start; }
.brand-rule {
  display: block;
  width: 7.5rem;
  max-width: 40%;
  height: 3px;
  border-radius: 99px;
  background: #D5AA43;
}
.brand-tagline {
  margin: 0;
  font-weight: 600;
  font-size: 1.05rem;
  line-height: 1.5;
  color: #034633;
  letter-spacing: 0;
}

.site-footer {
  background: #051A2D;
  color: #F5F7F5;
}
.site-footer .brand-footer,
.footer-brand .brand {
  display: block;
}
.footer-brand .brand-lockup {
  block-size: 88px;
  height: 88px;
  max-inline-size: min(80vw, 320px);
}
.footer-brand .brand-tagline {
  margin-block-start: 0.75rem;
  color: #E8F1EB;
  font-size: 1rem;
}
.footer-brand .brand-tagline::before {
  content: "";
  display: block;
  width: 6.5rem;
  height: 3px;
  border-radius: 99px;
  background: #D5AA43;
  margin-block-end: 0.55rem;
}

/* Hero: navy panel so the palette is visible, gold on the official phrase. */
.hero-brand .hero-copy {
  background: #051A2D;
  color: #FFFFFF;
  padding: 1.75rem 1.5rem;
  border-radius: 1.25rem;
}
.hero-brand .eyebrow { color: #0EB86E; }
.hero-brand .hero-title,
.hero-brand .hero-lead,
.hero-brand .hero-city { color: #FFFFFF; }
.hero-brand .hero-pain { color: #E8F1EB; }
.hero-brand .hero-title .accent {
  color: #D5AA43;
  background: none;
  box-shadow: none;
  text-decoration: none;
}
.hero-brand .button-primary {
  background: #0EB86E;
  color: #051A2D;
  border-color: #0EB86E;
}
.hero-brand .button-secondary {
  background: transparent;
  color: #FFFFFF;
  border: 1px solid #D5AA43;
}
.hero-brand .button-secondary:hover {
  background: #D5AA43;
  color: #051A2D;
}

@media (max-width: 759px) {
  .site-header .brand-lockup,
  .brand-lockup {
    block-size: 58px;
    height: 58px;
    max-inline-size: min(64vw, 240px);
  }
  .site-header .header-inner { min-block-size: 4.75rem; }
  .footer-brand .brand-lockup {
    block-size: 72px;
    height: 72px;
  }
  .brand-tagline { font-size: 0.98rem; }
}

/* Keep the inverse lockup on navy chrome in every theme. */
.site-header .brand-lockup,
.footer-brand .brand-lockup,
.site-header .brand-standard,
.site-header .brand-inverse { display: block; }

@media (max-width: 959px) {
  .site-header[data-open='true'] .main-nav {
    background: #051A2D;
    color: #FFFFFF;
    border-color: rgba(213, 170, 67, 0.35);
  }
}

:root[data-theme='dark'] .brand-strap {
  background: #0B2A3D;
  border-block-end-color: rgba(213, 170, 67, 0.35);
}
:root[data-theme='dark'] .brand-strap .brand-tagline { color: #E8F1EB; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) .brand-strap {
    background: #0B2A3D;
    border-block-end-color: rgba(213, 170, 67, 0.35);
  }
  :root:not([data-theme='light']) .brand-strap .brand-tagline { color: #E8F1EB; }
}

.logo-preview-official img {
  display: block;
  width: 100%;
  max-width: 28rem;
  height: auto;
  margin-block-end: 1rem;
}
.p3-screen-brand .p3-lockup {
  height: 36px;
  width: auto;
  display: block;
}
.brand-hero-mark img {
  width: min(100%, 22rem);
  height: auto;
  display: block;
}
