*{box-sizing:border-box}
:root{--rose:#b48a78;--rose-dark:#9a6f5d;--cream:#fff8f5;--ink:#2f2a28}
html{scroll-behavior:smooth}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;line-height:1.65;color:var(--ink);background:#fff}
a{color:var(--rose-dark);text-decoration:none} a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin:0 auto}
.hidden{display:none !important}
.nav{position:sticky;top:0;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.06);z-index:50}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--rose-dark)}
.brand-logo{height:80px;width:auto;display:block}
@media (max-width:520px){.brand span{display:none}}
.nav-links{display:flex;gap:1rem;align-items:center}
.nav .btn{background:var(--rose);color:#fff;border-radius:999px;padding:.6rem 1rem}
.nav .btn:hover{background:var(--rose-dark);text-decoration:none}
.hero{position:relative;min-height:70vh;display:grid;place-items:center;background:center/cover no-repeat}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.4))}
.hero-content{position:relative;text-align:center;color:#fff;padding:3rem 0}
.hero h1{font-size:clamp(28px,5vw,56px);margin:.25rem 0 0}
.hero-logo{height:90px;width:auto;display:inline-block;opacity:.95;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));margin-bottom:.25rem}
.tagline{font-size:clamp(16px,2.8vw,22px);opacity:.95;margin:.25rem 0 1rem}
.btn{display:inline-block;border:none;cursor:pointer}
.btn-primary{background:var(--rose);color:#fff;border-radius:999px;padding:.8rem 1.2rem;font-weight:600}
.btn-primary:hover{background:var(--rose-dark)}
.section{padding:64px 0}
.section.alt{background:var(--cream)}
h2{font-size:clamp(22px,3vw,32px);color:var(--rose-dark);margin:0 0 1rem}
.list{margin:0;padding-left:1.2rem}
.grid-2{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media(min-width:820px){.grid-2{grid-template-columns:1fr 1fr}}
.card{background:#fff;border:1px solid #eee;border-radius:14px;padding:1rem;box-shadow:0 6px 18px rgba(0,0,0,.06)}
.quotes{display:grid;gap:1rem}
blockquote{margin:0;padding:1rem 1.2rem;background:#fff;border-left:4px solid var(--rose);border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.05)}
blockquote span{display:block;margin-top:.5rem;color:#6b6b6b}
.gallery{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:14px;box-shadow:0 6px 16px rgba(0,0,0,.06);transition:transform .2s ease}
.gallery a:hover img{transform:scale(1.01)}
details{border:1px solid #eee;border-radius:12px;padding:.75rem 1rem;background:#fff;margin:.6rem 0;box-shadow:0 6px 16px rgba(0,0,0,.04)}
.form-grid{display:grid;gap:.6rem;grid-template-columns:1fr}
@media(min-width:640px){.form-grid{grid-template-columns:1fr 1fr}}
input,textarea{width:100%;padding:.7rem;border:1px solid #ddd;border-radius:10px;font:inherit}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--rose);color:#fff;padding:.8rem 1rem;border-radius:12px;opacity:0;transition:opacity .2s ease}
.toast.show{opacity:1}
.footer{background:#111;color:#ddd}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0}
.footer a{color:#fff;text-decoration:underline}


/* Mobile nav fit fix */
@media (max-width: 480px){
  .nav-inner{flex-wrap:wrap; row-gap:.4rem}
  .nav-links{flex-wrap:wrap; gap:.6rem; font-size:14px}
  .nav .btn{padding:.45rem .7rem; border-radius:999px}
  .nav .btn .short{display:inline}
  .nav .btn .long{display:none}
}
@media (min-width: 481px){
  .nav .btn .short{display:none}
  .nav .btn .long{display:inline}
}


/* Mobile header improvements */
.hamburger{display:none;background:#fff;border:1px solid #e7e2e0;border-radius:10px;font-size:22px;line-height:1;padding:.45rem .6rem;color:#5a4a44}
.nav{position:sticky;top:0;background:#fff;z-index:1000;border-bottom:1px solid #f0ecea}
@media (max-width: 640px){
  .nav-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center}
  .brand{justify-self:start}
  .hamburger{display:block;justify-self:end}
  .nav-links{display:none;position:absolute;left:0;right:0;top:60px;background:#fff;border-bottom:1px solid #f0ecea;box-shadow:0 14px 24px rgba(0,0,0,.08);padding:.8rem 1rem;gap:.8rem;z-index:999}
  .nav-links.open{display:flex;flex-wrap:wrap;justify-content:center}
  .nav-links a{padding:.5rem .7rem}
  .nav .btn{padding:.55rem 1rem}
  .nav .btn .short{display:none}
  .nav .btn .long{display:inline}
}
