:root { --bg:#F4F6FB; --card:#FFFFFF; --ink:#0E1530; --muted:#6B7390; --line:#E4E8F1; --sage:#2457F5; --sageSoft:#EAF0FF; --terra:#2457F5; --peach:#EAF0FF; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, sans-serif; }
h1,h2 { font-family: -apple-system, BlinkMacSystemFont, Inter, sans-serif; font-weight:800; letter-spacing:-0.02em; margin:0 0 8px; }
h1 { font-size: 30px; line-height:1.15 } h2 { font-size: 22px }
.wrap { max-width: 560px; margin: 0 auto; padding: 0 16px 48px; }
.hero { width:100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 0 0 28px 28px; display:block; background: var(--line); }
.pill { display:inline-block; background:var(--terra); color:#fff; font-size:12px; font-weight:700; letter-spacing:.12em; padding:6px 12px; border-radius:999px; margin:20px 0 10px; }
.when { color: var(--terra); font-weight:700; font-size:18px; margin-bottom: 4px; }
.muted { color: var(--muted); }
.card { background:var(--card); border:1px solid var(--line); border-radius:22px; padding:20px; margin-top:18px; }
label { display:block; font-size:13px; font-weight:600; color:var(--muted); margin: 12px 0 4px; }
input[type=text], input[type=email], input[type=tel] { width:100%; font-size:16px; padding:14px; border-radius:14px; border:1.5px solid var(--line); background:#fff; }
.check { display:flex; gap:10px; align-items:flex-start; margin-top:14px; font-size:14px; }
.check input { width:22px; height:22px; margin-top:2px; accent-color: var(--sage); flex: none; }
button { width:100%; margin-top:18px; border:0; border-radius:999px; padding:16px; font-size:16px; font-weight:700; color:#fff; background:var(--terra); }
button:disabled { opacity:.6 }
.row { display:flex; gap:8px; flex-wrap: wrap; } .row label.opt { display:flex; align-items:center; gap:6px; margin:0; font-size:15px; color:var(--ink); background:var(--sageSoft); padding:8px 14px; border-radius:999px; }
.small { font-size:12px; color:var(--muted); }
a { color: var(--sage); }
.ok { background: var(--sageSoft); }
.btn { display:block; text-align:center; text-decoration:none; border-radius:999px; padding:16px; font-weight:700; margin-top:10px; }
.btn.primary { background:var(--terra); color:#fff; }
.btn.ghost { background:#fff; color:var(--ink); border:1.5px solid var(--line); }
.video { width:100%; max-height:78vh; aspect-ratio:9/16; object-fit:cover; background:#000; display:block; border-radius:0 0 28px 28px; }
.stats { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
.stat { background:var(--sageSoft); color:var(--ink); font-weight:700; border-radius:999px; padding:8px 14px; font-size:14px; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px; }
.grid img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; display:block; }
.agent { display:flex; gap:14px; align-items:center; }
.agent img, .agent .ph { width:64px; height:64px; border-radius:32px; object-fit:cover; background:var(--terra); flex:none; }
.price { font-size:34px; font-weight:800; letter-spacing:-0.02em; margin:16px 0 0; }
.cards { display:grid; gap:14px; margin-top:16px; }
.lcard { display:block; text-decoration:none; color:inherit; background:#fff; border-radius:22px; overflow:hidden; border:1px solid var(--line); }
.lcard img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; background:var(--line); }
.lcard div { padding:14px 16px; }
.lbar { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background:rgba(255,255,255,.88); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.lbar .back { font-weight:700; text-decoration:none; color:var(--ink); max-width:55%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wrap .join { margin: 18px 0 0; }
