/* Content Factory — showcase microsite. Self-contained (mirrors the app's look). Static, no backend. */
:root{
  --bg:#0a0a0b; --bg-2:#0e0e11; --card:#161619; --card-2:#1c1c21;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.055);
  --text:#f5f5f6; --muted:#9a9aa3; --faint:#66666e;
  --lime:#cdff2e; --lime-dim:rgba(205,255,46,.14);
  --pink:#ff5fa0; --amber:#ffcf5e; --ok:#7ee787; --idle:#46464e;
  --font:'Inter',-apple-system,system-ui,sans-serif;
  --display:'Space Grotesk','Inter',sans-serif;
  --serif:'Playfair Display',Georgia,serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --r:14px; --maxw:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font); color:var(--text); background:var(--bg); font-size:15px;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; line-height:1.5}
a{color:inherit; text-decoration:none}
em{font-family:var(--serif); font-style:italic; color:var(--lime); font-weight:500}

/* background */
.bg-stage{position:fixed; inset:0; z-index:-1; overflow:hidden; background:var(--bg)}
.bg-glow{position:absolute; top:-30%; left:50%; width:90vw; height:90vw; transform:translateX(-50%);
  background:radial-gradient(circle, rgba(205,255,46,.10), transparent 60%); animation:drift 18s ease-in-out infinite}
.bg-grid{position:absolute; inset:0; opacity:.35;
  background:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);
  background-size:64px 64px; mask-image:radial-gradient(circle at 50% 30%, #000 30%, transparent 75%)}
@keyframes drift{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-46%) translateY(4%)}}

/* top bar */
.topbar{position:sticky; top:0; z-index:40; display:flex; align-items:center; justify-content:space-between;
  padding:13px 26px; background:rgba(10,10,11,.82); backdrop-filter:blur(14px); border-bottom:1px solid var(--line-2)}
.brand{display:flex; align-items:center; gap:12px}
.brand-mark{width:26px; height:26px; border-radius:8px; position:relative; background:var(--lime); box-shadow:0 0 18px rgba(205,255,46,.45)}
.brand-mark::after{content:""; position:absolute; inset:7px; border-radius:3px; background:var(--bg); clip-path:polygon(0 0,100% 50%,0 100%)}
.brand-mark.big{width:54px; height:54px; border-radius:16px}.brand-mark.big::after{inset:15px}
.brand-text{display:flex; flex-direction:column; line-height:1.06}
.brand-name{font-family:var(--display); font-weight:700; letter-spacing:.13em; font-size:15px}
.brand-sub{font-family:var(--mono); font-size:10px; letter-spacing:.18em; color:var(--faint); text-transform:uppercase}
.topnav{display:flex; align-items:center; gap:22px; font-size:13px; color:var(--muted)}
.topnav a:hover{color:var(--text)}
@media(max-width:720px){.topnav a{display:none}}

.pill{display:inline-flex; align-items:center; gap:7px; padding:6px 12px; border-radius:100px; font-size:12px;
  background:var(--card); border:1px solid var(--line); color:var(--muted)}
.pill .dot{width:7px; height:7px; border-radius:50%; background:var(--idle)}
.pill.on{color:var(--text)} .pill.on .dot{background:var(--lime); box-shadow:0 0 8px var(--lime)}

/* buttons */
.btn{font-family:var(--font); font-weight:600; font-size:14px; padding:12px 22px; border-radius:100px; cursor:pointer;
  border:1px solid transparent; display:inline-flex; align-items:center; gap:8px; transition:transform .15s, box-shadow .2s, background .2s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--lime); color:#0a0a0b; box-shadow:0 0 0 rgba(205,255,46,.5)}
