:root { --ink:#14332a; --paper:#ffffff; --warm:#f4efe4; --signal:#d8ff3d; --fg:#14332a; --bg:#ffffff; --mute:#56635d; --rule:#d8ddd9; --soft:#e4dcc9; --s1:8px; --s2:16px; --s3:24px; --s4:40px; --s5:56px; --s6:84px; --wrap:1120px; --ease:cubic-bezier(.2,.7,.2,1); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; scroll-padding-top:72px; }
body { margin:0; background:var(--bg); color:var(--fg); font-family:"Space Grotesk","Helvetica Neue",Arial,sans-serif; font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
.ink { --fg:#ffffff; --bg:#14332a; --mute:#b7c6bd; --rule:#2a4d40; --soft:#2a4d40; background:var(--bg); color:var(--fg); }
.warm { --fg:#14332a; --bg:#f4efe4; --mute:#56635d; --rule:#d9d2c0; --soft:#e4dcc9; background:var(--bg); color:var(--fg); }
.paper { --fg:#14332a; --bg:#ffffff; --mute:#56635d; --rule:#d8ddd9; --soft:#e8ebe9; background:var(--bg); color:var(--fg); }
.wrap { width:min(var(--wrap), 100% - 40px); margin:0 auto; }
.skip { position:absolute; left:-9999px; top:8px; background:var(--signal); color:#14332a; padding:10px 14px; font-weight:700; z-index:100; }
.skip:focus { left:8px; }
:focus-visible { outline:3px solid var(--signal); outline-offset:3px; }
.wm { font-family:"Archivo Black","Arial Black",sans-serif; text-transform:uppercase; letter-spacing:-.03em; line-height:.95; white-space:nowrap; }
.wm .s { background:var(--signal); color:#14332a; padding:0 .08em; }
h1, h2, h3, h4 { font-family:"Archivo Black","Arial Black",sans-serif; text-transform:uppercase; letter-spacing:-.025em; line-height:.96; margin:0 0 var(--s2) 0; font-weight:400; text-wrap:balance; }
h1 { font-size:clamp(42px, 5.8vw, 78px); margin-bottom:var(--s3); }
h2 { font-size:clamp(30px, 4.4vw, 52px); max-width:18ch; }
h3 { font-size:clamp(19px, 2.2vw, 24px); }
p { margin:0 0 var(--s2) 0; }
.lede { font-size:clamp(18px, 2vw, 21px); max-width:62ch; }
.sub { max-width:62ch; font-size:clamp(16px, 1.6vw, 18px); color:var(--mute); margin-bottom:var(--s3); }
.eyebrow { display:inline-flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:700; color:var(--mute); margin:0 0 var(--s2) 0; }
.eyebrow::before { content:""; width:28px; height:3px; background:var(--signal); }
.mark { background:var(--signal); color:#14332a; padding:0 .12em; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
h1 .mark { display:inline-block; line-height:1.02; padding:.02em .12em .04em .12em; margin-top:.06em; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; background:var(--fg); color:var(--bg); font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:16px 26px; border:2px solid var(--fg); text-decoration:none; cursor:pointer; font-size:15px; line-height:1; min-height:48px; transition:transform .15s var(--ease), box-shadow .15s var(--ease), background .15s; font-family:inherit; }
.btn:hover { transform:translate(-2px,-2px); box-shadow:4px 4px 0 var(--signal); }
.btn:active { transform:none; box-shadow:none; }
.btn.signal { background:var(--signal); color:#14332a; border-color:var(--signal); }
.btn.signal:hover { box-shadow:4px 4px 0 var(--fg); }
.btn.ghost { background:transparent; color:var(--fg); }
.btn.ghost:hover { box-shadow:4px 4px 0 var(--signal); }
.btn[disabled] { opacity:.6; cursor:wait; transform:none; box-shadow:none; }
header { position:sticky; top:0; z-index:30; background:#14332a; color:#fff; border-bottom:1px solid #2a4d40; }
header .wrap { display:flex; align-items:center; justify-content:space-between; gap:var(--s3); min-height:68px; }
header .wm { font-size:19px; }
header nav { display:flex; gap:var(--s3); }
header nav a { color:#d9e3dd; text-decoration:none; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; padding:8px 0; border-bottom:2px solid transparent; }
header nav a:hover { color:#fff; border-color:var(--signal); }
header .btn { padding:12px 18px; font-size:13px; min-height:44px; white-space:nowrap; }
.hero { padding:var(--s5) 0 var(--s5) 0; position:relative; overflow:hidden; isolation:isolate; }
.hero-bg { position:absolute; inset:0; z-index:-1; }
.hero-bg img { width:100%; height:100%; object-fit:cover; object-position:74% 40%; display:block; }
.hero-bg::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,51,42,.94) 0%, rgba(20,51,42,.86) 45%, rgba(20,51,42,.45) 75%, rgba(20,51,42,.25) 100%), linear-gradient(180deg, rgba(20,51,42,.1) 0%, rgba(20,51,42,0) 30%, rgba(20,51,42,.55) 100%); }
@media (min-width: 961px) { .hero-grid { align-items:start; } .hero-panel { margin-top:300px; } .hero-copy { padding-top:12px; } }
.hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:var(--signal); }
.hero-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--s5); align-items:stretch; position:relative; }
.kick { text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:700; color:var(--mute); margin-bottom:var(--s3); display:flex; flex-wrap:wrap; gap:6px 14px; }
.kick b { background:var(--signal); color:#14332a; padding:2px 8px; }
.dream { font-size:clamp(17px, 1.8vw, 20px); max-width:60ch; border-left:6px solid var(--signal); padding-left:var(--s2); margin:var(--s3) 0 0 0; color:var(--fg); }
.hero-cta { display:grid; gap:10px; margin-top:var(--s2); padding-top:var(--s2); border-top:1px solid #2a4d40; }
.hero-cta .btn { width:100%; }
.hero-cta .note { font-size:13px; color:var(--mute); text-align:center; }
.live { margin-top:var(--s2); font-size:14px; color:var(--mute); }
.live b { color:#14332a; background:var(--signal); padding:0 6px; }
.hero.ink .dream { color:#e6ede9; }
.hero-panel { border:2px solid #345a4b; padding:var(--s3); display:flex; flex-direction:column; justify-content:space-between; box-shadow:10px 10px 0 var(--signal); background:rgba(20,51,42,.82); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.counter { display:grid; grid-template-columns:1fr 1fr; gap:var(--s2); }
.tile { border:2px solid #3d6252; padding:18px 16px 14px 16px; min-height:112px; background:rgba(20,51,42,.5); }
.tile b { display:block; font-family:"Archivo Black","Arial Black",sans-serif; font-size:clamp(34px, 3.4vw, 48px); line-height:1; letter-spacing:-.03em; }
.tile small { display:block; text-transform:uppercase; letter-spacing:.1em; font-size:11px; color:var(--mute); margin-top:8px; line-height:1.35; }
.tile.on { background:var(--signal); color:#14332a; border-color:var(--signal); }
.tile.on small { color:#14332a; }
.count { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:var(--s2); padding-top:var(--s2); border-top:1px solid #2a4d40; }
.cbox { border:2px solid var(--signal); min-width:84px; padding:10px 12px 8px 12px; text-align:center; }
.cbox b { display:block; font-family:"Archivo Black","Arial Black",sans-serif; font-size:clamp(28px, 3vw, 40px); line-height:1; letter-spacing:-.03em; color:var(--signal); font-variant-numeric:tabular-nums; }
.cbox small { display:block; text-transform:uppercase; letter-spacing:.14em; font-size:10px; color:var(--mute); margin-top:4px; }
.clabel { margin:0; font-size:14px; flex:1 1 160px; color:#e6ede9; }
.cal { flex:0 0 100%; font-size:13px; color:var(--signal); text-decoration:underline; text-underline-offset:4px; }
.hero .lede { margin-bottom:0; }
section { padding:var(--s6) 0; }
section + section.ink, section.ink + section { border-top:none; }
.grid2 { display:grid; grid-template-columns:1.15fr 1fr; gap:var(--s5); align-items:start; }
.pick { position:relative; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; list-style:none; margin:0 0 var(--s3) 0; padding:0; max-width:560px; }
.steps li { font-size:12px; text-transform:uppercase; letter-spacing:.14em; color:var(--mute); padding-top:10px; border-top:4px solid var(--soft); }
.steps li.on { color:var(--fg); border-top-color:var(--signal); }
.pick h3 { margin:0 0 var(--s2) 0; }
.opts { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.opts button { text-align:left; background:transparent; color:var(--fg); border:2px solid var(--fg); padding:20px 18px; font:inherit; font-size:15px; cursor:pointer; min-height:96px; transition:transform .15s var(--ease), background .15s, border-color .15s; }
.opts button b { display:block; font-family:"Archivo Black","Arial Black",sans-serif; font-size:30px; line-height:1; margin-bottom:10px; text-transform:uppercase; }
.opts button:hover, .opts button:focus-visible { background:var(--signal); color:#14332a; border-color:#14332a; transform:translate(-2px,-2px); box-shadow:4px 4px 0 #14332a; outline:none; }
.qnav { margin-top:var(--s2); }
.trio { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:var(--s2); }
.pc { border:2px solid var(--signal); padding:18px 16px; background:rgba(216,255,61,.05); color:#fff; }
.pc .n { margin-bottom:10px; }
.pc b { display:block; font-family:"Archivo Black","Arial Black",sans-serif; text-transform:uppercase; font-size:18px; margin-bottom:4px; }
.pc span { display:block; font-size:15px; opacity:.85; }
.pc small { display:block; margin-top:10px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--signal); }
.trio.blur .pc { filter:blur(6px); pointer-events:none; user-select:none; }
.rnote { font-size:14px; color:var(--mute); margin-bottom:var(--s2); }
.link { background:none; border:none; color:var(--fg); font:inherit; text-decoration:underline; text-underline-offset:4px; cursor:pointer; padding:0; }
.gate { max-width:640px; border:2px solid var(--signal); background:#14332a; color:#fff; padding:var(--s3); margin:4px 0 var(--s2) 0; display:grid; gap:12px; }
.gate-lede { margin:0; font-size:16px; }
.gate-row { display:grid; grid-template-columns:1fr 1.4fr; gap:10px; }
.gate input[type=text], .gate input[type=email] { width:100%; padding:14px; font:inherit; border:2px solid #3d6252; background:#14332a; color:#fff; min-height:48px; }
.gate input:focus { border-color:var(--signal); outline:none; }
.gate input::placeholder { color:#8fa59a; }
.gate-consent { display:flex; gap:10px; align-items:flex-start; font-size:14px; text-transform:none; letter-spacing:0; font-weight:500; }
.gate-consent input { margin-top:3px; width:18px; height:18px; accent-color:#d8ff3d; }
.gate .btn { justify-self:start; }
.gate-msg { border-color:var(--signal); }
.gate-done { border:2px solid #14332a; background:var(--signal); color:#14332a; padding:14px 16px; max-width:640px; margin-bottom:var(--s2); }
.stack { width:100%; border-collapse:collapse; }
.stack td { padding:14px 8px 14px 0; border-bottom:1px solid var(--rule); vertical-align:top; }
.stack td b { display:block; }
.stack td span { display:block; color:var(--mute); font-size:14px; }
.stack td:last-child { text-align:right; white-space:nowrap; font-family:"Archivo Black","Arial Black",sans-serif; padding-right:0; }
.stack tr.sum td { border-top:2px solid var(--fg); }
.stack tr.sum td:last-child { background:var(--signal); color:#14332a; padding-left:10px; padding-right:10px; }
.stack tr.total td { border-bottom:none; border-top:2px solid var(--fg); padding-top:18px; font-size:19px; }
.offer-side { position:sticky; top:88px; }
.lane { position:relative; overflow:hidden; isolation:isolate; }
.lane-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.lane::before { content:""; position:absolute; inset:0; z-index:-1; }
.lanes .lane.journey { color:#fff; background:#14332a; }
.lanes .lane.journey h3, .lanes .lane.journey p, .lanes .lane.journey li { color:#fff; }
.lane.journey::before { background:linear-gradient(180deg, rgba(20,51,42,.78), rgba(20,51,42,.9)); }
.lane.ride::before { background:linear-gradient(180deg, rgba(20,51,42,.8), rgba(20,51,42,.92)); }
.lane .tag { background:rgba(20,51,42,.5); }
.lane li { border-color:rgba(255,255,255,.25); }
.claim { position:relative; overflow:hidden; isolation:isolate; }
.claim-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; opacity:.18; z-index:-1; pointer-events:none; }
.next { border:2px solid #2a4d40; background:rgba(20,51,42,.7); padding:var(--s3); }
.next h3 { margin-bottom:var(--s2); }
.next ol { list-style:none; margin:0; padding:0; counter-reset:n; }
.next li { counter-increment:n; position:relative; padding:12px 0 12px 44px; border-top:1px solid #2a4d40; font-size:15px; color:#d9e3dd; }
.next li::before { content:counter(n); position:absolute; left:0; top:10px; width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; background:var(--signal); color:#14332a; font-family:"Archivo Black","Arial Black",sans-serif; font-size:14px; }
.next li b { display:block; color:#fff; font-size:16px; }

.offer-list { list-style:none; margin:0; padding:0; }
.offer-list li { padding:16px 0 16px 40px; border-bottom:1px solid var(--rule); position:relative; font-size:16px; color:var(--mute); }
.offer-list li b { display:block; color:var(--fg); font-size:18px; margin-bottom:4px; }
.offer-list li::before { content:"✓"; position:absolute; left:0; top:18px; width:26px; height:26px; display:inline-flex; align-items:center; justify-content:center; background:var(--signal); color:#14332a; font-family:"Archivo Black","Arial Black",sans-serif; font-size:14px; }
.price-card { background:#14332a; color:#fff; padding:var(--s3); box-shadow:10px 10px 0 var(--signal); display:grid; gap:var(--s2); }
.pc-label { text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:700; color:var(--signal); }
.pc-price b { display:block; font-family:"Archivo Black","Arial Black",sans-serif; font-size:clamp(56px, 6vw, 84px); line-height:.9; letter-spacing:-.03em; }
.pc-price span { display:block; margin-top:8px; text-transform:uppercase; letter-spacing:.12em; font-size:12px; color:#bfcdc5; }
.pc-lines { list-style:none; margin:0; padding:0; border-top:1px solid #2a4d40; }
.pc-lines li { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #2a4d40; font-size:14px; color:#bfcdc5; }
.pc-lines li b { color:#fff; text-align:right; }
.pc-lines li:last-child b { color:var(--signal); }
.price-card .btn { width:100%; }
.price-card small { text-align:center; font-size:13px; color:#bfcdc5; }
@media (max-width: 960px) { .price-card { box-shadow:6px 6px 0 var(--signal); } }

.guarantee { border:3px solid var(--signal); padding:var(--s3); margin:var(--s3) 0; }
.quotes { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.quote { border:2px solid var(--fg); background:#fff; padding:var(--s3); font-size:17px; }
.quote small { display:block; margin-top:12px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--mute); }
.lanes { display:grid; grid-template-columns:1fr 1fr; gap:0; border:2px solid var(--fg); }
.lane { padding:var(--s4) var(--s3); }
.lane.ride { background:#14332a; color:#fff; }
.lane.journey { background:var(--warm); color:#14332a; }
.lane h3 { font-size:clamp(28px, 4vw, 44px); margin-bottom:10px; }
.lane .tag { display:inline-block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; border:1px solid currentColor; padding:4px 8px; margin-bottom:14px; }
.lane ul { margin:0; padding-left:0; list-style:none; }
.lane li { padding:8px 0; border-bottom:1px solid rgba(128,128,128,.35); }
.nums { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:var(--s3); }
.num { border:2px solid var(--fg); padding:22px 20px; }
.num b { display:block; font-family:"Archivo Black","Arial Black",sans-serif; font-size:48px; line-height:1; }
.num strong { display:block; text-transform:uppercase; letter-spacing:.1em; font-size:13px; margin:8px 0 10px 0; }
.num.three { background:#14332a; color:#fff; border-color:#14332a; }
.num.one { background:var(--signal); color:#14332a; border-color:var(--signal); }
.num p { margin:0; font-size:15px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 var(--s3) 0; }
.chips button { font:inherit; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:13px; padding:12px 16px; border:2px solid var(--fg); background:transparent; color:var(--fg); cursor:pointer; min-height:44px; transition:background .12s, color .12s; }
.chips button.on, .chips button:hover { background:var(--fg); color:var(--signal); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.card { position:relative; text-align:left; font:inherit; background:#fff; color:#14332a; border:2px solid #14332a; padding:16px 16px 18px 16px; min-height:172px; cursor:pointer; transition:transform .15s var(--ease), opacity .2s, background .15s; display:flex; flex-direction:column; }
.card:hover, .card:focus-visible { transform:translate(-3px,-3px); box-shadow:4px 4px 0 #14332a; }
.card .badges { display:flex; gap:4px; margin-bottom:12px; }
.card b { font-family:"Archivo Black","Arial Black",sans-serif; text-transform:uppercase; font-size:17px; letter-spacing:-.01em; margin-bottom:6px; line-height:1.05; }
.card .front, .card .back { font-size:14px; color:#3d6252; line-height:1.4; }
.card .back { display:none; }
.card .back small { display:block; margin-top:10px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#14332a; font-weight:700; }
.card.flip .front { display:none; }
.card.flip .back { display:block; }
.card.flip { background:#14332a; color:#fff; }
.card.flip .front, .card.flip .back { color:#d9e3dd; }
.card.flip .back small { color:var(--signal); }
.cards.lit .card { opacity:.3; }
.cards.lit .card.lit { opacity:1; background:var(--signal); }
.cards.lit .card.lit.flip { background:#14332a; }
.week { display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:10px; margin-top:4px; }
.day { min-width:0; }
.day h4 { background:#14332a; color:#fff; padding:8px 10px; margin:0 0 6px 0; font-size:14px; letter-spacing:.04em; }
.cls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:8px 8px 8px 10px; margin-bottom:4px; background:#fff; border:2px solid transparent; border-left:4px solid #14332a; font-size:13px; line-height:1.3; transition:border-color .12s, opacity .2s; }
.cls.i1 { border-left-color:#d8ff3d; }
.cls.i2 { border-left-color:#b9b3a4; }
.cls:hover { border-color:#14332a; }
.cls time { color:#5f6b66; font-variant-numeric:tabular-nums; margin-right:2px; }
.n { flex:none; width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; font-family:"Archivo Black","Arial Black",sans-serif; font-size:12px; border:2px solid #14332a; color:#14332a; background:#fff; }
.n.one { background:#d8ff3d; border-color:#d8ff3d; }
.n.three { background:#14332a; color:#fff; }
.cls b { font-weight:700; text-transform:uppercase; letter-spacing:.01em; min-width:0; flex:0 0 100%; margin-top:2px; }
.cls small { display:block; color:#5f6b66; text-transform:none; letter-spacing:0; font-weight:400; }
.week.lit .cls { opacity:.25; }
.week.lit .cls.lit { opacity:1; }
.small { font-size:13px; color:var(--mute); margin-top:var(--s2); }
.progs { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:12px; }
.prog { border:2px solid currentColor; padding:18px; transition:transform .15s var(--ease); }
.prog:hover { transform:translate(-2px,-2px); }
.prog b { display:block; font-family:"Archivo Black","Arial Black",sans-serif; text-transform:uppercase; font-size:18px; margin-bottom:4px; }
.prog span { font-size:14px; opacity:.8; }
.prog i { display:inline-block; font-style:normal; font-size:11px; letter-spacing:.14em; text-transform:uppercase; border:1px solid currentColor; padding:3px 7px; margin-bottom:10px; }
.prog.now { background:var(--signal); color:#14332a; border-color:var(--signal); }
.prog.now span { opacity:.9; }
.fit { display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); }
.fit ul { margin:0; padding-left:0; list-style:none; }
.fit li { padding:12px 0 12px 34px; border-bottom:1px solid var(--rule); position:relative; }
.fit li::before { position:absolute; left:0; top:12px; width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; font-family:"Archivo Black","Arial Black",sans-serif; font-size:13px; }
.fit .yes li::before { content:"✓"; background:var(--signal); color:#14332a; }
.fit .no li::before { content:"×"; border:2px solid var(--fg); color:var(--fg); }
.faq details { border-bottom:1px solid var(--rule); padding:18px 0; }
.faq summary { cursor:pointer; font-weight:700; font-size:18px; list-style:none; display:flex; justify-content:space-between; gap:16px; align-items:center; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; font-family:"Archivo Black","Arial Black",sans-serif; font-size:22px; flex:none; width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; border:2px solid var(--fg); }
.faq details[open] summary::after { content:"−"; background:var(--signal); border-color:var(--signal); color:#14332a; }
.faq details p { margin:12px 0 0 0; color:var(--mute); max-width:70ch; }
form { display:grid; gap:var(--s2); max-width:620px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--s2); }
label { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; display:block; margin-bottom:6px; }
input[type=text], input[type=email], input[type=tel] { width:100%; padding:14px; font:inherit; border:2px solid #3d6252; background:transparent; color:var(--fg); min-height:50px; }
input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus { border-color:var(--signal); outline:none; }
.hint { display:block; font-size:13px; color:var(--mute); margin-top:6px; }
.checks { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
.checks label, .consent label { text-transform:none; letter-spacing:0; font-weight:500; font-size:15px; display:flex; gap:10px; align-items:flex-start; }
.checks input, .consent input { margin-top:4px; width:18px; height:18px; accent-color:#d8ff3d; }
.hp { position:absolute; left:-9999px; }
.msg { padding:14px; border:2px solid var(--signal); display:none; }
.msg.show { display:block; }
.picks { border:2px solid var(--signal); padding:12px 14px; font-size:15px; }
.bar { display:none; position:fixed; left:0; right:0; bottom:0; z-index:20; background:#14332a; color:#fff; padding:10px 16px calc(10px + env(safe-area-inset-bottom)) 16px; align-items:center; justify-content:space-between; gap:12px; border-top:2px solid var(--signal); font-size:14px; }
.bar b { font-family:"Archivo Black","Arial Black",sans-serif; font-size:20px; margin-right:4px; }
.bar .btn { padding:12px 16px; font-size:13px; }
footer { background:#14332a; color:#b7c6bd; padding:var(--s5) 0 var(--s4) 0; border-top:1px solid #2a4d40; font-size:14px; }
.foot { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--s4); }
footer .wm { font-size:18px; color:#fff; margin-bottom:12px; }
footer h4 { font-size:12px; letter-spacing:.16em; color:#fff; margin-bottom:10px; }
footer a { color:#fff; }
footer .cos { margin-top:var(--s4); padding-top:var(--s2); border-top:1px solid #2a4d40; display:flex; justify-content:space-between; gap:var(--s2); flex-wrap:wrap; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.reveal > .wrap { opacity:0; transform:translateY(18px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.in > .wrap { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .reveal > .wrap { opacity:1; transform:none; transition:none; } .btn, .card, .opts button, .prog { transition:none; } }
@media (max-width: 960px) { .hero-grid { grid-template-columns:1fr; gap:var(--s3); } .hero-panel { box-shadow:6px 6px 0 var(--signal); } .offer-side { position:static; } .grid2 { grid-template-columns:1fr; gap:var(--s4); } }
@media (max-width: 760px) {
  .wrap { width:min(var(--wrap), 100% - 32px); }
  header nav { display:none; }
  header .wrap { min-height:60px; }
  section { padding:var(--s5) 0; }
  .hero { padding:var(--s4) 0; }
  h1 { font-size:clamp(38px, 10.5vw, 56px); }
  .hero-panel { padding:var(--s2); }
  .counter { grid-template-columns:1fr 1fr; gap:10px; }
  .tile { min-height:0; padding:14px 12px 12px 12px; }
  .cbox { min-width:0; flex:1; padding:8px 6px 6px 6px; }
  .clabel { flex:0 0 100%; }
  .opts { grid-template-columns:1fr 1fr; } .opts button { min-height:0; padding:16px 14px; }
  .trio { grid-template-columns:1fr; }
  .gate-row { grid-template-columns:1fr; } .gate { padding:var(--s2); }
  .lanes, .nums, .fit, .checks, .form-row, .foot { grid-template-columns:1fr; }
  .cards { grid-template-columns:1fr 1fr; gap:8px; } .card { min-height:0; padding:12px; } .card b { font-size:15px; }
  .week { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .cls { font-size:12px; }
  .quotes { grid-template-columns:1fr; }
  .hero-bg img { object-position:70% 40%; }
  .hero-bg::after { background:linear-gradient(180deg, rgba(20,51,42,.9) 0%, rgba(20,51,42,.82) 60%, rgba(20,51,42,.6) 100%); }
  .bar { display:flex; } body { padding-bottom:68px; }
  .btn { width:100%; }
  header .btn, .bar .btn, .chips button { width:auto; }
}
.menu { display:none; position:relative; }
.menu summary { list-style:none; cursor:pointer; color:#fff; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; padding:10px 0 10px 12px; }
.menu summary::-webkit-details-marker { display:none; }
.menu summary::after { content:"☰"; margin-left:8px; font-size:18px; vertical-align:-2px; }
.menu[open] summary::after { content:"×"; }
.menu nav { display:grid; position:absolute; right:0; top:calc(100% + 14px); min-width:240px; background:#14332a; border:2px solid var(--signal); padding:8px 18px; z-index:40; }
.menu nav a { color:#fff; text-decoration:none; font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:14px 0; border-bottom:1px solid #2a4d40; }
.menu nav a:last-child { border-bottom:none; }
header nav a[aria-current] { color:#fff; border-color:var(--signal); }
.hero.warm { --fg:#14332a; --bg:#f4efe4; --mute:#56635d; }
.hero.warm::after { height:3px; }
.hero-img { border:2px solid #14332a; box-shadow:10px 10px 0 var(--signal); overflow:hidden; aspect-ratio:4/3; }
.hero-img img { width:100%; height:100%; object-fit:cover; display:block; }
.hero.warm .dream { color:#14332a; }
.hero.warm .hero-cta { border-top-color:#d9d2c0; }
.hero.warm .hero-cta .btn { background:#14332a; color:#fff; border-color:#14332a; }
.hero.warm .hero-cta .btn:hover { box-shadow:4px 4px 0 var(--signal); }
.band { background:var(--signal); color:#14332a; padding:var(--s4) 0; }
.band .wrap { display:grid; grid-template-columns:auto 1fr auto; gap:var(--s3); align-items:center; }
.band .big { font-family:"Archivo Black","Arial Black",sans-serif; font-size:clamp(44px, 6vw, 84px); line-height:.9; letter-spacing:-.03em; }
.band p { margin:0; font-size:clamp(17px, 1.8vw, 20px); max-width:46ch; }
.band .btn { background:#14332a; color:#fff; border-color:#14332a; }
.band .btn:hover { box-shadow:4px 4px 0 #fff; }
.vals { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin:var(--s3) 0; }
.val { border:2px solid var(--fg); padding:20px 18px 16px 18px; }
.val b { display:block; font-family:"Archivo Black","Arial Black",sans-serif; font-size:clamp(30px, 3.2vw, 44px); line-height:1; letter-spacing:-.03em; }
.val small { display:block; text-transform:uppercase; letter-spacing:.1em; font-size:11px; color:var(--mute); margin-top:8px; line-height:1.35; }
.val.on { background:var(--signal); color:#14332a; border-color:var(--signal); }
.val.on small { color:#14332a; }
.xcards { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.xc { display:flex; flex-direction:column; background:#fff; color:#14332a; border:2px solid #14332a; padding:20px 20px 18px 20px; transition:transform .15s var(--ease), opacity .2s; }
.xc:hover { transform:translate(-3px,-3px); box-shadow:5px 5px 0 #14332a; }
.xc .top { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px; }
.xc .badges { display:flex; gap:4px; }
.xc .when { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#5f6b66; text-align:right; }
.xc h3 { font-size:clamp(20px, 2.2vw, 26px); margin-bottom:6px; }
.xc .leave { font-weight:700; margin-bottom:6px; }
.xc .does { font-size:15px; color:#56635d; margin-bottom:14px; flex:1; }
.xc .btn { align-self:flex-start; padding:12px 16px; font-size:13px; min-height:44px; }
.xc.heavy { background:#14332a; color:#fff; border-color:#14332a; }
.xc.heavy .does { color:#d9e3dd; } .xc.heavy .when { color:#b7c6bd; } .xc.heavy .leave { color:var(--signal); }
.xc.heavy .btn { background:var(--signal); color:#14332a; border-color:var(--signal); }
.xc.heavy:hover { box-shadow:5px 5px 0 var(--signal); }
.xcards.lit .xc { opacity:.3; } .xcards.lit .xc.lit { opacity:1; }
.pcards { display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; }
.pcard { background:#fff; color:#14332a; border:2px solid #14332a; padding:var(--s3); display:grid; gap:10px; align-content:start; }
.pcard .tag { display:inline-block; justify-self:start; font-size:11px; letter-spacing:.14em; text-transform:uppercase; border:1px solid currentColor; padding:4px 8px; }
.pcard .tag.now { background:var(--signal); border-color:var(--signal); font-weight:700; }
.pcard h3 { font-size:clamp(24px, 2.6vw, 32px); margin:0; }
.pcard .who { font-size:14px; color:#56635d; margin:0; }
.pcard .leave { font-size:18px; font-weight:700; margin:0; border-left:6px solid var(--signal); padding-left:14px; }
.pcard .does { font-size:15px; color:#56635d; margin:0; }
.pcard .btn { justify-self:start; padding:12px 16px; font-size:13px; min-height:44px; margin-top:4px; }
.shape { display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; }
.shape div { border:2px solid var(--fg); padding:20px 18px; }
.shape div b { display:block; font-family:"Archivo Black","Arial Black",sans-serif; text-transform:uppercase; font-size:13px; letter-spacing:.14em; color:var(--signal); margin-bottom:10px; }
.shape div strong { display:block; font-family:"Archivo Black","Arial Black",sans-serif; text-transform:uppercase; font-size:22px; margin-bottom:8px; }
.shape div p { margin:0; font-size:15px; color:var(--mute); }
.warm .shape div b, .paper .shape div b { color:#14332a; background:var(--signal); display:inline-block; padding:2px 8px; }
.radios { display:flex; flex-wrap:wrap; gap:8px; }
.radios label { text-transform:none; letter-spacing:0; font-weight:700; font-size:14px; border:2px solid var(--fg); padding:12px 14px; cursor:pointer; display:flex; gap:8px; align-items:center; margin:0; }
.radios input { accent-color:#d8ff3d; width:16px; height:16px; }
.radios label:has(input:checked) { background:var(--signal); color:#14332a; border-color:var(--signal); }
select { width:100%; padding:14px; font:inherit; border:2px solid #3d6252; background:transparent; color:var(--fg); min-height:50px; }
.ink select option { color:#14332a; }
select:focus { border-color:var(--signal); outline:none; }
textarea { width:100%; padding:14px; font:inherit; border:2px solid #3d6252; background:transparent; color:var(--fg); min-height:110px; resize:vertical; }
textarea:focus { border-color:var(--signal); outline:none; }
.lost { min-height:60vh; display:grid; place-items:center; text-align:center; }
.lost .wrap { display:grid; gap:var(--s2); justify-items:center; }
.lost h2 { max-width:none; }
.cta-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:var(--s3); }
.sec-cta { margin-top:var(--s3); }
.prose { max-width:68ch; }
.prose h3 { margin-top:var(--s3); }
.cols2 { display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); align-items:start; }
.cite { font-size:13px; color:var(--mute); }
@media (max-width: 960px) { .xcards { grid-template-columns:1fr 1fr; } .vals { grid-template-columns:1fr 1fr; } .shape { grid-template-columns:1fr 1fr; } .cols2 { grid-template-columns:1fr; } }
@media (max-width: 760px) {
  .menu { display:block; }
  header .btn { display:none; }
  .band .wrap { grid-template-columns:1fr; gap:var(--s2); }
  .xcards, .pcards, .shape { grid-template-columns:1fr; }
  .hero-img { aspect-ratio:3/2; }
  .xc .btn, .pcard .btn, .band .btn { width:100%; }
}
header .btn.ghost { color:#fff; border-color:#fff; }
header .btn.ghost:hover { box-shadow:4px 4px 0 var(--signal); }
.xc .btn + .btn { margin-top:8px; }
.widget:empty { display:none; }
.logo { display:block; line-height:0; }
.logo img { height:32px; width:auto; display:block; }
.footlogo { height:44px; width:auto; display:block; margin-bottom:14px; }
@media (max-width: 760px) { .logo img { height:26px; } }
.cosmark { height:20px; width:auto; display:block; }
