:root{--ink:#30252d;--muted:#6d6269;--paper:#fff9f4;--white:#fff;--line:#efdfd8;--rose:#a33c57;--rose-dark:#7f2940;--sage:#66785f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--rose-dark);text-underline-offset:3px}
a:hover{color:#5d2031}
.wrap{width:min(100% - 40px,980px);margin:auto}
.header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.brand{font-size:20px;font-weight:800;letter-spacing:-.03em;text-decoration:none;color:var(--ink)}
.nav{display:flex;flex-wrap:wrap;gap:18px}
.nav a{font-size:15px;font-weight:650;text-decoration:none}
.hero{padding:72px 0 48px}
.eyebrow{color:var(--rose-dark);font-weight:750;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
h1,h2,h3{line-height:1.2;letter-spacing:-.025em}
h1{font-size:clamp(42px,8vw,76px);margin:14px 0 20px}
h2{font-size:30px;margin:0 0 14px}
h3{font-size:20px;margin:0 0 10px}
.lead{max-width:720px;font-size:20px;color:var(--muted)}
.section{padding:30px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:22px}
.card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 10px 30px #462c1b0b}
.card p:last-child{margin-bottom:0}
.tag{display:inline-block;border-radius:999px;padding:5px 12px;background:#f4e5e7;color:var(--rose-dark);font-size:14px;font-weight:700}
.notice{border-left:4px solid var(--sage);background:#f0f3ed;padding:16px 18px;border-radius:8px}
.price{font-size:24px;font-weight:800}
.muted{color:var(--muted)}
.legal{max-width:800px;padding:46px 0 70px}
.legal h1{font-size:clamp(36px,7vw,54px);margin:12px 0}
.legal h2{font-size:23px;margin-top:30px}
.legal p,.legal li{color:#40373d}
.legal li{margin:8px 0}
.footer{border-top:1px solid var(--line);padding:24px 0 36px;color:var(--muted);font-size:14px}
.footer-links{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0}
.small{font-size:14px;color:var(--muted)}
@media(max-width:600px){.wrap{width:min(100% - 28px,980px)}.header{align-items:flex-start;flex-direction:column;gap:12px}.nav{gap:14px}.hero{padding-top:48px}}