.btn-primary:hover{box-shadow:0 6px 26px rgba(205,255,46,.35)}
.btn-ghost{background:var(--card); border-color:var(--line); color:var(--text)}
.mini{font-size:12px; font-weight:600; padding:6px 13px; border-radius:100px; background:var(--card-2); border:1px solid var(--line); color:var(--muted)}
.mini.primary{background:var(--lime); color:#0a0a0b; border-color:transparent}

/* layout */
.section{max-width:var(--maxw); margin:0 auto; padding:74px 24px}
.section-head{margin-bottom:34px}
.kicker{font-family:var(--mono); font-size:11px; letter-spacing:.22em; color:var(--lime); text-transform:uppercase}
.section-head h2{font-family:var(--display); font-weight:700; font-size:clamp(24px,3.4vw,38px); margin-top:10px; letter-spacing:-.01em}
.section-sub{color:var(--muted); margin-top:10px; max-width:60ch}

/* hero */
.hero{position:relative; max-width:var(--maxw); margin:0 auto; padding:84px 24px 40px; text-align:center}
.hero-vid{position:absolute; top:0; left:50%; transform:translateX(-50%); width:100vw; height:100%; object-fit:cover; opacity:.5; z-index:0; pointer-events:none}
.hero::after{content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:100vw; height:100%; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%, rgba(10,10,11,.35), rgba(10,10,11,.82) 78%)}
.hero>*:not(.hero-vid){position:relative; z-index:2}
.hero-tag{font-family:var(--mono); font-size:12px; letter-spacing:.2em; color:var(--lime)}
.hero-title{font-family:var(--display); font-weight:700; font-size:clamp(38px,6.6vw,76px); line-height:1.02; letter-spacing:-.02em; margin:18px 0}
.hero-sub{color:var(--muted); font-size:clamp(15px,1.6vw,18px); max-width:62ch; margin:0 auto}
.proof{display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin:30px 0 8px}
.chip{padding:9px 16px; border-radius:100px; background:var(--card); border:1px solid var(--line); font-size:13px; color:var(--muted)}
.chip b{color:var(--lime); font-weight:700}
.hero-cta{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px}
.hero-note{margin-top:22px; font-family:var(--mono); font-size:11.5px; color:var(--faint); letter-spacing:.04em}

