:root{
 /* surfaces */
 --bg-light:#F5F5F7; --bg-white:#FFFFFF; --bg-dark:#1C1D21; --bg-dark-2:#2A2B30;
 /* text */
 --ink:#1D1D1F; --ink-2:#424245; --ink-muted:#6E6E73;
 --ink-on-dark:#F5F5F7; --muted-on-dark:#A1A1A6;
 /* lines */
 --line:rgba(0,0,0,.10); --line-strong:rgba(0,0,0,.16); --line-on-dark:rgba(255,255,255,.14);
 /* brand (sampled) */
 --brand-1:#FF6C30; --brand-2:#FD7886; --brand-3:#FC9AF3; --brand-4:#C98FF7; --brand-5:#7F87F7; --brand-6:#3058ED; --brand-7:#053EE9;
 --brand-gradient:linear-gradient(90deg,#FF6C30 0%,#FD7886 25%,#FC9AF3 50%,#C98FF7 62%,#7F87F7 75%,#3058ED 85%,#053EE9 100%);
 --brand-gradient-text-dark:linear-gradient(90deg,#FF6C30 0%,#FD7886 30%,#FC9AF3 55%,#C98FF7 75%,#7F87F7 100%);
 /* action */
 --action:#3058ED; --action-hover:#2A4FD6; --link-on-dark:#7F87F7;
 --focus:#3058ED; --focus-on-dark:#7F87F7;
 /* status */
 --error:#B42318; --error-on-dark:#FF8A80; --success:#1D7A3A;
 /* elevation */
 --shadow-1:0 1px 2px rgba(0,0,0,.04),0 4px 12px rgba(0,0,0,.06);
 --shadow-2:0 8px 24px rgba(0,0,0,.08),0 24px 48px rgba(0,0,0,.08);
 --backdrop:rgba(0,0,0,.48);
 /* spacing */
 --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-7:32px; --s-8:40px; --s-9:48px; --s-10:64px; --s-11:80px; --s-12:96px; --s-13:120px; --s-14:160px;
 /* radius */
 --r-xl:28px; --r-l:24px; --r-m:20px; --r-s:12px; --r-pill:9999px;
 /* layout */
 --nav-h:48px;
 --wrap:980px; --wrap-wide:1120px; --wrap-read:720px;
 --gutter:16px; --side:24px;
 --section-y:72px; --hero-top:80px; --hero-bottom:72px;
 --header-gap:40px;
}
@media (min-width:735px) and (max-width:1068px){
 :root{
  --nav-h:52px; --gutter:20px; --side:32px;
  --section-y:96px; --hero-top:104px; --hero-bottom:96px; --header-gap:56px;
  --wrap:692px; --wrap-read:640px;
 }
}
@media (min-width:1069px){
 :root{
  --nav-h:52px; --gutter:24px; --side:auto;
  --section-y:120px; --hero-top:120px; --hero-bottom:120px; --header-gap:64px;
  --wrap:980px; --wrap-wide:1120px; --wrap-read:720px;
 }
}

@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-400.woff2") format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/inter-500.woff2") format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-600.woff2") format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/inter-700.woff2") format("woff2")}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;font-size:17px;line-height:25px;letter-spacing:-0.01em;color:var(--ink);background:var(--bg-light);font-feature-settings:"ss01" 0;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--action);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,p{text-wrap:pretty}
h1,h2,h3{text-wrap:balance;margin:0}
p{margin:0}
ul,ol{margin:0;padding:0}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.band-k :focus-visible{outline-color:var(--focus-on-dark)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:0;transform:translateY(-120%);z-index:100;background:var(--bg-white);color:var(--ink);border-radius:var(--r-pill);padding:12px 18px;min-height:44px;text-decoration:none;font-weight:500}
.skip:focus{transform:none}

