/* V3.C1 — Structural Authority
 * Owns only layout primitives: containers, grids, columns and responsive stacking.
 * No palette, typography scale, section paint, vertical rhythm or artifact rendering.
 */

.sne-v3 {
  --pub-max: 1440px;
  --pub-gutter: clamp(24px, 3.35vw, 60px);
  --pub-grid-gap: clamp(18px, 1.45vw, 24px);
}

.sne-v3.pub-home { margin: 0; }
.sne-v3 a { color: inherit; }
.sne-v3 main { overflow: clip; }

/* Masthead structure. Visual treatment belongs to masthead.css. */
.sne-v3 .pub-nav { top: 0; }
.sne-v3 .pub-nav__inner {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
}
.sne-v3 .pub-brand--candidate {
  display: inline-flex;
  width: 102px;
  align-items: center;
  text-decoration: none;
}
.sne-v3 .pub-brand--candidate svg { display: block; width: 100%; height: auto; }
.sne-v3 .pub-links {
  display: flex;
  justify-content: flex-end;
  min-width: 0;
}
.sne-v3 .pub-links a,
.sne-v3 .pub-nav__cta { position: relative; text-decoration: none; }
.sne-v3 .pub-nav__cta { justify-self: end; }

/* Home composition. */
.sne-v3 .pub-hero,
.sne-v3 .pub-statement,
.sne-v3 .pub-reality,
.sne-v3 .pub-research-callout,
.sne-v3 .pub-terminal {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.sne-v3 .pub-hero,
.sne-v3 .pub-statement--artifact,
.sne-v3 .pub-reality,
.sne-v3 .pub-research-callout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--pub-grid-gap);
}
.sne-v3 .pub-hero .pub-kicker { grid-column: 1 / 7; }
.sne-v3 .pub-hero h1 { grid-column: 1 / 8; }
.sne-v3 .pub-hero > p,
.sne-v3 .pub-hero .pub-actions { grid-column: 9 / 13; }
.sne-v3 .pub-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; }

.sne-v3 .pub-statement--artifact { gap: var(--pub-grid-gap); }
.sne-v3 .pub-statement--artifact .pub-copy { grid-column: 1 / 6; }
.sne-v3 .pub-statement--artifact .pub-artifact { grid-column: 7 / 13; }
.sne-v3 .pub-statement--reverse .pub-copy { grid-column: 8 / 13; }
.sne-v3 .pub-statement--reverse .pub-artifact { grid-column: 1 / 7; }

.sne-v3 .pub-reality { gap: var(--pub-grid-gap); }
.sne-v3 .pub-reality .pub-index { grid-column: 1 / 2; }
.sne-v3 .pub-reality blockquote { grid-column: 2 / 9; }
.sne-v3 .pub-reality > p { grid-column: 10 / 13; }

.sne-v3 .pub-band {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--pub-grid-gap);
  padding-left: max(var(--pub-gutter), calc((100vw - var(--pub-max)) / 2));
  padding-right: max(var(--pub-gutter), calc((100vw - var(--pub-max)) / 2));
  position: relative;
}
.sne-v3 .pub-band__copy { grid-column: 1 / 6; }
.sne-v3 .pub-band > .pub-artifact { grid-column: 7 / 13; }

.sne-v3 .pub-research-callout { gap: var(--pub-grid-gap); }
.sne-v3 .pub-research-callout > div { grid-column: 1 / 8; }
.sne-v3 .pub-research-callout > p,
.sne-v3 .pub-research-callout .pub-depth { grid-column: 9 / 13; }
.sne-v3 .pub-research-callout .pub-depth { justify-self: start; }

.sne-v3 .pub-footer {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
}

/* Deep/public editorial structure. */
.sne-v3.pub-deep .deep-intro,
.sne-v3.pub-deploy .deploy-intro {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--pub-grid-gap);
  position: relative;
}
.sne-v3.pub-deep .deep-intro .pub-index,
.sne-v3.pub-deploy .deploy-intro .pub-index { grid-column: 1 / 7; }
.sne-v3.pub-deep .deep-intro h1,
.sne-v3.pub-deploy .deploy-intro h1 { grid-column: 1 / 8; }
.sne-v3.pub-deep .deep-intro p,
.sne-v3.pub-deploy .deploy-intro p { grid-column: 9 / 13; }

.sne-v3.pub-deep .deep-sequence,
.sne-v3.pub-deep .deep-work-sequence,
.sne-v3.pub-deep .depth-evidence-sequence,
.sne-v3.pub-deep .depth-capability-sequence,
.sne-v3.pub-deep .depth-research-sequence {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin: 0 auto;
}

