@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:wdth,wght@75..100,400..700&family=Instrument+Serif:ital@0;1&family=Caveat:wght@500;700&display=swap");
/* bay1cg home page, ported verbatim from docs/prototype/bay1cg-fun-prototype.html */
/* Layout: same Blend base (navy, white, ember, Instrument Sans) with soul added: bigger type, italic accents, a handwritten voice for notes, real work on screen, color-blocked bands, and toys you can poke. Single committed look. */
:root{
  --navy:#0F1E33; --navy-2:#16294A; --steel:#5C6B7E; --steel-lt:#A9B6C6;
  --mist:#E3E7EC; --paper:#FFFFFF; --off:#F5F6F4; --ember:#E8531E; --ember-ink:#B33A0F; --cream:#FFF4EC;
  --sans:"Instrument Sans","Helvetica Neue",Arial,sans-serif; --serif:"Instrument Serif",Georgia,serif; --hand:"Caveat","Comic Sans MS",cursive;
  --spring:cubic-bezier(.34,1.56,.64,1); --settle:cubic-bezier(.22,1,.36,1);
  --gut:clamp(16px,4vw,48px); --max:1320px;
  --mega:clamp(3rem,1.2rem + 7.6vw,8.6rem); --h2:clamp(2.2rem,1.3rem + 3.4vw,4.6rem); --h3:clamp(1.35rem,1.1rem + .9vw,1.9rem);
  --lead:clamp(1.06rem,.98rem + .45vw,1.4rem); --body:clamp(1rem,.96rem + .18vw,1.12rem);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--sans);font-size:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
