
:root{
  --bg:#f5efe9;
  --bg-2:#efe6dc;
  --paper:#fff;
  --text:#2e2a27;
  --muted:#6b6966;
  --brand:#b58b6b;
  --brand-2:#d9c1aa;
  --shadow: 0 10px 25px rgba(0,0,0,.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
h1,h2,h3{font-family:"Playfair Display", Georgia, serif; margin:0 0 .6rem}
h1{font-size:clamp(32px,5vw,56px); line-height:1.1}
h2{font-size:clamp(24px,3.6vw,38px)}
h3{font-size:clamp(18px,2.2vw,24px)}

p{margin:.5rem 0 1rem}
a{color:var(--text); text-decoration:none}
.container{width:min(1100px,92%); margin:0 auto}

.site-header{
  position:sticky; top:0; z-index:10; background:rgba(245,239,233,.9);
  backdrop-filter:saturate(1.2) blur(6px); border-bottom:1px solid rgba(0,0,0,.05);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:.6rem 0}
.logo{height:40px; width:auto; border-radius:6px; object-fit:contain; background:#eee}
.logo.small{height:32px}
.brand{display:flex; align-items:center; gap:.6rem; font-weight:600}
.brand-text{white-space:nowrap}
.nav a{margin-left:1rem; font-weight:500}
.nav a:hover{opacity:.8}

.hero{
  position:relative; min-height:72vh; display:flex; align-items:center;
  background:var(--bg-2); overflow:hidden;
}
.hero::before{
  content:""; position:absolute; inset:0; background:var(--hero-image) center/cover no-repeat;
  filter:saturate(.9) contrast(.95);
}
.hero-overlay{position:absolute; inset:0; background:linear-gradient(to top, rgba(245,239,233,.75), rgba(245,239,233,.25));}
.hero-content{position:relative; padding:6rem 0}
.lead{font-size:clamp(16px,1.6vw,20px); color:var(--muted)}

.btn{
  display:inline-block; padding:.9rem 1.2rem; border-radius:999px; background:var(--text);
  color:#fff; font-weight:600; box-shadow:var(--shadow);
}
.btn:hover{transform:translateY(-1px)}
.btn-secondary{background:#fff; color:var(--text); border:1px solid rgba(0,0,0,.08)}

.section{padding:4rem 0; background:var(--bg)}
.section.alt{background:var(--bg-2)}
.eyebrow{letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--muted); margin-bottom:.5rem}
.section-title{margin-bottom:2rem}

.services-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}
.service-card{background:var(--paper); border-radius:18px; padding:1rem 1rem 1.25rem; box-shadow:var(--shadow)}
.service-card .arch{
  position:relative; border-radius:50% 50% 0 0 / 60% 60% 0 0; overflow:hidden; height:260px; background:#ddd;
}
.service-card .arch img{width:100%; height:100%; object-fit:cover}
.service-card h3{margin-top:1rem}
.link{font-weight:600}
.link:hover{opacity:.8}

.feature-split{padding:4rem 0}
.split-inner{display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center}
.split-media img{width:100%; border-radius:22px; box-shadow:var(--shadow)}
.split-text .btn{margin-top:1rem}

.popular-grid{
  display:grid; grid-template-columns:repeat(5,1fr); gap:1rem;
}
.popular-item{background:var(--paper); border-radius:12px; overflow:hidden; box-shadow:var(--shadow)}
.popular-item img{width:100%; aspect-ratio:4/5; object-fit:cover; display:block}
.popular-item figcaption{padding:.75rem; text-align:center; font-weight:600}

.about-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center}
.about-media img{width:100%; border-radius:20px; box-shadow:var(--shadow)}
.muted{color:var(--muted)}
.tiny{font-size:.85rem}

.cta{padding:5rem 0; background:linear-gradient(180deg, var(--bg-2), var(--bg));}
.cta-card{background:var(--paper); border-radius:20px; padding:2rem; box-shadow:var(--shadow); text-align:center}
.contact-form{margin-top:1rem}
.form-row{display:flex; gap:1rem; margin-bottom:1rem}
input, textarea{
  width:100%; padding:.9rem 1rem; border-radius:12px; border:1px solid rgba(0,0,0,.08);
  background:#fff; outline:none;
}
input:focus, textarea:focus{border-color:var(--brand)}
button{cursor:pointer}

.site-footer{background:var(--bg-2); padding:2.5rem 0 1rem}
.footer-inner{display:grid; grid-template-columns:2fr 1fr 1fr; gap:1.5rem}
.footer-col h4{margin:0 0 .6rem}
.footer-col ul{list-style:none; padding:0; margin:0}
.footer-col li{margin:.4rem 0}
.footer-bottom{padding-top:1rem; border-top:1px solid rgba(0,0,0,.06); text-align:center}

@media (max-width: 980px){
  .services-grid{grid-template-columns:1fr 1fr}
  .popular-grid{grid-template-columns:repeat(3,1fr)}
  .split-inner, .about-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .nav{display:none}
  .popular-grid{grid-template-columns:repeat(2,1fr)}
  .service-card .arch{height:220px}
  .form-row{flex-direction:column}
}
