
:root{
  --ink:#20212a; --muted:#6e707b; --plum:#6e315b; --plum-dark:#4d2141;
  --rose:#f5e8ef; --cream:#fbf8f5; --line:#eadfe5; --gold:#c49b62;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff}
a{color:var(--plum)}
.navbar{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand-mark{width:42px;height:42px;border-radius:50%;display:inline-grid;place-items:center;background:var(--rose);color:var(--plum);font-size:1.15rem}
.navbar-brand{font-weight:750;letter-spacing:-.03em;color:var(--ink)}
.nav-link{font-weight:600;color:#555!important}
.nav-link:hover{color:var(--plum)!important}
.btn-plum{background:var(--plum);border-color:var(--plum);color:white;border-radius:999px;padding:.8rem 1.35rem;font-weight:650}
.btn-plum:hover{background:var(--plum-dark);border-color:var(--plum-dark);color:white}
.btn-outline-plum{border:1px solid var(--plum);color:var(--plum);border-radius:999px;padding:.8rem 1.35rem;font-weight:650}
.btn-outline-plum:hover{background:var(--plum);color:white}
.hero{background:linear-gradient(120deg,#fbf6f8 0%,#f8eef3 58%,#f5e8ef 100%);padding:5.5rem 0 4.5rem;overflow:hidden}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--plum);font-size:.76rem;font-weight:800}
.hero h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.04;letter-spacing:-.055em;font-weight:800;max-width:650px}
.hero p.lead{color:#66616a;max-width:560px;line-height:1.75}
.hero-photo{width:100%;height:470px;object-fit:cover;border-radius:48% 48% 18px 18px;box-shadow:0 25px 65px #522a3b25}
.hero-bubble{position:absolute;bottom:22px;left:-22px;background:white;padding:1rem 1.25rem;border-radius:16px;box-shadow:0 12px 35px #40203018;font-weight:650}
.section-pad{padding:5rem 0}
.section-soft{background:var(--cream)}
.section-title{font-weight:800;letter-spacing:-.04em;font-size:clamp(2rem,3vw,3rem)}
.section-copy{color:var(--muted);line-height:1.8}
.feature-card{height:100%;padding:1.6rem;border:1px solid var(--line);border-radius:18px;background:white;transition:.2s}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #38202b10}
.feature-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--rose);color:var(--plum);font-size:1.25rem}
.gallery-img{width:100%;height:330px;object-fit:cover;border-radius:20px}
.image-note{font-size:.9rem;color:var(--muted);margin-top:.85rem}
.cta-band{background:var(--plum-dark);color:#fff;border-radius:26px;padding:3rem}
.cta-band p{color:#eadce5}
.site-footer{background:#211a20;color:#fff;padding:3.5rem 0 1.5rem}
.site-footer p,.site-footer li{color:#d4cbd1}
.site-footer a{color:#f2dce8;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-heading{font-weight:750;margin-bottom:1rem}
.footer-bottom{border-top:1px solid #ffffff22;margin-top:2rem;padding-top:1.2rem;color:#bfb4bb;font-size:.88rem}
.legal-hero{background:var(--cream);padding:4rem 0}
.legal-content{max-width:900px}
.legal-content h2{font-size:1.25rem;font-weight:750;margin-top:2rem}
.legal-content p,.legal-content li{color:#555963;line-height:1.8}
.legal-content .updated{color:var(--muted);font-size:.9rem}
@media(max-width:767px){
 .hero{padding:4rem 0 3rem}.hero-photo{height:360px;margin-top:2rem}.hero-bubble{left:8px}
 .section-pad{padding:3.5rem 0}.gallery-img{height:260px}.cta-band{padding:2rem}
}
