
:root{
  --bg:#F9F6F2; --cream:#FFF9F5; --accent:#E7D9C9; --gold:#D6BFA6; --text:#3E3E3E; --muted:#6E645B;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial;line-height:1.6}
h1,h2,h3,h4{font-family:'Playfair+Display','Playfair Display',Georgia,serif;margin:0 0 .6rem}
p{margin:0 0 1rem}
a{color:var(--muted);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(249,246,242,.92);backdrop-filter:saturate(120%) blur(6px);border-bottom:1px solid rgba(0,0,0,.06)}
.header-inner{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:10px 0}
.logo img{height:55px;width:auto;display:block;opacity:.98}
.main-nav ul{list-style:none;display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start;padding:0;margin:0}
.main-nav a{padding:8px 10px;border-radius:8px}
.main-nav a.active,.main-nav a:hover{background:var(--accent);color:var(--text);text-decoration:none}
.cta .btn{margin-left:8px}
.btn{display:inline-block;padding:12px 20px;border-radius:10px;transition:all .25s ease}
.btn.outline.gold{border:1.5px solid var(--gold);color:var(--text);background:transparent;box-shadow:0 0 0 rgba(214,191,166,0)}
.btn.outline.gold:hover{box-shadow:0 0 22px rgba(214,191,166,.55), 0 0 3px rgba(214,191,166,.8);text-decoration:none}
.section{padding:78px 0}
.section.alt{background:var(--cream)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.card{background:white;border-radius:12px;padding:22px;box-shadow:0 6px 20px rgba(0,0,0,.04)}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--accent);color:var(--text);font-size:.85rem}
.hero{background:linear-gradient(rgba(255,255,255,.92),rgba(249,246,242,.96)); padding:48px 0}
.hero .hero-grid{display:grid;grid-template-columns: 1.05fr 1fr;gap:34px;align-items:center}
.hero .hero-copy{text-align:left}
.hero .hero-copy h1{font-size:clamp(34px,5vw,56px)}
.hero .lead{font-size:1.12rem;max-width:680px;opacity:.9}
.hero .hero-media img{width:100%;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.07)}
.site-footer{background:var(--accent);margin-top:30px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;padding:38px 0}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li{margin:.35rem 0}
.socials .icon{margin-right:10px}
.copyright{text-align:center;padding:14px;border-top:1px solid rgba(0,0,0,.08);color:#2d2d2d;font-size:.9rem}
.form{display:grid;gap:12px;max-width:640px}
input,textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid #ddd;background:#fff}
.reveal{opacity:0;transform:translateY(14px);transition:all .7s cubic-bezier(.2,.6,.2,1)}
.reveal.visible{opacity:1;transform:none}
.parallax{transform:translateY(0);will-change:transform}
@media (max-width: 900px){
  .hero .hero-grid{grid-template-columns:1fr;gap:18px}
  .hero .hero-media{order:-1}
}
.hero img {
  width: 45%;
}

@media (max-width: 768px) {
  .hero img {
    width: 70%;
  }
}