/* === fonts.css === */
/* Self hosted brand fonts. Both SIL OFL; licenses in assets/fonts/. */
@font-face{font-family:'Figtree';src:url('../assets/fonts/Figtree-Variable.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:'Atkinson Hyperlegible Next';src:url('../assets/fonts/AtkinsonHyperlegibleNext-Variable.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Atkinson Hyperlegible Next';src:url('../assets/fonts/AtkinsonHyperlegibleNext-Variable-Italic.woff2') format('woff2');font-weight:200 800;font-style:italic;font-display:swap}

/* === colors.css === */
/* Exact brand values. Never tinted, shaded or substituted. */
:root{
--coral:#F06280;
--navy:#234A66;
--sky:#5786B5;
--bright-blue:#3F9CBF;
--teal:#36AD9C;
--violet:#7C68AE;
--sunshine:#ECD267;
--leaf-green:#69AA84;
--off-white:#F5F5F5;
--white:#FFFFFF;

/* Semantic aliases: use these in product code. */
--action:var(--coral);
--on-action:var(--white);
--ink:var(--navy);
--surface-page:var(--off-white);
--surface-card:var(--white);
--surface-band:var(--sky);
--surface-inverse:var(--navy);
--focus-ring:var(--navy);
--line:rgba(35, 74, 102, 0.16);
--line-strong:rgba(35, 74, 102, 0.32);
--line-inverse:rgba(255, 255, 255, 0.25);
}

/* === typography.css === */
:root{
--font-heading:"Figtree", "Avenir Next", "Segoe UI", system-ui, sans-serif;
--font-text:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;
--measure:68ch;
}
.lh-display{font-family:var(--font-heading);font-size:60px;line-height:64px;font-weight:800;letter-spacing:-0.02em}
.lh-h1{font-family:var(--font-heading);font-size:46px;line-height:52px;font-weight:700;letter-spacing:-0.015em}
.lh-h2{font-family:var(--font-heading);font-size:36px;line-height:44px;font-weight:700;letter-spacing:-0.01em}
.lh-h3{font-family:var(--font-heading);font-size:28px;line-height:36px;font-weight:700}
.lh-h4{font-family:var(--font-heading);font-size:22px;line-height:30px;font-weight:700}
.lh-button{font-family:var(--font-heading);font-size:19px;line-height:24px;font-weight:700}
.lh-body-lg{font-family:var(--font-text);font-size:20px;line-height:32px;font-weight:400}
.lh-body{font-family:var(--font-text);font-size:18px;line-height:28px;font-weight:400}
.lh-small{font-family:var(--font-text);font-size:16px;line-height:24px;font-weight:400}
.lh-caption{font-family:var(--font-text);font-size:14px;line-height:20px;font-weight:400;letter-spacing:0.01em}
.lh-label{font-family:var(--font-text);font-size:14px;line-height:20px;font-weight:700;letter-spacing:0.06em}
/* Mobile column of the type scale. Switch below 720px. */
@media (max-width:720px){
.lh-display{font-size:40px;line-height:44px}
.lh-h1{font-size:34px;line-height:40px}
.lh-h2{font-size:28px;line-height:34px}
.lh-h3{font-size:24px;line-height:30px}
.lh-h4{font-size:20px;line-height:28px}
.lh-body-lg{font-size:19px;line-height:30px}
.lh-body{font-size:16px;line-height:24px}
}

/* === spacing.css === */
:root{
--space-1:4px;
--space-2:8px;
--space-3:12px;
--space-4:16px;
--space-5:24px;
--space-6:32px;
--space-7:48px;
--space-8:64px;
--space-9:96px;

--radius-sm:6px;
--radius-md:12px;
--radius-lg:20px;
--radius-pill:999px;

--shadow-card:0 1px 2px rgba(35, 74, 102, 0.08), 0 8px 24px rgba(35, 74, 102, 0.08);
--shadow-raised:0 2px 4px rgba(35, 74, 102, 0.10), 0 16px 40px rgba(35, 74, 102, 0.12);

--logo-stacked-min:160px;
--logo-horizontal-min:240px;
--mark-min:32px;
--icon-md:56px;
--icon-sm:32px;
--tap-target:48px;
--content-max:1200px;
}

/* === patterns.css === */
/* Component classes. Every value is a token. Mirrors the supplied brand kit's bundle.css. */
.lh-page{background:var(--surface-page);color:var(--ink);font-family:var(--font-text);font-size:18px;line-height:28px}
.lh-page h1,.lh-page h2,.lh-page h3,.lh-page h4{font-family:var(--font-heading);color:var(--ink);margin:0}
.lh-page p{margin:0}
.lh-page a:not([class]){color:var(--ink)}
.lh-page a:not([class]):hover{color:var(--ink)}

/* Button: coral is the only button color. Label is always 19px bold (WCAG large text). */
.lh-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-3) var(--space-5);border:0;border-radius:var(--radius-md);background:var(--action);color:var(--on-action);font-family:var(--font-heading);font-size:19px;line-height:24px;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;box-sizing:border-box}
.lh-btn:hover{box-shadow:inset 0 -3px 0 rgba(35, 74, 102, 0.28);color:var(--on-action)}
.lh-btn:active{box-shadow:inset 0 3px 0 rgba(35, 74, 102, 0.28)}
.lh-btn:focus-visible,.lh-link:focus-visible,.lh-card-link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--white)}
.lh-btn[aria-disabled="true"],.lh-btn:disabled{background:var(--white);color:var(--navy);box-shadow:inset 0 0 0 2px var(--line);cursor:not-allowed}
.lh-btn--block{width:100%}

