/* ===== modern header (floating glass pill) + editorial footer ===== */
html,body{overflow-x:clip}
header{position:fixed;inset:14px 14px auto 14px;z-index:50;background:none;border:0;backdrop-filter:none;transition:.3s}
header.s{background:none}
.hbar{position:relative;max-width:1240px;margin:0 auto;height:66px;display:flex;align-items:center;gap:18px;padding:0 9px 0 20px;transition:height .35s}
.hbar::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:999px;background:rgba(251,247,234,.74);-webkit-backdrop-filter:saturate(1.5) blur(18px);backdrop-filter:saturate(1.5) blur(18px);border:1px solid rgba(3,25,38,.12);box-shadow:0 10px 40px rgba(3,25,38,.08);transition:.35s}
header.s .hbar{height:58px}
header.s .hbar::before{background:rgba(251,247,234,.93);box-shadow:0 16px 46px rgba(3,25,38,.16)}
.hbar .logo img{height:40px}header.s .hbar .logo img{height:34px}
.hbar .logo{font-size:16px}
nav{margin:0 auto;display:flex;align-items:center;gap:2px}
nav a.l{position:relative;padding:9px 17px;border-radius:999px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);transition:background .25s,color .25s}
nav a.l i,.nav-foot{display:none}
nav a.l:hover{background:rgba(3,25,38,.08)}
nav a.l.on{background:var(--navy);color:#fff}
.hcta{display:inline-flex;align-items:center;gap:12px;padding:6px 6px 6px 20px;border-radius:999px;background:var(--navy);color:#fff;font-weight:600;font-size:14px;transition:background .3s}
.hcta span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--cream);color:var(--navy);transition:transform .35s}
.hcta:hover{background:var(--teal)}.hcta:hover span{transform:rotate(-45deg)}
.burger{display:none}

@media(max-width:900px){
 .hbar{padding:0 9px 0 16px;gap:10px}
 .hcta{display:none}
 .burger{display:grid;place-items:center;align-content:center;gap:5px;width:46px;height:46px;border-radius:50%;background:var(--navy);margin-left:auto;border:0;cursor:pointer}
 .burger span{display:block;width:18px;height:2px;margin:0;background:#fff;transition:transform .35s}
 html.menu-open .burger span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
 html.menu-open .burger span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
 nav{position:fixed;inset:0;margin:0;z-index:-2;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:90px 28px 40px;width:auto;max-width:none;border:0;transform:none;
   background:var(--paper) radial-gradient(rgba(3,25,38,.06) 1px,transparent 1.3px) 0 0/8px 8px;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .75s cubic-bezier(.76,0,.24,1),visibility 0s .75s}
 html.menu-open nav{clip-path:inset(0);visibility:visible;transition:clip-path .75s cubic-bezier(.76,0,.24,1)}
 html.menu-open header{inset:14px 14px auto 14px}
 nav a.l{display:flex;align-items:baseline;gap:14px;padding:6px 0;border-radius:0;font-family:var(--head);font-size:clamp(38px,12vw,64px);font-weight:800;letter-spacing:-.035em;line-height:1.05;color:var(--navy);background:none!important;opacity:0;transform:translateY(28px);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
 nav a.l.on{color:var(--teal)}
 nav a.l i{display:inline;font:500 12px var(--mono);font-style:normal;letter-spacing:.14em;color:var(--teal)}
 html.menu-open nav a.l{opacity:1;transform:none}
 html.menu-open nav a.l:nth-child(1){transition-delay:.25s}html.menu-open nav a.l:nth-child(2){transition-delay:.31s}html.menu-open nav a.l:nth-child(3){transition-delay:.37s}html.menu-open nav a.l:nth-child(4){transition-delay:.43s}html.menu-open nav a.l:nth-child(5){transition-delay:.49s}
 .nav-foot{display:flex;flex-direction:column;gap:6px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line);width:100%;font-size:15px;color:var(--mute)}
 .nav-foot a{color:var(--navy);font-weight:600}
}

/* footer */
footer{position:relative;background:var(--navy);color:#fff;padding:96px 0 0;overflow:hidden}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--cy) 0 25%,var(--ma) 25% 50%,var(--ye) 50% 75%,var(--cream) 75%)}
.ft-top{display:grid;grid-template-columns:1.35fr .8fr 1fr 1.25fr;gap:48px;padding-bottom:70px}
footer p{color:rgba(255,255,255,.7)}
.ft-brand p{margin:20px 0 22px;max-width:340px;font-size:15px}
footer .logo{color:#fff}footer .logo img{background:var(--paper);padding:6px 9px;border-radius:12px;height:56px}footer .logo small{color:var(--mist)}
.ft-pills{display:flex;gap:8px;flex-wrap:wrap}
.ft-pills a{padding:9px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.28);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:.3s}
.ft-pills a:hover{background:var(--cream);color:var(--navy);border-color:var(--cream)}
footer h4{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);margin-bottom:20px}
footer ul{list-style:none}
footer li{margin-bottom:11px;font-size:15px;color:rgba(255,255,255,.72)}
.ft-col li a{position:relative;display:inline-block;transition:color .25s,transform .3s}
.ft-col li a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--cream);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.ft-col li a:hover{color:#fff;transform:translateX(4px)}.ft-col li a:hover::after{transform:scaleX(1)}
.ft-visit li{line-height:1.55}
.ft-mark{position:relative;text-align:center;padding:34px 0 26px;border-top:1px solid rgba(255,255,255,.14);user-select:none}
.ft-mark span{display:inline-block;font-family:var(--head);font-weight:800;font-size:min(11.6vw,214px);line-height:1;letter-spacing:.01em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.3px rgba(244,233,205,.6);filter:drop-shadow(6px 8px 0 rgba(119,172,162,.22));transition:-webkit-text-stroke-color .4s,filter .4s}
.ft-mark:hover span{-webkit-text-stroke-color:var(--cream);filter:drop-shadow(8px 10px 0 rgba(119,172,162,.4))}
.copy{margin:0;padding:20px 0 26px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:rgba(255,255,255,.55)}
.totop{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8);transition:color .25s}.totop:hover{color:var(--cream)}

@media(max-width:900px){.ft-top{grid-template-columns:1fr 1fr;gap:36px}.ft-brand{grid-column:1/-1}}
@media(max-width:560px){.ft-top{grid-template-columns:1fr;gap:30px;padding-bottom:44px}footer{padding-top:70px;padding-bottom:52px}.ft-mark span{font-size:11vw;filter:none}.copy{flex-direction:column;gap:6px}
 header{inset:10px 10px auto 10px}.hbar{height:58px}header.s .hbar{height:54px}.hbar .logo img{height:34px}.hbar .logo{font-size:14px}
 .hbar::before{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}

/* ===== typography: Bricolage Grotesque headings, Geist text, Geist Mono labels ===== */
:root{--head:"Bricolage Grotesque","Geist",system-ui,sans-serif;--mono:"Geist Mono","JetBrains Mono",ui-monospace,Menlo,Consolas,monospace}
body{font-family:"Geist","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3,h4,.logo span,.btn,.hcta,.stat b,.hero-strip b,.sv-title h2,.jt,.pre-name{font-family:var(--head)}
h1,h2,h3{letter-spacing:-.025em}