@font-face{font-family:"Fraunces";src:url("fonts/fraunces.woff2") format("woff2");font-weight:300 700;font-display:swap;}
@font-face{font-family:"Inter";src:url("fonts/inter.woff2") format("woff2");font-weight:400 700;font-display:swap;}
@font-face{font-family:"JetBrains Mono";src:url("fonts/jetbrainsmono.woff2") format("woff2");font-weight:400 600;font-display:swap;}
:root{
  --font-display:"Fraunces","Playfair Display",Georgia,serif;
  --font-body:"Inter",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;
  --ivory:#F5F0E5;--ivory-warm:#EBE3D2;--bone:#E0D8C5;
  --ink:#0E0E0E;--ink-soft:#1F1F1F;--ink-mute:#5C594F;--ink-faint:#8A877C;
  --brand-red:#C8102E;--red-deep:#A50E26;--red-wash:#F5E0E2;--paper-elevated:#FAF6EC;
  --ease:cubic-bezier(0.7,0,0.3,1);--dur:1000ms;
  --maxw:1180px;--rule:1px solid var(--bone);
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--ivory);color:var(--ink-soft);
  font-family:var(--font-body);font-size:17px;line-height:1.6;letter-spacing:-0.005em;
  /* paper grain */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
}
h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-0.025em;line-height:0.94;color:var(--ink);margin:0;}
.movement{min-height:100vh;padding:8vh clamp(24px,6vw,96px);display:flex;flex-direction:column;justify-content:center;position:relative;}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;}
.eyebrow{font-family:var(--font-mono);font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--brand-red);}
.statement{font-size:clamp(40px,7vw,104px);}
.lede{max-width:60ch;color:var(--ink-mute);font-size:clamp(18px,2vw,22px);}

/* reveal engine */
.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);}
.reveal.is-in{opacity:1;transform:none;}
.reveal[data-delay="1"]{transition-delay:.12s;}
.reveal[data-delay="2"]{transition-delay:.24s;}
.reveal[data-delay="3"]{transition-delay:.36s;}

/* progress rail + dots */
.progress-rail{position:fixed;top:0;left:0;height:3px;width:100%;background:transparent;z-index:50;}
.progress-fill{display:block;height:100%;width:0;background:var(--brand-red);transition:width .2s linear;}
.deck-dots{position:fixed;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:50;}
.deck-dots button{width:10px;height:10px;border-radius:50%;border:1px solid var(--ink-mute);background:transparent;padding:0;cursor:pointer;transition:all .3s var(--ease);}
.deck-dots button[aria-current="true"]{background:var(--brand-red);border-color:var(--brand-red);transform:scale(1.25);}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
}

.cover .statement{margin:.2em 0;}
.scroll-cue{font-family:var(--font-mono);color:var(--ink-faint);font-size:14px;margin-top:2rem;}
.takeaways{list-style:none;padding:0;margin:2rem 0;max-width:60ch;}
.takeaways li{border-top:var(--rule);padding:20px 0;font-size:clamp(18px,2vw,24px);color:var(--ink-soft);display:flex;gap:18px;}
.takeaways li span{font-family:var(--font-mono);color:var(--brand-red);font-size:14px;padding-top:.4em;}
.signature{font-family:var(--font-mono);color:var(--ink-mute);letter-spacing:.06em;margin-top:2rem;}

.dash{margin-top:48px;background:var(--paper-elevated);border:var(--rule);border-radius:4px;padding:clamp(20px,3vw,40px);box-shadow:0 1px 0 var(--bone);}
.dash-head{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:13px;color:var(--ink-mute);letter-spacing:.06em;text-transform:uppercase;}
.dash-live{color:var(--brand-red);}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:28px 0;}
.kpi-label{display:block;font-size:13px;color:var(--ink-mute);margin-bottom:6px;}
.kpi-val{font-family:var(--font-display);font-size:clamp(28px,4vw,52px);color:var(--ink);line-height:1;}
.dash-chart{border-top:var(--rule);padding-top:20px;}
.chart-cap{font-size:13px;color:var(--ink-mute);margin:0 0 10px;}
.dash-chart svg{width:100%;height:150px;display:block;}
.chart-line{fill:none;stroke:var(--brand-red);stroke-width:2.5;stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 1800ms var(--ease);}
.dash[data-in] .chart-line{stroke-dashoffset:0;}
.chart-area{fill:var(--red-wash);opacity:0;transition:opacity 1400ms var(--ease) 400ms;}
.dash[data-in] .chart-area{opacity:.6;}
.leak{margin-top:24px;padding:16px 20px;background:var(--red-wash);border-left:3px solid var(--brand-red);font-size:16px;color:var(--ink-soft);}
.leak b{font-family:var(--font-mono);color:var(--red-deep);}
.dash-note{font-size:12px;color:var(--ink-faint);margin:14px 0 0;font-style:italic;}
@media(max-width:720px){.kpis{grid-template-columns:repeat(2,1fr);}}
@media (prefers-reduced-motion:reduce){.chart-line{stroke-dashoffset:0;}.chart-area{opacity:.6;}}

