
:root{
  --green:#308978;
  --coral:#FF857A;
  --sun:#F0AA58;
  --brown:#AE4F28;
  --deep:#123b34;
  --deep-2:#0c2e29;
  --ink:#24332f;
  --muted:#68756f;
  --paper:#fbf8f2;
  --cream:#f3eee5;
  --line:#ddd7ca;
  --white:#fff;
  --max:1460px;
  --pad:clamp(24px,5vw,78px);
  --display:"Cormorant Garamond", Georgia, serif;
  --script:"Allura", cursive;
  --sans:"Jost", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad);color:#fff;transition:.4s ease}
.site-header.scrolled{background:rgba(251,248,242,.94);backdrop-filter:blur(18px);color:var(--deep);box-shadow:0 1px 0 rgba(40,55,49,.08);padding-top:10px;padding-bottom:10px}
.brand{display:block;position:relative;width:235px;height:78px;z-index:32;transition:.35s}
.brand img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;transition:.35s}
.brand-white{opacity:1;transform:scale(1);filter:drop-shadow(0 2px 12px rgba(0,0,0,.12))}
.brand-flat{opacity:0;transform:scale(.92)}
.site-header.scrolled .brand{width:170px;height:55px}
.site-header.scrolled .brand-white{opacity:0;transform:scale(.9)}
.site-header.scrolled .brand-flat{opacity:1;transform:scale(1)}
.main-nav{display:flex;align-items:center;gap:clamp(13px,1.5vw,27px);font-size:12px;font-weight:400}
.main-nav>a{position:relative}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:.3s}
.main-nav>a:hover::after{right:0}
.nav-cta{padding:11px 16px;border:1px solid rgba(255,255,255,.55);border-radius:100px;transition:.25s}
.site-header.scrolled .nav-cta{border-color:rgba(48,137,120,.5);background:var(--green);color:white}
.lang-switch{display:flex;gap:1px;padding-left:2px}
.lang{border:0;background:transparent;color:rgba(255,255,255,.58);font-size:10px;padding:4px}
.site-header.scrolled .lang{color:#86928d}
.lang.active{color:inherit;font-weight:600}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;position:relative;z-index:32}
.menu-toggle span{position:absolute;width:24px;height:1px;background:currentColor;left:9px;transition:.3s}
.menu-toggle span:first-child{top:16px}.menu-toggle span:last-child{top:25px}

/* Hero */
.hero{position:relative;min-height:100svh;color:#fff;overflow:hidden;background:var(--deep)}
.hero-media,.hero-shade{position:absolute;inset:0}
.hero-media img{height:100%;object-fit:cover;object-position:center center;transform:none}
.hero-shade{background:linear-gradient(90deg,rgba(8,41,34,.75) 0%,rgba(8,41,34,.35) 48%,rgba(8,41,34,.08) 78%),linear-gradient(0deg,rgba(9,35,29,.58) 0%,transparent 36%)}
.hero-accent{position:absolute;z-index:1;border-radius:50%;filter:blur(1px);opacity:.8}
.hero-accent-1{width:130px;height:130px;background:var(--coral);right:-60px;top:26%}
.hero-accent-2{width:90px;height:90px;background:var(--sun);right:18%;bottom:-48px}
.hero-content{position:relative;z-index:2;padding:clamp(170px,23vh,250px) var(--pad) 180px;max-width:940px}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.22em;font-weight:500;margin:0 0 24px;color:#71817a}
.eyebrow.light{color:rgba(255,255,255,.75)}
.hero h1,.display,.mini-display,.night-copy h2,.location-content h2{font-family:var(--display);font-weight:500;letter-spacing:-.045em}
.hero h1{font-size:clamp(70px,9.3vw,145px);line-height:.78;margin:0 0 38px}
.hero h1 em,.display em,.mini-display em,.night-copy h2 em,.location-content h2 em{font-family:var(--script);font-style:normal;font-weight:400;letter-spacing:0;color:var(--sun);font-size:1.06em}
.hero-copy{font-size:clamp(16px,1.45vw,21px);line-height:1.58;max-width:650px;color:rgba(255,255,255,.86)}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:42px}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:100px;padding:16px 23px;font-size:12px;font-weight:500;letter-spacing:.02em;transition:.3s}
.button-sun{background:var(--sun);color:var(--deep)}
.button-sun:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.16)}
.text-link{display:inline-flex;gap:12px;align-items:center;font-size:12px;font-weight:500;border-bottom:1px solid rgba(48,137,120,.38);padding-bottom:4px}
.text-link.light{border-color:rgba(255,255,255,.4)}
.text-link span{transition:.25s}.text-link:hover span{transform:translate(3px,2px)}
.hero-facts{position:absolute;z-index:3;right:var(--pad);bottom:42px;display:flex;border-top:1px solid rgba(255,255,255,.3);padding-top:18px}
.hero-facts div{min-width:120px;padding-left:22px;border-left:1px solid rgba(255,255,255,.18)}
.hero-facts strong,.hero-facts span{display:block}
.hero-facts strong{font-family:var(--display);font-size:25px;font-weight:600}
.hero-facts span{font-size:9px;text-transform:uppercase;letter-spacing:.11em;margin-top:3px;color:rgba(255,255,255,.66)}

