/* FONTFACE:BEGIN generated by build_fonts.py - do not hand-edit */
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/golos-text-600-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/golos-text-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/golos-text-700-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/golos-text-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/golos-text-800-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/golos-text-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/inter-300-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/inter-300-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* FONTFACE:END */
:root{
  --bg:#08080A; --bg-2:#0F0F12; --line:#1E1E24; --line-2:#2A2A31;
  --fg:#F2F2F4; --fg-2:#9B9BA5; --fg-3:#6A6A75;
  --accent:#E8A33D; --accent-dim:rgba(232,163,61,.12);
  --display:'Golos Text',-apple-system,'Segoe UI',Roboto,sans-serif;
  --body:'Inter','Golos Text',-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono','SF Mono',Menlo,Consolas,monospace;
  --w:1216px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--w);margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.05}
a{color:inherit;text-decoration:none}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-3);display:block;margin-bottom:26px}
.eyebrow b{color:var(--accent);font-weight:400}
.mono{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3)}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#0A0A0A;font-family:var(--display);font-weight:600;font-size:15px;padding:13px 24px;border-radius:2px;border:1px solid var(--accent);transition:transform .18s ease,box-shadow .18s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(232,163,61,.55)}
.btn-ghost{background:transparent;color:var(--fg);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--accent);box-shadow:none}
section{padding:120px 0;position:relative}
.band{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.h2{font-size:clamp(34px,4.8vw,58px);max-width:18ch}
.lead{color:var(--fg-2);font-size:18px;font-weight:300;margin-top:18px;max-width:52ch}

/* nav */
nav{position:sticky;top:0;z-index:100;background:rgba(8,8,10,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.logo{font-family:var(--mono);font-size:14px;letter-spacing:.22em;display:flex;align-items:center;gap:12px}
.logo i{width:18px;height:18px;border:1.5px solid var(--accent);border-radius:50%;display:inline-block;position:relative}
.logo i::after{content:'';position:absolute;inset:4px;background:var(--accent);border-radius:50%}
nav .links{display:flex;gap:30px;font-size:14.5px;color:var(--fg-2)}
nav .links a:hover{color:var(--fg)}
@media(max-width:900px){nav .links{display:none}}
.navr{display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1px solid var(--line-2);font-family:var(--mono);font-size:12px;letter-spacing:.12em}
.lang a{padding:8px 11px;color:var(--fg-3);transition:color .15s}
.lang a:hover{color:var(--fg)}
.lang a[aria-current]{color:var(--fg);background:var(--line-2)}
@media(max-width:480px){nav .wrap{padding:0 18px}.logo{font-size:12px;letter-spacing:.14em;gap:8px}.navr{gap:8px}.lang a{padding:7px 8px}nav .btn{padding:10px 13px;font-size:14px}}

/* hero */
.hero{padding:150px 0 110px;overflow:hidden;position:relative}
.hero::after{content:'';position:absolute;top:-360px;right:-200px;width:1000px;height:900px;background:radial-gradient(ellipse at center,rgba(232,163,61,.10),transparent 62%);pointer-events:none}
.glyphs{position:absolute;inset:0;pointer-events:none;font-family:var(--mono);font-size:12px;color:#3A3A43}
.glyphs span{position:absolute}
.glyphs .ln{width:1px;background:linear-gradient(transparent,#2A2A31,transparent)}
.hero .wrap{position:relative;z-index:2}
.hero h1{font-size:clamp(40px,6.6vw,88px);max-width:16.5ch;letter-spacing:-.035em;line-height:1.02;margin-bottom:34px}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{font-size:clamp(17px,2vw,19px);color:var(--fg-2);max-width:50ch;margin-bottom:44px;font-weight:300}
.cta{display:flex;gap:12px;flex-wrap:wrap}

/* stats */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:34px 28px 30px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat .n{font-family:var(--mono);font-size:clamp(28px,3.4vw,40px);letter-spacing:-.02em;color:var(--fg);line-height:1.1}
.stat .t{margin-top:12px}
.footnote{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--fg-3);padding:14px 0}
@media(max-width:820px){.stats .grid{grid-template-columns:repeat(2,1fr)}.stat{padding:26px 16px}.stat:nth-child(odd){border-left:0;padding-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}

/* marquee */
.marquee{overflow:hidden;border-bottom:1px solid var(--line);padding:26px 0}
.track{display:flex;gap:56px;width:max-content;animation:scroll 48s linear infinite}
.track span{font-family:var(--mono);font-size:13px;letter-spacing:.2em;color:var(--fg-3);white-space:nowrap}
.track span::before{content:'◦';color:var(--accent);margin-right:56px}
@keyframes scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.track{animation:none}}

/* 2x2 hairline grid */
.cells{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:64px}
.cell{padding:40px 40px 44px;border-bottom:1px solid var(--line)}
.cell:nth-child(odd){border-right:1px solid var(--line);padding-left:0}
.cell .idx{font-family:var(--mono);font-size:11px;color:var(--fg-3);margin-bottom:22px}
.cell h3{font-size:21px;font-weight:600;letter-spacing:-.01em;margin-bottom:12px}
.cell p{color:var(--fg-2);font-weight:300;max-width:46ch}
.cell .fix{margin-top:30px;padding-top:18px;border-top:1px dashed var(--line-2);display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.cell .fix .v{font-family:var(--display);font-size:17px;color:var(--accent);font-weight:600}
@media(max-width:820px){.cells{grid-template-columns:1fr}.cell,.cell:nth-child(odd){padding:32px 0;border-right:0}}

/* day in the company */
.time{font-family:var(--mono);font-size:30px;color:var(--accent);letter-spacing:-.02em;margin-bottom:18px;line-height:1}
.day .cell p{font-size:18px;color:var(--fg);font-weight:300;line-height:1.55}
.day .cell .mono{display:block;margin-top:22px}

/* systems (CSS-only tabs: works with JS off) */
.sys{position:relative;margin-top:64px;border-top:1px solid var(--line)}
.sys input{position:absolute;opacity:0;pointer-events:none}
.sysgrid{display:grid;grid-template-columns:330px 1fr;gap:0}
.tabs{border-right:1px solid var(--line);padding-right:36px}
.tabs label{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--fg-3);font-size:18px;font-family:var(--display);font-weight:600;transition:color .15s}
.tabs label small{font-family:var(--mono);font-size:11px;font-weight:400;width:22px}
.tabs label::after{content:'';margin-left:auto;width:6px;height:6px;background:transparent}
.tabs label:hover{color:var(--fg-2)}
.panel{display:none;padding:10px 0 0 60px}
#t1:checked~.sysgrid label[for=t1],#t2:checked~.sysgrid label[for=t2],#t3:checked~.sysgrid label[for=t3],#t4:checked~.sysgrid label[for=t4],#t5:checked~.sysgrid label[for=t5]{color:var(--fg)}
#t1:checked~.sysgrid label[for=t1]::after,#t2:checked~.sysgrid label[for=t2]::after,#t3:checked~.sysgrid label[for=t3]::after,#t4:checked~.sysgrid label[for=t4]::after,#t5:checked~.sysgrid label[for=t5]::after{background:var(--accent)}
#t1:focus-visible~.sysgrid label[for=t1],#t2:focus-visible~.sysgrid label[for=t2],#t3:focus-visible~.sysgrid label[for=t3],#t4:focus-visible~.sysgrid label[for=t4],#t5:focus-visible~.sysgrid label[for=t5]{outline:1px solid var(--accent);outline-offset:4px}
#t1:checked~.sysgrid .p1,#t2:checked~.sysgrid .p2,#t3:checked~.sysgrid .p3,#t4:checked~.sysgrid .p4,#t5:checked~.sysgrid .p5{display:block}
.panel h3{font-size:34px;letter-spacing:-.02em;margin:10px 0 10px}
.panel .tag{color:var(--fg-2);font-size:18px;font-weight:300;margin-bottom:34px}
.panel ul{list-style:none;border-top:1px solid var(--line);max-width:640px}
.panel li{padding:15px 0 15px 28px;border-bottom:1px solid var(--line);position:relative;font-size:15.5px}
.panel li::before{content:'—';position:absolute;left:0;color:var(--fg-3)}
.proofs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;max-width:640px}
.proofs .n{font-family:var(--mono);font-size:32px;line-height:1.1}
.proofs .mono{display:block;margin-top:10px;line-height:1.5}
.panel .note{font-family:var(--mono);font-size:11.5px;color:var(--fg-3);margin-top:30px;max-width:56ch;line-height:1.6}
@media(max-width:900px){.sysgrid{grid-template-columns:1fr}.tabs{border-right:0;padding-right:0}.panel{padding:34px 0 0}.panel h3{font-size:28px}}

/* inline CTA row */
.ctarow{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:40px;margin-top:90px}
.ctarow h3{font-size:clamp(22px,2.6vw,30px);font-weight:600}

/* method orbit */
.orbit{position:relative;height:900px;margin-top:40px}
.orbit svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:520px;height:520px}
.node{position:absolute;width:300px}
.node .idx{font-family:var(--mono);font-size:11px;color:var(--fg-3);margin-bottom:12px}
.node h3{font-size:20px;font-weight:600;margin-bottom:10px}
.node p{color:var(--fg-2);font-weight:300;font-size:15px}
.node ul{list-style:none;margin-top:14px}
.node li{font-family:var(--mono);font-size:11.5px;color:var(--fg-3);line-height:1.9}
.node li::before{content:'— '}
.n1{top:0;left:50%;transform:translateX(-50%);text-align:center}
.n3{bottom:0;left:50%;transform:translateX(-50%);text-align:center}
.n2{top:50%;right:0;transform:translateY(-50%);text-align:right}
.n4{top:50%;left:0;transform:translateY(-50%);text-align:left}
.n1,.n3{background:radial-gradient(closest-side,var(--bg) 70%,transparent)}
@media(max-width:1000px){.orbit{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}.orbit svg{display:none}.node{position:static;width:auto;transform:none!important;text-align:left!important;padding:30px 24px 30px 0;border-bottom:1px solid var(--line);background:none!important}}
@media(max-width:640px){.orbit{grid-template-columns:1fr}.node{padding:28px 0}}

/* formats */
.formats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:26px}
.fmt{padding:32px 26px 36px;border-left:1px solid var(--line)}
.fmt:first-child{border-left:0;padding-left:0}
.fmt .idx{font-family:var(--mono);font-size:11px;color:var(--accent);margin-bottom:18px}
.fmt h3{font-size:19px;font-weight:600;margin-bottom:10px}
.fmt p{color:var(--fg-2);font-weight:300;font-size:15px}
@media(max-width:1000px){.formats{grid-template-columns:1fr 1fr}.fmt:nth-child(odd){border-left:0;padding-left:0}.fmt:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:640px){.formats{grid-template-columns:1fr}.fmt{border-left:0!important;padding:26px 0!important;border-top:1px solid var(--line)}.fmt:first-child{border-top:0}}

/* proof */
.phead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.pstats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:60px 0 70px}
.pstats .stat:first-child{padding-left:0}
@media(max-width:720px){.pstats{grid-template-columns:1fr}.pstats .stat{border-left:0;padding:22px 0;border-top:1px solid var(--line)}.pstats .stat:first-child{border-top:0}}
details.row{border-bottom:1px solid var(--line)}
details.row:first-of-type{border-top:1px solid var(--line)}
details.row summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:40px 230px 1fr auto 24px;gap:22px;align-items:center;padding:26px 0}
details.row summary::-webkit-details-marker{display:none}
.row .idx{font-family:var(--mono);font-size:11px;color:var(--fg-3)}
.row .name{font-family:var(--mono);font-size:14px;letter-spacing:.14em;color:var(--fg)}
.row .line{color:var(--fg-2);font-weight:300}
.row .chips{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end}
.row .chips span{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--fg);white-space:nowrap}
.row .plus{font-family:var(--mono);font-size:18px;color:var(--accent);transition:transform .2s;text-align:right}
details.row[open] .plus{transform:rotate(45deg)}
.row .body{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:0 0 34px 62px}
.row .body .mono{display:block;margin-bottom:10px}
.row .body p{color:var(--fg-2);font-weight:300;max-width:52ch}
.row .body .after p{color:var(--fg)}
@media(max-width:1000px){details.row summary{grid-template-columns:34px 1fr 24px;gap:10px 16px}.row .line,.row .chips{grid-column:2/3}.row .chips{justify-content:flex-start;gap:8px 16px}.row .plus{grid-column:3;grid-row:1}.row .body{grid-template-columns:1fr;padding-left:50px;gap:22px}}

