
:root{
  --beige:#E8DCC9;
  --beige-light:#F4EEE5;
  --olive:#70735A;
  --olive-dark:#565842;
  --rust:#B96F4C;
  --rust-dark:#9D5A3C;
  --ink:#29281F;
  --cream:#FBF8F1;
  --line:rgba(41,40,31,.15);
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Manrope", Arial, sans-serif;
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--beige-light);color:var(--ink);font-family:var(--sans);line-height:1.7}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;background:rgba(244,238,229,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{font-family:var(--serif);font-size:1.55rem;font-weight:600;letter-spacing:.02em;display:flex;align-items:baseline;gap:14px}.brand small{font:600 .63rem var(--sans);letter-spacing:.08em;text-transform:uppercase;opacity:.55}
.nav{display:flex;gap:22px;align-items:center;font-size:.78rem;font-weight:600;letter-spacing:.02em}
.nav a{opacity:.78}
.nav a:hover{opacity:1}
.nav-cta{padding:10px 16px;border-radius:999px;background:var(--rust);color:white!important;opacity:1!important}
.menu-toggle{display:none;border:0;background:none;font-size:1.4rem}
.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;padding:7vw 7vw;background:var(--beige)}
.hero-copy{max-width:650px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;opacity:.62;margin:0 0 22px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.03;margin:0}
h1{font-size:clamp(3.4rem,6.4vw,6.8rem);letter-spacing:-.025em}
h2{font-size:clamp(2.6rem,4.6vw,5rem);letter-spacing:-.02em}
h3{font-size:2rem}
em{font-style:italic;font-weight:400}
.hero-sub{font-family:var(--serif);font-size:1.5rem;margin:28px 0 32px}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 25px;font:600 .82rem var(--sans);cursor:pointer;transition:.2s transform,.2s background}
.button:hover{transform:translateY(-2px)}
.button-rust{background:var(--rust);color:#fff}
.hero-image-wrap{height:min(78vh,780px);border-radius:180px 180px 28px 28px;overflow:hidden}
.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center}
.intro-section,.expect-section,.practical-section{display:grid;grid-template-columns:120px 1fr;gap:3vw;padding:10vw 10vw}
.section-number{font-size:.75rem;font-weight:700;letter-spacing:.15em;opacity:.45}
.narrow{max-width:900px}
.section-content>p:not(.eyebrow),.about-copy p,.who-copy p{font-size:1.08rem;max-width:760px}
.intro-section h2{max-width:950px;margin-bottom:42px}
.olive-section{background:var(--olive);color:var(--cream);padding:10vw}
.light-text{color:var(--cream)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:60px;background:rgba(255,255,255,.2)}
.card{background:var(--olive);padding:34px 28px;min-height:270px}
.card span{font-size:.72rem;opacity:.6}
.card h3{margin:60px 0 18px}
.card p{margin:0;color:rgba(251,248,241,.8);font-size:.92rem}
.about-section{background:var(--beige)}
.about-intro{display:grid;grid-template-columns:43% 57%;align-items:stretch}
.about-image{height:100%;min-height:760px}
.about-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.about-copy{padding:9vw 9vw 6vw 7vw}
.about-copy h2{margin-bottom:42px}
.about-copy blockquote{margin:42px 0;padding:25px 0 25px 28px;border-left:3px solid var(--rust);font:italic 2rem/1.25 var(--serif)}
.about-full{padding:3vw 15vw 9vw}
.about-full p{max-width:1050px;margin-left:auto;margin-right:auto;font-size:1.08rem}
.about-copy strong{font-weight:700}
.expect-section{background:var(--cream)}
.expect-section h2{max-width:900px}
.expect-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:65px;border-top:1px solid var(--line)}
.expect-grid>div{padding:30px 35px 35px 0;border-bottom:1px solid var(--line)}
.expect-grid>div:nth-child(even){padding-left:35px;border-left:1px solid var(--line)}
.expect-grid h3{margin-bottom:10px}
.expect-grid p{margin:0;max-width:450px}
.who-section{background:var(--beige)}
.who-heading{padding:9vw 9vw 4vw;max-width:1280px;margin:0 auto}
.who-heading h2{max-width:1120px;margin-bottom:0}
.who-lower{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.who-copy{padding:3vw 7vw 9vw}
.small-note{font-size:.78rem!important;opacity:.58;margin-top:38px}
.room-image{min-height:520px;display:flex;align-items:center;justify-content:center;padding:3vw 6vw 8vw}
.room-image-card{width:min(68%,500px);border-radius:28px;overflow:hidden;box-shadow:0 22px 45px rgba(41,40,31,.16);border:8px solid rgba(255,255,255,.42)}
.room-image-card img{width:100%;height:auto;display:block}
.practical-section{background:var(--beige-light)}
.practical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:65px}
.fact{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.35)}
.fact span{font-family:var(--serif);font-size:1.7rem}
.fact p{font-size:.9rem;margin-bottom:0}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:9vw 10vw;background:var(--olive-dark)}
.contact-copy h2{max-width:650px}
.muted{opacity:.72;max-width:520px;margin-top:28px}
.contact-form{display:grid;gap:18px}
.contact-form label{font-size:.78rem;font-weight:700;color:var(--cream);letter-spacing:.03em}
.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:14px 16px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:rgba(255,255,255,.08);color:white;font:inherit;outline:none}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--rust)}
.form-note{color:rgba(251,248,241,.5);font-size:.7rem;margin:0}

