@font-face{font-family:"Bricolage Grotesque";src:url("/assets/bricolage-latin.woff2") format("woff2");font-weight:200 800;font-display:swap}

/* ---------- tokens: two clays and ink ---------- */
:root{
  --cobalt:#2348F5;--cobalt-deep:#1733C2;--cobalt-dark:#112A9E;--cobalt-tint:#E3E8FF;
  --putty:#EFEDE7;--putty-2:#E4E1D9;--putty-3:#D3CFC4;--white:#FFFFFF;
  --ink:#171A2B;--ink-2:#474C61;--mute:#767B8E;--line:#DAD7CF;
  --bg:var(--putty);--surface:#F8F7F3;--card:#FFFFFF;
  --panel:#FFFFFF;--panel-ink:#171A2B;--panel-line:#E6E3DB;--panel-bg:#F3F1EB;
  --go:#108B5C;
  --font:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --spring:cubic-bezier(.2,1.6,.4,1);--ease:cubic-bezier(.4,0,.2,1);
  /* moulded surfaces: a light lip on top, a shade underneath, a soft contact shadow */
  --mould:0 1.5px 0 rgba(255,255,255,.85) inset,0 -3px 0 rgba(23,26,43,.07) inset,0 1px 0 rgba(23,26,43,.06),0 14px 28px -18px rgba(23,26,43,.35);
  --mould-deep:0 2px 0 rgba(255,255,255,.9) inset,0 -5px 0 rgba(23,26,43,.08) inset,0 2px 0 rgba(23,26,43,.05),0 30px 50px -30px rgba(23,26,43,.45);
  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:500 17px/1.5 var(--font);-webkit-font-smoothing:antialiased;overflow-x:clip;position:relative}
/* putty grain over everything, very faint */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;filter:url(#putty);opacity:.6;mix-blend-mode:multiply}
.defs{position:absolute}
a{color:var(--cobalt)}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:12px}
.band :focus-visible{outline-color:#fff}
.skip{position:absolute;left:-999px;top:8px;background:var(--card);color:var(--ink);padding:8px 12px;border-radius:8px;z-index:70}
.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1200px;margin:0 auto;padding-inline:24px}
h1,h2,h3{margin:0;letter-spacing:-.03em;font-weight:720}
.sec-h{font-size:clamp(32px,4.2vw,52px);line-height:1.02;letter-spacing:-.035em;max-width:17ch}
h3{font-size:24px;line-height:1.2}
p{margin:0}
.sub{color:var(--ink-2);font-size:clamp(17px,1.5vw,20px);line-height:1.45;max-width:46ch}

/* ---------- clay buttons and chips: soft depth, squash on press ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font:650 17px/1 var(--font);padding:16px 22px;border-radius:18px;text-decoration:none;cursor:pointer;border:0;
  transition:transform .5s var(--spring),box-shadow .3s,background .3s;will-change:transform;transform-origin:50% 100%}
.btn:hover{transform:scale(1.04) translateY(-1px)}
.btn:active{transform:scale(1.06,.9) translateY(2px);transition-duration:.08s}
.btn-white{background:#F7F5F0;color:var(--cobalt-deep);box-shadow:0 2px 0 rgba(255,255,255,.9) inset,0 -4px 0 rgba(23,26,43,.14) inset,0 18px 30px -16px rgba(0,0,60,.6)}
.btn-cobalt{background:var(--cobalt);color:#fff;box-shadow:0 2px 0 rgba(255,255,255,.35) inset,0 -4px 0 rgba(0,0,0,.24) inset,0 14px 24px -14px rgba(35,72,245,.7)}
.btn-cobalt.sm{font-size:14.5px;padding:11px 16px;border-radius:13px}
.btn-ghost{color:inherit;font-weight:600;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.45);padding-bottom:2px;transition:border-color .2s}
.btn-ghost:hover{border-color:#fff}
.chip{font:600 14.5px/1 var(--font);color:var(--ink);background:var(--card);border:0;border-radius:999px;padding:10px 15px;cursor:pointer;box-shadow:var(--mould);transition:transform .5s var(--spring),background .2s,color .2s;transform-origin:50% 100%}
.chip:hover{transform:scale(1.06)}
.chip:active{transform:scale(1.08,.9);transition-duration:.08s}
.chip[aria-pressed=true]{background:var(--cobalt);color:#fff;box-shadow:0 1.5px 0 rgba(255,255,255,.3) inset,0 -3px 0 rgba(0,0,0,.22) inset}

/* ---------- the cobalt band ---------- */
.band{background:var(--cobalt);color:#fff;position:relative;isolation:isolate}
.band::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(900px 520px at 85% 0%,rgba(255,255,255,.16),transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(0,0,40,.18),transparent 60%)}
.clay-sky{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:0;transition:opacity .8s}
.clay-sky.on{opacity:1}
.hero-band{padding-bottom:300px}
/* the band's bottom edge is a soft, slightly uneven clay lip, not a straight line */
.hero-band::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:70px;background:var(--bg);clip-path:polygon(0 100%,0.0% 70%,2.5% 75%,5.0% 76%,7.5% 73%,10.0% 66%,12.5% 59%,15.0% 55%,17.5% 55%,20.0% 59%,22.5% 65%,25.0% 69%,27.5% 71%,30.0% 69%,32.5% 64%,35.0% 60%,37.5% 57%,40.0% 55%,42.5% 53%,45.0% 48%,47.5% 41%,50.0% 30%,52.5% 20%,55.0% 13%,57.5% 11%,60.0% 14%,62.5% 22%,65.0% 32%,67.5% 39%,70.0% 44%,72.5% 46%,75.0% 47%,77.5% 50%,80.0% 54%,82.5% 58%,85.0% 62%,87.5% 63%,90.0% 60%,92.5% 56%,95.0% 53%,97.5% 53%,100.0% 57%,100% 100%)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding-block:22px;position:relative;z-index:1}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:720;font-size:22px;letter-spacing:-.02em}
.brand img{border-radius:8px;box-shadow:0 4px 10px -4px rgba(0,0,40,.5)}
.topbar nav{display:flex;align-items:center;gap:28px}
.topbar nav a{color:inherit;text-decoration:none;font-size:15.5px;font-weight:600;opacity:.88}
.topbar nav a:hover{opacity:1}
.nav-cta{background:rgba(255,255,255,.14);padding:9px 14px;border-radius:12px;opacity:1!important;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 -2px 0 rgba(0,0,40,.15) inset;transition:transform .45s var(--spring),background .2s}
.nav-cta:hover{background:rgba(255,255,255,.22);transform:scale(1.04)}