/* Link: navy text, coral underline. The underline is the link signal; navy carries the contrast. */
.lh-link{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--action);text-decoration-thickness:3px;text-underline-offset:5px}
.lh-link:hover{text-decoration-thickness:5px;color:var(--ink)}
.lh-inverse .lh-link,.lh-link--inverse{color:var(--white)}
.lh-inverse .lh-link:hover,.lh-link--inverse:hover{color:var(--white)}

/* Card */
.lh-card{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6);color:var(--ink)}
.lh-card--flat{box-shadow:none;border:1px solid var(--line)}
.lh-card--raised{box-shadow:var(--shadow-raised)}

/* Service card: one icon, one accent color, a title, one or two plain sentences. */
.lh-service{display:flex;flex-direction:column;gap:var(--space-3)}
.lh-service__icon{width:var(--icon-md);height:var(--icon-md);display:block}
.lh-service__title{font-family:var(--font-heading);font-size:22px;line-height:30px;font-weight:700;color:var(--ink);margin:0}
.lh-service__body{font-size:16px;line-height:24px;margin:0;color:var(--ink)}

/* Band: sky section. Only 24px+ white type sits on it; body copy goes in white cards. */
.lh-band{background:var(--surface-band);color:var(--white);padding:var(--space-9) var(--space-6)}
.lh-band .lh-band__title{font-family:var(--font-heading);color:var(--white);font-size:36px;line-height:44px;font-weight:700;margin:0}
.lh-band .lh-band__lead{font-family:var(--font-heading);color:var(--white);font-size:24px;line-height:32px;font-weight:600;margin:0}

.lh-inverse{background:var(--surface-inverse);color:var(--white)}
.lh-eyebrow{font-family:var(--font-text);font-size:14px;line-height:20px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);margin:0}
.lh-step{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-pill);background:var(--navy);color:var(--white);font-family:var(--font-heading);font-weight:800;font-size:19px}

/* Photo frame. Real photography only; this is the slot it sits in. */
.lh-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);background:var(--off-white);margin:0}
.lh-photo img{display:block;width:100%;height:auto}
.lh-photo figcaption{position:absolute;left:var(--space-4);bottom:var(--space-4);background:var(--white);border-radius:var(--radius-sm);padding:4px 10px;font-family:var(--font-text);font-size:14px;line-height:20px;color:var(--ink)}
.lh-photo--empty{display:flex;align-items:center;justify-content:center;box-shadow:none;border:2px dashed var(--line-strong);min-height:220px;padding:var(--space-5);text-align:center}

/* === site.css === */
/* Page layout on top of the brand kit tokens. Every value is a token. */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
}
body{margin:0}
img{max-width:100%;height:auto}
ul,ol{margin:0;padding:0 0 0 22px}
li{margin:0 0 var(--space-2)}
p,li{max-width:var(--measure)}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--white)
}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:0;z-index:50;background:var(--white);color:var(--ink);
  padding:var(--space-3) var(--space-5);border-radius:0 0 var(--radius-md) 0;font-weight:700;text-decoration:none}
.skip-link:focus{left:0}

.inner{max-width:var(--content-max);margin:0 auto;padding:0 var(--space-6)}
@media (max-width:720px){.inner{padding:0 var(--space-4)}}

