:root { --ink:#173c33; --muted:#49675f; --green:#17483c; --lime:#d8ff70; --cream:#fbfff4; --line:#b8d7c7; font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--cream); line-height:1.6; }
a { color:var(--green); font-weight:800; }
button { font:inherit; }
.skip-link { position:absolute; top:-60px; left:16px; z-index:5; padding:10px 14px; background:var(--lime); }
.skip-link:focus { top:12px; }
.purchase-header { display:flex; justify-content:space-between; align-items:center; min-height:68px; padding:12px clamp(18px,5vw,72px); border-bottom:1px solid var(--line); background:white; }
.wordmark { color:var(--green); font-weight:950; letter-spacing:-.04em; text-decoration:none; }
.wordmark span:first-child { color:#8d3fd1; }
.wordmark span:last-child { margin-left:4px; color:#d49d10; }
.overline { margin:0 0 10px; color:var(--green); font:900 .75rem/1.2 ui-monospace,monospace; letter-spacing:.14em; text-transform:uppercase; }
h1,h2 { color:var(--green); line-height:1.05; letter-spacing:-.045em; text-wrap:balance; }
.offer-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); align-items:center; gap:clamp(44px,8vw,110px); max-width:1220px; min-height:72vh; margin:auto; padding:clamp(64px,10vw,120px) clamp(18px,5vw,72px); }
h1 { max-width:780px; margin:0; font-size:clamp(3.2rem,8vw,7rem); }
.lead { max-width:650px; margin:20px 0 24px; color:var(--muted); font-size:clamp(1.05rem,1.7vw,1.3rem); }
.price-line { display:flex; align-items:baseline; gap:15px; margin:20px 0 14px; }
.price-line strong { color:var(--green); font-size:clamp(1.5rem,3vw,2.2rem); }
.price-line span,.checkout-note,.terms-grid p,.policy-links { color:var(--muted); }
.purchase-button { min-height:50px; border:2px solid var(--green); border-radius:10px; padding:12px 18px; background:var(--lime); color:var(--green); font-weight:950; cursor:pointer; }
.purchase-button:hover:not(:disabled) { background:#fff7c7; }
.purchase-button:disabled { border-color:#6f847d; background:#e0e8e3; color:#51645e; cursor:not-allowed; }
.purchase-button:focus-visible,a:focus-visible { outline:3px solid #8d3fd1; outline-offset:3px; }
.purchase-button.is-link { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.payment-status { min-height:26px; color:var(--green); font-weight:800; }
.checkout-note { max-width:580px; font-size:.88rem; }
.pack-list { border:2px solid var(--green); border-radius:20px; padding:clamp(24px,4vw,38px); background:white; box-shadow:14px 14px 0 var(--lime); }
.pack-list h2 { margin:4px 0 22px; font-size:clamp(1.9rem,3vw,2.8rem); }
.pack-list ul { margin:0; padding:0; list-style:none; }
.pack-list li { display:grid; gap:2px; padding:13px 0; border-top:1px solid var(--line); }
.pack-list li span { color:var(--muted); }
.terms-summary { max-width:1100px; margin:auto; padding:clamp(60px,9vw,100px) clamp(18px,5vw,50px); border-top:1px solid var(--line); }
.terms-summary h2 { margin:4px 0 12px; font-size:clamp(2.2rem,5vw,4rem); }
.terms-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.terms-grid article { border:1px solid var(--line); border-radius:12px; padding:20px; background:white; }
footer { display:flex; justify-content:space-between; gap:20px; padding:28px clamp(18px,5vw,72px); background:var(--green); color:white; }
.result-shell { max-width:760px; min-height:calc(100vh - 68px); margin:auto; padding:clamp(70px,12vw,140px) 24px; text-align:center; }
.result-shell h1 { margin:8px auto 18px; font-size:clamp(2.8rem,7vw,5rem); }
.result-mark { display:grid; place-items:center; width:78px; height:78px; margin:0 auto 24px; border-radius:50%; background:var(--green); color:white; font-size:2.6rem; font-weight:950; }
.result-mark.is-cancelled { background:#9b3f50; }
.result-help { max-width:600px; margin:22px auto; color:var(--muted); }
.result-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:20px; }
@media (max-width:820px) { .offer-hero { grid-template-columns:1fr; } .terms-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .purchase-header,.price-line,footer { align-items:flex-start; gap:14px; flex-direction:column; } .pack-list { box-shadow:8px 8px 0 var(--lime); } }
