:root{
  --blush:#f7e9e3; --blush-deep:#efd9d0; --cream:#fffaf7; --sage:#7d8b74; --sage-deep:#5f6d57;
  --gold:#b98a2f; --gold-light:#e8d5a8; --ink:#3a3230; --muted:#8a7d78; --rose:#c4708a;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65}
.serif{font-family:'Fraunces','Playfair Display',Georgia,serif}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
a{color:var(--rose)}

/* nav */
.nav{background:rgba(255,250,247,.92);backdrop-filter:blur(8px);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--blush-deep)}
.nav-inner{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;max-width:1080px;margin:0 auto}
.brand{font-family:'Fraunces',Georgia,serif;font-size:1.25rem;letter-spacing:.5px}
.brand span{color:var(--rose)}
.nav-cta{background:var(--rose);color:#fff;text-decoration:none;padding:10px 22px;border-radius:999px;font-weight:600;font-size:.95rem}
.nav-cta:hover{background:#a95b75}

/* hero */
.hero{background:linear-gradient(160deg,var(--blush) 0%,var(--cream) 70%);padding:84px 0 72px;text-align:center;position:relative;overflow:hidden}
.hero::before{content:"\2767";position:absolute;font-size:22rem;color:rgba(196,112,138,.06);top:-60px;left:50%;transform:translateX(-50%)}
.eyebrow{display:inline-block;background:#fff;border:1px solid var(--blush-deep);color:var(--sage-deep);padding:6px 18px;border-radius:999px;font-size:.82rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:22px}
.hero h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(2.4rem,5.5vw,4rem);line-height:1.12;margin-bottom:18px}
.hero h1 em{color:var(--rose);font-style:italic}
.hero p.sub{font-size:1.15rem;color:var(--muted);max-width:620px;margin:0 auto 32px}
.btn-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 38px;border-radius:999px;font-weight:700;font-size:1.02rem;text-decoration:none;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--rose);color:#fff;box-shadow:0 8px 24px rgba(196,112,138,.35)}
.btn-ghost{background:#fff;color:var(--ink);border:2px solid var(--blush-deep)}
.micro{margin-top:16px;font-size:.88rem;color:var(--muted)}
.stars{color:var(--gold);letter-spacing:3px;font-size:1.1rem}

/* sections */
.section{padding:72px 0}
.section.alt{background:#fff}
.section h2{font-family:'Fraunces',Georgia,serif;font-size:clamp(1.7rem,3.5vw,2.5rem);text-align:center;margin-bottom:12px}
.section .lede{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 44px}

/* what's inside */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.card{background:var(--cream);border:1px solid var(--blush-deep);border-radius:18px;padding:30px 26px;position:relative}
.card .num{position:absolute;top:18px;right:22px;font-family:'Fraunces',Georgia,serif;font-size:2.2rem;color:var(--blush-deep)}
.card h3{font-family:'Fraunces',Georgia,serif;font-size:1.25rem;margin-bottom:10px}
.card p{font-size:.95rem;color:var(--muted)}
.card .tag{display:inline-block;margin-top:14px;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--sage-deep);border:1px solid var(--sage);padding:4px 12px;border-radius:999px}

/* preview strip */
.preview{background:var(--sage-deep);color:#fff;padding:72px 0}
.preview h2{color:#fff}
.preview .lede{color:#d8dcd4}
.sheets{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:8px}
.sheet{background:#fff;color:var(--ink);border-radius:12px;padding:22px 18px;text-align:center;text-decoration:none;transition:transform .15s}
.sheet:hover{transform:translateY(-4px)}
.sheet .icon{font-size:2rem;margin-bottom:10px}
.sheet h4{font-family:'Fraunces',Georgia,serif;font-size:1.05rem;margin-bottom:6px}
.sheet p{font-size:.82rem;color:var(--muted)}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.quote{background:var(--blush);border-radius:18px;padding:30px 26px}
.quote p{font-style:italic;margin-bottom:14px}
.quote .who{font-weight:700;font-size:.9rem}
.quote .who span{color:var(--muted);font-weight:400}

/* pricing */
.price-box{background:#fff;border:2px solid var(--gold-light);border-radius:24px;max-width:560px;margin:0 auto;padding:48px 40px;text-align:center;box-shadow:0 20px 60px rgba(185,138,47,.12)}
.price-box h3{font-family:'Fraunces',Georgia,serif;font-size:1.8rem;margin-bottom:8px}
.was{color:var(--muted);text-decoration:line-through}
.now{font-family:'Fraunces',Georgia,serif;font-size:3.2rem;color:var(--rose)}
.includes{text-align:left;margin:26px 0;list-style:none}
.includes li{padding:9px 0;border-bottom:1px dashed var(--blush-deep);font-size:.96rem}
.includes li::before{content:"\2713  ";color:var(--sage-deep);font-weight:700}

/* faq */
.faq{max-width:720px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--blush-deep);border-radius:14px;margin-bottom:12px;padding:18px 22px}
.faq summary{font-weight:700;cursor:pointer;font-family:'Fraunces',Georgia,serif;font-size:1.05rem}
.faq p{margin-top:10px;color:var(--muted);font-size:.95rem}

/* footer */
footer{background:var(--ink);color:#cfc6c2;padding:44px 0;text-align:center;font-size:.9rem}
footer a{color:var(--gold-light)}
.rwp{display:inline-block;margin-top:14px;font-size:.78rem;letter-spacing:2px;text-transform:uppercase;color:#8f8581}

/* modal */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(58,50,48,.55);z-index:100;align-items:center;justify-content:center;padding:20px}
.modal-bg.open{display:flex}
.modal{background:#fff;border-radius:20px;max-width:440px;width:100%;padding:40px 34px;text-align:center}
.modal h3{font-family:'Fraunces',Georgia,serif;font-size:1.5rem;margin-bottom:10px}
.modal p{color:var(--muted);font-size:.95rem;margin-bottom:20px}
.modal input{width:100%;padding:13px 16px;border:2px solid var(--blush-deep);border-radius:12px;font-size:1rem;margin-bottom:12px}
.modal .btn{width:100%;border:none;cursor:pointer}
.fine{font-size:.78rem;color:var(--muted);margin-top:14px}

@media(max-width:640px){.hero{padding:60px 0 52px}.section{padding:52px 0}}
