@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --ink: #13283A;
  --deep: #13283A;
  --navy: #13283A;
  --blue: #13283A;
  --ice: #F4F7F9;
  --snow: #F4F7F9;
  --warm: #FAA80D;
  --warm-soft: #FAA80D;
  --text: #13283A;
  --muted: #6f7d90;
  --line: rgba(255,255,255,.13);
  --max: 1180px;
  --radius: 24px;
  --shadow: 0 24px 70px rgba(4, 11, 24, .28);
  --arena-min-height: 410px;
  --nav-min-height: 88px;
  --brand-lockup-width: 286px;
  --brand-lockup-height: 96px;
}

@media (max-width: 900px) {
  :root {
    --nav-min-height: 80px;
    --brand-lockup-width: 196px;
    --brand-lockup-height: 68px;
  }
}

@media (max-width: 720px) {
  :root {
    --arena-min-height: 330px;
    --nav-min-height: 72px;
    --brand-lockup-width: 172px;
    --brand-lockup-height: 60px;
  }
}

@media (max-width: 470px) {
  :root {
    --arena-min-height: 285px;
    --nav-min-height: 68px;
    --brand-lockup-width: 148px;
    --brand-lockup-height: 52px;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--snow);
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.6;
}
a { color: inherit; }
img { max-width: 100%; display: block; }
.section-wrap { width: min(100% - 48px, var(--max)); margin-inline: auto; }