.sne-v3.pub-deep .deep-problem,
.sne-v3.pub-deep .deep-work,
.sne-v3.pub-deep .depth-evidence,
.sne-v3.pub-deep .depth-capability,
.sne-v3.pub-deep .depth-research,
.sne-v3.pub-deep .depth-company-statement,
.sne-v3.pub-deep .depth-company-flow {
  position: relative;
  display: grid;
}

.sne-v3.pub-deep .deep-problem,
.sne-v3.pub-deep .deep-work,
.sne-v3.pub-deep .depth-research,
.sne-v3.pub-deep .depth-company-statement {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--pub-grid-gap);
}
.sne-v3.pub-deep .deep-problem .deep-number { grid-column: 1 / 2; }
.sne-v3.pub-deep .deep-problem__copy { grid-column: 2 / 10; }
.sne-v3.pub-deep .deep-problem--media .deep-problem__copy { grid-column: 2 / 7; }
.sne-v3.pub-deep .deep-problem--media .deep-artifact { grid-column: 8 / 13; }
.sne-v3.pub-deep .deep-problem--media:nth-child(even) .deep-problem__copy { grid-column: 8 / 13; grid-row: 1; }
.sne-v3.pub-deep .deep-problem--media:nth-child(even) .deep-artifact { grid-column: 2 / 7; grid-row: 1; }
.sne-v3.pub-deep .deep-problem--media:nth-child(even) .deep-number { grid-column: 1 / 2; grid-row: 1; }

.sne-v3.pub-deep .deep-work__copy { grid-column: 1 / 6; }
.sne-v3.pub-deep .deep-work .deep-artifact { grid-column: 7 / 13; }
.sne-v3.pub-deep .deep-work--reverse .deep-work__copy { grid-column: 8 / 13; grid-row: 1; }
.sne-v3.pub-deep .deep-work--reverse .deep-artifact { grid-column: 1 / 7; grid-row: 1; }

.sne-v3.pub-deep .depth-evidence {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--pub-grid-gap);
}
.sne-v3.pub-deep .depth-evidence__head { grid-column: 1 / 5; }
.sne-v3.pub-deep .depth-evidence__body { grid-column: 5 / 13; }

.sne-v3.pub-deep .depth-capability-hero,
.sne-v3.pub-deep .depth-rule,
.sne-v3.pub-deep .depth-company-statement,
.sne-v3.pub-deep .depth-company-flow,
.sne-v3.pub-deep .depth-company-media,
.sne-v3.pub-deep .depth-company-section {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.sne-v3.pub-deep .depth-capability {
  grid-template-columns: 1fr 11fr;
  gap: var(--pub-grid-gap);
}
.sne-v3.pub-deep .depth-research__copy { grid-column: 1 / 6; }
.sne-v3.pub-deep .depth-research .depth-artifact { grid-column: 7 / 13; }
.sne-v3.pub-deep .depth-research--reverse .depth-research__copy { grid-column: 8 / 13; grid-row: 1; }
.sne-v3.pub-deep .depth-research--reverse .depth-artifact { grid-column: 1 / 7; grid-row: 1; }
.sne-v3.pub-deep .depth-company-statement blockquote { grid-column: 1 / 9; }
.sne-v3.pub-deep .depth-company-statement p { grid-column: 10 / 13; }
.sne-v3.pub-deep .depth-company-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sne-v3.pub-deep .depth-company-section {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--pub-grid-gap);
}
.sne-v3.pub-deep .depth-company-section > .pub-index { grid-column: 1 / 3; }
.sne-v3.pub-deep .depth-company-section__heading { grid-column: 4 / 10; }
.sne-v3.pub-deep .depth-company-grid,
.sne-v3.pub-deep .depth-company-steps,
.sne-v3.pub-deep .depth-company-fit,
.sne-v3.pub-deep .depth-company-links,
.sne-v3.pub-deep .depth-company-facts,
.sne-v3.pub-deep .depth-company-faq { grid-column: 4 / 13; }

/* Deploy structure. */
.sne-v3.pub-deploy main {
  width: min(calc(100% - (var(--pub-gutter) * 2)), var(--pub-max));
  margin: 0 auto;
}
.sne-v3.pub-deploy .deploy-intro { width: 100%; }
.sne-v3.pub-deploy .deploy-expectation {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--pub-grid-gap);
  position: relative;
}
.sne-v3.pub-deploy .deploy-expectation > div:first-child { grid-column: 1 / 6; }
.sne-v3.pub-deploy .deploy-expectation > div:last-child { grid-column: 7 / 12; }
.sne-v3.pub-deploy .deploy-form fieldset { position: relative; margin: 0; border: 0; }
.sne-v3.pub-deploy .deploy-form legend { width: 100%; padding: 0; }
.sne-v3.pub-deploy .deploy-form label { display: grid; }
.sne-v3.pub-deploy .deploy-form input,
.sne-v3.pub-deploy .deploy-form textarea,
.sne-v3.pub-deploy .deploy-form select { width: 100%; }
.sne-v3.pub-deploy .deploy-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sne-v3.pub-deploy .deploy-submit { display: flex; align-items: center; flex-wrap: wrap; }
.sne-v3.pub-deploy .sne-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