.hero{position:relative;z-index:1;padding-top:20px}
h1{font-size:clamp(58px,7.6vw,108px);line-height:.9;letter-spacing:-.05em;font-weight:760}
h1 .w{display:inline-block;transform-origin:50% 100%}
.lede{font-size:clamp(18px,1.7vw,21px);line-height:1.38;max-width:40ch;margin-top:18px;opacity:.94}
.hero .cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}
@keyframes land{0%{opacity:0;transform:translateY(40px) scaleY(1.15)}60%{opacity:1;transform:translateY(-4px) scaleY(.96)}100%{opacity:1;transform:none}}
h1 .w{animation:land .8s var(--ease) both}
h1 .w:nth-child(2){animation-delay:.08s}h1 .w:nth-child(3){animation-delay:.16s}h1 .w:nth-child(4){animation-delay:.26s}
.lede,.hero .cta{animation:land .8s var(--ease) both;animation-delay:.42s}
.hero .cta{animation-delay:.52s}

/* ---------- the stage: a clay browser, with the three of them sitting on its top edge ---------- */
.stage-sec{margin-top:-270px;position:relative;z-index:2}
.stage-wrap{position:relative}
.ledge{position:absolute;right:36px;top:50px;height:min(190px,16vw);z-index:3;display:flex;align-items:flex-end;justify-content:flex-end;
  transform:translateY(calc(-100% + var(--py,0px)));transform-origin:50% 100%;will-change:transform;touch-action:none}
.m{position:relative;height:100%;flex:none;cursor:grab;user-select:none;-webkit-user-drag:none;touch-action:none}
.m-pinch{height:92%;margin-right:-6%;translate:0 -18px}.m-dab{height:118%;z-index:1;margin:0 -7%;translate:0 10px}.m-seam{height:100%;translate:0 10px}
.m .body{position:relative;height:100%;transform-origin:50% 96%;will-change:transform;filter:drop-shadow(0 12px 12px rgba(0,0,60,.26))}
.m picture{display:block;height:100%}
.m img{display:block;height:100%;width:auto;pointer-events:none;-webkit-user-drag:none}
@keyframes settle{0%{opacity:0;transform:translateY(calc(-100% + 40px))}100%{opacity:1;transform:translateY(-100%)}}
.ledge{animation:settle 1.1s cubic-bezier(.2,.9,.3,1) both .35s}
.stage{margin:0;border-radius:30px;background:var(--cobalt-deep);padding:10px;position:relative;
  box-shadow:0 2px 0 rgba(255,255,255,.28) inset,0 -5px 0 rgba(0,0,40,.3) inset,0 60px 90px -40px rgba(0,0,60,.65)}
