
:root{
  --rose:#b76e79;
  --rose-dark:#8e4d59;
  --rose-light:#f8e9eb;
  --cream:#fffaf7;
  --cream-2:#f6eee9;
  --ink:#332c2c;
  --muted:#756a68;
  --gold:#b6925a;
  --white:#fff;
  --shadow:0 18px 45px rgba(72,42,43,.10);
  --radius:22px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.7}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(var(--max),92%);margin:auto}
.topbar{background:#302829;color:#fff;text-align:center;padding:8px 15px;font:600 12px/1.4 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(255,250,247,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(100,60,60,.10)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{text-decoration:none;display:flex;align-items:center;gap:11px}
.brand-mark{font-size:29px;color:var(--rose)}
.brand-text strong{display:block;font-size:22px;line-height:1}
.brand-text small{display:block;font:600 10px/1.4 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:5px}
nav{display:flex;align-items:center;gap:23px;font:600 13px Arial,sans-serif}
nav a{text-decoration:none;color:#4d4242}
nav a:hover{color:var(--rose-dark)}
.nav-cta,.button{display:inline-block;background:var(--rose);color:#fff!important;border-radius:999px;padding:12px 19px;text-decoration:none;font:700 13px Arial,sans-serif;letter-spacing:.02em;box-shadow:0 8px 22px rgba(183,110,121,.22)}
.nav-cta:hover,.button:hover{background:var(--rose-dark)}
.button.secondary{background:transparent;color:var(--rose-dark)!important;border:1px solid rgba(142,77,89,.35);box-shadow:none}
.hero{min-height:650px;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;background:
linear-gradient(180deg,rgba(35,20,22,.20),rgba(35,20,22,.63)),
#d8bfc0}
.hero-content{width:min(850px,92%);color:white;padding:95px 0}
.eyebrow{font:700 12px Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.hero h1{font-size:clamp(48px,7vw,88px);line-height:.98;margin:18px 0 22px;font-weight:500}
.hero p{font-size:clamp(18px,2vw,23px);max-width:760px;margin:0 auto 30px}
.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.hero .button{background:#fff;color:#633f45!important}
.hero .button.secondary{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.7)}
.stats{background:#fff;box-shadow:var(--shadow);position:relative;margin:-45px auto 0;border-radius:var(--radius);width:min(1050px,92%);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.stat{padding:25px;text-align:center;border-right:1px solid #eee}
.stat:last-child{border:0}.stat strong{display:block;font-size:19px}.stat span{display:block;color:var(--muted);font:12px Arial,sans-serif;margin-top:4px}
section{padding:95px 0}
.section-head{text-align:center;max-width:760px;margin:0 auto 48px}
.kicker{font:700 11px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-dark)}
h2{font-size:clamp(34px,4vw,54px);line-height:1.05;font-weight:500;margin:10px 0 16px}
h3{font-size:26px;line-height:1.15;margin:12px 0}
.lead{font-size:18px;color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(80,50,50,.06)}
.card-image{aspect-ratio:4/3;background:linear-gradient(135deg,#ead4d5,#f8eee9);display:grid;place-items:center;overflow:hidden}
.card-image img{width:100%;height:100%;object-fit:cover}
.placeholder{padding:20px;text-align:center;color:#8b6f70;font:600 12px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.card-body{padding:26px}
.card-body p{color:var(--muted);margin:0 0 18px}
.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}
.feature.reverse .feature-image{order:2}
.feature-image{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:420px;background:linear-gradient(135deg,#e7cacc,#f4e7df);display:grid;place-items:center}
.feature-image img{width:100%;height:100%;object-fit:cover}
.checks{padding:0;margin:25px 0;list-style:none}.checks li{margin:11px 0;padding-left:27px;position:relative}.checks li:before{content:"♡";position:absolute;left:0;color:var(--rose);font-size:19px}
.band{background:var(--rose-light)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.step{text-align:center;background:#fff;padding:26px 18px;border-radius:18px}
.step-num{width:42px;height:42px;border-radius:50%;margin:0 auto 13px;background:var(--rose);color:#fff;display:grid;place-items:center;font:bold 14px Arial}
.step h3{font-size:19px}.step p{font-size:14px;color:var(--muted)}
.quote{font-size:28px;text-align:center;max-width:820px;margin:0 auto;font-style:italic}
.cta{background:linear-gradient(135deg,#6f414a,#b76e79);color:#fff;text-align:center;border-radius:30px;padding:65px 30px}
.cta p{max-width:650px;margin:0 auto 25px;opacity:.92}.cta .button{background:#fff;color:#633f45!important}
.page-hero{background:linear-gradient(135deg,#f1dfe0,#fff7f1);padding:85px 0;text-align:center}
.page-hero h1{font-size:clamp(42px,6vw,70px);line-height:1;margin:12px 0}
.page-hero p{max-width:720px;margin:auto;color:var(--muted);font-size:18px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#ead6d7;display:grid;place-items:center}.gallery-item img{width:100%;height:100%;object-fit:cover}
.price-box{max-width:700px;margin:auto;background:#fff;border-radius:28px;box-shadow:var(--shadow);padding:50px;text-align:center}.price{font-size:58px;color:var(--rose-dark);margin:10px 0}
.faq{max-width:820px;margin:auto}.faq details{background:#fff;border-radius:15px;margin:12px 0;padding:18px 22px;box-shadow:0 8px 25px rgba(72,42,43,.06)}.faq summary{cursor:pointer;font-weight:700}
footer{background:#302829;color:#eee;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-brand{font-size:25px}.footer-grid h4{margin:0 0 12px;color:#fff;font:700 12px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}.footer-grid a{text-decoration:none;color:#ddd;display:block;margin:7px 0;font:14px Arial,sans-serif}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:20px;text-align:center;color:#aaa;font:12px Arial,sans-serif}
@media(max-width:900px){.grid-3,.feature,.footer-grid{grid-template-columns:1fr}.feature.reverse .feature-image{order:0}.steps{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid #eee}.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hero{min-height:600px}.hero-content{padding:70px 0}.stats{grid-template-columns:1fr}.stat{border-right:0!important;border-bottom:1px solid #eee!important}.stat:last-child{border-bottom:0!important}.steps,.gallery{grid-template-columns:1fr}section{padding:70px 0}.price-box{padding:30px 20px}.brand-text strong{font-size:19px}}

/* The header stays at the top after the announcement scrolls away. */
.brand{flex-shrink:0}
#primary-navigation a{min-height:44px;display:inline-flex;align-items:center}
#primary-navigation a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.brand:focus-visible,.menu-toggle:focus-visible,#primary-navigation a:focus-visible{outline:3px solid var(--rose-dark);outline-offset:4px}
.menu-toggle{display:none;flex-shrink:0;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px;border:1px solid rgba(142,77,89,.35);border-radius:10px;background:var(--cream);color:var(--rose-dark);font:700 12px Arial,sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent}
.menu-toggle[hidden]{display:none}
.menu-icon{display:flex;flex-direction:column;justify-content:center;gap:4px;width:20px;height:20px}
.menu-icon span{display:block;width:20px;height:2px;background:currentColor;transition:transform .15s,opacity .15s}
.menu-open .menu-icon span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-open .menu-icon span:nth-child(2){opacity:0}
.menu-open .menu-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:1024px){
  .nav{min-height:72px;gap:12px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  #primary-navigation{width:100%;flex-direction:column;align-items:stretch;gap:4px;padding-bottom:12px}
  #primary-navigation a{padding:12px 16px;min-height:44px;border-radius:8px}
  #primary-navigation a:hover{background:var(--rose-light)}
  #primary-navigation .nav-cta{justify-content:center;margin-top:6px;border-radius:999px}
  #primary-navigation .nav-cta:hover{background:var(--rose-dark)}
  .nav-ready .nav{flex-wrap:nowrap}
  .nav-ready .menu-toggle{display:inline-flex}
  .nav-ready #primary-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 4% 20px;padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px));background:var(--cream);border-bottom:1px solid rgba(100,60,60,.15);box-shadow:0 14px 22px rgba(72,42,43,.12);max-height:calc(100vh - 160px);max-height:var(--menu-available-height,calc(100vh - 160px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .nav-ready.menu-open #primary-navigation{display:flex}
}
@media(max-width:360px){
  .brand{gap:7px}
  .brand-text strong{font-size:17px}
  .brand-text small{font-size:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-icon span{transition:none}}

/* Gentle display lighting for the two darker Second Life screenshots. */
.gallery-item img.gallery-lighting{filter:brightness(1.04)}
