:root{color-scheme:light;
--bg:#f1f8fc;--surface:#ffffff;--band:#0a5f95;--band-deep:#013f72;--band-soft:#d7eaf6;
--ink:#013f72;--body:#274a63;--muted:#456a86;--onband:#f2f9fc;--onband-muted:#d7eaf6;
--rule:rgba(1,63,114,.17);--rule-soft:rgba(1,63,114,.1);
--accent-ink:#0a5f95;--pill:#0a5f95;--pill-ink:#ffffff;--pill-hover:#013f72;
--header-bg:rgba(241,248,252,.94);--hover-fill:rgba(10,95,149,.08);
--sans:'Poppins','Segoe UI',system-ui,-apple-system,sans-serif;
--pad:clamp(18px,4.5vw,56px);--maxw:1200px}
html[data-theme=dark]{color-scheme:dark;
--bg:#07202f;--surface:#0d3048;--band:#0b4a76;--band-deep:#04182a;--band-soft:#cfe6f5;
--ink:#dceef8;--body:#c4d9e7;--muted:#a3c0d2;--onband:#f2f9fc;--onband-muted:#cfe6f5;
--rule:rgba(190,220,232,.2);--rule-soft:rgba(190,220,232,.12);
--accent-ink:#8cbfdd;--pill:#9ecbe0;--pill-ink:#07202f;--pill-hover:#c3e2f0;
--header-bg:rgba(7,32,47,.94);--hover-fill:rgba(158,203,224,.1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--sans);font-size:17px;line-height:1.7;text-wrap:pretty;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
img{max-width:100%;height:auto}
a{color:var(--ink);text-underline-offset:3px}
a:hover{color:var(--accent-ink)}
:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px;border-radius:4px}
.on-band :focus-visible{outline-color:#fff}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:200;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}

/* header */
.site-header{position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(10px);border-bottom:3px solid var(--accent-ink)}
.header-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;min-height:74px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;padding:10px 0;margin-right:auto}
.brand-logo-mark{flex:0 0 auto;display:block;height:46px;width:auto}
.brand-logo-type{flex:0 1 auto;display:block;height:30px;width:auto}
html[data-theme=dark] .brand-logo-mark,html[data-theme=dark] .brand-logo-type{filter:brightness(1.9) saturate(.8)}
.brand-name{font-size:15px;font-weight:600;color:var(--ink);line-height:1.22;letter-spacing:.005em}
.brand-name span{display:block;font-weight:400;color:var(--accent-ink)}
.header-tools{display:flex;align-items:center;gap:8px 14px}
.hdr-wide{display:flex;align-items:center;gap:10px 16px}
.hdr-compact{display:none;align-items:center;gap:8px 10px}
.primary-nav{display:flex;align-items:center;gap:17px}
.primary-nav a{font-size:15px;font-weight:500;color:var(--body);text-decoration:none;padding:12px 0;border-bottom:2px solid transparent}
.primary-nav a:hover{color:var(--ink);border-bottom-color:var(--accent-ink)}
.primary-nav a[aria-current=page]{color:var(--ink);font-weight:600;border-bottom-color:var(--accent-ink)}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 19px;border-radius:999px;background:var(--pill);color:var(--pill-ink);font:600 15px/1 var(--sans);border:2px solid var(--pill);text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s}
.pill:hover{background:var(--pill-hover);border-color:var(--pill-hover);color:var(--pill-ink)}
.pill--ghost{background:transparent;color:var(--ink);border-color:var(--accent-ink)}
.pill--ghost:hover{background:var(--hover-fill);color:var(--ink);border-color:var(--accent-ink)}
.pill--onband{background:#fff;color:var(--band-deep);border-color:#fff}
.pill--onband:hover{background:var(--onband);border-color:var(--onband);color:var(--band-deep)}
.pill--lg{min-height:54px;padding:14px 30px;font-size:16px}
.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;background:transparent;border:2px solid var(--accent-ink);cursor:pointer;padding:0}
.btn-icon:hover{background:var(--hover-fill)}
.btn-icon span{display:block;width:16px;height:16px;border-radius:50%;border:2px solid var(--ink);background:linear-gradient(90deg,var(--ink) 50%,transparent 50%)}
.mobile-nav{border-top:1px solid var(--rule);background:var(--bg)}
.mobile-nav[hidden]{display:none}
.mobile-nav .container{display:flex;flex-direction:column;padding-top:6px;padding-bottom:16px}
.mobile-nav a{font-size:17px;font-weight:500;color:var(--body);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--rule-soft)}
.mobile-nav a:last-child{border-bottom:0}