/* step row */
.step-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(132px,1fr)); gap:12px}
.step-card{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:16px 14px; transition:border-color .2s, transform .2s}
.step-card:hover{border-color:rgba(205,255,46,.4); transform:translateY(-2px)}
.step-card .n{font-family:var(--mono); font-size:11px; color:var(--faint)}
.step-card .nm{display:block; margin-top:8px; font-weight:600; font-size:14px}
.step-card .bdot{display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--idle); margin-top:12px}
.step-card.live .bdot{background:var(--lime); box-shadow:0 0 8px var(--lime); animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* spotlights */
.spot-grid{display:flex; flex-direction:column; gap:30px}
.spot{display:grid; grid-template-columns:1.05fr 1fr; gap:28px; align-items:center;
  background:linear-gradient(180deg, var(--card), var(--bg-2)); border:1px solid var(--line); border-radius:20px; padding:26px}
.spot.reverse{grid-template-columns:1fr 1.05fr}.spot.reverse .spot-demo{order:2}
@media(max-width:760px){.spot,.spot.reverse{grid-template-columns:1fr}.spot.reverse .spot-demo{order:0}}
.spot-text h3{font-family:var(--display); font-weight:700; font-size:22px; letter-spacing:-.01em}
.spot-text p{color:var(--muted); margin-top:10px; font-size:14.5px}
.spot-text .hard{color:var(--faint); border-left:2px solid var(--lime-dim); padding-left:12px; margin-top:14px; font-size:13.5px}
.spot-text .hard span{color:var(--lime); font-weight:600; letter-spacing:.02em}
.spot-text .hard span::after{content:" — "}
.spot-demo{background:var(--bg); border:1px solid var(--line); border-radius:14px; padding:16px; min-height:210px;
  display:flex; flex-direction:column; gap:12px; justify-content:center; overflow:hidden; position:relative}
.spot-vid{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.34; z-index:0; pointer-events:none}
.spot-demo>*:not(.spot-vid){position:relative; z-index:1}
.demo-bar{display:flex; align-items:center; gap:10px; font-size:13px; color:var(--muted); font-weight:600}
.demo-bar .step-num{font-family:var(--mono); color:var(--faint); font-size:12px}
.demo-bar .badge{font-family:var(--mono); font-size:10px; letter-spacing:.12em; padding:2px 7px; border-radius:6px; background:var(--lime-dim); color:var(--lime)}
.demo-bar .lang-toggle{margin-left:auto; font-size:11px; color:var(--faint)} .lang-toggle b{color:var(--lime)}

/* lore demo */
.lore-prog{display:flex; align-items:center; gap:10px; font-size:11.5px; color:var(--muted)}
.lore-prog .cnt{margin-left:auto; color:var(--faint)}
.lore-prog .dots{display:flex; gap:5px}
.lore-prog .dots i{width:7px; height:7px; border-radius:50%; background:var(--idle); display:block}
.lore-prog .dots i.done{background:var(--ok)} .lore-prog .dots i.cur{outline:2px solid var(--lime); outline-offset:1px}
.lore-card{background:var(--card-2); border:1px solid var(--line); border-radius:12px; padding:12px 14px; display:flex; flex-direction:column; gap:7px; transition:opacity .18s ease}
.lore-line{display:flex; gap:9px; align-items:baseline; font-size:13.5px}
.tag{flex:none; font-size:9px; letter-spacing:.06em; text-transform:uppercase; padding:2px 7px; border-radius:6px; font-weight:700}
.tag.old{background:rgba(255,95,160,.13); color:var(--pink)} .tag.new{background:var(--lime-dim); color:var(--lime)}
.old-t{color:var(--muted); text-decoration:line-through; text-decoration-color:rgba(255,95,160,.5)}
.new-t{color:var(--text); font-weight:500}
.lore-reason{font-size:12px; color:var(--faint); border-top:1px solid var(--line-2); padding-top:7px}
.lore-btns{display:flex; gap:7px; flex-wrap:wrap}

/* streaming demo */
.stream-out{font-family:var(--font); font-size:13.5px; line-height:1.55; color:var(--muted); white-space:pre-wrap; min-height:120px; margin:0}
.stream-out .car{display:inline-block; width:8px; background:var(--lime); margin-left:1px; animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* ad demo */
.demo-ad{align-items:center}
.ad-frame{position:relative; width:100%; aspect-ratio:16/9; border-radius:10px; overflow:hidden;
  background:radial-gradient(circle at 30% 30%, #2a1430, #120a16); display:flex; align-items:center; justify-content:center}
.ad-frame .ad-word{font-family:var(--display); font-weight:700; font-size:clamp(20px,3vw,30px); color:#fff; letter-spacing:.02em; z-index:2}
.ad-frame .ad-label{position:absolute; top:10px; left:12px; font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--lime)}
.ad-sheen{position:absolute; inset:0; background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%); transform:translateX(-100%); animation:sheen 3.2s ease-in-out infinite}
@keyframes sheen{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.ad-shots{display:flex; gap:6px}.ad-shots span{flex:1; height:6px; border-radius:3px; background:var(--idle)}
.ad-shots span{animation:fillshot 4s infinite}
.ad-shots span:nth-child(1){animation-delay:0s}.ad-shots span:nth-child(2){animation-delay:.4s}.ad-shots span:nth-child(3){animation-delay:.8s}.ad-shots span:nth-child(4){animation-delay:1.2s}.ad-shots span:nth-child(5){animation-delay:1.6s}
@keyframes fillshot{0%,80%,100%{background:var(--idle)}10%,70%{background:var(--lime)}}

/* editor demo */
.demo-editor{justify-content:center}
.tl{position:relative; height:120px; border-radius:10px; background:var(--card-2); border:1px solid var(--line); overflow:hidden}
.tl .clip{position:absolute; top:14px; height:26px; border-radius:5px; opacity:.9}
.tl .c1{left:4%; width:30%; background:linear-gradient(90deg,#3b6cff,#6b8afd)}
.tl .c2{left:36%; width:26%; background:linear-gradient(90deg,#b98cff,#ff5fa0)}
.tl .c3{left:64%; width:32%; background:linear-gradient(90deg,#cdff2e,#7ee787)}
.tl .cap{position:absolute; bottom:16px; font-family:var(--display); font-weight:700; font-size:15px; color:#fff; opacity:0}
.tl .cap:nth-of-type(1){left:10%; animation:pop 3s infinite 0s}
.tl .cap:nth-of-type(2){left:42%; animation:pop 3s infinite 1s}
.tl .cap:nth-of-type(3){left:72%; animation:pop 3s infinite 2s}
@keyframes pop{0%,33%,100%{opacity:0; transform:translateY(6px) scale(.9)}8%,25%{opacity:1; transform:translateY(0) scale(1)}}
.tl .pb{position:absolute; top:0; bottom:0; width:2px; background:var(--lime); box-shadow:0 0 10px var(--lime); animation:play 3s linear infinite}
@keyframes play{0%{left:4%}100%{left:96%}}

/* resilience demo */
.demo-resil{justify-content:center; gap:16px}
.gauge{height:14px; border-radius:100px; background:var(--card-2); border:1px solid var(--line); position:relative; overflow:hidden}
.gauge-fill{position:absolute; inset:0; width:30%; background:linear-gradient(90deg,var(--amber),var(--lime)); border-radius:100px; transition:width .4s}
.gauge-t{position:absolute; right:10px; top:-22px; font-family:var(--mono); font-size:11px; color:var(--muted)}
.resil-rows{display:flex; justify-content:space-between; font-family:var(--mono); font-size:12px; color:var(--muted)}
.resil-rows .ok{color:var(--ok)}

/* prompt / easter egg */
.prompt-field{width:100%; min-height:104px; resize:none; background:var(--card-2); border:1px solid var(--line); border-radius:10px;
  color:var(--muted); font-family:var(--font); font-size:13px; line-height:1.5; padding:11px 13px}
.copy-row{display:flex; align-items:center; gap:12px}
.copy-hint{font-size:11.5px; color:var(--faint)}

/* results */
.results-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px}
.vslot{aspect-ratio:9/16; border-radius:14px; overflow:hidden; background:var(--card); border:1px solid var(--line); position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:18px}
.vslot iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.vslot .vmark{width:42px; height:42px; border-radius:12px; background:var(--lime-dim); display:flex; align-items:center; justify-content:center}
.vslot .vmark::after{content:""; border-style:solid; border-width:7px 0 7px 12px; border-color:transparent transparent transparent var(--lime)}
.vslot .vt{font-weight:600; font-size:14px} .vslot .vs{font-size:12px; color:var(--faint)}
.vslot .vch{font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--lime); position:absolute; top:12px; left:12px}
/* per-video view count — neat box UNDER the video (reach-style) */
.vcell{display:flex; flex-direction:column; gap:10px}
.vcount{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:11px 10px; text-align:center}
.vcount .n{display:block; font-family:var(--display); font-weight:700; font-size:clamp(22px,5.5vw,28px); line-height:1; color:var(--lime); letter-spacing:-.02em}
.vcount .l{display:block; margin-top:5px; font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}

/* aggregate reach counter (count-up on scroll) */
.reach{display:flex; flex-wrap:wrap; gap:14px; margin:0 0 30px}
.reach .rstat{flex:1; min-width:150px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:22px 20px; text-align:center}
.reach .rnum{font-family:var(--display); font-weight:700; font-size:clamp(28px,4vw,44px); letter-spacing:-.02em; line-height:1; color:var(--lime)}
.reach .rlbl{margin-top:8px; font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted)}
.reach .rnote{flex-basis:100%; text-align:center; font-family:var(--mono); font-size:11px; color:var(--faint); letter-spacing:.04em; margin-top:2px}
@media(max-width:560px){.reach .rstat{min-width:calc(50% - 7px)}}

/* closer */
.closer{max-width:760px; margin:0 auto; padding:90px 24px 70px; text-align:center}
.closer-mark{display:flex; justify-content:center; margin-bottom:24px}
.closer h2{font-family:var(--display); font-weight:700; font-size:clamp(28px,4.4vw,48px); line-height:1.05}
.closer p{color:var(--muted); margin-top:16px}
.foot{margin-top:34px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--faint)}

/* reveal on scroll */
/* entrance is pure enhancement — TRANSFORM ONLY, never touches opacity, so content can never end up hidden
   (covers stale cache, paused animations in headless, or JS/observer never firing) */
.reveal.in{animation:rise .55s ease both}
@keyframes rise{from{transform:translateY(16px)} to{transform:none}}
@media(prefers-reduced-motion:reduce){.reveal.in{animation:none}}

/* FAQ (GEO — native accordion, mirrors the FAQPage JSON-LD) */
.faq{display:flex; flex-direction:column; gap:10px; max-width:820px}
.faq-item{background:var(--card); border:1px solid var(--line); border-radius:12px; overflow:hidden}
.faq-item summary{list-style:none; cursor:pointer; padding:16px 18px; font-family:var(--display); font-weight:600;
  font-size:15.5px; color:var(--text); display:flex; align-items:center; justify-content:space-between; gap:14px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:""; flex:none; width:9px; height:9px; margin-top:-3px;
  border-right:2px solid var(--lime); border-bottom:2px solid var(--lime); transform:rotate(45deg); transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(-135deg); margin-top:3px}
.faq-item summary:hover{color:var(--lime)}
.faq-item p{color:var(--muted); padding:0 18px 16px; font-size:14px; line-height:1.6; max-width:70ch}

/* ===== ship log (changelog) ===== */
.logtag{display:inline-block; font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--lime);
  background:var(--lime-dim); padding:3px 9px; border-radius:100px; margin-bottom:12px}
.ship-on{margin-left:auto; font-family:var(--mono); font-size:10px; letter-spacing:.1em; color:var(--faint)}

/* live-generation demo (mirrors the app's running-wave) */
.demo-gen{justify-content:center; gap:14px}
.demo-gen .demo-bar,.demo-prompts .demo-bar{flex-wrap:wrap}
.genwrap{height:10px; border-radius:100px; background:var(--card-2); border:1px solid var(--line); overflow:hidden; position:relative}
.genbar{position:absolute; inset:0; border-radius:100px; background-repeat:no-repeat; background-size:55% 100%;
  background-image:linear-gradient(90deg, transparent, var(--lime) 45%, #eaffa0 55%, transparent); animation:genwave 1.4s linear infinite}
@keyframes genwave{0%{background-position:-60% 0}100%{background-position:160% 0}}
.gen-status{font-family:var(--mono); font-size:12.5px; color:var(--muted); display:flex; align-items:center}
.car2{display:inline-block; width:7px; height:14px; background:var(--lime); margin-left:3px; animation:blink 1s steps(1) infinite}
.gen-dots{display:flex; gap:6px}
.gen-dots span{width:8px; height:8px; border-radius:50%; background:var(--idle); animation:gdot 1.2s infinite}
.gen-dots span:nth-child(2){animation-delay:.2s}.gen-dots span:nth-child(3){animation-delay:.4s}
@keyframes gdot{0%,100%{background:var(--idle); transform:scale(.85)}50%{background:var(--lime); transform:scale(1)}}

/* clean frame-prompts demo */
.demo-prompts{justify-content:center; gap:10px}
.hookchips{display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:11.5px; color:var(--muted)}
.hookchips .hk-l{font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); margin-right:2px}
.hchip{font-size:11px; font-weight:600; padding:3px 10px; border-radius:100px; background:var(--card-2); border:1px solid var(--line); color:var(--muted); transition:background .2s,color .2s,border-color .2s}
.hchip.on{background:var(--lime); color:#0a0a0b; border-color:transparent}
.pbox{display:flex; align-items:flex-start; gap:10px; background:var(--card-2); border:1px solid var(--line); border-radius:10px; padding:10px 12px}
.pbox .pb-n{font-family:var(--mono); font-size:11px; color:var(--faint); margin-top:2px}
.pbox .pb-t{flex:1; font-size:12.5px; line-height:1.5; color:var(--text); margin:0; min-height:36px}
.pbox .pb-copy{flex:none; align-self:center; font-size:10px; font-weight:600; padding:3px 9px; border-radius:100px; background:var(--lime-dim); color:var(--lime)}

/* earlier-progress timeline */
.timeline{list-style:none; margin:34px 0 0; padding:0; position:relative}
.timeline::before{content:""; position:absolute; left:11px; top:6px; bottom:10px; width:2px;
  background:linear-gradient(var(--lime), var(--lime-dim) 55%, transparent)}
.tl-item{position:relative; padding:0 0 0 34px}
.tl-item + .tl-item{margin-top:16px}
.tl-dot{position:absolute; left:5px; top:5px; width:13px; height:13px; border-radius:50%; background:var(--bg); border:2px solid var(--lime); box-shadow:0 0 0 4px var(--bg)}
.tl-row{display:flex; gap:16px; align-items:baseline}
.tl-date{flex:none; width:52px; font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--faint); padding-top:1px}
.tl-body{display:flex; flex-direction:column; gap:2px}
.tl-body b{font-family:var(--display); font-weight:600; font-size:15px; color:var(--text)}
.tl-body span{color:var(--muted); font-size:13.5px}
@media(max-width:560px){.tl-row{flex-direction:column; gap:3px}.tl-date{width:auto}}
/* transform-only entrance — content is always visible even if JS/observer never fires (same contract as .reveal) */
.tl-item{transform:translateX(10px)}
.tl-item.in{animation:tlin .5s ease both}
@keyframes tlin{from{transform:translateX(10px)} to{transform:none}}
@media(prefers-reduced-motion:reduce){.tl-item{transform:none}.tl-item.in{animation:none}}

/* cross-document smooth navigation index <-> changelog (progressive — silent no-op where unsupported) */
@view-transition { navigation: auto; }

/* ship-log CTA on the landing page → dedicated /changelog page */
.shiplog-cta{display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap;
  background:linear-gradient(120deg, var(--card), var(--bg-2)); border:1px solid var(--line); border-radius:20px;
  padding:28px 30px; transition:border-color .2s, transform .2s, box-shadow .25s}
.shiplog-cta:hover{border-color:rgba(205,255,46,.45); transform:translateY(-2px); box-shadow:0 16px 44px rgba(0,0,0,.35)}
.shiplog-cta .slc-l{min-width:260px}
.shiplog-cta .slc-l h3{font-family:var(--display); font-weight:700; font-size:clamp(20px,2.6vw,27px); margin-top:8px; letter-spacing:-.01em}
.shiplog-cta .slc-l p{color:var(--muted); margin-top:8px; font-size:14.5px; max-width:56ch}
.slc-go{flex:none; display:inline-flex; align-items:center; gap:10px; font-family:var(--display); font-weight:600;
  font-size:15px; color:#0a0a0b; background:var(--lime); padding:13px 22px; border-radius:100px; white-space:nowrap;
  box-shadow:0 0 0 rgba(205,255,46,.5); transition:box-shadow .2s}
.shiplog-cta:hover .slc-go{box-shadow:0 6px 26px rgba(205,255,46,.35)}
.slc-arrow{display:inline-block; transition:transform .2s}
.shiplog-cta:hover .slc-arrow{transform:translateX(5px)}
@media(max-width:620px){.shiplog-cta{flex-direction:column; align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.shiplog-cta:hover{transform:none}.shiplog-cta:hover .slc-arrow{transform:none}}
