:root {
  --cream: #f8f3eb;
  --sand: #e8d8c4;
  --sand-deep: #c6a983;
  --gold: #b98a49;
  --brown: #5b4634;
  --ink: #2c241e;
  --white: #fffdf9;
  --shadow: 0 18px 55px rgba(91,70,52,.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: "Manrope", sans-serif;
  line-height: 1.75;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
.site-header {
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 6vw;
  background: rgba(248,243,235,.9);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(91,70,52,.08);
}
.brand { display: flex; gap: 10px; align-items: center; font-family: "Cormorant Garamond"; font-size: 1.55rem; font-weight: 700; }
.brand-mark { color: var(--gold); }
.nav { display: flex; align-items: center; gap: 26px; font-size: .91rem; }
.nav a:hover { color: var(--gold); }
.nav-cta { padding: 10px 18px; border: 1px solid var(--gold); border-radius: 999px; }
.menu-toggle { display: none; background: none; border: 0; font-size: 1.5rem; }
.section { padding: 110px 7vw; }
.hero {
  min-height: 88vh;
  display: grid; grid-template-columns: 1.1fr .9fr;
  align-items: center; gap: 7vw;
  position: relative; overflow: hidden;
}
.hero-content { position: relative; z-index: 2; }
.eyebrow {
  color: var(--gold); text-transform: uppercase; letter-spacing: .18em;
  font-size: .75rem; font-weight: 600; margin-bottom: 18px;
}
h1,h2,h3 { font-family: "Cormorant Garamond", serif; margin-top: 0; line-height: 1.05; }
h1 { font-size: clamp(4.2rem, 9vw, 8rem); font-weight: 600; margin-bottom: 24px; }
h1 em { color: var(--gold); font-weight: 600; }
h2 { font-size: clamp(2.8rem, 5vw, 5rem); font-weight: 600; margin-bottom: 25px; }
h3 { font-size: 2rem; margin-bottom: 10px; }
.hero-text { max-width: 650px; font-size: 1.22rem; color: var(--brown); }
.hero-actions,.booking-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 32px; }
.button { display: inline-flex; align-items: center; justify-content: center; padding: 15px 24px; border-radius: 999px; font-weight: 600; transition: .25s ease; }
.button.primary { background: var(--brown); color: var(--white); }
.button.primary:hover { transform: translateY(-2px); background: var(--gold); }
.button.ghost { border: 1px solid rgba(91,70,52,.25); }
.hero-card {
  position: relative; z-index: 2;
  min-height: 460px; padding: 60px;
  background: linear-gradient(145deg, rgba(255,253,249,.92), rgba(232,216,196,.78));
  border: 1px solid rgba(185,138,73,.25);
  box-shadow: var(--shadow);
  border-radius: 48% 48% 18px 18px;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  text-transform: uppercase; letter-spacing: .2em; font-size: .72rem;
}
.hero-card span { color: var(--gold); }
.sun-symbol { font-size: 5rem; color: var(--gold); line-height: 1; margin-bottom: 30px; }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .45; }
.glow-one { width: 430px; height: 430px; background: #e6cda9; top: -160px; right: -80px; }
.glow-two { width: 300px; height: 300px; background: #f3e3cf; bottom: -100px; left: -50px; }
.section-heading { max-width: 900px; margin-bottom: 50px; }
.section-heading.centered { text-align: center; margin-left: auto; margin-right: auto; }
.section-heading > p:last-child { color: var(--brown); }
.intro { background: var(--white); }
.intro-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.intro-copy { font-size: 1.14rem; color: var(--brown); }
.pillars { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.pillar { padding: 30px; background: var(--cream); border-radius: 20px; }
.pillar span { color: var(--gold); font-size: .8rem; }
.pillar p { margin-bottom: 0; }
.services { background: #f2e8db; }
.service-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; max-width: 1200px; margin: auto; }
.service-card { padding: 44px; background: rgba(255,253,249,.86); border: 1px solid rgba(185,138,73,.15); border-radius: 24px; transition: .25s ease; }
.service-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.service-icon { font-size: 2.2rem; color: var(--gold); margin-bottom: 18px; }
.service-card a { display: inline-flex; gap: 9px; margin-top: 16px; font-weight: 600; color: var(--gold); }
.about { display: grid; grid-template-columns: .9fr 1.1fr; gap: 8vw; align-items: center; background: var(--white); }
.portrait-placeholder { aspect-ratio: 4/5; border-radius: 220px 220px 20px 20px; background: linear-gradient(145deg,#e6d2b9,#f7efe4); display:grid; place-items:center; color: var(--brown); letter-spacing:.14em; text-transform:uppercase; font-size:.78rem; box-shadow:var(--shadow); }
.about-note { margin: -25px auto 0; width: 80%; position: relative; background: var(--brown); color: var(--white); padding: 18px 24px; text-align: center; border-radius: 14px; }
.about-copy p { color: var(--brown); }
.signature { font-family:"Cormorant Garamond"; font-size:3rem; color:var(--gold); margin-top:20px; }
.reasons { background: var(--cream); }
.reason-cloud { display:flex; flex-wrap:wrap; gap:14px; }
.reason-cloud span { padding: 13px 19px; background: var(--white); border:1px solid rgba(91,70,52,.12); border-radius:999px; }
.process { background: var(--brown); color: var(--white); }
.process .eyebrow { color: #e7c795; }
.timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.step { padding: 30px 24px; border-top:1px solid rgba(255,255,255,.25); }
.step span { color:#e7c795; }
.step p { color:rgba(255,255,255,.75); }
.faq { background: var(--white); }
.accordion { max-width: 900px; }
details { border-bottom:1px solid rgba(91,70,52,.18); padding:22px 0; }
summary { cursor:pointer; font-family:"Cormorant Garamond"; font-size:1.8rem; font-weight:600; }
details p { color:var(--brown); max-width:760px; }
.booking { background: linear-gradient(135deg,#b98a49,#7f5e3b); color:var(--white); }
.booking-inner { max-width: 900px; }
.booking .eyebrow { color:#f7dfb8; }
.button.light { background: var(--white); color: var(--brown); }
.contact-link { display:inline-flex; align-items:center; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.4); }
.small-note { color:rgba(255,255,255,.7); font-size:.85rem; }
footer { padding:45px 7vw; background:#241d18; color:rgba(255,255,255,.8); display:grid; gap:18px; }
footer strong { font-family:"Cormorant Garamond"; font-size:1.7rem; color:white; }
.legal { max-width:1000px; font-size:.78rem; }
.reveal { opacity:0; transform:translateY(24px); transition: .75s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 900px) {
  .menu-toggle { display:block; }
  .nav { display:none; position:absolute; top:72px; left:0; right:0; background:var(--cream); padding:24px 6vw; flex-direction:column; align-items:flex-start; box-shadow:var(--shadow); }
  .nav.open { display:flex; }
  .hero,.about,.intro-grid { grid-template-columns:1fr; }
  .hero { padding-top:80px; min-height:auto; }
  .hero-card { min-height:340px; }
  .timeline { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 650px) {
  .section { padding:80px 6vw; }
  h1 { font-size: clamp(3.7rem,18vw,5.2rem); }
  .service-grid,.pillars,.timeline { grid-template-columns:1fr; }
  .hero-actions,.booking-actions { flex-direction:column; align-items:stretch; }
  .button { width:100%; text-align:center; }
  .service-card { padding:32px 24px; }
  .hero-card { padding:38px; border-radius:42% 42% 18px 18px; }
}


.portrait-placeholder img{
width:100%;
height:100%;
object-fit:cover;
display:block;
border-radius:220px 220px 20px 20px;
}
