:root{--rust:#9d2c09;--ochre:#bc782a;--sand:#f5ead9;--peach:#c8755e;--ink:#090909;--silver:#c4c7d3;--white:#fff;--pad:clamp(22px,5vw,76px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fbf7f0;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;object-fit:cover}
.announcement{background:var(--rust);color:#fff;text-align:center;padding:8px 16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.announcement span{margin:0 10px;color:var(--ochre)}
.site-header{height:90px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;background:#fbf7f0;border-bottom:1px solid rgba(0,0,0,.12);position:relative;z-index:20}
.brand{width:185px}
.brand img{height:54px;object-fit:contain;object-position:left center}
.site-header nav{display:flex;gap:34px;font-size:14px}
.site-header nav a{position:relative}
.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--rust);transition:.25s}
.site-header nav a:hover:after{right:0}
.nav-cta{border-bottom:1px solid;padding:7px 0;font-size:14px}
.nav-cta span,.button span{margin-left:18px}
.menu{display:none;background:none;border:0}
.hero{min-height:calc(100vh - 124px);height:760px;position:relative;color:#fff;overflow:hidden}
.hero-image{position:absolute;inset:0;height:100%;filter:saturate(.83)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.25) 58%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.25),transparent 45%)}
.hero-content{position:absolute;left:var(--pad);bottom:clamp(70px,10vh,120px);max-width:770px}
.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:600;color:var(--rust);margin:0 0 22px}
.eyebrow.light{color:#f2c99d}
.hero h1,.intro h2,.feature h2,.section-heading h2,.stay h2,.inquiry h2{font:500 clamp(48px,7vw,98px)/.96 'Manrope',sans-serif;letter-spacing:-.055em;margin:0}
.hero h1 em,.intro h2 em,.feature h2 em,.section-heading h2 em,.stay h2 em,.inquiry h2 em{font-weight:400;color:#f1c28b}
.hero-copy{font-size:18px;max-width:560px;margin:28px 0 34px}
.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:195px;padding:15px 19px;border:1px solid transparent;font-weight:600;font-size:14px;cursor:pointer}
.button.cream{background:var(--sand);color:#1b110a}
.button.cream:hover{background:#fff}
.button.dark{background:var(--ink);color:#fff}
.hero-note{position:absolute;right:var(--pad);bottom:40px;display:flex;gap:18px;align-items:flex-start;font-size:12px;letter-spacing:.08em}
.hero-note span{border:1px solid rgba(255,255,255,.6);border-radius:50%;width:28px;height:28px;text-align:center;line-height:27px}
.hero-note p{margin:0}
.intro{padding:clamp(90px,12vw,170px) var(--pad);display:grid;grid-template-columns:1.35fr .65fr;gap:10vw;align-items:end}
.intro h2,.feature h2,.stay h2{font-size:clamp(46px,5.6vw,80px)}
.intro h2 em,.feature h2 em,.stay h2 em{color:var(--rust)}
.intro-copy{font-size:19px;max-width:500px}
.intro-copy>p{margin:0 0 38px}
.text-link{font-size:14px;font-weight:600;border-bottom:1px solid;padding-bottom:7px}
.text-link span{margin-left:22px}
.feature{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px;background:#eadbc6}
.feature-image{position:relative;min-height:700px;overflow:hidden}
.feature-image img{height:100%}
.vertical{position:absolute;left:18px;top:24px;writing-mode:vertical-rl;color:white;font-size:10px;letter-spacing:.24em}
.feature-content{padding:clamp(60px,8vw,120px);position:relative;align-self:center}
.count{position:absolute;right:var(--pad);top:40px;font-size:12px;letter-spacing:.15em}
.feature-content>p:not(.eyebrow){max-width:530px;margin:30px 0}
.experience-list{list-style:none;padding:0;margin:40px 0 0;border-top:1px solid rgba(0,0,0,.18)}
.experience-list li{padding:17px 0;border-bottom:1px solid rgba(0,0,0,.18);font-size:15px}
.experience-list span{display:inline-block;width:50px;color:var(--rust);font-size:11px}
.services{background:var(--rust);color:#fff;padding:clamp(90px,11vw,150px) var(--pad)}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:80px}
.section-heading h2{font-size:clamp(46px,5.4vw,76px)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.35)}
.service-grid article{padding:28px 30px 20px 0;min-height:300px;border-right:1px solid rgba(255,255,255,.3);margin-right:28px;display:flex;flex-direction:column}
.service-grid article:last-child{border:0}
.service-grid article>span{color:#efbf87;font-size:12px}
.service-grid h3{font:500 23px 'Manrope';margin:55px 0 15px}
.service-grid p{font-size:14px;color:rgba(255,255,255,.76)}
.service-grid a{font-size:13px;margin-top:auto;color:#f5cea1}
.stay{display:grid;grid-template-columns:.8fr 1.2fr;background:#fbf7f0}
.stay-copy{padding:clamp(70px,9vw,135px) var(--pad);align-self:center}
.stay-copy>p:not(.eyebrow){font-size:18px;margin:30px 0 34px;max-width:520px}
.stay-image{min-height:760px;position:relative}
.stay-image>img{height:100%}
.stay-label{position:absolute;left:24px;bottom:24px;background:#fbf7f0;padding:20px 24px;min-width:290px}
.stay-label small{display:block;color:var(--rust);letter-spacing:.13em;font-size:9px}
.stay-label strong{font:500 17px 'Manrope';display:block;margin-top:5px}
.quote{text-align:center;padding:clamp(100px,14vw,190px) var(--pad);background:var(--sand)}
.quote blockquote{font:400 clamp(38px,5vw,72px)/1.12 'Manrope';letter-spacing:-.04em;margin:30px 0;color:var(--rust)}
.quote>p:last-child{font-size:14px}
.inquiry{background:#111;color:#fff;padding:clamp(90px,11vw,150px) var(--pad);display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}
.inquiry h2{font-size:clamp(48px,6vw,82px)}
.inquiry-intro>p:last-child{max-width:430px;color:#bbb;margin-top:30px}
.inquiry form{align-self:center;display:grid;gap:24px}
.inquiry label{display:block}
.inquiry label span{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#d7ae80;margin-bottom:7px}
.inquiry input,.inquiry select,.inquiry textarea{width:100%;border:0;border-bottom:1px solid #666;background:transparent;color:#fff;padding:10px 0;font:16px 'DM Sans';border-radius:0;outline:none}
.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus{border-color:#f1c28b}
.inquiry select option{color:#111}
.split{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.inquiry .button{margin-top:12px}
.form-note{font-size:12px;color:#888;margin:0}
footer{padding:55px var(--pad) 25px;background:#fbf7f0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start;font-size:13px}
.footer-brand{width:190px}
.footer-brand img{height:60px;object-fit:contain;object-position:left}
.social{display:flex;gap:24px;justify-content:flex-end}
.copyright{grid-column:1/-1;border-top:1px solid #ccc;padding-top:18px;color:#777}
.success{color:#f1c28b!important}
@media(max-width:900px){.site-header nav,.nav-cta{display:none}
.menu{display:block}
.menu span{display:block;width:24px;height:1px;background:#111;margin:6px}
.site-header.open{height:auto;align-items:flex-start;padding-top:18px;padding-bottom:24px;flex-wrap:wrap}
.site-header.open nav{display:flex;order:3;flex-direction:column;width:100%;gap:18px;padding-top:22px}
.hero{height:700px}
.hero-note{display:none}
.intro,.inquiry{grid-template-columns:1fr;gap:55px}
.feature{grid-template-columns:1fr}
.feature-image{min-height:560px}
.service-grid{grid-template-columns:1fr 1fr}
.section-heading{display:block}
.section-heading .eyebrow{margin-bottom:22px}
.stay{grid-template-columns:1fr}
.stay-image{min-height:600px;order:-1}
.social{justify-content:flex-start}
}
@media(max-width:600px){.announcement{font-size:9px}
.site-header{height:74px}
.brand{width:155px}
.brand img{height:45px}
.hero{min-height:690px}
.hero-content{bottom:65px}
.hero h1{font-size:50px}
.hero-copy{font-size:16px}
.intro{padding-top:90px;padding-bottom:90px}
.feature-image{min-height:420px}
.feature-content{padding:70px 24px}
.service-grid{grid-template-columns:1fr}
.service-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.3);min-height:245px;margin:0}
.service-grid h3{margin-top:38px}
.stay-image{min-height:460px}
.split{grid-template-columns:1fr;gap:24px}
footer{grid-template-columns:1fr}
.social{justify-content:flex-start}
.copyright{grid-column:1}
}

.hero-slides{position:absolute;inset:0}
.hero-slides .hero-image{opacity:0;transform:scale(1.035);transition:opacity 1.4s ease,transform 7s ease}
.hero-slides .hero-image.active{opacity:1;transform:scale(1)}
.hero-slides .personal-hero{object-position:center 32%}
.slider-controls{position:absolute;left:var(--pad);bottom:28px;display:flex;align-items:center;gap:14px;z-index:3}
.slider-arrow{width:34px;height:34px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.14);color:#fff;cursor:pointer}
.slider-arrow:hover,.slider-arrow:focus-visible{background:rgba(255,255,255,.18)}
.slider-dots{display:flex;gap:7px}
.slider-dots button{width:25px;height:2px;border:0;padding:0;background:rgba(255,255,255,.42);cursor:pointer;transition:.3s}
.slider-dots button.active{background:#fff;width:42px}
.guest-gallery{padding:clamp(90px,11vw,150px) var(--pad);background:#fbf7f0}
.gallery-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end;margin-bottom:65px}
.gallery-heading h2{font:500 clamp(48px,6vw,82px)/.96 'Manrope',sans-serif;letter-spacing:-.055em;margin:0}
.gallery-heading h2 em{font-weight:400;color:var(--rust)}
.gallery-heading>p{max-width:480px;font-size:17px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:285px;grid-auto-flow:dense;gap:16px}
.gallery-grid figure{position:relative;margin:0;overflow:hidden;background:#ddd}
.gallery-grid figure.gallery-tall,.gallery-grid figure.gallery-portrait{grid-row:span 2}
.gallery-grid figure.gallery-wide{grid-column:span 2}
.gallery-grid img{height:100%;transition:transform .7s ease}
.gallery-grid figure:hover img{transform:scale(1.035)}
.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 18px 14px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));font-size:13px;letter-spacing:.05em}
.gallery-grid figcaption span{margin-right:10px;color:#f1c28b}
@media(max-width:900px){.gallery-heading{grid-template-columns:1fr;gap:30px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:310px}.gallery-grid figure.gallery-tall,.gallery-grid figure.gallery-portrait{grid-row:span 2}.gallery-grid figure.gallery-wide{grid-column:span 2}.slider-controls{bottom:22px}}
@media(max-width:600px){.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:calc(var(--pad) * -1);padding-right:var(--pad)}.gallery-grid figure,.gallery-grid figure.gallery-tall,.gallery-grid figure.gallery-wide,.gallery-grid figure.gallery-portrait{min-width:82vw;height:440px;scroll-snap-align:start}.hero-content{bottom:95px}.slider-controls{bottom:26px}.slider-arrow{display:none}}
@media(max-width:600px){.hero-slides .personal-hero{object-position:center 31%}}
@media(prefers-reduced-motion:reduce){.hero-slides .hero-image,.gallery-grid img{transition:none}}