.prompt-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:32px;margin-top:44px;align-items:start;}
.anatomy-cap,.qr-title{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);}
.anatomy-list{list-style:none;padding:0;margin:14px 0 0;counter-reset:a;}
.anatomy-list li{border-top:var(--rule);padding:14px 0;counter-increment:a;}
.anatomy-list li::before{content:counter(a,decimal-leading-zero);font-family:var(--font-mono);color:var(--brand-red);margin-right:12px;font-size:13px;}
.anatomy-list b{font-family:var(--font-display);font-weight:500;margin-right:8px;}
.toggle-card{background:var(--paper-elevated);border:var(--rule);border-radius:4px;overflow:hidden;}
.toggle-switch{display:flex;}
.toggle-switch button{flex:1;padding:14px;border:0;background:var(--ivory-warm);font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;cursor:pointer;color:var(--ink-mute);transition:all .3s var(--ease);}
.toggle-switch button[aria-selected="true"]{background:var(--brand-red);color:#fff;}
.toggle-body{padding:24px;}
.tb-prompt{font-family:var(--font-mono);font-size:14px;background:var(--ivory);border:var(--rule);border-radius:4px;padding:16px;color:var(--ink-soft);white-space:pre-wrap;}
.tb-answer{margin-top:16px;padding-left:16px;border-left:3px solid var(--brand-red);color:var(--ink-mute);}
.qr-card,.qr-steps ol{display:flex;}
.qr-card{gap:28px;align-items:center;margin-top:48px;background:var(--paper-elevated);border:var(--rule);border-radius:4px;padding:28px;max-width:640px;}
.qr{width:132px;height:132px;flex:none;background:#fff;padding:8px;border:var(--rule);}
.qr-steps{flex:1;}
.qr-steps ol{flex-direction:column;gap:6px;margin:10px 0;padding-left:18px;}
.qr-url{font-family:var(--font-mono);color:var(--brand-red);margin:0;}
@media(max-width:820px){.prompt-grid{grid-template-columns:1fr;}}
.proposal-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;margin-top:44px;align-items:start;}
.proposal{background:#fff;border:var(--rule);border-radius:4px;padding:32px;box-shadow:0 8px 40px rgba(14,14,14,.06);}
.proposal [data-stage]{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.proposal.built [data-stage]{opacity:1;transform:none;}
.proposal.built [data-stage="2"]{transition-delay:.5s;} .proposal.built [data-stage="3"]{transition-delay:1s;}
.proposal.built [data-stage="4"]{transition-delay:1.7s;} .proposal.built [data-stage="5"]{transition-delay:2.4s;}
.pp-brand{font-family:var(--font-display);font-size:22px;color:var(--ink);}.pp-logo{color:var(--brand-red);}
.pp-meta{display:flex;gap:32px;margin:24px 0;border-top:var(--rule);border-bottom:var(--rule);padding:18px 0;font-size:14px;color:var(--ink-mute);}
.pp-meta b{font-family:var(--font-display);font-size:18px;color:var(--ink);font-weight:500;}
.pp-scope{list-style:none;padding:0;margin:0 0 24px;}
.pp-scope li{padding:10px 0 10px 24px;position:relative;border-bottom:var(--rule);}
.pp-scope li::before{content:"→";position:absolute;left:0;color:var(--brand-red);}
.pp-price{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--ink);padding-top:16px;}
.pp-price b{font-family:var(--font-display);font-size:40px;color:var(--ink);}
.pp-stamp{margin-top:20px;display:inline-block;background:var(--red-wash);color:var(--red-deep);border:1px solid var(--brand-red);border-radius:2px;padding:8px 16px;font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;transform:rotate(-2deg);}
.build-steps{counter-reset:s;list-style:none;padding:0;margin:0 0 28px;}
.build-steps li{counter-increment:s;padding:14px 0 14px 44px;position:relative;border-top:var(--rule);}
.build-steps li::before{content:counter(s);position:absolute;left:0;top:12px;width:28px;height:28px;border-radius:50%;background:var(--brand-red);color:#fff;font-family:var(--font-mono);font-size:13px;display:grid;place-items:center;}
.qr-card.compact{margin-top:0;padding:20px;gap:18px;}
.qr-card.compact .qr{width:104px;height:104px;}
@media(max-width:820px){.proposal-stage{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){.proposal [data-stage]{opacity:1;transform:none;}}

.review-flag{display:inline-block;font-family:var(--font-mono);font-size:12px;color:var(--red-deep);background:var(--red-wash);border:1px solid var(--brand-red);border-radius:2px;padding:4px 10px;margin-top:8px;}
.market{margin-top:36px;}
.mkt-row{display:grid;grid-template-columns:0.9fr 2fr;gap:28px;padding:24px 0;border-top:var(--rule);align-items:baseline;}
.mkt-row:last-child{border-bottom:var(--rule);}
.mkt-name{font-family:var(--font-display);font-size:clamp(24px,3vw,34px);color:var(--ink);}
.mkt-name span{display:block;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--ink-mute);text-transform:uppercase;margin-top:6px;}
.mkt-row p{margin:0;color:var(--ink-mute);max-width:60ch;}
.mkt-row.pick{background:var(--red-wash);margin:0 -20px;padding:24px 20px;border-radius:4px;border-top:0;}
.mkt-row.pick .mkt-name{color:var(--brand-red);}.mkt-row.pick p{color:var(--ink-soft);}
.mkt-row.pick + .mkt-row{border-top:0;}
.verdict{font-family:var(--font-display);font-size:clamp(22px,3vw,32px);color:var(--ink);max-width:24ch;margin-top:40px;line-height:1.2;}
@media(max-width:720px){.mkt-row{grid-template-columns:1fr;gap:8px;}}
