/* THE OPENING - premium street refinement.
   This file keeps the chosen Franklin system, but removes the heavy override layer
   that was flattening the editorial rhythm. */

:root {
  --night: #030303;
  --black: #000000;
  --white: #f8f7f2;
  --white-premium: #f8f7f2;
  --bone: #efebe1;
  --paper: #efebe1;
  --ink: #030303;
  --yellow: #ffc700;
  --mark: var(--yellow);
  --decision: var(--yellow);
  --signal: var(--mark);
  --muted: rgba(239, 235, 225, 0.72);
  --soft: rgba(239, 235, 225, 0.48);
  --line: rgba(239, 235, 225, 0.16);
}

body {
  background: var(--black);
  color: var(--white);
  text-rendering: geometricPrecision;
}

.topbar .brand-small {
  gap: 0;
}

.topbar .brand-small::before {
  display: none;
}

.topbar .brand-mark {
  width: auto;
  height: clamp(13px, 1.5vw, 17px);
  max-width: min(42vw, 190px);
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.72));
}

.topbar .brand-small span {
  display: none;
}

.h-display,
.hero h1,
.cover-title,
.closing-head,
.fm-head,
.section-head h1,
.section-head h2,
.ep-title,
.form-record h3,
.svc-way h3,
.wayin h3,
.fd-line,
.diagnostic-grid .ds-line,
.problem-verdict p,
.poster-shot .ps-h {
  color: var(--white);
  font-family: var(--display);
  font-weight: 800;
  font-stretch: 96%;
  letter-spacing: -0.028em;
  text-shadow: 0 6px 28px rgba(0, 0, 0, 0.68);
}

.hero h1,
.cover-title,
.fm-head {
  max-width: 10.6ch;
}

.hero h1 em,
.serif-em,
.problem-verdict p span {
  color: var(--bone);
}

.hero-side strong,
.pb-cat,
.rec .rvl,
.cover-copy,
.section-intro,
.build-sub,
.formats-lead,
.waysin-lead,
.svc-waysin-lead,
.diagnostic-copy,
.closing-body,
.fm-lead {
  color: rgba(248, 247, 242, 0.8);
}

.hero-side strong {
  background: var(--mark);
  color: var(--night);
  font-weight: 820;
  letter-spacing: -0.03em;
  box-shadow: 10px 10px 0 rgba(3, 3, 3, 0.72);
}

.kicker,
.brand-small,
.nav-right,
.hero-rail,
.pb-meta,
.rec,
.fm-field label,
.index-button,
.index-menu-head,
.index-menu-foot {
  letter-spacing: 0.13em;
}

.hero-grid {
  gap: clamp(42px, 7vw, 104px);
}

.hero-grid main,
.hero-lead {
  transform: translate(-1vw, -6vh);
}

.problem-verdict {
  max-width: 560px;
}

.ep-title,
.form-record h3,
.svc-way h3,
.wayin h3 {
  font-weight: 820;
  letter-spacing: -0.024em;
}

.brand-small::before,
.kicker::before,
.progress-bar,
.ap-cut,
.fd-line::after,
.form-record:hover::before {
  background: var(--mark);
}

.progress {
  display: none;
}

/* Cross-page rescue: bring Dossier, Operating Map and Field Manual up to the home standard. */
.file-cover,
.operating-cover,
.manual-cover,
.origin,
.diagnostic,
.limits,
.training,
.record-status {
  background-color: var(--black);
}

.file-cover::before,
.operating-cover::before {
  inset: 0;
  transform: none;
  transform-origin: center;
}

.file-cover::after,
.operating-cover::after,
.manual-cover::after {
  background:
    radial-gradient(ellipse at 50% 44%, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.2) 44%, rgba(0, 0, 0, 0.68) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.9), rgba(3, 3, 3, 0.18) 42%, rgba(0, 0, 0, 0.94)),
    linear-gradient(90deg, rgba(0, 0, 0, 0.76), rgba(3, 3, 3, 0.18) 52%, rgba(0, 0, 0, 0.7));
}

.file-cover h1,
.operating-cover h1,
.manual-cover h1 {
  color: var(--white);
  font-weight: 800;
  font-stretch: 96%;
  letter-spacing: -0.026em;
  line-height: 0.9;
  text-shadow: 0 8px 34px rgba(0, 0, 0, 0.86);
}

.cover-sub,
.cover-copy,
.manual-sub,
.origin-copy p,
.diagnostic-copy,
.section-intro {
  color: rgba(239, 235, 225, 0.74);
}

