:root{--ink:#332c2a;--muted:#756c68;--cream:#f8f3ee;--sand:#eee4dc;--accent:#9b715e;--dark:#44352f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font:16px/1.75 DM Sans,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1160px,100% - 44px);margin-inline:auto}.topline{background:var(--dark);color:#f8f3ee;text-align:center;letter-spacing:.07em;padding:7px;font-size:12px}.topline a{text-decoration:underline}.header{z-index:20;background:#fff;justify-content:space-between;align-items:center;gap:24px;padding:19px max(22px,50vw - 580px);display:flex;position:sticky;top:0;box-shadow:0 1px 15px #30201a0d}.brand{letter-spacing:.2em;white-space:nowrap;flex-direction:column;font-family:Playfair Display,serif;font-size:24px;line-height:1.05;display:inline-flex}.brand small{letter-spacing:.38em;margin-top:8px;font:600 10px DM Sans,sans-serif}.header nav{align-items:center;gap:27px;font-size:13px;display:flex}.header nav a:hover,.header nav a.active{color:var(--accent)}.nav-book,.button{background:var(--dark);border:1px solid var(--dark);letter-spacing:.1em;text-transform:uppercase;padding:13px 22px;font-size:12px;transition:all .2s;color:#fff!important;display:inline-block!important}.nav-book:hover,.button:hover{background:var(--accent);border-color:var(--accent)}.button.light{background:#fff;border-color:#fff;color:var(--dark)!important}.menu-toggle{background:0 0;border:0;font-size:25px;display:none}.hero{text-align:center;color:#fff;background:linear-gradient(90deg,#30221fb0,#30221f60),url(https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=1800&q=85) 50%/cover;place-items:center;min-height:640px;display:grid}.hero-content{max-width:850px;padding:100px 20px}.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--accent);font-size:12px;font-weight:700}.hero .eyebrow{color:#f2e3d8}h1,h2,h3{font-family:Playfair Display,serif;font-weight:500;line-height:1.2}h1{margin:22px 0;font-size:clamp(44px,7vw,83px)}h2{margin:14px 0 23px;font-size:clamp(33px,4vw,51px)}h3{margin:12px 0;font-size:25px}.hero p{color:#f9f1ec;max-width:640px;margin:0 auto 30px;font-size:18px}.section{padding:100px 0}.section.alt{background:var(--cream)}.center{text-align:center}.intro{max-width:720px;color:var(--muted);margin:0 auto 48px}.cards{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.service-card{background:#fff;overflow:hidden}.service-card .photo{background-position:50%;background-size:cover;height:260px}.service-card .content{padding:26px}.service-card p,.muted{color:var(--muted)}.service-card a{color:var(--accent);font-size:13px;font-weight:700}.split{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.split .photo{background:50%/cover;height:520px}.split p{color:var(--muted)}.banner{background:var(--dark);color:#fff;text-align:center;padding:75px 20px}.banner p{color:#eee0d9}.page-hero{background:var(--cream);text-align:center;padding:85px 20px}.page-hero h1{font-size:clamp(42px,6vw,68px)}.page-hero p{max-width:660px;color:var(--muted);margin:auto}.service-list{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.service-item{background:var(--cream);padding:34px}.service-item p{color:var(--muted)}.contact-grid{grid-template-columns:1fr 1fr;gap:60px;display:grid}.contact-grid p{color:var(--muted)}.contact-grid a:not(.button){text-decoration:underline}.map-link{margin-top:20px;display:inline-block}.footer-grid{grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:35px;padding:65px 0;display:grid}.footer-grid>div{flex-direction:column;align-items:flex-start;display:flex}.footer-grid h3{text-transform:uppercase;letter-spacing:.14em;font:700 12px DM Sans,sans-serif}.footer-grid a,.footer-grid p{color:#d9c8bf;margin:6px 0;font-size:13px}.footer-grid .brand,.footer-grid .brand small,.footer-grid a:hover,.footer-grid{color:#fff}.footer-bottom{color:#d9c8bf;border-top:1px solid #ffffff30;padding:20px 0;font-size:11px}footer{background:#332923}.spacer{height:16px}@media (width<=850px){.header{padding:15px 22px}.menu-toggle{display:block}.header nav{background:#fff;flex-direction:column;align-items:stretch;padding:20px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 20px #0001}.header nav.open{display:flex}.cards{grid-template-columns:1fr 1fr}.split{gap:30px}.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.hero{min-height:560px}.section{padding:65px 0}.cards,.split,.service-list,.contact-grid,.footer-grid{grid-template-columns:1fr}.split .photo{height:350px}.service-card .photo{height:240px}.footer-grid{gap:20px}.brand{font-size:21px}}
