/* Landing-only dark stage; the building carries the scroll story. */
.sn-hero-3d,.sn-lp-header-dark {
  --roof-bg:#0a0e15;
  --roof-text:#f3f6fb;
  --roof-muted:#b5c0cf;
  --roof-accent:#75bbff;
  --roof-action:#0869e8;
  --roof-border:#283342;
}
.sn-lp-header-dark {background:var(--roof-bg);border-bottom-color:var(--roof-border);}
.sn-lp-header-dark .sn-lp-brand,.sn-lp-header-dark .sn-lp-nav a {color:var(--roof-text);}
.sn-lp-header-dark .sn-lp-brand span {border-left-color:var(--roof-border);}
.sn-lp-header-dark .sn-lp-nav a:hover {color:var(--roof-accent);}
.sn-lp-header-dark .sn-lp-actions .nav-link {color:var(--roof-text);border-color:#57718e;background:transparent;box-shadow:none;}
.sn-lp-header-dark .sn-lp-actions .nav-link-primary {background:var(--roof-action);border-color:var(--roof-action);}
.sn-lp-header-dark .sn-lp-menu-toggle {color:var(--roof-text);border-color:var(--roof-border);background:var(--roof-bg);}
.sn-lp-header-dark .sn-lp-menu-toggle span {background:var(--roof-text);}
.sn-lp-header-dark .sn-lp-nav {background:var(--roof-bg);border-color:var(--roof-border);}
.sn-lp-header-dark .sn-lp-nav-login {color:var(--roof-text);border-color:var(--roof-border);background:transparent;}
.sn-hero.sn-hero-3d {
  height:auto;min-height:calc(var(--roof-story-viewport-height,100svh) - var(--sn-lp-header-height));overflow:clip;border-bottom:0;
  color:var(--roof-text);
  background:radial-gradient(ellipse at 50% 72%,#192536 0,#0d131d 48%,var(--roof-bg) 76%);
}
.sn-hero-3d .sn-hero-stage {
  width:100%;height:var(--roof-story-view-height,calc(100svh - var(--sn-lp-header-height)));
  min-height:560px;display:block;
  padding:var(--space-6) var(--space-6) var(--space-3);
}
.sn-hero-3d .sn-hero-stage::after {
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:#060a10;opacity:var(--roof-end-shade,0);
}
.sn-hero-3d .sn-hero-stage::before {
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 76% 52% at 50% 50%,rgb(6 10 16 / 78%),rgb(6 10 16 / 52%) 50%,rgb(6 10 16 / 20%) 100%);
  opacity:var(--roof-caption-presence,0);
}
.sn-hero-3d .sn-hero-copy {
  width:100%;min-height:0;align-items:center;gap:var(--space-3);padding:0;text-align:center;animation:none;
}
.sn-hero-3d .sn-eyebrow {color:var(--roof-text);font-size:var(--text-md);line-height:var(--line-md);letter-spacing:0;}
.sn-hero-3d h1 {color:var(--roof-text);font-size:clamp(36px,4vw,62px);font-weight:var(--weight-bold);line-height:1.2;letter-spacing:-.01em;}
.sn-hero-3d h1 span {color:var(--roof-accent);}
.sn-hero-3d .sn-hero-lead {max-width:680px;color:var(--roof-muted);font-size:var(--text-md);line-height:var(--line-md);}
.sn-hero-3d .sn-cta-row {justify-content:center;gap:var(--space-6);}
.sn-hero-3d .sn-button {
  min-height:var(--control-lg);width:auto;min-width:0;padding-inline:var(--space-6);
  border-radius:var(--radius-md);font-size:var(--text-sm);box-shadow:none;
}
.sn-hero-3d .sn-button-primary {background:var(--roof-action);border-color:var(--roof-action);color:#fff;}
.sn-hero-3d .sn-button-primary:hover {background:#075dcc;}
.sn-hero-3d .sn-button:hover {box-shadow:none;}
.sn-hero-3d .sn-button-secondary {padding-inline:var(--space-2);border:0;color:var(--roof-accent);background:transparent;}
.sn-hero-3d .sn-button-secondary:hover {text-decoration:underline;text-underline-offset:4px;}
.sn-hero-visual {position:absolute;top:var(--roof-copy-bottom,340px);bottom:var(--space-3);left:50%;translate:-50% 0;width:min(1920px,100vw);min-height:220px;pointer-events:none;}
.sn-hero-roof {position:absolute;top:50%;left:50%;width:min(100%,960px);max-height:100%;object-fit:contain;height:auto;translate:-50% -50%;}
.has-roof-story .sn-hero-roof {display:none;}
.sn-roof-story-canvas {display:block;width:100%;height:100%;position:absolute;inset:0;}
.sn-roof-story-canvas[hidden] {display:none;}
.sn-roof-caption {
  display:none;position:absolute;inset:0;padding:var(--space-6);place-items:center;
  z-index:2;pointer-events:none;opacity:0;text-align:center;
}
.is-roof-story-pinned .sn-roof-caption {display:grid;}
.sn-roof-caption-item {grid-area:1 / 1;max-width:100%;opacity:0;}
.sn-roof-caption-title {
  display:block;color:var(--roof-text);font-size:clamp(28px,5.4vw,76px);line-height:1.35;font-weight:700;letter-spacing:-.01em;
  text-wrap:balance;
}
.is-roof-story-pinned {height:calc(var(--roof-story-viewport-height,100svh) - var(--sn-lp-header-height) + var(--roof-story-distance));}
.is-roof-story-pinned .sn-hero-3d {position:sticky;top:var(--sn-lp-header-height);}
.sn-lp-header-dark :focus-visible,.sn-hero-3d :focus-visible {outline:var(--border-focus) solid var(--roof-accent);outline-offset:var(--focus-offset);}
@media (max-width:1024px) {
  .sn-hero-3d h1 {font-size:clamp(34px,5.2vw,52px);}
  .sn-hero-3d .sn-hero-stage {padding-inline:var(--space-5);}
}
@media (max-width:767px) {
  .sn-hero-3d .sn-hero-stage {min-height:520px;padding:var(--space-5) var(--space-4) var(--space-2);}
  .sn-hero-3d h1 {font-size:clamp(24px,7.1vw,38px);}
  .sn-hero-3d .sn-eyebrow {font-size:var(--text-sm);line-height:var(--line-sm);}
  .sn-hero-3d .sn-hero-lead {font-size:var(--text-sm);line-height:var(--line-sm);}
  .sn-hero-3d .sn-cta-row {display:flex;width:auto;gap:var(--space-4);}
  .sn-hero-3d .sn-button {padding-inline:var(--space-4);}
  .sn-hero-visual {top:var(--roof-copy-bottom,280px);}
  .sn-roof-caption-title {font-size:clamp(28px,7.7vw,48px);}
}
@media (prefers-reduced-motion:reduce) {
  .sn-hero-3d * {scroll-behavior:auto;}
}