.file-cover .serif-em,
.operating-cover .serif-em,
.manual-cover .serif-em,
.origin-pull .serif-em,
.diagnostic-titleline .serif-em,
.pressure-test .serif-em {
  color: var(--bone);
}

.cover-fileline b,
.manual-fileline b,
.cover-map dt,
.cover-side dt {
  color: var(--mark);
}

/* Poster-scale pass: keep the block/cinematic idea, but reduce the shout across the 4 main pages. */
.hero h1 {
  max-width: 11ch;
  font-size: clamp(3.75rem, 6.35vw, 7.25rem);
  line-height: 0.86;
  font-weight: 840;
  letter-spacing: -0.035em;
}

.problem h2 {
  font-size: clamp(3.2rem, 5.55vw, 6rem);
  line-height: 0.88;
  max-width: 14.5ch;
}

.build h2 {
  font-size: clamp(3.45rem, 6.2vw, 6.65rem);
  line-height: 0.88;
  max-width: 15.5ch;
}

.proof h2,
.closing-head {
  font-size: clamp(2.65rem, 5.1vw, 5.25rem);
  line-height: 0.9;
}

.ep-head .h-display {
  font-size: clamp(2.85rem, 5.55vw, 5.75rem);
  line-height: 0.92;
}

.formats-head .h-display,
.diag-strip .h-display {
  font-size: clamp(2.35rem, 4.65vw, 4.75rem);
  line-height: 0.94;
}

.file-cover h1,
.operating-cover h1 {
  font-size: clamp(3.15rem, 6.25vw, 6.45rem);
  line-height: 0.9;
  font-weight: 840;
}

.file-cover h1 {
  max-width: 13.2ch;
}

.operating-cover h1 {
  max-width: 11.4ch;
}

.training .h-display,
.record-status .h-display,
.diagnostic .h-display,
.build-taxonomy .h-display,
.how-to-start .h-display {
  font-size: clamp(2.55rem, 5vw, 5.2rem);
  line-height: 0.92;
}

.poster-shot .ps-h {
  font-size: clamp(3rem, 8.4vw, 7.1rem);
  line-height: 0.86;
  max-width: 17ch;
}

.proofbar {
  border-top: 4px solid var(--mark);
  border-bottom: 1px solid rgba(255, 199, 0, 0.28);
}

.pb-cat {
  border-left: clamp(6px, 0.8vw, 10px) solid var(--mark);
  padding-left: clamp(16px, 2vw, 26px);
}

.pb-cat span,
.diagnostic-copy span {
  background: var(--mark);
  color: var(--night);
  padding: 0.02em 0.16em 0.06em;
  box-decoration-break: clone;
}

.problem .serif-em,
.build .serif-em,
.proof .serif-em {
  color: var(--bone);
}

.ep-entry,
.wayin,
.fmt-dev,
.rec {
  border-color: rgba(255, 199, 0, 0.22);
}

.ap-track {
  background: rgba(255, 199, 0, 0.42);
}

.lang,
a:hover,
.nav-right a:hover,
.link-arrow:hover,
.index-links a:hover small,
.index-links a:hover strong,
.hero-hand,
.hand-accent,
.poster-shot .ps-kicker,
.fm-field label .req {
  color: var(--mark);
}

.cta-big,
.cta-line,
.fm-submit {
  border-color: rgba(248, 247, 242, 0.26);
}

.closing .cta-big,
.how-to-start .cta-line,
.record-status .cta-line,
.use-field .cta-line {
  background: var(--night);
  color: var(--mark);
}

.closing .cta-big:hover,
.how-to-start .cta-line:hover,
.record-status .cta-line:hover,
.use-field .cta-line:hover,
.fm-submit:hover {
  background: var(--mark);
  color: var(--night);
}

.formats .h-display,
.svc-waysin .h-display,
.build-taxonomy .h-display,
.how-to-start .h-display,
.formats .serif-em,
.svc-waysin .serif-em,
.build-taxonomy .serif-em,
.how-to-start .serif-em {
  color: var(--ink);
  text-shadow: none;
}

.closing-head,
.closing .serif-em {
  color: var(--ink);
  text-shadow: none;
}

img,
.hero::before,
.problem::before,
.proof::before,
.cover::before,
.poster-shot::before {
  filter: grayscale(1) contrast(1.04) brightness(0.9);
}

@media (max-width: 760px) {
  .hero h1,
  .cover-title,
  .fm-head {
    font-size: clamp(3.25rem, 13vw, 4.85rem);
    line-height: 0.84;
  }

  .hero-grid main,
  .hero-lead {
    transform: none;
  }
}