/* ---------- Header ---------- */
.site-header{background:var(--white);box-shadow:0 1px 0 var(--line);position:sticky;top:0;z-index:20}
.site-header .inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);height:96px}
.header-logo{display:flex;align-items:center;min-height:var(--tap-target);flex:0 0 auto}
.header-logo img{display:block}
.header-logo--desktop img{height:64px;width:auto;max-width:none}
.header-logo--mobile{display:none}
.header-logo--mobile img{height:40px;width:auto}

.site-nav>ul{display:flex;gap:var(--space-5);list-style:none;padding:0;margin:0;align-items:center}
.site-nav li{margin:0}
.site-nav .nav-item{position:relative;display:flex;align-items:center}
.site-nav a.nav-top{display:inline-flex;align-items:center;min-height:var(--tap-target);
  color:var(--ink);text-decoration:none;font-family:var(--font-text);font-weight:700;font-size:17px;padding:0 2px;white-space:nowrap}
.site-nav a.nav-top:hover,.site-nav a.nav-top[aria-current="true"]{
  text-decoration:underline;text-decoration-color:var(--action);text-decoration-thickness:3px;text-underline-offset:8px}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;min-height:var(--tap-target);
  border:0;background:none;padding:0;cursor:pointer;color:var(--ink)}
.nav-toggle svg{width:14px;height:14px;transition:transform 120ms linear}
.nav-item.open>.nav-toggle svg{transform:rotate(180deg)}
.nav-menu{position:absolute;top:100%;left:calc(-1 * var(--space-4));min-width:280px;background:var(--white);
  border-radius:var(--radius-md);box-shadow:var(--shadow-raised);border:1px solid var(--line);
  padding:var(--space-2);list-style:none;margin:0;display:none;z-index:30}
.nav-item.open>.nav-menu{display:block}
@media (hover:hover){.nav-item:hover>.nav-menu,.nav-item:focus-within>.nav-menu{display:block}}
.nav-menu a{display:flex;align-items:center;min-height:var(--tap-target);padding:var(--space-2) var(--space-4);
  border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;font-family:var(--font-text);font-size:17px}
.nav-menu a:hover{text-decoration:underline;text-decoration-color:var(--action);text-decoration-thickness:3px;text-underline-offset:5px}
.nav-menu a[aria-current="page"]{font-weight:700;text-decoration:underline;text-decoration-color:var(--action);
  text-decoration-thickness:3px;text-underline-offset:5px}

.header-cta{flex:0 0 auto}
.header-call-mobile,.menu-button{display:none}

/* Mobile header (collapses below 1140px so the full logo, nav, CTA and language switcher never collide) */
@media (max-width:1199px){
  .site-header .inner{height:72px;gap:var(--space-3)}
  .site-nav,.header-cta{display:none}
  .header-logo--desktop{display:none}
  .header-logo--mobile{display:flex}
  .header-call-mobile{display:inline-flex;margin-left:auto}
  .menu-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
    min-height:var(--tap-target);min-width:var(--tap-target);padding:0 var(--space-3);
    border:0;background:none;cursor:pointer;color:var(--ink);
    font-family:var(--font-heading);font-weight:700;font-size:17px}
}

/* Mobile panel */
.mobile-panel{display:none;position:fixed;inset:0;z-index:40;background:var(--white);overflow-y:auto;
  padding:var(--space-4) var(--space-4) var(--space-8)}
.mobile-panel.open{display:block}
.mobile-panel__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}
.mobile-panel__close{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-target);
  min-width:var(--tap-target);border:0;background:none;cursor:pointer;color:var(--ink);
  font-family:var(--font-heading);font-weight:700;font-size:17px}
.mobile-panel__phone{display:flex;align-items:center;min-height:var(--tap-target);font-family:var(--font-heading);
  font-weight:700;font-size:19px;color:var(--ink);text-decoration:underline;
  text-decoration-color:var(--action);text-decoration-thickness:3px;text-underline-offset:5px;
  margin-bottom:var(--space-4)}
.mobile-panel details{border-top:1px solid var(--line)}
.mobile-panel summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;
  cursor:pointer;list-style:none;font-family:var(--font-heading);font-weight:700;font-size:19px;color:var(--ink)}
.mobile-panel summary::-webkit-details-marker{display:none}
.mobile-panel summary::after{content:"";width:12px;height:12px;border-right:2px solid var(--ink);
  border-bottom:2px solid var(--ink);transform:rotate(45deg);margin-right:var(--space-2);flex:0 0 auto}