/* Navigation */
.nav-wrap {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgb(9,18,32);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: none;
}
.nav {
  width: min(100% - 48px, var(--max));
  min-height: var(--nav-min-height);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: white;
  text-decoration: none;
}
.brand-mark {
  width: 42px;
  height: 42px;
  overflow: hidden;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.65);
  background: #d9e3ef;
  box-shadow: 0 0 0 3px rgba(255,255,255,.05);
}
.brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 48%;
  transform: scale(1.6);
}
.brand-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: 1.08rem;
}
.nav-links { display: flex; align-items: center; gap: 22px; color: #e3eaf3; font-size: .9rem; }
.nav-links a { text-decoration: none; }
.nav-links a:hover { color: white; }

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 800;
  font-size: .9rem;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: #FAA80D; color: #13283A; box-shadow: 0 12px 32px rgba(250,168,13,.24); }
.btn-primary:hover { background: #FAA80D; filter: brightness(.94); }
.btn-ghost { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.25); color: white; }
.btn-light { background: white; color: var(--ink); border-color: #e1e6ec; }
.btn-disabled { background: #e6eaf0; color: #7a8796; pointer-events: none; }

/* Type */
.eyebrow, .section-kicker {
  margin: 0;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.eyebrow { color: #cad7e8; }
.eyebrow.warm { color: var(--warm); }
.section-kicker { color: var(--blue); }
.section-kicker.light { color: var(--warm-soft); }

/* Hero */
.hero {
  position: relative;
  overflow: hidden;
  color: white;
  background: var(--deep);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(9,18,32,.98) 0%, rgba(14,31,54,.96) 46%, rgba(18,42,73,.78) 70%, rgba(12,27,47,.82) 100%),
    url('/assets/hero-atmosphere-home.jpg') center 52% / cover no-repeat;
  transform: scale(1.035);
}
.hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 180px;
  background: linear-gradient(to top, rgba(4,11,20,.42), transparent);
  pointer-events: none;
}
.hero-inner {
  position: relative;
  z-index: 2;
  width: min(100% - 48px, var(--max));
  min-height: 640px;
  margin-inline: auto;
  padding: 76px 0 84px;
  display: grid;
  grid-template-columns: 1.15fr .7fr;
  gap: 70px;
  align-items: center;
}
.hero-copy { max-width: 760px; }
.hero h1 {
  margin: 12px 0 0;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(4.2rem, 8.5vw, 7.9rem);
  font-weight: 800;
  line-height: .84;
  letter-spacing: -.015em;
  text-transform: uppercase;
  text-shadow: 0 4px 25px rgba(0,0,0,.18);
}
.hero-hook {
  margin: 31px 0 0;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: .025em;
  text-transform: uppercase;
  color: white;
}
.hero-hook span { color: var(--warm-soft); }
.hero-sub {
  max-width: 610px;
  margin: 16px 0 0;
  color: #d2deeb;
  font-size: clamp(1rem, 1.7vw, 1.2rem);
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.cover-stage { position: relative; width: min(100%, 360px); justify-self: center; }
.cover-glow {
  position: absolute;
  inset: 12% -18% -8%;
  border-radius: 50%;
  background: rgba(208,161,101,.26);
  filter: blur(42px);
}
.hero-cover {
  position: relative;
  border-radius: 9px;
  box-shadow: 0 30px 74px rgba(0,0,0,.46);
  transform: rotate(1deg);
}
.cover-note { display: block; margin-top: 12px; text-align: center; color: #a9b7c9; font-size: .73rem; }
.hero-rule { position: relative; z-index: 3; height: 5px; background: linear-gradient(90deg, transparent, var(--warm), transparent); opacity: .68; }

/* Book One */
.book-section { padding: 92px 0; background: linear-gradient(180deg, #f7f9fb 0%, #eef3f7 100%); }
.book-feature {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  min-height: 510px;
  overflow: hidden;
  background: white;
  border: 1px solid #e1e7ee;
  border-radius: 28px;
  box-shadow: 0 24px 58px rgba(13,28,47,.12);
}
.arena-panel {
  min-height: var(--arena-min-height);
  position: relative;
  overflow: hidden;
  background-image:
    linear-gradient(180deg, rgba(9,18,32,.02) 38%, rgba(9,18,32,.68) 100%),
    url('/assets/book-one-scene.jpg');
  background-position: center center, center top;
  background-size: 100% 100%, cover;
  background-repeat: no-repeat, no-repeat;
  background-color: #0b1423;
}

@media (min-width: 901px) {
  .arena-panel {
    align-self: center;
    min-height: 0;
    aspect-ratio: 1024 / 760;
    margin: 24px 0 24px 24px;
    border-radius: 20px;
    background-image:
      linear-gradient(180deg, rgba(9,18,32,.00) 38%, rgba(9,18,32,.64) 100%),
      url('/assets/book-one-scene.jpg');
    background-position: center center, center center;
  }

}
.arena-label {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 26px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  color: white;
}
.arena-label span { font-size: .72rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; color: var(--warm-soft); }
.arena-label strong { font-family: 'Barlow Condensed', sans-serif; font-size: 1.28rem; letter-spacing: .04em; text-transform: uppercase; }

@media (min-width: 901px) {
  .arena-label {
    left: 24px;
    right: 24px;
    bottom: 22px;
  }
}
.book-copy { padding: 56px 54px; align-self: center; }
.book-copy h2 {
  margin: 8px 0 8px;
  color: var(--ink);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(3rem, 5vw, 4.8rem);
  font-weight: 800;
  line-height: .9;
  text-transform: uppercase;
  letter-spacing: -.01em;
}
.series-line { margin: 0 0 24px; color: var(--blue); font-weight: 800; }
.book-copy p { color: #4c5a6e; }
.book-copy .book-lead { font-size: 1.04rem; color: #34455d; }
.book-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 20px; }
.book-meta span { padding: 7px 11px; border-radius: 999px; background: #e8eef6; color: var(--navy); font-size: .76rem; font-weight: 800; }
.author-line { margin-bottom: 0; }

/* Roster */
.wolves-section { padding: 92px 0 100px; color: white; background: #0b1423; position: relative; overflow: hidden; }
.wolves-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 78% 18%, rgba(60,99,151,.18), transparent 25%),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: auto, 100% 54px;
  opacity: .8;
}
.wolves-section .section-wrap { position: relative; z-index: 2; }
.wolves-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; margin-bottom: 42px; }
.wolves-heading h2 {
  margin: 8px 0 0;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(3rem, 5.7vw, 5rem);
  line-height: .9;
  text-transform: uppercase;
}
.wolves-heading > p { margin: 0; color: #c2cedd; max-width: 520px; }
.roster { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.player-card {
  min-height: 225px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 23px 20px 20px;
  border-top: 3px solid var(--warm);
  border-left: 1px solid rgba(255,255,255,.12);
  border-right: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
}
.player-card:nth-child(even) { transform: translateY(10px); }
.position { color: #aab8cb; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.player-card h3 { margin: 0; font-family: 'Barlow Condensed', sans-serif; font-size: clamp(1.8rem, 2.6vw, 2.65rem); line-height: .9; text-transform: uppercase; letter-spacing: .02em; }

/* Reader CTA */
.reader-strip { padding: 66px 0; background: #f0f4f8; }
.reader-strip-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 42px;
  padding: 36px 42px;
  color: white;
  border-radius: 24px;
  background: linear-gradient(125deg, #16345c, #2d568d);
  box-shadow: 0 20px 50px rgba(24,54,92,.18);
}
.reader-strip h2 { margin: 6px 0 4px; font-family: 'Barlow Condensed', sans-serif; font-size: clamp(2rem, 3.8vw, 3.3rem); line-height: .95; text-transform: uppercase; }
.reader-strip p { margin: 0; color: #d6e1ed; }

/* Footer */
.footer { padding: 25px 0; background: #07101c; color: #9eacbd; font-size: .82rem; }
.footer-inner { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; }

/* About page */
.about-page { background: #edf2f6; }
.about-main {
  padding: 74px 0 88px;
  background: linear-gradient(180deg, #10233d 0, #10233d 290px, #edf2f6 290px, #edf2f6 100%);
}
.about-card {
  width: min(100%, 1100px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr);
  overflow: hidden;
  background: white;
  border: 1px solid #dde5ed;
  border-radius: 28px;
  box-shadow: 0 26px 66px rgba(10,24,40,.18);
}
.about-photo {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  background: #0b1423;
}
.about-photo::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset -1px 0 rgba(255,255,255,.12);
}
.about-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 44%;
}
.about-copy { align-self: center; padding: 54px 58px 56px; }
.about-copy h1 {
  margin: 8px 0 30px;
  color: var(--ink);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(3.4rem, 5.3vw, 5.1rem);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.01em;
  text-transform: uppercase;
}
.about-body p {
  margin: 0 0 18px;
  color: #4c5a6e;
  font-size: 1.02rem;
  line-height: 1.72;
}
.about-body p:last-child { margin-bottom: 0; }
.about-body strong, .about-body em { color: #263a55; }
.author-link {
  color: inherit;
  text-decoration-color: rgba(45,84,135,.38);
  text-underline-offset: 3px;
}
.author-link:hover, .author-link:focus-visible {
  color: var(--navy);
  text-decoration-color: currentColor;
}
.nav-links a[aria-current="page"] { color: white; }

@media (max-width: 900px) {
  .about-main {
    padding-top: 60px;
    padding-bottom: 72px;
    background: linear-gradient(180deg, #10233d 0, #10233d 245px, #edf2f6 245px, #edf2f6 100%);
  }
  .about-card { grid-template-columns: minmax(285px, .85fr) minmax(0, 1.15fr); }
  .about-photo { min-height: 590px; }
  .about-copy { padding: 44px 40px 46px; }
  .about-copy h1 { font-size: clamp(3rem, 6.2vw, 4.2rem); }
}

@media (max-width: 720px) {
  .about-main {
    padding: 38px 0 56px;
    background: linear-gradient(180deg, #10233d 0, #10233d 210px, #edf2f6 210px, #edf2f6 100%);
  }
  .about-card { grid-template-columns: 1fr; border-radius: 22px; }
  .about-photo { min-height: 0; aspect-ratio: 4 / 5; }
  .about-photo::after { box-shadow: inset 0 -1px rgba(255,255,255,.12); }
  .about-copy { padding: 36px 28px 40px; }
  .about-copy h1 { margin-bottom: 24px; font-size: clamp(3rem, 14vw, 4.15rem); }
  .about-body p { font-size: .98rem; line-height: 1.68; }
}

/* Reader page */
.read-shell { min-height: 100vh; background: #edf2f6; }
.read-hero { position: relative; overflow: hidden; padding: 76px 24px 80px; color: white; background: var(--deep); }
.read-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(9,18,32,.96), rgba(20,48,82,.84)),
    url('/assets/silver-ridge-arena-wide.jpg') center 65% / cover no-repeat;
  opacity: .92;
}
.read-hero-inner { position: relative; z-index: 2; max-width: 850px; margin: 0 auto; text-align: center; }
.read-hero h1 { margin: 12px 0 0; font-family: 'Barlow Condensed', sans-serif; font-size: clamp(3.6rem, 8vw, 6.6rem); line-height: .88; text-transform: uppercase; }
.read-hero p { max-width: 680px; margin: 19px auto 0; color: #d7e1ec; }
.reader-card { position: relative; z-index: 3; width: min(100% - 32px, 920px); margin: -38px auto 0; padding-bottom: 82px; }
.reader-panel { overflow: hidden; background: white; border-radius: 26px; box-shadow: 0 24px 60px rgba(10,24,40,.16); }
.reader-top { display: grid; grid-template-columns: 138px 1fr; gap: 28px; align-items: center; padding: 30px; border-bottom: 1px solid #e4e9ef; }
.reader-top img { border-radius: 7px; box-shadow: 0 12px 30px rgba(10,23,39,.18); }
.reader-top h2 { margin: 5px 0 7px; font-family: 'Barlow Condensed', sans-serif; font-size: clamp(2.2rem, 5vw, 3.5rem); line-height: .9; text-transform: uppercase; color: var(--ink); }
.reader-top p { margin: 0; color: #637186; }
.reader-body { padding: 34px; }
.reader-body h3 { margin: 34px 0 11px; font-family: 'Barlow Condensed', sans-serif; font-size: 1.55rem; text-transform: uppercase; color: var(--navy); letter-spacing: .035em; }
.reader-body h3:first-child { margin-top: 0; }
.reader-body p { color: #4f5d70; }
.reader-note { padding: 15px 17px; border-radius: 12px; background: #eef4fa; color: #4f6178 !important; }
.download-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.download-box { padding: 19px; border: 1px solid #dfe5ec; border-radius: 15px; background: #fafbfd; }
.download-type { display: inline-block; margin-bottom: 13px; color: var(--blue); font-family: 'Barlow Condensed', sans-serif; font-size: 1.5rem; font-weight: 800; }
.download-box strong { display: block; color: var(--ink); }
.download-box p { margin: 3px 0 14px; font-size: .87rem; color: #748195; }
.reader-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.deadline { padding: 14px 16px; border-left: 4px solid var(--warm); border-radius: 0 11px 11px 0; background: #fbf5ec; color: #614c35; }
.one-request { margin-top: 36px; padding: 18px 20px; border-radius: 14px; background: #111f35; color: white; }
.one-request p { margin: 4px 0 0; color: #cbd6e3; }

@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr .58fr; gap: 38px; }
  .book-feature { grid-template-columns: 1fr; }
  .wolves-heading { grid-template-columns: 1fr; gap: 20px; }
  .roster { grid-template-columns: repeat(3, 1fr); }
  .player-card:nth-child(even) { transform: none; }
  .reader-strip-inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 720px) {
  .section-wrap, .nav, .hero-inner { width: min(100% - 32px, var(--max)); }
  .nav-links a:not(.nav-cta) { display: none; }
  .hero-inner { min-height: unset; grid-template-columns: 1fr; padding: 58px 0 66px; }
  .hero h1 { font-size: clamp(4rem, 20vw, 6.2rem); }
  .hero-hook { font-size: 1.78rem; }
  .cover-stage { width: min(72vw, 320px); margin-top: 12px; }
  .book-section { padding: 62px 0; }
  .book-copy { padding: 38px 28px 42px; }
  .arena-label { left: 20px; right: 20px; bottom: 18px; }
  .wolves-section { padding: 64px 0 74px; }
  .roster { grid-template-columns: 1fr 1fr; }
  .player-card { min-height: 180px; }
  .reader-strip { padding: 48px 0; }
  .reader-strip-inner { padding: 30px 26px; }
  .reader-top { grid-template-columns: 92px 1fr; gap: 17px; padding: 22px; }
  .reader-body { padding: 24px; }
  .download-grid, .reader-grid { grid-template-columns: 1fr; }
}

@media (max-width: 470px) {
  .brand-name { font-size: .95rem; }
  .brand-mark { width: 36px; height: 36px; }
.nav-cta { min-height: 40px; padding-inline: 14px; font-size: .78rem; }
  .hero-actions .btn { width: 100%; }
  .roster { grid-template-columns: 1fr; }
  .player-card { min-height: 145px; }
  .arena-label strong { display: none; }
}

/* =========================================================
   V3 refinement pass
   ========================================================= */

/* Cleaner temporary crest treatment */
.brand-mark {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(208,161,101,.88);
  background: #cfd8e4;
  box-shadow: 0 0 0 3px rgba(255,255,255,.035), 0 4px 14px rgba(0,0,0,.18);
}
.brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transform: scale(1.12);
}

/* Give Book One copy more room to breathe */
.book-feature { grid-template-columns: 1.03fr 1fr; }
.book-copy { padding: 62px 60px; }
.book-copy p {
  font-size: 1.03rem;
  line-height: 1.72;
}
.book-copy .book-lead {
  font-size: 1.10rem;
  line-height: 1.7;
}
.series-line {
  margin-bottom: 28px;
  font-size: .95rem !important;
  line-height: 1.35 !important;
}
.author-line { font-size: .94rem !important; }
.book-meta { margin-top: 27px; }

/* Character section: less roster board, more cast */
.wolves-section { padding: 88px 0 96px; }
.wolves-heading {
  align-items: center;
  margin-bottom: 38px;
}
.wolves-heading h2 {
  font-size: clamp(3.2rem, 5.9vw, 5.2rem);
  letter-spacing: -.01em;
}
.wolves-heading > p {
  font-size: 1rem;
  line-height: 1.7;
  color: #c7d2e0;
}
.roster {
  gap: 12px;
  align-items: stretch;
}
.player-card {
  min-height: 270px;
  padding: 22px 20px 21px;
  justify-content: space-between;
  border-top-width: 2px;
  border-radius: 0 0 10px 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.022));
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.player-card:nth-child(even) { transform: none; }
.player-card:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.03));
  border-left-color: rgba(255,255,255,.18);
}
.position {
  display: inline-block;
  min-height: 28px;
  color: #b3c0d0;
  font-size: .66rem;
  letter-spacing: .115em;
}
.player-card h3 {
  margin: 18px 0 0;
  font-size: clamp(2rem, 2.55vw, 2.55rem);
  line-height: .88;
}
.character-hook {
  margin: 26px 0 0;
  color: #c8d3e0;
  font-size: .88rem;
  line-height: 1.55;
}

/* Temporary reader CTA should feel secondary, not like the homepage finale */
.reader-strip { padding: 48px 0; }
.reader-strip-inner {
  padding: 27px 34px;
  border-radius: 18px;
  background: linear-gradient(125deg, #16345c, #294e7e);
  box-shadow: 0 14px 36px rgba(24,54,92,.14);
}
.reader-label {
  margin: 0;
  color: var(--warm-soft) !important;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.reader-strip h2 {
  margin: 5px 0 2px;
  font-size: clamp(1.8rem, 3vw, 2.65rem);
}
.reader-strip p:not(.reader-label) {
  font-size: .92rem;
}

/* Reader page V3 polish */
.read-hero h1 {
  font-size: clamp(3.2rem, 7vw, 5.7rem);
}
.read-hero p {
  font-size: 1.03rem;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .book-copy { padding: 46px 40px 50px; }
  .roster { grid-template-columns: repeat(2, 1fr); }
  .player-card { min-height: 235px; }
  .player-card:last-child { grid-column: 1 / -1; min-height: 190px; }
}

@media (max-width: 720px) {
  .book-copy { padding: 38px 28px 42px; }
  .book-copy p { font-size: 1rem; }
  .book-copy .book-lead { font-size: 1.04rem; }
  .wolves-heading { margin-bottom: 28px; }
  .roster { grid-template-columns: 1fr; }
  .player-card,
  .player-card:last-child {
    grid-column: auto;
    min-height: 172px;
  }
  .player-card h3 { margin-top: 12px; }
  .character-hook { margin-top: 18px; }
  .reader-strip-inner { padding: 26px; }
}


/* =========================================================
   V4 launch-candidate: mobile QA + reader utility flow
   ========================================================= */

/* Reader page should function first, market second. */
.read-hero {
  padding: 54px 24px 58px;
}
.read-hero h1 {
  max-width: 760px;
  margin-inline: auto;
}
.reader-top-compact {
  padding-top: 24px;
  padding-bottom: 24px;
}

/* Final responsive overrides must come after V3 rules. */
@media (max-width: 900px) {
  .book-feature {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  /* Homepage hero: preserve drama without wasting the first screen. */
  .hero-inner {
    gap: 34px;
    padding: 50px 0 54px;
  }
  .hero h1 {
    font-size: clamp(4.25rem, 19vw, 5.9rem);
  }
  .hero-hook {
    margin-top: 25px;
    font-size: 1.72rem;
  }
  .hero-sub {
    margin-top: 14px;
    font-size: 1rem;
    line-height: 1.55;
  }
  .hero-actions {
    margin-top: 23px;
  }
  .cover-stage {
    width: min(76vw, 300px);
    margin: 0 auto;
  }

  /* Book One must stack vertically on phones. */
  .book-feature {
    display: block;
    min-height: 0;
    border-radius: 22px;
  }
  .book-copy {
    padding: 34px 26px 38px;
  }
  .book-copy h2 {
    font-size: clamp(3rem, 15vw, 4.25rem);
  }
  .book-meta {
    gap: 6px;
  }

  /* Cast cards: slightly tighter, still roomy enough to read. */
  .wolves-section {
    padding: 58px 0 66px;
  }
  .wolves-heading h2 {
    font-size: clamp(3.2rem, 15vw, 4.3rem);
  }
  .wolves-heading > p {
    font-size: .96rem;
  }
  .player-card,
  .player-card:last-child {
    min-height: 158px;
    padding: 19px 18px 18px;
  }

  /* Reader CTA should not dominate mobile homepage. */
  .reader-strip {
    padding: 36px 0;
  }
  .reader-strip-inner {
    gap: 20px;
    padding: 24px 22px;
  }
  .reader-strip .btn {
    min-height: 44px;
  }

  /* /read: get to the files quickly. */
  .read-hero {
    padding: 42px 20px 46px;
  }
  .read-hero h1 {
    font-size: clamp(3rem, 14vw, 4.35rem);
    line-height: .9;
  }
  .read-hero p {
    margin-top: 14px;
    font-size: .96rem;
    line-height: 1.55;
  }
  .reader-card {
    width: min(100% - 24px, 920px);
    margin-top: -24px;
    padding-bottom: 58px;
  }
  .reader-panel {
    border-radius: 22px;
  }
  .reader-top-compact {
    grid-template-columns: 74px 1fr;
    gap: 15px;
    padding: 18px;
  }
  .reader-top-compact h2 {
    font-size: clamp(2.15rem, 10vw, 3rem);
    line-height: .92;
  }
  .reader-top-compact p:last-child {
    font-size: .88rem;
    line-height: 1.45;
  }
  .reader-body {
    padding: 22px 20px 26px;
  }
  .reader-body h3 {
    margin-top: 30px;
    font-size: 1.48rem;
  }
  .reader-body h3:first-child {
    margin-top: 0;
  }
  .download-grid {
    gap: 11px;
  }
  .download-box {
    padding: 17px;
  }
  .download-box .btn,
  .reader-grid .btn {
    width: auto;
    min-height: 43px;
    padding-inline: 17px;
  }
  .reader-note,
  .deadline {
    font-size: .96rem;
  }
  .one-request {
    margin-top: 30px;
  }
}

@media (max-width: 470px) {
  .section-wrap,
  .nav,
  .hero-inner {
    width: min(100% - 28px, var(--max));
  }

  .nav {
    gap: 12px;
  }
  .brand {
    gap: 9px;
    min-width: 0;
  }
  .brand-name {
    font-size: .93rem;
    white-space: nowrap;
  }
  .brand-mark {
    flex: 0 0 auto;
    width: 37px;
    height: 37px;
  }
  .nav-cta {
    min-height: 38px;
    padding-inline: 13px;
    font-size: .76rem;
    white-space: nowrap;
  }

  .hero h1 {
    font-size: clamp(4.05rem, 20.5vw, 5.35rem);
  }
  .hero-hook {
    font-size: 1.57rem;
  }
  .cover-stage {
    width: min(82vw, 285px);
  }

  .book-section {
    padding: 48px 0;
  }
  .arena-label {
    left: 17px;
    right: 17px;
    bottom: 15px;
  }
  .book-copy {
    padding: 29px 22px 32px;
  }
  .book-copy h2 {
    font-size: clamp(2.8rem, 14.2vw, 3.65rem);
  }
  .book-copy p,
  .book-copy .book-lead {
    font-size: .97rem;
    line-height: 1.62;
  }

  .wolves-heading h2 {
    font-size: clamp(3rem, 14.5vw, 3.95rem);
  }

  .reader-strip-inner {
    border-radius: 17px;
  }

  .read-hero h1 {
    font-size: clamp(2.9rem, 13.5vw, 3.8rem);
  }
  .reader-top-compact {
    grid-template-columns: 66px 1fr;
  }
}


/* =========================================================
   V5 launch candidate: cast cleanup + e-reader help
   ========================================================= */

.wolves-heading {
  margin-bottom: 28px;
}

.ereader-help {
  margin: 16px 0 6px;
  border: 1px solid rgba(13, 22, 38, .12);
  border-radius: 14px;
  background: rgba(237, 228, 217, .48);
  overflow: hidden;
}

.ereader-help summary {
  cursor: pointer;
  list-style: none;
  padding: 16px 18px;
  font-weight: 800;
  color: var(--navy);
}

.ereader-help summary::-webkit-details-marker {
  display: none;
}

.ereader-help summary::after {
  content: "+";
  float: right;
  font-size: 1.25rem;
  line-height: 1;
}

.ereader-help[open] summary::after {
  content: "–";
}

.ereader-help-body {
  border-top: 1px solid rgba(13, 22, 38, .10);
  padding: 2px 18px 16px;
}

.ereader-step {
  padding: 14px 0;
}

.ereader-step + .ereader-step {
  border-top: 1px solid rgba(13, 22, 38, .08);
}

.ereader-step h4 {
  margin: 0 0 6px;
  font-size: 1rem;
  color: var(--navy);
}

.ereader-step p {
  margin: 0;
}

.text-link {
  display: inline-block;
  margin-top: 8px;
  font-weight: 800;
  color: var(--blue);
  text-decoration: none;
}

.text-link:hover,
.text-link:focus {
  text-decoration: underline;
}

@media (max-width: 720px) {
  .wolves-heading {
    margin-bottom: 22px;
  }

  .ereader-help {
    margin-top: 12px;
  }

  .ereader-help summary {
    padding: 15px 16px;
    font-size: .96rem;
  }

  .ereader-help-body {
    padding-inline: 16px;
  }
}


/* =========================================================
   V6 micro-fix: mobile spacing + final copy cleanup
   ========================================================= */

@media (max-width: 720px) {
  .hero h1 {
    font-size: clamp(3.85rem, 18.4vw, 5.05rem);
  }
  .book-copy h2 {
    font-size: clamp(2.7rem, 13.2vw, 3.45rem);
  }
}

@media (max-width: 470px) {
  .hero h1 {
    font-size: clamp(3.72rem, 18vw, 4.78rem);
  }
  .book-copy h2 {
    font-size: clamp(2.55rem, 12.6vw, 3.2rem);
  }
}


/* =========================================================
   V7 reader launch: final content + private reader flow
   ========================================================= */

/* With reader access removed from the public homepage, keep nav balanced. */
.nav-links {
  align-items: center;
}

/* New blurb is intentionally more specific and slightly longer. */
.book-copy > p {
  margin-top: 14px;
}
.book-copy .book-lead {
  margin-top: 20px;
}

/* Reader file buttons are live. */
.download-btn {
  margin-top: 14px;
  width: fit-content;
}

.reader-facts {
  margin: 22px 0 28px;
  padding: 16px 18px;
  border: 1px solid #dbe4ed;
  border-radius: 14px;
  background: #f4f7fa;
}
.reader-facts p {
  margin: 0;
  color: #526176;
}
.reader-facts p + p {
  margin-top: 8px;
}

@media (max-width: 720px) {
  /* Normal public nav links can remain visible now that the private ARC CTA is gone. */
  .nav-links a:not(.nav-cta) {
    display: none;
  }

  .book-copy > p {
    margin-top: 12px;
  }

  .reader-facts {
    margin: 18px 0 24px;
    padding: 15px 16px;
  }

  .download-btn {
    width: 100%;
    justify-content: center;
  }
}


/* V8 prelaunch email capture */
.signup-section { padding: 72px 0; background: #0f2139; color: white; }
.signup-card {
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center;
  padding: 48px 54px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  box-shadow: 0 22px 60px rgba(3,10,20,.22);
}
.signup-copy h2 { margin: 7px 0 14px; font-family: 'Barlow Condensed',sans-serif; font-size: clamp(2.5rem,5vw,4.25rem); line-height: .94; text-transform: uppercase; }
.signup-copy > p:not(.section-kicker) { max-width: 650px; margin: 0; color: #d6e1ed; font-size: 1.05rem; }
.signup-copy .signup-note { margin-top: 13px !important; color: #9fb0c4 !important; font-size: .84rem !important; }
.signup-form-wrap { min-height: 92px; }
.signup-form-wrap .formkit-form { max-width: 100% !important; margin: 0 !important; }

.join-page { background: #0b1423; }
.join-main { min-height: calc(100vh - 120px); }
.join-hero { position: relative; overflow: hidden; color: white; background: #101f36; }
.join-hero::before { content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(9,18,32,.99) 0%, rgba(15,33,57,.96) 55%, rgba(20,45,77,.78) 100%), url('/assets/hero-atmosphere.jpg') center/cover no-repeat; }
.join-hero-inner { position:relative; z-index:1; width:min(100% - 48px,var(--max)); min-height: 670px; margin:auto; padding: 78px 0 84px; display:grid; grid-template-columns:1.15fr .68fr; gap:78px; align-items:center; }
.join-copy h1 { max-width: 760px; margin: 13px 0 20px; font-family:'Barlow Condensed',sans-serif; font-size:clamp(4rem,8vw,7rem); font-weight:800; line-height:.86; letter-spacing:-.015em; text-transform:uppercase; }
.join-lead { max-width: 690px; margin:0; color:#d4deeb; font-size:clamp(1.05rem,1.8vw,1.25rem); }
.join-form-card { max-width: 720px; margin-top: 30px; padding: 22px; border-radius: 18px; background: rgba(248,250,252,.98); box-shadow:0 20px 54px rgba(0,0,0,.25); color:var(--text); }
.join-form-card .formkit-form { max-width:100% !important; margin:0 !important; }
.privacy-note { margin:9px 4px 0; color:#738096; font-size:.75rem; }
.join-visual { position:relative; width:min(100%,340px); justify-self:center; text-align:center; }
.join-visual img { position:relative; border-radius:9px; box-shadow:0 30px 75px rgba(0,0,0,.48); transform:rotate(1deg); }
.join-visual span { display:block; margin-top:12px; color:#a9b7c9; font-size:.73rem; }
.join-cover-glow { position:absolute; inset:13% -20% -8%; border-radius:50%; background:rgba(208,161,101,.26); filter:blur(42px); }
.join-proof { padding:34px 0 38px; background:#f4f7fa; }
.join-proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.join-proof-grid div { padding:18px 20px; border-left:3px solid var(--warm); }
.join-proof-grid strong,.join-proof-grid span { display:block; }
.join-proof-grid strong { color:var(--ink); font-size:.95rem; }
.join-proof-grid span { margin-top:3px; color:var(--muted); font-size:.82rem; }

.thanks-page { min-height:100vh; display:grid; place-items:center; padding:32px; background:radial-gradient(circle at 50% 20%, #1d446f 0,#101f36 34%,#07101c 78%); color:white; }
.thanks-main { width:min(100%,720px); }
.thanks-card { padding:52px 48px; text-align:center; border:1px solid rgba(255,255,255,.12); border-radius:28px; background:rgba(255,255,255,.055); box-shadow:0 24px 70px rgba(0,0,0,.28); }
.thanks-mark { display:inline-block; width:86px; height:86px; }
.thanks-mark img { width:100%; height:100%; object-fit:contain; transform:none; }
.thanks-card .section-kicker { margin-top:20px; color:var(--warm-soft); }
.thanks-card h1 { margin:7px 0 14px; font-family:'Barlow Condensed',sans-serif; font-size:clamp(3rem,7vw,5.5rem); line-height:.9; text-transform:uppercase; }
.thanks-card p { max-width:560px; margin:0 auto 26px; color:#d4deeb; }

@media (max-width: 820px) {
  .signup-card { grid-template-columns:1fr; gap:28px; padding:34px 28px; }
  .join-hero-inner { grid-template-columns:1fr; gap:46px; padding:62px 0 66px; }
  .join-visual { width:min(78%,300px); }
  .join-proof-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .signup-section { padding:46px 0; }
  .signup-card { padding:28px 22px; border-radius:22px; }
  .join-hero-inner { width:min(100% - 32px,var(--max)); min-height:auto; padding:54px 0 58px; }
  .join-copy h1 { font-size:clamp(3.35rem,17vw,5rem); }
  .join-form-card { margin-top:24px; padding:14px; }
  .join-visual { width:72%; }
  .thanks-card { padding:38px 24px; }
}


/* =========================================================
   V9 /join conversion page: more context for cold ad traffic
   ========================================================= */

.join-hero-v2::before {
  background:
    linear-gradient(90deg, rgba(9,18,32,.995) 0%, rgba(15,33,57,.97) 50%, rgba(20,45,77,.80) 100%),
    url('/assets/hero-atmosphere.jpg') center / cover no-repeat;
}

.join-hero-inner-v2 {
  min-height: 640px;
  padding-top: 66px;
  padding-bottom: 72px;
}

.join-copy-v2 h1 {
  max-width: 820px;
  font-size: clamp(3.75rem, 7.4vw, 6.5rem);
}

.join-copy-v2 .join-lead {
  max-width: 760px;
  font-size: clamp(1.03rem, 1.7vw, 1.2rem);
  line-height: 1.65;
}

.join-story-card {
  max-width: 760px;
  margin-top: 28px;
  padding: 20px 22px;
  border-left: 3px solid var(--warm);
  border-radius: 0 14px 14px 0;
  background: rgba(255,255,255,.065);
  color: #d9e4ef;
}

.join-story-card p {
  margin: 0;
}

.join-story-card p + p {
  margin-top: 8px;
}

.join-story-card strong {
  color: white;
}

.join-story-kicker {
  color: var(--warm-soft);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.join-audience {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 21px;
}

.join-audience span {
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: #d8e2ee;
  background: rgba(255,255,255,.05);
  font-size: .76rem;
  font-weight: 800;
}

.join-visual-v2 {
  width: min(100%, 320px);
}

.join-signup-band {
  padding: 66px 0 70px;
  color: white;
  background:
    radial-gradient(circle at 80% 10%, rgba(49,93,143,.18), transparent 32%),
    #0f2139;
}

.join-signup-grid {
  display: grid;
  grid-template-columns: 1fr .92fr;
  gap: 64px;
  align-items: center;
}

.join-signup-copy h2 {
  margin: 7px 0 14px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(2.8rem, 5vw, 4.6rem);
  line-height: .92;
  text-transform: uppercase;
}

.join-signup-copy > p:not(.section-kicker) {
  max-width: 650px;
  margin: 0;
  color: #d5e0ec;
  font-size: 1.02rem;
  line-height: 1.7;
}

.join-benefits {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.join-benefits li {
  position: relative;
  padding-left: 22px;
  color: #c8d5e3;
  font-size: .92rem;
}

.join-benefits li::before {
  content: "•";
  position: absolute;
  left: 4px;
  color: var(--warm);
  font-weight: 900;
}

.join-form-card-v2 {
  max-width: none;
  margin: 0;
  padding: 25px 24px 20px;
}

.join-form-heading {
  margin: 0 0 12px;
  color: var(--ink);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.55rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.join-reassurance {
  padding: 34px 0 38px;
  background: #f4f7fa;
}

.join-reassurance-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.join-reassurance-grid > div {
  padding: 18px 20px;
  border-left: 3px solid var(--warm);
}

.join-reassurance-grid strong,
.join-reassurance-grid span {
  display: block;
}

.join-reassurance-grid strong {
  color: var(--ink);
  font-size: .95rem;
}

.join-reassurance-grid span {
  margin-top: 4px;
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .join-hero-inner-v2 {
    grid-template-columns: 1fr .55fr;
    gap: 44px;
  }

  .join-signup-grid {
    gap: 38px;
  }
}

@media (max-width: 760px) {
  .join-hero-inner-v2 {
    grid-template-columns: 1fr;
    gap: 38px;
    padding-top: 50px;
    padding-bottom: 56px;
  }

  .join-copy-v2 h1 {
    font-size: clamp(3.25rem, 15.5vw, 4.8rem);
  }

  .join-visual-v2 {
    width: min(72vw, 285px);
  }

  .join-signup-grid,
  .join-reassurance-grid {
    grid-template-columns: 1fr;
  }

  .join-signup-band {
    padding: 50px 0 54px;
  }

  .join-form-card-v2 {
    padding: 20px 16px 16px;
  }
}

@media (max-width: 470px) {
  .join-story-card {
    padding: 17px 17px;
  }

  .join-audience {
    gap: 6px;
  }

  .join-audience span {
    font-size: .72rem;
  }
}


/* Homepage-only launch-list form card */
.home-signup-card {
  max-width: 620px;
  margin-left: auto;
  padding: 22px 22px 18px;
  border: 1px solid rgba(15,33,57,.10);
  border-radius: 18px;
  background: #f8fafc;
  box-shadow: 0 14px 34px rgba(4,14,26,.18);
}

.home-signup-card-title {
  margin: 0 0 12px;
  color: #0f2139;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .home-signup-card {
    margin: 8px 0 0;
    padding: 18px 15px 14px;
  }
}


/* =========================================================
   V10 /join: focused conversion page
   One job: explain enough, earn the email, stop.
   ========================================================= */

.join-page-focused {
  background: #0b1a2d;
}

.focused-join {
  position: relative;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 86% 22%, rgba(72,112,158,.24), transparent 29%),
    linear-gradient(115deg, #0b1a2d 0%, #102844 62%, #1c3552 100%);
}

.focused-join::after {
  content: "";
  position: absolute;
  inset: auto -120px -180px auto;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: rgba(255,255,255,.025);
  pointer-events: none;
}

.focused-join-inner {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 48px));
  min-height: calc(100vh - 150px);
  margin: 0 auto;
  padding: 64px 0 76px;
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(250px, .58fr);
  gap: 76px;
  align-items: center;
}

.focused-join-copy {
  max-width: 770px;
}

.focused-join-copy h1 {
  max-width: 760px;
  margin: 10px 0 16px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(4.2rem, 8vw, 7.3rem);
  font-weight: 800;
  line-height: .86;
  letter-spacing: -.018em;
  text-transform: uppercase;
}

.focused-hook {
  margin: 0 0 17px;
  color: #f6f8fb;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.15rem);
  font-weight: 800;
  line-height: 1.02;
  text-transform: uppercase;
}

.focused-lead {
  max-width: 720px;
  margin: 0;
  color: #d4dfeb;
  font-size: 1.03rem;
  line-height: 1.68;
}

.focused-book {
  max-width: 720px;
  margin-top: 24px;
  padding: 17px 19px;
  border-left: 3px solid var(--warm);
  border-radius: 0 12px 12px 0;
  background: rgba(255,255,255,.06);
  color: #d7e1ec;
  line-height: 1.6;
}

.focused-book p {
  margin: 0;
}

.focused-book p + p {
  margin-top: 7px;
}

.focused-book-kicker {
  color: var(--warm-soft);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.focused-form-card {
  max-width: 650px;
  margin-top: 28px;
  padding: 20px 20px 16px;
  border: 1px solid rgba(15,33,57,.10);
  border-radius: 16px;
  background: #f8fafc;
  box-shadow: 0 18px 40px rgba(3,12,22,.2);
}

.focused-form-title {
  margin: 0;
  color: var(--ink);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.focused-form-copy {
  margin: 7px 0 11px;
  color: #526377;
  font-size: .86rem;
  line-height: 1.55;
}

.focused-join-visual {
  position: relative;
  width: min(100%, 330px);
  justify-self: center;
  text-align: center;
}

.focused-join-visual img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 24px 50px rgba(2,10,18,.35);
}

.focused-join-visual span {
  display: block;
  margin-top: 10px;
  color: rgba(255,255,255,.42);
  font-size: .73rem;
}

@media (max-width: 900px) {
  .focused-join-inner {
    grid-template-columns: minmax(0, 1.25fr) minmax(210px, .55fr);
    gap: 46px;
  }

  .focused-join-copy h1 {
    font-size: clamp(3.7rem, 8.8vw, 6rem);
  }
}

@media (max-width: 740px) {
  .focused-join-inner {
    width: min(100% - 34px, 680px);
    min-height: auto;
    padding: 48px 0 58px;
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .focused-join-copy h1 {
    font-size: clamp(3.55rem, 16vw, 5.25rem);
  }

  .focused-join-visual {
    width: min(68vw, 285px);
  }

  .focused-form-card {
    padding: 18px 15px 14px;
  }
}

@media (max-width: 470px) {
  .focused-join-inner {
    width: calc(100% - 28px);
  }

  .focused-book {
    padding: 15px 15px;
  }
}


/* =========================================================
   CTA + mobile-nav cleanup
   One campaign line: "Be there when the Wolves hit the ice"
   One email action: "Join the Launch List"
   ========================================================= */

/* The form no longer needs a second clever headline inside the card. */
.home-signup-card-title,
.focused-form-title {
  display: none;
}

/* Keep the light card compact now that the duplicate heading is gone. */
.home-signup-card {
  padding-top: 18px;
}

.focused-form-card {
  padding-top: 18px;
}

.focused-form-copy {
  margin-top: 0;
}

/* Compact, explicit mobile navigation. */
.mobile-nav-link {
  white-space: nowrap;
}

@media (max-width: 720px) {
  .nav {
    gap: 14px;
  }

  /* Existing CSS hides normal nav links on mobile. Restore only the useful trust/action links. */
  .nav-links .mobile-about-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 5px;
    color: #d8e2ed;
    font-size: .74rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
  }

  .nav-links .mobile-nav-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: white;
    font-size: .76rem;
    font-weight: 800;
    text-decoration: none;
  }

  .nav-links {
    margin-left: auto;
    gap: 6px;
  }
}

@media (max-width: 470px) {
  .brand-name {
    font-size: .86rem;
  }

  .nav-links .mobile-about-link {
    min-height: 32px;
    padding: 0 3px;
    font-size: .69rem;
  }

  .nav-links .mobile-nav-link {
    min-height: 32px;
    padding: 0 10px;
    font-size: .71rem;
  }
}

@media (max-width: 349px) {
  .nav-links .mobile-about-link { display: none !important; }
}


/* =========================================================
   Conversion cleanup
   ========================================================= */

/* /join/ tablet spacing stays unchanged; desktop is compact enough to keep signup above the fold. */
@media (min-width: 741px) and (max-width: 900px) {
  .focused-join-inner {
    min-height: auto;
    padding-top: 60px;
    padding-bottom: 54px;
  }
}

@media (min-width: 901px) {
  .focused-join-inner {
    min-height: auto;
    padding: 18px 0 24px;
  }

  .focused-join-copy h1 {
    margin: 9px 0 11px;
    font-size: clamp(3.3rem, 5.1vw, 4.5rem);
  }

  .focused-hook { margin-bottom: 11px; }
  .focused-lead { line-height: 1.52; }
  .focused-book { margin-top: 15px; padding: 12px 16px; line-height: 1.48; }
  .join-audience { margin-top: 14px; }
  .focused-form-card { margin-top: 17px; padding-top: 14px; padding-bottom: 11px; }
  .focused-form-copy { margin-bottom: 7px; line-height: 1.48; }

  .focused-form-card .formkit-form[data-uid="9f8a55b4ad"][min-width~="700"] [data-style="clean"],
  .focused-form-card .formkit-form[data-uid="9f8a55b4ad"][min-width~="800"] [data-style="clean"] {
    padding-top: 7px;
  }
}

/* Social belongs in the brand footer, not in the conversion path. */
.footer-right {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.footer-social {
  display: flex;
  align-items: center;
  gap: 12px;
}

.footer-social a {
  color: #c8d3df;
  text-decoration: none;
}

.footer-social a:hover,
.footer-social a:focus-visible {
  color: white;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Thank-you page: conversion is complete, so secondary social actions are safe here. */
.thanks-lead {
  margin-bottom: 12px !important;
}

.thanks-sender {
  margin-bottom: 28px !important;
  color: #aebdce !important;
  font-size: .88rem;
}

.thanks-sender strong {
  color: #eef4fa;
}

.thanks-follow {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.12);
}

.thanks-follow > span {
  display: block;
  margin-bottom: 10px;
  color: #9eacbd;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.thanks-social {
  display: flex;
  justify-content: center;
  gap: 18px;
}

.thanks-social a {
  color: white;
  font-weight: 800;
  text-decoration: none;
}

.thanks-social a:hover,
.thanks-social a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 720px) {
  .footer-right {
    width: 100%;
    justify-content: space-between;
  }
}

@media (max-width: 520px) {
  .footer-right {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }
}


/* =========================================================
   Canonical header lockup + favicon asset pass
   ========================================================= */

.brand-lockup {
  display: inline-flex;
  align-items: center;

  width: var(--brand-lockup-width);
  height: var(--brand-lockup-height);
}

.brand-lockup img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}

.thanks-mark {
  background: #13283A;
}

.thanks-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
}


/* =========================================================
   V16 cover + canonical-site cleanup
   2026-08-11: approved working Book One cover, header scale,
   bottom signup, roster numbers, social links, vertical rhythm.
   ========================================================= */

/* Canon palette aliases for new work without rewriting historical CSS. */
:root {
  --winterfield-navy: #13283A;
  --frost-gray: #AEB5BA;
  --frost-white: #F4F7F9;
  --wolf-amber: #FAA80D;
}

/* Keep the launch CTA visibly top-right on desktop as well as mobile. */
.nav-links .mobile-nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: white;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.nav-links .mobile-nav-link:hover,
.nav-links .mobile-nav-link:focus-visible {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.38);
  transform: translateY(-1px);
}

/* Approved cover: no temporary-art label and a little more presence. */
.cover-stage {
  width: min(100%, 382px);
}
.hero-cover,
.focused-join-visual img,
.reader-top img {
  background: #13283A;
}

/* Vertical rhythm: tighter handoffs, still generous enough to feel premium. */
.hero-inner {
  padding-top: 68px;
  padding-bottom: 72px;
}
.book-section {
  padding: 78px 0;
}
.wolves-section {
  padding: 76px 0 82px;
}
.signup-section {
  padding: 66px 0 72px;
}

/* Roster role lines include the locked jersey numbers. */
.position {
  color: #bdc9d7;
  letter-spacing: .105em;
}

/* Bottom signup should feel like the natural final action. */
.signup-section {
  border-top: 1px solid rgba(255,255,255,.06);
}
.signup-card {
  padding: 44px 50px;
}

/* Public footer social links stay restrained. */
.footer-social a {
  font-weight: 700;
}

/* Join cover no longer needs a temporary-art caption gap. */
.focused-join-visual span {
  display: none;
}

@media (max-width: 900px) {
  .book-section {
    padding: 66px 0;
  }
  .wolves-section {
    padding: 66px 0 72px;
  }
}

@media (max-width: 720px) {
  .hero-inner {
    padding-top: 46px;
    padding-bottom: 50px;
  }
  .cover-stage {
    width: min(78vw, 310px);
  }
  .book-section {
    padding: 54px 0;
  }
  .wolves-section {
    padding: 54px 0 60px;
  }
  .signup-section {
    padding: 48px 0 54px;
  }
  .signup-card {
    padding: 30px 24px;
  }
}

@media (max-width: 470px) {
  .nav-links .mobile-nav-link {
    min-height: 34px;
    padding-inline: 11px;
    font-size: .71rem;
  }
  .hero-inner {
    padding-top: 40px;
  }
  .book-section {
    padding: 46px 0;
  }
  .wolves-section {
    padding: 46px 0 52px;
  }
  .signup-section {
    padding: 42px 0 46px;
  }
}


/* =========================================================
   V16.4 visual QA pass — locked 2026-08-11
   - exact approved Book One cover asset
   - calm homepage hero background (no enlarged cover/title repeat)
   - balanced Book One scene crop
   - stronger header lockup
   ========================================================= */

/* Homepage hero: support the actual cover rather than repeat it behind itself. */
.hero::before {
  background:
    radial-gradient(circle at 74% 52%, rgba(67,108,158,.22) 0%, rgba(30,61,100,.10) 26%, transparent 52%),
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.035), transparent 32%),
    linear-gradient(115deg, #081525 0%, #0d2038 48%, #15375c 100%);
  transform: none;
}

/* V16.4.1 screenshot QA corrections */
/* Mobile headline fit: keep the full campaign name and hook on-screen. */
@media (max-width: 720px) {
  .hero h1 {
    font-size: clamp(3.4rem, 16.2vw, 4.65rem);
    line-height: .86;
  }
  .hero-hook {
    font-size: 1.4rem;
    line-height: 1.06;
  }
}

@media (max-width: 470px) {
  .hero h1 {
    font-size: clamp(3.18rem, 15.1vw, 3.95rem);
  }
  .hero-hook {
    font-size: 1.32rem;
  }
}



/* =========================================================
   Chapter One validation funnel
   New feature selectors only; existing /join/ styles remain untouched.
   ========================================================= */

.chapter-offer-page,
.chapter-reader-page {
  background: #0b1a2d;
}

.chapter-offer {
  position: relative;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 86% 22%, rgba(72,112,158,.24), transparent 29%),
    linear-gradient(115deg, #0b1a2d 0%, #102844 62%, #1c3552 100%);
}

.chapter-offer-inner {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 48px));
  min-height: calc(100vh - var(--nav-min-height));
  margin: 0 auto;
  padding: 50px 0 58px;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(250px, .7fr);
  gap: 72px;
  align-items: center;
}

.chapter-offer-copy {
  max-width: 720px;
}

.chapter-offer-copy h1 {
  max-width: 720px;
  margin: 10px 0 16px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(4rem, 7vw, 6.4rem);
  font-weight: 800;
  line-height: .88;
  letter-spacing: -.018em;
  text-transform: uppercase;
}

.chapter-offer-lead {
  max-width: 650px;
  margin: 0;
  color: #d7e1ec;
  font-size: clamp(1.05rem, 1.5vw, 1.18rem);
  line-height: 1.58;
}

.chapter-offer-meta {
  margin: 19px 0 0;
  color: #cbd7e5;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.chapter-offer-meta span {
  margin: 0 7px;
  color: var(--warm);
}

.chapter-form-card {
  max-width: 650px;
  margin-top: 25px;
  padding: 20px;
  border: 1px solid rgba(15,33,57,.10);
  border-radius: 16px;
  background: #f8fafc;
  box-shadow: 0 18px 40px rgba(3,12,22,.2);
  color: var(--text);
}

.chapter-form-card h2 {
  margin: 0 0 5px;
  color: var(--ink);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.7rem;
  line-height: 1;
  text-transform: uppercase;
}

.chapter-form-card > p {
  margin: 0;
  color: #526377;
  font-size: .88rem;
  line-height: 1.5;
}

.chapter-form {
  margin-top: 14px;
}

.chapter-form label {
  display: block;
  margin-bottom: 6px;
  color: #33465d;
  font-size: .76rem;
  font-weight: 800;
}

.chapter-form-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.chapter-form input,
.chapter-form button {
  min-height: 48px;
  border-radius: 6px;
  font: inherit;
}

.chapter-form input {
  width: 100%;
  padding: 11px 13px;
  border: 1px solid #cfd7e1;
  background: white;
  color: #17273a;
  font-size: .94rem;
}

.chapter-form input:focus {
  outline: 3px solid rgba(53,104,168,.18);
  border-color: #3568a8;
}

.chapter-form button {
  padding: 0 20px;
  border: 0;
  background: #13283a;
  color: white;
  cursor: pointer;
  font-size: .86rem;
  font-weight: 800;
}

.chapter-form button:hover,
.chapter-form button:focus-visible {
  background: #1c3a55;
}

.chapter-form-card .chapter-form-disclosure {
  margin-top: 12px;
  color: #596a7d;
  font-size: .76rem;
  line-height: 1.48;
}

.chapter-form-card .chapter-form-fineprint {
  margin-top: 5px;
  color: #7b8796;
  font-size: .7rem;
}

.chapter-offer-visual {
  position: relative;
  width: min(100%, 330px);
  justify-self: center;
}

.chapter-offer-visual img {
  position: relative;
  z-index: 1;
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 26px 58px rgba(2,10,18,.38);
}

.chapter-cover-glow {
  position: absolute;
  inset: 13% -18% -8%;
  border-radius: 50%;
  background: rgba(208,161,101,.22);
  filter: blur(42px);
}

.chapter-reader-page {
  color: var(--text);
  background: #edf2f7;
}

.chapter-reader-intro {
  padding: 24px 24px 46px;
  color: white;
  background:
    radial-gradient(circle at 78% 12%, rgba(72,112,158,.22), transparent 30%),
    linear-gradient(115deg, #0b1a2d 0%, #102844 65%, #1c3552 100%);
}

.chapter-reader-intro-inner {
  width: min(100%, 820px);
  margin: 0 auto;
  text-align: center;
}

.chapter-reader-intro h1 {
  margin: 5px 0 8px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(2.4rem, 4.2vw, 3.8rem);
  line-height: .94;
  text-transform: uppercase;
}

.chapter-reader-intro p:last-child {
  max-width: 640px;
  margin: 0 auto;
  color: #d6e0ec;
  font-size: .9rem;
  line-height: 1.45;
}

.chapter-reader-shell {
  width: min(calc(100% - 32px), 790px);
  margin: -24px auto 72px;
  overflow: hidden;
  border-radius: 22px;
  background: white;
  box-shadow: 0 22px 60px rgba(10,24,40,.14);
}

.chapter-reader-header {
  padding: 22px 42px 19px;
  border-bottom: 1px solid #e4e9ef;
}

.chapter-reader-header h2 {
  margin: 4px 0 0;
  color: var(--ink);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(2.15rem, 5vw, 3.15rem);
  line-height: .94;
  text-transform: uppercase;
}

.chapter-reader-text {
  padding: 28px 54px 48px;
  color: #27384e;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.08rem;
  line-height: 1.74;
}

.chapter-reader-text p {
  margin: 0 0 1.05em;
}

.chapter-reader-text p:last-child {
  margin-bottom: 0;
}

.chapter-reader-end {
  padding: 30px 38px 34px;
  border-top: 1px solid #e2e8ef;
  background: #f5f8fb;
  text-align: center;
}

.chapter-reader-end h2 {
  margin: 0 0 7px;
  color: var(--ink);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2rem;
  line-height: 1;
  text-transform: uppercase;
}

.chapter-reader-end p {
  max-width: 560px;
  margin: 0 auto;
  color: #607084;
  font-size: .88rem;
}

@media (max-width: 820px) {
  .chapter-offer-inner {
    gap: 44px;
  }

  .chapter-offer-copy h1 {
    font-size: clamp(3.6rem, 8vw, 5.4rem);
  }
}

@media (max-width: 700px) {
  .chapter-offer-inner {
    width: min(100% - 34px, 620px);
    min-height: auto;
    padding: 42px 0 54px;
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .chapter-offer-copy h1 {
    font-size: clamp(3.35rem, 15vw, 5rem);
  }

  .chapter-offer-meta {
    line-height: 1.7;
  }

  .chapter-form-card {
    padding: 17px 15px;
  }

  .chapter-form-row {
    grid-template-columns: 1fr;
  }

  .chapter-form button {
    width: 100%;
  }

  .chapter-offer-visual {
    width: min(64vw, 270px);
  }

  .chapter-reader-intro {
    padding: 24px 18px 44px;
  }

  .chapter-reader-shell {
    width: min(calc(100% - 20px), 790px);
    margin-top: -22px;
    border-radius: 16px;
  }

  .chapter-reader-header {
    padding: 18px 22px 16px;
  }

  .chapter-reader-text {
    padding: 24px 24px 36px;
    font-size: 1.04rem;
    line-height: 1.72;
  }

  .chapter-reader-end {
    padding: 26px 22px 30px;
  }
}

@media (max-width: 470px) {
  .chapter-offer-inner {
    width: calc(100% - 28px);
    padding-top: 34px;
  }

  .chapter-offer-meta span {
    margin: 0 4px;
  }

  .chapter-reader-text {
    padding: 27px 20px 32px;
    font-size: 1.02rem;
  }
}


/* V16.14.6 — privacy / utility pages and legal links only */
.privacy-page,
.not-found-page { background: #edf2f6; }
.privacy-main {
  padding: 64px 0 80px;
  background: linear-gradient(180deg, #10233d 0, #10233d 230px, #edf2f6 230px, #edf2f6 100%);
}
.privacy-card {
  width: min(100%, 900px);
  margin: 0 auto;
  padding: 54px 62px 60px;
  background: white;
  border: 1px solid #dde5ed;
  border-radius: 26px;
  box-shadow: 0 24px 60px rgba(10,24,40,.15);
}
.privacy-card h1, .not-found-card h1 {
  margin: 8px 0 10px;
  color: var(--ink);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(3.2rem, 6vw, 5rem);
  font-weight: 800;
  line-height: .92;
  text-transform: uppercase;
}
.privacy-updated { margin: 0 0 34px; color: #7b8797; font-size: .88rem; }
.privacy-card section { padding: 24px 0; border-top: 1px solid #e7edf2; }
.privacy-card section:first-of-type { border-top: 0; }
.privacy-card h2 {
  margin: 0 0 10px;
  color: #203653;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.65rem;
  line-height: 1;
  text-transform: uppercase;
}
.privacy-card p { margin: 0 0 12px; color: #4c5a6e; line-height: 1.72; }
.privacy-card p:last-child { margin-bottom: 0; }
.privacy-card a { color: #274f83; text-underline-offset: 3px; }
.not-found-main {
  min-height: calc(100vh - 132px);
  display: grid;
  place-items: center;
  padding: 60px 24px 78px;
  background: linear-gradient(145deg, #10233d 0%, #17375e 47%, #edf2f6 47.2%);
}
.not-found-card {
  width: min(100%, 650px);
  padding: 52px;
  background: white;
  border: 1px solid #dde5ed;
  border-radius: 26px;
  box-shadow: 0 24px 60px rgba(10,24,40,.18);
}
.not-found-card p:not(.eyebrow) { margin: 0 0 28px; color: #536176; font-size: 1.04rem; line-height: 1.65; }
.footer-legal {
  color: #c8d3df;
  font-weight: 700;
  text-decoration: none;
}
.footer-legal:hover, .footer-legal:focus-visible {
  color: white;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.thanks-privacy {
  display: inline-block;
  margin-top: 18px;
  color: #718096;
  font-size: .78rem;
  text-underline-offset: 3px;
}
@media (max-width: 720px) {
  .privacy-main { padding: 38px 0 56px; background: linear-gradient(180deg, #10233d 0, #10233d 180px, #edf2f6 180px, #edf2f6 100%); }
  .privacy-card { padding: 38px 26px 42px; border-radius: 22px; }
  .privacy-card h1, .not-found-card h1 { font-size: clamp(3rem, 14vw, 4.2rem); }
  .not-found-main { padding: 38px 16px 56px; }
  .not-found-card { padding: 38px 28px 42px; border-radius: 22px; }
}