.bezel{display:flex;align-items:center;gap:14px;padding:6px 10px 14px}
.lights{display:flex;gap:7px}.lights i{width:12px;height:12px;border-radius:50%;background:#F4F2EC;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 2px 3px rgba(0,0,40,.4)}
.url{flex:1;display:flex;align-items:center;gap:8px;font-size:13.5px;color:rgba(255,255,255,.92);background:rgba(0,0,40,.3);border-radius:12px;padding:7px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .25s;box-shadow:0 2px 0 rgba(0,0,0,.15) inset,0 1px 0 rgba(255,255,255,.12)}
.url.swap{opacity:0}
.lock{width:9px;height:11px;border:2px solid rgba(255,255,255,.7);border-radius:3px;flex:none;position:relative}
.lock::before{content:"";position:absolute;left:1px;top:-6px;width:5px;height:5px;border:1.5px solid rgba(255,255,255,.7);border-bottom:0;border-radius:4px 4px 0 0}
.ext img{display:block;border-radius:6px}
.split{display:grid;grid-template-columns:1fr 320px;position:relative;border-radius:20px;overflow:hidden;background:var(--panel)}
.viewport{position:relative;overflow:hidden;background:#fff;height:420px}
.scaler{position:absolute;left:0;top:0;transform-origin:0 0}
.cam{transform-origin:50% 50%;transition:transform 1.5s cubic-bezier(.5,0,.15,1)}
.page{width:var(--pw,880px);height:var(--ph,560px);overflow:hidden;background:#fff;color:#171a21;font-family:var(--font);container-type:inline-size;position:relative}
.cursor{position:absolute;left:0;top:0;width:20px;height:24px;z-index:6;pointer-events:none;opacity:0;transition:transform 1s cubic-bezier(.45,0,.2,1),opacity .3s;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.cursor.on{opacity:1}
.cursor.click{animation:click .25s}
@keyframes click{50%{transform:var(--t) scale(.8)}}
.callout{position:absolute;z-index:4;background:var(--cobalt);color:#fff;font:650 13px/1.2 var(--font);padding:7px 11px;border-radius:999px;white-space:nowrap;
  box-shadow:0 1.5px 0 rgba(255,255,255,.3) inset,0 -2px 0 rgba(0,0,0,.2) inset,0 8px 20px -6px rgba(0,0,60,.6);transform:translate(-50%,0) scale(.6);opacity:0;transition:transform .5s var(--spring),opacity .25s}
.callout.on{transform:translate(-50%,0);opacity:1}
.viewport::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 0 rgba(0,0,0,0);transition:box-shadow 1.5s}
.viewport.zoomed::after{box-shadow:inset 0 0 90px 0 rgba(10,16,40,.1)}

/* the Siteclay panel */
.panel{background:var(--panel);color:var(--panel-ink);border-left:1px solid var(--panel-line);padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;font-size:14px;position:relative}
.p-head{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700}
.p-head img{border-radius:5px}
.site-chip{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--panel-bg);padding:4px 10px;border-radius:999px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 -1.5px 0 rgba(0,0,0,.05) inset}
.ask{min-height:50px;border-radius:16px;padding:12px 14px;font-size:15px;line-height:1.35;background:var(--panel-bg);box-shadow:0 3px 0 rgba(0,0,0,.05) inset,0 1px 0 rgba(255,255,255,.5);transition:box-shadow .3s}
.ask.focus{box-shadow:0 3px 0 rgba(0,0,0,.05) inset,0 0 0 2px var(--cobalt) inset}
.caret{display:inline-block;width:2px;height:1em;background:currentColor;vertical-align:-2px;margin-left:1px;animation:blink 1s steps(2) infinite}
.caret.off{display:none}
@keyframes blink{50%{opacity:0}}
.steps{list-style:none;margin:0;padding:0 2px;display:flex;flex-direction:column;gap:10px}
.steps li{display:grid;grid-template-columns:18px 1fr;gap:0 9px;align-items:center;color:var(--mute);transition:color .3s;font-weight:500}
.steps .dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);position:relative;transition:all .3s}
.steps li[data-state=active]{color:var(--panel-ink)}
.steps li[data-state=active] .dot{border-color:var(--cobalt);border-top-color:transparent;animation:spin .8s linear infinite}
.steps li[data-state=done]{color:var(--panel-ink)}
.steps li[data-state=done] .dot{background:var(--cobalt);border-color:var(--cobalt)}
.steps li[data-state=done] .dot::after{content:"";position:absolute;left:3px;top:1px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
@keyframes spin{to{transform:rotate(360deg)}}
.preview{display:grid;gap:3px;background:var(--panel-bg);border-radius:16px;padding:12px 14px;opacity:0;transform:translateY(8px) scale(.96);transition:opacity .3s,transform .5s var(--spring);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 -2px 0 rgba(0,0,0,.04) inset}
.preview.on{opacity:1;transform:none}
.preview b{font-size:15px;line-height:1.2;letter-spacing:-.01em}
.preview small{font-size:12.5px;color:var(--mute);line-height:1.3}
.install{display:flex;flex-direction:column;gap:7px;align-items:flex-start;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .4s var(--spring)}
.install.on{opacity:1;transform:none}
.install .btn{font-size:15px;padding:11px 18px;border-radius:13px}
.install.done .btn{background:var(--go);box-shadow:0 1.5px 0 rgba(255,255,255,.35) inset,0 -4px 0 rgba(0,0,0,.2) inset}
.install small{font-size:12px;color:var(--mute);line-height:1.3}
/* the playground: once the mod is in, the blocks on the page become clay toggles */
.play{margin-top:auto;display:grid;gap:8px;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .5s var(--spring);pointer-events:none}
.play.on{opacity:1;transform:none;pointer-events:auto}
.play-h{display:flex;align-items:center;justify-content:space-between;font-size:13.5px}
.replay{font:600 12.5px/1 var(--font);color:var(--cobalt);background:none;border:0;padding:4px 0;cursor:pointer;display:none}
.play.user .replay{display:inline}
.toggles{display:flex;flex-wrap:wrap;gap:6px}
.tog{display:inline-flex;align-items:center;gap:7px;font:600 12.5px/1 var(--font);color:var(--ink-2);background:var(--panel-bg);border:0;border-radius:999px;padding:7px 11px 7px 7px;cursor:pointer;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 -2px 0 rgba(0,0,0,.05) inset;transition:transform .5s var(--spring),background .2s,color .2s;transform-origin:50% 100%}
.tog:hover{transform:scale(1.05)}
.tog:active{transform:scale(1.08,.88);transition-duration:.08s}
.tog .k{width:26px;height:16px;border-radius:999px;background:var(--putty-3);position:relative;transition:background .25s;box-shadow:0 2px 0 rgba(0,0,0,.08) inset}
.tog .k::after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .4s var(--spring);box-shadow:0 1px 2px rgba(0,0,0,.3)}
.tog[aria-pressed=true]{color:var(--panel-ink)}
.tog[aria-pressed=true] .k{background:var(--cobalt)}
.tog[aria-pressed=true] .k::after{transform:translateX(10px)}

/* scene strip */
.scenes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 0}
.scenes button{position:relative;overflow:hidden;text-align:left;font:inherit;color:var(--ink);background:var(--card);border:0;border-radius:18px;padding:14px 16px 18px;cursor:pointer;display:grid;gap:3px;
  box-shadow:var(--mould);transition:transform .5s var(--spring),box-shadow .3s;transform-origin:50% 100%}
.scenes button:hover{transform:translateY(-2px) scale(1.015)}
.scenes button:active{transform:scale(1.02,.95)}
.scenes button b{font-size:14px;font-weight:700;color:var(--cobalt)}
.scenes button span{font-size:15.5px;color:var(--ink);line-height:1.3;font-weight:600;letter-spacing:-.01em}
.scenes button[aria-pressed=true]{box-shadow:var(--mould),0 0 0 2px var(--cobalt)}
.scenes .bar{position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--cobalt);transform:scaleX(var(--p,0));transform-origin:0 50%}
.scenes button[aria-pressed=false] .bar{display:none}

/* ---------- sections ---------- */
main>section{padding-block:clamp(72px,9vw,120px)}
.jobs .sec-h{margin-bottom:56px;max-width:22ch}
.triad{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.job h3{margin:14px 0 4px;font-size:28px}
.job .who{color:var(--cobalt);font-weight:650;font-size:16px;margin-bottom:10px}
.job p{color:var(--ink-2);font-size:16.5px;line-height:1.5;max-width:34ch}
.eg{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px}
.eg li{font-size:15px;font-weight:600;color:var(--ink);padding-left:16px;position:relative}
.eg li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--cobalt)}
.clay-obj{position:relative;aspect-ratio:1;display:grid;place-items:center}
.clay-obj.wide{aspect-ratio:3/2}
.clay-obj img{width:100%;height:auto;display:block;transform-origin:50% 92%;transition:transform .6s var(--spring)}
.job:hover .clay-obj img{transform:scale(1.04,.98) rotate(-1deg)}
.job:hover .clay-obj::after{transform:scale(1.06,1)}
.clay-obj::after{content:"";position:absolute;left:18%;right:18%;bottom:4%;height:7%;border-radius:50%;background:radial-gradient(closest-side,rgba(23,26,43,.2),transparent);z-index:-1;transition:transform .6s var(--spring)}

