html{scroll-behavior:smooth;overflow-x:clip}
body.soon-lite{margin:0;overflow-x:clip;background:var(--paper);min-height:100svh;color:var(--ink)}
.soon-stage{
  position:relative;min-height:calc(100svh - 112px);display:grid;place-items:center;
  padding:clamp(24px,4vw,58px) 0;overflow:hidden;background-color:var(--paper);
  background-image:radial-gradient(rgba(225,29,72,.2) .8px,transparent .8px);
  background-size:24px 24px
}
.soon-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.soon-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.soon-head img{display:block;width:46px;height:38px}
.soon-head>span{
  display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid var(--line-2);
  border-radius:999px;background:rgba(255,255,255,.82);font:600 11px/1 var(--mono);
  letter-spacing:.1em;text-transform:uppercase;color:var(--red)
}
.soon-head>span i{width:8px;height:8px;border-radius:50%;background:var(--red)}
.soon-panel{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:stretch;
  gap:1px;border:1px solid var(--line-2);border-radius:26px;overflow:hidden;background:var(--line-2);
  box-shadow:0 34px 80px -56px rgba(65,18,38,.46)
}
.soon-copy,.soon-founder{background:rgba(255,255,255,.9)}
.soon-copy{padding:clamp(36px,6vw,78px)}
.soon-kicker{margin:0;font:600 11px/1 var(--mono);letter-spacing:.15em;color:var(--red)}
.soon-copy h1{
  margin:24px 0 0;max-width:12ch;font:800 clamp(42px,6vw,76px)/1.02 var(--display);
  letter-spacing:-.045em;color:var(--ink)
}
.soon-copy>p:not(.soon-kicker){margin:26px 0 0;max-width:58ch;font-size:16px;line-height:1.7;color:var(--ink-soft)}
.soon-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:32px}
.soon-founder{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(28px,4vw,52px)}
/* Uncapped this rendered a 437px square portrait — the founder's face became
   the largest object on the page and outweighed the headline it supports. The
   cap matches the mobile rule that was already here. */
.soon-founder>img{
  width:100%;max-width:300px;aspect-ratio:1;object-fit:cover;
  border-radius:20px;filter:grayscale(.06)
}
.soon-founder>div{display:grid;gap:6px;margin-top:20px}
.soon-founder small{font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.soon-founder strong{font:800 23px/1.2 var(--display)}
.soon-founder span{max-width:38ch;font-size:14px;line-height:1.55;color:var(--ink-soft)}
.soon-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:12px;border:1px solid var(--line-2);background:var(--line-2)}
.soon-status>span{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;padding:20px;background:rgba(255,255,255,.86);font:600 11px/1 var(--mono);color:var(--red)}
.soon-status b{font:700 14px/1.2 var(--body);color:var(--ink)}
.soon-status i{grid-column:2;font-style:normal;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}
.soon-lite .foot{position:relative;z-index:2;min-height:112px;display:flex;align-items:center}
/* .foot-row is also a .wrap, whose width is min(--wrap, 100% - 2*gutter).
   `width:100%` replaced that outright, so the footer lost its gutters and the
   copyright sat flush against the right edge of the window at every width.
   The row keeps the page measure and simply fills it. */
.soon-lite .foot-row{width:min(var(--wrap),calc(100% - (var(--gutter) * 2)))}
@media(max-width:760px){
  .soon-stage{min-height:auto;padding:20px 0 44px}
  .soon-wrap{width:min(100% - 24px,620px)}
  .soon-head{margin-bottom:12px}
  .soon-head>span{font-size:11px;padding:9px 10px}
  .soon-panel{grid-template-columns:minmax(0,1fr);border-radius:20px}
  .soon-copy{padding:34px 24px}
  .soon-copy h1{font-size:clamp(38px,11.5vw,54px)}
  .soon-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .soon-actions .btn{width:100%;white-space:nowrap}
  .soon-founder{padding:24px}
  .soon-founder>img{max-width:280px}
  .soon-status{grid-template-columns:minmax(0,1fr)}
  .soon-lite .foot{padding:30px 0}
  .soon-lite .foot-row{justify-content:center;text-align:center;gap:18px 22px}
  .soon-lite .foot-row nav{order:3;width:100%;margin:0;justify-content:center;gap:18px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
