@font-face{font-family:"Secular One";font-weight:400;font-display:swap;src:url(fonts/secular-one-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Secular One";font-weight:400;font-display:swap;src:url(fonts/secular-one-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:Alef;font-weight:400;font-display:swap;src:url(fonts/alef-hebrew-400-normal.woff2) format("woff2");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Alef;font-weight:400;font-display:swap;src:url(fonts/alef-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:Alef;font-weight:700;font-display:swap;src:url(fonts/alef-hebrew-700-normal.woff2) format("woff2");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Alef;font-weight:700;font-display:swap;src:url(fonts/alef-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F}

:root{--bg:#0f1216;--s1:#171c22;--s2:#1f262e;--line:#2c353f;--tx:#eef1f4;--mut:#aab4bf;--ice:#9ad5ff;--pale:#e9edf1;--steel:#3f6482;
--disp:"Secular One",Arial,sans-serif;--body:Alef,"Segoe UI",Arial,sans-serif;--ease:cubic-bezier(.23,1,.32,1);--wipe:cubic-bezier(.77,0,.175,1);
--m:clamp(20px,5vw,64px);color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:400 18px/1.65 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,p,ul,dl,dd,figure{margin:0}
ul{padding:0;list-style:none}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--ice);outline-offset:3px;border-radius:6px}
.sr{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;inset-inline-start:12px;top:-70px;background:var(--ice);color:#0f1216;padding:10px 16px;border-radius:8px;z-index:900;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.levels{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.levels::before{content:"";position:absolute;inset:-100px 0;background:repeating-linear-gradient(to bottom,transparent 0 119px,rgba(154,213,255,.07) 119px 120px);transform:translate3d(0,var(--ly,0),0)}

/* top bar */
.top{position:fixed;inset-inline:0;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--m);background:linear-gradient(var(--bg) 40%,transparent)}
.brand{display:flex;align-items:center;gap:10px;font:400 28px/1 var(--disp);text-decoration:none}
.mark{inline-size:30px;block-size:30px}
.mark rect{fill:var(--ice)}.mark rect:nth-child(2){fill:var(--pale)}.mark rect:nth-child(3){fill:var(--steel)}
.demo{font-size:16px;line-height:1.3;border:1px solid var(--ice);color:var(--ice);border-radius:99px;padding:5px 14px;white-space:nowrap}
.dock{position:fixed;z-index:60;inset-inline:0;top:12px;margin-inline:auto;inline-size:max-content;max-inline-size:calc(100vw - 32px);background:rgba(23,28,34,.92);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;padding:5px}
.dock ul{display:flex;position:relative}
.dock a{position:relative;z-index:1;display:block;padding:9px 22px;border-radius:99px;text-decoration:none;font-weight:700;transition:color .25s}
.dock a[aria-current=page]{color:#0f1216}
.pill{position:absolute;z-index:0;inset-block:0;background:var(--ice);border-radius:99px;transition:transform .5s var(--wipe),inline-size .5s var(--wipe);inset-inline-start:0;will-change:transform}
@media(max-width:860px){
 .demo{font-size:16px;padding:4px 12px}
 .dock{top:auto;bottom:max(10px,env(safe-area-inset-bottom));inline-size:calc(100vw - 24px)}
 .dock ul{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
 .dock a{padding:12px 4px}
 body{padding-block-end:84px}
 .brand{font-size:24px}
}

/* views */
main{display:block}
.view{min-block-size:100vh;padding:120px var(--m) 60px;max-inline-size:1400px;margin-inline:auto}
.view[hidden]{display:none}
.view:focus{outline:none}
h1{font:400 clamp(48px,9vw,132px)/1 var(--disp);letter-spacing:-.01em}
h1 .ice{color:var(--ice)}
h2{font:400 clamp(32px,4.4vw,56px)/1.1 var(--disp)}
.lead{font-size:clamp(19px,2vw,23px);color:var(--mut);max-inline-size:30em;margin-block-start:26px}
.kicker{display:inline-block;font-weight:700;color:var(--ice);margin-block-end:18px;letter-spacing:.02em}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:14px;font-weight:700;text-decoration:none;border:2px solid var(--ice);background:var(--ice);color:#0f1216;cursor:pointer;transition:transform .15s var(--ease),background .2s,color .2s}
.btn:hover{background:#fff;border-color:#fff}
.btn:active{transform:scale(.97)}
.btn.ghost{background:transparent;color:var(--ice)}
.btn.ghost:hover{background:var(--ice);color:#0f1216}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-block-start:36px}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center;min-block-size:calc(100vh - 200px)}
@media(max-width:960px){.hero{grid-template-columns:1fr}}

/* entrance */
.enter [data-s]{animation:up .9s var(--ease) both;animation-delay:calc(var(--i,0)*90ms)}
.enter .ln{display:block;overflow:hidden}
.enter .ln>span{display:block;animation:rise 1s var(--ease) both;animation-delay:calc(var(--i,0)*100ms)}
@keyframes up{from{opacity:0;transform:translateY(28px)}}
@keyframes rise{from{transform:translateY(110%)}}
.ln{display:block;overflow:hidden;padding-block:.05em}

/* 3D tower: solid slabs */
.stage{position:relative;block-size:clamp(300px,44vw,440px);perspective:1400px;display:grid;place-items:center;touch-action:pan-y;cursor:grab;user-select:none}
.stage:active{cursor:grabbing}
.tower{position:relative;inline-size:150px;block-size:240px;transform-style:preserve-3d;transform:rotateX(-22deg) rotateY(var(--ry,-30deg))}
.slab{position:absolute;left:0;inline-size:150px;transform-style:preserve-3d}
.f{position:absolute;left:0;top:0;inline-size:150px;block-size:100%;backface-visibility:hidden;background:var(--c);display:grid;place-items:center;font:400 22px var(--disp);color:var(--t)}
.f::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--sh,0))}
.fr{transform:translateZ(75px)}
.bk{transform:rotateY(180deg) translateZ(75px);--sh:.35}
.rt{transform:rotateY(90deg) translateZ(75px);--sh:.28}
.lf{transform:rotateY(-90deg) translateZ(75px);--sh:.16}
.tp{block-size:150px;transform-origin:top;transform:translateZ(-75px) rotateX(90deg)}
.tp::after{background:rgba(255,255,255,.22)}
.ground{position:absolute;inset-inline:0;bottom:6%;margin-inline:auto;inline-size:min(78%,380px);block-size:44px;background:radial-gradient(closest-side,rgba(154,213,255,.22),transparent);filter:blur(4px)}
.rotate{display:flex;align-items:center;gap:14px;margin-block-start:10px;color:var(--mut);font-size:16px}
.rotate input{flex:1}
input[type=range]{accent-color:var(--ice);block-size:32px;cursor:pointer;inline-size:100%}

/* mix */
.mixgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);margin-block-start:40px;align-items:start}
@media(max-width:960px){.mixgrid{grid-template-columns:1fr}}
.panel{background:var(--s1);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,3vw,32px)}
.field{margin-block-end:18px}
.field label,.lbl{display:flex;justify-content:space-between;gap:10px;font-weight:700;margin-block-end:8px}
.pair{display:grid;grid-template-columns:1fr 130px;gap:14px;align-items:center}
input[type=number],input[type=text],select,textarea{inline-size:100%;background:var(--s2);border:1.5px solid #5b6672;border-radius:12px;padding:10px 12px;min-block-size:46px}
textarea{min-block-size:120px;resize:vertical}
.sum{display:grid;gap:4px}
.num{font:400 clamp(52px,7vw,92px)/1 var(--disp);color:var(--ice);font-variant-numeric:tabular-nums}
.num small{font:700 18px var(--body);color:var(--mut);margin-inline-start:8px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-block-start:18px}
.row2 dt{color:var(--mut);font-size:16px}.row2 dd{font:700 22px var(--body);font-variant-numeric:tabular-nums}
.stress{display:flex;align-items:center;gap:12px;margin-block-start:20px;padding-block-start:18px;border-block-start:1px solid var(--line);font-weight:700;cursor:pointer}
.stress input{inline-size:22px;block-size:22px;accent-color:var(--ice);flex:none}
.stressout{color:var(--mut);margin-block-start:8px;min-block-size:3em}
.tracks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-block-start:28px}
@media(max-width:960px){.tracks{grid-template-columns:1fr}}
.trk h2{font:400 24px/1.2 var(--disp);display:flex;align-items:center;gap:10px}
.key{display:inline-block;inline-size:16px;block-size:16px;border-radius:4px;background:var(--c);flex:none}
.trk p{color:var(--mut);font-size:16px;margin-block:6px 16px;min-block-size:3.3em}
.trk .out{border-block-start:1px solid var(--line);padding-block-start:14px;margin-block-start:6px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.trk .out dt{color:var(--mut);font-size:16px}.trk .out dd{font:700 20px var(--body);font-variant-numeric:tabular-nums}
.pct{font-variant-numeric:tabular-nums;color:var(--ice)}
.note{font-size:16px;color:var(--mut);margin-block-start:16px}

/* home rows */
.rows{margin-block-start:80px;border-block-start:1px solid var(--line)}
.rows li{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:baseline;padding-block:30px;border-block-end:1px solid var(--line);transition:background .3s}
.rows li:hover{background:linear-gradient(90deg,transparent,rgba(154,213,255,.05))}
.rows b{font:400 56px/1 var(--disp);color:var(--ice)}
.rows h3{font:400 28px/1.2 var(--disp);margin-block-end:6px}
.rows p{color:var(--mut);max-inline-size:36em}
@media(max-width:600px){.rows li{grid-template-columns:64px 1fr}.rows b{font-size:40px}}
.quote{margin-block-start:60px;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--s1);max-inline-size:760px}
.quote p{font:400 26px/1.4 var(--disp)}
.quote footer{margin-block-start:14px;color:var(--mut);font-size:16px}
.tag{display:inline-block;border:1px solid var(--ice);color:var(--ice);border-radius:99px;padding:1px 10px;margin-inline-start:8px;font-size:16px}

