/* V3.R14 — Section Rhythm & Spatial System
 * Owns chapter geometry only: vertical rhythm, optical alignment and transition density.
 * Typography, artifact geometry, masthead and home-wide motion remain separate authorities.
 */

.sne-v3 {
  --sne-rhythm-unit: 8px;
  --sne-rhythm-tight: 16px;
  --sne-rhythm-copy: 22px;
  --sne-rhythm-action: 28px;
}

/* Hero — opening: enough air to establish the field without turning into a cover. */
.sne-v3 .pub-hero {
  min-height: clamp(520px, 62svh, 650px);
  padding-top: clamp(64px, 7.2vh, 82px);
  padding-bottom: clamp(70px, 7.8vh, 90px);
  align-content: center;
}
.sne-v3 .pub-hero .pub-kicker { margin-bottom: 18px; }
.sne-v3 .pub-hero > p { align-self: center; margin-top: 0; }
.sne-v3 .pub-hero .pub-actions { margin-top: 30px; }

/* Authority — first proof: intentionally compact and mechanically centered. */
.sne-v3 .pub-statement:has(.pub-artifact--authority) {
  padding-top: clamp(76px, 6.8vw, 102px);
  padding-bottom: clamp(82px, 7.2vw, 110px);
  align-items: center;
}
.sne-v3 .pub-statement:has(.pub-artifact--authority) .pub-copy,
.sne-v3 .pub-statement:has(.pub-artifact--authority) .pub-artifact {
  align-self: center;
}

/* Reality — narrative pause: more vertical silence and a calmer note column. */
.sne-v3 .pub-reality {
  padding-top: clamp(108px, 9.4vw, 148px);
  padding-bottom: clamp(114px, 9.9vw, 156px);
  align-items: center;
}
.sne-v3 .pub-reality .pub-index { padding-top: 6px; }
.sne-v3 .pub-reality blockquote { margin: 0; }
.sne-v3 .pub-reality > p {
  align-self: center;
  margin-top: 0;
  padding-top: 4px;
}

/* Causality — expanded technical beat, but not another pause. */
.sne-v3 .pub-statement--reverse:has(.pub-artifact--causality) {
  padding-top: clamp(88px, 7.7vw, 118px);
  padding-bottom: clamp(94px, 8.1vw, 126px);
  align-items: center;
}
.sne-v3 .pub-statement--reverse:has(.pub-artifact--causality) .pub-copy,
.sne-v3 .pub-statement--reverse:has(.pub-artifact--causality) .pub-artifact {
  grid-row: 1;
  align-self: center;
}

/* Web — paper interruption: concise and self-contained. */
.sne-v3 .pub-band:has(.pub-artifact--web) {
  padding-top: clamp(82px, 7.1vw, 108px);
  padding-bottom: clamp(86px, 7.4vw, 114px);
  align-items: center;
}
.sne-v3 .pub-band:has(.pub-artifact--web) .pub-band__copy,
.sne-v3 .pub-band:has(.pub-artifact--web) .pub-artifact {
  align-self: center;
}

/* Production — fastest chapter: evidence-dense continuation after the paper cut. */
.sne-v3 .pub-statement:has(.pub-artifact--production) {
  padding-top: clamp(72px, 6.4vw, 96px);
  padding-bottom: clamp(78px, 6.8vw, 104px);
  align-items: center;
}
.sne-v3 .pub-statement:has(.pub-artifact--production) .pub-copy,
.sne-v3 .pub-statement:has(.pub-artifact--production) .pub-artifact {
  align-self: center;
}

/* Research — deliberate silence before the field boundary. */
.sne-v3 .pub-research-callout {
  padding-top: clamp(112px, 9.8vw, 154px);
  padding-bottom: clamp(120px, 10.4vw, 164px);
  align-items: center;
}
.sne-v3 .pub-research-callout > div { align-self: center; }
.sne-v3 .pub-research-callout > p {
  align-self: center;
  padding-bottom: 0;
}
.sne-v3 .pub-research-callout .pub-depth { margin-top: 28px; }

/* Field — culmination: the fully coherent cube receives the broadest closing interval. */
.sne-v3 .pub-terminal {
  min-height: clamp(560px, 68svh, 680px);
  padding-top: clamp(112px, 9.8vw, 154px);
  padding-bottom: clamp(128px, 11vw, 176px);
  align-content: center;
}
.sne-v3 .pub-terminal .pub-action { margin-top: 30px; }

/* Internal phrase rhythm. The chapter decides the pause; components keep a shared grammar. */
.sne-v3 .pub-copy h2,
.sne-v3 .pub-band h2 { margin-top: 14px; margin-bottom: 22px; }
.sne-v3 .pub-depth { margin-top: var(--sne-rhythm-action); }
.sne-v3 .pub-terminal h2 { margin-top: 14px; margin-bottom: 22px; }

/* Desktop geometry should not become forced whitespace on narrower compositions. */
@media (max-width: 900px) {
  .sne-v3 .pub-hero {
    min-height: auto;
    padding-top: 66px;
    padding-bottom: 74px;
  }
  .sne-v3 .pub-statement:has(.pub-artifact--authority),
  .sne-v3 .pub-statement--reverse:has(.pub-artifact--causality),
  .sne-v3 .pub-statement:has(.pub-artifact--production) {
    padding-top: 72px;
    padding-bottom: 80px;
  }
  .sne-v3 .pub-statement--reverse:has(.pub-artifact--causality) .pub-copy,
  .sne-v3 .pub-statement--reverse:has(.pub-artifact--causality) .pub-artifact {
    grid-row: auto;
  }
  .sne-v3 .pub-reality {
    padding-top: 86px;
    padding-bottom: 94px;
  }
  .sne-v3 .pub-band:has(.pub-artifact--web) {
    padding-top: 76px;
    padding-bottom: 84px;
  }
  .sne-v3 .pub-research-callout {
    padding-top: 90px;
    padding-bottom: 100px;
  }
  .sne-v3 .pub-terminal {
    min-height: auto;
    padding-top: 94px;
    padding-bottom: 108px;
  }
}

@media (max-width: 700px) {
  .sne-v3 .pub-hero { padding-top: 50px; padding-bottom: 60px; }
  .sne-v3 .pub-statement:has(.pub-artifact--authority),
  .sne-v3 .pub-statement--reverse:has(.pub-artifact--causality),
  .sne-v3 .pub-statement:has(.pub-artifact--production),
  .sne-v3 .pub-reality,
  .sne-v3 .pub-band:has(.pub-artifact--web),
  .sne-v3 .pub-research-callout,
  .sne-v3 .pub-terminal {
    padding-top: 64px;
    padding-bottom: 72px;
  }
  .sne-v3 .pub-reality > p,
  .sne-v3 .pub-research-callout > p { align-self: auto; }
  .sne-v3 .pub-depth,
  .sne-v3 .pub-terminal .pub-action { margin-top: 24px; }
}