/* Global cinematic editorial pass: one language across Home, Dossier and Operating Map. */
body {
  background:
    radial-gradient(ellipse 80% 56% at 50% -10%, rgba(255, 199, 0, 0.035), transparent 55%),
    #000000;
}

.topbar {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.96), rgba(0, 0, 0, 0.72) 68%, rgba(0, 0, 0, 0));
  border-bottom-color: rgba(239, 235, 225, 0.08);
}

.wrap,
.hero-grid,
.cover-grid,
.cover-register,
.manual-grid,
.formats-head,
.waysin .wrap,
.svc-waysin .wrap {
  width: min(1210px, calc(100% - var(--pad) * 2));
}

.band,
.section,
.chapter,
.svc-waysin,
.formats,
.waysin,
.proofbar,
.record-status,
.how-to-start,
.use-field,
.field-code,
.field-reading,
.limits,
.pressure-test {
  padding-top: clamp(108px, 11.5vw, 168px);
  padding-bottom: clamp(112px, 12vw, 184px);
}

.file-cover,
.operating-cover,
.manual-cover,
.hero {
  min-height: 100svh;
}

.tv-seam {
  height: 1px;
  background:
    linear-gradient(90deg, transparent, rgba(255, 199, 0, 0.56), transparent),
    rgba(239, 235, 225, 0.07);
  opacity: 0.68;
}

.hero::before,
.problem::before,
.build::before,
.proof::before,
.diag-strip::before,
.ep::before,
.file-cover::before,
.operating-cover::before,
.poster-shot::before {
  filter: grayscale(1) contrast(1.12) brightness(0.72);
}

.file-cover::before,
.operating-cover::before,
.ep::before,
.build::before,
.proof::before,
.diag-strip::before,
.poster-shot::before {
  inset: 0;
  transform: none;
}

.hero::after,
.file-cover::after,
.operating-cover::after,
.manual-cover::after {
  background:
    radial-gradient(ellipse 70% 48% at 50% 44%, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.34) 58%, rgba(0, 0, 0, 0.9) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.16) 38%, rgba(0, 0, 0, 0.96)),
    linear-gradient(90deg, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.2) 52%, rgba(0, 0, 0, 0.78));
}

.h-display,
.hero h1,
.cover-title,
.file-cover h1,
.operating-cover h1,
.manual-cover h1,
.closing-head,
.poster-shot .ps-h {
  font-weight: 860;
  font-stretch: 94%;
  letter-spacing: -0.034em;
  text-transform: uppercase;
}

.hero h1,
.file-cover h1,
.operating-cover h1,
.manual-cover h1 {
  text-shadow: 0 10px 36px rgba(0, 0, 0, 0.86);
}

.serif-em,
.hero h1 em,
.problem-verdict p span,
.cover-sub,
.manual-sub {
  color: var(--bone);
}

.section-head,
.origin-head,
.training-intro,
.public-head,
.formats-head,
.ep-head {
  max-width: 980px;
}

.section-intro,
.origin-copy,
.training-note,
.cover-copy,
.diagnostic-copy,
.waysin-lead,
.svc-waysin-lead,
.start-copy,
.use-copy,
.status-copy,
.ep-thesis,
.build-sub,
.formats-lead {
  max-width: 62ch;
  color: rgba(239, 235, 225, 0.78);
  line-height: 1.58;
}

.formats,
.field-reading,
.how-to-start,
.svc-waysin,
.build-taxonomy {
  background-color: var(--bone);
  color: var(--ink);
}

.formats .kicker,
.field-reading .kicker,
.how-to-start .kicker,
.svc-waysin .kicker,
.build-taxonomy .kicker {
  color: rgba(3, 3, 3, 0.62);
}

.formats .h-display,
.field-reading .h-display,
.how-to-start .h-display,
.svc-waysin .h-display,
.build-taxonomy .h-display {
  color: #000000;
}

.formats .serif-em,
.field-reading .serif-em,
.how-to-start .serif-em,
.svc-waysin .serif-em,
.build-taxonomy .serif-em {
  color: rgba(3, 3, 3, 0.72);
}

.form-record,
.svc-way,
.wayin,
.t-block,
.logic-step,
.engagement,
.instrument-part,
.limit,
.observation,
.e-piece,
.rec,
.fmt-dev {
  border-top: 1px solid rgba(239, 235, 225, 0.18);
  border-radius: 0;
  background: linear-gradient(90deg, rgba(255, 199, 0, 0.035), transparent 42%);
  box-shadow: none;
}

