:root { color-scheme: light; --ink:#172225; --muted:#536467; --brand:#20b9b2; --paper:#f5faf9; --line:#d8e7e4; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.62 system-ui,-apple-system,"Segoe UI",sans-serif; }
main, footer { width:min(900px,calc(100% - 32px)); margin:auto; }
header { background:#fff; border-bottom:1px solid var(--line); }
.topbar { width:min(900px,calc(100% - 32px)); margin:auto; padding:18px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { color:var(--ink); font-weight:800; font-size:22px; text-decoration:none; display:inline-flex; align-items:center; gap:10px; }
.brand img { width:42px; height:42px; border-radius:12px; box-shadow:0 5px 18px rgba(32,185,178,.2); }
nav { display:flex; flex-wrap:wrap; gap:12px 18px; }
nav a { color:#216b68; text-decoration:none; }
.hero { padding:68px 0 44px; }
h1 { margin:0 0 18px; font-size:clamp(34px,7vw,58px); line-height:1.05; letter-spacing:-.035em; }
h2 { margin:38px 0 12px; font-size:25px; line-height:1.2; }
.lead { max-width:690px; color:var(--muted); font-size:20px; }
.button { display:inline-block; margin-top:18px; padding:13px 20px; border-radius:12px; background:var(--brand); color:#062d2b; font-weight:750; text-decoration:none; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin:28px 0 48px; }
.card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; }
.card h2 { margin-top:0; }
.price { font-size:30px; font-weight:800; }
.document { background:#fff; border:1px solid var(--line); border-radius:18px; padding:clamp(22px,5vw,48px); margin:38px auto; }
.document h1 { font-size:clamp(30px,5vw,44px); }
.document p { margin:0 0 13px; }
.document .date { color:var(--muted); margin-bottom:30px; }
footer { padding:26px 0 50px; color:var(--muted); font-size:14px; }
.age-gate-open { overflow:hidden; }
.age-gate { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:20px; background:rgba(10,31,32,.76); backdrop-filter:blur(8px); }
.age-gate__card { width:min(430px,100%); padding:30px; border-radius:20px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.28); text-align:center; }
.age-gate__card h1 { margin-bottom:12px; font-size:34px; }
.age-gate__mark { margin:0 0 6px; color:#16817c; font-size:26px; font-weight:850; }
.age-gate__confirm { width:100%; margin:14px 0 8px; padding:14px 20px; border:0; border-radius:12px; background:var(--brand); color:#062d2b; font:inherit; font-weight:800; cursor:pointer; }
.age-gate__leave { display:inline-block; padding:8px; color:var(--muted); }
@media (max-width:720px) { .topbar { align-items:flex-start; flex-direction:column; } .hero { padding-top:44px; } }