.wrap{width:min(var(--wrap),calc(100% - 48px));margin-inline:auto}
.wrap-wide{width:min(var(--wrap-wide),calc(100% - 48px));margin-inline:auto}
.wrap-read{width:min(var(--wrap-read),calc(100% - 48px));margin-inline:auto}
@media (min-width:735px) and (max-width:1068px){
 .wrap,.wrap-wide,.wrap-read{width:min(100% - 64px,var(--wrap-wide))}
 .wrap{max-width:692px}
 .wrap-read{max-width:640px}
}
@media (max-width:734px){
 .wrap,.wrap-wide,.wrap-read{width:calc(100% - 48px);max-width:none}
}

.band{padding:var(--section-y) 0}
.band-l{background:var(--bg-light);color:var(--ink)}
.band-w{background:var(--bg-white);color:var(--ink)}
.band-k{background:var(--bg-dark);color:var(--ink-on-dark)}
.band-k a{color:var(--link-on-dark)}
.hero{padding:var(--hero-top) 0 var(--hero-bottom)}
.hero-home{position:relative;overflow:hidden}
.center{text-align:center}
.center .lead,.center .prose{margin-inline:auto}

.eyebrow{font-size:13px;line-height:16px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 8px}
.band-k .eyebrow{color:var(--muted-on-dark)}
h1,.h1{font-size:40px;line-height:44px;font-weight:600;letter-spacing:-0.022em;max-width:100%}
.display{font-size:44px;line-height:48px;font-weight:600;letter-spacing:-0.025em;max-width:100%}
h2,.h2{font-size:32px;line-height:36px;font-weight:600;letter-spacing:-0.02em}
.h2-outcome{font-size:28px;line-height:34px;font-weight:600;letter-spacing:-0.015em}
h3,.h3{font-size:21px;line-height:25px;font-weight:600;letter-spacing:-0.01em}
.lead{font-size:19px;line-height:27px;font-weight:400;letter-spacing:-0.005em;max-width:68ch}
.prose{font-size:17px;line-height:25px;max-width:68ch}
.prose + .prose,.lead + .prose,.prose + .lead{margin-top:16px}
.small{font-size:14px;line-height:20px}
.muted{color:var(--ink-muted)}
.band-k .muted{color:var(--muted-on-dark)}
.legal{font-size:12px;line-height:16px;color:var(--ink-muted)}
.grad{background:var(--brand-gradient-text-dark);-webkit-background-clip:text;background-clip:text;color:transparent}

@media (min-width:735px){
 .eyebrow{font-size:14px;line-height:18px;margin-bottom:12px}
 h1,.h1{font-size:56px;line-height:60px}
 .display{font-size:64px;line-height:68px}
 h2,.h2{font-size:40px;line-height:44px}
 .h2-outcome{font-size:32px;line-height:40px}
 h3,.h3{font-size:24px;line-height:28px}
 .lead{font-size:21px;line-height:29px}
}
@media (min-width:1069px){
 h1,.h1{font-size:64px;line-height:68px;max-width:880px}
 .display{font-size:80px;line-height:84px;max-width:880px}
 h2,.h2{font-size:48px;line-height:52px}
 .h2-outcome{font-size:40px;line-height:48px}
 .center h1,.center .display,.center h2{margin-inline:auto}
}

.head{margin-bottom:var(--header-gap)}
.head .lead,.head .prose{margin-top:16px}
@media (min-width:735px){ .head .lead,.head .prose{margin-top:20px} }

.crumbs{font-size:14px;line-height:20px;color:var(--ink-muted);margin:0 0 16px}
.crumbs a{color:inherit}
.crumbs [aria-current="page"]{color:var(--ink-2);text-decoration:none}
.band-k .crumbs{color:var(--muted-on-dark)}
.band-k .crumbs [aria-current="page"]{color:var(--ink-on-dark)}