.mobile-panel details[open] summary::after{transform:rotate(-135deg)}
.mobile-panel details ul{list-style:none;padding:0 0 var(--space-3)}
.mobile-panel details li{margin:0}
.mobile-panel details a,.mobile-panel__links a{display:flex;align-items:center;min-height:var(--tap-target);
  color:var(--ink);text-decoration:none;font-size:17px;padding-left:var(--space-3)}
.mobile-panel details a:hover,.mobile-panel__links a:hover{text-decoration:underline;
  text-decoration-color:var(--action);text-decoration-thickness:3px;text-underline-offset:5px}
.mobile-panel__links{border-top:1px solid var(--line);padding-top:var(--space-3);margin-top:var(--space-3)}
.mobile-panel__links a{padding-left:0;font-weight:700}
body.panel-open{overflow:hidden}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{padding:var(--space-4) 0 0}
.breadcrumbs ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.breadcrumbs li{display:flex;align-items:center;gap:var(--space-2);margin:0}
.breadcrumbs li+li::before{content:"\203A";color:var(--ink)}
.breadcrumbs a{color:var(--ink);text-decoration:none;padding:var(--space-2) 0;display:inline-flex;align-items:center}
.breadcrumbs a:hover{text-decoration:underline;text-decoration-color:var(--action);text-decoration-thickness:3px;text-underline-offset:5px}
.breadcrumbs [aria-current="page"]{font-weight:700}

/* ---------- Sections ---------- */
.section{padding:var(--space-9) 0}
.section--white{background:var(--white)}
.section--tight{padding:var(--space-7) 0}
@media (max-width:720px){.section{padding:var(--space-8) 0}.section--tight{padding:var(--space-6) 0}}

.section-head{max-width:44em;margin-bottom:var(--space-7)}
.section-head .lh-h2{margin:var(--space-2) 0 var(--space-3)}
@media (max-width:720px){.section-head{margin-bottom:var(--space-6)}}

.hero{padding:var(--space-8) 0 var(--space-9)}
.hero .lh-eyebrow{text-transform:uppercase}
.hero h1{margin:var(--space-3) 0 var(--space-5);max-width:18em}
.hero .lead{max-width:34em}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:center;margin-top:var(--space-6)}
.hero-note{margin-top:var(--space-5)}
.hero--split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:center}
@media (max-width:900px){.hero--split{grid-template-columns:1fr}}
@media (max-width:720px){.hero{padding:var(--space-7) 0 var(--space-8)}}
.hero-icon{width:var(--icon-md);height:var(--icon-md);margin-bottom:var(--space-4)}
.hero-icon svg{width:100%;height:100%;display:block}

/* Grids */
.grid-2,.grid-3,.grid-4{display:grid;gap:var(--space-5)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}
@media (max-width:640px){.grid-4{grid-template-columns:1fr}}

.after-grid{margin-top:var(--space-6)}

/* Proof strip */
.proof-strip{background:var(--white)}
.proof-strip .inner{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);padding-top:var(--space-6);padding-bottom:var(--space-6)}
.proof-strip b{display:block;font-family:var(--font-heading);font-size:22px;line-height:30px}
@media (max-width:900px){.proof-strip .inner{grid-template-columns:1fr;gap:var(--space-4)}}

/* Service cards as links */
.service-link{display:block;text-decoration:none;color:var(--ink);border-radius:var(--radius-lg)}
.service-link .lh-service__title{text-decoration:underline;text-decoration-color:var(--action);
  text-decoration-thickness:3px;text-underline-offset:5px}
.service-link:hover .lh-service__title{text-decoration-thickness:5px}

/* Steps */
.step-card{display:flex;flex-direction:column;gap:var(--space-3)}
.step-card h3,.step-card h4{margin:0}

/* Truth box */
.truth-box{margin-top:var(--space-6);background:var(--white);border-radius:var(--radius-lg);
  padding:var(--space-5) var(--space-6);box-shadow:inset 0 0 0 2px var(--navy);
  display:flex;gap:var(--space-5);align-items:flex-start}
.truth-box svg{width:40px;height:40px;flex:0 0 auto}
@media (max-width:720px){.truth-box{flex-direction:column;gap:var(--space-3);padding:var(--space-5)}}

/* FAQ grid */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-7)}
.faq-grid>div{border-top:1px solid var(--line);padding-top:var(--space-4)}
.faq-grid h3{margin-bottom:var(--space-2)}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}}

