:root{
  --bg:#fffaf7;
  --surface:#fffdfb;
  --surface-2:#f7eee8;
  --ink:#241016;
  --ink-2:#38202a;
  --muted:#68535b;
  --muted-2:#8a727a;
  --rose:#74283b;
  --accent:#74283b;
  --rose-2:#5d1e2f;
  --gold:#c79a58;
  --wa:#25d366;
  --wa-ink:#103620;
  --line:rgba(116,40,59,.16);
  --line-2:rgba(116,40,59,.26);
  --focus:#74283b;
  --shadow:0 24px 70px rgba(36,16,22,.10);
  --shadow-soft:0 12px 34px rgba(36,16,22,.07);
  --radius:30px;
  --wrap:1180px;
  --serif:ui-serif,"Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;scroll-padding-bottom:112px}
body{margin:0;background:radial-gradient(circle at 86% 9%,#f1dcd4 0 12%,transparent 32%),linear-gradient(180deg,#fffaf7,#f7eee8);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:14px}
.skip-link{position:absolute;left:16px;top:-80px;background:var(--ink);color:white;padding:12px 16px;border-radius:999px;z-index:9999}
.skip-link:focus{top:16px}
.wrap{width:min(var(--wrap),92vw);margin:auto}
.announce{background:#301019;color:#fffaf7;text-align:center;padding:10px 16px;font-size:.92rem}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,250,247,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;gap:12px;font-weight:900}
.brand img,.brand-mark{width:42px;height:42px;border-radius:14px}
.nav-links{display:flex;gap:22px;align-items:center;color:var(--muted);font-size:.96rem}
.nav-links a[aria-current="page"]{color:var(--accent);font-weight:850}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:999px;font-weight:850;border:1px solid transparent;cursor:pointer}
.nav-cta,.btn-primary{background:linear-gradient(180deg,var(--rose),var(--rose-2));color:white;box-shadow:var(--shadow-soft)}
.btn-wa{background:var(--wa);color:var(--wa-ink)}
.btn-light{background:white;border-color:var(--line-2);color:var(--ink)}
.btn-gold{background:linear-gradient(135deg,var(--gold),#efd49a);color:#2b190d}
.hero{padding:74px 0 48px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.68);color:var(--rose);border-radius:999px;padding:9px 14px;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:900}
h1,h2,h3{letter-spacing:-.045em}
h1{font-family:var(--serif);font-size:clamp(3.4rem,8vw,6.7rem);line-height:.9;margin:22px 0 18px}
h2{font-family:var(--serif);font-size:clamp(2.25rem,5.3vw,4.7rem);line-height:.98;margin:0 0 16px}
h3{font-size:1.45rem;margin:0 0 10px}
.lead{color:var(--muted);font-size:clamp(1.05rem,1.9vw,1.36rem);line-height:1.72;max-width:760px}
.hero-actions,.actions,.checkout-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.card{background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.cover{min-height:470px;background:linear-gradient(145deg,#2e111a,#13080d);color:white;display:grid;align-content:end;position:relative;overflow:hidden}
.cover:before{content:"";position:absolute;inset:auto -20% -20% auto;width:320px;height:320px;border-radius:50%;background:rgba(199,154,88,.34);filter:blur(12px)}
.cover small{color:#e8c5cf;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.cover strong{font-family:var(--serif);font-size:3.2rem;line-height:.95;position:relative}
.meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;color:var(--muted)}
.meta strong{color:var(--ink)}
.section{padding:54px 0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kicker{color:var(--rose);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.list{display:grid;gap:12px;margin:20px 0;padding:0;list-style:none}
.list li{padding:16px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.65)}
.price{font-family:var(--serif);font-size:clamp(3.4rem,7vw,5.2rem);line-height:.9}
.notice{border:1px solid #e5cb87;background:#fff7dc;color:#684b10;border-radius:22px;padding:18px;line-height:1.6}
.safe{border:1px solid #d6c9ff;background:#f5efff;color:#4e3b78;border-radius:22px;padding:18px;line-height:1.6}
.footer{padding:42px 0 68px;color:var(--muted);font-size:.92rem}
.access-shell{min-height:100vh;display:grid;place-items:center;padding:42px 18px}
.access-card{width:min(760px,94vw)}
.field{display:grid;gap:8px;margin:24px 0}
.code-input{width:100%;min-height:62px;border-radius:18px;border:1px solid var(--line-2);background:white;color:var(--ink);padding:0 18px;font-size:1.08rem;letter-spacing:.04em;text-transform:uppercase}
.error-summary{background:#fff0f2;border:1px solid #d4576d;color:#7a2030;border-radius:18px;padding:15px;margin:16px 0}
.form-msg{color:var(--muted);min-height:1.4em}
.nav-private .announce,.private-only-hide{display:none}
body[data-page^="private"] .floating-wa,body[data-page^="private"] .bottom-bar,body[data-page^="access"] .bottom-bar{display:none}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.module-card{background:white;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow-soft)}
.module-card span{font-size:.8rem;font-weight:900;color:var(--rose);text-transform:uppercase;letter-spacing:.08em}
.bottom-bar{position:fixed;left:14px;right:14px;bottom:14px;z-index:70;display:none;gap:10px;background:rgba(255,250,247,.92);border:1px solid var(--line);border-radius:22px;padding:10px;box-shadow:var(--shadow)}
.bottom-bar a{flex:1;text-align:center;border-radius:999px;padding:13px 10px;font-weight:850}
.bottom-bar .reserve{background:var(--wa);color:var(--wa-ink)}
.bottom-bar .access{background:white;border:1px solid var(--line)}
@media(max-width:900px){.hero-grid,.grid-2,.grid-3,.module-grid{grid-template-columns:1fr}.nav-links{display:none}.hero{padding-top:46px}.bottom-bar.is-visible{display:flex}body{padding-bottom:78px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