.cta-row{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.cta-row .pill{width:100%}
@media (min-width:735px){
 .cta-row{flex-direction:row;flex-wrap:wrap;gap:16px;margin-top:32px}
 .cta-row .pill{width:auto}
 .hero .cta-row{margin-top:32px}
}
@media (min-width:1069px){ .hero .cta-row{margin-top:40px} }
.text-links{display:flex;flex-direction:column;gap:12px;margin-top:16px}
@media (min-width:735px){ .text-links{flex-direction:row;gap:32px} }

.pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:var(--r-pill);font-size:17px;line-height:20px;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;position:relative}
.pill-s{min-height:36px;padding:0 16px;font-size:14px;line-height:18px}
.pill-s::after{content:"";position:absolute;inset:-6px}
.pill-primary{background:var(--action);color:var(--bg-white)}
.pill-primary:hover{background:var(--action-hover);color:var(--bg-white)}
.band-k .pill-primary{background:var(--bg-light);color:var(--ink)}
.band-k .pill-primary:hover{background:var(--bg-white)}
.band-k .pill-secondary{color:var(--ink-on-dark)}
.center .text-links{align-items:center}
@media (max-width:734px){
 .hero,.hero .head,.hero .center{text-align:left}
 .hero .text-links{align-items:flex-start}
 .hero .display,.hero h1{margin-inline:0}
}
.pill-secondary{background:transparent;color:inherit;border-color:currentColor}
.pill-secondary:hover{background:rgba(255,255,255,.06)}
.band-l .pill-secondary:hover,.band-w .pill-secondary:hover{background:rgba(0,0,0,.04)}
.nav-pill{min-height:32px;padding:0 16px;font-size:14px;line-height:18px;background:var(--action);color:var(--bg-white);text-decoration:none}
.nav-pill:hover{background:var(--action-hover);color:var(--bg-white)}

.grid{display:grid;gap:16px}
.cols-3,.cols-2,.cols-4,.cols-5{grid-template-columns:1fr}
@media (min-width:735px){
 .cols-2,.cols-3,.cols-4{grid-template-columns:1fr 1fr;gap:20px}
}
@media (min-width:1069px){
 .cols-2{grid-template-columns:1fr 1fr;gap:24px}
 .cols-3{grid-template-columns:repeat(3,1fr)}
 .cols-4{grid-template-columns:repeat(4,1fr)}
 .cols-5{grid-template-columns:repeat(5,1fr);gap:24px}
 .span-2{grid-column:span 2}
}
.feature-rows{display:grid;gap:32px}
@media (min-width:1069px){ .feature-rows{grid-template-columns:repeat(3,1fr);gap:40px} }
.feature{display:grid;grid-template-columns:32px 1fr;gap:16px;align-items:start}
@media (min-width:735px){ .feature{grid-template-columns:40px 1fr;gap:16px} }
.feature h3{margin-bottom:8px}
.icon{width:32px;height:32px}
@media (min-width:735px){ .icon{width:40px;height:40px} }
.icon-lg{width:48px;height:48px}

.tile{background:var(--bg-white);border-radius:20px;padding:28px;box-shadow:var(--shadow-1);position:relative;overflow:hidden}
.band-k .tile{background:var(--bg-dark-2);box-shadow:none}
.tile-rule::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--brand-gradient)}
.tile h3{margin-bottom:8px}
.tile p + p,.tile .small{margin-top:12px}
a.tile{display:block;color:inherit;text-decoration:none;min-height:auto}
a.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
@media (min-width:735px){ .tile{border-radius:24px;padding:32px} a.tile{min-height:320px} }
@media (min-width:1069px){ .tile{border-radius:28px;padding:40px} a.work{min-height:360px} }
.tile-pad-s{padding:28px}
.stat{padding:24px;background:var(--bg-white);border-radius:20px;position:relative;overflow:hidden}
.band-k .stat{background:var(--bg-dark-2)}
.stat::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--brand-gradient)}
.stat b{display:block;font-size:40px;line-height:40px;font-weight:600;letter-spacing:-0.02em;margin-bottom:8px}
@media (min-width:735px){ .stat{padding:28px;border-radius:24px} .stat b{font-size:48px;line-height:48px} }
@media (min-width:1069px){ .stat{padding:32px;border-radius:28px} .stat b{font-size:56px;line-height:56px} }
@media (max-width:359px){ .cols-stats{grid-template-columns:1fr} }