/* Sky band */
.lh-band .inner>.lh-band__title{max-width:24em}
.lh-band .inner>.lh-band__lead{margin-top:var(--space-3);max-width:34em}
.band-cards{margin-top:var(--space-6)}
.band--center{text-align:center}
.band--center .lh-band__title,.band--center .lh-band__lead{max-width:none}
.band--center .lh-btn{margin-top:var(--space-5)}
.band-secondary{margin-top:var(--space-4);font-family:var(--font-heading);font-size:24px;line-height:32px;font-weight:600;color:var(--white)}
.band-secondary .lh-link{color:var(--white)}
/* Any inverse link sitting directly on the sky band must be 24px+ (brand rule and 3:1 contrast). */
.lh-band .lh-link--inverse{font-family:var(--font-heading);font-size:24px;line-height:32px;font-weight:600}

/* Footer */
.site-footer{background:var(--surface-inverse);color:var(--white);padding:var(--space-8) 0 var(--space-7)}
.site-footer .inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-6)}
.site-footer h2{font-family:var(--font-heading);font-size:18px;line-height:26px;margin:0 0 var(--space-3);color:var(--white)}
.site-footer ul{list-style:none;padding:0}
.site-footer li{margin:0}
.site-footer a{min-height:var(--tap-target);display:inline-flex;align-items:center}
.site-footer p{font-size:16px;line-height:26px;margin:0}
.footer-logo img{width:180px;height:auto}
.footer-tagline{margin-top:var(--space-4)}
.footer-owners{margin-top:var(--space-4)}
.footer-bottom{grid-column:1 / -1;border-top:1px solid var(--line-inverse);padding-top:var(--space-5);
  font-size:14px;line-height:24px;max-width:none}
.footer-disclaimer{grid-column:1 / -1;font-size:16px;line-height:24px;max-width:none;opacity:1}
@media (max-width:900px){.site-footer .inner{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.site-footer .inner{grid-template-columns:1fr}}

/* Photo slots (no photography exists yet; honest empty frames) */
.brand-panel{border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;min-height:220px;
  background:linear-gradient(135deg,#eaf3f9 0%,#fdeef2 100%)}
.brand-panel img{width:34%;max-width:160px;height:auto;opacity:.9}
.rate-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:center;border-left:5px solid var(--coral,#F06280);padding-left:var(--space-5)}
.rate-row .rate{font-family:var(--font-heading);font-size:28px;line-height:32px;font-weight:700;white-space:nowrap;text-align:right}
.rate-row .rate small{display:block;font-size:14px;line-height:20px;font-weight:400}
.rate-row.t{border-left-color:#36AD9C}.rate-row.v{border-left-color:#7C68AE}.rate-row.b{border-left-color:#3F9CBF}.rate-row.y{border-left-color:#ECD267}
@media (max-width:600px){.rate-row{grid-template-columns:1fr}.rate-row .rate{text-align:left}}
.offer{border:2px dashed var(--coral,#F06280);border-radius:var(--radius-lg);padding:var(--space-5);background:#fff7f9}
.photo-slot{border-radius:var(--radius-lg);border:2px dashed var(--line-strong);background:var(--off-white);
  display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-5);min-height:220px}
.photo-slot p{font-size:14px;line-height:20px;color:var(--ink)}

/* Checklists */
.check-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-6)}
.check-list li{display:flex;gap:var(--space-3);align-items:flex-start;margin:0}
.check-list li::before{content:"";flex:0 0 auto;width:22px;height:22px;margin-top:3px;border-radius:var(--radius-sm);
  background:var(--navy);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat}
.check-list--single{grid-template-columns:1fr}
@media (max-width:720px){.check-list{grid-template-columns:1fr}}

/* Two column split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:var(--space-6)}}

/* Forms */
.form{display:grid;gap:var(--space-5);max-width:640px}
.form fieldset{border:0;padding:0;margin:0;display:grid;gap:var(--space-3)}
.form legend{font-family:var(--font-heading);font-weight:700;font-size:19px;line-height:24px;
  padding:0;margin-bottom:var(--space-2)}
.field{display:grid;gap:var(--space-2)}
.field label{font-weight:700;font-size:16px;line-height:24px}
.field .hint{font-size:14px;line-height:20px}
.field input[type="text"],.field input[type="tel"],.field input[type="email"],.field input[type="number"],
.field select,.field textarea{
  min-height:var(--tap-target);border:1px solid var(--line-strong);border-radius:var(--radius-md);
  padding:var(--space-3) var(--space-4);font-family:var(--font-text);font-size:18px;line-height:28px;
  color:var(--ink);background:var(--white);width:100%}
.field textarea{min-height:120px;resize:vertical}
.choice{display:flex;gap:var(--space-3);align-items:flex-start;font-size:17px;line-height:26px;
  min-height:var(--tap-target);padding:var(--space-2) 0}
.choice input{width:24px;height:24px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--navy)}
.field-error{display:none;font-weight:700;font-size:16px;line-height:24px}
.field.invalid .field-error{display:block}
.field.invalid input,.field.invalid select,.field.invalid textarea{border:2px solid var(--navy)}
.form-note{font-size:16px;line-height:24px}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Long-form article (GAPP guide) */
.article-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-7);align-items:start}
.article-toc{position:sticky;top:120px;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--space-5);background:var(--white)}
.article-toc h2{font-size:18px;margin:0 0 var(--space-3)}
.article-toc ol{padding-left:22px;font-size:16px;line-height:24px}
.article-toc a{color:var(--ink);text-decoration:none;display:inline-block;padding:3px 0}
.article-toc a:hover{text-decoration:underline;text-decoration-color:var(--action);text-decoration-thickness:3px;text-underline-offset:4px}
.article-body>h2{margin-top:var(--space-7)}
.article-body>h2:first-child{margin-top:0}
.article-body p{margin-top:var(--space-3)}
.article-body ul{margin-top:var(--space-3)}
@media (max-width:900px){.article-layout{grid-template-columns:1fr}.article-toc{position:static}}

