:root{
  --cream:#fbf5f2; --blush:#f3dcd6; --rose:#c9877f; --rose-d:#a5645d;
  --mauve:#8c6a7a; --ink:#3a2b30; --muted:#7b6a6f; --line:#ead5cf;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Jost",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:22px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--cream);line-height:1.6;font-size:17px;
  /* keep bottom clear for Netlify badge */
  padding-bottom:calc(76px + env(safe-area-inset-bottom))}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;margin:0}
em{font-style:italic;color:var(--rose-d)}
[hidden]{display:none!important}

.eyebrow{font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--mauve);margin:0 0 .9rem;font-weight:400}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.9rem;border-radius:999px;
  background:linear-gradient(135deg,var(--rose),var(--rose-d));color:#fff;text-decoration:none;font-weight:400;letter-spacing:.06em;
  box-shadow:0 10px 26px -10px rgba(165,100,93,.65);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(165,100,93,.75)}
.btn:focus-visible{outline:3px solid var(--mauve);outline-offset:3px}
.btn-sm{min-height:40px;padding:0 1.2rem;font-size:.9rem}
.btn-ghost{background:transparent;color:var(--rose-d);box-shadow:inset 0 0 0 1.5px var(--rose)}
.btn-ghost:hover{background:#fff}

/* nav */
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.7rem 1.25rem;background:rgba(251,245,242,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(234,213,207,.7)}
.brand{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--ink);text-decoration:none;margin:0}
.brand em{font-weight:500}

/* hero */
.hero{position:relative;overflow:hidden;padding:4.5rem 1.25rem 5rem;text-align:center;
  background:radial-gradient(120% 80% at 50% 0%,#fff 0%,var(--cream) 45%,var(--blush) 100%)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(28px);opacity:.8;pointer-events:none}
.orb-a{width:340px;height:340px;top:-120px;right:-140px;background:radial-gradient(circle at 30% 30%,#fbe3dd,#e7b3aa 60%,transparent 72%)}
.orb-b{width:300px;height:300px;bottom:-140px;left:-130px;background:radial-gradient(circle at 60% 40%,#efdbe6,#c9a5b8 60%,transparent 72%)}
.hero-inner{position:relative;max-width:720px;margin:0 auto}
.hero h1{font-size:clamp(3.4rem,15vw,7.2rem);letter-spacing:-.01em}
.hero h1 span{font-style:italic;color:var(--rose-d);font-size:.62em;display:inline-block;margin-top:.15em}
.lede{font-size:1.15rem;margin:1.4rem auto .9rem;color:var(--ink);max-width:28ch}
.hero-facts{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.7rem;margin:0 0 2rem;color:var(--muted);font-size:.98rem}
.hero-facts strong{color:var(--rose-d);font-weight:500}
.dot{width:5px;height:5px;border-radius:50%;background:var(--rose)}

/* sections */
.section{padding:4.5rem 1.25rem;max-width:1080px;margin:0 auto}
.section>h2{font-size:clamp(2.3rem,8vw,3.4rem);margin-bottom:2.2rem}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.steps li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.5rem}
.num{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--rose)}
.steps h3{font-size:1.65rem;margin:.3rem 0 .4rem}
.steps p{margin:0;color:var(--muted)}

/* info cards */
.info{display:grid;gap:1rem;padding-top:0}
.card{border-radius:var(--r);padding:2rem 1.6rem;border:1px solid var(--line)}
.card p{margin:0;color:var(--muted)}
.card .eyebrow{color:var(--mauve);margin-bottom:1.4rem}
.card-price{background:linear-gradient(150deg,#fff 0%,#fbe9e4 100%)}
.card-hours{background:linear-gradient(150deg,#fff 0%,#f1e4ec 100%)}
.big{font-family:var(--serif);font-size:4rem!important;line-height:1;color:var(--ink)!important;margin:0 0 .8rem!important}
.big small{display:block;margin-top:.2rem;font-family:var(--sans);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.big-hours{font-size:3.2rem!important}
.big-hours span{color:var(--rose)}

/* gallery */
.gallery{--cols:2;--gap:.6rem;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap)}
.gallery figure{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));margin:0;border-radius:16px;overflow:hidden;aspect-ratio:1;background:var(--blush)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery figure:hover img{transform:scale(1.04)}
.gallery[data-count="1"]{--cols:1;max-width:520px;margin:0 auto}
.gallery[data-count="1"] figure{aspect-ratio:4/5}

/* CTA */
.cta{padding-top:1rem;padding-bottom:5rem}
.cta-inner{text-align:center;border-radius:calc(var(--r) + 8px);padding:3.5rem 1.4rem;color:#fff;
  background:radial-gradient(120% 120% at 0% 0%,#d89a90 0%,transparent 55%),radial-gradient(120% 120% at 100% 100%,#9a7489 0%,transparent 60%),linear-gradient(135deg,#c9877f,#a5645d)}
.cta .eyebrow{color:rgba(255,255,255,.8)}
.cta h2{font-size:clamp(2.4rem,9vw,3.6rem);margin-bottom:1rem}
.cta h2 em{color:#fff3ef}
.cta p{margin:0 auto;max-width:34ch;opacity:.92}
.cta-actions{display:flex;flex-direction:column;gap:.75rem;align-items:center;margin-top:1.8rem}
.cta-actions:empty{display:none}
.cta .btn{background:#fff;color:var(--rose-d);box-shadow:0 10px 26px -12px rgba(0,0,0,.35);width:100%;max-width:300px}
.cta .btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.85)}
.cta-note{margin-top:1.6rem!important;display:inline-block;padding:.55rem 1.2rem;border-radius:999px;background:rgba(255,255,255,.16);font-size:.95rem}

/* footer */
.footer{text-align:center;padding:2.5rem 1.25rem 1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}
.footer p{margin:.2rem 0}
.footer .brand{font-size:1.5rem;margin-bottom:.5rem}
.fine{font-size:.8rem;opacity:.8;margin-top:1rem!important}

@media (min-width:720px){
  .nav{padding:.9rem 2.5rem}
  .hero{padding:7.5rem 2rem 8rem}
  .orb-a{width:560px;height:560px;top:-200px;right:-160px}
  .orb-b{width:480px;height:480px;bottom:-220px;left:-140px}
  .section{padding:6rem 2.5rem}
  .steps{grid-template-columns:repeat(3,1fr);gap:1.25rem}
  .info{grid-template-columns:1fr 1fr;padding-top:0}
  .card{padding:2.6rem 2.4rem}
  .gallery{--cols:3;--gap:.9rem}
  .gallery[data-count="2"],.gallery[data-count="4"]{--cols:2;max-width:820px;margin:0 auto}
  .gallery[data-count="8"]{--cols:4}
  .cta-inner{padding:5rem 2rem}
  .cta-actions{flex-direction:row;justify-content:center}
  .cta .btn{width:auto}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.gallery img{transition:none}}