.items{display:grid;gap:24px}
.item{border-top:1px solid var(--line);padding-top:24px}
.band-k .item{border-top-color:var(--line-on-dark)}
.item h3{font-size:21px;line-height:25px;margin-bottom:8px}
.item p{color:var(--ink-muted)}
.band-k .item p{color:var(--muted-on-dark)}
@media (min-width:735px){ .items{grid-template-columns:1fr 1fr;gap:32px} }
@media (min-width:1069px){ .items.cols-3{grid-template-columns:repeat(3,1fr);gap:40px} }

.pills{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;min-height:30px;padding:0 14px;border-radius:var(--r-pill);background:rgba(0,0,0,.05);font-size:14px;line-height:18px;font-weight:500}
.band-k .tag{background:rgba(255,255,255,.08)}
@media (min-width:735px){ .tag{min-height:32px} }
.stack-row{padding:20px 0;border-top:1px solid var(--line)}
.stack-row h3{font-size:17px;line-height:25px;margin-bottom:12px}
@media (min-width:1069px){
 .stack-row{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}
 .stack-row h3{margin:6px 0 0}
}

.steps{display:grid;gap:24px}
.step{display:grid;grid-template-columns:32px 1fr;gap:16px}
.badge{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:600;background:var(--bg-dark);color:var(--bg-white);box-shadow:0 0 0 2px transparent;background-image:var(--brand-gradient);position:relative}
.badge span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--bg-white);color:var(--ink)}
.band-k .badge span{background:var(--bg-dark);color:var(--ink-on-dark)}
@media (min-width:735px){ .steps{grid-template-columns:1fr 1fr} }
@media (min-width:1069px){
 .steps{grid-template-columns:repeat(4,1fr);position:relative}
 .steps::before{content:"";position:absolute;top:16px;left:16px;right:16px;height:2px;background:var(--brand-gradient);z-index:0}
 .step{position:relative;z-index:1;display:block}
 .step .badge{margin-bottom:16px}
}

.table-wrap{overflow-x:auto}
table.compare{width:100%;border-collapse:collapse;min-width:640px}
.compare th,.compare td{text-align:left;vertical-align:top;padding:20px 16px;border-bottom:1px solid var(--line);font-weight:400}
.compare th{font-size:21px;line-height:25px;font-weight:600}
.compare th:first-child,.compare td:first-child{width:140px;font-weight:600;font-size:14px}
@media (min-width:1069px){ .compare th,.compare td{padding:24px} .compare th:first-child,.compare td:first-child{width:160px} }
.model-cards{display:none}
@media (max-width:734px){
 .table-wrap{display:none}
 .model-cards{display:grid;gap:16px}
}

.visual{margin-top:40px;border-radius:20px;overflow:hidden}
.visual svg{width:100%;height:auto;display:block}
@media (min-width:735px){ .visual{margin-top:56px;border-radius:24px} }
@media (min-width:1069px){ .visual{margin-top:64px;border-radius:28px} }
.hero-glow{position:absolute;inset:auto 10% 20% 10%;height:280px;background:radial-gradient(closest-side,rgba(252,154,243,.35),transparent 70%);pointer-events:none;z-index:0}
.hero-home .wrap{position:relative;z-index:1}

.chapter{display:grid;gap:24px}
@media (min-width:1069px){ .chapter{grid-template-columns:360px 1fr;gap:48px;align-items:start} }