/* security spec */
.spec{margin-top:60px;border-top:1px solid var(--line)}
.spec .r{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.spec .r .mono{padding-top:4px}
.spec .r div:last-child{font-size:16.5px}
@media(max-width:720px){.spec .r{grid-template-columns:1fr;gap:8px}}
.commit{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.commit .stat:first-child{padding-left:0}
.commit .n{font-size:clamp(22px,2.6vw,30px)}
@media(max-width:820px){.commit{grid-template-columns:1fr 1fr}.commit .stat:nth-child(odd){border-left:0;padding-left:0}.commit .stat:nth-child(n+3){border-top:1px solid var(--line)}}
.secrow{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:36px;color:var(--fg-2)}

/* operate */
.ops{margin-top:60px;border-top:1px solid var(--line)}
.ops .r{display:grid;grid-template-columns:90px 300px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline}
.ops .r .idx{font-family:var(--mono);font-size:11px;color:var(--fg-3)}
.ops .r h3{font-size:19px;font-weight:600;letter-spacing:-.01em}
.ops .r p{color:var(--fg-2);font-weight:300}
@media(max-width:820px){.ops .r{grid-template-columns:40px 1fr;gap:6px 14px}.ops .r p{grid-column:2}}

/* meetup */
.meetup{border:1px solid var(--line);padding:60px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;background:linear-gradient(135deg,rgba(232,163,61,.06),transparent 45%)}
.meetup h2{font-size:clamp(30px,4vw,46px);margin-bottom:16px}
.meetup p{color:var(--fg-2);font-weight:300;max-width:58ch}
@media(max-width:820px){.meetup{grid-template-columns:1fr;padding:34px 24px}}

/* start */
.start{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:60px}
.start>div{padding:50px 0 20px}
.start>div:first-child{padding-right:56px;border-right:1px solid var(--line)}
.start>div:last-child{padding-left:56px}
.big{font-family:var(--display);font-size:clamp(22px,2.4vw,29px);line-height:1.3;font-weight:600;letter-spacing:-.015em;margin-bottom:40px}
.facts .r{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--line)}
.facts .r:last-child{border-bottom:1px solid var(--line)}
.facts .r span:last-child{text-align:right;font-size:15px}
.founder{margin-top:38px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.founder .ph{width:56px;height:56px;border:1px dashed var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:var(--accent)}
.founder b{display:block;font-family:var(--display);font-weight:600;font-size:16px}
.founder p{color:var(--fg-2);font-weight:300;font-size:14.5px;margin-top:4px}
.steps{list-style:none;counter-reset:s;margin:26px 0 40px;border-top:1px solid var(--line)}
.steps li{counter-increment:s;padding:20px 0 20px 50px;border-bottom:1px solid var(--line);position:relative;font-size:16.5px}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:23px;font-family:var(--mono);font-size:11px;color:var(--accent)}
.btn-wide{width:100%;justify-content:center;padding:17px 24px;font-size:16px}
.small{font-family:var(--mono);font-size:11px;color:var(--fg-3);margin-top:18px;letter-spacing:.06em}
@media(max-width:900px){.start{grid-template-columns:1fr}.start>div:first-child{padding-right:0;border-right:0;border-bottom:1px solid var(--line)}.start>div:last-child{padding-left:0}}

/* final + footer */
.final{border-top:1px solid var(--line);padding:110px 0}
.final .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.final h2{font-size:clamp(34px,5vw,64px);max-width:17ch}
footer{border-top:1px solid var(--line);padding-top:70px;overflow:hidden}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px}
.fgrid p{color:var(--fg-2);font-weight:300;margin-top:18px;max-width:28ch}
.fcol .mono{display:block;margin-bottom:18px}
.fcol a{display:block;color:var(--fg-2);font-size:14.5px;padding:5px 0}
.fcol a:hover{color:var(--fg)}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}.fgrid>div:first-child{grid-column:1/-1}}
.wordmark{font-family:var(--display);font-weight:800;font-size:clamp(48px,11vw,168px);line-height:.9;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px #25252C;white-space:nowrap;margin:70px 0 0 -1vw;user-select:none}
.fbottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0}