.hidden-field{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}
.form-status-success{color:rgba(251,248,241,.92);opacity:1}
.form-status-error{color:#ffd7c6;opacity:1}
.footer{display:flex;justify-content:space-between;gap:20px;padding:35px 7vw;background:var(--olive-dark);color:var(--cream);border-top:1px solid rgba(255,255,255,.15)}
.footer div{display:flex;gap:18px;align-items:baseline}
.footer span{font-size:.75rem;opacity:.55}
.footer>a{font-size:.75rem;opacity:.65}
@media (max-width: 950px){
  .nav{display:none;position:absolute;top:72px;left:0;right:0;padding:20px 6vw;background:var(--cream);flex-direction:column;align-items:flex-start}
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .hero{grid-template-columns:1fr;padding:13vw 7vw}
  .hero-image-wrap{height:650px}
  .cards,.practical-grid{grid-template-columns:1fr 1fr}
  .about-intro,.who-lower,.about-section,.who-section,.contact-section{grid-template-columns:1fr}
  .about-image{min-height:560px}
  .room-image{min-height:480px}
  .who-copy{order:1}
  .room-image{order:2}
}
@media (max-width: 650px){
  .site-header{padding:16px 5vw}
  .hero{min-height:auto;padding:15vw 6vw}
  h1{font-size:3.2rem}
  h2{font-size:2.7rem}
  .hero-image-wrap{height:520px;border-radius:120px 120px 24px 24px}
  .intro-section,.expect-section,.practical-section{display:block;padding:18vw 7vw}
  .section-number{margin-bottom:25px}
  .olive-section{padding:18vw 7vw}
  .cards,.expect-grid,.practical-grid{grid-template-columns:1fr}
  .expect-grid>div:nth-child(even){padding-left:0;border-left:0}
  .about-copy,.who-copy{padding:18vw 7vw}.about-full{padding:0 7vw 18vw}.who-heading{padding:18vw 7vw 8vw}
  .about-image{min-height:480px}
  .room-image{min-height:430px}
  .contact-section{padding:18vw 7vw}
  .footer{display:block}
  .footer div{display:block}
  .footer span{display:block;margin-top:5px}
  .footer>a{display:inline-block;margin-top:20px}
}

@media (max-width: 650px){.brand{gap:8px}.brand small{font-size:.48rem;letter-spacing:.04em}.room-image-card{width:78%;max-width:520px}.hero-image-wrap{height:520px}}
