@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap");

:root { --ink:#131b18; --paper:#f0efe7; --acid:#d7ff42; --line:rgba(19,27,24,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Mono",monospace; }
.grid { position:fixed; inset:0; pointer-events:none; opacity:.55; z-index:-1; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to bottom,#000,transparent 88%); }
header { min-height:84px; padding:18px clamp(20px,5vw,72px); border-bottom:1px solid var(--ink); display:flex; align-items:center; justify-content:space-between; }
.mark { color:inherit; text-decoration:none; display:flex; align-items:center; gap:14px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.mark span { display:grid; place-items:center; width:40px; height:40px; background:var(--ink); color:var(--acid); }
.status { font-size:10px; text-transform:uppercase; letter-spacing:.1em; display:flex; gap:9px; align-items:center; }
.status i { width:8px; height:8px; background:#ff714a; border-radius:50%; }
main { max-width:1440px; margin:auto; display:grid; grid-template-columns:1.35fr .65fr; }
.hero { padding:clamp(60px,8vw,120px) clamp(24px,6vw,88px); min-height:760px; border-right:1px solid var(--ink); }
.eyebrow,.section-index,.label { font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
h1,h2 { font-family:"Instrument Serif",serif; font-weight:400; line-height:.88; margin:24px 0; }
h1 { font-size:clamp(72px,9.5vw,148px); letter-spacing:-.055em; }
h1 em { color:#49655a; }
.lede { font-family:"Instrument Serif",serif; font-size:clamp(22px,2vw,31px); line-height:1.22; max-width:750px; }
.offer { margin-top:56px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:22px 0; display:flex; align-items:center; gap:30px; }
.offer>div:not(.rule) { flex:1; }
.rule { width:1px; align-self:stretch; background:var(--line); }
.price { font-family:"Instrument Serif",serif; font-size:58px; line-height:1; }
.price sup { font-family:"DM Mono",monospace; font-size:15px; vertical-align:top; }
.metric { display:block; font-size:24px; margin-top:10px; }
.checkout { margin-top:28px; padding:21px 24px; display:flex; justify-content:space-between; align-items:center; background:var(--acid); color:var(--ink); border:1px solid var(--ink); text-decoration:none; text-transform:uppercase; font-size:12px; transition:transform .18s,box-shadow .18s; }
.checkout:not(.disabled):hover { transform:translate(-4px,-4px); box-shadow:8px 8px 0 var(--ink); }
.checkout:disabled { background:#d8d7cf; color:#666; cursor:not-allowed; box-shadow:none; transform:none; }
button.checkout { width:100%; font-family:"DM Mono",monospace; cursor:pointer; }
.rail-note { font-size:10px; line-height:1.5; color:#5a615e; }

/* Post-checkout return banner */
.notice { margin-top:20px; padding:16px 18px; font-size:11px; line-height:1.5; border:1px solid var(--ink); }
.notice.ok { background:var(--acid); }
.notice.warn { background:#f4d9cf; border-color:#ff714a; }

/* Eligibility gate */
.gate { display:grid; grid-template-columns:1fr 1fr; }
.gate-copy { padding:clamp(56px,7vw,110px) clamp(24px,5vw,72px); border-right:1px solid var(--ink); }
.gate-copy h1 { font-size:clamp(60px,7vw,104px); }
.gate-form { padding:clamp(56px,7vw,110px) clamp(24px,5vw,72px); background:var(--ink); color:var(--paper); }
.gate-form legend { font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:var(--acid); margin-bottom:22px; padding:0; }
.gate-form fieldset { border:0; padding:0; margin:0; }
.check { display:grid; grid-template-columns:24px 1fr; gap:14px; align-items:start; padding:16px 0; border-top:1px solid #55605b; cursor:pointer; }
.check:last-of-type { border-bottom:1px solid #55605b; }
.check input { position:absolute; opacity:0; width:0; height:0; }
.check .box { width:22px; height:22px; border:1px solid var(--paper); display:grid; place-items:center; margin-top:1px; transition:background .15s; }
.check .box::after { content:"✓"; color:var(--ink); font-size:14px; opacity:0; transition:opacity .15s; }
.check input:checked + .box { background:var(--acid); }
.check input:checked + .box::after { opacity:1; }
.check input:focus-visible + .box { outline:2px solid var(--acid); outline-offset:2px; }
.check .ct { font-size:12px; line-height:1.55; color:#dfe3df; }
.check .ct strong { color:var(--paper); }
.gate-form .checkout { margin-top:28px; }
.err { color:#ff9b80; font-size:11px; line-height:1.5; margin-top:14px; }
.back { display:inline-block; margin-top:22px; color:#c9cec9; font-size:11px; text-decoration:none; border-bottom:1px solid #55605b; }
.back:hover { color:var(--acid); }
@media(max-width:800px){ .gate{display:block}.gate-copy{border-right:0;border-bottom:1px solid var(--ink)} }
.scope-card { padding:clamp(40px,5vw,72px); background:var(--ink); color:var(--paper); min-height:760px; display:flex; flex-direction:column; }
.scope-head { display:flex; justify-content:space-between; font-size:9px; letter-spacing:.1em; }
.badge { color:var(--acid); }
.scope-card h2 { font-size:clamp(54px,5vw,86px); margin-top:auto; }
.scope-card>p { font-family:"Instrument Serif",serif; font-size:22px; line-height:1.3; color:#c9cec9; }
.checklist { border-top:1px solid #55605b; margin-top:20px; }
.checklist div { display:flex; gap:15px; padding:15px 0; border-bottom:1px solid #55605b; font-size:11px; }
.checklist i { color:var(--acid); font-style:normal; }
.excluded { margin-top:28px; padding-left:18px; border-left:3px solid #ff714a; font-size:9px; line-height:1.55; }
.excluded span { color:#ff9b80; text-transform:uppercase; }
.deliverables { grid-column:1/-1; padding:clamp(72px,8vw,120px) clamp(24px,6vw,88px); border-top:1px solid var(--ink); }
.deliverables h2,.terms h2 { font-size:clamp(58px,7vw,106px); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--ink); }
.cards article { min-height:260px; padding:28px; border-right:1px solid var(--ink); background:rgba(240,239,231,.72); }
.cards article:last-child { border:0; }
.cards span { font-size:9px; background:var(--acid); padding:5px 8px; }
.cards h3 { font-family:"Instrument Serif",serif; font-size:32px; font-weight:400; margin-top:52px; }
.cards p { font-size:11px; line-height:1.6; }
.terms { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:clamp(72px,8vw,120px) clamp(24px,6vw,88px); background:#c7d0c6; border-top:1px solid var(--ink); }
.terms-copy { padding-top:30px; font-family:"Instrument Serif",serif; font-size:25px; line-height:1.35; }
.terms-copy p { padding-bottom:22px; border-bottom:1px solid var(--ink); }
footer { background:var(--acid); border-top:1px solid var(--ink); min-height:96px; padding:32px clamp(24px,6vw,88px); display:flex; justify-content:space-between; font-size:10px; }
@media(max-width:800px){ main{display:block}.hero{border-right:0}.offer{gap:12px}.scope-card{min-height:680px}.cards,.terms{grid-template-columns:1fr}.cards article{border-right:0;border-bottom:1px solid var(--ink)}header .status{display:none}footer{gap:24px} }
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