/* Prose blocks */
.prose h2{margin-top:var(--space-7)}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:var(--space-5)}
.prose p,.prose ul,.prose ol{margin-top:var(--space-3)}

/* Placeholder marks for the owners to fill in */
mark.todo{background:var(--sunshine);color:var(--navy);border-radius:var(--radius-sm);padding:0 4px}

/* Notice bar (Spanish pending, todo page) */
.notice{background:var(--white);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 2px var(--navy);
  padding:var(--space-4) var(--space-5);margin:var(--space-5) 0 0}

/* Utility */
.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}
.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-7{margin-top:var(--space-7)}
.measure{max-width:var(--measure)}
.visually-hidden{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.icon-inline{width:var(--icon-sm);height:var(--icon-sm);flex:0 0 auto}
.card-actions{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:center;margin-top:auto;padding-top:var(--space-4)}
.audience-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-7)}
@media (max-width:720px){.audience-card{padding:var(--space-5)}}

.form-status{margin-top:var(--space-3);color:var(--navy,#234A66)}

/* Language switcher (Google Translate element, custom styled) */
.lang-switch{display:flex;align-items:center;flex:0 0 auto}
.lang-select{appearance:none;-webkit-appearance:none;border:1.5px solid var(--line);border-radius:999px;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23234A66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center/14px;color:var(--navy,#234A66);font:inherit;font-size:15px;font-weight:600;padding:10px 36px 10px 16px;min-height:var(--tap-target);cursor:pointer}
.lang-select:focus-visible{outline:3px solid var(--coral,#F06280);outline-offset:2px}
.mobile-panel__lang{margin:var(--space-4) 0}
.mobile-panel__lang .lang-select{width:100%}
@media (max-width:1199px){.site-header .lang-switch{display:none}}
/* Hide Google's injected banner and keep the page from being pushed down */
.goog-te-banner-frame.skiptranslate,.goog-te-balloon-frame,#goog-gt-tt,.goog-tooltip,.goog-text-highlight{display:none!important}
body{top:0!important;position:static!important}
.goog-te-gadget{display:none!important}

.header-right{display:flex;align-items:center;gap:var(--space-3);flex:0 0 auto}


/* Header: let the bar use more width than body content so logo, nav, CTA and language switcher all fit */
.site-header .inner{max-width:1400px}
.site-nav{flex:1 1 auto;min-width:0;justify-content:center}
.site-nav a.nav-top{font-size:16px}
@media (max-width:1400px){.site-header .inner{gap:var(--space-4)}.site-nav .nav-item{margin:0 -2px}}
@media (max-width:1280px){.site-header .inner{gap:var(--space-3)}.header-logo--desktop img{height:56px}.site-nav a.nav-top{font-size:15px}.header-cta{padding-left:var(--space-4);padding-right:var(--space-4)}}