/* Shared */
.section{max-width:var(--max);margin:auto;padding:clamp(95px,11vw,175px) var(--pad)}
.section-label{display:flex;align-items:center;gap:14px;margin-bottom:60px;font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:#78837d}
.section-label span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #bbc2bc;border-radius:50%;letter-spacing:0}
.section-label p{margin:0}
.section-label.dark{color:rgba(255,255,255,.64)}
.section-label.dark span{border-color:rgba(255,255,255,.28)}
.display{font-size:clamp(52px,6.5vw,100px);line-height:.88;margin:0}
.section-head.split{display:grid;grid-template-columns:1.3fr .7fr;gap:9vw;align-items:end;margin-bottom:72px}
.section-copy{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 6px}
.intro-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:8vw;align-items:end}
.intro-copy{font-size:15px;line-height:1.82;color:var(--muted);padding-bottom:6px}
.intro-copy p{margin:0 0 20px}.intro-copy .text-link{margin-top:14px;color:var(--green)}
.feature-photo{display:block;width:100%;border:0;padding:0;background:none;margin-top:88px;position:relative;overflow:hidden;text-align:left}
.feature-photo>img{aspect-ratio:16/8.4;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.feature-photo:hover>img{transform:scale(1.024)}
.photo-caption{display:flex;justify-content:space-between;padding:14px 2px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#7c8781}

/* Rooms */
.rooms{background:#f6f1e9;max-width:none;padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}
.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.room-card{position:relative;border:0;background:#ddd;padding:0;overflow:hidden;height:430px;text-align:left;color:#fff}
.room-card.tall{height:570px}
.room-card img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.room-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,46,39,.72),transparent 55%)}
.room-card:hover img{transform:scale(1.04)}
.room-card>div{position:absolute;z-index:2;bottom:27px;left:27px;right:25px}
.room-card h3{font-family:var(--display);font-size:31px;font-weight:600;margin:0 0 4px}
.room-card p{font-size:11px;margin:0;color:rgba(255,255,255,.76)}
.room-number{position:absolute;z-index:2;top:20px;right:20px;border:1px solid rgba(255,255,255,.48);border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-size:9px}

/* Interiors */
.editorial-grid{display:grid;gap:16px;margin-bottom:16px}
.kitchen-grid{grid-template-columns:1.45fr .55fr}
.living-grid{grid-template-columns:.55fr 1.45fr;margin-top:16px}
.editorial-photo{position:relative;border:0;background:#ddd;padding:0;height:580px;overflow:hidden;color:white;text-align:left}
.editorial-photo.portrait{height:580px}
.editorial-photo img{height:100%;object-fit:cover;transition:transform .8s}
.editorial-photo:hover img{transform:scale(1.025)}
.editorial-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,42,35,.58),transparent 42%)}
.editorial-photo span{position:absolute;z-index:2;left:24px;bottom:22px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.details-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:66px}
.detail-card{border:0;background:none;padding:0;text-align:left}
.detail-card img{aspect-ratio:1.35/1;object-fit:cover;transition:transform .7s}
.detail-card:hover img{transform:scale(1.015)}
.detail-card>div{display:flex;gap:13px;align-items:center;padding-top:14px}
.detail-card small{font-size:9px;color:var(--green)}
.detail-card strong{font-family:var(--display);font-size:24px;font-weight:600}
.bath-head{margin:100px 0 45px}
.mini-display{font-size:clamp(42px,5.2vw,74px);line-height:.94;margin:0}
.bath-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.bath-card{border:0;padding:0;background:none;text-align:left}
.bath-card img{aspect-ratio:4/5;object-fit:cover;transition:transform .7s}
.bath-card:hover img{transform:scale(1.018)}
.bath-card span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#69766f;margin-top:13px}

