
:root{
  --font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --quote-font: var(--font);

  --band-a:#F3F6F8; --band-b:#FAFBFC; --band-c:#FFFFFF;
  --card:#FFFFFF; --bubble:#EFF3F5;

  --ink:#1F2A2E;                  
  --text:#3D484D;                 
  --muted:rgba(6,40,52,.54);      
  --faint:rgba(6,40,52,.30);
  --line:rgba(6,40,52,.11);

  --accent:#00617F; --accent-ink:#FFFFFF; --mark:rgba(0,97,127,.15); --link-hover:rgba(0,97,127,.10);
  --shadow:0 2px 8px rgba(0,0,0,.07), 0 0 2px rgba(0,0,0,.09);
  --glass:rgba(255,255,255,.72);
  --glass-soft:rgba(255,255,255,.8);     
  --ring:rgba(6,74,96,.32);              
  --hook-weight:600;                     
  --tint-card:#E8EEF3;                   
  --letter-bg:var(--tint-card);          
  --letter-shadow:none;
  --surface:var(--card); --section-bg:var(--band-a);    
  --eyebrow-size:.78rem;                 

  --measure:440px;                
  --read:900px;                  
  --wide:900px;                   

  --pad:clamp(78px,11vw,140px);
  --gap:clamp(40px,6vw,68px);
  --fig-gap:clamp(32px,5vw,56px);

  --h1:clamp(2rem,4.4vw,2.6rem);
  --h2:clamp(1.5rem,2.7vw,1.85rem);
  --lead:clamp(1.15rem,1.9vw,1.42rem);
  --desc:clamp(1.05rem,1.6vw,1.18rem);

  --fs-question:1rem;           
  --fs-group:.94rem;            
  --fs-answer:.94rem;           
  --fs-hint:.86rem;             

  --r-card:13px; --r-bubble:18px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --band-a:#0F1416; --band-b:#12181B; --band-c:#151C1F; --card:#1A2226; --bubble:#1A2327;
    --ink:#E7EDEF; --text:#C2CCD0; --muted:rgba(231,237,239,.56); --faint:rgba(231,237,239,.32); --line:rgba(231,237,239,.11);
    --accent:#5FB6D6; --accent-ink:#0F1416; --mark:rgba(95,182,214,.2); --link-hover:rgba(95,182,214,.16);
    --shadow:0 0 0 1px rgba(255,255,255,.06);
    --glass:rgba(26,34,38,.74);
    --glass-soft:rgba(26,34,38,.82); --ring:rgba(95,182,214,.34);
    --letter-shadow:0 0 0 1px rgba(255,255,255,.06);
    --tint-card:#1F292E; --letter-bg:var(--tint-card);
  }
}
:root[data-theme="dark"]{
  --band-a:#0F1416; --band-b:#12181B; --band-c:#151C1F; --card:#1A2226; --bubble:#1A2327;
  --ink:#E7EDEF; --text:#C2CCD0; --muted:rgba(231,237,239,.56); --faint:rgba(231,237,239,.32); --line:rgba(231,237,239,.11);
  --accent:#5FB6D6; --accent-ink:#0F1416; --mark:rgba(95,182,214,.2); --link-hover:rgba(95,182,214,.16);
  --shadow:0 0 0 1px rgba(255,255,255,.06);
  --glass:rgba(26,34,38,.74);
  --glass-soft:rgba(26,34,38,.82); --ring:rgba(95,182,214,.34);
  --letter-shadow:0 0 0 1px rgba(255,255,255,.06);
  --tint-card:#1F292E; --letter-bg:var(--tint-card);
}

