:root {
  color-scheme: dark;
  --green: #83ff00;
  --red: #ff2438;
  --paper: #f2ffe9;
  --muted: #a6b3a3;
  --ink: #020402;
  --panel: #071008;
  --line: rgba(131,255,0,.27);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; overflow-x: hidden; background: var(--ink); color: var(--paper); }
a { color: inherit; }
.skip { position: fixed; z-index: 1000; left: 1rem; top: 1rem; transform: translateY(-180%); padding: .8rem 1rem; background: var(--green); color: #020402; font-weight: 900; }
.skip:focus { transform: none; }

.topbar { position: sticky; z-index: 100; top: 0; display: flex; align-items: center; min-height: 4.2rem; padding: .55rem clamp(1rem,3vw,3rem); border-bottom: 1px solid var(--line); background: rgba(2,4,2,.88); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: .65rem; font-family: "Black Ops One", Impact, sans-serif; letter-spacing: .08em; text-decoration: none; }
.brand span { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; background: var(--green); color: var(--ink); transform: rotate(-5deg); }
.topbar nav { display: flex; align-items: center; gap: clamp(.8rem,2vw,1.8rem); margin-left: auto; }
.topbar nav a { white-space: nowrap; color: #b7c5b4; font: 700 .72rem/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-decoration: none; }
.topbar nav a:hover, .topbar nav a:focus-visible { color: var(--green); }
.topbar nav .book-link { padding: .72rem .85rem; border: 1px solid var(--green); color: var(--green); }

.eyebrow { margin: 0; color: var(--green); font: 700 .76rem/1.4 "IBM Plex Mono", monospace; letter-spacing: .14em; }
.hero { position: relative; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(22rem,.75fr); align-items: center; gap: clamp(2rem,6vw,7rem); min-height: calc(100svh - 4.2rem); padding: clamp(3rem,7vw,7rem) clamp(1.25rem,6vw,7rem); overflow: hidden; background: radial-gradient(circle at 75% 35%, rgba(131,255,0,.14), transparent 26rem), repeating-linear-gradient(0deg, transparent 0 4px, rgba(255,255,255,.018) 4px 5px); }
.hero::before { content: "235"; position: absolute; z-index: 0; left: -3vw; bottom: -13vw; color: rgba(131,255,0,.04); font-family: "Black Ops One", Impact, sans-serif; font-size: min(46vw,42rem); line-height: .8; }
.hero-route { position: absolute; right: -5rem; top: 16%; width: 44%; height: 34%; border-top: 3px dashed rgba(131,255,0,.24); border-right: 3px dashed rgba(131,255,0,.24); transform: skewY(-12deg); }
.hero-copy, .hero-media { position: relative; z-index: 2; }
.hero h1 { margin: .8rem 0 1.4rem; font-family: "Black Ops One", Impact, sans-serif; font-size: clamp(4.1rem,10vw,10rem); font-weight: 400; line-height: .78; letter-spacing: -.02em; }
.hero h1 span { color: var(--paper); }
.hero h1 strong { color: var(--green); font-weight: inherit; text-shadow: .05em .05em 0 #174a05; }
.thesis { max-width: 46rem; margin: 0 0 1rem; color: #fff; font-size: clamp(1.25rem,2vw,1.85rem); font-weight: 800; line-height: 1.22; }
.intro { max-width: 44rem; margin: 0; color: #b9c6b6; font-size: clamp(1rem,1.3vw,1.2rem); line-height: 1.55; }
.hero-actions, .book-actions, .booking-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.primary, .secondary { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 3.4rem; padding: .8rem 1rem; font: 700 .78rem/1 "IBM Plex Mono", monospace; letter-spacing: .08em; text-decoration: none; }
.primary { border: 1px solid var(--green); background: var(--green); color: var(--ink); box-shadow: 5px 5px 0 #174a05; }
.secondary { border: 1px solid rgba(255,255,255,.35); color: #fff; }
.primary:hover, .primary:focus-visible, .secondary:hover, .secondary:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.video-label { display: flex; justify-content: space-between; padding: .65rem .8rem; border: 1px solid var(--line); border-bottom: 0; background: #030603; color: #cad7c7; font: 700 .67rem/1 "IBM Plex Mono", monospace; letter-spacing: .08em; }
.video-label b { color: var(--red); }
.video-frame { position: relative; aspect-ratio: 16/9; overflow: hidden; border: 1px solid rgba(131,255,0,.5); background: #000; box-shadow: 12px 14px 0 rgba(18,65,4,.55); }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hero-media > p { margin: 1.1rem 0 0; color: #8fa08c; font: .75rem/1.5 "IBM Plex Mono", monospace; }

.cred-strip { display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--line); background: #040904; }
.cred-strip div { position: relative; display: grid; gap: .28rem; min-height: 8.5rem; padding: 1.6rem; border-right: 1px solid var(--line); }
.cred-strip div:last-child { border-right: 0; }
.cred-strip span { position: absolute; right: .75rem; top: .55rem; color: rgba(131,255,0,.18); font-family: "Black Ops One", Impact, sans-serif; font-size: 2.2rem; }
.cred-strip strong { align-self: end; color: var(--green); font: 700 .68rem/1 "IBM Plex Mono", monospace; letter-spacing: .1em; }
.cred-strip b { color: #e5f0e1; font: 700 .83rem/1.35 "IBM Plex Mono", monospace; }

.idea-section { display: grid; grid-template-columns: .2fr 1fr 1fr; gap: clamp(1rem,4vw,4rem); align-items: start; padding: clamp(5rem,10vw,10rem) clamp(1.25rem,6vw,7rem); border-bottom: 1px solid var(--line); }
.section-number { color: rgba(131,255,0,.24); font: 400 clamp(3rem,7vw,7rem)/.8 "Black Ops One", Impact, sans-serif; }
.idea-copy h2, .section-head h2, .books-copy h2, .madden-note h2, .booking h2 { margin: .7rem 0 0; font-family: "Black Ops One", Impact, sans-serif; font-size: clamp(3rem,7vw,7rem); font-weight: 400; line-height: .88; text-transform: uppercase; }
.idea-copy h2 em { color: var(--green); font-style: normal; }
.idea-body { color: #bfccbc; font-size: clamp(1.05rem,1.5vw,1.3rem); line-height: 1.65; }
.idea-body p:first-child { margin-top: 0; }
.idea-body strong { color: var(--green); }

.talks { padding: clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem); }
.section-head { max-width: 70rem; margin-bottom: clamp(2rem,5vw,4rem); }
.section-head > p:not(.eyebrow) { max-width: 50rem; color: #b7c4b4; font-size: 1.15rem; line-height: 1.65; }
.talk-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.talk-grid article { min-height: 25rem; padding: clamp(1.5rem,4vw,3rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(145deg, rgba(131,255,0,.04), transparent 55%); }
.talk-grid article > span, .archive-grid article > span, .next-book > span { color: var(--green); font: 700 .7rem/1.3 "IBM Plex Mono", monospace; letter-spacing: .1em; }
.talk-grid h3 { margin: 2.5rem 0 1rem; font-family: "Black Ops One", Impact, sans-serif; font-size: clamp(2rem,4.2vw,4.4rem); font-weight: 400; line-height: .93; text-transform: uppercase; }
.talk-grid p { max-width: 38rem; color: #b5c2b2; font-size: 1.05rem; line-height: 1.6; }
.talk-grid article > b { display: block; margin-top: 2rem; color: #839080; font: 700 .68rem/1.4 "IBM Plex Mono", monospace; letter-spacing: .08em; }

.books { display: grid; grid-template-columns: .48fr 1fr .7fr; gap: clamp(1.5rem,4vw,4rem); align-items: stretch; padding: clamp(4rem,8vw,8rem) clamp(1.25rem,6vw,7rem); border-block: 1px solid var(--line); background: #061006; }
.book-score { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 26rem; border: 2px solid var(--green); background: #020402; box-shadow: 12px 14px 0 #174a05; font-family: "IBM Plex Mono", monospace; }
.book-score span { color: var(--green); font-weight: 700; letter-spacing: .18em; }
.book-score strong { color: var(--paper); font: 400 clamp(8rem,15vw,14rem)/.85 "Black Ops One", Impact, sans-serif; }
.book-score b { color: var(--red); letter-spacing: .15em; }
.books-copy p:not(.eyebrow) { max-width: 48rem; color: #b9c6b6; font-size: 1.1rem; line-height: 1.65; }
.next-book { align-self: end; padding: 2rem; border-top: 5px solid var(--red); background: #130306; }
.next-book h3 { margin: 1.2rem 0 .6rem; font-family: "Black Ops One", Impact, sans-serif; font-size: clamp(2rem,3.2vw,3.4rem); font-weight: 400; line-height: .94; text-transform: uppercase; }
.next-book p { margin: 0 0 2rem; color: #d6e0d2; font: 700 .9rem/1.4 "IBM Plex Mono", monospace; }
.next-book b { color: var(--red); font: 700 .68rem/1.5 "IBM Plex Mono", monospace; letter-spacing: .08em; }

.story { padding: clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,7rem); }
.archive-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.25rem,3vw,3rem); }
.archive-grid article { padding: 1rem 1rem 1.5rem; border: 1px solid var(--line); background: #050b05; }
.video-frame.small { margin-bottom: 1.5rem; box-shadow: 8px 9px 0 rgba(18,65,4,.45); }
.archive-grid h3 { margin: .65rem 0 0; font-family: "Black Ops One", Impact, sans-serif; font-size: clamp(1.6rem,3vw,3rem); font-weight: 400; text-transform: uppercase; }

.madden-note { display: grid; grid-template-columns: .8fr 1fr; gap: clamp(2rem,5vw,5rem); padding: clamp(4rem,7vw,7rem) clamp(1.25rem,6vw,7rem); border-block: 1px solid rgba(255,36,56,.42); background: radial-gradient(circle at 90% 50%, rgba(255,36,56,.12), transparent 30rem), #0b0204; }
.madden-note h2 { font-size: clamp(2.6rem,5vw,5.5rem); }
.madden-note > p { color: #c9d4c5; font-size: 1.12rem; line-height: 1.65; }
.madden-note > span { grid-column: 2; color: #ad747b; font: 700 .65rem/1.5 "IBM Plex Mono", monospace; letter-spacing: .08em; }

.booking { position: relative; min-height: 72svh; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 6rem 1.25rem; overflow: hidden; text-align: center; }
.booking-number { position: absolute; color: rgba(131,255,0,.055); font: 400 min(52vw,38rem)/.8 "Black Ops One", Impact, sans-serif; }
.booking > *:not(.booking-number) { position: relative; z-index: 2; }
.booking h2 { font-size: clamp(3.3rem,9vw,9rem); }
.booking > p:not(.eyebrow) { max-width: 48rem; color: #b6c3b3; font-size: 1.15rem; }
.booking-actions { justify-content: center; }

footer { display: flex; align-items: center; gap: 2rem; padding: 2rem clamp(1rem,4vw,4rem); border-top: 1px solid var(--line); color: #8e9d8b; font: 700 .68rem/1.4 "IBM Plex Mono", monospace; letter-spacing: .08em; }
footer p { margin: 0 auto; }
footer div { display: flex; gap: 1.2rem; }
footer div a { color: #c9d6c5; text-decoration: none; }

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; padding-top: 4rem; }
  .hero-media { width: min(100%,42rem); }
  .cred-strip { grid-template-columns: repeat(2,1fr); }
  .cred-strip div:nth-child(2) { border-right: 0; }
  .cred-strip div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .idea-section { grid-template-columns: auto 1fr; }
  .idea-body { grid-column: 2; }
  .books { grid-template-columns: .55fr 1fr; }
  .next-book { grid-column: 1 / -1; }
}

@media (max-width: 660px) {
  .topbar { min-height: 3.8rem; padding-inline: .75rem; }
  .brand b { display: none; }
  .topbar nav { gap: .75rem; overflow-x: auto; }
  .topbar nav a { font-size: .62rem; }
  .topbar nav a:not(.book-link):nth-child(3) { display: none; }
  .topbar nav .book-link { padding: .58rem .62rem; }
  .hero { min-height: auto; padding: 3rem 1rem 4.5rem; }
  .hero h1 { font-size: clamp(4rem,22vw,7rem); }
  .thesis { font-size: 1.2rem; }
  .hero-actions > a, .book-actions > a, .booking-actions > a { width: 100%; }
  .cred-strip { grid-template-columns: 1fr; }
  .cred-strip div, .cred-strip div:nth-child(2) { min-height: 7rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .idea-section { grid-template-columns: 1fr; padding-block: 5rem; }
  .section-number { font-size: 3rem; }
  .idea-body { grid-column: 1; }
  .idea-copy h2, .section-head h2, .books-copy h2, .booking h2 { font-size: clamp(2.8rem,14vw,4.7rem); }
  .talk-grid { grid-template-columns: 1fr; }
  .talk-grid article { min-height: 0; }
  .talk-grid h3 { font-size: clamp(2.1rem,11vw,3.5rem); }
  .books { grid-template-columns: 1fr; }
  .book-score { min-height: 19rem; }
  .archive-grid { grid-template-columns: 1fr; }
  .madden-note { grid-template-columns: 1fr; }
  .madden-note > span { grid-column: 1; }
  .booking { min-height: 68svh; }
  footer { align-items: flex-start; flex-direction: column; }
  footer p { margin: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