.formats .form-record,
.svc-waysin .svc-way,
.build-taxonomy .form-record,
.how-to-start .start-sheet,
.field-reading .observation,
.formats .fmt-dev {
  border-top-color: rgba(3, 3, 3, 0.2);
  background: transparent;
}

.form-record h3,
.svc-way h3,
.wayin h3,
.t-title,
.logic-text h3,
.engagement h3,
.instrument-part h3,
.observation h3,
.limit h3,
.e-title {
  font-weight: 850;
  letter-spacing: -0.026em;
  line-height: 0.96;
}

.when,
.wi-when,
.logic-no,
.limit-no,
.observation-no,
.e-no,
.ps-kicker,
.cover-fileline b,
.manual-fileline b {
  color: var(--mark);
}

.link-arrow,
.cta-line,
.cta-big,
.fm-submit {
  border-radius: 0;
  box-shadow: none;
}

.cta-line,
.cta-big {
  text-transform: uppercase;
  letter-spacing: -0.025em;
}

.vertical-cta {
  color: var(--white);
}

.vertical-cta::before {
  background: var(--mark);
}

@media (max-width: 760px) {
  .band,
  .section,
  .chapter,
  .svc-waysin,
  .formats,
  .waysin,
  .record-status,
  .how-to-start,
  .use-field,
  .field-code,
  .field-reading,
  .limits,
  .pressure-test {
    padding-top: clamp(84px, 20vw, 118px);
    padding-bottom: clamp(88px, 22vw, 126px);
  }

  .h-display,
  .file-cover h1,
  .operating-cover h1,
  .manual-cover h1,
  .closing-head {
    letter-spacing: -0.038em;
  }

  .section-intro,
  .origin-copy,
  .training-note,
  .cover-copy,
  .diagnostic-copy,
  .waysin-lead,
  .svc-waysin-lead,
  .start-copy,
  .use-copy,
  .status-copy,
  .ep-thesis,
  .build-sub,
  .formats-lead {
    line-height: 1.5;
  }
}

/* Editorial cleanup: remove the cheap yellow-card language from text systems. */
.pb-cat {
  border-left: 0;
  padding-left: 0;
}

.pb-cat span,
.diagnostic-copy span {
  background: transparent;
  color: inherit;
  padding: 0;
}

.hero-side strong {
  display: inline;
  background: transparent;
  color: var(--bone);
  padding: 0;
  box-shadow: none;
  white-space: normal;
}

.form-record,
.svc-way,
.wayin,
.t-block,
.logic-step,
.engagement,
.instrument-part,
.limit,
.observation,
.e-piece,
.rec,
.fmt-dev,
.start-sheet,
.instrument,
.decision-output {
  background: transparent;
  box-shadow: none;
}

.form-record,
.svc-way,
.wayin,
.t-block,
.logic-step,
.engagement,
.instrument-part,
.limit,
.observation,
.e-piece,
.rec,
.fmt-dev {
  border-color: rgba(239, 235, 225, 0.13);
}

.formats .form-record,
.svc-waysin .svc-way,
.build-taxonomy .form-record,
.how-to-start .start-sheet,
.field-reading .observation,
.formats .fmt-dev {
  border-color: rgba(3, 3, 3, 0.16);
}

.form-record::before,
.svc-way::before,
.wayin::before,
.t-block::before,
.engagement::before,
.instrument-part::before,
.limit::before,
.observation::before,
.e-piece::before,
.rec::before,
.fmt-dev::before {
  display: none;
  background: transparent;
}

.form-record:hover,
.svc-way:hover,
.wayin:hover,
.t-block:hover,
.engagement:hover,
.instrument-part:hover,
.limit:hover,
.observation:hover,
.e-piece:hover,
.rec:hover,
.fmt-dev:hover {
  background: transparent;
  transform: none;
}

.form-record:hover h3,
.form-record:hover p,
.form-record:hover p i,
.svc-way:hover h3,
.svc-way:hover p,
.wayin:hover h3,
.wayin:hover p {
  color: inherit;
}

.form-record h3::before {
  color: rgba(3, 3, 3, 0.38);
}

.form-record:hover h3::before {
  color: rgba(3, 3, 3, 0.38);
}

.limit .limit-no,
.observation .observation-no,
.e-piece .e-no,
.logic-step .logic-no,
.instrument-part .part-no {
  background: transparent;
  padding: 0;
  box-shadow: none;
}

/* Typographic governance: roles across Home, Dossier and Operating Map. */
body .hero h1,
body .file-cover h1,
body .operating-cover h1,
body .manual-cover h1 {
  font-weight: 860;
  font-stretch: 94%;
  line-height: 0.86;
  letter-spacing: -0.038em;
}

