@import url("/brand-tokens.css");
@font-face{font-family:'IvyPresto Headline';src:url('/ivy-presto-headline-light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
/* Huguens CRE: CLEAR-inspired palette, open-source Cormorant Garamond + Inter. */
:root{--navy:#041A55;--blue:#2A65E3;--paper:#F6F7F2;--ink:#353C47;--lime:#DFEB32;--line:#D9DEEA}
html,body{background:var(--paper);color:var(--navy);font-family:Inter,Arial,sans-serif}
h1,h2{font-family:'IvyPresto Headline','Cormorant Garamond',Georgia,serif!important;font-weight:300!important;line-height:1.02!important;letter-spacing:-0.025em!important}
h1 span,h2 span{font-style:italic}
button,input,textarea{font-family:Inter,Arial,sans-serif}
button{font-weight:600}
:focus-visible{outline:3px solid var(--blue)!important;outline-offset:4px!important}
header{border-bottom:1px solid var(--line)}
header>div{height:80px!important;max-width:1440px!important}
header nav{gap:8px!important}
header button,header a{font-weight:600!important}
section[data-snap]{padding:112px clamp(24px,3.2vw,45px) 64px!important}
section[data-snap]>div{max-width:1440px!important}
section[data-snap='0'],section[data-snap='2'],section[data-snap='5']{background:#FFFFFF!important}
section[data-snap='0']>div{gap:clamp(32px,5vw,80px)!important}
section[data-snap='0']>div>div:first-child{border-radius:200px 200px 24px 24px!important;max-height:620px}
#h-hero{font-size:clamp(44px,5.3vw,80px)!important;max-width:18ch!important}
section[data-snap] h2{font-size:clamp(36px,4vw,60px)!important;max-width:24ch}
#h-close{font-size:clamp(44px,5.5vw,80px)!important;max-width:18ch!important}
section[data-snap] p{line-height:1.5!important}
section[data-snap] button:not([aria-label]){border-radius:999px!important;min-height:48px;font-weight:600!important}
#what ol{gap:24px!important}
#what li{padding:28px!important;border-radius:15px!important;background:var(--paper)!important}
#what li>span:first-child{background:white!important}
#sitefit{background:var(--navy)!important;color:white!important}
#sitefit p,#sitefit h2{color:white!important}
#sitefit ul{gap:12px!important}
#sitefit li{background:transparent!important;color:var(--lime)!important;border:1px solid rgba(223,235,50,.5);font-weight:600!important}
#sitefit>div>div:last-child{border-color:rgba(255,255,255,.25)!important}
#sitefit>div>div:first-child>span{color:var(--lime)!important}
main[data-screen-label='Card']{padding-top:24px!important}
main[data-screen-label='Card'] header{padding-bottom:24px;margin-bottom:48px!important}
main[data-screen-label='Card'] h1{font-size:clamp(34px,4vw,48px)!important}
main[data-screen-label='Card'] nav a,main[data-screen-label='Card'] nav button{border-radius:15px!important}
[role='dialog']{color:var(--navy)!important;background:white!important}
[role='dialog'] h2{font-size:clamp(32px,4vw,40px)!important}
[role='dialog'] input,[role='dialog'] textarea{background:var(--paper)!important;color:var(--ink)!important}
[role='radio'][aria-checked='true']{background:#EEF3FF!important;border-color:var(--blue)!important;color:var(--navy)!important}
button[type='submit']{background:var(--blue)!important;color:white!important}
button[type='submit']:hover{background:var(--navy)!important}
@media(max-width:899px){
 header>div{height:72px!important}
 header button[aria-label],main[data-screen-label='Card'] header a[aria-label]{font-size:10px!important;letter-spacing:.07em!important;gap:3px!important}
 header nav button{margin-left:0!important;padding-inline:14px!important;font-size:13px!important}
 section[data-snap]{padding:104px 24px 48px!important;min-height:100svh!important}
 section[data-snap='0']>div>div:first-child{border-radius:120px 120px 20px 20px!important;height:280px!important;width:100%;max-width:460px;margin-inline:auto}
 section[data-snap='0']>div{gap:32px!important}
 #h-hero{font-size:46px!important;max-width:20ch!important}
 #what ol{gap:16px!important}
 #what li{padding:24px!important}
 main[data-screen-label='Card'] header{gap:12px!important}
 main[data-screen-label='Card'] header a{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Tighter headline rhythm requested after visual review. */
@media(max-width:899px){h1,h2{line-height:1.05!important;letter-spacing:-0.02em!important}}

/* Approved navy-first palette with chartreuse action accents. */
section[data-snap='0'],section[data-snap='5']{background:var(--paper)!important}
header nav>button:last-child,section[data-snap] button:not([aria-label]),button[type='submit']{background:var(--lime)!important;color:var(--navy)!important}
header nav>button:last-child:hover,section[data-snap] button:not([aria-label]):hover,button[type='submit']:hover{background:var(--navy)!important;color:white!important}
#what li{background:white!important}
section[data-snap='2']{background:var(--paper)!important}
#close>div:first-child{flex:0 1 auto!important;align-items:center;text-align:center;padding:56px 40px!important;border-radius:160px;background:var(--navy);margin-block:auto!important;color:white}
#close h2,#close h2 span,#close p{color:white!important}
#close>div:first-child>div{align-items:center}
#close button:hover{background:white!important;color:var(--navy)!important}
#close>div:last-child{margin-top:40px!important}
@media(max-width:899px){#close>div:first-child{padding:40px 24px!important;border-radius:40px}#close button{text-align:center!important}}

/* Closing supporting copy: one sentence per line on desktop. */
@media(min-width:900px){
 #close>div:first-child>div:first-of-type{max-width:none!important;width:100%;font-size:clamp(16px,1.3vw,20px)!important}
 #close>div:first-child>div:first-of-type p{white-space:nowrap}
}

/* Header action uses the secondary blue, with white type. */
header nav>button:last-child{background:var(--blue)!important;color:white!important}
header nav>button:last-child:hover{background:var(--navy)!important;color:white!important}

/* Digital card: navy canvas, white typography and lime primary action. */
html:has(main[data-screen-label='Card']),body:has(main[data-screen-label='Card']),main[data-screen-label='Card']{background:var(--navy)!important;color:white!important}
main[data-screen-label='Card'] header,main[data-screen-label='Card'] footer{border-color:rgba(255,255,255,.22)!important}
main[data-screen-label='Card'] header a,main[data-screen-label='Card'] h1,main[data-screen-label='Card'] footer a{color:white!important}
main[data-screen-label='Card'] header a span:last-child{color:var(--lime)!important}
main[data-screen-label='Card'] section[aria-label='About'] p,main[data-screen-label='Card'] figcaption,main[data-screen-label='Card'] footer{color:#D9DEEA!important}
main[data-screen-label='Card'] nav a{background:white!important;color:var(--navy)!important}
main[data-screen-label='Card'] nav a>span:nth-child(2)>span:last-child,main[data-screen-label='Card'] nav a>span:last-child{color:var(--ink)!important}
main[data-screen-label='Card'] nav button{background:var(--lime)!important;color:var(--navy)!important}
main[data-screen-label='Card'] nav button:hover{background:white!important}
main[data-screen-label='Card'] figure>div{border-radius:20px}

/* Questionnaire and QR contact form share the navy digital-card palette. */
[role='dialog']{background:var(--navy)!important;color:white!important;border-color:rgba(255,255,255,.25)!important}
[role='dialog'] h2,[role='dialog'] legend,[role='dialog'] label{color:white!important}
[role='dialog'] h2 span{color:var(--lime)!important}
[role='dialog'] input,[role='dialog'] textarea{background:white!important;color:var(--navy)!important}
[role='dialog'] button{background:white!important;color:var(--navy)!important}
[role='dialog'] button[type='submit'],[role='dialog'] .form-actions button:last-child{background:var(--lime)!important;color:var(--navy)!important}
[role='dialog'] button:hover{background:var(--paper)!important}
[role='dialog'] button[role='radio']{background:white!important;color:var(--navy)!important}
[role='dialog'] button[role='radio'][aria-checked='true']{background:var(--lime)!important;border-color:var(--lime)!important;color:var(--navy)!important}
[role='dialog'] :focus-visible{outline:3px solid var(--lime)!important;outline-offset:3px!important}
[role='dialog'] [role='alert']{color:#FFB4AB!important}
[role='dialog'] div[role='alert']{background:#512524!important}
[role='dialog'] div[role='alert'] *{color:#FFB4AB!important}

/* Mobile closing panel: clear, left-aligned supporting checklist. */
@media(max-width:899px){
 #close>div:first-child>div:first-of-type{align-items:stretch!important;width:100%;max-width:34ch!important;gap:18px!important;font-size:16px!important;text-align:left}
 #close>div:first-child>div:first-of-type p{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:12px;align-items:start;line-height:1.5!important;text-wrap:pretty}
 #close>div:first-child>div:first-of-type p::before{content:'✓';color:var(--lime);font-size:21px;font-weight:700;line-height:24px}
 #close>div:first-child>div:last-child{width:100%;padding-top:10px!important}
 #close>div:first-child>div:last-child button{width:100%;font-size:15px!important;padding:16px 20px!important;line-height:1.35!important}
}

.close-cta-mobile{display:none}
@media(max-width:899px){.close-cta-desktop{display:none}.close-cta-mobile{display:inline;white-space:nowrap}#close>div:first-child>div:last-child button{padding-inline:12px!important}}

@font-face{font-family:'IvyPresto Display Thin';src:url('/ivy-presto-display-thin.otf') format('opentype');font-weight:100;font-style:normal;font-display:swap}
#sitefit>div>div:last-child p{font-family:'IvyPresto Display Thin','IvyPresto Headline',Georgia,serif!important;font-weight:100!important;font-style:normal!important;font-synthesis:none;line-height:1.05!important;letter-spacing:-.01em!important}

@media(max-width:899px){#sitefit>div>div:last-child p{font-size:36px!important;max-width:100%!important}}

/* Mobile hero fits the visible viewport, with room for the fixed header. */
@media(max-width:899px){
 section[data-snap='0']{background:var(--navy)!important;color:white!important;height:100dvh;min-height:580px!important;padding:calc(84px + env(safe-area-inset-top)) 24px calc(20px + env(safe-area-inset-bottom))!important}
 section[data-snap='0']>div{height:100%;grid-template-rows:minmax(100px,1fr) auto;gap:clamp(12px,2dvh,20px)!important}
 section[data-snap='0']>div>div:first-child{height:100%!important;min-height:0;max-height:none;max-width:460px;border-radius:90px 90px 20px 20px!important}
 section[data-snap='0']>div>div:last-child{gap:clamp(10px,1.8dvh,16px)!important}
 section[data-snap='0']>div>div:last-child>div:first-child>span:last-child{color:#D9DEEA!important;font-size:13px!important}
 section[data-snap='0'] #h-hero{font-size:clamp(30px,4.8dvh,42px)!important;max-width:100%!important;color:white!important;line-height:1.02!important}
 section[data-snap='0'] #h-hero span{color:var(--lime)!important}
 section[data-snap='0'] p{color:#D9DEEA!important;font-size:16px!important;line-height:1.4!important}
 section[data-snap='0']>div>div:last-child>div:last-child{padding-top:0!important;width:100%}
 section[data-snap='0'] button{width:100%;height:48px!important}
 section[data-snap='0'] button:hover{background:white!important;color:var(--navy)!important}
}