/* scroll reveals: the clay pieces drop in and squash once */
.reveal{opacity:0;transform:translateY(40px) scale(.96)}
.reveal.in{animation:drop .9s cubic-bezier(.2,.9,.3,1) both}
@keyframes drop{0%{opacity:0;transform:translateY(40px) scale(.96)}55%{opacity:1;transform:translateY(-6px) scaleY(.98)}100%{opacity:1;transform:none}}
.triad .reveal:nth-child(2).in{animation-delay:.12s}.triad .reveal:nth-child(3).in{animation-delay:.24s}

/* library: a moulded slab with its own rounded edge */
.library{background:var(--surface);border-radius:56px 56px 0 0;box-shadow:0 2px 0 rgba(255,255,255,.7) inset;position:relative}
.library::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:56px;background:var(--bg);border-radius:56px 56px 0 0}
.library .wrap{position:relative;z-index:1}
.lib-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:end;margin-bottom:28px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{font:600 14.5px/1 var(--font);color:var(--ink);background:var(--card);border:0;border-radius:999px;padding:10px 15px;cursor:pointer;box-shadow:var(--mould);transition:transform .5s var(--spring),background .2s,color .2s;transform-origin:50% 100%}
.filters button:hover{transform:scale(1.06)}
.filters button:active{transform:scale(1.08,.9);transition-duration:.08s}
.filters button[aria-pressed=true]{background:var(--cobalt);color:#fff;box-shadow:0 1.5px 0 rgba(255,255,255,.3) inset,0 -3px 0 rgba(0,0,0,.22) inset}
.mods{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mod{display:grid;grid-template-rows:auto 1fr auto;background:var(--card);border-radius:26px;padding:12px 12px 16px;box-shadow:var(--mould-deep);cursor:default;
  transition:transform .5s var(--spring),box-shadow .3s;animation:pop .5s var(--spring) both;transform-origin:50% 100%}
.mod:hover,.mod:focus-within{transform:translateY(-4px) scale(1.015)}
.mod.hide{display:none}
@keyframes pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
.mod-body{padding:14px 6px 8px;display:grid;gap:6px;align-content:start}
.mod .site{font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);width:fit-content}
.ic{width:14px;height:14px;fill:currentColor;flex:none}
.mod .site .ic{width:15px;height:15px}
.btn .ic{width:20px;height:20px}
.mod h3{font-size:19px;line-height:1.2;letter-spacing:-.02em}
.mod p{font-size:14.5px;color:var(--ink-2);line-height:1.4}
.mod .install-btn{margin:4px 6px 0;justify-self:start}
.mod .install-btn.done{background:var(--go)}
.lib-more{margin-top:28px;color:var(--mute);font-size:15.5px}

/* mini sites: simplified, recognisable, before on rest and after on hover.
   .b blocks pinch out, .a blocks press in; .cl is a collapsing row */
.thumb{position:relative;aspect-ratio:16/10;border-radius:16px;background:#fff;overflow:hidden;padding:10px;display:grid;gap:5px;align-content:start;box-shadow:0 0 0 1px rgba(23,26,43,.06) inset;--g:#E6E6EA;--g2:#F1F1F4;--t:#C9CACF}
.thumb i{display:block;border-radius:4px;background:var(--g)}
.thumb .ln{height:6px;width:80%;background:var(--g)}
.thumb .ln.short{width:50%}
.thumb .ttl{height:8px;width:72%;background:var(--t)}
.thumb .ttl.short{width:40%}
.thumb .cl{display:grid;grid-template-rows:1fr;transition:grid-template-rows .6s var(--ease) .25s,opacity .3s .2s}
.thumb .cl>div{min-height:0;overflow:hidden}
.thumb .cl>div>div{transform-origin:50% 0;transition:transform .45s var(--ease),opacity .3s}
.thumb .cl.a{grid-template-rows:0fr;opacity:0;transition-delay:0s}
.thumb .cl.a>div>div{transform:scale(.6,0);transition-delay:0s}
.thumb .a:not(.cl){transform:scale(0);opacity:0;transition:transform .5s var(--spring),opacity .2s;transform-origin:50% 50%;background:var(--cobalt)}
.mod:hover .thumb .cl.b,.mod:focus-within .thumb .cl.b{grid-template-rows:0fr;opacity:0;transition-delay:.3s}
.mod:hover .thumb .cl.b>div>div,.mod:focus-within .thumb .cl.b>div>div{transform:scale(1.04,.4);opacity:0}
.mod:hover .thumb .cl.a,.mod:focus-within .thumb .cl.a{grid-template-rows:1fr;opacity:1;transition-delay:.2s}
.mod:hover .thumb .cl.a>div>div,.mod:focus-within .thumb .cl.a>div>div{transform:none;transition-delay:.45s}
.mod:hover .thumb .a:not(.cl),.mod:focus-within .thumb .a:not(.cl){transform:none;opacity:1}
.thumb .b:not(.cl){transition:transform .4s var(--ease),opacity .3s;transform-origin:50% 50%}
.mod:hover .thumb .b:not(.cl),.mod:focus-within .thumb .b:not(.cl){transform:scale(1.1,.2);opacity:0}
.thumb .tb{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.thumb .tb .logo{width:34px;height:10px;border-radius:3px;background:var(--sc,var(--t))}
.thumb .tb .pill{flex:1;height:12px;border-radius:999px;background:var(--g2);box-shadow:0 0 0 1px var(--g)}
/* google */
.t-google{--sc:#4285F4}
.t-google .ai{display:grid;gap:4px;padding:8px;border-radius:8px;background:linear-gradient(135deg,#EEF2FF,#F3EEFF);margin-bottom:5px}
.t-google .ai .dot{width:8px;height:8px;border-radius:50%;background:conic-gradient(#4285F4,#34A853,#FBBC05,#EA4335,#4285F4)}
.t-google .sp{display:grid;gap:4px;margin-bottom:5px}.t-google .sp .tag{width:30px;height:5px;background:#1a1a1a;border-radius:2px}
.t-google .res{display:grid;gap:4px}
.t-google .res .ttl{background:#1a0dab;opacity:.75}
/* youtube */
.t-youtube{--sc:#FF0033}
.t-youtube .shorts{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:5px;position:relative;padding-top:9px}
.t-youtube .shorts .tag{position:absolute;left:0;top:0;width:28px;height:6px;background:#FF0033;border-radius:2px}
.t-youtube .shorts i:not(.tag){aspect-ratio:9/13;border-radius:5px;background:var(--t)}
.t-youtube .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.t-youtube .grid i{aspect-ratio:16/10;border-radius:5px;background:var(--g)}
/* x posts */
.t-x .post,.t-linkedin .post{display:grid;grid-template-columns:16px 1fr auto;grid-template-rows:auto auto;gap:3px 6px;padding:4px 0;border-bottom:1px solid var(--g2)}
.t-x .av,.t-linkedin .av{grid-row:1/3;width:16px;height:16px;border-radius:50%;background:var(--t)}
.t-x .nm,.t-linkedin .nm{height:6px;width:46px;background:#111;opacity:.6;border-radius:3px;align-self:center}
.t-x .chip{width:24px;height:8px;border-radius:999px;justify-self:start;align-self:center}
.t-x .ln{grid-column:2/4}
/* amazon */
.t-amazon{--sc:#FF9900}
.t-amazon .tb .pill{background:#F0F2F2;box-shadow:0 0 0 1px #DDD}
.t-amazon .prod{display:grid;grid-template-columns:36% 1fr;gap:8px}
.t-amazon .img{height:100%;min-height:70px;border-radius:6px;background:#EFEFEF}
.t-amazon .info{display:grid;gap:4px;align-content:start}
.t-amazon .stars{height:5px;width:40%;background:#DE7921;border-radius:2px}
.t-amazon .price{height:9px;width:30%;background:#B12704;border-radius:2px}
.t-amazon .chart{height:22px;width:100%;border-radius:4px;background:var(--cobalt);clip-path:polygon(0 65%,15% 65%,30% 45%,45% 50%,60% 80%,75% 35%,90% 40%,100% 20%,100% 100%,0 100%)}
.t-amazon .reviews{display:grid;gap:3px}
.t-amazon .rv{height:9px;width:100%;border-radius:3px;background:var(--cobalt);opacity:.9}
.t-amazon .rv.r2{width:85%;opacity:.7}
.t-amazon .buy{height:12px;width:55%;border-radius:999px;background:#FFD814}
/* three columns */
.t-cols{grid-template-columns:22px 1fr;gap:8px;transition:grid-template-columns .6s var(--ease)}
.t-cols .side{height:100%;border-radius:5px;background:var(--g2)}
.t-cols .cols{display:grid;grid-template-columns:1fr 0fr 0fr;gap:0;transition:grid-template-columns .7s var(--ease),gap .7s}
.t-cols .col{display:grid;gap:4px;align-content:start;min-width:0;overflow:hidden}
.t-cols .col i{height:12px;border-radius:3px;background:var(--g)}
.t-cols .col .hd{height:7px;width:40%;background:#111;opacity:.7}
.t-cols .col .hd.bsky{background:#1185FE;opacity:1}
.t-cols .col.a{transform:none;opacity:1;background:none}
.mod:hover .t-cols,.mod:focus-within .t-cols{grid-template-columns:8px 1fr}
.mod:hover .t-cols .cols,.mod:focus-within .t-cols .cols{grid-template-columns:1fr 1fr 1fr;gap:6px}
/* airbnb */
.t-airbnb{grid-template-columns:1fr 1fr;gap:8px}
.t-airbnb .card{display:grid;gap:3px;position:relative}
.t-airbnb .ph{aspect-ratio:4/3;border-radius:7px;background:linear-gradient(135deg,#D9CFC0,#B8A58E)}
.t-airbnb .ph.p2{background:linear-gradient(135deg,#C7D6CF,#8FA89C)}.t-airbnb .ph.p3{background:linear-gradient(135deg,#DDD3DC,#A894A8)}.t-airbnb .ph.p4{background:linear-gradient(135deg,#D3DAE4,#8E9DB2)}
.t-airbnb .heart{position:absolute;right:5px;top:5px;width:8px;height:8px;border-radius:50%;background:#FF385C}
.t-airbnb .ln{width:70%;height:5px}
.t-airbnb .pr{height:6px;width:36%;background:#222;border-radius:2px}
.t-airbnb .pr.tot{position:absolute;left:0;bottom:0;width:62%;background:var(--cobalt)}
.t-airbnb .b{position:relative}
/* reddit */
.t-reddit .post{display:grid;grid-template-columns:10px 1fr;grid-template-rows:auto auto;gap:3px 6px;padding:4px 0;border-bottom:1px solid var(--g2)}
.t-reddit .vote{grid-row:1/3;width:8px;height:16px;border-radius:3px;background:var(--g)}
.t-reddit .sub{height:5px;width:40px;background:var(--t);border-radius:2px}
.t-reddit .promo .tag{height:5px;width:36px;background:#FF4500;border-radius:2px}
.t-reddit .ttl{width:85%}
/* linkedin */
.t-linkedin .sugg .tag{height:6px;width:50px;background:#0A66C2;border-radius:3px;align-self:center}
.t-linkedin .ln{grid-column:2/4}
/* gmail */
.t-gmail .row{display:grid;grid-template-columns:8px 50px 1fr auto;gap:6px;align-items:center;padding:4px 0;border-bottom:1px solid var(--g2)}
.t-gmail .st{width:8px;height:8px;border-radius:50%;background:var(--g)}
.t-gmail .fr{height:6px;background:#222;opacity:.6;border-radius:2px}
.t-gmail .sb{height:6px;width:90%;background:var(--g)}
.t-gmail .unsub{width:34px;height:10px;border-radius:999px}
/* youtube watch */
.t-watch{grid-template-columns:1fr 30%;grid-template-rows:auto auto;gap:6px}
.t-watch .player{aspect-ratio:16/9;border-radius:7px;background:#111;display:grid;place-items:center}
.t-watch .playbtn{width:18px;height:12px;border-radius:4px;background:#FF0033}
.t-watch .side{grid-row:1/3}
.t-watch .side .cl>div{display:grid;gap:4px}
.t-watch .rec{aspect-ratio:16/9;border-radius:4px;background:var(--g)}
.t-watch .ttl{width:70%}
/* calendar */
.t-cal{grid-template-columns:1fr;position:relative}
.t-cal .hours{display:grid;gap:12px}
.t-cal .hours i{height:1px;background:var(--g);border-radius:0}
.t-cal .ev{position:absolute;left:24%;top:22%;width:40%;height:14%;background:#C9DAFF;border-left:3px solid #4285F4;border-radius:4px}
.t-cal .ev.e2{top:60%;width:30%}
.t-cal .task{position:absolute;left:68%;top:14%;width:26%;height:9%;border-radius:4px}
.t-cal .task.t2{top:34%}.t-cal .task.t3{top:78%}

/* make one */
.make-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.make .sub{margin-top:18px}
.ask-form{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.field{margin:0;background:var(--card);border:0;border-radius:20px;padding:16px 20px;font:600 19px/1.3 var(--font);color:var(--ink);box-shadow:var(--mould),0 0 0 2px var(--cobalt);min-height:62px;width:100%;min-width:0}
.field::placeholder{color:var(--mute);font-weight:500}
.field:focus{outline:0;box-shadow:var(--mould),0 0 0 3px var(--cobalt)}
.ask-form .btn{border-radius:20px;padding-inline:20px}
.make-reply{min-height:1.5em;margin-top:12px;font-size:15px;color:var(--cobalt);font-weight:600}
.field-eg li button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.field-eg li button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.field-eg{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:6px}
.field-eg li{font-size:15px;color:var(--mute);padding-left:16px;position:relative}
.field-eg li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--putty-3)}

/* control */
.control-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
.rules{margin:32px 0 0;display:grid;gap:22px}
.rules div{display:grid;gap:4px;padding-left:22px;border-left:4px solid var(--cobalt);border-radius:2px}
.rules dt{font-weight:700;font-size:19px;letter-spacing:-.01em}
.rules dd{margin:0;color:var(--ink-2);max-width:48ch}

/* final: the band's top edge is shaped too */
.final.band{padding-block:clamp(90px,10vw,140px) clamp(72px,9vw,120px);margin-top:40px}
.final.band::after{content:"";position:absolute;left:0;right:0;top:-1px;height:60px;background:var(--bg);clip-path:polygon(0 0,100% 0,100.0% 43%,97.5% 47%,95.0% 47%,92.5% 44%,90.0% 40%,87.5% 37%,85.0% 38%,82.5% 42%,80.0% 46%,77.5% 50%,75.0% 53%,72.5% 54%,70.0% 56%,67.5% 61%,65.0% 68%,62.5% 78%,60.0% 86%,57.5% 89%,55.0% 87%,52.5% 80%,50.0% 70%,47.5% 59%,45.0% 52%,42.5% 47%,40.0% 45%,37.5% 43%,35.0% 40%,32.5% 36%,30.0% 31%,27.5% 29%,25.0% 31%,22.5% 35%,20.0% 41%,17.5% 45%,15.0% 45%,12.5% 41%,10.0% 34%,7.5% 27%,5.0% 24%,2.5% 25%,0.0% 30%)}
.final-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.final h2{font-size:clamp(52px,8vw,112px);line-height:.92;letter-spacing:-.05em;font-weight:760}
.final p{margin-top:20px;font-size:20px;opacity:.94}
.final .cta{margin-top:28px}
.final-art img{display:block;width:100%;height:auto}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:28px 44px;color:var(--mute);font-size:14px}
.foot a{color:var(--mute)}

/* privacy / 404 */
.doc-wrap{min-height:100vh}
.doc{max-width:68ch;padding:24px 0 72px;margin:0}
.doc h1{font-size:clamp(36px,5vw,56px);line-height:1.02;margin-bottom:16px}
.doc p,.doc li{color:var(--ink-2);margin:12px 0;font-size:16.5px}
.doc b{color:var(--ink)}
.top.plain{display:flex;align-items:center;justify-content:space-between;padding:22px 0;color:var(--ink)}
.top.plain .brand img{box-shadow:none}
.top.plain nav a{color:var(--mute);text-decoration:none;margin-left:20px;font-weight:600}
.lost{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:center}
.lost img{width:100%;height:auto;display:block}

/* ---------- mock sites inside the stage (internal page px) ----------
   blocks are clay: .out pinches a block out and the page closes up, .in presses one in */
.page .site{position:absolute;inset:0;font-size:14px;line-height:1.4}
.blk{display:grid;grid-template-rows:1fr;transition:grid-template-rows .7s var(--ease) .5s,opacity .3s .55s,margin .7s var(--ease) .5s}
.blk>div{min-height:0;overflow:hidden}
.blk>div>div{transform-origin:50% 40%}
.blk.out{grid-template-rows:0fr;opacity:0;margin:0!important}
.blk.out>div>div{animation:pinch .75s var(--ease) both}
@keyframes pinch{0%{transform:none}35%{transform:scale(1.03,.78)}70%{transform:scale(.55,.15) translateY(-20px);opacity:.9}100%{transform:scale(.3,.05) translateY(-40px);opacity:0}}
.blk.add{grid-template-rows:0fr;opacity:0;transition-delay:0s}
.blk.add>div>div{transform:scale(.7,0)}
.blk.add.in{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .6s var(--ease),opacity .2s}
.blk.add.in>div>div{animation:press .7s var(--ease) both .35s}
@keyframes press{0%{transform:scale(.7,0)}60%{transform:scale(1.04,1.08)}80%{transform:scale(.98,.96)}100%{transform:none}}
.blk.add.in>div>div.chart .l{stroke-dashoffset:0}.blk.add.in>div>div.chart .f{opacity:.08}.blk.add.in>div>div.chart circle{opacity:1}

.play-hint{font-size:12px;color:var(--mute);margin-top:-4px}
.split.playing .page{user-select:none;-webkit-user-select:none;touch-action:none}
.split.playing [data-block]:not(.out):not(.add),.split.playing [data-block].add.in{cursor:grab}
.page .dragging{cursor:grabbing;position:relative;z-index:5;box-shadow:0 30px 40px -20px rgba(0,0,60,.5);border-radius:12px;background:#fff}
.blk.out.flung>div>div{animation:none;opacity:0}

/* google (search) */
.google{background:#fff}
.g-top{display:flex;align-items:center;gap:26px;padding:16px 28px 10px}
.g-logo{font-weight:700;font-size:23px;letter-spacing:-.02em;color:#4285F4}
.g-search{flex:0 1 500px;height:42px;border-radius:999px;border:1px solid #dfe1e5;box-shadow:0 1px 6px rgba(32,33,36,.18);display:flex;align-items:center;padding:0 16px;font-size:15px;color:#202124;gap:10px}
.g-search::after{content:"";margin-left:auto;width:14px;height:14px;border:2px solid #4285F4;border-radius:50%;box-sizing:border-box}
.g-av{margin-left:auto;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#34A853,#4285F4)}
.g-tabs{display:flex;gap:22px;padding:0 28px 0 150px;border-bottom:1px solid #ebebeb;font-size:13px;color:#5f6368}
.g-tabs>*{padding:6px 0 9px}.g-tabs b{color:#1a0dab;font-weight:600;border-bottom:3px solid #1a0dab}
.g-body{padding:16px 28px 0 150px;max-width:780px}
.ai{margin-bottom:18px}
.ai>div>div{border-radius:16px;padding:14px 16px 12px;background:linear-gradient(135deg,#EEF2FF,#F3EEFF)}
.ai-h{display:flex;align-items:center;gap:7px;font-weight:650;font-size:13.5px;color:#1f1f1f;margin-bottom:6px}
.ai-h i{width:16px;height:16px;border-radius:50%;background:conic-gradient(from 0deg,#4285F4,#34A853,#FBBC05,#EA4335,#4285F4)}
.ai p{font-size:13.5px;color:#2d3140;line-height:1.45}
.ai .ai-src{margin-top:6px;font-size:12px;color:#7a7f8e}
.res{margin-bottom:18px}
.res .r-site{display:block;font-size:12.5px;color:#4d5156}
.res .r-site em{font-style:normal;font-weight:650;color:#1a1a1a;margin-right:8px}
.res a{display:block;color:#1a0dab;font-size:17px;line-height:1.3;margin:2px 0 3px;text-decoration:none}
.res p{font-size:13px;color:#4d5156}
.paa{margin-bottom:18px}
.paa>div>div{border:1px solid #e3e3e3;border-radius:12px;padding:10px 14px}
.paa b{display:block;font-size:14px;font-weight:600;color:#1f1f1f;margin-bottom:6px}
.paa span{display:block;font-size:13.5px;color:#1f1f1f;padding:7px 0;border-top:1px solid #eee}
.paa span::after{content:"";float:right;width:8px;height:8px;border:solid #5f6368;border-width:0 2px 2px 0;transform:rotate(45deg);margin:2px 4px 0 0}
.vids{margin-bottom:18px}
.vids>div>div{display:grid;gap:8px}
.vids b{font-size:14px;font-weight:600;color:#1f1f1f}
.vids .vrow{display:flex;gap:12px}
.vids .v{flex:1;display:flex;gap:10px;align-items:center;font-size:12.5px;color:#4d5156}
.vids .v i{flex:none;width:92px;height:52px;border-radius:8px;background:#2b2f3a;position:relative}
.vids .v i::after{content:"";position:absolute;left:38px;top:18px;border:8px solid transparent;border-left:12px solid #fff;border-right:0}

/* amazon (product) */
.amazon{background:#fff}
.a-top{display:flex;align-items:center;gap:16px;padding:10px 20px;background:#131921;color:#fff}
.a-logo{font-weight:700;font-size:18px;letter-spacing:-.02em}
.a-logo i{display:inline-block;width:30px;height:6px;border-radius:0 0 8px 8px;border:2px solid #FF9900;border-top:0;margin-left:2px;vertical-align:-2px}
.a-search{flex:1;height:34px;border-radius:6px;background:#fff;color:#555;font-size:13px;display:flex;align-items:center;padding:0 10px;overflow:hidden}
.a-search::after{content:"";margin-left:auto;width:40px;height:34px;background:#FEBD69;margin-right:-10px}
.a-cart{font-size:13px;font-weight:600}
.a-body{display:grid;grid-template-columns:1fr 1.1fr 200px;gap:28px;padding:22px 24px}
.a-img{aspect-ratio:1;border-radius:6px;background:#F3F3F3;position:relative;overflow:hidden}
.a-img .pan{position:absolute;left:14%;right:22%;top:30%;bottom:30%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#4a4a4a,#1f1f1f 70%)}
.a-img .pan::after{content:"";position:absolute;right:-30%;top:40%;width:40%;height:18%;background:#2a2a2a;border-radius:6px}
.a-info h2{font-size:19px;letter-spacing:-.01em;margin:0 0 6px;font-weight:600;line-height:1.3}
.a-stars{color:#DE7921;font-size:13px;margin-bottom:8px}
.a-stars span{color:#007185;margin-left:6px}
.a-price{font-size:26px;font-weight:600}
.a-price small{font-size:13px;vertical-align:top;font-weight:500}
.hist{margin:10px 0 0}
.hist .chart{background:#F7F7F4;border:1px solid #E5E5E0;border-radius:10px;padding:10px 12px 8px}
.hist-h{display:flex;justify-content:space-between;font-size:12px;color:#555;margin-bottom:4px}
.hist-h b{color:#222;font-weight:650}
.hist svg{display:block;width:100%;height:58px}
.hist path.l{fill:none;stroke:#2348F5;stroke-width:2;stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 1.3s ease-out .6s}
.hist path.f{fill:#2348F5;opacity:0;transition:opacity .6s 1.2s}
.hist circle{fill:#108B5C;opacity:0;transition:opacity .3s 1.7s}
.hist-f{display:flex;justify-content:space-between;font-size:12px;color:#555;margin-top:4px}
.hist-f .low{color:#108B5C;font-weight:650}
.a-rev{margin:10px 0 0}
.a-rev>div>div{border:1px solid #E5E5E0;border-radius:10px;padding:10px 12px;display:grid;gap:6px;font-size:12.5px;color:#333}
.a-rev b{color:#111}.a-rev em{font-style:normal;color:#007185;font-weight:600}
.a-bullets{margin:12px 0 0;padding-left:16px;font-size:12.5px;color:#333;line-height:1.5}
.a-spon{margin:0 0 0;padding:0 24px 20px;grid-column:1/-1}
.a-spon>div>div{border-top:1px solid #eee;padding-top:12px}
.a-spon b{font-size:13px;color:#555;font-weight:600;display:block;margin-bottom:8px}
.a-spon .srow{display:flex;gap:14px}
.a-spon .srow i{flex:1;height:48px;border-radius:6px;background:#F3F3F3}
.a-buy{border:1px solid #D5D9D9;border-radius:8px;padding:14px;font-size:13px;display:grid;gap:8px;align-self:start}
.a-buy b{font-size:20px}
.a-buy .del{color:#007600}
.a-btn{border-radius:999px;padding:8px;text-align:center;font-weight:600;background:#FFD814}
.a-btn.now{background:#FFA41C}

/* x (combine) */
.x{background:#fff;display:grid;grid-template-columns:200px 1fr;transition:grid-template-columns .9s var(--ease)}
.after .x{grid-template-columns:64px 1fr}
.x-side{border-right:1px solid #eff3f4;padding:14px 10px;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.x-logo{font-weight:800;font-size:22px;padding:4px 12px 12px;letter-spacing:-.03em;color:#0f1419}
.x-nav{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:999px;font-size:15px;white-space:nowrap;color:#0f1419}
.x-nav::before{content:"";flex:none;width:20px;height:20px;border-radius:6px;background:#cfd9de}
.x-nav.on{font-weight:700}.x-nav.on::before{background:#0f1419}
.x-post{margin-top:12px;background:#0f1419;color:#fff;border-radius:999px;padding:11px;text-align:center;font-weight:700;font-size:15px}
.x-side .lbl{transition:opacity .4s}
.after .x-side .lbl{opacity:0}
.x-main{display:grid;grid-template-columns:1fr 0fr 0fr 0fr;transition:grid-template-columns .9s var(--ease);overflow:hidden}
.x-col{min-width:0;overflow:hidden;border-right:1px solid #eff3f4;transition:opacity .4s}
.x-col:first-child{max-width:600px;transition:max-width .9s}
.after .x-col:first-child{max-width:none}
.x-col.add{opacity:0}.x-col.add.in{opacity:1}
.x-col header{display:flex;align-items:center;gap:8px;padding:12px 16px;font-weight:700;font-size:15px;border-bottom:1px solid #eff3f4;white-space:nowrap;background:#fff}
.x-col header .net{width:10px;height:10px;border-radius:3px;background:var(--nc,#0f1419)}
.post{padding:12px 16px;border-bottom:1px solid #eff3f4;display:grid;grid-template-columns:38px 1fr;gap:10px;min-width:240px}
.post .av{width:38px;height:38px;border-radius:50%;background:var(--av,#cfd9de)}
.post .who{font-size:14px;color:#536471;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.post .who b{color:#0f1419;font-weight:700;margin-right:5px}
.post .txt{font-size:14.5px;line-height:1.38;color:#0f1419;margin-top:2px}
.post .mt{display:flex;gap:20px;margin-top:8px;font-size:12.5px;color:#536471}

/* narrow page layout (phone stage, internal width 480) */
@container (max-width:560px){
  .g-top{padding:12px 16px 8px;gap:12px}.g-search{flex:1}.g-logo{font-size:19px}
  .g-tabs{padding-left:16px;gap:16px}.g-body{padding:12px 16px 0}
  .res a{font-size:15px}.vids .v{display:none}.vids .v:first-child{display:flex}
  .a-top{padding:8px 12px}.a-cart{display:none}
  .a-body{grid-template-columns:120px 1fr;gap:14px;padding:14px}
  .a-buy{display:none}.a-bullets{display:none}.a-spon{padding:0 14px 14px}
  .a-info h2{font-size:15px}.a-price{font-size:21px}
  .x{grid-template-columns:0 1fr}.after .x{grid-template-columns:0 1fr}
  .x-side{display:none}
  .post{min-width:150px;padding:10px 12px;grid-template-columns:28px 1fr;gap:8px}.post .av{width:28px;height:28px}
  .post .txt{font-size:12.5px}.x-col header{padding:10px 12px;font-size:13.5px}
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .triad{grid-template-columns:1fr;gap:40px}
  .job{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center}
  .job .clay-obj{grid-row:span 4}
  .job h3{margin-top:0}
  .mods{grid-template-columns:1fr 1fr}
  .lib-head,.make-grid,.control-grid,.final-grid{grid-template-columns:1fr;gap:32px}
  .control-grid .clay-obj{max-width:360px}
  .make-grid .clay-obj{max-width:560px}
  .final-art{max-width:520px}
  .topbar nav{gap:18px}
  .ledge{right:12px;height:min(150px,15vw)}
}
@media (max-width:760px){
  .wrap{padding-inline:20px}
  main>section{padding-block:64px}
  .hero{padding-top:12px}
  h1{font-size:clamp(56px,15.5vw,84px)}
  .lede{margin-top:14px}.hero .cta{margin-top:20px}
  .clay-sky{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:0;transition:opacity .8s}
.clay-sky.on{opacity:1}
.hero-band{padding-bottom:300px}.stage-sec{margin-top:-190px}
  .ledge{right:6px;height:min(30vw,120px);top:36px}
  .ask-form{grid-template-columns:1fr}
  .stage{border-radius:24px;padding:8px}
  .split{grid-template-columns:1fr}
  .viewport{height:300px}
  .panel{border-left:0;border-top:1px solid var(--panel-line);min-height:0}
  .preview{margin-top:6px}.play{margin-top:6px}
  .scenes{grid-template-columns:1fr;gap:8px}
  .scenes button{padding:12px 14px 16px}
  .topbar nav a:not(.nav-cta){display:none}
  .job{grid-template-columns:1fr}
  .job .clay-obj{max-width:300px;grid-row:auto}
  .mods{grid-template-columns:1fr}
  .filters{gap:6px}
  .filters button{padding:9px 12px;font-size:13.5px}
  .library{border-radius:36px 36px 0 0}
  .rules dd{font-size:15.5px}
  .lost{grid-template-columns:1fr}
}
@media (max-width:400px){
  .wrap{padding-inline:16px}
  .cta{gap:18px}
  .btn{padding:14px 18px;font-size:16px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:0s!important;transition-delay:0s!important;animation-duration:0s!important;animation-delay:0s!important;animation-iteration-count:1!important}
  .caret{animation:none}
  .reveal{opacity:1;transform:none}
  .ledge{animation:none}
}