/* bands */
.pale{padding:clamp(52px,6.5vw,92px) 0}
.band{position:relative;background:var(--band);color:var(--onband);padding:clamp(66px,8vw,112px) 0 clamp(56px,7vw,96px);overflow:hidden}
.band::before{content:"";position:absolute;left:-6%;right:-6%;top:-90px;height:170px;background:var(--bg);border-radius:0 0 58% 42%/0 0 100% 100%}
.band--alt::before{border-radius:0 0 42% 58%/0 0 100% 100%}
.band .container{position:relative}
.band h2,.band h3{color:#fff}
.band p{color:var(--onband)}
.band a:not(.pill){color:#fff}
.band a.pill--onband{color:var(--band-deep)}
.band a.pill--onband:hover{color:var(--band-deep)}
.band .soft{color:var(--onband-muted)}

/* type */
h1,.h1{font-size:clamp(32px,4.6vw,54px);font-weight:700;line-height:1.1;color:var(--ink);letter-spacing:-.015em}
h2,.h2{font-size:clamp(24px,3vw,34px);font-weight:600;line-height:1.2;color:var(--ink);letter-spacing:-.01em}
h3{font-size:19px;font-weight:600;color:var(--ink)}
.lead{font-size:clamp(18px,2vw,21px);line-height:1.6;max-width:50ch}
.eyebrow{font-size:16px;font-weight:600;color:var(--accent-ink);margin-bottom:10px}
.band .eyebrow{color:#ffffff}
.prose p+p{margin-top:16px}
.prose{max-width:62ch}

/* layouts */
.two{display:flex;flex-wrap:wrap;gap:clamp(28px,4.5vw,72px);align-items:center}
.two>*{flex:1 1 320px;min-width:0}
.two--top{align-items:flex-start}
.narrow{max-width:64ch}

/* circular badge */
.badge{flex:0 1 340px;width:min(340px,100%);display:grid;place-items:center;aspect-ratio:1;border:2px solid var(--accent-ink);border-radius:50%;text-align:center;padding:clamp(26px,3vw,44px);max-width:340px;margin-inline:auto}
.badge .k{font-size:clamp(13px,1.4vw,16px);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);font-weight:500}
.badge .v{font-size:clamp(19px,2.2vw,27px);font-weight:600;color:var(--ink);line-height:1.2;margin-top:8px;text-wrap:balance}
.badge .m{font-size:14.5px;color:var(--muted);margin-top:10px}
.band .badge{border-color:rgba(255,255,255,.55)}
.band .badge .k{color:#ffffff}
.band .badge .v{color:#fff}
.band .badge .m{color:var(--onband-muted)}

/* portrait */
.portrait{border-radius:10px;overflow:hidden;background:var(--surface);max-width:240px;margin-inline:auto}
.portrait img{display:block;width:100%;aspect-ratio:.647;object-fit:cover;object-position:50% 0}

/* lists */
.qa{margin-top:26px}
.qa li{padding:15px 0;border-top:1px solid var(--rule);font-size:17px;color:var(--ink);transition:background-color .2s,padding .2s}
.qa li:last-child{border-bottom:1px solid var(--rule)}
.qa li:hover{background:var(--hover-fill);padding-left:14px;padding-right:10px;border-radius:6px}
.band .qa li{border-color:rgba(255,255,255,.28);color:#fff}
.band .qa li:hover{background:rgba(255,255,255,.1)}
.bul{margin-top:18px}
.bul li{position:relative;padding:7px 0 7px 26px;font-size:17px}
.bul li::before{content:"";position:absolute;left:0;top:18px;width:9px;height:9px;border-radius:50%;background:var(--accent-ink)}
.band .bul li::before{background:var(--band-soft)}
.grid2{display:flex;flex-wrap:wrap;gap:8px 48px;margin-top:8px}
.grid2>div{flex:1 1 280px;min-width:0}
.item{padding:18px 0;border-top:1px solid var(--rule);transition:background-color .2s,padding .2s}
.item:last-child{border-bottom:1px solid var(--rule)}
.item:hover{background:var(--hover-fill);padding-left:14px;padding-right:10px;border-radius:6px}
.item p{font-size:16px;color:var(--muted);margin-top:4px}
.band .item{border-color:rgba(255,255,255,.28)}
.band .item p{color:var(--onband-muted)}
.band .item:hover{background:rgba(255,255,255,.1)}

/* facts */
.facts{display:flex;flex-wrap:wrap;gap:22px 40px;margin-top:30px}
.facts>div{flex:1 1 200px;min-width:0}
.facts dt,.facts .k{font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.band .facts dt,.band .facts .k{color:#ffffff}
.facts dd,.facts .v{font-size:20px;font-weight:600;color:var(--ink);margin:4px 0 0}
.band .facts dd,.band .facts .v{color:#fff}
.bignum{font-size:clamp(30px,4.6vw,46px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-top:6px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}

/* card */
.card{background:var(--surface);border-radius:14px;padding:clamp(22px,3vw,34px);box-shadow:0 2px 18px rgba(20,80,107,.08)}
.band .card{background:rgba(255,255,255,.1);box-shadow:none}

/* hours */
.hours{margin-top:14px}
.hours>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--rule-soft)}
.hours>div:last-child{border-bottom:0}
.hours dt{font-size:16px;color:var(--muted)}
.hours dd{font-size:16px;color:var(--ink);font-weight:500;text-align:right}
.band .hours dt{color:var(--onband-muted)}
.band .hours dd{color:#fff}
address{font-style:normal}

/* footer */
.site-footer{background:var(--band-deep);color:var(--onband);padding:clamp(40px,5vw,64px) 0 36px}
.site-footer a{color:#fff}
.footer-row{display:flex;flex-wrap:wrap;gap:26px 48px}
.footer-row>div{flex:1 1 230px;min-width:0}
.site-footer p{font-size:16px;color:var(--onband-muted)}
.site-footer .footer-name{font-size:19px;font-weight:600;color:#fff}
.footer-legal{font-size:14.5px!important;margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);max-width:78ch}
.footer-copy{font-size:14.5px!important;margin-top:10px}
.site-footer p.footer-credit{font-size:12.5px;margin-top:8px;color:rgba(255,255,255,.6)}
.site-footer p.footer-credit a{color:rgba(255,255,255,.6);text-decoration:underline;text-underline-offset:2px}
.site-footer p.footer-credit a:hover{color:#fff;text-decoration-thickness:2px}
.pill[disabled]{background:transparent;color:var(--muted);border-color:var(--rule);cursor:not-allowed}
.pill[disabled]:hover{background:transparent;color:var(--muted);border-color:var(--rule)}

/* motion */
html.motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .75s cubic-bezier(.2,.65,.2,1),transform .75s cubic-bezier(.2,.65,.2,1)}
html.motion .reveal.in{opacity:1;transform:none}
html.motion .reveal-d1{transition-delay:.1s}

@media (max-width:940px){
  .hdr-wide{display:none}
  .hdr-compact{display:flex}
  .header-row{min-height:66px}
}
@media (min-width:941px){.mobile-nav{display:none!important}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.motion .reveal{opacity:1!important;transform:none!important;transition:none!important}
  *{transition:none!important;animation:none!important}
}