html{overflow-x:clip} #hi{overflow-x:clip}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.04em;line-height:.98;text-wrap:balance}
p{margin:0}
a{color:inherit}
em.i{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.label{font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.hand{font-family:var(--hand);font-weight:700;color:var(--ember);line-height:1.05}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 24px;border-radius:999px;font:600 1rem var(--sans);text-decoration:none;cursor:pointer;border:0;transition:transform .45s var(--spring),background .2s,color .2s;will-change:transform}
.btn-ember{background:var(--ember);color:var(--navy)} .btn-ember:hover{background:#F0682F}
.btn-line{background:transparent;color:#F7F7F4;box-shadow:inset 0 0 0 1.5px rgba(169,182,198,.55)} .btn-line:hover{box-shadow:inset 0 0 0 1.5px #F7F7F4}
.btn-navy{background:var(--navy);color:#fff} .btn-navy:hover{background:var(--navy-2)}
.btn:active{transform:scale(.95)}
.proto{background:var(--ember);color:var(--navy);font-size:.8rem;font-weight:600;text-align:center;padding:6px var(--gut)}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.06)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;line-height:1;text-decoration:none;color:#F7F7F4}
.brand svg{height:28px;width:auto;color:var(--ember);transition:transform .6s var(--spring)}
.brand:hover svg{transform:rotate(-8deg) scale(1.08)}
.brand b{font-weight:700;letter-spacing:.08em;font-size:.95rem;display:block;line-height:1}
.brand span{display:block;font-weight:500;letter-spacing:.14em;font-size:.6rem;line-height:1;margin-top:1px;color:var(--steel-lt)}
.links{display:flex;align-items:center;gap:26px;font-size:.92rem;color:var(--steel-lt)}
.links a{text-decoration:none;transition:color .2s} .links a:hover{color:#fff}
.open{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:#F7F7F4}
.open i{width:8px;height:8px;border-radius:50%;background:#3DDC97;box-shadow:0 0 0 0 rgba(61,220,151,.6);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 8px rgba(61,220,151,0)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0)}}
.nav .btn{height:40px;padding:0 18px;font-size:.88rem}
@media (max-width:860px){.links .hide-sm{display:none}}

/* hero */
.hero{background:var(--navy);color:#F7F7F4;position:relative;overflow:hidden}
.hero .wrap{padding-top:clamp(20px,3vw,44px);position:relative}
.hero .label{color:var(--steel-lt)}
.hero h1{font-size:clamp(3rem,min(1.2rem + 7.6vw,12vh),8.6rem);margin-top:12px;max-width:none}
.rot{display:block;position:relative;height:1.08em;overflow:hidden;color:var(--ember)}
.rot span{position:absolute;left:0;top:0;white-space:nowrap;transform:translateY(110%) rotate(4deg);opacity:0;transition:transform .75s var(--spring),opacity .25s}
.rot span.on{transform:none;opacity:1}
.rot span.out{transform:translateY(-110%) rotate(-3deg);opacity:0;transition:transform .5s var(--settle),opacity .3s}
.hero-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-top:16px}
@media (max-width:820px){.hero-row{grid-template-columns:minmax(0,1fr)}}
.hero .lead{font-size:var(--lead);color:var(--steel-lt);max-width:36rem;line-height:1.5}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.badge{width:clamp(110px,12vw,150px);aspect-ratio:1;position:relative;justify-self:end}
.badge svg.badge-ring{width:100%;height:100%;animation:spin 18s linear infinite}
.badge text{font:600 10.5px var(--sans);letter-spacing:.24em;fill:#F7F7F4}
.badge .mid{position:absolute;inset:30%;color:var(--ember)}
.badge .mid svg{width:100%;height:100%}
@keyframes spin{to{transform:rotate(360deg)}}
.bridge-wrap{position:relative;margin-top:clamp(4px,1.5vw,16px)}
.bridge{display:block;width:100%;height:auto;max-height:30vh;cursor:pointer}
.bridge .arch{fill:none;stroke:#8EA2B9;stroke-linecap:round}
.bridge .truss{fill:none;stroke:#6F849C}
.bridge .hanger{stroke:#6F849C;transform-box:fill-box;transform-origin:top}
.bridge .deck{fill:#F7F7F4} .bridge .glow{fill:var(--ember)} .bridge .water{fill:var(--navy-2)} .bridge .pier{fill:#2B3F5E}
.bridge .car{transform-box:fill-box}
.play .arch{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw 1.6s var(--settle) .2s forwards}
.play .truss{opacity:0;animation:fade .6s ease 1.3s forwards}
.play .hanger{transform:scaleY(0);animation:drop .8s var(--spring) forwards;animation-delay:calc(1.35s + var(--i) * 45ms)}
.play .deck-l{transform:translateX(-102%);animation:slide .95s var(--spring) 1.9s forwards}
.play .deck-r{transform:translateX(102%);animation:slide .95s var(--spring) 1.9s forwards}
.play .glow{transform:scaleX(0);transform-box:fill-box;transform-origin:center;animation:grow .7s var(--settle) 2.6s forwards}
.play .cars{opacity:0;animation:fade .4s ease 3s forwards}
@keyframes draw{to{stroke-dashoffset:0}} @keyframes fade{to{opacity:1}} @keyframes drop{to{transform:scaleY(1)}} @keyframes slide{to{transform:none}} @keyframes grow{to{transform:scaleX(1)}}
.ship{transition:transform 7s linear}
.note-bridge{position:absolute;right:4%;top:-6px;transform:rotate(-4deg);font-size:clamp(1.2rem,1rem + .8vw,1.7rem)}
@media (max-width:640px){.note-bridge{display:none}}

/* marquee */
.band{background:var(--ember);color:var(--navy);overflow:hidden;transform:rotate(-1.6deg);margin-block:-14px;position:relative;z-index:2;border-block:3px solid var(--navy)}
.band .track{display:flex;width:max-content;animation:marq 26s linear infinite}
.band span{font-size:clamp(1.6rem,1.1rem + 2.2vw,3.2rem);font-weight:600;letter-spacing:-.03em;padding:14px 0;white-space:nowrap}
.band span i{font-family:var(--serif);font-style:italic;font-weight:400;padding-inline:.5em}
@keyframes marq{to{transform:translateX(-50%)}}

section{padding-block:clamp(80px,10vw,150px)}
.sec-head{display:grid;gap:16px;max-width:48rem;margin-bottom:clamp(36px,5vw,64px)}
.sec-head h2{font-size:var(--h2)}
.sec-head p{font-size:var(--lead);color:var(--steel);line-height:1.5}

/* showcase carousel */
.show{background:var(--cream)}
.show-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,48px)}
.show-top .sec-head{margin-bottom:0}
.car-ctrl{display:flex;align-items:center;gap:10px}
.arrow{width:56px;height:56px;border-radius:50%;border:1.5px solid var(--navy);background:transparent;color:var(--navy);font:600 1.35rem var(--sans);cursor:pointer;display:grid;place-items:center;transition:transform .45s var(--spring),background .2s,color .2s}
.arrow:hover{background:var(--navy);color:#fff}
.arrow:active{transform:scale(.88)}
.count{font-variant-numeric:tabular-nums;font-weight:600;color:var(--steel);min-width:4ch;text-align:center}
.viewport{overflow:hidden;padding-top:44px;margin-top:-44px}
.car-track{display:flex;transition:transform .8s var(--spring);touch-action:pan-y;will-change:transform}
.slide{flex:0 0 100%;min-width:0}
.show-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
@media (max-width:900px){.show-grid{grid-template-columns:minmax(0,1fr)}}
.stagebox{position:relative;perspective:1400px;padding-bottom:40px;padding-right:4%}
.browser{background:#fff;border-radius:12px;border:1px solid var(--mist);overflow:hidden;transform-style:preserve-3d;transition:transform .6s var(--spring);box-shadow:0 1px 0 var(--mist)}
.browser .bar{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--mist);background:var(--off)}
.browser .bar i{width:10px;height:10px;border-radius:50%;background:var(--mist)}
.browser .bar i:first-child{background:var(--ember)}
.browser .bar span{margin-left:10px;font-size:.78rem;color:var(--steel);background:#fff;border:1px solid var(--mist);border-radius:999px;padding:2px 12px;flex:1;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.browser video,.browser img{display:block;width:100%;height:auto;aspect-ratio:1280/800;object-fit:cover;background:#0B1626}
.phone{position:absolute;right:0;bottom:0;width:24%;min-width:110px;border-radius:22px;background:var(--navy);padding:6px;transform:rotate(5deg);transition:transform .6s var(--spring)}
.phone video,.phone img{display:block;width:100%;aspect-ratio:390/844;object-fit:cover;border-radius:16px;background:#0B1626}
.stagebox:hover .phone{transform:rotate(0) translateY(-10px)}
.browser{position:relative}
.browser .live{position:absolute;left:0;width:1280px;height:800px;transform:scale(var(--s,1));transform-origin:0 0;opacity:0;transition:opacity .6s;pointer-events:none}
.browser .live iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.browser.is-live{transform:none!important}
.browser.is-live .live{opacity:1;pointer-events:auto}
.note{position:absolute;font-size:clamp(1.15rem,1rem + .6vw,1.6rem);white-space:nowrap;pointer-events:none}
.n1{left:-1%;top:-34px;transform:rotate(-5deg)} .n2{right:26%;bottom:-6px;transform:rotate(3deg)}
@media (max-width:640px){.note{display:none}}
.show-copy h3{font-size:var(--h3)}
.show-copy p{color:var(--steel);margin-top:12px}
.facts{margin-top:22px;border-top:1.5px solid var(--navy)}
.fact{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid #EAD9CC;align-items:baseline}
.fact b{font-size:1.5rem;letter-spacing:-.03em;min-width:2.6ch;color:var(--ember-ink)}
.fact span{color:var(--steel)}
.tiny{font-size:.8rem;color:var(--steel);margin-top:12px}
.credit{font-size:.88rem;color:var(--steel);margin-top:14px;padding:10px 14px;border:1px dashed #E2CBB9;border-radius:12px}
.credit a{color:var(--ember-ink);font-weight:600}
.visit{display:inline-block;margin-top:16px;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--ember)}
.dots{display:flex;gap:8px;justify-content:center;margin-top:26px}
.dots button{width:10px;height:10px;border-radius:999px;border:0;padding:0;background:#E6D3C4;cursor:pointer;transition:width .45s var(--spring),background .2s}
.dots button[aria-current=true]{width:30px;background:var(--ember)}
/* picker */
.picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:900px){.picker{grid-template-columns:minmax(0,1fr)}}
.probs{display:grid;gap:10px}
.prob{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:14px;border:1.5px solid var(--mist);font-weight:600;font-size:clamp(1.05rem,1rem + .4vw,1.3rem);letter-spacing:-.02em;transition:transform .5s var(--spring),border-color .2s,background .2s}
.prob:hover{border-color:var(--steel-lt);transform:translateX(6px)}
.prob[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateX(10px) rotate(-.6deg)}
.prob .em{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.6em;line-height:1;color:var(--ember);width:1.1em;text-align:center}
.answer{background:var(--navy);color:#F7F7F4;border-radius:18px;padding:clamp(24px,3vw,40px);position:relative;min-height:340px}
.answer .tag{display:inline-block;background:var(--ember);color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.answer h3{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.6rem);margin-top:16px}
.answer p{color:var(--steel-lt);margin-top:12px;max-width:34rem}
.answer ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:8px}
.answer li{padding-left:22px;position:relative;color:#F7F7F4}
.answer li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:3px;border-radius:2px;background:var(--ember)}
.answer .hand{position:absolute;right:22px;bottom:16px;transform:rotate(-4deg);font-size:1.4rem}
.answer.pop{animation:pop .6s var(--spring)}
@keyframes pop{from{transform:scale(.96) rotate(.6deg);opacity:.4}to{transform:none;opacity:1}}

/* logo story */
.story{background:var(--navy);color:#F7F7F4;height:400vh;padding:0;position:relative}
.story-pin{position:sticky;top:calc(env(safe-area-inset-top,0px) + 68px);height:calc(100vh - 68px);display:flex;align-items:center;overflow:hidden}
.story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(20px,4vw,64px);align-items:center;width:100%}
.story h2{font-size:var(--h2);margin-top:16px;max-width:12ch}
.story .label{color:var(--steel-lt)}
.steps{list-style:none;margin:clamp(20px,3vw,36px) 0 0;padding:0;display:grid;gap:4px;counter-reset:s}
.steps li{counter-increment:s;padding:12px 0 12px 44px;position:relative;border-top:1px solid rgba(169,182,198,.18);color:var(--steel-lt);transition:color .3s}
.steps li::before{content:"0" counter(s);position:absolute;left:0;top:13px;font-size:.8rem;font-weight:600;transition:color .3s}
.steps li b{font-size:var(--h3);font-weight:600;letter-spacing:-.025em;display:block;line-height:1.15;transition:transform .55s var(--spring);transform-origin:left}
.steps li p{max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--settle),opacity .3s,margin .3s;max-width:30rem}
.steps li.on{color:#F7F7F4} .steps li.on::before{color:var(--ember)} .steps li.on b{transform:scale(1.05)}
.steps li.on p{max-height:6em;opacity:1;margin-top:6px;color:var(--steel-lt)}
.meter{height:3px;background:rgba(169,182,198,.18);border-radius:2px;margin-top:22px;overflow:hidden;max-width:30rem}
.meter i{display:block;height:100%;width:0;background:var(--ember)}
.stage{position:relative;height:min(70vh,620px);min-height:280px}
.stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.stage-fallback{position:absolute;inset:18%;width:64%;height:auto;color:var(--ember)}
.stage.gl .stage-fallback{display:none}
@media (max-width:820px){.story-pin{align-items:stretch}.story-grid{grid-template-columns:minmax(0,1fr);gap:0;padding-block:16px}.story h2{font-size:clamp(1.6rem,6vw,2.2rem)}.stage{order:-1;height:34vh;min-height:200px}}

/* demo */
.demo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:900px){.demo{grid-template-columns:minmax(0,1fr)}}
.panel{background:var(--paper);border:1.5px solid var(--mist);border-radius:16px;padding:clamp(20px,2.4vw,32px)}
.field{display:grid;gap:8px;margin-top:18px} .field:first-child{margin-top:0}
.field label,.field .fl{font-weight:600;font-size:.9rem}
textarea,input[type=text]{width:100%;font:inherit;font-size:1rem;color:var(--navy);background:var(--off);border:1.5px solid var(--mist);border-radius:10px;padding:14px;resize:vertical;transition:border-color .2s}
textarea:focus,input:focus{outline:none;border-color:var(--ember)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid var(--mist);background:var(--paper);color:var(--navy);font:500 .9rem var(--sans);padding:9px 14px;border-radius:999px;cursor:pointer;transition:transform .45s var(--spring),border-color .2s,background .2s}
.chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff;transform:scale(1.05) rotate(-1deg)}
.chip:active{transform:scale(.92)}
.presets{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.85rem;color:var(--steel)}
.presets button{background:none;border:0;padding:0;font:inherit;color:var(--ember-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.go{margin-top:22px;width:100%}
.err{color:#B42318;font-size:.88rem;min-height:1.2em}
.out-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--mist)}
.status{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--steel)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--mist)}
.busy .dot{background:var(--ember);animation:pulse 1s ease-in-out infinite} .done .dot{background:#2E9E6A}
@keyframes pulse{50%{transform:scale(1.6);opacity:.5}}
.out{white-space:pre-wrap;line-height:1.65;min-height:14em;padding-top:16px}
.out .cursor{display:inline-block;width:2px;height:1.1em;background:var(--ember);vertical-align:-2px;margin-left:1px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.out-foot{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;border-top:1px solid var(--mist);padding-top:14px;margin-top:16px;font-size:.82rem;color:var(--steel)}
.copy{background:none;border:1.5px solid var(--mist);border-radius:999px;padding:7px 14px;font:600 .82rem var(--sans);color:var(--navy);cursor:pointer;transition:transform .4s var(--spring)}
.copy:active{transform:scale(.92)}

/* founder */
.founder{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:center}
@media (max-width:820px){.founder{grid-template-columns:minmax(0,1fr)}}
.polaroid{background:#fff;padding:14px 14px 56px;border:1px solid var(--mist);transform:rotate(-3deg);max-width:420px;position:relative;transition:transform .6s var(--spring)}
.polaroid:hover{transform:rotate(0) scale(1.02)}
.polaroid .ph{aspect-ratio:4/5;background:var(--navy);display:grid;place-items:center;color:var(--ember)}
.polaroid .ph svg{width:40%} .polaroid .ph img{display:block;width:100%;height:100%;object-fit:cover}
.polaroid .cap{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:1.5rem}
.polaroid button.ph{display:block;position:relative;width:100%;padding:0;border:0;cursor:pointer;overflow:visible;background:var(--navy)}
.polaroid .ph .under,.polaroid .ph .half{position:absolute;inset:0;width:100%;height:100%}
.polaroid .ph .half{transition:transform .5s var(--spring),opacity .3s;pointer-events:none}
.polaroid .ph .l{clip-path:polygon(0 0,53% 0,48% 9%,55% 18%,47% 28%,54% 37%,46% 47%,55% 56%,47% 66%,53% 75%,46% 85%,52% 93%,49% 100%,0 100%)}
.polaroid .ph .r{clip-path:polygon(53% 0,100% 0,100% 100%,49% 100%,52% 93%,46% 85%,53% 75%,47% 66%,55% 56%,46% 47%,54% 37%,47% 28%,55% 18%,48% 9%)}
.polaroid.torn .ph .half{transition:transform .9s cubic-bezier(.55,0,.8,.4),opacity .5s .35s;opacity:0}
.polaroid.torn .ph .l{transform:translate(-34%,26%) rotate(-16deg)}
.polaroid.torn .ph .r{transform:translate(34%,32%) rotate(13deg)}
.polaroid .cap .c2,.polaroid.torn .cap .c1{display:none} .polaroid.torn .cap .c2{display:inline}
.tear-hint{position:absolute;right:-18px;top:-38px;transform:rotate(6deg);font-size:1.7rem;pointer-events:none;transition:opacity .3s}
.polaroid.torn .tear-hint{opacity:0}
@media (max-width:640px){.tear-hint{right:4px;top:-34px;font-size:1.4rem}}
@media (prefers-reduced-motion:reduce){.polaroid .ph .half,.polaroid.torn .ph .half{transition:opacity .2s;transform:none}}
.tape{position:absolute;top:-14px;left:50%;width:110px;height:28px;background:rgba(232,83,30,.25);transform:translateX(-50%) rotate(2deg)}
.founder h2{font-size:var(--h2)}
.founder p{color:var(--steel);margin-top:18px;max-width:36rem;font-size:var(--lead);line-height:1.55}
.sig{font-size:2.4rem;margin-top:18px;transform:rotate(-3deg);display:inline-block}
.inds{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.ind{padding:9px 14px;border-radius:999px;border:1.5px solid var(--mist);font-weight:500;font-size:.9rem;transition:transform .5s var(--spring),border-color .2s}
.ind:hover{transform:translateY(-3px) rotate(-2deg);border-color:var(--ember)}

/* cta */
.cta{background:var(--ember);color:var(--navy);position:relative;overflow:hidden}
.cta h2{font-size:var(--mega);max-width:11ch}
.cta h2 em.i{color:#fff}
.cta p{font-size:var(--lead);max-width:34rem;margin-top:20px;line-height:1.5}
.cta .row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:30px}
.cta code{font:600 var(--lead) var(--sans);user-select:all;background:rgba(15,30,51,.08);padding:8px 14px;border-radius:999px}
.cta .copy{border-color:var(--navy);color:var(--navy)}
.cta .big-mark{position:absolute;right:-4%;bottom:-12%;width:clamp(200px,30vw,420px);color:rgba(15,30,51,.1);transform:rotate(-12deg)}
footer{background:var(--navy);color:var(--steel-lt);font-size:.85rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:22px}
footer nav{display:flex;gap:20px}

/* cursor dot */
.cur{position:fixed;left:0;top:0;width:12px;height:12px;border-radius:50%;background:var(--ember);pointer-events:none;z-index:50;transform:translate(-50%,-50%);transition:width .3s var(--spring),height .3s var(--spring),opacity .2s;opacity:0;mix-blend-mode:multiply}
.cur.big{width:42px;height:42px;opacity:.35}
@media (pointer:coarse){.cur{display:none}}

.js .rv.go-in{animation:rise .9s var(--spring) both;animation-delay:calc(var(--d,0) * 70ms)}
@keyframes rise{from{opacity:0;transform:translateY(30px) rotate(.8deg)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .play .arch{stroke-dashoffset:0}.play .truss,.play .cars{opacity:1}.play .hanger,.play .deck-l,.play .deck-r,.play .glow{transform:none}
  .rot span.on{transform:none;opacity:1}.cur{display:none}
}
/* links from home sections to their full pages */
.btn-ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)} .btn-ghost:hover{background:var(--navy);color:#F7F7F4}
.more{margin-top:clamp(28px,4vw,44px)} .more.center{display:flex;justify-content:center}