[data-bands="warm"]{--band-a:#F7F5F1; --band-b:#FBFAF7; --bubble:#F2EFE9}
[data-bands="white"]{--band-a:#FFFFFF; --band-b:#FFFFFF; --bubble:#F3F5F6}
[data-bands="white"] .band-tint{--surface:var(--tint-card)}    
[data-letter-tint="bluegrey"]{--letter-bg:#B9C6D2}    
[data-eyebrow-size="medium"]{--eyebrow-size:.95rem}
[data-eyebrow-size="rule"]{--eyebrow-size:clamp(1.05rem,1.9vw,1.35rem)}    
[data-accent="deep"]{--accent:#064A60}
[data-accent="ink"]{--accent:#1F2A2E; --mark:rgba(31,42,46,.1)}
[data-scale="things"]{--h1:clamp(2.3rem,5.4vw,3.3rem); --h2:clamp(1.8rem,3.4vw,2.25rem); --desc:clamp(1.1rem,1.8vw,1.27rem)}
[data-quote="serif"]{--quote-font:Georgia,"Iowan Old Style","Times New Roman",serif}
[data-h2-size="small"]{--h2:clamp(1.3rem,2.3vw,1.45rem)}
[data-h2-size="medium"]{--h2:clamp(1.4rem,2.5vw,1.6rem)}
[data-h2-size="large"]{--h2:clamp(1.5rem,2.7vw,1.85rem)}    

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 18px/1.45 var(--font);color:var(--text);background:var(--band-a);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
img{max-width:100%;display:block}
[hidden]{display:none!important}
h1,h2,h3,h4{color:var(--ink);font-weight:700;letter-spacing:-.012em;margin:0}
h2{font-size:var(--h2);line-height:1.12}
h3{font-size:1.02rem;line-height:1.25}

:root{--gutter:20px}
@media (max-width:760px){ :root{--gutter:26px} }
.wrap{max-width:calc(var(--wide) + 40px);margin:0 auto;padding:0 var(--gutter)}
.slice{padding:var(--pad) 0}
.band-a{background:var(--band-a)} .band-b{background:var(--band-b)} .band-c{background:var(--band-c)}
.band-light{background:var(--band-c);--section-bg:var(--band-c);--surface:var(--tint-card)}
.band-tint{background:var(--band-a);--section-bg:var(--band-a);--surface:var(--card)}
.band-seam{box-shadow:inset 0 1px 0 var(--line)}
body[data-first-band="light"]{background:var(--band-c)}
footer.site.band-tint{background:var(--band-a)}
footer.site.band-light{background:var(--band-c)}
.intro{max-width:var(--measure);margin:0 auto var(--gap);text-align:center}
.intro p{font-size:var(--desc);line-height:1.34;margin:.7em 0 0}
.intro:last-child{margin-bottom:0}
.icon{display:block;width:40px;height:40px;margin:0 auto 18px;color:var(--accent)}
.eyebrow{display:none;font-size:var(--eyebrow-size);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .7em}
:root[data-eyebrows="on"] .eyebrow{display:block}
.go{display:inline-block;margin-top:16px;font-size:1.02rem;font-weight:500}
.go,.fcols a,.links a{position:relative;width:fit-content;padding:2px 6px;margin-left:-6px;margin-right:-6px;border-radius:6px;transition:background .15s}
.name-cap b{display:block;font-size:1.3rem;font-weight:700;color:var(--ink);letter-spacing:-.012em;line-height:1.2}
.name-cap span{display:block;font-size:.98rem;color:var(--muted);margin-top:3px}
.slice.more-stories .intro h2{font-size:1.06rem}    
.slice.more-stories .intro{margin-bottom:0}
.slice.more-stories .intro{text-align:left}    
.slice.more-stories .go{display:inline-block;margin-top:12px}
.go::before{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
@media (hover:hover){ .go:hover,.fcols a:hover,.links a:hover{background:var(--link-hover);text-decoration:none} }
.center{text-align:center}
.btn{display:inline-block;margin-top:24px;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:16px;padding:12px 24px;border-radius:10px}
.btn:hover{text-decoration:none;filter:brightness(1.08)}

figure{margin:0}
.fig{margin:var(--fig-gap) auto 0;max-width:var(--wide)}
.fig img{width:100%;border-radius:var(--r-bubble);box-shadow:var(--shadow)}
.fig figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:14px}

header.wrap{position:sticky;top:0;z-index:60;max-width:none;padding:0;
  background:var(--glass-soft);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);
  box-shadow:0 1px 0 var(--line)}
header.wrap .bar{position:relative;max-width:calc(var(--wide) + 40px);margin:0 auto;padding:0 var(--gutter);box-shadow:none}
[id]{scroll-margin-top:84px}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:9px;color:var(--accent);font-weight:700;font-size:17px;letter-spacing:-.01em;margin-right:56px}    
.brand:hover{text-decoration:none;color:var(--ink)}
.mark{display:inline-block;width:20px;height:25px;background:currentColor;-webkit-mask:url(img/mark.svg) center/contain no-repeat;mask:url(img/mark.svg) center/contain no-repeat}
.brand,nav a{white-space:nowrap}
.bk9{display:inline-flex;align-items:center;gap:.28em;color:var(--accent);font-weight:700;letter-spacing:-.01em;white-space:nowrap;vertical-align:-.16em}
.bk9 .mark{width:.95em;height:1.2em}
nav{display:flex;gap:2px}
nav a{color:var(--muted);font-size:15px;font-weight:600;padding:3px 8px;border-radius:6px}
nav a:hover{text-decoration:none;background:var(--line);color:var(--ink)}
nav a.cta{color:var(--accent)}
nav a[aria-current="page"]{color:var(--ink)}
.nav-toggle{display:none}
.touch{position:relative;margin-left:auto;margin-right:10px;color:var(--accent);font-size:15px;font-weight:600;white-space:nowrap;padding:3px 8px;border-radius:6px}
.touch::before{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}    
.touch:hover{text-decoration:none;background:var(--line)}
.touch[aria-current="page"]{color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media all{    
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
    margin-right:-10px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer;
    -webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
  .nav-toggle .ln,.nav-toggle .ln::before,.nav-toggle .ln::after{
    display:block;width:20px;height:1.5px;background:currentColor;transition:transform .2s,top .2s,background .2s}
  .nav-toggle .ln{position:relative}
  .nav-toggle .ln::before,.nav-toggle .ln::after{content:"";position:absolute;left:0}
  .nav-toggle .ln::before{top:-6px}
  .nav-toggle .ln::after{top:6px}
  header.nav-open .nav-toggle .ln{background:transparent}
  header.nav-open .nav-toggle .ln::before{top:0;transform:rotate(45deg)}
  header.nav-open .nav-toggle .ln::after{top:0;transform:rotate(-45deg)}

  nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;gap:0;
    padding:2px var(--gutter) 12px;background:var(--band-c);
    box-shadow:0 1px 0 var(--line),0 16px 30px rgba(6,40,52,.12)}
  header.nav-open nav{display:flex}
  nav a{display:flex;align-items:center;min-height:52px;padding:0;border-radius:0;font-size:16px;
    border-top:1px solid var(--line)}
  nav a:first-child{border-top:0}
  nav a:hover{background:none;color:var(--accent)}
}

footer.site{background:var(--band-c);padding:0 0 48px;font-size:14px;color:var(--muted)}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;max-width:var(--wide);margin:0 auto;border-top:1px solid var(--line);padding-top:36px}
.fcols h4{margin:0 0 8px;font-size:14px;color:var(--muted)}
.fcols a{display:block;color:var(--muted);line-height:1.6;margin-top:2px}
.fcols a:hover{color:var(--ink);text-decoration:none}
.fbase{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:40px;font-size:13px}
.fbase .mark{width:14px;height:18px}
@media (max-width:600px){ .fcols{grid-template-columns:1fr 1fr} }

.xp-btn{position:fixed;left:16px;bottom:16px;z-index:60;border:0;border-radius:999px;background:var(--ink);color:var(--band-c);font:600 14px var(--font);padding:10px 16px;box-shadow:0 6px 20px rgba(0,0,0,.22);cursor:pointer}
.xp{position:fixed;left:16px;bottom:64px;z-index:60;width:min(310px,calc(100vw - 32px));max-height:72vh;overflow:auto;background:var(--card);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.24),0 0 0 1px var(--line);padding:14px 16px 4px;font-size:13px}
.xp h4{margin:0 0 5px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.xp .row{margin:0 0 12px}
.seg{display:flex;background:var(--band-a);border-radius:8px;padding:2px}
.seg button{flex:1;border:0;background:none;font:500 12.5px var(--font);color:var(--text);padding:6px 4px;border-radius:6px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.16)}

.pic{display:block;background:var(--ink);-webkit-mask:var(--i) left center/contain no-repeat;mask:var(--i) left center/contain no-repeat}
.intro .pic,.hero .pic,.hero-prose .pic,.contact-col .pic,.slice .wrap > .pic{width:100px;height:76px;margin:0 0 18px;display:inline-block;vertical-align:top}    
.hero-prose .pic.big,.slice .wrap > .pic.big{width:150px;height:114px;margin:0 0 22px}    
.intro .pic.logo,.hero-prose .pic.logo{width:168px;height:154px;margin:0 0 24px}    
.pic[style*="icons/reviews.png"]:is(.intro *,.hero *,.hero-prose *){width:150px;height:98px;margin:0 0 22px}    