.founder{display:grid;gap:24px}
.founder img{width:160px;height:160px;border-radius:24px;object-fit:cover}
.founder-title{color:var(--muted-on-dark);margin:8px 0 16px}
@media (min-width:735px){
 .founder{grid-template-columns:200px 1fr;gap:48px;align-items:start}
 .founder img{width:200px;height:200px}
}
.facts{margin:0}
.fact{padding:16px 0;border-top:1px solid var(--line)}
.fact dt{font-size:14px;line-height:20px;font-weight:600;color:var(--ink-muted)}
.fact dd{margin:4px 0 0;font-size:17px;line-height:25px}
@media (min-width:735px){
 .fact{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:baseline}
 .fact dd{margin:0}
}

.legal-prose h2{font-size:21px;line-height:26px;margin:48px 0 12px}
.legal-prose p,.legal-prose li{font-size:17px;line-height:26px}
.legal-prose p + p,.legal-prose ul,.legal-prose ol{margin-top:16px}
.legal-prose li + li{margin-top:8px}
.legal-prose ul,.legal-prose ol{padding-left:1.2em}
@media (min-width:735px){ .legal-prose h2{font-size:24px;line-height:30px} }
@media (min-width:1069px){ .legal-prose h2{font-size:28px;line-height:34px} .legal-prose p,.legal-prose li{font-size:19px;line-height:30px} }

.contact-grid{display:grid;gap:48px}
@media (min-width:1069px){ .contact-grid{grid-template-columns:5fr 7fr;gap:64px;align-items:start} }
@media (max-width:1068px){ .contact-grid .form-col{order:-1} }

.form{max-width:640px}
.form-narrow{max-width:520px;margin-inline:auto}
.fields{display:grid;gap:20px}
.pair{display:grid;gap:20px}
@media (min-width:735px){ .pair{grid-template-columns:1fr 1fr;gap:16px} }
label,.legend{display:block;font-size:14px;line-height:20px;font-weight:600;margin-bottom:8px}
.legend{padding:0}
fieldset{border:0;margin:0;padding:0}
input,select,textarea{width:100%;min-height:48px;padding:0 16px;border-radius:12px;border:1px solid var(--line-strong);background:var(--bg-white);color:var(--ink)}
textarea{min-height:160px;padding:12px 16px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--action);outline:2px solid var(--focus);outline-offset:2px}
.radios,.checks{display:grid;gap:12px}
.choice{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:20px;font-weight:400}
.choice input{width:20px;height:20px;min-height:20px;margin-top:0}
.err{display:none;color:var(--error);font-size:14px;line-height:20px;margin-top:6px}
.invalid .err{display:block}
.invalid input,.invalid select,.invalid textarea{border-color:var(--error)}
.counter{font-size:14px;color:var(--ink-muted);text-align:right;margin-top:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{margin-top:16px}
.alert{margin-top:16px;padding:20px 24px;border-radius:20px;background:var(--bg-white)}
.alert[hidden]{display:none}
.turnstile{min-height:0;margin-top:4px}

.nav{position:sticky;top:0;z-index:50;height:var(--nav-h);background:rgba(245,245,247,.92);border-bottom:1px solid transparent}
.nav.scrolled{border-bottom-color:var(--line)}
.nav.scrolled.home{border-bottom:0;box-shadow:inset 0 -1px 0 transparent}
.nav.scrolled.home::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brand-gradient)}
@supports (backdrop-filter:blur(20px)){
 .nav{background:rgba(245,245,247,.80);backdrop-filter:saturate(180%) blur(20px)}
}
.nav-inner{height:100%;width:min(1120px,calc(100% - 32px));margin-inline:auto;display:flex;align-items:center;gap:16px}
@media (min-width:735px){ .nav-inner{width:min(1120px,calc(100% - 64px))} }
.logo{display:flex;align-items:center;padding:13px;margin:-13px}
.logo img{height:24px;width:84px}
.logo-d{display:none}
@media (min-width:1069px){
 .logo-s{display:none}
 .logo-d{display:inline}
 .logo img{height:26px;width:92px}
}
.nav-links{display:none;align-items:center;gap:28px;margin-left:12px}
.nav-links a,.nav-links button.linkish{color:var(--ink);text-decoration:none;font-size:14px;line-height:20px;font-weight:500;background:none;border:0;padding:0;cursor:pointer}
.nav-end{margin-left:auto;display:flex;align-items:center;gap:16px}
.nav-contact{display:none;color:var(--ink);text-decoration:none;font-size:14px;font-weight:500}
.menu-btn{width:44px;height:44px;border:0;background:transparent;border-radius:12px;cursor:pointer}
@media (min-width:1069px){
 .nav-links,.nav-contact{display:flex}
 .menu-btn{display:none}
 .nav-pill-bar{display:inline-flex}
}
@media (min-width:735px) and (max-width:1068px){ .nav-pill-bar{display:inline-flex} }
@media (max-width:734px){ .nav-pill-bar{display:none} }
.disclosure{position:relative}
.menu-panel{position:absolute;top:calc(100% + 8px);left:0;width:280px;background:var(--bg-white);border-radius:20px;padding:12px;box-shadow:var(--shadow-2);display:none}
.disclosure.open .menu-panel{display:block}
.menu-panel a{display:flex;align-items:center;height:40px;padding:0 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:15px;font-weight:500}
.menu-panel a:hover{background:var(--bg-light)}

