/* Generated by tools/webgen.py from /shared. Do not edit by hand. */
:root{--bg:#110D0A;--surface:#211912;--text:#F6EEE3;--text2:#BFAE9B;--shape:#FFAA4D;--on-shape:#1A1008;--shape-13:rgba(255,170,77,0.13);--shape-22:rgba(255,170,77,0.22);--shape-28:rgba(255,170,77,0.28);--shape-35:rgba(255,170,77,0.35);--shape-55:rgba(255,170,77,0.55);--shape-70:rgba(255,170,77,0.7);--tap:64px;--button:20px;--outline:1.4px;--focus-width:3px;--focus-gap:4px;--press-scale:1;--press-dim:0.9;--press-dim-reduced:0.8;--press-up:140ms;--cycle:16s;--lag1:200ms;--lag2:400ms;--lag3:600ms}
@keyframes breathe{0%{transform:scale(0.4);animation-timing-function:cubic-bezier(.42,0,.58,1)}25%{transform:scale(1);animation-timing-function:linear}50%{transform:scale(1);animation-timing-function:cubic-bezier(.42,0,.58,1)}75%{transform:scale(0.4);animation-timing-function:linear}100%{transform:scale(0.4)}}
@keyframes dim{0%{opacity:0.6;animation-timing-function:cubic-bezier(.42,0,.58,1)}25%{opacity:1;animation-timing-function:linear}50%{opacity:1;animation-timing-function:cubic-bezier(.42,0,.58,1)}75%{opacity:0.6;animation-timing-function:linear}100%{opacity:0.6}}
@keyframes word{0%{opacity:0}3.8%{opacity:1}21.2%{opacity:1}25%{opacity:0}100%{opacity:0}}
/* Static part of the site stylesheet. No colour literals: every colour is a variable from :root (shared/tokens.json). */
@font-face{font-family:"Atkinson Hyperlegible";font-weight:400;font-display:swap;src:url(/assets/fonts/atkinson-regular.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:700;font-display:swap;src:url(/assets/fonts/atkinson-bold.woff2) format("woff2")}
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:dark;-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Atkinson Hyperlegible",system-ui,sans-serif;font-size:18px;line-height:1.55;overflow-x:clip}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
h1,h2,h3,p,figure,ul{margin:0}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:16px;top:-80px;z-index:10;background:var(--surface);padding:12px 20px;border-radius:14px}
.skip:focus{top:16px}
.page{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:clip}
main{flex:1}
.wrap{max-width:1160px;margin:0 auto;padding-inline:40px;width:100%}
@media (max-width:600px){.wrap{padding-inline:24px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.muted{color:var(--text2)}
/* Header */
.head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-top:24px;padding-bottom:8px}
.logo img{height:44px;width:auto}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px}
.navl{color:var(--text2);font-size:17px;padding:20px 8px;min-height:24px}
.navl b{color:var(--text);font-weight:700}
/* Focus and states */
a:focus-visible,summary:focus-visible{outline:var(--focus-width) solid var(--text);outline-offset:var(--focus-gap);border-radius:14px}
.press{transition:transform var(--press-up) cubic-bezier(.2,.7,.2,1),filter var(--press-up)}
.press:active{transform:scale(var(--press-scale));filter:brightness(var(--press-dim))}
@media (hover:hover){
.press:hover{filter:brightness(1.08)}
.navl:hover,.flink:hover{color:var(--text);text-decoration:underline;text-decoration-color:var(--shape-70);text-underline-offset:6px}
}
/* Buttons */
.btns{display:flex;flex-wrap:wrap;gap:16px}
.btn{position:relative;display:flex;align-items:center;justify-content:center;min-width:176px;min-height:var(--tap);padding:0 28px;font-size:var(--button);color:var(--text)}
.btn svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.btn span{position:relative}
.btn-primary{color:var(--on-shape);font-weight:700}
.btn-primary svg{fill:var(--shape)}
.bg{fill:var(--surface)}
.ln{fill:none;stroke:var(--shape-55);stroke-width:var(--outline)}
.inert{cursor:default}
.inert:active{transform:none;filter:none}
@media (hover:hover){.inert:hover{filter:none}}
.inert:focus-visible{outline:none}
.soon{font-size:17px;color:var(--text2)}
/* Rules */
.rule{width:100%;height:5px;overflow:visible;fill:none;stroke:var(--shape-28);stroke-width:1.3;stroke-linecap:round}
.rule.r22{stroke:var(--shape-22)}.rule.r35{stroke:var(--shape-35)}.rule.flip{transform:scaleX(-1)}
/* Hero */
.hero{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:48px 64px;padding-top:72px;padding-bottom:120px}
.hero::before{content:"";position:absolute;inset:0 -10%;background:radial-gradient(ellipse 60% 55% at 50% 55%,var(--shape-13),transparent 100%);pointer-events:none}
.hero-text{position:relative;flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:24px}
h1{font-size:clamp(40px,6.2vw,72px);font-weight:400;line-height:1.08}
.lead{font-size:22px;line-height:1.5;color:var(--text2);max-width:520px}
.hero-art{position:relative;flex:1 1 360px;min-width:0;display:flex;justify-content:center;padding-bottom:56px}
.rise{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.rise.late{animation-delay:.15s}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* Breathing circle */
.circ{position:relative;width:min(100%,460px);aspect-ratio:1/1}
.circ::before{content:"";position:absolute;inset:-12%;background:radial-gradient(closest-side,var(--shape-13),transparent);pointer-events:none}
.circ svg{position:relative;width:100%;height:auto;aspect-ratio:1/1;fill:var(--shape)}
.circ svg>g{transform-box:view-box;transform-origin:200px 200px;animation:breathe var(--cycle) infinite both}
.circ svg>.r1{animation-delay:var(--lag1)}.circ svg>.r2{animation-delay:var(--lag2)}.circ svg>.r3{animation-delay:var(--lag3)}
.words{position:absolute;left:0;right:0;bottom:-40px;height:30px}
.word{position:absolute;inset:0;text-align:center;font-size:20px;color:var(--text2);opacity:0;animation:word var(--cycle) infinite both}
/* Sections */
h2{font-size:clamp(32px,4vw,44px);font-weight:400;line-height:1.15}
h3{font-size:24px;font-weight:700;line-height:1.25}
.sec{display:flex;flex-direction:column;gap:56px;padding-top:72px;padding-bottom:96px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:48px;list-style:none;padding:0}
.step{display:flex;flex-direction:column;gap:14px}
.step p{color:var(--text2);line-height:1.55}
.step h3{margin-top:8px}
.badge{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--on-shape)}
.badge svg{position:absolute;inset:0;width:48px;height:48px;overflow:visible;fill:var(--shape)}
.badge span{position:relative}
.screens{align-items:center;padding-top:24px;padding-bottom:104px}
.screens h2{text-align:center}
.shots{display:flex;flex-wrap:wrap;justify-content:center;gap:56px 72px;scrollbar-width:none}
.shot{display:flex;flex-direction:column;align-items:center;gap:20px}
.shot figcaption{font-size:20px;color:var(--text);text-align:center}
.phone{position:relative;width:252px;height:545px;flex:none}
.phone svg{position:absolute;left:0;top:0;width:252px;height:545px;overflow:visible;pointer-events:none}
.phone .f{fill:var(--surface)}
.phone .l{fill:none;stroke:var(--shape-55);stroke-width:1.6;stroke-linejoin:round}
.phone img{position:absolute;left:10px;top:10px;width:232px;height:525px;border-radius:28px;object-fit:cover}
@media (max-width:700px){
.shots{display:block;position:relative;width:100%}
.shot{position:sticky;top:max(8px,calc((100svh - 640px) / 2));background:var(--bg);padding-bottom:24px;z-index:1}
.shot:nth-child(2){z-index:2;margin-top:62svh}
.shot:nth-child(3){z-index:3;margin-top:62svh}
.shots::after{content:"";display:block;height:40svh}
}
/* Band */
.band{position:relative;background:var(--surface)}
.band .rule{position:absolute;left:0;right:0}
.band .top{top:-2px}.band .bottom{bottom:-2px}
.band-in{display:flex;flex-wrap:wrap;gap:48px 80px;align-items:flex-start;padding-top:104px;padding-bottom:104px}
.band-col{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:20px}
.band-col.second{flex-basis:360px;gap:16px}
.band-col p{font-size:20px;line-height:1.6;color:var(--text2);max-width:560px}
.band-col.second p{font-size:18px;max-width:520px}
.tlink{align-self:flex-start;color:var(--shape);font-size:18px;padding:16px 0;border-bottom:1.5px solid var(--shape);min-height:24px}
/* Questions */
.faq{display:flex;flex-wrap:wrap;gap:40px 80px;padding-top:104px;padding-bottom:40px}
.faq-side{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:24px}
.faq-list{flex:2 1 480px;min-width:0}
summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--tap);padding:12px 0;font-size:20px;line-height:1.35}
summary::-webkit-details-marker{display:none}
.chev{flex:none;width:14px;height:22px;overflow:visible;fill:none;stroke:var(--shape);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);transition:transform .2s}
details[open] .chev{transform:rotate(-90deg)}
details p{padding:4px 48px 28px 0;font-size:18px;line-height:1.65;color:var(--text2);max-width:720px}
.who{padding-top:56px;padding-bottom:24px;display:flex;flex-direction:column;gap:16px}
.who h2{font-size:26px;font-weight:700}
.who p{font-size:20px;line-height:1.6;color:var(--text2);max-width:620px}
.closing{display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center;padding-top:120px;padding-bottom:120px}
.closing img{width:180px;height:auto}
.closing h2{font-size:clamp(36px,5vw,56px);line-height:1.1}
.closing .btns{justify-content:center}
/* Document pages */
.doc{padding-top:72px;padding-bottom:104px;display:flex;flex-direction:column;gap:48px}
.doc-head{display:flex;flex-direction:column;gap:16px}
.doc-head h1{font-size:clamp(36px,5vw,56px)}
.doc-head p{font-size:20px;color:var(--text2);max-width:640px}
.doc-head p.draft{font-size:17px;color:var(--text)}
.draft{align-self:flex-start;border:var(--outline) solid var(--shape-55);border-radius:14px;padding:10px 16px;font-size:17px;color:var(--text);max-width:640px}
.doc section{display:flex;flex-direction:column;gap:12px;max-width:760px}
.doc section p{font-size:19px;line-height:1.65;color:var(--text2)}
.doc h2{font-size:28px;font-weight:700}
pre{margin:0;white-space:pre-wrap;font:inherit;font-size:16px;line-height:1.6;color:var(--text2);max-width:760px}
.write{background:var(--surface);position:relative;padding:48px 40px;display:flex;flex-direction:column;gap:12px;border-radius:28px;max-width:760px}
.write a.mail{font-size:clamp(24px,4vw,34px);color:var(--shape);align-self:flex-start;padding:8px 0;border-bottom:1.5px solid var(--shape);overflow-wrap:anywhere}
.write p{color:var(--text2);font-size:18px}
.faq-group{max-width:860px}
.faq-group h2{margin-bottom:8px}
.faq-group details p{padding-right:48px}
/* 404 */
.nf{position:relative;display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center;padding-top:96px;padding-bottom:120px}
.nf::before{content:"";position:absolute;inset:0 -10%;background:radial-gradient(ellipse 50% 50% at 50% 45%,var(--shape-13),transparent 100%);pointer-events:none}
.nf>*{position:relative}
.nf img{width:150px;height:auto}
.nf p{font-size:22px;color:var(--text2)}
/* Footer */
.foot{padding-top:48px;padding-bottom:56px;display:flex;flex-direction:column;gap:24px}
.foot-row{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;justify-content:space-between}
.foot nav{display:flex;flex-wrap:wrap;gap:0 28px}
.flink{color:var(--text2);font-size:17px;padding:12px 0}
.foot p{font-size:15px;line-height:1.5;color:var(--text2);max-width:720px}
/* Reduce Motion */
@media (prefers-reduced-motion:reduce){
.rise{animation:none}
.circ svg>g{animation:dim var(--cycle) infinite both;transform:none}
.word{animation:none;opacity:0}.word:first-child{opacity:1}
.press,.chev{transition:none}
.press:active{transform:none;filter:brightness(var(--press-dim-reduced))}
}
.word0{animation-delay:0ms}.word1{animation-delay:4000ms}.word2{animation-delay:8000ms}.word3{animation-delay:12000ms}
