:root{--ink:#17201d;--cream:#f3efe7;--paper:#fff;--sage:#78877c;--line:#d9d7cf;--dark:#17211d;--accent:#9d6647;--max:1240px;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input{font:inherit}.site-header{height:72px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:rgba(243,239,231,.96);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(23,32,29,.08)}.overlay-header{position:absolute;width:100%;background:linear-gradient(to bottom,rgba(10,15,13,.48),transparent);color:#fff;border:0}.brand{display:flex;align-items:center;gap:10px;font-weight:600}.brand-mark{width:36px;height:36px;border:1px solid currentColor;display:grid;place-items:center;font-size:11px}.menu-toggle{width:44px;height:44px;border:0;background:transparent;display:grid;align-content:center;gap:6px;padding:10px;color:inherit}.menu-toggle span{height:1px;background:currentColor;width:100%}.main-nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--cream);color:var(--ink);padding:24px 20px 32px;border-bottom:1px solid var(--line);gap:22px}.main-nav.open{display:grid}.locale{display:flex;gap:7px}.locale a{opacity:.45}.locale a.active{opacity:1;font-weight:600}.nav-book{border:1px solid currentColor;padding:11px 16px;width:max-content}.hero{min-height:700px;height:92svh;position:relative;color:#fff;overflow:hidden}.hero>img{height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,10,.64),rgba(7,12,10,.08) 75%),linear-gradient(0deg,rgba(7,12,10,.48),transparent 55%)}.hero-copy{position:absolute;left:20px;right:20px;bottom:230px;max-width:780px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.18em;font-weight:600;margin:0 0 18px}.hero h1,.intro-statement h2,.editorial h2,.location h2,.catalog-hero h1,.detail-hero h1,.detail-body h2,.reviews-section h2,.checkout-main h1{font-family:'Manrope',sans-serif;font-weight:400;letter-spacing:-.055em}.hero h1{font-size:clamp(50px,12vw,100px);line-height:.93;margin:0 0 20px}.hero-copy>p:not(.eyebrow){max-width:520px;line-height:1.6}.hero-booking{position:absolute;left:16px;right:16px;bottom:20px;background:rgba(255,255,255,.96);color:var(--ink);padding:12px;border-radius:14px}.booking-bar{display:grid;gap:10px}.booking-bar label{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.booking-bar input{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:9px 0;background:transparent;color:var(--ink)}.booking-bar button,.button{min-height:52px;border:0;background:var(--dark);color:#fff;padding:0 20px;display:flex;align-items:center;justify-content:center;cursor:pointer}.booking-bar--hero{grid-template-columns:1fr 1fr}.booking-bar--hero button{grid-column:1/-1;border-radius:9px}.intro-statement{padding:90px 20px;max-width:1050px}.intro-statement h2{font-size:clamp(42px,9vw,78px);line-height:1.02;margin:0 0 28px}.intro-statement>p:last-child{max-width:600px;line-height:1.75;color:#5d6762}.editorial,.location{padding:70px 20px;display:grid;gap:40px}.editorial h2,.location h2{font-size:clamp(40px,9vw,70px);line-height:1.02;margin:0 0 22px}.editorial-copy>p:not(.eyebrow),.location-copy>p:not(.eyebrow){line-height:1.75;color:#53605a;max-width:560px}.editorial-cta{margin-top:24px;width:max-content;gap:28px}.photo-card{margin:0}.photo-card img{height:500px;object-fit:cover;border-radius:var(--radius)}.photo-card figcaption{font-size:11px;margin-top:10px;color:#69736e}.trust-strip{background:var(--dark);color:#fff;padding:32px 20px;display:grid;gap:24px}.trust-strip div{display:flex;align-items:center;gap:18px}.trust-strip strong{font-family:'Manrope';font-size:28px;font-weight:400;opacity:.45}.trust-strip span{font-size:13px}.map-wrap{min-height:420px;border-radius:var(--radius);overflow:hidden}.map-wrap iframe{border:0;width:100%;height:100%;min-height:420px}.footer{background:#101714;color:#e7e8e3;padding:58px 20px 22px}.footer-top{display:grid;gap:40px}.footer h3{font-size:10px;text-transform:uppercase;letter-spacing:.14em}.footer a:not(.brand){display:block;margin:10px 0;color:#c5cbc7}.footer p{color:#9fa8a2;font-size:13px;line-height:1.6}.footer-brand .brand-mark{border-color:#e7e8e3}.footer-bottom{margin-top:48px;padding-top:18px;border-top:1px solid #2c3531;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#79837d;font-size:11px}
/* catalog */.catalog-hero{padding:120px 20px 55px;background:var(--dark);color:#fff}.catalog-hero h1{font-size:clamp(50px,12vw,90px);line-height:.95;margin:0 0 18px}.catalog-hero>p:last-child{max-width:540px;color:#c6cdc8;line-height:1.7}.section-shell{padding:24px 20px;background:#fff;position:sticky;top:72px;z-index:12;border-bottom:1px solid var(--line)}.stay-grid{padding:50px 20px 90px;display:grid;gap:24px;max-width:var(--max);margin:auto}.stay-card{background:#fff;border-radius:var(--radius);overflow:hidden;display:grid}.stay-card-media{min-height:310px;background:linear-gradient(145deg,#53645c,#1d2924);display:flex;align-items:flex-end;padding:20px;color:#fff}.stay-card-media span{font-size:10px;text-transform:uppercase;letter-spacing:.14em}.stay-card-body{padding:28px}.stay-card h2{font-family:'Manrope';font-size:34px;font-weight:400;letter-spacing:-.045em;margin:0 0 14px}.stay-card-body>p{line-height:1.65;color:#626c67}.stay-meta{display:grid;gap:9px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.stay-meta strong{font-weight:500}.text-link{display:inline-block;margin-top:18px;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:13px}.empty-state{padding:50px;background:#fff;border-radius:var(--radius)}.form-message,.booking-error{padding:14px;background:#f5e9e5;color:#733b2d}
/* detail */.detail-hero{padding:20px;display:grid;gap:30px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:7px;border-radius:var(--radius);overflow:hidden}.detail-gallery figure{margin:0;min-height:150px}.detail-gallery figure:first-child{grid-column:1/-1;min-height:360px}.detail-gallery img{height:100%;object-fit:cover}.gallery-placeholder{min-height:440px;background:linear-gradient(145deg,#62736a,#1c2722);display:grid;place-items:center;color:#fff;border-radius:var(--radius)}.detail-hero__copy{padding:15px 0 30px}.detail-hero h1{font-size:clamp(48px,11vw,86px);line-height:.95;margin:0 0 20px}.detail-hero__copy>p{line-height:1.7;color:#5d6762}.detail-facts{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:12px}.detail-body{padding:20px 20px 80px;display:grid;gap:34px}.detail-body article h2,.reviews-section h2{font-size:40px;margin:0 0 20px}.detail-body article>p:last-child{line-height:1.8;color:#5d6762}.booking-card{background:#fff;padding:24px;border-radius:var(--radius);box-shadow:0 18px 60px rgba(20,30,25,.08)}.booking-card h2{margin-top:0}.booking-card form{display:grid;gap:14px}.booking-card label,.checkout-form label{font-size:11px}.booking-card input,.checkout-form input:not([type=checkbox]){display:block;width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--line);background:transparent}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-quote{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);display:grid;gap:10px}.booking-quote strong{font-family:'Manrope';font-size:30px;font-weight:400}.reviews-section,.location-strip{padding:70px 20px}.reviews-grid{display:grid;gap:12px}.review-card{background:#fff;padding:25px;border-radius:var(--radius)}.location-strip{background:var(--dark);color:#fff}.location-strip h2{font-family:'Manrope';font-size:44px;font-weight:400}
/* checkout */.checkout-shell{max-width:1100px;margin:auto;padding:110px 20px 80px;display:grid;gap:34px}.checkout-main h1{font-size:clamp(48px,10vw,76px);line-height:.98;margin:0 0 30px}.checkout-form{margin-top:30px;display:grid;gap:18px}.consent-row{display:flex;gap:12px;align-items:flex-start;line-height:1.5}.checkout-summary{background:var(--dark);color:#fff;padding:28px;border-radius:var(--radius);align-self:start}.checkout-summary h2{font-family:'Manrope';font-size:32px;font-weight:400}.checkout-summary small{display:block;margin-top:18px;color:#b8c0bc;line-height:1.6}
/* confirmation */.confirmation-page{min-height:100vh;background:linear-gradient(145deg,#e6e1d6,#f7f4ed 45%,#d9e0d9)}.confirmation-experience{min-height:100vh;padding:24px 18px;display:grid;place-items:center}.confirmation-panel{width:min(100%,760px);background:rgba(255,255,255,.94);padding:44px 24px;border-radius:var(--radius)}.confirmation-check{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--dark);color:#fff;font-size:25px;margin-bottom:30px}.confirmation-panel h1{font-family:'Manrope';font-weight:400;font-size:clamp(42px,11vw,72px);line-height:.98;margin:0}.confirmation-lead{line-height:1.75;color:#53605a}.confirmation-reference{padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.confirmation-stay{padding:30px 0}.confirmation-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.confirmation-facts>div{padding:15px;background:#f3f0e9}.confirmation-facts>div:last-child{grid-column:1/-1}.confirmation-reference small,.confirmation-stay small,.confirmation-facts small{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:9px;color:#78817c}.confirmation-note{font-size:12px;line-height:1.7;color:#737c77}.confirmation-home{margin-top:20px}
@media(min-width:760px){.site-header{padding:0 40px}.hero-copy{left:40px}.hero-booking{left:40px;right:40px}.booking-bar--hero{grid-template-columns:1.2fr 1.2fr .7fr .7fr auto;align-items:end}.booking-bar--hero button{grid-column:auto}.intro-statement,.editorial,.location,.reviews-section,.location-strip{padding-left:40px;padding-right:40px}.editorial{grid-template-columns:.8fr 1.2fr;align-items:center;gap:70px}.trust-strip{grid-template-columns:repeat(3,1fr);padding:35px 40px}.stay-grid{grid-template-columns:repeat(2,1fr);padding-left:40px;padding-right:40px}.detail-hero{grid-template-columns:1.25fr .75fr;align-items:center;padding:40px}.detail-body{grid-template-columns:1fr 390px;padding:40px 40px 90px}.booking-card{position:sticky;top:95px}.reviews-grid{grid-template-columns:repeat(3,1fr)}.checkout-shell{grid-template-columns:1fr 360px;padding-left:40px;padding-right:40px}.confirmation-panel{padding:60px}.confirmation-facts{grid-template-columns:repeat(3,1fr)}.confirmation-facts>div:last-child{grid-column:auto}}
@media(min-width:1000px){.site-header{height:82px;padding:0 max(48px,calc((100vw - var(--max))/2))}.menu-toggle{display:none}.main-nav{display:flex;position:static;background:transparent;color:inherit;padding:0;border:0;align-items:center;gap:26px;font-size:12px}.hero-copy{left:max(48px,calc((100vw - var(--max))/2));bottom:190px}.hero-booking{left:max(48px,calc((100vw - var(--max))/2));right:auto;width:min(calc(100vw - 96px),1050px);bottom:38px}.intro-statement,.editorial,.location,.reviews-section,.location-strip{padding:110px max(48px,calc((100vw - var(--max))/2))}.trust-strip{padding:38px max(48px,calc((100vw - var(--max))/2))}.catalog-hero{padding:160px max(48px,calc((100vw - var(--max))/2)) 80px}.section-shell{padding:24px max(48px,calc((100vw - var(--max))/2));top:82px}.stay-grid{grid-template-columns:repeat(3,1fr);padding-top:70px}.detail-hero{padding:55px max(48px,calc((100vw - var(--max))/2))}.detail-body{padding:40px max(48px,calc((100vw - var(--max))/2)) 110px}.footer{padding:70px max(48px,calc((100vw - var(--max))/2)) 24px}.footer-top{grid-template-columns:1.4fr .8fr 1fr}}
@media(max-width:430px){.hero{min-height:720px}.hero-copy{bottom:270px}.hero-booking{bottom:12px}.intro-statement{padding-top:70px}.stay-grid{padding-top:28px}.detail-gallery figure:first-child{min-height:300px}.detail-hero__copy{padding-left:4px;padding-right:4px}.booking-card{margin-left:-4px;margin-right:-4px}.checkout-shell{padding-top:90px}}