body .hero h1 {
  font-size: clamp(4.15rem, 7.1vw, 8.2rem);
}

body .file-cover h1,
body .operating-cover h1 {
  font-size: clamp(3.7rem, 6.85vw, 7.45rem);
}

body .h-display,
body .closing-head {
  font-weight: 840;
  font-stretch: 94%;
  font-size: clamp(2.65rem, 4.95vw, 5.55rem);
  line-height: 0.92;
  letter-spacing: -0.034em;
}

body .problem h2,
body .ep-head .h-display,
body .build .h-display,
body .proof .h-display,
body .training .h-display,
body .public-evidence .h-display,
body .record-status h2,
body .build-taxonomy .h-display,
body .operating-logic .h-display,
body .engagements .h-display,
body .diagnostic .h-display,
body .how-to-start .h-display {
  font-size: clamp(2.85rem, 5.05vw, 5.65rem);
  line-height: 0.92;
  letter-spacing: -0.032em;
}

body .origin h2,
body .formats-head .h-display,
body .waysin .h-display,
body .svc-waysin .h-display,
body .diag-strip .h-display {
  font-size: clamp(2.25rem, 3.85vw, 4.25rem);
  line-height: 0.98;
  letter-spacing: -0.028em;
}

body .poster-shot .ps-h {
  font: 840 clamp(2.9rem, 7.4vw, 6.6rem)/0.9 var(--display);
  letter-spacing: -0.04em;
}

body .ep-title,
body .t-title,
body .e-title,
body .logic-step h3,
body .engagement h3,
body .instrument-part h3,
body .form-record h3,
body .svc-way h3,
body .wayin h3 {
  font-weight: 820;
  font-size: clamp(1.3rem, 2.05vw, 2.25rem);
  line-height: 1.02;
  letter-spacing: -0.028em;
}

body .section-intro,
body .origin-copy,
body .training-note,
body .cover-copy,
body .diagnostic-copy,
body .waysin-lead,
body .svc-waysin-lead,
body .start-copy,
body .status-copy,
body .ep-thesis,
body .build-sub,
body .formats-lead,
body .lead {
  font-size: clamp(1.02rem, 1.28vw, 1.24rem);
  line-height: 1.58;
}

body .rec,
body .pb-meta,
body .kicker,
body .wi-when,
body .svc-way .when,
body .poster-shot .ps-tag,
body .poster-shot .ps-kicker {
  letter-spacing: 0.16em;
}

body .serif-em,
body .hero h1 em,
body .problem-verdict p span,
body .origin-pull,
body .status-principle {
  font-family: "Newsreader", Georgia, serif;
  font-style: italic;
  font-weight: 500;
  letter-spacing: -0.006em;
  text-transform: none;
}

body .cta-line,
body .cta-big,
body .fm-submit {
  font-size: clamp(1.05rem, 1.65vw, 1.65rem);
  line-height: 1;
}

@media (max-width: 760px) {
  body .hero h1,
  body .file-cover h1,
  body .operating-cover h1,
  body .manual-cover h1 {
    font-size: clamp(3.05rem, 13vw, 4.75rem);
    line-height: 0.86;
  }

  body .h-display,
  body .closing-head,
  body .problem h2,
  body .ep-head .h-display,
  body .build .h-display,
  body .proof .h-display,
  body .training .h-display,
  body .public-evidence .h-display,
  body .record-status h2,
  body .build-taxonomy .h-display,
  body .operating-logic .h-display,
  body .engagements .h-display,
  body .diagnostic .h-display,
  body .how-to-start .h-display {
    font-size: clamp(2.45rem, 10.8vw, 4.05rem);
    line-height: 0.94;
  }

  body .ep-title,
  body .t-title,
  body .e-title,
  body .logic-step h3,
  body .engagement h3,
  body .instrument-part h3,
  body .form-record h3,
  body .svc-way h3,
  body .wayin h3 {
    font-size: clamp(1.25rem, 7.4vw, 2rem);
  }
}


/* V9: mobile progress bar restored across every page. */
@media (max-width: 860px) {
  body .progress {
    display: block !important;
    position: fixed;
    inset: 0 0 auto 0;
    height: 2px;
    background: var(--mark);
    z-index: 9999;
    opacity: 0.96;
    transform: scaleX(0);
    transform-origin: left center;
    will-change: transform;
    box-shadow: 0 0 18px rgba(255, 199, 0, 0.16);
  }
}
