
/* Layout: sticky navy header, left-aligned editorial sections divided by hairlines, one amber accent. Light by default, dark by toggle. */
:root{--paper:#fff;--mist:#F3F6FA;--ink:#1B2A41;--muted:#4A5B78;--line:#D9DEE7;--navy:#233464;--amber:#F2B544;--amberpale:#FFF1CF;--onamber:#1B2A41;--field:#fff;--fieldline:#8C99B1;--link:#233464;--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"Atkinson Hyperlegible",Verdana,sans-serif}
:root[data-theme="dark"]{--paper:#0F1626;--mist:#151E33;--ink:#E8EDF6;--muted:#A9B6CC;--line:#2B3955;--navy:#1B2748;--amberpale:#3A3015;--field:#0F1626;--fieldline:#5B6B8C;--link:#F2B544;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--sans);padding-inline:0}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;text-wrap:balance}
h1{font-size:clamp(2.2rem,5.4vw,4rem);line-height:1.05;letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.1}
h3{font-size:1.3rem;line-height:1.2}
.w{max-width:1280px;margin:0 auto;padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}
@media(min-width:900px){.w{padding-inline:80px}}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--navy);color:#fff}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--navy)}
.bar{display:flex;align-items:center;gap:22px;min-height:72px}
.logo{display:flex;align-items:center;gap:12px;margin-right:auto;font:600 1.15rem var(--serif);letter-spacing:.12em}
.logo img{height:42px;width:auto}
nav{display:flex;gap:26px;align-items:center;font-size:.95rem}
nav a{padding:6px 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current="page"]{border-color:var(--amber)}
.btn{display:inline-block;font:700 1.05rem var(--sans);padding:15px 26px;border-radius:4px;background:var(--amber);color:var(--onamber);border:0;cursor:pointer;text-align:center}
.btn:hover{filter:brightness(1.06)}
.btn.o{background:transparent;color:inherit;border:1.5px solid currentColor;padding:13.5px 26px}
.btn.s{padding:9px 16px;font-size:.95rem}
.tg{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5);border-radius:4px;padding:7px 12px;font:inherit;font-size:.9rem;cursor:pointer}
.mt{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer;padding:4px 8px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
main:focus{outline:none}
@media(max-width:1020px){.mt{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);flex-direction:column;align-items:flex-start;padding:16px max(16px,env(safe-area-inset-left,0px)) 22px;gap:14px;border-top:1px solid rgba(255,255,255,.2)}nav.open{display:flex}.hp{display:none}}
section{padding:72px 0;border-bottom:1px solid var(--line)}
section.alt{background:var(--mist)}
.lede{font-size:1.2rem;color:var(--muted);max-width:32em}
.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:end}
@media(max-width:900px){.grid2{grid-template-columns:1fr;gap:36px}section{padding:52px 0}}
.hero{padding:64px 0 56px}
.stats{display:flex;gap:12px 40px;flex-wrap:wrap;border-top:1px solid var(--ink);padding-top:16px;margin-top:26px}
.stats b{display:block;font:600 1.9rem var(--serif);color:var(--link)}
.card{border:1.5px solid var(--ink);border-radius:6px;padding:28px;background:var(--paper);box-shadow:8px 8px 0 var(--amber)}
.card h2{font-size:1.7rem;margin-bottom:14px}
label{display:block;font-weight:700;font-size:.95rem;margin-bottom:12px}
input.f,select.f,textarea.f{display:block;width:100%;margin-top:6px;font:inherit;font-weight:400;padding:13px 14px;border:1.5px solid var(--fieldline);border-radius:4px;background:var(--field);color:var(--ink)}
input.f[aria-invalid="true"]{border-color:#C0392B}
.err{color:#C0392B;font-size:.9rem;font-weight:400;margin-top:4px;min-height:0}
:root[data-theme="dark"] .err{color:#FF8A7A}
.note{font-size:.88rem;color:var(--muted)}
.street{border-bottom:1px solid var(--line);line-height:0}
.street svg{width:100%;height:auto;max-height:150px}
.street path{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2s ease forwards}
.street.pre path{animation:none;stroke-dashoffset:1}
.hiw{padding-bottom:0;border-bottom:0}
.hiw+.street{margin-top:-8px}
.street{background:var(--paper)}
@keyframes draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.street path{animation:none;stroke-dashoffset:0}}
.steps>div{display:grid;grid-template-columns:70px 1fr 1.3fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline}
.steps{border-top:2px solid var(--ink);margin-top:34px}
.steps .n{font:600 2rem var(--serif);color:var(--link)}
@media(max-width:700px){.steps>div{grid-template-columns:44px 1fr}.steps p{grid-column:2}}

.tl{position:relative;margin-top:36px;border-top:2px solid var(--ink)}
.rail{position:absolute;left:27px;top:44px;bottom:44px;width:3px;background:var(--line);border-radius:2px}
.rail i{display:block;width:100%;height:0;background:var(--amber);border-radius:2px;transition:height .15s linear}
.st{position:relative;display:grid;grid-template-columns:56px 1fr 1.3fr;gap:20px 24px;padding:30px 0;border-bottom:1px solid var(--line);align-items:center}
.st:last-child{border-bottom:0}
.st .n{width:56px;height:56px;border-radius:50%;border:3px solid var(--line);background:var(--paper);display:grid;place-items:center;transition:background .4s,border-color .4s,transform .4s;position:relative;z-index:1}
.st .n b{font:600 1.5rem var(--serif);color:var(--muted);transition:color .4s}
.st.on .n{background:var(--amber);border-color:var(--amber);transform:scale(1.08)}
.st.on .n b{color:var(--onamber)}
.st h3{position:relative;display:inline-block;justify-self:start}
.st h3 u{position:absolute;left:0;bottom:-6px;height:3px;width:100%;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .6s .15s cubic-bezier(.2,.7,.2,1);text-decoration:none}
.st.on h3 u{transform:scaleX(1)}
.st p{color:var(--muted);transition:color .4s}
.st.on p{color:var(--ink)}
.js .st.pre{opacity:0;transform:translateX(-28px)}
.st{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
@media(max-width:700px){.st{grid-template-columns:56px 1fr}.st p{grid-column:2}.rail{left:27px}}
@media(prefers-reduced-motion:reduce){.st,.st .n,.st h3 u,.rail i{transition:none}.js .st.pre{opacity:1;transform:none}}
.big3{gap:20px 56px}
.big3 b{font-size:2.6rem;font-variant-numeric:tabular-nums}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:560px){.r2{grid-template-columns:1fr}}
textarea.f{resize:vertical}
.bh{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:900px){.pg{grid-template-columns:1fr 1fr}}@media(max-width:560px){.pg{grid-template-columns:1fr}}
.pc{background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden;animation:fiin .7s var(--d,0s) cubic-bezier(.2,.7,.2,1) both;transition:transform .3s,box-shadow .3s}
.pc:hover{transform:translateY(-4px);box-shadow:0 14px 28px -18px rgba(27,42,65,.5)}
.pc .ph{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--line)}
.pc .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pc:hover .ph img{transform:scale(1.06)}
.pc .cr{position:absolute;right:8px;bottom:6px;font-size:.7rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7)}
.pc .pb{padding:18px 20px 22px}
.pc h3{font-size:1.2rem}
.pc .price{font:600 1.8rem var(--serif);color:var(--link);margin:4px 0 8px}
.pc .spec{display:flex;gap:14px;font-size:.92rem;font-weight:700;margin-bottom:8px}
.pc p{color:var(--muted);font-size:.95rem}
@media(prefers-reduced-motion:reduce){.pc{animation:none;transition:none}.pc .ph img{transition:none}}
.car{position:relative}
.trk{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:14px;overscroll-behavior-x:contain}
.trk .pc{flex:0 0 calc((100% - 56px)/3);scroll-snap-align:start}
@media(max-width:900px){.trk .pc{flex-basis:calc((100% - 28px)/2)}}
@media(max-width:560px){.trk .pc{flex-basis:100%}}
.cc{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px}
.cb{font:700 1rem var(--sans);min-width:46px;height:46px;padding:0 16px;border:1.5px solid var(--ink);border-radius:4px;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.cb:hover{background:var(--amber);border-color:var(--amber);color:var(--onamber)}
.rv{display:grid;grid-template-columns:48px 1fr 48px;gap:20px;align-items:center;margin-top:36px}
.rb{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper);color:var(--muted);font-size:1.6rem;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.rb:hover{background:var(--amber);border-color:var(--amber);color:var(--onamber)}
.rcard{margin:0;text-align:center;min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .35s,transform .35s;padding:0 8px}
.rcard.out{opacity:0;transform:translateY(8px)}
.rcard blockquote{margin:0;font:600 clamp(1.4rem,3vw,2.2rem)/1.3 var(--serif);max-width:26em;text-wrap:balance}
.rcard .rl{display:block;width:70px;height:3px;background:var(--amber);margin:26px 0 16px;transform-origin:center;animation:rlg .6s both}
@keyframes rlg{from{transform:scaleX(0)}to{transform:none}}
.rcard figcaption{color:var(--muted);font-size:1rem}
.dots{display:flex;justify-content:center;gap:10px;margin-top:20px;flex-wrap:wrap}
.dots button{width:12px;height:12px;border-radius:6px;border:0;background:var(--line);padding:0;cursor:pointer;transition:width .35s,background .35s}
.dots button.on{width:44px;background:var(--navy)}
:root[data-theme="dark"] .dots button.on{background:var(--amber)}
@media(max-width:700px){.rv{grid-template-columns:1fr;gap:14px}.rb{display:none}.rcard{min-height:260px}}
@media(prefers-reduced-motion:reduce){.rcard,.dots button{transition:none}.rcard .rl{animation:none}}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px;align-items:stretch}
.cmp>div{padding:28px 32px 12px;border-radius:6px}
.cl{background:var(--paper);border:1px solid var(--line)}
.cv{background:var(--navy);color:#fff;box-shadow:8px 8px 0 var(--amber)}
.cmp h3{font-size:1.5rem;margin-bottom:10px}
.cl h3{color:var(--muted)}
.cr{display:grid;gap:2px;padding:16px 0;border-top:1px solid var(--line);transition:opacity .6s calc(var(--i)*.12s),transform .6s calc(var(--i)*.12s)}
.cv .cr{border-color:rgba(255,255,255,.2)}
.cr .k{font-size:.85rem;opacity:.7}
.cr .v{display:flex;align-items:center;gap:12px;font-size:1.15rem;font-weight:700}
.cl .v{color:var(--muted);font-weight:400}
.x,.ck{flex:none;width:22px;height:22px;border-radius:50%;position:relative}
.x{border:2px solid var(--fieldline)}
.x::before,.x::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:2px;background:var(--fieldline);transform:translate(-50%,-50%) rotate(45deg)}
.x::after{transform:translate(-50%,-50%) rotate(-45deg)}
.ck{background:var(--amber)}
.ck::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid var(--onamber);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.tb{margin-top:40px;padding:28px 32px 32px;background:var(--paper);border:1px solid var(--line);border-radius:6px}
.axis{position:relative;height:22px;margin:14px 0 6px 160px;font-size:.8rem;color:var(--muted)}
.axis span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.axis span:first-child{transform:none}.axis span:last-child{transform:translateX(-100%)}
.trow{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:0;margin-top:12px}
.trow .k{font-weight:700}
.track{position:relative;height:46px;background:var(--mist);border-radius:4px;background-image:linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:20% 100%}
.tbar{position:absolute;top:6px;bottom:6px;border-radius:3px;display:flex;align-items:center;padding:0 12px;transition:width 1.2s cubic-bezier(.2,.7,.2,1) .2s;overflow:hidden;white-space:nowrap}
.tbar em{font-style:normal;font-size:.9rem}
.tbar.ag{background:#9AA6BC;color:#0F1626}
.tbar.vr{background:var(--amber);color:var(--onamber);font-weight:700}
.pre.cr{opacity:0;transform:translateY(14px)}
.pre .tbar{width:0!important}
@media(max-width:900px){.cmp{grid-template-columns:1fr}.axis{margin-left:0}.trow{grid-template-columns:1fr;gap:6px}.cv{box-shadow:6px 6px 0 var(--amber)}.tbar em{font-size:.8rem}.tb{padding:22px 18px 26px}}
@media(prefers-reduced-motion:reduce){.cr,.tbar{transition:none}.pre.cr{opacity:1;transform:none}.pre .tbar{width:auto!important}}
.vsw{display:inline-flex;align-items:center;gap:6px;margin-top:20px;padding:6px 8px 6px 14px;border:1px dashed var(--fieldline);border-radius:40px;font-size:.85rem;color:var(--muted)}
.vsw button{width:32px;height:32px;border-radius:50%;border:0;background:transparent;color:var(--ink);font:700 .95rem var(--sans);cursor:pointer}
.vsw button[aria-pressed="true"]{background:var(--amber);color:var(--onamber)}
.lgr{margin-top:40px;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px 32px 12px}
.lh,.lr{display:grid;grid-template-columns:1.1fr 1.3fr 48px 1.5fr;gap:16px;align-items:center}
.lh{padding:16px 0 12px;font-size:.85rem;color:var(--muted);font-weight:700;border-bottom:2px solid var(--ink)}
.lh span:last-child{color:var(--ink)}
.lr{padding:22px 0;border-bottom:1px solid var(--line)}
.lr:last-child{border-bottom:0}
.lk{font:600 1.25rem var(--serif)}
.old s{color:var(--muted);text-decoration:none;position:relative;display:inline-block}
.old s::after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:2px;background:#C0392B;transform-origin:left;animation:strk .6s calc(.5s + var(--i,0)*.15s) both}
:root[data-theme="dark"] .old s::after{background:#FF8A7A}
@keyframes strk{from{transform:scaleX(0)}to{transform:none}}
.ar{font-size:1.5rem;color:var(--muted);text-align:center}
.new{justify-self:start;background:var(--amberpale);color:var(--ink);font-weight:700;font-size:1.15rem;padding:8px 16px;border-radius:4px;border-left:4px solid var(--amber)}
.sw3{margin-top:40px;max-width:640px}
.tg3{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border:1.5px solid var(--ink);border-radius:50px;padding:5px}
.tg3 button{position:relative;z-index:1;border:0;background:transparent;font:700 1.05rem var(--sans);color:var(--ink);padding:13px 10px;border-radius:40px;cursor:pointer;transition:color .3s}
.tg3 .pill{position:absolute;top:5px;bottom:5px;width:calc(50% - 5px);left:5px;border-radius:40px;background:var(--amber);transition:transform .45s cubic-bezier(.3,1.2,.4,1)}
.tg3[data-s="vr"] .pill{transform:translateX(100%)}
.card3{margin-top:22px;border-radius:6px;padding:10px 32px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);transition:background .5s,color .5s,border-color .5s,box-shadow .5s}
.card3.vr{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:8px 8px 0 var(--amber)}
.r3{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.card3.vr .r3{border-color:rgba(255,255,255,.2)}
.r3:last-child{border-bottom:0}
.k3{font-size:.95rem;opacity:.75}
.val3{font:600 1.35rem var(--serif);text-align:right;transition:opacity .2s,transform .25s}
.val3.sw{opacity:0;transform:translateY(6px)}
.card3:not(.vr) .val3{color:var(--muted)}
@media(max-width:900px){.lh{display:none}.lr{grid-template-columns:1fr;gap:6px}.ar{display:none}.lgr{padding:8px 20px 12px}}
@media(prefers-reduced-motion:reduce){.old s::after{animation:none}.tg3 .pill,.card3,.val3{transition:none}}
.cmp3{grid-template-columns:1fr 1.08fr 1fr;gap:24px;align-items:start}
.cmp3 .cv{margin-top:-14px;padding-top:40px;padding-bottom:22px}
.cmp3 .cr .v{align-items:flex-start;font-size:1.05rem;line-height:1.35}
.cmp3 .cr .v i{margin-top:1px}
.nd{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--fieldline);position:relative}
.nd::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:2px;background:var(--fieldline);transform:translate(-50%,-50%)}
.cmp3 .cl h3{font-size:1.35rem}
.cmp h3 em{font-style:italic}
@media(max-width:1000px){.cmp3{grid-template-columns:1fr}.cmp3 .cv{margin-top:0;padding-top:28px;order:-1}}
.ivh{position:relative;overflow:hidden}
.bgchart{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}
.bgchart .gr path{stroke:var(--line);stroke-width:1;fill:none;vector-effect:non-scaling-stroke}
.bgchart .gl{fill:none;stroke:var(--navy);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.55;animation:gdraw 3.2s .3s cubic-bezier(.45,.1,.2,1) forwards}
:root[data-theme="dark"] .bgchart .gl{stroke:var(--amber)}
.bgchart .ga{opacity:0;animation:gfade 1.6s 1.8s ease forwards}
.gdot{position:absolute;right:0;top:7.5%;width:14px;height:14px;margin:-7px 0 0;border-radius:50%;background:var(--amber);opacity:0;animation:gfade .4s 3.3s forwards,gping 2.4s 3.5s ease-out infinite;pointer-events:none}
@keyframes gdraw{to{stroke-dashoffset:0}}
@keyframes gfade{to{opacity:1}}
@keyframes gping{0%{box-shadow:0 0 0 0 rgba(242,181,68,.6)}70%,100%{box-shadow:0 0 0 18px rgba(242,181,68,0)}}
@media(prefers-reduced-motion:reduce){.bgchart .gl{animation:none;stroke-dashoffset:0}.bgchart .ga{animation:none;opacity:1}.gdot{animation:none;opacity:1}}
.hero.photo{position:relative;overflow:hidden;min-height:620px;background:var(--paper);display:flex;align-items:center}
.hero.photo>.w{width:100%}.hero.photo h1,.hero.photo .lede,.hero.photo .stats{text-shadow:0 0 18px var(--paper),0 0 10px var(--paper),0 0 4px var(--paper)}
.hbg{position:absolute;inset:0}
.hbg i{position:absolute;top:0;bottom:0;right:0;height:100%;aspect-ratio:1245/928;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1.6s ease,transform 9s linear;-webkit-mask-image:linear-gradient(90deg,transparent 16%,#000 46%);mask-image:linear-gradient(90deg,transparent 16%,#000 46%)}
.hbg i.on{opacity:1;transform:scale(1)}
.hbg::after{content:none}
.hcap{position:absolute;right:max(16px,env(safe-area-inset-right,0px));bottom:12px;z-index:1;font-size:.8rem;color:#fff;background:rgba(15,22,38,.62);padding:4px 10px;border-radius:3px}
@media(max-width:900px){.hbg i{left:0;width:100%;height:100%;aspect-ratio:auto;-webkit-mask-image:none;mask-image:none}.hbg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 94%,transparent) 0%,color-mix(in srgb,var(--paper) 86%,transparent) 60%,color-mix(in srgb,var(--paper) 70%,transparent) 100%)}.hero.photo{min-height:0}.hbg::after{background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 94%,transparent) 0%,color-mix(in srgb,var(--paper) 86%,transparent) 60%,color-mix(in srgb,var(--paper) 70%,transparent) 100%)}}
@media(prefers-reduced-motion:reduce){.hbg i{transition:none;transform:none}}
table{width:100%;border-collapse:collapse}
th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line)}
th.v,td.v{background:var(--amberpale);font-weight:700}
th.v{background:var(--amber);color:var(--onamber)}
.tw{overflow-x:auto}
.sit{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink);margin-top:30px}
.sit a{padding:20px 14px 20px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:1.1rem}
.sit a:hover{color:var(--link);text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:3px}
@media(max-width:900px){.sit{grid-template-columns:1fr 1fr}}
.cities{display:flex;flex-wrap:wrap;gap:10px 22px}
.cities a{border-bottom:2px solid var(--amber);padding-bottom:2px}
.cities a:hover{color:var(--link)}
.fq{border-top:2px solid var(--ink);position:relative}
.fq::before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--amber);transform-origin:left;animation:sweep 1s .1s cubic-bezier(.6,0,.2,1) both}
@keyframes sweep{from{transform:scaleX(0)}to{transform:scaleX(1);opacity:0}}
@keyframes fiin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.fi{position:relative;border-bottom:1px solid var(--line);animation:fiin .6s cubic-bezier(.2,.7,.2,1) both}
.fi::after{content:"";position:absolute;left:0;top:0;bottom:-1px;width:4px;background:var(--amber);transform:scaleY(0);transform-origin:top;transition:transform .35s}
.fi.open::after{transform:scaleY(1)}
.fi h3{font-size:1.15rem;font-family:var(--sans);font-weight:700}
.fqq{all:unset;box-sizing:border-box;display:flex;width:100%;justify-content:space-between;align-items:center;gap:20px;padding:22px 0 22px 4px;cursor:pointer;transition:padding .3s,color .2s}
.fqq:hover{padding-left:16px;color:var(--link)}
.fqq:focus-visible{outline:3px solid var(--amber);outline-offset:-3px}
.fi.open .fqq{padding-left:20px}
.fqq i{flex:none;width:34px;height:34px;border-radius:50%;border:2px solid var(--ink);position:relative;transition:transform .4s cubic-bezier(.3,1.4,.5,1),background .3s,border-color .3s}
.fqq i::before,.fqq i::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:var(--ink);transform:translate(-50%,-50%)}
.fqq i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s}
.fi.open .fqq i{background:var(--amber);border-color:var(--amber);transform:rotate(180deg)}
.fi.open .fqq i::after{transform:translate(-50%,-50%) rotate(0)}
.fi.open .fqq i::before,.fi.open .fqq i::after{background:var(--onamber)}
.fqa{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
.fqa>div{overflow:hidden;min-height:0}
.fqa p{padding:0 0 24px 20px;max-width:38em;color:var(--muted);opacity:0;transform:translateY(-6px);transition:opacity .35s,transform .4s}
.fi.open .fqa{grid-template-rows:1fr}
.fi.open .fqa p{opacity:1;transform:none;transition-delay:.12s}
.fh{position:sticky;top:96px}
@media(max-width:900px){.fh{position:static}}
@media(prefers-reduced-motion:reduce){.fq::before{display:none}.fi,.fqq,.fqq i,.fqq i::after,.fqa,.fqa p,.fi::after{animation:none;transition:none}}
details{border-bottom:1px solid var(--line);padding:18px 0}
details:first-of-type{border-top:2px solid var(--ink)}
summary{font-weight:700;font-size:1.15rem;cursor:pointer}
details p{margin-top:10px;color:var(--muted);max-width:40em}
.rm{background:var(--navy);color:#fff}.rm h2{color:#fff}.rm .lede{color:#D3DBEA}.rmg{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:32px}.rmg figure{margin:0;position:relative;overflow:hidden;border-radius:4px;background:#0F1626}.rmg figure:nth-child(1){grid-column:span 4;grid-row:span 2}.rmg figure:nth-child(n+2){grid-column:span 2}.rmg img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/2;transition:transform .6s ease}.rmg figure:hover img{transform:scale(1.04)}.rmg figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 10px;font-size:.9rem;background:linear-gradient(0deg,rgba(10,16,30,.8),transparent);color:#fff}.rmg figcaption b{display:block;font:600 1.05rem var(--serif)}@media(max-width:900px){.rmg{grid-template-columns:1fr 1fr}.rmg figure:nth-child(1){grid-column:span 2;grid-row:auto}.rmg figure:nth-child(n+2){grid-column:span 1}.rmg figure:nth-child(6){grid-column:span 2}}@media(prefers-reduced-motion:reduce){.rmg img{transition:none}}
.hero.slim{min-height:270px;padding:48px 0}.hero.slim .hbg i{left:auto;width:64%;height:100%;aspect-ratio:auto;background-position:center 38%;transform:none}.hero.slim+.hiw{padding-top:28px}.hero.slim .lede{max-width:30em}@media(max-width:900px){.hero.slim{padding:40px 0}.hero.slim .hbg i{left:0;width:100%;opacity:.35}}
.kl{position:relative;height:130px;margin-top:34px;cursor:pointer}
.kl .rail{position:absolute;left:22px;right:22px;top:58px;height:4px;background:var(--line);border-radius:2px}
.kl .fill{position:absolute;left:22px;top:58px;height:4px;width:0;background:var(--amber);border-radius:2px;box-shadow:0 0 12px var(--amber)}
.kl .stop{position:absolute;top:40px;width:40px;height:40px;border-radius:50%;background:var(--paper);border:3px solid var(--line);display:grid;place-items:center;font:600 1.05rem var(--serif);color:var(--muted)}
.kl .stop::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:3px solid var(--amber);opacity:0}
.kl .s1{left:0}.kl .s2{left:calc(33.3% - 13px)}.kl .s3{left:calc(66.6% - 27px)}.kl .s4{right:0}
.kl .lb{position:absolute;top:92px;width:130px;text-align:center;font-size:.95rem;font-weight:700;opacity:0;transform:translateY(8px)}
.kl .l1{left:-45px}.kl .l2{left:calc(33.3% - 58px)}.kl .l3{left:calc(66.6% - 72px)}.kl .l4{right:-45px}
.kl .key{position:absolute;top:-6px;left:0;width:44px;height:44px;transform-origin:50% 50%}
.kl .burst{position:absolute;right:20px;top:60px;width:0;height:0}
.kl .burst i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--amber);opacity:0}
.kl.go .fill{animation:klf 3.4s cubic-bezier(.5,0,.3,1) forwards}
.kl.go .key{animation:klk 3.4s cubic-bezier(.5,0,.3,1) forwards,klw 3.4s ease-in-out forwards}
.kl.go .stop{animation:kls .35s forwards}
.kl.go .stop::after{animation:klp .8s ease-out forwards}
.kl.go .lb{animation:kll .5s forwards}
.kl.go .s1,.kl.go .s1::after,.kl.go .l1{animation-delay:.1s}
.kl.go .s2,.kl.go .s2::after,.kl.go .l2{animation-delay:1.2s}
.kl.go .s3,.kl.go .s3::after,.kl.go .l3{animation-delay:2.3s}
.kl.go .s4,.kl.go .s4::after,.kl.go .l4{animation-delay:3.3s}
.kl.go .s4 b{animation:klc .3s 3.3s forwards}
.kl.go .burst i{animation:klb .9s 3.3s ease-out forwards}
.kl .s4 .ck{position:absolute;opacity:0;transform:scale(.4)}
.kl.go .s4 .ck{animation:klc .4s 3.4s cubic-bezier(.3,1.5,.5,1) forwards}
.kl.go .s4 b{animation:klh .1s 3.4s forwards}
@keyframes klf{to{width:calc(100% - 44px)}}
@keyframes klk{to{left:calc(100% - 44px)}}
@keyframes klw{0%{transform:rotate(-12deg) translateY(0)}25%{transform:rotate(8deg) translateY(-8px)}50%{transform:rotate(-8deg) translateY(0)}75%{transform:rotate(8deg) translateY(-8px)}100%{transform:rotate(0) translateY(0)}}
@keyframes kls{to{border-color:var(--amber);background:var(--amber);color:#1B2A41;transform:scale(1.12)}}
@keyframes klp{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.1)}}
@keyframes kll{to{opacity:1;transform:none}}
@keyframes klc{to{opacity:1;transform:scale(1)}}
@keyframes klh{to{opacity:0}}
@keyframes klb{0%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(var(--x),var(--y))}}
@media(max-width:700px){.kl .lb{width:78px;font-size:.78rem}.kl .l1{left:-18px}.kl .l2{left:calc(33.3% - 33px)}.kl .l3{left:calc(66.6% - 45px)}.kl .l4{right:-18px}}
@media(prefers-reduced-motion:reduce){.kl .fill{width:calc(100% - 44px)}.kl .key{left:calc(100% - 44px)}.kl .stop{border-color:var(--amber);background:var(--amber);color:#1B2A41}.kl .lb{opacity:1;transform:none}.kl .s4 b{opacity:0}.kl .s4 .ck{opacity:1;transform:none}.kl.go *{animation:none!important}}
.ks{height:260vh;position:relative}
.kin{position:sticky;top:72px;display:block;padding:12px 0 0;background:var(--paper)}
.kin .w{width:100%}
.kl.sc{margin-top:10px;cursor:default}
.kl.sc .fill{width:calc((100% - 44px)*var(--p,0));animation:none!important}
.kl.sc .key{left:calc((100% - 44px)*var(--p,0));animation:none!important;transform:rotate(calc(sin(var(--p,0)*60)*14deg)) translateY(calc(sin(var(--p,0)*60)*-4px))}
.kl.sc .stop,.kl.sc .lb{animation:none!important;transition:all .35s ease}
.kl.sc .stop.on{border-color:var(--amber);background:var(--amber);color:#1B2A41;transform:scale(1.14)}
.kl.sc .stop.on::after{animation:klp .8s ease-out!important}
.kl.sc .lb.on{opacity:1;transform:none}
.kl.sc .s4.on b{opacity:0}
.kl.sc .s4 .ck{animation:none!important;transition:all .4s cubic-bezier(.3,1.5,.5,1)}
.kl.sc .s4.on .ck{opacity:1;transform:scale(1)}
.kl.sc .burst i{animation:none!important;opacity:0}
.kl.sc .s4.on .burst i{animation:klb .9s ease-out!important}
.kd{position:relative;margin-top:16px;min-height:84px;border-top:2px solid var(--ink);padding-top:30px}
.kdi{position:absolute;inset:30px 0 auto 0;display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start;opacity:0;transform:translateY(22px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.kdi.on{opacity:1;transform:none;pointer-events:auto}
.kdi h2{font:600 clamp(1.9rem,3.4vw,2.8rem)/1.15 var(--serif);text-wrap:balance;position:relative;padding-bottom:14px}
.kdi h2::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--amber);transition:width .7s .2s ease}
.kdi.on h2::after{width:84px}
.kdi p{font-size:1.3rem;line-height:1.6;color:var(--muted);max-width:30em}
.khint{margin:24px 0 0;padding-bottom:6px;text-align:left;color:var(--muted);font-size:.95rem;transition:opacity .4s}
.khint::after{content:"\00a0\2193";display:inline-block;animation:khb 1.2s ease-in-out infinite}
@keyframes khb{50%{transform:translateY(5px)}}
@media(max-width:800px){.ks{height:230vh}.kdi{grid-template-columns:1fr;gap:12px}.kd{min-height:190px}.kdi p{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){.ks{height:auto}.kin{position:static;min-height:0;padding:40px 0}.kd{min-height:0}.kdi{position:static;opacity:1;transform:none;margin-bottom:28px}.kdi h2::after{width:84px}.khint{display:none}.kl.sc .stop{border-color:var(--amber);background:var(--amber);color:#1B2A41}.kl.sc .lb{opacity:1;transform:none}.kl.sc .s4 b{opacity:0}.kl.sc .s4 .ck{opacity:1;transform:none}}
.cta{background:var(--navy);color:#fff;border:0}
.cta .row{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta h2{max-width:15em}
.btns{display:flex;gap:12px;flex-wrap:wrap}
footer{background:#14203D;color:#fff;padding:44px 0;font-size:.95rem}
:root[data-theme="dark"] footer{background:#0A1020}
footer .fg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr 1fr;gap:36px}
footer b{display:block;margin-bottom:8px}
footer a,footer .fx{display:block;padding:3px 0;opacity:.85;text-decoration:none}
footer a:hover{opacity:1;text-decoration:underline}
footer p{margin:0 0 6px;opacity:.85}
footer .fl{display:flex;align-items:center;gap:10px;margin-bottom:10px}
footer .fl img{height:40px}footer .fl b{font:600 1.3rem var(--serif);margin:0}
footer .fc{border-top:1px solid rgba(255,255,255,.2);margin-top:30px;padding-top:22px}
footer .fc a{display:inline-block;margin-right:20px}
footer .fbot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
footer .fcopy{margin:0;font-size:.85rem;opacity:.6}
@media(max-width:900px){footer .fg{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer .fg{grid-template-columns:1fr}}
.crumb{font-size:.95rem;color:var(--muted);margin-bottom:14px}
.crumb a{color:var(--link);text-decoration:underline}
.ok{border:1.5px solid var(--ink);border-radius:6px;padding:26px;background:var(--amberpale)}
.ruler{position:relative;margin:6px 0 4px}
.ruler input{width:100%;accent-color:var(--navy)}
.big{font:600 1.7rem var(--serif);color:var(--link)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:32px}}

.ac{position:absolute;left:0;right:0;top:100%;z-index:30;margin:4px 0 0;padding:4px 0;list-style:none;background:var(--paper);border:1.5px solid var(--fieldline);box-shadow:0 10px 28px rgba(15,24,48,.18);max-height:290px;overflow:auto;border-radius:4px}
.ac[hidden]{display:none}.acw{position:relative}.ac li{padding:13px 14px;cursor:pointer;font-size:1rem;line-height:1.35;font-weight:400}.ac li[aria-selected="true"],.ac li:hover{background:var(--mist)}
.fine{font-size:.85rem;color:var(--muted);max-width:none}.fine a{text-decoration:underline}
select.f{appearance:auto}
p.err{color:#C0392B;font-weight:700;margin:0 0 12px;font-size:.95rem}:root[data-theme="dark"] p.err{color:#FF8A7A}
.legal{max-width:760px}.legal h2{font-size:1.5rem;margin:1.8em 0 .5em}.legal p,.legal li{max-width:none;margin:0 0 1em}.legal ul{padding-left:1.3em;margin:0 0 1em}.legal li{margin-bottom:.55em}.legal .meta{color:var(--muted);font-weight:700}.legal a{text-decoration:underline;color:var(--link)}
.pts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px}.pts>div{border-top:3px solid var(--amber);padding-top:16px}.pts h3{margin-bottom:8px}.pts p{color:var(--muted)}
.pts4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.pts,.pts4{grid-template-columns:1fr;gap:22px}}
.cl a{display:inline-block;margin:0 16px 0 0;border-bottom:2px solid var(--amber)}.cl span{font-weight:700;margin-right:10px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:36px}}
.hp{color:#fff}
.prose{max-width:760px}.prose p{margin:0 0 1em}.prose h2{margin:1.4em 0 .5em}.prose a{text-decoration:underline;color:var(--link)}
#lang{white-space:nowrap}

@media(min-width:901px){.hero.photo .hbg i{width:80%;aspect-ratio:auto;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 34%);mask-image:linear-gradient(90deg,transparent 0%,#000 34%)}}
