:root { --ink:#14201d; --muted:#687572; --paper:#f4f1ea; --panel:#fbfaf6; --line:#d8ddd8; --green:#138a57; --green-dark:#075438; --blue:#3e56cf; --warm:#f4c985; --shadow:0 24px 80px rgb(15 38 29/.13); --ease:cubic-bezier(.2,.8,.2,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { margin:0; color:var(--ink); background:var(--paper); font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.45; }
body::selection { background:#bce8d0; }
img { display:block; max-width:100%; }
a { color:inherit; }
button { font:inherit; color:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:16px; top:-60px; z-index:20; padding:10px 14px; border-radius:12px; background:var(--ink); color:#fff; font-weight:700; }
.skip-link:focus { top:16px; }
.pitch-nav { position:fixed; z-index:10; inset:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; height:76px; padding:12px clamp(20px,4vw,64px); color:var(--ink); background:color-mix(in srgb,var(--paper) 84%,transparent); border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent); backdrop-filter:blur(18px); }
.brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-weight:850; letter-spacing:-.04em; font-size:20px; }
.brand img { width:40px; height:40px; border-radius:12px; }
.brand span span { color:var(--green); }
.challenge-label { margin:0; color:var(--muted); font-size:13px; font-weight:650; letter-spacing:.02em; }
.pitch-nav nav { display:flex; align-items:center; gap:22px; font-size:13px; font-weight:750; }
.pitch-nav nav a { text-decoration:none; }
.pitch-nav nav a:hover { color:var(--green); }
.nav-cta { padding:10px 14px; border-radius:999px; color:#fff!important; background:var(--green); box-shadow:0 8px 20px rgb(19 138 87/.18); }
.deck { overflow:hidden; }
.slide { position:relative; min-height:100svh; padding:clamp(112px,13vh,156px) clamp(20px,7vw,120px) 72px; display:flex; flex-direction:column; justify-content:center; scroll-margin-top:76px; outline:none; }
.slide:focus-visible { box-shadow:inset 0 0 0 4px var(--blue); }
.slide-hero { min-height:100svh; background:linear-gradient(125deg,#f8f6ef 0%,#eef5ed 52%,#dbeee1 100%); }
.hero-grid { max-width:1240px; width:100%; margin:0 auto; display:grid; grid-template-columns:minmax(0,.82fr) minmax(400px,1.18fr); gap:clamp(32px,6vw,96px); align-items:center; }
.hero-copy { position:relative; z-index:1; }
.kicker { margin:0 0 14px; color:var(--green); font-size:12px; line-height:1.2; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { letter-spacing:-.055em; }
h1 { max-width:660px; margin-bottom:24px; font-size:clamp(50px,7.6vw,112px); line-height:.92; }
h2 { max-width:900px; margin-bottom:18px; font-size:clamp(38px,5.5vw,78px); line-height:.98; }
h3 { margin-bottom:10px; font-size:clamp(20px,2.2vw,29px); line-height:1; }
.hero-lede { max-width:540px; color:#4f605a; font-size:clamp(18px,2vw,25px); line-height:1.35; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:30px; }
.button { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:0 18px; border:1px solid var(--line); border-radius:999px; text-decoration:none; font-weight:800; transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease); }
.button:hover { transform:translateY(-2px); box-shadow:0 10px 25px rgb(20 32 29/.13); }
.button-primary { color:#fff; border-color:var(--green); background:var(--green); }
.button-secondary { color:var(--ink); background:var(--panel); }
.text-link { color:var(--green-dark); font-weight:800; text-underline-offset:4px; }
.hero-art { position:relative; transform:rotate(1.5deg); border:10px solid #fff; border-radius:28px; overflow:hidden; box-shadow:var(--shadow); }
.hero-art img { width:100%; aspect-ratio:1.95/1; object-fit:cover; }
.hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,transparent 38%,rgb(8 74 48/.33)); pointer-events:none; }
.hero-stamp { position:absolute; right:22px; bottom:20px; z-index:1; display:grid; place-items:center; width:108px; height:108px; border-radius:50%; color:#fff; background:var(--green); font-size:12px; line-height:1.05; font-weight:800; text-align:center; transform:rotate(-8deg); }
.slide-note { max-width:1240px; width:100%; margin:52px auto 0; color:var(--muted); font-size:13px; }
.slide-problem { background:#14201d; color:#f5f5ee; }
.slide-problem .kicker { color:#9ae0b7; }
.slide-problem .slide-heading p:last-child { max-width:660px; color:#b4c5bd; font-size:20px; }
.slide-heading { width:100%; max-width:1240px; margin:0 auto 42px; }
.slide-heading p:last-child { max-width:680px; color:var(--muted); font-size:clamp(17px,2vw,22px); }
.problem-grid { max-width:1240px; width:100%; margin:20px auto 58px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#3a4b44; border:1px solid #3a4b44; }
.problem-grid article { min-height:220px; padding:30px; background:#14201d; }
.problem-number { display:block; margin-bottom:42px; color:#9ae0b7; font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace; }
.problem-grid h3 { font-size:25px; }
.problem-grid p { max-width:280px; margin-bottom:0; color:#b4c5bd; }
blockquote { max-width:1240px; width:100%; margin:0 auto; padding-left:28px; border-left:3px solid #9ae0b7; color:#fff; font-size:clamp(24px,3vw,42px); line-height:1.1; letter-spacing:-.04em; }
blockquote cite { display:block; margin-top:10px; color:#92aaa0; font-size:13px; font-style:normal; letter-spacing:.03em; }
.slide-product { background:#eef3ef; }
.split-heading { display:flex; align-items:end; justify-content:space-between; gap:34px; }
.split-heading > p { max-width:430px!important; margin:0; }
.proof-frame { max-width:1240px; width:100%; margin:0 auto; padding:12px 12px 0; border:1px solid #d1dbd3; border-radius:24px; background:var(--panel); box-shadow:0 20px 60px rgb(24 61 42/.14); }
.proof-frame img { width:100%; aspect-ratio:16/10; object-fit:cover; object-position:center; border-radius:15px 15px 0 0; }
.proof-frame figcaption { display:flex; align-items:center; gap:8px; min-height:50px; padding:0 6px; color:var(--muted); font-size:13px; }
.proof-dot { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px #d2f0de; }
.slide-flow { background:#fbfaf6; }
.flow-grid { max-width:1240px; width:100%; margin:0 auto; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; list-style:none; counter-reset:flow; }
.flow-grid li { min-height:260px; padding:24px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 10px 24px rgb(20 32 29/.05); }
.flow-grid li > span { color:var(--green); font:800 13px ui-monospace,SFMono-Regular,Menlo,monospace; }
.flow-grid p { color:var(--muted); }
.flow-grid code { display:block; min-height:40px; padding:9px 10px; color:#35614a; border-radius:9px; background:#eef6ef; font-size:12px; line-height:1.35; white-space:normal; }
.slide-trust { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr); align-items:center; gap:clamp(32px,6vw,86px); background:#e8f2eb; }
.trust-copy { max-width:520px; margin-inline:auto; }
.trust-copy > p:not(.kicker) { color:var(--muted); font-size:20px; }
.check-list { display:grid; gap:14px; margin:28px 0 0; padding:0; list-style:none; color:#2c5140; font-weight:750; }
.check-list li { display:flex; gap:10px; align-items:flex-start; }
.check-list span { color:var(--green); font-size:20px; line-height:1; }
.detail-proof { max-width:780px; transform:rotate(-1deg); }
.detail-proof img { aspect-ratio:16/10; }
.detail-proof figcaption { justify-content:center; text-align:center; }
.slide-three { background:#f6f3eb; }
.three-columns { max-width:1240px; width:100%; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.three-columns article { min-height:280px; padding:30px; border-radius:24px; border:1px solid var(--line); background:#fff; }
.three-columns article:nth-child(2) { transform:translateY(24px); }
.column-label { display:inline-flex; margin-bottom:70px; padding:6px 10px; border-radius:999px; font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.tone-progress { --tone:#138a57; --tone-bg:#e3f4e9; }
.tone-practical { --tone:#3e56cf; --tone-bg:#e9ecff; }
.tone-potential { --tone:#b66a18; --tone-bg:#fff0d8; }
.three-columns article { border-top:5px solid var(--tone); }
.three-columns .column-label { color:var(--tone); background:var(--tone-bg); }
.three-columns p { color:var(--muted); }
.boundary-note { width:100%; max-width:1240px; margin:72px auto 0; color:var(--muted); font-size:14px; font-weight:700; text-align:center; }
.slide-close { align-items:center; text-align:center; color:#f6fbf6; background:radial-gradient(circle at 50% 28%,#277b56 0,#0d5238 38%,#09281d 100%); }
.slide-close .kicker { color:#b5efc8; }
.slide-close h2 { margin-bottom:20px; }
.slide-close > p:not(.kicker):not(.close-url) { max-width:620px; color:#bcd5c6; font-size:20px; }
.close-mark { width:124px; height:124px; display:grid; place-items:center; margin-bottom:30px; border-radius:38px; background:#fff; box-shadow:0 18px 45px rgb(0 0 0/.18); }
.close-mark img { width:96px; height:96px; }
.slide-close .button-secondary { color:#14372a; }
.close-url { margin:28px 0 0; color:#a4c9b2; font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace; }
.slide-controls { position:fixed; z-index:11; right:clamp(20px,4vw,64px); bottom:26px; display:flex; align-items:center; gap:9px; color:var(--muted); font-size:12px; font-weight:800; }
.slide-controls button { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:var(--panel); cursor:pointer; }
.slide-controls button:hover { color:var(--green); border-color:var(--green); }
.slide-controls i { padding:0 3px; color:#acb7b0; font-style:normal; }
@media (max-width:850px) {
  .pitch-nav { height:64px; padding:9px 16px; }
  .brand img { width:34px; height:34px; border-radius:10px; }
  .brand { font-size:18px; }
  .challenge-label { display:none; }
  .pitch-nav nav { gap:10px; font-size:12px; }
  .pitch-nav nav a:first-child { display:none; }
  .slide { min-height:auto; padding:106px 20px 86px; scroll-margin-top:64px; }
  .slide-hero { min-height:100svh; }
  .hero-grid,.slide-trust { grid-template-columns:1fr; }
  .hero-art { order:-1; border-width:6px; border-radius:20px; }
  .hero-art img { aspect-ratio:1.8/1; }
  .hero-stamp { width:80px; height:80px; right:12px; bottom:12px; font-size:10px; }
  h1 { font-size:clamp(52px,16vw,82px); }
  h2 { font-size:clamp(40px,12vw,60px); }
  .hero-lede,.slide-heading p:last-child,.trust-copy > p:not(.kicker),.slide-close > p:not(.kicker):not(.close-url) { font-size:17px; }
  .split-heading { display:block; }
  .split-heading > p { margin-top:12px; }
  .problem-grid,.flow-grid,.three-columns { grid-template-columns:1fr; }
  .problem-grid { margin-bottom:40px; }
  .problem-grid article { min-height:0; padding:22px; }
  .problem-number,.column-label { margin-bottom:28px; }
  .flow-grid li { min-height:170px; }
  .three-columns article:nth-child(2) { transform:none; }
  .three-columns article { min-height:210px; }
  .detail-proof { transform:none; }
  .slide-controls { right:16px; bottom:14px; }
  .slide-note { margin-top:26px; }
}
@media print {
  html,body { background:#fff; }
  .pitch-nav,.slide-controls,.skip-link,.hero-actions,.slide-note { display:none!important; }
  .slide { min-height:100vh; height:100vh; padding:48px; break-after:page; page-break-after:always; }
  .slide:last-child { break-after:auto; page-break-after:auto; }
  .proof-frame,.hero-art { box-shadow:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.001ms!important; transition-duration:.001ms!important; } }