/* Night + outdoors */
.night-feature{position:relative;min-height:86vh;display:flex;align-items:flex-end;color:white;overflow:hidden}
.night-feature>img,.night-shade{position:absolute;inset:0;height:100%;object-fit:cover}
.night-shade{background:linear-gradient(0deg,rgba(7,35,29,.82),rgba(7,35,29,.08) 70%)}
.night-copy{position:relative;z-index:2;padding:0 var(--pad) 8vh;max-width:1000px}
.night-copy h2{font-size:clamp(58px,7.7vw,116px);line-height:.84;margin:0 0 28px}
.night-copy>p:last-child{max-width:600px;line-height:1.75;color:rgba(255,255,255,.76)}
.outside-mosaic{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:370px 370px;gap:15px}
.outside-photo{position:relative;border:0;padding:0;overflow:hidden;color:white;text-align:left;background:#ddd}
.outside-photo.main{grid-row:1/3}
.outside-photo img{height:100%;object-fit:cover;transition:transform .8s}
.outside-photo:hover img{transform:scale(1.035)}
.outside-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,45,37,.62),transparent 45%)}
.outside-photo span{position:absolute;z-index:2;left:24px;bottom:22px;font-family:var(--display);font-size:27px}

/* Brand moment */
.brand-statement{background:var(--cream);padding:120px var(--pad)}
.brand-statement-inner{max-width:900px;margin:auto;text-align:center}
.statement-logo{max-width:400px;margin:0 auto 48px}
.brand-statement blockquote{font-family:var(--display);font-size:clamp(30px,4.4vw,58px);line-height:1.15;margin:0;color:var(--deep)}
.brand-colors{display:flex;justify-content:center;gap:10px;margin-top:42px}
.brand-colors span{width:12px;height:12px;border-radius:50%}
.brand-colors span:nth-child(1){background:var(--green)}.brand-colors span:nth-child(2){background:var(--coral)}.brand-colors span:nth-child(3){background:var(--sun)}.brand-colors span:nth-child(4){background:var(--brown)}