@media (max-width: 980px) {
  .sne-v3 .pub-nav__inner { grid-template-columns: auto 1fr; }
  .sne-v3 .pub-links { overflow-x: auto; scrollbar-width: none; }
  .sne-v3 .pub-nav__cta { display: none; }

  .sne-v3 .pub-hero h1 { grid-column: 1 / 11; }
  .sne-v3 .pub-hero > p,
  .sne-v3 .pub-hero .pub-actions { grid-column: 5 / 13; }

  .sne-v3 .pub-statement--artifact,
  .sne-v3 .pub-band,
  .sne-v3 .pub-reality,
  .sne-v3 .pub-research-callout,
  .sne-v3.pub-deep .deep-problem,
  .sne-v3.pub-deep .deep-work,
  .sne-v3.pub-deep .depth-evidence,
  .sne-v3.pub-deep .depth-research,
  .sne-v3.pub-deep .depth-company-statement {
    grid-template-columns: 1fr;
  }

  .sne-v3 .pub-statement--artifact .pub-copy,
  .sne-v3 .pub-statement--artifact .pub-artifact,
  .sne-v3 .pub-statement--reverse .pub-copy,
  .sne-v3 .pub-statement--reverse .pub-artifact,
  .sne-v3 .pub-band__copy,
  .sne-v3 .pub-band > .pub-artifact,
  .sne-v3 .pub-reality .pub-index,
  .sne-v3 .pub-reality blockquote,
  .sne-v3 .pub-reality > p,
  .sne-v3 .pub-research-callout > div,
  .sne-v3 .pub-research-callout > p,
  .sne-v3 .pub-research-callout .pub-depth,
  .sne-v3.pub-deep .deep-problem .deep-number,
  .sne-v3.pub-deep .deep-problem__copy,
  .sne-v3.pub-deep .deep-problem .deep-artifact,
  .sne-v3.pub-deep .deep-work__copy,
  .sne-v3.pub-deep .deep-work .deep-artifact,
  .sne-v3.pub-deep .depth-evidence__head,
  .sne-v3.pub-deep .depth-evidence__body,
  .sne-v3.pub-deep .depth-research__copy,
  .sne-v3.pub-deep .depth-research .depth-artifact,
  .sne-v3.pub-deep .depth-company-statement blockquote,
  .sne-v3.pub-deep .depth-company-statement p {
    grid-column: auto;
    grid-row: auto;
  }

  .sne-v3.pub-deep .depth-company-flow { grid-template-columns: 1fr; }
  .sne-v3.pub-deep .depth-company-section { grid-template-columns: 1fr; }
  .sne-v3.pub-deep .depth-company-section > .pub-index,
  .sne-v3.pub-deep .depth-company-section__heading,
  .sne-v3.pub-deep .depth-company-grid,
  .sne-v3.pub-deep .depth-company-steps,
  .sne-v3.pub-deep .depth-company-fit,
  .sne-v3.pub-deep .depth-company-links,
  .sne-v3.pub-deep .depth-company-facts,
  .sne-v3.pub-deep .depth-company-faq { grid-column: auto; }
  .sne-v3.pub-deploy .deploy-intro p { grid-column: 8 / 13; }
}

@media (max-width: 700px) {
  .sne-v3 { --pub-gutter: 18px; }
  .sne-v3 .pub-brand--candidate { width: 98px; }
  .sne-v3 .pub-hero h1,
  .sne-v3 .pub-hero > p,
  .sne-v3 .pub-hero .pub-actions,
  .sne-v3.pub-deep .deep-intro .pub-index,
  .sne-v3.pub-deep .deep-intro h1,
  .sne-v3.pub-deep .deep-intro p,
  .sne-v3.pub-deploy .deploy-intro .pub-index,
  .sne-v3.pub-deploy .deploy-intro h1,
  .sne-v3.pub-deploy .deploy-intro p {
    grid-column: 1 / 13;
  }
  .sne-v3.pub-deploy .deploy-expectation { grid-template-columns: 1fr; }
  .sne-v3.pub-deploy .deploy-expectation > div:first-child,
  .sne-v3.pub-deploy .deploy-expectation > div:last-child { grid-column: auto; }
  .sne-v3.pub-deploy .deploy-two { grid-template-columns: 1fr; }
}
