
:root{
  --cream:#fffdf7;
  --navy:#1f3344;
  --ink:#2a2f36;
  --gold:#c29a5b;
  --line:#efe7da;
  --muted:#6b6f75;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.theme-cream{font-family:'Lora', Georgia, serif;color:var(--ink);background:var(--cream);line-height:1.7}
h1,h2,h3,h4{font-family:'Playfair Display', Georgia, serif;color:var(--navy);line-height:1.2}
a{color:var(--navy);text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 20px}

/* Header */
.header{position:sticky;top:0;z-index:60;background:rgba(255,253,247,.9);backdrop-filter: blur(6px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:1rem;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700}
.logo{width:36px;height:36px;object-fit:contain}
.nav-links{display:flex;gap:1rem;align-items:center}
.nav-links .cta{background:var(--gold);color:white;padding:.45rem .7rem;border-radius:.6rem}
.phone-badge{margin-left:auto;background:#ffffff;border:1px solid var(--line);border-radius:.6rem;padding:.35rem .6rem;font-weight:700}
.hamburger{display:none;background:none;border:0;cursor:pointer;padding:.5rem}
.hamburger span{display:block;width:22px;height:2px;background:var(--navy);margin:5px 0;border-radius:3px}

/* Full hero slideshow with overlay */
.hero-full{position:relative;width:100%;height:68vh;min-height:420px;border-bottom:1px solid var(--line)}
.slides{position:absolute;inset:0;overflow:hidden}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .6s ease}
.slide.active{opacity:1}
.slide::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(31,51,68,.35), rgba(31,51,68,.15))}
.caption{position:absolute;left:22px;bottom:18px;color:#fff;background:rgba(0,0,0,.25);padding:.35rem .6rem;border-radius:.5rem;font-size:.9rem}

.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;padding:0 20px}
.overlay h1{color:#fff;font-size:clamp(30px,4.8vw,56px);text-shadow:0 2px 12px rgba(0,0,0,.25)}
.overlay p{max-width:860px;color:#f0f4f8;text-shadow:0 1px 8px rgba(0,0,0,.22)}
.actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}
.btn{display:inline-block;font-weight:700;padding:.7rem 1rem;border-radius:.65rem;border:1px solid #fff;color:#fff}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#081018}
.btn-outline{background:transparent;color:#fff;border-color:#fff}

.dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:5}
.dot{width:8px;height:8px;border-radius:50%;background:#ffffffaa;border:1px solid #ddd}
.dot.active{background:#fff}

/* Sections */
.page{padding:32px 0 56px}
.why{padding:22px 0 40px}
.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.list-check{list-style:none;padding:0}
.list-check li{position:relative;padding-left:1.6rem;margin:.35rem 0}
.list-check li::before{content:'✓';position:absolute;left:.25rem;top:0;color:#7a8b7b;font-weight:700}

/* Footer */
.footer{border-top:1px solid var(--line);background:#fffdf7}
.subfooter{display:flex;align-items:center;justify-content:space-between;padding:14px 0;color:var(--muted)}

@media (max-width: 950px){
  .nav-links{display:none}
  .hamburger{display:block}
  .columns{grid-template-columns:1fr}
  .hero-full{height:60vh;min-height:360px}
}