/* Amenities */
.amenities{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;border-top:1px solid var(--line)}
.amenities-list{border-top:1px solid #cbc8bd}
.amenity{display:grid;grid-template-columns:50px 1fr auto;align-items:center;border-bottom:1px solid #cbc8bd;padding:22px 0}
.amenity>span{font-size:9px;color:var(--green)}
.amenity strong{font-family:var(--display);font-size:25px;font-weight:600}
.amenity small{font-size:10px;color:#7b8580;text-align:right}

/* Calendar */
.availability{background:var(--green);color:white;max-width:none;padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}
.availability .section-label{color:rgba(255,255,255,.65)}.availability .section-label span{border-color:rgba(255,255,255,.3)}
.availability .eyebrow{color:rgba(255,255,255,.68)}.availability .display em{color:var(--sun)}
.availability-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:8vw;align-items:center}
.availability-copy{font-size:15px;line-height:1.8;color:rgba(255,255,255,.76);max-width:520px;margin:30px 0}
.legend{display:flex;gap:24px;font-size:10px}.legend span{display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.available-dot{background:#fff}.unavailable-dot{background:var(--deep);border:1px solid rgba(255,255,255,.25)}
.calendar-shell{background:var(--paper);color:var(--ink);padding:28px 30px 24px;box-shadow:0 22px 80px rgba(8,37,31,.18)}
.calendar-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #eee8dd}
.calendar-top strong{font-family:var(--display);font-size:27px;font-weight:600}
.calendar-top button{border:0;background:#eee9df;width:40px;height:40px;border-radius:50%;color:var(--green);transition:.2s}
.calendar-top button:hover{background:var(--green);color:#fff}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.calendar-weekdays span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;text-align:center;color:#939790;padding:18px 0 10px}
.calendar-day{aspect-ratio:1;display:grid;place-items:center;font-size:11px;position:relative;border-radius:50%;margin:4px}
.calendar-day.other{opacity:.25}.calendar-day.past{opacity:.28}.calendar-day.blocked{background:var(--deep);color:white}
.calendar-day.today::after{content:"";position:absolute;bottom:7px;width:3px;height:3px;background:var(--coral);border-radius:50%}
.calendar-status{font-size:9px;color:#8a8f89;text-align:center;margin:15px 0 0}.calendar-status.error{color:var(--brown)}

/* Request */
.request{background:var(--deep-2);color:#fff;max-width:none;padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));display:grid;grid-template-columns:.72fr 1.08fr;gap:9vw}
.display.light{color:#fff}.request-logo{width:116px;margin:0 0 38px}
.request-intro>p:not(.eyebrow){color:rgba(255,255,255,.68);line-height:1.8;font-size:15px;max-width:520px}
.contact-lines{display:flex;flex-direction:column;gap:7px;margin-top:38px;font-family:var(--display);font-size:20px}
.contact-address{display:block;margin-top:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.18);font-family:var(--sans);font-size:12px;line-height:1.65;letter-spacing:.04em;color:rgba(255,255,255,.68)}
.request-form{background:var(--paper);color:var(--ink);padding:36px}
.request-form label{display:block;margin-bottom:20px}.request-form label>span:first-child{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#6f7772;margin-bottom:8px}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.request-form input:not([type=checkbox]),.request-form select,.request-form textarea{width:100%;border:0;border-bottom:1px solid #c9c4b9;background:transparent;border-radius:0;padding:11px 2px;color:var(--ink);outline:none}
.request-form input:focus,.request-form select:focus,.request-form textarea:focus{border-bottom-color:var(--green)}
.request-form textarea{resize:vertical}
.request-form .form-field{display:block;margin-bottom:20px}
.request-form .form-field>.field-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#6f7772;margin-bottom:8px}
.date-field{position:relative}
.date-trigger{width:100%;border:0;border-bottom:1px solid #c9c4b9;background:transparent;border-radius:0;padding:11px 2px;color:var(--ink);outline:none;display:flex;align-items:center;justify-content:space-between;text-align:left;font-weight:300}
.date-trigger:hover,.date-trigger:focus,.date-trigger[aria-expanded="true"]{border-bottom-color:var(--green)}
.date-trigger i{font-style:normal;color:var(--green);font-size:16px;line-height:1;transition:transform .2s}
.date-trigger[aria-expanded="true"] i{transform:rotate(180deg)}
.date-picker-popover{position:absolute;z-index:45;top:calc(100% - 12px);left:0;width:min(340px,calc(100vw - 48px));background:var(--paper);border:1px solid #e1dbcf;box-shadow:0 18px 55px rgba(12,46,41,.2);padding:16px}
.date-field:nth-child(2) .date-picker-popover{left:auto;right:0}
.date-picker-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #eee8dd}
.date-picker-head strong{font-family:var(--display);font-size:21px;font-weight:600}
.date-picker-nav{border:0;background:#eee9df;width:34px;height:34px;border-radius:50%;color:var(--green);display:grid;place-items:center}
.date-picker-nav:hover{background:var(--green);color:#fff}
.date-picker-weekdays,.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.date-picker-weekdays span{font-size:7px;text-transform:uppercase;letter-spacing:.08em;text-align:center;color:#939790;padding:12px 0 7px}
.date-picker-day{aspect-ratio:1;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;font-size:10px;color:var(--ink);margin:2px;transition:.15s}
.date-picker-day:not(.disabled):hover{background:#e7eee9;color:var(--deep)}
.date-picker-day.other{opacity:.34}
.date-picker-day.blocked,.date-picker-day.disabled{color:#aaa7a0;background:#efede8;cursor:not-allowed;opacity:.58;text-decoration:line-through}
.date-picker-day.selected{background:var(--green)!important;color:#fff!important;opacity:1;text-decoration:none}
.date-picker-status{font-size:8px;color:#8a8f89;text-align:center;margin:10px 0 0}
.minimum-stay-note{margin:-8px 0 22px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#7b8580}
.consent{display:grid!important;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin-top:6px}.consent input{margin-top:2px;accent-color:var(--green)}
.consent span{font-size:10px!important;text-transform:none!important;letter-spacing:0!important;line-height:1.55;margin:0!important;color:#67706b!important}
.privacy-line{font-size:9px;color:#838984;line-height:1.5}.privacy-line a{text-decoration:underline}.form-submit{margin-top:12px;width:100%;justify-content:space-between;padding:17px 21px}
.availability-warning{padding:12px 14px;margin:0 0 16px;background:#fff0e9;color:#864d3a;font-size:10px;line-height:1.5}

/* Location + footer */
.location-strip{position:relative;height:65vh;min-height:520px;color:#fff;overflow:hidden}
.location-strip>img{height:100%;object-fit:cover}.location-strip::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,54,45,.72),rgba(10,54,45,.1))}
.location-content{position:absolute;z-index:2;left:var(--pad);top:50%;transform:translateY(-50%);max-width:650px}
.location-content h2{font-size:clamp(60px,7.2vw,110px);line-height:.84;margin:0 0 30px}.location-content p:last-child{max-width:500px;line-height:1.7;color:rgba(255,255,255,.78)}
footer{background:#f5efe5;color:var(--deep);padding:55px var(--pad) 25px}.footer-logo{max-width:260px}
.footer-links{display:flex;gap:25px;justify-content:flex-end;margin-top:-32px;font-size:10px;color:#66756e}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(48,137,120,.18);padding-top:20px;margin-top:48px;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#77847d}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(6,24,20,.96);z-index:100;display:grid;place-items:center;padding:6vw;opacity:0;pointer-events:none;transition:.35s}
.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:1300px;max-height:86vh;object-fit:contain}.lightbox-close{position:absolute;right:30px;top:25px;background:none;border:0;color:white;font-size:38px;font-weight:200}

/* Animation */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in-view{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}

@media(max-width:1100px){
  .main-nav{gap:12px}.main-nav>a{font-size:11px}.lang-switch{display:none}
}
@media(max-width:980px){
  .menu-toggle{display:block}.site-header.scrolled .brand{width:145px}
  .main-nav{position:fixed;inset:0;background:var(--deep-2);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:100px var(--pad);gap:24px;transform:translateX(100%);transition:.45s cubic-bezier(.2,.8,.2,1);font-family:var(--display);font-size:32px}
  .main-nav>a{font-size:30px}.main-nav.open{transform:none}.nav-cta,.site-header.scrolled .nav-cta{border:0;padding:0;background:none;color:white}.lang-switch{display:flex;margin-top:18px;font-family:var(--sans)}
  .lang,.site-header.scrolled .lang{color:rgba(255,255,255,.5)}.lang.active{color:#fff}
  .menu-open .menu-toggle span:first-child{transform:rotate(45deg);top:21px}.menu-open .menu-toggle span:last-child{transform:rotate(-45deg);top:21px}
  .menu-open .site-header{color:white;background:transparent}
  .hero-facts{left:var(--pad);right:auto;bottom:28px}.hero-facts div{min-width:100px}
  .intro-grid,.section-head.split,.amenities,.availability-grid,.request{grid-template-columns:1fr}
  .section-copy,.intro-copy{max-width:700px}.rooms-grid{grid-template-columns:1fr 1fr}.room-card,.room-card.tall{height:470px}
  .kitchen-grid,.living-grid{grid-template-columns:1fr 1fr}.editorial-photo,.editorial-photo.portrait{height:500px}
  .request{gap:60px}
}
@media(max-width:680px){
  .site-header{padding-top:12px}.brand{width:180px;height:62px}.site-header.scrolled .brand{width:125px;height:48px}
  .hero-content{padding-top:155px}.hero h1{font-size:clamp(64px,20vw,94px)}.hero-copy{font-size:14px;max-width:94%}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:20px}
  .hero-facts{display:grid;grid-template-columns:1fr 1fr;right:var(--pad);bottom:20px}.hero-facts div{padding:8px 13px}.hero-facts strong{font-size:19px}.hero-facts span{font-size:7px}
  .section{padding-top:92px;padding-bottom:92px}.section-label{margin-bottom:40px}.intro-grid,.section-head.split{gap:35px}
  .feature-photo{margin-top:58px}.feature-photo>img{aspect-ratio:4/5}.photo-caption{flex-direction:column;gap:6px}
  .rooms-grid{grid-template-columns:1fr}.room-card,.room-card.tall{height:440px}
  .kitchen-grid,.living-grid,.details-row,.bath-grid{grid-template-columns:1fr}.editorial-photo,.editorial-photo.portrait{height:430px}
  .details-row{margin-top:50px;gap:12px}
  .detail-card{position:relative;height:430px;overflow:hidden;color:#fff;text-align:left;background:#ddd}
  .detail-card img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
  .detail-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,42,35,.58),transparent 42%);pointer-events:none}
  .detail-card>div{position:absolute;z-index:2;left:24px;bottom:22px;padding:0;display:block}
  .detail-card small{display:none}
  .detail-card strong{font-family:var(--sans);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.16em;color:#fff}
  .bath-head{margin-top:70px}.bath-card img{aspect-ratio:4/4.5}
  .night-feature{min-height:76vh}.night-copy{padding-bottom:7vh}
  .outside-mosaic{display:block}.outside-photo{height:400px;display:block;width:100%;margin-bottom:12px}.outside-photo.main{height:490px}
  .amenity{grid-template-columns:40px 1fr}.amenity small{grid-column:2;text-align:left;margin-top:4px}
  .calendar-shell{padding:18px 12px}.calendar-day{margin:2px}.form-row.two{grid-template-columns:1fr;gap:0}.request-form{padding:25px 20px}.date-field:nth-child(2) .date-picker-popover{left:0;right:auto}
  .location-strip{height:70vh}.footer-links{justify-content:flex-start;flex-wrap:wrap;margin:35px 0 0}.footer-bottom{flex-direction:column;gap:7px}
  .statement-logo{max-width:280px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
