:root{--night:#1C1830;--night2:#241E3B;--moon:#EDE7F6;--moon2:#B9B2CC;--lav:#B7A9E0;--paper:#F7F6F2;--paper2:#EFEDE7;--ink:#15102A;--ink2:#4F4A62;--hair:#D7D3D6;--hair2:#E8E5E8;--accent:#4A3D73;--red:#9E3B31;--field:#FFFFFF;--foot:#1C1830;--foot-ink:#EDE7F6;--foot-ink2:#B9B2CC}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--paper:#131312;--paper2:#1B1B19;--ink:#ECEAE4;--ink2:#A7A59E;--hair:#3A3935;--hair2:#2A2927;--accent:#B7A9E0;--red:#E07A6E;--field:#1B1B19;--foot:#120F1F;--foot-ink:#EDE7F6;--foot-ink2:#8F8AA3}}
:root[data-theme="dark"]{--paper:#131312;--paper2:#1B1B19;--ink:#ECEAE4;--ink2:#A7A59E;--hair:#3A3935;--hair2:#2A2927;--accent:#B7A9E0;--red:#E07A6E;--field:#1B1B19;--foot:#120F1F;--foot-ink:#EDE7F6;--foot-ink2:#8F8AA3}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6;padding-inline:0;padding-block:0;margin:0}
a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--accent);text-underline-offset:4px}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:1px solid var(--accent);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(20px,4vw,48px)}
.cap{font-family:Jost,"Hanken Grotesk",sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
h1,h2,h3{font-family:Jost,"Hanken Grotesk",sans-serif;font-weight:300;margin:0;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(40px,5.4vw,66px);line-height:1.02}
h2{font-size:clamp(28px,3.2vw,40px);line-height:1.1}
h3{font-size:22px;font-weight:400;line-height:1.25}
.h3{font-size:22px;font-weight:400}
p{margin:0 0 16px;max-width:64ch}
.lead{font-size:20px;line-height:1.5;color:var(--ink2);max-width:58ch}
.lead.sm{font-size:18px}
.muted{color:var(--ink2)}
.eyebrow{font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);display:block;margin-bottom:18px}
/* header */
header.site{display:none;position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--paper);border-bottom:1px solid var(--hair)}
header.site.on{display:block}
header.site .wrap{display:flex;align-items:center;gap:28px;height:84px;flex-wrap:nowrap}
header .logo,header .btn,header .menu{flex-shrink:0}
header .logo{display:flex;align-items:center;color:var(--ink);text-decoration:none}
header nav{display:flex;gap:22px}
header nav a{text-decoration:none;font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);padding:10px 0;border-bottom:1px solid transparent;white-space:nowrap}
header nav a:hover{color:var(--accent)}header nav a.on{border-bottom-color:var(--accent)}
.sp{flex-grow:1}
.lang{font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;background:none;border:0;color:var(--ink);padding:10px 0;width:96px;text-align:right;flex-shrink:0;cursor:pointer;text-decoration:underline;text-decoration-color:var(--hair);text-underline-offset:5px}
.lang:hover{color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--paper);text-decoration:none;font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:0 12px;height:52px;width:250px;white-space:nowrap;overflow:hidden;border:1px solid var(--ink);cursor:pointer;transition:background .15s,color .15s}
header .btn{width:236px;height:46px;padding:0 12px}
:lang(es) .btn{font-size:11px;letter-spacing:.12em}
.btn:hover{background:transparent;color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.menu{display:none;font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;background:none;border:1px solid var(--hair);padding:10px 14px;color:var(--ink);cursor:pointer}
@media (max-width:1040px){header nav{display:none}header .btn{display:none}.menu{display:block}
 header.site.open nav{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:84px;background:var(--paper);border-bottom:1px solid var(--hair);padding:8px clamp(20px,4vw,48px) 20px}
 header.site.open nav a{padding:14px 0;border-bottom:1px solid var(--hair2)}}
/* gate */
body.is-gate header.site,body.is-gate footer.site{display:none}
.gatelang{display:none;position:fixed;right:clamp(20px,4vw,48px);top:26px;z-index:30}
body.is-gate .gatelang{display:block;color:var(--moon)}body.is-gate{background:var(--night)}
.gate{background:var(--night);color:var(--moon);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;text-align:center;padding:80px 20px}
.gate-logo{color:var(--moon)}
.gate h1{font-size:clamp(30px,4vw,44px)}
.gate .door{width:min(520px,100%);border:1px solid var(--moon2);padding:28px 30px;text-decoration:none;display:flex;flex-direction:column;gap:6px;text-align:left;color:var(--moon);transition:background .2s,color .2s,border-color .2s}
.gate .door b{font-family:Jost,sans-serif;font-weight:400;font-size:20px}
.gate .door span{font-size:15px;color:var(--moon2)}
.gate .door:hover{background:var(--moon);color:var(--night);border-color:var(--moon)}.gate .door:hover span{color:var(--night);opacity:.7}
.gate .door.dark{background:var(--moon);color:var(--night);border-color:var(--moon)}.gate .door.dark span{color:var(--night);opacity:.7}
.gate .door.dark:hover{background:transparent;color:var(--moon);border-color:var(--moon2)}.gate .door.dark:hover span{color:var(--moon2);opacity:1}
.gate .door+.door{margin-top:-28px}
/* pages */
.page{display:none}.page.on{display:block}
.hero{background:var(--night);color:var(--moon);padding:clamp(48px,7vw,96px) 0 0;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-10%;top:-30%;width:60vw;height:60vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(circle,rgba(183,169,224,.28),rgba(183,169,224,0) 60%);pointer-events:none}
.hero .wrap{position:relative}
.hero .wrap{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,5vw,72px);align-items:end}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}
.hero h1{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--lav);max-width:14ch}
.hero .lead{color:var(--moon2)}.hero a{color:var(--moon);text-decoration-color:var(--lav)}.hero a:hover{color:var(--lav)}
.hero .cta{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px;padding-bottom:clamp(40px,6vw,72px)}
.hero .cta .alt{color:var(--moon2);font-size:15px}
.hero .btn{background:var(--moon);color:var(--night);border-color:var(--moon)}.hero .btn:hover{background:transparent;color:var(--moon)}
.hero figure{margin:0;aspect-ratio:4/5;max-width:100%;overflow:hidden;background:var(--night2);align-self:stretch}
.hero img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.5) contrast(1.02) brightness(.96)}
.facts{border-bottom:1px solid var(--hair)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-inline:0}
@media (max-width:900px){.facts .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.facts .wrap{grid-template-columns:1fr}}
.fact{display:flex;gap:14px;align-items:flex-start;padding:26px clamp(20px,3vw,32px);border-right:1px solid var(--hair)}
.fact:last-child{border-right:0}
@media (max-width:900px){.fact:nth-child(2){border-right:0}.fact:nth-child(-n+2){border-bottom:1px solid var(--hair)}}
@media (max-width:520px){.fact{border-right:0;border-bottom:1px solid var(--hair)}.fact:last-child{border-bottom:0}}
.fact svg{width:22px;height:22px;flex-shrink:0;color:var(--ink);margin-top:3px}
.fact b{display:block;font-family:Jost,sans-serif;font-weight:400;font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}
.fact span{font-size:15px;color:var(--ink2);line-height:1.5}
section{padding:clamp(56px,8vw,104px) 0;border-bottom:1px solid var(--hair)}
section.band{background:var(--paper2)}
section.tint{background:var(--paper)}
.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,72px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:24px}}
ul.spec{list-style:none;padding:0;margin:0;max-width:64ch}
ul.spec li{display:grid;grid-template-columns:24px 1fr;gap:16px;align-items:start;padding:16px 0;border-top:1px solid var(--hair)}
ul.spec li:last-child{border-bottom:1px solid var(--hair)}
ul.spec svg{width:22px;height:22px;color:var(--ink);margin-top:2px}
.cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,72px);margin-top:36px;border-top:1px solid var(--ink)}
@media (max-width:700px){.cases{grid-template-columns:1fr}}
.case{padding:26px 0;border-bottom:1px solid var(--hair)}
.case h3{margin-bottom:10px}
.case p{font-size:15px;color:var(--ink2);margin:0}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:36px;counter-reset:s;border-top:1px solid var(--ink)}
.steps.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.steps,.steps.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps,.steps.three{grid-template-columns:1fr}}
.step{counter-increment:s;padding:24px clamp(16px,2.5vw,32px) 28px 0;border-right:1px solid var(--hair);margin-right:clamp(16px,2.5vw,32px)}
.step:last-child{border-right:0;margin-right:0}
@media (max-width:900px){.step:nth-child(even){border-right:0;margin-right:0}}
@media (max-width:520px){.step{border-right:0;margin-right:0;border-bottom:1px solid var(--hair)}}
.step::before{content:counter(s,decimal-leading-zero);display:block;font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;color:var(--ink2);margin-bottom:18px}
.step b{display:block;font-family:Jost,sans-serif;font-weight:400;font-size:22px;margin-bottom:10px}
.step p{font-size:15px;color:var(--ink2);margin:0}
.fees{display:grid;grid-template-columns:auto 1fr;gap:0 32px;margin:0;border-top:1px solid var(--ink)}
.fees dt{font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);padding:18px 0;border-bottom:1px solid var(--hair);white-space:nowrap}
.fees dd{margin:0;padding:18px 0;border-bottom:1px solid var(--hair);font-size:16px}
.fees .big{font-family:Jost,sans-serif;font-weight:300;font-size:36px;line-height:1;font-variant-numeric:tabular-nums}
.fees .sub{color:var(--ink2);font-size:15px}
@media (max-width:520px){.fees{grid-template-columns:1fr}.fees dt{border-bottom:0;padding-bottom:4px}.fees dd{padding-top:0}}
details{border-top:1px solid var(--hair)}
details:last-of-type{border-bottom:1px solid var(--hair)}
summary{cursor:pointer;padding:18px 0;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:24px;align-items:baseline}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:Jost,sans-serif;font-weight:300;font-size:22px;line-height:1;color:var(--ink2);flex-shrink:0}
details[open] summary::after{content:"–"}
details p{padding-bottom:18px;color:var(--ink2);margin:0}
.faqfull{max-width:760px;margin-top:40px}
.closing{padding:0}
.closing .box{background:var(--night);color:var(--moon);display:grid;grid-template-columns:7fr 5fr;gap:32px;align-items:end;padding:clamp(48px,7vw,88px) clamp(20px,4vw,48px)}
.closing .wrap{padding-inline:0;max-width:none}
.closing .box>div{max-width:1200px}
.closing .btn{background:var(--moon);color:var(--night);border-color:var(--moon)}.closing .btn:hover{background:transparent;color:var(--moon)}
.closing a{color:var(--moon);text-decoration-color:var(--lav)}
@media (max-width:900px){.closing .box{grid-template-columns:1fr}}
.closing p{color:var(--moon2);margin:12px 0 0}
.closing .cb span{color:var(--moon2)}
.cb{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.cb span{color:var(--ink2);font-size:15px}
/* inner pages */
.pagehead{padding:clamp(48px,7vw,96px) 0;border-bottom:0}
.pagehead h1{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--accent);max-width:18ch}
.two{display:grid;grid-template-columns:7fr 4fr;gap:clamp(32px,6vw,96px);align-items:start}
.two.rev{grid-template-columns:4fr 7fr}
@media (max-width:900px){.two,.two.rev{grid-template-columns:1fr;gap:32px}}
.narrowc{max-width:820px}
aside{display:flex;flex-direction:column;gap:32px}
.panel{border-top:1px solid var(--ink);padding-top:18px}
.panel h3{font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;margin-bottom:14px}
.panel ol{margin:0;padding-left:0;list-style:none;counter-reset:n}
.panel ol li{counter-increment:n;display:grid;grid-template-columns:32px 1fr;gap:8px;padding:8px 0;font-size:15px;border-bottom:1px solid var(--hair2)}
.panel ol li::before{content:counter(n,decimal-leading-zero);font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;color:var(--ink2);padding-top:3px}
.panel p{font-size:15px;margin:0}
ol.ledger{list-style:none;padding:0;margin:0 0 24px;counter-reset:n;border-top:1px solid var(--ink);max-width:64ch}
ol.ledger li{counter-increment:n;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--hair)}
ol.ledger li::before{content:counter(n,decimal-leading-zero);font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;color:var(--ink2);padding-top:4px}
ul.plain{padding-left:0;list-style:none;margin:0;max-width:64ch;border-top:1px solid var(--ink)}
ul.plain li{padding:14px 0;border-bottom:1px solid var(--hair)}
.portrait{margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--paper2)}
.portrait img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.55)}
.done{border-top:1px solid var(--ink);padding-top:40px;max-width:640px}
.done h1{margin-bottom:20px}
section.narrow{border-bottom:0;padding:clamp(48px,7vw,96px) 0}
/* forms */
.form{display:flex;flex-direction:column;gap:26px;margin-top:32px;max-width:640px}
.field{display:flex;flex-direction:column;gap:8px;border:0;padding:0;margin:0;min-width:0}
.field label,.field legend{font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);padding:0}
.field .opt{letter-spacing:.06em;text-transform:none;color:var(--ink2)}
.field input,.field select,.field textarea{font:inherit;font-size:17px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);padding:10px 0;border-radius:0;width:100%;min-width:0}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:28px}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-bottom-color:var(--accent)}
.field input[type=file]{border-bottom:0;padding:6px 0;font-size:15px}
.field textarea{resize:vertical;min-height:96px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media (max-width:520px){.grid2{grid-template-columns:1fr}}
.radios{display:flex;gap:0;flex-wrap:wrap;border:1px solid var(--ink)}
.radio{flex:1 1 auto;position:relative}
.radio input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.radio span{display:block;padding:12px 16px;font-size:15px;text-align:center;border-right:1px solid var(--ink);cursor:pointer}
.radio:last-child span{border-right:0}
.radio input:checked+span{background:var(--ink);color:var(--paper)}
.radio input:focus-visible+span{outline:1px solid var(--accent);outline-offset:-3px}
.check{display:grid;grid-template-columns:18px 1fr;gap:14px;align-items:start;font-size:14px;color:var(--ink2);max-width:64ch;cursor:pointer}
.check input{appearance:none;width:18px;height:18px;border:1px solid var(--ink);margin:3px 0 0;background:transparent;cursor:pointer}
.check input:checked{background:var(--ink);box-shadow:inset 0 0 0 3px var(--paper)}
.form .btn{align-self:flex-start}
/* legal */
.legal2{display:grid;grid-template-columns:260px 1fr;gap:clamp(32px,6vw,96px);align-items:start}
@media (max-width:900px){.legal2{grid-template-columns:1fr}}
.legalnav{display:flex;flex-direction:column;border-top:1px solid var(--ink);position:sticky;top:110px}
.legalnav a{text-decoration:none;font-size:15px;padding:12px 0;border-bottom:1px solid var(--hair2)}
.legalnav a.on{color:var(--accent)}
@media (max-width:900px){.legalnav{position:static;flex-direction:row;flex-wrap:wrap;gap:0 20px}.legalnav a{border-bottom:0;padding:6px 0}}
.legalbody{max-width:72ch}
.legalbody h1{font-size:clamp(30px,3.6vw,44px);margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--accent)}
.legalbody h2{font-size:22px;font-weight:400;margin:36px 0 10px}
.legalbody h3{font-size:17px;font-weight:500;margin:20px 0 6px}
.legalbody p,.legalbody li{font-size:16px;line-height:1.65}
.legalbody ul{padding-left:20px}
/* footer */
footer.site{display:none;background:var(--foot);color:var(--foot-ink);padding:0 0 56px;margin-top:0}
footer.site.on{display:block}
footer .rule{display:flex;align-items:center;gap:24px;padding:36px 0 32px}
footer .rule::before,footer .rule::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.22)}
footer .rule span{color:var(--foot-ink);display:flex}
footer .cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:14px;line-height:1.6}
@media (max-width:900px){footer .cols{grid-template-columns:1fr;gap:24px}}
footer p{max-width:none;margin:0 0 10px;color:var(--foot-ink2)}
footer a{color:var(--foot-ink);text-decoration-color:rgba(255,255,255,.35)}footer a:hover{color:#fff}
footer .crisis strong{color:var(--foot-ink);font-weight:500}
footer .links a{text-decoration:none;margin-right:6px}
footer .links a::after{content:"•";margin-left:8px;color:var(--foot-ink2)}
footer .links a:last-child::after{content:""}
footer .fine{font-size:13px}
/* cookie */
.cookie{position:fixed;left:clamp(16px,3vw,32px);bottom:calc(env(safe-area-inset-bottom,0px) + clamp(16px,3vw,32px));z-index:40;background:var(--paper);border:1px solid var(--ink);padding:12px 14px;display:flex;gap:16px;align-items:center;font-size:13px;color:var(--ink2);max-width:min(420px,calc(100vw - 32px))}
.cookie button{font-family:Jost,sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:8px 12px;cursor:pointer}
.cookie button:hover{background:transparent;color:var(--ink)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}

/* motion */
.page.on{animation:phase 1.1s cubic-bezier(.16,.84,.3,1) both}
@keyframes phase{from{opacity:0}to{opacity:1}}
footer .rule span svg{transition:transform .6s}
footer .rule span:hover svg{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.page.on{animation:none}}


/* nudge: full-width bar, rounded top corners */
.nudge{position:fixed;left:0;right:0;bottom:0;transform:translateY(110%);z-index:35;height:calc(92px + env(safe-area-inset-bottom,0px));background:#3A2F5C;color:var(--moon);border-radius:140px 140px 0 0;display:flex;gap:20px;align-items:center;justify-content:center;padding:0 64px calc(0px + env(safe-area-inset-bottom,0px)) 20px;transition:transform .45s cubic-bezier(.2,.7,.2,1);font-size:15px;box-shadow:0 -8px 30px rgba(28,24,48,.18)}
.nudge.in{transform:none}
.nudge .btn{background:var(--moon);color:#3A2F5C;border-color:var(--moon);height:44px;width:236px;padding:0 12px;border-radius:0}.nudge .btn:hover{background:transparent;color:var(--moon)}
.nudge a{color:var(--moon);text-decoration-color:var(--lav)}
.nudge span{color:#CFC7E4;white-space:nowrap}
.nudge button{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:0;color:#CFC7E4;font-size:22px;line-height:1;cursor:pointer;padding:6px 10px}
.nudge button:hover{color:var(--moon)}
body:has(.nudge.in) .cookie{bottom:calc(env(safe-area-inset-bottom,0px) + 92px)}
@media (max-width:640px){.nudge{height:auto;flex-direction:column;gap:8px;padding:14px 48px calc(14px + env(safe-area-inset-bottom,0px)) 20px;align-items:flex-start;border-radius:28px 28px 0 0}}
@media (prefers-reduced-motion:reduce){.nudge{transition:none}}
/* closing crescent */
.closing .box{position:relative;overflow:hidden}
.closing .box::before{content:"";position:absolute;right:-6%;top:50%;width:min(46vw,520px);aspect-ratio:1;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(183,169,224,.55),rgba(183,169,224,.12) 70%);pointer-events:none}
.closing .box::after{content:"";position:absolute;right:calc(-6% + min(46vw,520px)*.28);top:50%;width:min(46vw,520px);aspect-ratio:1;transform:translateY(-50%) translateX(-14%);border-radius:50%;background:var(--night);pointer-events:none}
.closing .box>*{position:relative;z-index:1}
@media (max-width:900px){.closing .box::before,.closing .box::after{opacity:.6}}
/* circles for numbers and icons */
.step::before{width:40px;height:40px;border:1px solid var(--ink2);border-radius:50%;display:flex;align-items:center;justify-content:center;letter-spacing:.06em;margin-bottom:18px}
.fact svg{width:20px;height:20px;margin:0}
.fact>svg{box-sizing:content-box;padding:11px;border:1px solid var(--hair);border-radius:50%}
.panel ol li::before,ol.ledger li::before{width:26px;height:26px;border:1px solid var(--hair);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.04em;padding:0}
.panel ol li{grid-template-columns:36px 1fr;align-items:start}
ol.ledger li{grid-template-columns:40px 1fr}

/* hover, shadow, highlight */
.fact,.case,.step,.gate .door,.panel,details{transition:background-color .25s,box-shadow .3s,transform .3s,border-color .25s}
.fact:hover{background:var(--paper2);box-shadow:inset 0 -2px 0 var(--accent)}
.fact:hover>svg{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 6px rgba(74,61,115,.08)}
.fact>svg{transition:border-color .25s,color .25s,box-shadow .3s}
.case{position:relative;padding-inline:14px;margin-inline:-14px}
.case:hover{background:var(--paper2);box-shadow:0 18px 40px -24px rgba(21,16,42,.35)}
.case::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--accent);transition:width .35s}
.case:hover::after{width:100%}
.step:hover::before{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.step::before{transition:background-color .25s,color .25s,border-color .25s}
.step:hover b{color:var(--accent)}.step b{transition:color .25s}
details:hover{background:var(--paper2)}details{padding-inline:12px;margin-inline:-12px}
summary::after{transition:transform .3s}details[open] summary::after{transform:rotate(180deg)}
.btn{box-shadow:0 0 0 0 rgba(74,61,115,0);transition:background .2s,color .2s,box-shadow .3s,transform .2s}
.btn:hover{box-shadow:0 10px 30px -12px rgba(74,61,115,.6)}
.btn:active{transform:translateY(1px)}
.hero .btn:hover,.closing .btn:hover,.nudge .btn:hover{box-shadow:0 0 0 6px rgba(183,169,224,.15),0 10px 30px -10px rgba(183,169,224,.5)}
.gate .door:hover{box-shadow:0 20px 60px -20px rgba(183,169,224,.45);transform:translateY(-2px)}
.gate .door.dark{box-shadow:0 20px 60px -24px rgba(183,169,224,.5)}
header nav a{position:relative;border-bottom:0}
header nav a::after{content:"";position:absolute;left:0;bottom:4px;height:1px;width:0;background:var(--accent);transition:width .3s}
header nav a:hover::after,header nav a.on::after{width:100%}
.hero figure{position:relative}
.hero figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,24,48,0) 55%,rgba(28,24,48,.55));pointer-events:none}
.hero img{transition:transform 1.2s ease}.hero:hover img{transform:scale(1.02)}
.hero::before{animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(-4%,6%)}}
.portrait img{transition:filter .6s}.portrait:hover img{filter:saturate(.8)}
.field input,.field select,.field textarea{transition:border-color .25s,box-shadow .25s}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 1px 0 0 var(--accent)}
.radio span{transition:background-color .2s,color .2s}.radio:hover span{background:var(--paper2)}
.check input{transition:background-color .2s,box-shadow .2s}
footer .links a{transition:color .2s}
@media (prefers-reduced-motion:reduce){.hero::before{animation:none}.hero:hover img{transform:none}.gate .door:hover{transform:none}}
.menu,.lang{transition:color .2s,background-color .2s,border-color .2s,box-shadow .3s}
.menu:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 10px 30px -12px rgba(74,61,115,.6)}
.lang:hover{text-decoration-color:var(--accent)}
body.is-gate .lang:hover{color:var(--lav)}
.nudge button{transition:color .2s,transform .3s}.nudge button:hover{transform:translateY(-50%) rotate(90deg)}
/* hover everywhere else */
a{transition:color .2s,text-decoration-color .2s,text-decoration-thickness .2s}
a:hover{text-decoration-thickness:2px}
ul.spec li,ol.ledger li,ul.plain li,.fees dt,.fees dd,.panel ol li{transition:background-color .25s,color .25s,padding-left .25s}
ul.spec li:hover,ol.ledger li:hover,ul.plain li:hover,.panel ol li:hover{background:var(--paper2);padding-left:10px}
ul.spec li:hover svg{color:var(--accent)}ul.spec svg{transition:color .25s}
ol.ledger li:hover::before,.panel ol li:hover::before{background:var(--ink);color:var(--paper);border-color:var(--ink)}
ol.ledger li::before,.panel ol li::before{transition:background-color .25s,color .25s,border-color .25s}
.fees dt,.fees dd{position:relative}
.fees dt:hover,.fees dt:hover+dd,.fees dd:hover{background:var(--paper2)}
.fees dt:hover{color:var(--accent)}
.panel{transition:border-color .3s}.panel:hover{border-top-color:var(--accent)}
.panel h3{transition:color .25s}.panel:hover h3{color:var(--accent)}
.legalnav a{position:relative;transition:color .2s,padding-left .25s}
.legalnav a:hover{color:var(--accent);padding-left:8px}
.legalnav a::before{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:var(--accent);transition:width .25s}
.legalnav a:hover::before{width:4px}
.legalbody h2{transition:color .25s}.legalbody h2:hover{color:var(--accent)}
footer .links a{position:relative}
footer .links a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--lav)}
footer .rule span{transition:transform .6s,color .3s}footer .rule span:hover{color:var(--lav)}
.done{transition:border-color .3s}.done:hover{border-top-color:var(--accent)}
.closing .box{transition:background-color .4s}.closing .box:hover::before{opacity:1}
.closing .box::before{transition:opacity .6s;opacity:.85}
.pagehead h1{transition:border-color .3s}.pagehead:hover h1{border-bottom-color:var(--ink)}
.eyebrow{transition:color .25s}section:hover .eyebrow{color:var(--accent)}
.cookie{transition:box-shadow .3s}.cookie:hover{box-shadow:0 10px 30px -12px rgba(74,61,115,.5)}
.cookie button{transition:background-color .2s,color .2s}
@media (prefers-reduced-motion:reduce){ul.spec li:hover,ol.ledger li:hover,ul.plain li:hover,.panel ol li:hover,.legalnav a:hover{padding-left:0}}
/* page wrapper must not inherit section padding */
section.page{padding:0;border:0}
/* scroll reveal */
.rv{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity 1.3s cubic-bezier(.16,.84,.3,1),transform 1.3s cubic-bezier(.16,.84,.3,1),filter 1.1s cubic-bezier(.16,.84,.3,1);will-change:opacity,transform,filter}
.rv.in{opacity:1;transform:none;filter:blur(0)}
.hero figure.rv{transform:translateY(28px) scale(1.03)}.hero figure.rv.in{transform:none}
.hero figure{transition:transform 1.8s cubic-bezier(.16,.84,.3,1)}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;filter:none;transition:none}.page.on{animation:none}}
/* faq rows: clearer hover */
details{position:relative}
details::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--accent);transition:width .6s cubic-bezier(.16,.84,.3,1)}
details:hover::before{width:100%}
details:hover{background:var(--paper2)}
summary{transition:color .3s,padding-left .35s}
details:hover summary{color:var(--accent);padding-left:6px}
summary::after{transition:transform .5s cubic-bezier(.16,.84,.3,1),color .3s}
details:hover summary::after{transform:rotate(90deg);color:var(--accent)}
details[open]:hover summary::after{transform:rotate(180deg)}
details p{transition:color .3s}
/* request modal */
.modal{border:0;padding:0;background:transparent;max-width:none;width:100%;height:100%;max-height:none;position:fixed;inset:0;margin:0}
.modal::backdrop{background:rgba(28,24,48,.72);backdrop-filter:blur(3px)}
.modal[open]{display:grid;place-items:center;padding:20px}
.mbox{background:var(--paper);color:var(--ink);width:min(640px,100%);max-height:calc(100vh - 40px);overflow:auto;position:relative;padding:40px clamp(24px,5vw,48px) 44px;border-top:3px solid var(--night);animation:mrise .7s cubic-bezier(.16,.84,.3,1) both}
@keyframes mrise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.mbox .x{position:absolute;right:14px;top:10px;background:none;border:0;font-size:26px;line-height:1;color:var(--ink2);cursor:pointer;padding:8px 10px}
.mbox .x:hover{color:var(--accent)}
.mbox h2{font-size:30px;margin-bottom:6px}
.mbox .note{color:var(--ink2);font-size:15px;margin-bottom:28px}
.choices{display:grid;gap:14px}
.choice{display:flex;flex-direction:column;gap:4px;text-align:left;background:transparent;border:1px solid var(--ink);padding:20px 22px;cursor:pointer;font:inherit;color:var(--ink);transition:background .25s,color .25s,transform .25s,box-shadow .3s}
.choice b{font-family:Jost,sans-serif;font-weight:400;font-size:20px}
.choice span{font-size:15px;color:var(--ink2)}
.choice:hover{background:var(--ink);color:var(--paper);transform:translateY(-1px);box-shadow:0 16px 40px -20px rgba(21,16,42,.5)}
.choice:hover span{color:var(--paper);opacity:.75}
.mstep{display:none}.mstep.on{display:block}
.mstep .form{margin-top:12px;max-width:none}
.mback{background:none;border:0;padding:0;font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);cursor:pointer;margin-bottom:14px}
.mback:hover{color:var(--accent)}
.reqtabs{display:flex;border:1px solid var(--ink);margin:24px 0 20px;max-width:640px}
.reqtabs .tab{flex:1;background:none;border:0;border-right:1px solid var(--ink);padding:14px;font:inherit;font-family:Jost,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);cursor:pointer}
.reqtabs .tab:last-child{border-right:0}.reqtabs .tab.on{background:var(--ink);color:var(--paper)}
.tabpane{display:none}.tabpane.on{display:block}
@media (prefers-reduced-motion:reduce){.mbox{animation:none}}

/* form clarity */
.fgroup{border-bottom:1px solid var(--ink);padding-bottom:8px;margin-top:8px}
.fgroup .cap{color:var(--ink)}
.field label,.field legend{color:var(--ink);font-weight:400}
.field .opt{color:var(--ink2)}
.field input,.field select,.field textarea{background:var(--paper2);padding:12px 12px;border:1px solid var(--hair);border-bottom:1px solid var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{background:var(--field);border-color:var(--accent)}
.mbox{width:min(720px,100%)}
.mbox .form{gap:22px}
.mbox .form .btn{width:100%}
.mbox .orcall{text-align:center;color:var(--ink2);font-size:15px;margin:-6px 0 0}
.mbox h2{font-size:32px}
[hidden]{display:none!important}
.mbox .form .btn{margin-top:14px}
.mbox .orcall{margin:18px 0 0;padding-top:18px;border-top:1px solid var(--hair2)}
