@font-face{font-family:"Geist Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/geist-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Geist Sans";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/geist-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Geist Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/geist-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/geist-mono-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/geist-mono-latin-500-normal.woff2") format("woff2")}
:root{
  --paper:#F4F6FB; --paper-2:#E9EDF7; --card:#FFFFFF;
  --ink:#0B1230; --ink-2:#4A5372; --ink-3:#7C84A0;
  --line:#D5DBEA; --line-soft:#E3E7F2;
  --petrol:#0B1230; --petrol-deep:#070B20; --petrol-line:#212C5A;
  --teal:#3D5AFE; --teal-ink:#2E47D6; --teal-light:#9AA8FF;
  --on-dark:#E8ECFA; --on-dark-2:#9AA3C4;
  --ph-bg:#FFF1C7; --ph-ink:#6B5100;
  --serif:"Geist Sans","Helvetica Neue",Arial,sans-serif;
  --sans:"Geist Sans","Helvetica Neue",Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --wrap:1200px; --gutter:clamp(16px,4vw,40px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --paper:#080D22; --paper-2:#0E1532; --card:#0C1330;
    --ink:#E6EAF8; --ink-2:#A3ABCB; --ink-3:#7880A3;
    --line:#252F5C; --line-soft:#1A2248;
    --petrol:#0E1740; --petrol-deep:#060A1C; --petrol-line:#28336A;
    --teal:#5C75FF; --teal-ink:#8E9DFF;
    --ph-bg:#4A3B08; --ph-ink:#FFE08A;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#080D22; --paper-2:#0E1532; --card:#0C1330;
    --ink:#E6EAF8; --ink-2:#A3ABCB; --ink-3:#7880A3;
    --line:#252F5C; --line-soft:#1A2248;
    --petrol:#0E1740; --petrol-deep:#060A1C; --petrol-line:#28336A;
    --teal:#5C75FF; --teal-ink:#8E9DFF;
    --ph-bg:#4A3B08; --ph-ink:#FFE08A;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-ink);font-weight:500}
h1,h2,h3{font-family:var(--serif);font-weight:500;text-wrap:balance;margin:0;letter-spacing:-.03em}
h2{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.12}
h3{font-size:1.35rem;line-height:1.25}
p{margin:0}
.lead{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.6;color:var(--ink-2);max-width:62ch}
/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--petrol-deep);border-bottom:1px solid var(--petrol-line);color:var(--on-dark)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px}
.brand{display:inline-flex;align-items:center;text-decoration:none}.logo{display:block;width:auto}.foot-brand{display:inline-flex;align-items:center;gap:18px;flex-wrap:wrap}
.brand b{font-family:var(--sans);font-weight:700;font-size:21px;letter-spacing:.06em}
.brand i{font-style:normal;font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.14em;color:var(--teal-light)}
.nav{display:flex;align-items:center;gap:28px}
.nav a{font-size:14px;text-decoration:none;color:var(--on-dark-2);transition:color .15s}
.nav a:hover{color:#fff}
.lang{display:inline-flex;border:1px solid var(--petrol-line);border-radius:2px;overflow:hidden}

@media (max-width:820px){.nav a{display:none}}
/* hero */
.hero{background:var(--petrol);color:var(--on-dark);position:relative;overflow:hidden;border-bottom:1px solid var(--petrol-line)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--petrol-line) 1px,transparent 1px),linear-gradient(90deg,var(--petrol-line) 1px,transparent 1px);background-size:56px 56px;opacity:.35;mask-image:linear-gradient(100deg,transparent 30%,#000 75%);-webkit-mask-image:linear-gradient(100deg,transparent 30%,#000 75%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center;padding-block:clamp(56px,8vw,104px)}
.hero .label{color:var(--teal-light)}
.hero h1{font-size:clamp(2.4rem,5.2vw,4.3rem);line-height:1.04;color:#fff;margin-top:18px}
.hero h1 em{font-style:normal;color:var(--teal-light)}
.hero .lead{color:var(--on-dark-2);margin-top:24px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500;text-decoration:none;padding:13px 20px;border-radius:2px;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;cursor:pointer;font-family:var(--sans)}
.btn.primary{background:var(--teal);color:#fff}
.btn.primary:hover{background:#2E47D6}
.btn.ghost{border-color:var(--petrol-line);color:var(--on-dark)}
.btn.ghost:hover{border-color:var(--teal-light)}
.btn svg{width:14px;height:14px}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}
/* ledger */
.ledger{background:var(--petrol-deep);border:1px solid var(--petrol-line);font-family:var(--mono);font-size:12.5px;color:var(--on-dark);box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.ledger-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--petrol-line);color:var(--on-dark-2);letter-spacing:.06em;text-transform:uppercase;font-size:11px}
.ledger-head .live{display:inline-flex;align-items:center;gap:8px;color:var(--teal-light)}
.ledger-head .live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal-light);box-shadow:0 0 0 0 rgba(154,168,255,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(154,168,255,.55)}70%{box-shadow:0 0 0 8px rgba(154,168,255,0)}100%{box-shadow:0 0 0 0 rgba(154,168,255,0)}}
.ledger-cols,.lrow{display:grid;grid-template-columns:96px 1fr 66px;gap:14px;padding:10px 16px;align-items:start}
.ledger-cols{color:var(--on-dark-2);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--petrol-line)}
.ledger-cols span:last-child,.lrow .t{text-align:right}
.lrows{min-height:calc(6 * 62px)}
.lrow{border-bottom:1px solid rgba(33,44,90,.85);line-height:1.45;transition:background .6s}
.lrow .d{color:var(--teal-light)}
.lrow .x{color:var(--on-dark)}
.lrow .x small{display:block;color:var(--on-dark-2);font-size:11px;margin-top:2px}
.lrow .t{font-variant-numeric:tabular-nums;color:var(--on-dark)}
.lrow.new{background:rgba(61,90,254,.2)}
.lrow .bar{height:2px;background:var(--petrol-line);margin-top:8px;position:relative;overflow:hidden}
.lrow .bar i{position:absolute;inset:0;background:var(--teal-light);transform-origin:left;transform:scaleX(1)}
.lrow.running .bar i{animation:fill 1.4s ease-out forwards}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.lrow.enter{animation:slide .5s ease-out}
@keyframes slide{from{opacity:.2;transform:translateY(-8px)}to{opacity:1;transform:none}}
.ledger-foot{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;color:var(--on-dark-2);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:480px){.ledger-cols,.lrow{grid-template-columns:1fr 58px;gap:4px 10px;padding-inline:12px}.lrow .d{grid-column:1}.lrow .t{grid-column:2;grid-row:1}.lrow .x{grid-column:1 / -1}.ledger-cols span:nth-child(2){display:none}}
@media (prefers-reduced-motion: reduce){.lrow.enter,.lrow.running .bar i,.ledger-head .live::before{animation:none}}
/* sections */
section.block{padding-block:clamp(64px,9vw,120px);border-bottom:1px solid var(--line-soft)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.sec-head h2{margin-top:14px}
@media (max-width:860px){.sec-head{grid-template-columns:1fr;align-items:start}}
/* thesis */
.thesis{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}
.thesis .body{display:grid;gap:20px;font-size:1.08rem;color:var(--ink-2);max-width:64ch}
.thesis .body p:first-child{font-family:var(--serif);font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.4;color:var(--ink)}
.facts{border-top:2px solid var(--ink);align-self:start}
.facts div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.facts dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.facts dd{margin:0;font-size:15px;color:var(--ink)}
@media (max-width:860px){.thesis{grid-template-columns:1fr}}
@media (max-width:420px){.facts div{grid-template-columns:1fr;gap:4px}}
/* effects */
.effects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.effect{padding:28px 28px 32px 0;display:grid;gap:14px;align-content:start}
.effect + .effect{padding-left:28px;border-left:1px solid var(--line)}
.effect .glyph{width:44px;height:44px;color:var(--teal)}
.effect h3{font-size:1.7rem}
.effect p{color:var(--ink-2);font-size:15.5px}
.more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:40px;background:var(--paper-2);border:1px solid var(--line-soft)}
.more div{padding:22px 24px;display:grid;gap:6px;align-content:start}
.more div + div{border-left:1px solid var(--line)}
.more b{font-weight:600;font-size:15px}
.more span{font-size:14.5px;color:var(--ink-2)}
@media (max-width:860px){.effects,.more{grid-template-columns:1fr}.effect,.effect + .effect{padding:24px 0;border-left:0;border-top:1px solid var(--line)}.effects .effect:first-child{border-top:0}.more div + div{border-left:0;border-top:1px solid var(--line)}}
/* domains */
.domains{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.dom{padding:26px 24px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-rows:auto auto 1fr;gap:12px;background:var(--card);transition:background .2s}
.dom:hover{background:var(--paper-2)}
.dom .code{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3)}
.dom h3{font-size:1.3rem}
.dom ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:8px}
.dom li{font-size:14.5px;color:var(--ink-2);padding-left:16px;position:relative;line-height:1.45}
.dom li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:1px;background:var(--teal)}
.dom.next{background:var(--petrol);color:var(--on-dark)}
.dom.next:hover{background:var(--petrol)}
.dom.next .code{color:var(--teal-light)}
.dom.next p{font-size:14.5px;color:var(--on-dark-2)}
@media (max-width:1020px){.domains{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.domains{grid-template-columns:1fr}}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px);counter-reset:s}
.step{display:grid;gap:12px;align-content:start;padding-top:22px;border-top:1px solid var(--line);position:relative}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--mono);font-size:13px;color:var(--teal-ink);letter-spacing:.06em}
.step::after{content:"";position:absolute;top:-1px;left:0;width:48px;height:3px;background:var(--teal)}
.step p{color:var(--ink-2);font-size:15.5px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
/* compare table */
.tbl-wrap{overflow-x:auto;margin-top:clamp(48px,6vw,72px);border:1px solid var(--line);background:var(--card)}
table.cmp{width:100%;border-collapse:collapse;min-width:620px;font-size:15px}
.cmp caption{text-align:left;padding:16px 20px;font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line)}
.cmp th{font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;text-align:center;padding:12px 20px;background:var(--petrol);color:var(--on-dark)}
.cmp th.lev{background:var(--teal);color:#fff}
.cmp td{padding:14px 20px;border-top:1px solid var(--line-soft);vertical-align:top;text-align:left;color:var(--ink-2)}
.cmp td:first-child{color:var(--ink);font-weight:500;width:24%}
.cmp td.lev{color:var(--ink);background:color-mix(in srgb,var(--teal) 7%,transparent)}
/* team */
.team{background:var(--paper-2)}
.team-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(32px,6vw,96px)}
.team-grid .body{display:grid;gap:18px;color:var(--ink-2);font-size:1.05rem;max-width:62ch}
.team-grid .body p:first-child{color:var(--ink)}
.disc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.disc div{padding:22px 22px 24px 0;display:grid;gap:8px;align-content:start;border-bottom:1px solid var(--line)}
.disc div:nth-child(even){padding-left:22px;border-left:1px solid var(--line)}
.disc b{font-family:var(--serif);font-weight:500;font-size:1.25rem}
.disc span{font-size:14.5px;color:var(--ink-2)}
@media (max-width:860px){.team-grid{grid-template-columns:1fr}}
@media (max-width:520px){.disc{grid-template-columns:1fr}.disc div:nth-child(even){padding-left:0;border-left:0}}
/* contact */
.contact{background:var(--petrol);color:var(--on-dark);border-bottom:0}
.contact .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:end}
.contact h2{color:#fff;margin-top:14px}
.contact .label{color:var(--teal-light)}
.contact .lead{color:var(--on-dark-2);margin-top:20px}
.card-mail{border:1px solid var(--petrol-line);background:var(--petrol-deep);padding:24px;display:grid;gap:14px}
.card-mail .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.card-mail .addr{font-family:var(--mono);font-size:16px;color:#fff;user-select:all;word-break:break-all}
.card-mail small{color:var(--on-dark-2);font-size:13px}
.copy{all:unset;cursor:pointer;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--petrol-line);color:var(--on-dark)}
.copy:hover{border-color:var(--teal-light)}
.copy:focus-visible{outline:2px solid var(--teal-light)}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr}}
/* footer */
footer{background:var(--petrol-deep);color:var(--on-dark-2);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-block:28px}
footer nav{display:flex;flex-wrap:wrap;gap:24px}
footer a{text-decoration:none;color:var(--on-dark-2)}
footer a:hover{color:#fff}
/* legal */
.legal{padding-block:clamp(48px,7vw,96px)}
.legal .wrap{max-width:860px}
.legal h1{font-size:clamp(2.2rem,4vw,3.2rem);margin:12px 0 8px}
.legal .meta{color:var(--ink-3);font-size:14px;margin-bottom:40px}
.legal h2{font-size:1.45rem;margin:40px 0 12px;padding-top:24px;border-top:1px solid var(--line)}
.legal h3{font-family:var(--sans);font-weight:600;font-size:1rem;margin:22px 0 6px}
.legal p,.legal li{color:var(--ink-2);font-size:16px;line-height:1.65}
.legal p + p{margin-top:12px}
.legal ul{padding-left:20px;margin:8px 0}
.legal address{font-style:normal;color:var(--ink);line-height:1.7}
.legal dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:10px 24px;margin:0}
.legal dt{color:var(--ink-3);font-size:14.5px}
.legal dd{margin:0;color:var(--ink)}
@media (max-width:520px){.legal dl{grid-template-columns:1fr;gap:2px}.legal dd{margin-bottom:10px}}
.ph{background:var(--ph-bg);color:var(--ph-ink);padding:0 4px;border-radius:2px;font-family:var(--mono);font-size:.88em}
.back{display:inline-flex;align-items:center;gap:8px;font-size:14px;text-decoration:none;color:var(--teal-ink)}
.note{margin-top:28px;padding:14px 16px;border-left:3px solid var(--teal);background:var(--paper-2);font-size:14.5px;color:var(--ink-2)}
h1,h2{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
@media (max-width:480px){.hero h1{font-size:2.05rem}}
/* hero keywords */
.kw{border-left:1px solid var(--petrol-line);padding-left:clamp(24px,4vw,56px)}
.kw-label{font-family:var(--mono);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--on-dark-2);margin-bottom:18px}
.kw ul{list-style:none;margin:0;padding:0}
.kw li{display:flex;align-items:center;gap:18px;padding:18px 0;border-top:1px solid var(--petrol-line);font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:500;letter-spacing:-.03em;color:#fff;line-height:1.1}
.kw li:last-child{border-bottom:1px solid var(--petrol-line)}
.kw li i{flex:none;width:10px;height:26px;background:var(--teal-light);transform:skewX(-24deg)}
@media (max-width:900px){.kw{border-left:0;padding-left:0}}
.steps.steps-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.steps.steps-3{grid-template-columns:1fr}}
/* areas */
.areas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.areas li{padding:26px 20px 26px 0;border-bottom:1px solid var(--line);font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:500;letter-spacing:-.02em;display:flex;align-items:center;gap:14px}
.areas li::before{content:"";flex:none;width:7px;height:18px;background:var(--teal);transform:skewX(-24deg)}
.areas li.more-areas{color:var(--ink-3)}
.areas li.more-areas::before{background:var(--line)}
@media (max-width:900px){.areas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.areas{grid-template-columns:1fr}}
.disc b{font-family:var(--sans);font-weight:500;font-size:clamp(1.15rem,1.8vw,1.4rem);letter-spacing:-.02em;display:flex;align-items:center;gap:14px}
.disc b span{font-size:inherit;color:var(--ink)}
.disc b::before{content:"";flex:none;width:7px;height:18px;background:var(--teal);transform:skewX(-24deg)}
.disc div{padding-block:28px;align-content:center}
/* language switch (static links) */
.lang a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;padding:5px 9px;color:var(--on-dark-2);text-decoration:none;display:inline-block}
.lang a[aria-current="true"]{background:var(--teal);color:#fff}
.lang a:hover{color:#fff}
/* utilities replacing former inline styles */
.mt-10{margin-top:10px}.mt-14{margin-top:14px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}
img,svg{max-width:100%}
.mail-link{color:inherit;text-decoration:none}
.mail-link:hover{text-decoration:underline}
.notfound{padding-block:clamp(80px,14vw,160px)}
.notfound h1{font-size:clamp(2.4rem,5vw,3.6rem);margin:14px 0 18px}
.skip{position:absolute;left:-9999px;top:0;z-index:50;background:var(--teal);color:#fff;padding:10px 14px;font-size:14px}
.skip:focus{left:16px;top:16px}
