@font-face{font-family:"Newsreader";src:url(/v2/fonts/newsreader.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/v2/fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{
  --paper:oklch(98.4% .006 85);--paper-2:oklch(96% .01 85);--ink:oklch(21% .035 258);--ink-2:oklch(42% .025 258);--ink-3:oklch(58% .018 258);
  --navy:#102847;--gold:oklch(68% .085 75);--rule:oklch(88% .012 85);
  --serif:"Newsreader",ui-serif,Georgia,"Times New Roman",serif;--sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);--wrap:min(1180px,100% - 2*clamp(20px,5vw,56px));
  --s-1:clamp(.82rem,.8rem + .1vw,.88rem);--s0:clamp(1rem,.96rem + .2vw,1.1rem);--s1:clamp(1.2rem,1.1rem + .4vw,1.4rem);--s2:clamp(1.6rem,1.3rem + 1.2vw,2.3rem);--s3:clamp(2.2rem,1.6rem + 2.6vw,3.8rem);--s4:clamp(2.8rem,1.8rem + 4.6vw,6.2rem)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--s0)/1.6 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{display:block}
.wrap{width:var(--wrap);margin-inline:auto}
.skip{position:absolute;left:-9999px;top:8px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;z-index:50}.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
/* header */
.hdr{position:sticky;top:0;z-index:20;background:color-mix(in oklch,var(--paper) 82%,transparent);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid transparent;transition:border-color .4s var(--ease)}
.hdr.scrolled{border-bottom-color:var(--rule)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:64px}
.mark{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.mark b{font:600 1.15rem/1 var(--serif);letter-spacing:.02em}.mark b i{color:var(--gold);font-style:normal}
.mark span{font-size:var(--s-1);color:var(--ink-3);letter-spacing:.04em}
.nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,30px);font-size:.92rem}
.nav a{text-decoration:none;color:var(--ink-2);transition:color .25s}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}
.nav .pill{color:#fff;background:var(--navy);padding:8px 16px;border-radius:999px}.nav .pill:hover{color:#fff;background:oklch(30% .06 258)}
.progress{position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--gold);transform-origin:0 50%;transform:scaleX(var(--p,0))}
@media (max-width:760px){.nav a:not(.pill){display:none}.mark span{display:none}}
/* type */
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;margin:0;text-wrap:balance}
h1{font-size:var(--s4);line-height:1.02;letter-spacing:-.03em}
h2{font-size:var(--s3);line-height:1.06;letter-spacing:-.025em}
h3{font-size:var(--s1);line-height:1.25;font-weight:500}
p{margin:0 0 1em;max-width:62ch;text-wrap:pretty}
em.it{font-style:italic;color:var(--ink-2)}
.eyebrow{display:block;font:500 var(--s-1)/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:22px}
.lead{font:400 var(--s2)/1.25 var(--serif);color:var(--ink-2);letter-spacing:-.01em;max-width:28ch}
.muted{color:var(--ink-2)}.small{font-size:var(--s-1);color:var(--ink-3)}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;background:var(--navy);color:#fff;text-decoration:none;padding:14px 24px;border-radius:999px;font-weight:500;transition:transform .5s var(--ease),background .3s}
.btn:hover{background:oklch(30% .06 258);transform:translateY(-1px)}
.btn.light{background:var(--paper);color:var(--navy)}.btn.light:hover{background:#fff}
.link{display:inline-flex;align-items:center;gap:.4em;color:var(--navy);text-decoration:none;font-weight:500;border-bottom:1px solid color-mix(in oklch,var(--navy) 30%,transparent);padding-bottom:2px;transition:border-color .3s}
.link:hover{border-color:var(--navy)}
.arr{width:.9em;height:.9em;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .5s var(--ease)}
a:hover>.arr{transform:translate(2px,-2px)}a:hover>.arr.down{transform:translateY(3px)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:36px}
/* sections */
.sec{padding-block:clamp(96px,14vw,184px)}
.sec+.sec{border-top:1px solid var(--rule)}
.hero{min-height:calc(100svh - 64px);display:grid;align-content:center;padding-block:clamp(40px,7vw,96px) 32px}
.hero h1{max-width:17ch}
.hero .lead{margin-top:32px}
.hero .detail{margin-top:18px;color:var(--ink-2)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.sticky{position:sticky;top:120px}
@media (max-width:860px){.sticky{position:static}}
.band{border-block:1px solid var(--rule);padding-block:22px;overflow:hidden}
.band ul{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;list-style:none;margin:0;padding:0;font:400 var(--s1)/1.2 var(--serif);color:var(--ink-2)}
.band li::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:14px;vertical-align:middle}
/* rows */
.rows{border-top:1px solid var(--rule)}
.row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:24px 48px;padding-block:40px;border-bottom:1px solid var(--rule)}
.row .tag b{display:block;font:500 var(--s2)/1 var(--serif)}.row .tag span{display:block;margin-top:10px;color:var(--ink-3);font-size:var(--s-1);letter-spacing:.04em}
.row h3{margin-bottom:12px}
.row .links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:8px}
@media (max-width:700px){.row{grid-template-columns:1fr}}
.roles{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.roles a{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr) auto;gap:12px 40px;align-items:baseline;padding:30px 4px;border-bottom:1px solid var(--rule);text-decoration:none;transition:background .4s var(--ease),padding .5s var(--ease)}
.roles a:hover{background:var(--paper-2);padding-inline:16px}
.roles h3{font-size:var(--s2);font-weight:400}.roles p{margin:0;color:var(--ink-2)}
.roles .arr{width:20px;height:20px;color:var(--navy)}
@media (max-width:700px){.roles a{grid-template-columns:1fr auto}.roles p{grid-column:1/-1;grid-row:2}}
.note{margin-top:32px;padding-left:20px;border-left:2px solid var(--gold);color:var(--ink-2);font-size:var(--s-1)}
.qs{list-style:none;margin:0;padding:0;counter-reset:q}
.qs li{counter-increment:q;font:400 var(--s2)/1.2 var(--serif);padding-block:26px;border-bottom:1px solid var(--rule);color:var(--ink-2)}
.qs li::before{content:counter(q,decimal-leading-zero);display:block;font:500 var(--s-1)/1 var(--sans);letter-spacing:.14em;color:var(--gold);margin-bottom:12px}
.qs strong{font-weight:400;color:var(--ink)}
.figure{font:400 var(--s4)/1 var(--serif);letter-spacing:-.03em;color:var(--navy)}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,96px)}@media (max-width:760px){.cols{grid-template-columns:1fr}}
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:56px}
.paths a{background:var(--paper);padding:32px 28px 36px;text-decoration:none;display:flex;flex-direction:column;gap:10px;transition:background .4s var(--ease)}
.paths a:hover{background:var(--paper-2)}
.paths b{font:500 var(--s1)/1.2 var(--serif)}.paths span{color:var(--ink-2);font-size:.95rem}
.paths .arr{margin-top:auto;color:var(--navy)}
@media (max-width:760px){.paths{grid-template-columns:1fr}}
/* anticipation: next-section cue */
.next{display:flex;align-items:center;gap:16px;margin-top:clamp(64px,9vw,120px);text-decoration:none;color:var(--ink-3);font-size:var(--s-1);letter-spacing:.06em}
.next .line{flex:0 0 48px;height:1px;background:currentColor;transform-origin:0 50%;transition:flex-basis .8s var(--ease)}
.next b{font:400 var(--s1)/1.2 var(--serif);letter-spacing:-.005em;color:var(--ink);text-transform:none}
.next:hover .line{flex-basis:96px}
.next:hover{color:var(--navy)}
/* closing */
.close{background:var(--navy);color:var(--paper)}
.close h2{color:#fff;max-width:14ch}.close p{color:oklch(86% .02 258)}
.close .split{align-items:end}
/* pages */
.page-hero{padding-block:clamp(72px,12vw,160px) clamp(48px,7vw,96px)}
.page-hero h1{font-size:var(--s4);max-width:16ch}
.crumb{font-size:var(--s-1);color:var(--ink-3);text-decoration:none;letter-spacing:.06em}
.doc h2{font-size:var(--s2);margin:64px 0 18px}.doc p{color:var(--ink-2)}
/* footer */
.ftr{border-top:1px solid var(--rule);padding-block:56px 72px;font-size:var(--s-1);color:var(--ink-3)}
.ftr-in{display:grid;grid-template-columns:1fr auto;gap:24px 48px;align-items:start}
.ftr nav{display:flex;flex-wrap:wrap;gap:10px 28px}.ftr nav a{text-decoration:none;color:var(--ink-2)}.ftr nav a:hover{color:var(--ink)}
@media (max-width:700px){.ftr-in{grid-template-columns:1fr}}
/* motion: reveal + anticipation */
.js .rv{opacity:0;transform:translateY(28px);filter:blur(4px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease),filter 1.1s var(--ease);transition-delay:calc(var(--i,0)*90ms)}
.js .rv.in{opacity:1;transform:none;filter:none}
.js .next{opacity:.25;transform:translateX(-10px);transition:opacity .9s var(--ease),transform .9s var(--ease),color .3s}
.js .next .line{transform:scaleX(.2)}
.js .next.near{opacity:1;transform:none}.js .next.near .line{transform:none;transition:transform 1.2s var(--ease) .15s,flex-basis .8s var(--ease)}
.js .hero h1 .ln{display:block;overflow:hidden}
.js .hero h1 .ln>span{display:block;transform:translateY(105%);animation:rise 1.3s var(--ease) forwards;animation-delay:calc(.15s + var(--i,0)*.14s)}
@keyframes rise{to{transform:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv,.js .next,.js .hero h1 .ln>span{opacity:1!important;transform:none!important;filter:none!important}
  .js .next .line{transform:none}
  .progress{display:none}
}

.mt{margin-top:24px}.mb{margin-bottom:72px}.w16{max-width:16ch}.intro{margin:24px 0 56px}.row.one{grid-template-columns:1fr}.hmd{font-size:var(--s2)}.sec.ssm{padding-block:clamp(64px,8vw,112px)}.pt0{padding-top:0!important}
.js .hero h1 .ln>.d1{animation-delay:.29s}.js .hero h1 .ln>.d0{animation-delay:.15s}
/* v3 visual-first */
.hero{min-height:auto;padding-block:clamp(64px,10vw,140px) clamp(40px,6vw,72px)}
.shead{margin-bottom:clamp(32px,4vw,56px)}.shead h2{font-size:var(--s3)}.shead p{margin-top:14px}
.sec{padding-block:clamp(72px,9vw,128px)}
.ico{width:36px;height:36px;fill:none;stroke:var(--navy);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.grid.g5{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
@media (max-width:760px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--rule);border-radius:22px;padding:26px 22px;text-decoration:none;height:100%;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.tile b{font:500 var(--s1)/1.2 var(--serif)}
a.tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px oklch(30% .05 258/.35)}
.band2{padding-block:8px 24px}
.slider-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.sbtns{display:flex;gap:10px}
.sbtn{width:44px;height:44px;border-radius:50%;border:1px solid var(--rule);background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:background .3s}
.sbtn:hover{background:var(--paper-2)}.sbtn .arr{width:18px;height:18px}
.track{list-style:none;margin:0;padding:4px 2px 18px;display:grid;grid-auto-flow:column;grid-auto-columns:clamp(260px,34%,400px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
@media (max-width:760px){.track{grid-auto-columns:78%}}
.card{scroll-snap-align:start}
.card>*,.card>a{display:flex}
.card{background:#fff;border:1px solid var(--rule);border-radius:26px;padding:28px 26px 30px;display:flex;flex-direction:column;gap:14px;min-height:260px}
.card>a{flex-direction:column;gap:14px;text-decoration:none;height:100%}
.card b{font:400 var(--s2)/1.1 var(--serif);letter-spacing:-.015em}
.card p{margin:0;color:var(--ink-2)}
.card .num{font:500 var(--s-1)/1 var(--sans);letter-spacing:.14em;color:var(--gold)}
.card .tag2{font-size:var(--s-1);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
.card .arr{margin-top:auto;color:var(--navy)}
.compare,.trio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.trio{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.compare,.trio{grid-template-columns:1fr}}
.panel{background:#fff;border:1px solid var(--rule);border-radius:26px;padding:32px 30px}
.panel b{font:500 var(--s2)/1.1 var(--serif)}
.panel ul{list-style:none;margin:18px 0 0;padding:0}
.panel li{font:400 var(--s1)/1.3 var(--serif);padding:14px 0;border-top:1px solid var(--rule)}
.panel.dark{background:var(--navy);color:#fff;border-color:var(--navy)}.panel.dark .small{color:oklch(85% .03 258)}.panel.dark li{border-color:oklch(40% .05 258)}
.fee,.vet{background:#fff;border:1px solid var(--rule);border-radius:26px;padding:32px 30px}
.vet{display:flex;gap:18px;align-items:flex-start}.vet b{font:500 var(--s1)/1.2 var(--serif)}.vet p{margin:8px 0 0}
.fee .figure{margin:0 0 8px}.fee p{margin:0}
.more{margin-top:24px;border-top:1px solid var(--rule);padding-top:16px}
.more summary{cursor:pointer;font-weight:500;color:var(--navy);list-style:none}.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"+";margin-left:10px;color:var(--gold)}.more[open] summary::after{content:"–"}
.more>div{margin-top:16px;color:var(--ink-2)}.plain{padding-left:18px}
.close h2{max-width:none}
.js .next{opacity:.7}