/* faq */
.faq{margin-block-start:44px;max-inline-size:860px;border-block-start:1px solid var(--line)}
.faq h2{margin:0;font-size:inherit}
.faq button{inline-size:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:none;border:0;padding:24px 0;cursor:pointer;text-align:start;font:400 clamp(22px,2.6vw,30px)/1.25 var(--disp);color:var(--tx)}
.faq .plus{flex:none;inline-size:34px;block-size:34px;border:2px solid var(--ice);border-radius:50%;position:relative;transition:transform .4s var(--ease),background .3s}
.faq .plus::before,.faq .plus::after{content:"";position:absolute;inset:0;margin:auto;background:var(--ice);inline-size:14px;block-size:2px;transition:background .3s}
.faq .plus::after{transform:rotate(90deg);transition:transform .4s var(--ease),background .3s}
.faq [aria-expanded=true] .plus{background:var(--ice);transform:rotate(180deg)}
.faq [aria-expanded=true] .plus::before,.faq [aria-expanded=true] .plus::after{background:#0f1216}
.faq [aria-expanded=true] .plus::after{transform:rotate(0)}
.faq .item{border-block-end:1px solid var(--line)}
.faq .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.faq .ans>div{overflow:hidden}
.faq .ans p{color:var(--mut);padding-block-end:26px;max-inline-size:40em}
.faq .item:has([aria-expanded=true]) .ans{grid-template-rows:1fr}

/* talk */
.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;border:0;padding:0;margin:0 0 20px}
.choices legend{font-weight:700;margin-block-end:10px;padding:0}
.choices label{position:relative;display:block}
.choices input{position:absolute;opacity:0;inset:0;inline-size:100%;block-size:100%;margin:0;cursor:pointer}
.choices span{display:block;padding:14px 16px;border:1.5px solid #5b6672;border-radius:14px;background:var(--s2);transition:background .2s,border-color .2s,color .2s;font-weight:700}
.choices input:checked+span{background:var(--ice);border-color:var(--ice);color:#0f1216}
.choices input:focus-visible+span{outline:3px solid #fff;outline-offset:3px}
.bubble{background:var(--s2);border:1px solid var(--line);border-radius:22px 22px 22px 6px;padding:18px 20px;white-space:pre-wrap;min-block-size:140px}
.copied{color:var(--ice);font-weight:700;min-block-size:1.6em;margin-block-start:12px}

footer.site{border-block-start:1px solid var(--line);padding:36px var(--m) 48px;color:var(--mut);font-size:16px}
.site .in{max-inline-size:1400px;margin-inline:auto;display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:space-between}
.site .credit a{color:var(--tx);font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--ice)}

/* shutter + boot */
.shutter{position:fixed;inset:0;z-index:700;display:none;pointer-events:all}
.shutter.on{display:flex}
.shutter i{flex:1;background:#18222e;border-inline-start:1px solid rgba(154,213,255,.25);transform:scaleY(0)}
.shutter b{position:absolute;inset:0;display:grid;place-items:center;font:400 clamp(44px,9vw,120px) var(--disp);color:var(--ice);opacity:0}
.boot{position:fixed;inset:0;z-index:800;background:var(--bg);display:none;place-items:center}
.booting .boot{display:grid;animation:bootout .6s var(--wipe) 1.1s forwards}
.boot div{font:400 clamp(56px,12vw,140px)/1 var(--disp);color:var(--tx);overflow:hidden;display:flex;gap:.04em;direction:rtl}
.boot span{display:block;animation:rise .8s var(--ease) both;animation-delay:calc(var(--i)*70ms)}
.boot::after{content:"";position:absolute;inset-inline:30%;top:58%;block-size:3px;background:var(--ice);transform:scaleX(0);animation:grow 1s .2s var(--wipe) forwards}
@keyframes grow{to{transform:scaleX(1)}}
@keyframes bootout{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}
 .booting .boot{display:none}
}
.stage .tower{scale:1.3}@media(max-width:600px){.stage .tower{scale:1.1}}
h1:focus{outline:none}
@media(max-width:860px){.top{background:var(--bg);padding-block:10px}}