.sheet{position:fixed;inset:var(--nav-h) 0 0 0;background:rgba(245,245,247,.96);z-index:40;padding:8px 0 24px;overflow:auto;display:none}
.sheet.open{display:block}
@supports (backdrop-filter:blur(20px)){ .sheet{background:rgba(245,245,247,.88);backdrop-filter:saturate(180%) blur(20px)} }
.sheet a,.sheet span.group{display:flex;align-items:center;min-height:48px;padding:0 24px;color:var(--ink);text-decoration:none;font-size:20px;line-height:28px;font-weight:600}
.sheet a.sub{font-size:17px;font-weight:400;padding-left:40px;min-height:44px}
.sheet .sheet-cta{padding:24px}
.sheet .sheet-cta .pill{width:100%}

.footer{background:var(--bg-light);border-top:1px solid var(--line);padding:48px 0 32px;color:var(--ink)}
.footer a{color:var(--ink-2);text-decoration:none}
.footer a:hover{color:var(--action)}
.foot-grid{display:grid;gap:32px}
.foot-brand p{margin-top:12px;max-width:36ch}
.foot-col h2{font-size:12px;line-height:16px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:12px}
.foot-col a{display:block;font-size:14px;line-height:20px;margin-top:8px}
.foot-bottom{border-top:1px solid var(--line);margin-top:32px;padding-top:24px;display:grid;gap:8px}
@media (min-width:735px){
 .footer{padding:56px 0 32px}
 .foot-grid{grid-template-columns:1fr 1fr}
 .foot-brand{grid-column:1 / -1}
}
@media (min-width:1069px){
 .footer{padding:64px 0 40px}
 .foot-grid{grid-template-columns:320px repeat(4,1fr)}
 .foot-brand{grid-column:auto}
 .foot-bottom{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline}
}

.page-404{min-height:calc(100dvh - 52px);display:flex;align-items:center}
dialog.modal{border:0;padding:0;background:transparent;max-width:none}
dialog.modal::backdrop{background:var(--backdrop)}
.modal-card{width:min(520px,100%);background:var(--bg-white);color:var(--ink);border-radius:20px;padding:40px;box-shadow:var(--shadow-2);position:relative}
.modal-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:transparent;border-radius:12px;cursor:pointer;font-size:22px}
@media (max-width:734px){
 dialog.modal{margin:auto 0 0;width:100%;max-width:100%}
 .modal-card{width:100%;border-radius:20px 20px 0 0;padding:24px;max-height:90dvh;overflow:auto}
}

.reveal{opacity:0;transform:translateY(24px);animation:rise .6s cubic-bezier(.16,1,.3,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .reveal{opacity:1;transform:none;animation:none}
 a.tile:hover,.tile:hover{transform:none}
 *{transition:none !important}
}