.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* v1 additions */
/* phone menu: base.css hides nav links under 900px with no replacement, so on a phone (most visitors,
   via QR/NFC) Prices/About/Contact were unreachable except from the footer (found 2026-09-24).
   Below 900px the links become a second row under the logo bar — no JS, scrolls sideways if needed. */
@media(max-width:900px){
  nav .wrap{flex-wrap:wrap;height:auto;row-gap:0;padding-top:10px}
  nav .links{display:flex;order:3;width:100%;gap:24px;overflow-x:auto;padding:12px 0;margin-top:10px;border-top:1px solid var(--line);font-size:14.5px;white-space:nowrap;scrollbar-width:none}
  nav .links::-webkit-scrollbar{display:none}
}
.plist{margin-top:60px;border-top:1px solid var(--line)}
.prob{position:relative;display:grid;grid-template-columns:60px 1fr auto;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:background .15s}
.prob:hover{background:rgba(232,163,61,.04)}
.prob .idx{font-family:var(--mono);font-size:11px;color:var(--fg-3)}
.prob h3{font-size:clamp(20px,2.4vw,26px);font-weight:600;letter-spacing:-.015em}
.prob h3 a::after{content:'';position:absolute;inset:0}
.prob:hover h3 a{color:var(--accent)}
.prob p{color:var(--fg-2);font-weight:300;margin-top:6px;max-width:60ch}
.prob .go{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);white-space:nowrap;border:1px solid var(--line-2);padding:10px 14px}
.prob:hover .go{border-color:var(--accent)}
@media(max-width:720px){.prob{grid-template-columns:34px 1fr;gap:6px 14px}.prob .go{grid-column:2;justify-self:start;margin-top:12px}}
.offers{margin-top:60px;border-top:1px solid var(--line)}
.offer{display:grid;grid-template-columns:60px 1fr 260px;gap:24px;padding:30px 0;border-bottom:1px solid var(--line);align-items:baseline}
.offer .idx{font-family:var(--mono);font-size:12px;color:var(--accent)}
.offer h3{font-size:22px;font-weight:600;margin-bottom:8px}
.offer p{color:var(--fg-2);font-weight:300;max-width:60ch}
.offer .price{font-family:var(--display);font-weight:600;font-size:18px;color:var(--fg);text-align:right}
.offer .price span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--fg-3);font-weight:400;margin-top:6px;text-transform:uppercase}
@media(max-width:820px){.offer{grid-template-columns:34px 1fr;gap:6px 14px}.offer .price{grid-column:2;text-align:left;margin-top:10px}}
.disclaimer{font-family:var(--mono);font-size:11px;color:var(--fg-3);letter-spacing:.06em;margin-top:22px;line-height:1.7}
.disclaimer a{color:var(--accent)}
.ul{list-style:none;border-top:1px solid var(--line);max-width:760px;margin-top:36px}
.ul li{padding:16px 0 16px 30px;border-bottom:1px solid var(--line);position:relative;font-size:17px;font-weight:300}
.ul li::before{content:'—';position:absolute;left:0;color:var(--accent)}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:40px}
.twocol .ul{margin-top:14px}
@media(max-width:820px){.twocol{grid-template-columns:1fr;gap:30px}}
.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--fg-3);margin-bottom:26px;display:block}
.crumbs a{border-bottom:1px solid var(--line-2)}
.crumbs a:hover{color:var(--fg)}
.phero{padding:110px 0 70px}
.phero h1{font-size:clamp(38px,6vw,76px);max-width:18ch;letter-spacing:-.035em;margin-bottom:26px}
.phero p{font-size:clamp(17px,2vw,20px);color:var(--fg-2);max-width:56ch;font-weight:300;margin-bottom:38px}
.pricebox{border:1px solid var(--line-2);padding:40px;margin-top:40px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:linear-gradient(135deg,rgba(232,163,61,.06),transparent 45%)}
.pricebox .v{font-family:var(--display);font-size:clamp(26px,3.4vw,40px);font-weight:700;letter-spacing:-.02em}
.pricebox .mono{display:block;margin-bottom:12px}
@media(max-width:720px){.pricebox{grid-template-columns:1fr;padding:28px 22px}}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 30px 22px 0;font-family:var(--display);font-weight:600;font-size:18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:0;top:20px;font-family:var(--mono);color:var(--accent);font-size:18px}
.faq details[open] summary::after{content:'−'}
.faq details p{color:var(--fg-2);font-weight:300;padding:0 0 24px;max-width:66ch}
.contact{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:50px}
.contact>div{padding:44px 0 10px}
.contact>div:first-child{padding-right:56px;border-right:1px solid var(--line)}
.contact>div:last-child{padding-left:56px}
.facts a{border-bottom:1px solid var(--line-2)}
.facts a:hover{border-color:var(--accent);color:var(--fg)}
@media(max-width:900px){.contact{grid-template-columns:1fr}.contact>div:first-child{padding-right:0;border-right:0;border-bottom:1px solid var(--line)}.contact>div:last-child{padding-left:0}}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.hero .heroffer{color:var(--fg);font-weight:400;font-size:clamp(16px,1.8vw,18px);border-left:2px solid var(--accent);padding-left:14px;max-width:56ch;margin:-20px 0 36px}
.factstrip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.factstrip .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.factstrip .f{padding:22px 20px;border-left:1px solid var(--line);font-family:var(--display);font-weight:600;font-size:15px;line-height:1.35}
.factstrip .f:first-child{border-left:0;padding-left:0}
.factstrip .f::before{content:"";display:block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-bottom:12px}
@media(max-width:820px){.factstrip .grid{grid-template-columns:1fr 1fr}.factstrip .f{padding:18px 14px}.factstrip .f:nth-child(odd){border-left:0;padding-left:0}.factstrip .f:nth-child(n+3){border-top:1px solid var(--line)}}
.seclist{list-style:none;counter-reset:q;border-top:1px solid var(--line);max-width:820px;margin-top:40px}
.seclist li{counter-increment:q;padding:18px 0 18px 50px;border-bottom:1px solid var(--line);position:relative;font-size:17px;font-weight:300}
.seclist li::before{content:counter(q,decimal-leading-zero);position:absolute;left:0;top:21px;font-family:var(--mono);font-size:11px;color:var(--accent)}
.about{display:grid;grid-template-columns:120px 1fr;gap:40px;margin-top:50px;max-width:900px}
.about .ph{width:120px;height:120px;border:1px dashed var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:22px;color:var(--accent)}
.about b{display:block;font-family:var(--display);font-weight:600;font-size:22px;margin-bottom:16px}
.about p{color:var(--fg-2);font-weight:300;font-size:17px;margin-bottom:14px;max-width:62ch}
@media(max-width:640px){.about{grid-template-columns:1fr;gap:24px}.about .ph{width:80px;height:80px;font-size:16px}}
/* card page (/hi/): phone-first — a card is only ever opened by a tap on a phone */
.me{padding:64px 0 60px}
.me .grid{display:grid;grid-template-columns:minmax(0,320px) 1fr;grid-template-areas:"pic head" "pic body";column-gap:56px}
.me .portrait{grid-area:pic;aspect-ratio:4/5;background:var(--bg-2);border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center}
.me .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}  /* keep the face when the phone crops to a square */
.me .portrait .mark{font-family:var(--display);font-weight:700;font-size:64px;color:var(--accent)}
.me .head{grid-area:head;align-self:end}
.me .body{grid-area:body;align-self:start}
.me h1{font-size:clamp(34px,6vw,72px);letter-spacing:-.035em;margin-bottom:12px}
.me .role{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.me .lead{margin:22px 0 30px}
@media(max-width:820px){.me{padding:26px 0 40px}.me .grid{grid-template-columns:92px 1fr;grid-template-areas:"pic head" "body body";column-gap:18px}
  .me .portrait{aspect-ratio:1}.me .portrait .mark{font-size:28px}.me .eyebrow{margin-bottom:10px}.me .role{font-size:11px;letter-spacing:.08em}
  .me .lead{margin:20px 0 22px;font-size:16.5px}.me .cta .btn{flex:1 1 auto;justify-content:center}.me .cta .btn:first-child{flex-basis:100%}}
.ledger{list-style:none;margin-top:56px;border-top:1px solid var(--line)}
.entry{display:grid;grid-template-columns:170px 1fr;gap:32px;padding:44px 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.entry .yr{display:block;font-family:var(--display);font-weight:700;font-size:34px;color:var(--accent);letter-spacing:-.02em;line-height:1}
.entry .pl{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin-top:10px}
.entry>div{min-width:0}  /* a grid item won't shrink below its content: without this the swipe strip widened the page to 648px on a 390px phone */
.entry h3{font-size:clamp(22px,2.6vw,30px);font-weight:600;margin-bottom:12px}
.entry p{color:var(--fg-2);font-weight:300;font-size:17px;max-width:64ch}
/* photos: one height, natural widths, swipe for more — mixed portrait/landscape shots otherwise
   stretch to the tallest and leave dead boxes. A single photo takes the column's full width. */
.shots{display:flex;gap:10px;margin-top:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start}
.shots::-webkit-scrollbar{display:none}
.shots figure{flex:0 0 auto;scroll-snap-align:start;background:var(--bg-2);border:1px solid var(--line)}
.shots img{display:block;height:clamp(240px,60vw,400px);width:auto;max-width:none}
.shots figure:only-child{flex:0 1 auto;max-width:min(640px,100%)}
.shots figure:only-child img{height:auto;width:100%;max-height:560px;object-fit:cover}
.proof{display:inline-block;margin:18px 18px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--line-2)}
@media(max-width:720px){.entry{grid-template-columns:1fr;gap:10px;padding:34px 0}.entry .when{display:flex;align-items:baseline;gap:14px}.entry .pl{margin-top:0}.entry p{font-size:16px}}
/* the featured entry (the 2018 World Cup, paid for with nine months at Decathlon): amber-edged card + a match ticket */
.entry.featured{background:linear-gradient(135deg,rgba(232,163,61,.10),transparent 55%);border:1px solid var(--line-2);border-left:3px solid var(--accent);padding:44px 32px;margin:28px 0}
.entry.featured h3{font-size:clamp(26px,3.4vw,40px)}
.entry.featured .yr{font-size:48px}
@media(max-width:720px){.entry.featured{padding:30px 18px;margin:20px 0}.entry.featured .yr{font-size:40px}}
.ticket{display:grid;grid-template-columns:1fr auto;margin-top:26px;border:1px solid var(--accent);background:var(--bg);max-width:640px}
.ticket .t-main{padding:18px 20px;display:flex;flex-direction:column;gap:6px;min-width:0}
.ticket .t-stub{padding:18px 20px;border-left:2px dashed var(--accent);display:flex;flex-direction:column;gap:6px;justify-content:center;max-width:220px}
.ticket .t-top{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.ticket .t-match{font-family:var(--display);font-weight:700;font-size:clamp(22px,3vw,30px);letter-spacing:-.01em;line-height:1.1}
.ticket .t-meta{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--fg-2);line-height:1.6}
.ticket .t-price{font-family:var(--display);font-weight:600;font-size:15px;line-height:1.3}
@media(max-width:560px){.ticket{grid-template-columns:1fr}.ticket .t-stub{border-left:0;border-top:2px dashed var(--accent);max-width:none}}
/* the book: cover floating on a lit card, title set like a book title, fact tags, captioned road photo */
.bookhero{display:grid;grid-template-columns:minmax(0,250px) 1fr;gap:30px;align-items:center;padding:28px;margin-bottom:22px;border:1px solid var(--line-2);border-left:3px solid var(--accent);background:radial-gradient(120% 90% at 18% 45%,rgba(232,163,61,.18),transparent 62%),var(--bg-2)}
.bookhero .cover img{width:100%;height:auto;display:block;filter:drop-shadow(0 22px 26px rgba(0,0,0,.6))}
.bookmeta .tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.entry .bookmeta h3{font-size:clamp(28px,4vw,44px);letter-spacing:-.02em;margin:10px 0 12px;line-height:1.05}
.bookmeta .sub{font-style:italic;color:var(--fg);font-weight:300;font-size:16px;max-width:34ch;line-height:1.45}
@media(max-width:720px){.bookhero{grid-template-columns:1fr;gap:18px;text-align:center;padding:26px 18px}.bookhero .cover{max-width:240px;margin:0 auto}.bookmeta .sub{margin:0 auto}}
.bookfacts{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.bookfacts li{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--fg-2);border:1px solid var(--line-2);padding:6px 10px}
.shots figcaption{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);padding:9px 10px;max-width:0;min-width:100%}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;max-width:640px}
.ba figure{position:relative;background:var(--bg-2);border:1px solid var(--line);aspect-ratio:3/4;overflow:hidden}
.ba img{width:100%;height:100%;object-fit:cover;display:block}
.ba figcaption{position:absolute;left:0;top:0;background:var(--accent);color:#08080A;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px}
.closing{margin-top:56px;font-family:var(--display);font-weight:600;font-size:clamp(24px,3.2vw,38px);letter-spacing:-.02em;line-height:1.2;max-width:24ch;border-left:2px solid var(--accent);padding-left:20px}
.notice{background:var(--accent-dim);border-bottom:1px solid var(--line-2)}
.notice p{padding:14px 0;font-size:15.5px;line-height:1.5;color:var(--fg);max-width:78ch}
.notice b{color:var(--accent);font-weight:400;margin-right:8px}
/* the quarter's quests: a small scoreboard between the hero and the ledger */
.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.quest{border:1px solid var(--line-2);background:var(--bg);padding:24px 22px;min-width:0}
.quest.wide{grid-column:1/-1;border-left:3px solid var(--accent)}
.quest .qk{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.quest .qn{display:block;font-family:var(--display);font-weight:700;font-size:44px;line-height:1;letter-spacing:-.02em;color:var(--fg);margin-bottom:12px}
.quest .qn i{font-style:normal;font-size:22px;color:var(--fg-3);font-weight:600}
.quest h3{font-size:clamp(19px,2.2vw,24px);font-weight:600;margin-bottom:8px}
.quest p{color:var(--fg-2);font-weight:300;font-size:15.5px;max-width:60ch}
.qsteps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.qsteps li{border-top:1px solid var(--line-2);padding-top:12px;font-size:14.5px;color:var(--fg-2);line-height:1.45}
.qsteps b{display:block;font-family:var(--display);font-weight:700;font-size:30px;line-height:1;color:var(--accent);margin-bottom:8px}
.qsteps span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin-top:8px}
@media(max-width:820px){.qgrid{grid-template-columns:1fr;margin-top:28px}.qsteps{grid-template-columns:1fr}.quest .qn{font-size:38px}}
.quest .qp{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
/* the Write button opens a small menu: Telegram, WhatsApp, email. <details>, so it works without JS */
.wr{flex:1 1 auto}
.wr summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:600;font-size:15px;padding:13px 24px;border-radius:2px;border:1px solid var(--line-2);color:var(--fg)}
.wr summary::-webkit-details-marker{display:none}
.wr summary:hover,.wr[open] summary{border-color:var(--accent)}
.wr .opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.wr .opts .btn{flex:1 1 auto;justify-content:center}
.cpy{flex:1 1 auto;cursor:pointer;background:none;font-family:var(--display);font-weight:600;font-size:15px;padding:13px 24px;border-radius:2px;border:1px solid var(--line-2);color:var(--fg);user-select:all;-webkit-user-select:all}
.cpy:hover,.cpy.ok{border-color:var(--accent)}
.cpy.plain{flex:none;font:inherit;color:inherit;padding:0;border:0;border-bottom:1px solid var(--line-2);border-radius:0;text-align:left}
.phero .cta .cpy{flex:0 1 auto}
.fcol .cpy.plain{display:block;border-bottom:0;color:var(--fg-2);font-size:14.5px;padding:5px 0}
.fcol .cpy.plain:hover{color:var(--fg)}
@media(min-width:821px){.wr{flex:0 0 auto;position:relative}.wr .opts{position:absolute;left:0;top:100%;flex-wrap:nowrap;z-index:5}}
/* the Services button that stays on screen (Nastya's read, 2026-10-01) */
.svc{position:fixed;right:16px;bottom:16px;z-index:20;background:var(--accent);color:#0A0A0A;font-family:var(--display);font-weight:600;font-size:14px;padding:11px 16px;border-radius:2px;box-shadow:0 8px 24px rgba(0,0,0,.55);transition:opacity .2s,transform .2s}
.svc.off{opacity:0;pointer-events:none;transform:translateY(8px)}
.starth{font-size:clamp(20px,2.4vw,26px);font-weight:600;margin:56px 0 4px}
#now .disclaimer{margin-top:22px}
.hifoot{padding-top:0}
.hifoot .fbottom{flex-wrap:wrap}
.hifoot a{border-bottom:1px solid var(--line-2)}
