:root{
  --brand:#B76E79; --brand-2:#F8EAEA; --brand-3:#E7C9BF; --ink:#1b1b1b; --muted:#6c757d;
}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink)}
h1,h2,h3,.display-5,.display-6{font-family:"Playfair Display",Georgia,serif}
.navbar-brand{font-family:"Playfair Display",Georgia,serif;letter-spacing:.5px}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-brand:hover{filter:brightness(.95)}
.text-brand{color:var(--brand)!important}
.bg-wash{background:var(--brand-2)}
.shadow-soft{box-shadow:0 6px 24px rgba(0,0,0,.08)}
.badge-soft{background:rgba(183,110,121,.12);color:#8a4e57}
.nav-link{font-weight:500}
#siteNav{background:transparent}
.navbar.scrolled{background:#fff!important;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.hero{background:radial-gradient(1200px 600px at 80% -10%, rgba(183,110,121,.20), transparent 60%),linear-gradient(180deg,#fff 0%,#fff 50%,#fdf7f8 100%)}
.hero-img{width:100%;max-height:450px;object-fit:cover;border-radius:1rem}
.hero-actions{flex-wrap:wrap}
.gallery img{object-fit:cover;aspect-ratio:1/1;border-radius:1rem;transition:transform .25s ease, opacity .4s ease}
.gallery-trigger{display:block;width:100%;padding:0;border:0;background:transparent}
.gallery-trigger:hover img,.gallery-trigger:focus-visible img{transform:scale(1.02)}
.gallery-trigger:focus-visible{outline:3px solid rgba(183,110,121,.45);outline-offset:4px;border-radius:1rem}
.step{position:relative;padding-left:3.25rem}
.step .num{position:absolute;left:0;top:-.25rem;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700}
footer a{color:inherit}

/* Fade-in polish */
.fade-in{opacity:0; transform:translateY(6px)}
.fade-in.is-visible{opacity:1; transform:none}
.no-js .fade-in{opacity:1; transform:none}

@media (prefers-reduced-motion:reduce){
  .gallery img{transition:none}
  .fade-in{opacity:1; transform:none}
}

@media (max-width:420px){
  .hero-actions .btn{width:100%}
}
