:root{--ink:#1b1d23;--ink-2:#2a2d36;--sand:#f6f1ea;--paper:#fffcf7;--coral:#ff6b4a;--coral-dark:#d24b2c;--muted:#6d6a66;--line:#e6ded2;--teal:#2f7f86}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.65 system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif}
a{color:var(--coral-dark)}
.wrap{max-width:1100px;margin:0 auto;padding:0 22px}
.bar{background:var(--ink);color:#f3ede4}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;min-height:66px}
.mark{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:19px;letter-spacing:.02em}
.nav a{color:#d9d2c8;text-decoration:none;margin-left:22px;font-size:15px;font-weight:600}
.nav a:hover,.nav a.on{color:var(--coral)}
.hero{background:var(--ink);color:#fff;padding:56px 0 64px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:36px;align-items:center}
.hero h1{font-size:clamp(32px,5vw,52px);line-height:1.08;margin:0 0 18px}
.hero p{color:#cfc8bd;font-size:19px;margin:0 0 26px;max-width:560px}
.btn{display:inline-block;padding:13px 22px;border-radius:30px;background:var(--coral);color:#fff;text-decoration:none;font-weight:700;margin:0 10px 10px 0}
.btn:hover{background:var(--coral-dark)}
.btn.ghost{background:transparent;border:1px solid #5a5d66;color:#f3ede4}
.wave{width:100%;height:auto;display:block}
.band{padding:58px 0}
.band.alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{font-size:clamp(24px,3vw,32px);margin:0 0 12px;line-height:1.2}
h3{font-size:19px;margin:0 0 6px}
.lede{color:var(--muted);max-width:700px;margin:0 0 28px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px}
.card p{margin:0;color:var(--muted)}
.tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
.packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.pack{display:block;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;text-decoration:none;color:var(--ink)}
.pack:hover{border-color:var(--coral)}
.pack .meta{font-size:14px;color:var(--muted)}
.steps{list-style:none;counter-reset:n;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.steps li{counter-increment:n;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px 22px 22px 70px;position:relative}
.steps li:before{content:counter(n);position:absolute;left:20px;top:20px;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:18px 0}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);font-size:15px;vertical-align:top}
th{background:#efe7db;font-weight:700}
td a{font-weight:600}
.page{padding:50px 0 66px}
.page h1{font-size:clamp(30px,4vw,42px);margin:0 0 10px}
.page h2{margin-top:36px}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:12px}
.crumbs a{color:var(--muted)}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:22px 0}
.specs div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.specs b{display:block;font-size:13px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.specs span{font-size:18px;font-weight:700}
.faq dt{font-weight:700;margin-top:18px}
.faq dd{margin:4px 0 0;color:var(--muted)}
code{font-family:ui-monospace,Menlo,Consolas,monospace;background:#efe7db;border-radius:4px;padding:1px 6px;font-size:14px}
.foot{background:var(--ink);color:#a9a39a;font-size:14px}
.foot .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:22px;padding-bottom:22px}
.foot a{color:#e6ded2;text-decoration:none;margin-left:18px}
.lost{padding:90px 0;text-align:center}
.lost p{color:var(--muted)}
@media(max-width:640px){.nav a{margin:0 16px 0 0}.foot a{margin:0 16px 0 0}.hero{padding:40px 0 46px}.steps li{padding-left:64px}}
