:root{
  --paper:#f1eee8;
  --paper-2:#e8e3da;
  --ink:#171714;
  --muted:#6d6962;
  --line:rgba(23,23,20,.17);
  --wine:#5d201f;
  --wine-dark:#3d1514;
  --cream:#f7f3ec;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Baskerville,Georgia,serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --shell:min(100% - 72px,1440px);
  --radius:0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto;image-rendering:auto}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.shell{width:var(--shell);margin-inline:auto}
.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;z-index:9999;top:12px;left:12px;width:auto;height:auto;clip:auto;margin:0;padding:10px 14px;background:#fff;color:#000}
::selection{background:var(--wine);color:#fff}

/* header */
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;color:#fff;transition:background .35s,color .35s,border .35s,transform .35s}
.site-header.is-scrolled{background:rgba(241,238,232,.94);backdrop-filter:blur(16px);color:var(--ink);border-bottom:1px solid var(--line)}
.header-inner{height:86px;display:grid;grid-template-columns:240px 1fr 240px;align-items:center;gap:28px}
.brand{display:flex;flex-direction:column;line-height:.88;width:max-content}
.brand__main{font-family:var(--serif);font-size:22px;letter-spacing:.035em}
.brand__sub{font-size:8px;letter-spacing:.28em;margin-top:7px;opacity:.72}
.custom-logo{max-height:52px;width:auto}
.site-nav{display:flex;justify-content:center;gap:31px;font-size:12px;letter-spacing:.04em}
.site-nav a{position:relative;padding:10px 0}
.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:currentColor;transition:right .3s}
.site-nav a:hover:after{right:0}
.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.header-cta{font-size:11px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:7px 0;display:flex;gap:15px;align-items:center}
.nav-toggle{display:none;width:42px;height:42px;border:0;background:transparent;padding:8px;position:relative;color:inherit}
.nav-toggle span{position:absolute;left:8px;width:26px;height:1px;background:currentColor;transition:.3s}
.nav-toggle span:first-child{top:16px}.nav-toggle span:nth-child(2){top:25px}
.nav-open .nav-toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}
.nav-open .nav-toggle span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}

/* global type */
.section{padding:132px 0}
.section-tight{padding:82px 0 132px}
.display{font-family:var(--serif);font-size:clamp(55px,6vw,98px);line-height:.92;letter-spacing:-.052em;font-weight:400;margin:0}
.display-xl{font-size:clamp(62px,7.2vw,118px)}
.display em,.closing-cta h2 em,.subhero h1 em,.panorama-feature h2 em,.quote-band blockquote em,.footer-brand h2 em,.contact-photo-band h2 em{font-weight:400;color:var(--wine)}
.section-mark{display:flex;align-items:center;gap:14px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.section-mark span{font-variant-numeric:tabular-nums}.section-mark b{font-weight:500}
.section-head{display:grid;grid-template-columns:200px 1fr;gap:50px;align-items:start;margin-bottom:70px}
.mini-label,.eyebrow{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.text-link{display:inline-flex;gap:15px;align-items:center;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:5px}
.text-link span,.text-link b{font-weight:400;transition:transform .25s}.text-link:hover span,.text-link:hover b{transform:translate(3px,-3px)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border:1px solid transparent;font-size:10px;letter-spacing:.13em;text-transform:uppercase;transition:.3s}
.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--wine)}
.detail-lines{margin:34px 0 38px;border-top:1px solid var(--line)}
.detail-lines span{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}

/* home hero */
.hero-home{min-height:100svh;position:relative;background-image:var(--hero),var(--hero-fallback);background-position:center 46%,center 46%;background-size:cover;color:#fff;overflow:hidden}
.hero-home__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,12,.4) 0%,rgba(13,13,12,.1) 38%,rgba(13,13,12,.62) 100%),linear-gradient(90deg,rgba(13,13,12,.2),transparent 48%)}
.hero-home__inner{position:relative;z-index:2;min-height:100svh;padding:116px 0 54px;display:grid;grid-template-rows:auto 1fr auto}
.hero-home__top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.8}
.hero-home__title{display:flex;align-items:center;padding-top:5vh}
.hero-home h1{font-family:var(--serif);font-size:clamp(78px,11.4vw,180px);line-height:.73;letter-spacing:-.064em;font-weight:400;margin:0;text-shadow:0 4px 30px rgba(0,0,0,.14)}
.hero-home h1 em{font-weight:400;margin-left:9vw}
.hero-home__footer{display:grid;grid-template-columns:minmax(240px,500px) auto;justify-content:space-between;align-items:end;gap:40px}
.hero-home__footer p{font-size:15px;line-height:1.65;max-width:440px;margin:0;color:rgba(255,255,255,.9)}
.hero-cta{width:158px;height:158px;border:1px solid rgba(255,255,255,.72);border-radius:50%;display:flex;flex-direction:column;justify-content:space-between;padding:27px;color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase;transition:background .35s,color .35s,transform .35s}
.hero-cta b{font-size:22px;line-height:1;align-self:flex-end;font-weight:300}.hero-cta:hover{background:#fff;color:var(--ink);transform:rotate(-2deg)}
.hero-home__line{position:absolute;z-index:2;left:0;bottom:0;height:1px;width:100%;background:rgba(255,255,255,.28)}
.hero-cta--dark{border-color:var(--ink);color:var(--ink)}.hero-cta--dark:hover{background:var(--ink);color:#fff}

/* intro */
.intro-premium{background:var(--cream)}
.intro-premium__grid{display:grid;grid-template-columns:190px 1fr;gap:50px}
.intro-premium__main{max-width:1100px}
.intro-premium__copy{margin-top:58px;display:grid;grid-template-columns:minmax(250px,530px) auto;justify-content:space-between;gap:50px;align-items:end}
.intro-premium__copy p{margin:0;font-size:18px;line-height:1.72;color:#46443f}

/* image story */
.photo-story{background:var(--paper)}
.photo-story__grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(300px,.6fr) minmax(200px,.42fr);gap:32px;align-items:start}
.photo-story figure{margin:0;overflow:hidden;position:relative;background:#d8d3ca}
.photo-story figure img{height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.photo-story figure:hover img{transform:scale(1.02)}
.photo-story__primary{aspect-ratio:1.18/1}.photo-story__primary img{object-position:center 54%}
.photo-story__secondary{aspect-ratio:.72/1;margin-top:175px!important}.photo-story__secondary img{object-position:center}
.photo-story figcaption{position:absolute;left:15px;bottom:14px;color:#fff;background:rgba(20,20,18,.64);backdrop-filter:blur(8px);padding:7px 9px;font-size:8px;letter-spacing:.12em;text-transform:uppercase}
.photo-story__copy{padding:44px 10px 0}
.photo-story__copy h2{font-family:var(--serif);font-size:clamp(42px,4.4vw,72px);line-height:.95;letter-spacing:-.045em;font-weight:400;margin:19px 0 25px}
.photo-story__copy p{font-size:14px;color:var(--muted);line-height:1.75;margin:0}

/* accommodation preview */
.stay-preview{background:var(--cream)}
.stay-preview__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.stay-card{display:block;border-top:1px solid var(--line);padding-top:16px}
.stay-card__image{overflow:hidden;background:#d4cec4;aspect-ratio:1.34/1}
.stay-card--apartment{margin-top:120px}
.stay-card__image img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.stay-card:hover img{transform:scale(1.025);filter:saturate(.92)}
.stay-card__body{padding:22px 0 10px;display:grid;grid-template-columns:150px 1fr auto;gap:28px;align-items:start}
.stay-card__body span,.stay-card__body b{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}
.stay-card__body h3{font-family:var(--serif);font-size:clamp(29px,2.6vw,44px);line-height:1.02;font-weight:400;letter-spacing:-.035em;margin:0}

/* full panorama */
.panorama-feature{min-height:82svh;position:relative;background-image:var(--hero),var(--hero-fallback);background-position:center,center;background-size:cover,cover;color:#fff;display:flex;align-items:flex-end}
.panorama-feature__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,15,.06),rgba(17,17,15,.62))}
.panorama-feature__content{position:relative;z-index:2;padding-bottom:70px;display:grid;grid-template-columns:1fr 360px;gap:60px;align-items:end}
.panorama-feature span{font-size:9px;letter-spacing:.22em;text-transform:uppercase;opacity:.75}
.panorama-feature h2{font-family:var(--serif);font-size:clamp(68px,8.2vw,135px);line-height:.82;letter-spacing:-.055em;font-weight:400;margin:22px 0 0}
.panorama-feature h2 em{color:#fff}
.panorama-feature p{margin:0;font-size:14px;line-height:1.7;color:rgba(255,255,255,.85)}
.panorama-feature--stay{min-height:72svh}

/* gallery ribbon */
.gallery-ribbon{background:var(--paper)}
.gallery-ribbon__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}
.gallery-ribbon__grid{display:grid;grid-template-columns:1.05fr .74fr 1.22fr .66fr;gap:12px;align-items:end}
.gallery-ribbon figure{margin:0;overflow:hidden;background:#d6d1c9}
.gallery-ribbon figure:nth-child(1){aspect-ratio:.85/1}.gallery-ribbon figure:nth-child(2){aspect-ratio:.82/1;margin-bottom:80px}.gallery-ribbon figure:nth-child(3){aspect-ratio:1.25/1}.gallery-ribbon figure:nth-child(4){aspect-ratio:.7/1;margin-bottom:35px}
.gallery-ribbon img{height:100%;object-fit:cover;transition:transform .7s}.gallery-ribbon figure:hover img{transform:scale(1.025)}

/* location */
.location-editorial{background:var(--wine);color:#fff}
.location-editorial__grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:70px;align-items:center}
.location-editorial__copy{padding:40px 0}.location-editorial .section-mark,.location-editorial__copy p{color:rgba(255,255,255,.7)}
.location-editorial .display em{color:#d9b9a9}
.location-editorial__copy p{max-width:520px;font-size:16px;line-height:1.75;margin:35px 0 40px}
.location-editorial .button-dark{background:#fff;color:var(--ink)}.location-editorial .button-dark:hover{background:#dbc8ba}
.location-editorial__image{margin:0;aspect-ratio:1.15/1;overflow:hidden;background:var(--wine-dark)}
.location-editorial__image img{height:100%;object-fit:cover}

/* closing CTA */
.closing-cta{background:var(--cream);padding-top:150px;padding-bottom:150px}
.closing-cta__inner{text-align:center;display:flex;align-items:center;flex-direction:column}
.closing-cta__inner>span{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.closing-cta h2{font-family:var(--serif);font-size:clamp(70px,9vw,145px);line-height:.82;letter-spacing:-.06em;font-weight:400;margin:30px 0 58px}

/* internal heroes */
.subhero{position:relative;min-height:86svh;padding-top:86px;background:var(--wine);color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.subhero--image{background-image:var(--hero),var(--hero-fallback);background-position:center 48%,center 48%;background-size:cover}
.subhero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,16,14,.2),rgba(16,16,14,.68))}
.subhero__content{position:relative;z-index:2;padding-bottom:68px}
.subhero .eyebrow{color:rgba(255,255,255,.75)}
.subhero h1{font-family:var(--serif);font-size:clamp(78px,10vw,155px);line-height:.78;letter-spacing:-.06em;font-weight:400;margin:25px 0 38px}
.subhero h1 em{color:#fff}
.subhero p{max-width:570px;font-size:15px;line-height:1.65;color:rgba(255,255,255,.86);margin:0}
.subhero--plain{min-height:72svh;background:var(--wine);color:#fff}
.subhero--plain .subhero__content{padding-bottom:78px}
.split-editorial{display:grid;grid-template-columns:190px 1fr;gap:55px;align-items:start}
.split-editorial .lead{font-size:20px;line-height:1.7;max-width:760px;color:#46433e;margin:50px 0 0}

/* about */
.editorial-pair__grid{display:grid;grid-template-columns:1.08fr .72fr .48fr;gap:30px;align-items:start}
.editorial-pair figure{margin:0;overflow:hidden;background:#d8d1c7}
.editorial-pair img{height:100%;object-fit:cover}
.editorial-pair__image--large{aspect-ratio:.88/1}.editorial-pair__image--small{aspect-ratio:.73/1;margin-top:260px!important}
.editorial-pair__copy{padding:70px 18px 0}.editorial-pair__copy h2{font-family:var(--serif);font-size:clamp(43px,4.5vw,73px);line-height:.94;font-weight:400;letter-spacing:-.05em;margin:20px 0 28px}.editorial-pair__copy p{color:var(--muted);line-height:1.75;margin:0}
.quote-band{background:var(--wine);color:#fff}
.quote-band__inner{display:grid;grid-template-columns:180px 1fr auto;gap:50px;align-items:end}
.quote-band__inner>span{font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.65)}
.quote-band blockquote{font-family:var(--serif);font-size:clamp(57px,6.3vw,100px);line-height:.9;letter-spacing:-.05em;font-weight:400;margin:0}
.quote-band blockquote em{color:#d7b8a6}
.quote-band .text-link{border-color:#fff}
.season-grid__grid{display:grid;grid-template-columns:1fr .72fr .9fr;gap:16px;align-items:end}.season-grid figure{margin:0;position:relative;overflow:hidden;background:#d4cdc3}.season-grid figure:nth-child(1){aspect-ratio:1.15/1}.season-grid figure:nth-child(2){aspect-ratio:.72/1;margin-bottom:90px}.season-grid figure:nth-child(3){aspect-ratio:.82/1}.season-grid img{height:100%;object-fit:cover}.season-grid figcaption{position:absolute;left:12px;bottom:12px;background:rgba(18,18,16,.66);color:#fff;padding:6px 8px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}

/* stay */
.stay-showcase__list{display:grid;gap:150px}
.stay-showcase__item{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.72fr);gap:80px;align-items:center}
.stay-showcase__item--reverse .stay-showcase__visual{order:2}.stay-showcase__item--reverse .stay-showcase__body{order:1}
.stay-showcase__visual{position:relative;overflow:hidden;background:#d6d0c7;min-height:640px}
.stay-showcase__visual img{width:100%;height:100%;min-height:640px;object-fit:cover}
.stay-showcase__visual>span{position:absolute;left:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:rgba(20,20,18,.8);color:#fff;display:grid;place-items:center;font-size:9px;letter-spacing:.14em}
.stay-showcase__body h2{font-family:var(--serif);font-size:clamp(49px,5.2vw,82px);line-height:.92;letter-spacing:-.052em;font-weight:400;margin:18px 0 28px}
.stay-showcase__body>p{color:var(--muted);line-height:1.75;margin:0 0 35px;max-width:610px}
.amenities-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-bottom:35px}.amenities-grid span{padding:13px 0;border-bottom:1px solid var(--line);font-size:11px}.amenities-grid span:nth-child(odd){padding-right:16px}.amenities-grid span:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
.two-col{display:grid;grid-template-columns:1fr .78fr;gap:120px;align-items:start}.two-col .section-mark{margin-bottom:35px}.prose{font-size:17px;line-height:1.75;color:#4c4944;padding-top:36px}.prose p{margin:0 0 24px}.prose .button{margin-top:10px}

/* gallery */
.gallery-page{background:var(--paper)}
.gallery-masonry{display:grid;grid-template-columns:repeat(12,1fr);gap:15px;align-items:start}
.gallery-item{margin:0;position:relative;overflow:hidden;background:#d8d2c9;grid-column:span 4;aspect-ratio:.78/1}
.gallery-item.landscape{grid-column:span 7;aspect-ratio:1.3/1}.gallery-item.wide{grid-column:span 8;aspect-ratio:1.55/1}.gallery-item.portrait{grid-column:span 4}.gallery-item.hero-shot{grid-column:span 12;aspect-ratio:2.05/1}
.gallery-item img{height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1)}.gallery-item:hover img{transform:scale(1.022)}
.gallery-item figcaption{position:absolute;left:0;bottom:0;right:0;padding:30px 18px 15px;background:linear-gradient(transparent,rgba(14,14,12,.65));color:#fff;font-size:9px;letter-spacing:.1em;text-transform:uppercase;display:flex;gap:14px}.gallery-item figcaption span{opacity:.65}

/* contact */
.contact-hero{min-height:70svh}
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}
.contact-details .section-mark{margin-bottom:54px}
.contact-block{padding:25px 0;border-top:1px solid var(--line)}.contact-block:last-child{border-bottom:1px solid var(--line)}
.contact-block>span{display:block;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.contact-block>a:not(.text-link),.contact-block p{font-family:var(--serif);font-size:clamp(26px,2.4vw,38px);line-height:1.1;margin:0 0 13px}
.contact-form-wrap{background:var(--cream);padding:58px 58px 50px}.contact-form-wrap h2{font-family:var(--serif);font-size:clamp(52px,5.2vw,82px);line-height:.9;letter-spacing:-.05em;font-weight:400;margin:18px 0 40px}
.contact-form label{display:block}.contact-form label>span{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;color:var(--muted)}
.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #bcb5aa;background:transparent;padding:11px 0 13px;outline:none;border-radius:0}.contact-form textarea{border:1px solid #bcb5aa;padding:14px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--wine)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:23px 0}.contact-form button{margin-top:24px}.form-note{font-size:10px;color:var(--muted)}
.form-status{padding:12px 14px;margin-bottom:20px;font-size:12px}.form-status.success{background:#e1eadf}.form-status.error{background:#efded8}
.contact-photo-band{position:relative;min-height:66svh;background-image:var(--hero),var(--hero-fallback);background-position:center,center;background-size:cover,cover;color:#fff;display:flex;align-items:flex-end}.contact-photo-band__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,16,.08),rgba(18,18,16,.66))}.contact-photo-band__content{position:relative;z-index:2;padding-bottom:60px}.contact-photo-band__content>span{font-size:9px;letter-spacing:.2em}.contact-photo-band h2{font-family:var(--serif);font-size:clamp(68px,8vw,125px);line-height:.82;letter-spacing:-.055em;font-weight:400;margin:22px 0}.contact-photo-band h2 em{color:#fff}.contact-photo-band p{margin:0;font-size:11px;letter-spacing:.15em}

/* generic + legal */
.legal,.generic-content{max-width:900px}.legal h2,.generic-content h2{font-family:var(--serif);font-size:42px;font-weight:400}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.post-card{border-top:1px solid var(--line);padding-top:25px}.post-card h2{font-family:var(--serif);font-size:32px;font-weight:400}.not-found{min-height:90vh;padding:180px 0 100px;display:flex;align-items:center}.not-found h1{font-family:var(--serif);font-size:clamp(80px,11vw,160px);font-weight:400;line-height:.8;margin:25px 0}

/* footer */
.site-footer{background:#151513;color:#f5f1e9;padding:95px 0 25px}
.footer-top{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;padding-bottom:75px;border-bottom:1px solid rgba(255,255,255,.16)}
.footer-brand>span{font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.55)}
.footer-brand h2{font-family:var(--serif);font-size:clamp(55px,6.2vw,95px);line-height:.86;letter-spacing:-.05em;font-weight:400;margin:23px 0 0}.footer-brand h2 em{color:#d6b6a5}
.footer-circle{width:135px;height:135px;border-radius:50%;border:1px solid rgba(255,255,255,.42);display:flex;flex-direction:column;justify-content:space-between;padding:24px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;transition:.3s}.footer-circle b{align-self:flex-end;font-size:19px;font-weight:300}.footer-circle:hover{background:#fff;color:#151513}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;padding:50px 0 60px}.footer-grid>div{display:flex;flex-direction:column;gap:9px}.footer-grid h3{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.42);font-weight:500;margin:0 0 11px}.footer-grid a,.footer-grid span{font-size:13px;color:rgba(255,255,255,.86);width:max-content;max-width:100%}.footer-grid a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:21px;display:grid;grid-template-columns:1fr 1fr 1fr;font-size:9px;letter-spacing:.08em;color:rgba(255,255,255,.42)}.footer-bottom a{text-align:center}.footer-bottom span:last-child{text-align:right}

/* motion */
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease var(--delay,0ms),transform .8s cubic-bezier(.2,.8,.2,1) var(--delay,0ms)}.js .reveal.is-visible{opacity:1;transform:none}

@media(max-width:1120px){
  :root{--shell:min(100% - 44px,1440px)}
  .header-inner{grid-template-columns:1fr auto}.site-nav{position:fixed;inset:0;background:var(--paper);color:var(--ink);opacity:0;visibility:hidden;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-family:var(--serif);font-size:clamp(35px,6vw,60px);transition:.3s}.nav-open .site-nav{opacity:1;visibility:visible;pointer-events:auto}.header-actions{grid-column:2;grid-row:1}.header-cta{display:none}.nav-toggle{display:block;z-index:3}.nav-open .site-header{color:var(--ink)}
  .photo-story__grid{grid-template-columns:1.1fr .72fr}.photo-story__secondary{display:none}.photo-story__copy{padding-right:0}
  .stay-card__body{grid-template-columns:110px 1fr}.stay-card__body b{grid-column:2}
  .panorama-feature__content{grid-template-columns:1fr 300px}
  .gallery-ribbon__grid{grid-template-columns:1fr .8fr 1.1fr}.gallery-ribbon figure:nth-child(4){display:none}
  .editorial-pair__grid{grid-template-columns:1fr .7fr}.editorial-pair__image--small{display:none}.editorial-pair__copy{padding-right:0}
  .quote-band__inner{grid-template-columns:150px 1fr}.quote-band .text-link{grid-column:2}
  .stay-showcase__item{gap:50px}.stay-showcase__visual,.stay-showcase__visual img{min-height:540px}
  .contact-grid{gap:50px}.contact-form-wrap{padding:45px}
}

@media(max-width:820px){
  :root{--shell:calc(100vw - 30px)}
  .section{padding:92px 0}.section-tight{padding:60px 0 92px}
  .header-inner{height:72px}.brand__main{font-size:18px}.brand__sub{font-size:7px}
  .hero-home__inner{padding:92px 0 30px}.hero-home__top span:last-child{display:none}.hero-home__title{padding-top:1vh}.hero-home h1{font-size:clamp(70px,19vw,104px);line-height:.79}.hero-home h1 em{margin-left:0}
  .hero-home__footer{grid-template-columns:1fr auto;gap:20px}.hero-home__footer p{font-size:13px}.hero-cta{width:110px;height:110px;padding:18px;font-size:8px}.hero-cta b{font-size:17px}
  .intro-premium__grid,.split-editorial{grid-template-columns:1fr;gap:30px}.intro-premium__copy{grid-template-columns:1fr;gap:34px;margin-top:38px}.display,.display-xl{font-size:clamp(48px,14vw,75px)}
  .photo-story__grid{grid-template-columns:1fr}.photo-story__copy{padding:10px 0 0}.photo-story__primary{aspect-ratio:1/1}.photo-story__secondary{display:block;aspect-ratio:1.35/1;margin-top:0!important}
  .section-head{grid-template-columns:1fr;gap:28px;margin-bottom:45px}.stay-preview__grid{grid-template-columns:1fr}.stay-card--apartment{margin-top:40px}.stay-card__body{grid-template-columns:1fr;gap:12px}.stay-card__body b{grid-column:1}.stay-card__body h3{font-size:36px}
  .panorama-feature{min-height:68svh}.panorama-feature__content{grid-template-columns:1fr;gap:30px;padding-bottom:34px}.panorama-feature h2{font-size:clamp(62px,17vw,90px)}.panorama-feature p{max-width:420px}
  .gallery-ribbon__grid{grid-template-columns:1fr 1fr;gap:9px}.gallery-ribbon figure:nth-child(3){grid-column:1/3}.gallery-ribbon figure:nth-child(2){margin-bottom:0}.gallery-ribbon__head{align-items:flex-end}
  .location-editorial__grid{grid-template-columns:1fr;gap:45px}.location-editorial__image{aspect-ratio:1/1}.closing-cta{padding:100px 0}.closing-cta h2{font-size:clamp(66px,17vw,96px)}
  .subhero{padding-top:72px;min-height:76svh}.subhero--plain{min-height:62svh}.subhero__content{padding-bottom:42px}.subhero h1{font-size:clamp(68px,18vw,100px);line-height:.8}.subhero p{font-size:13px}
  .editorial-pair__grid{grid-template-columns:1fr}.editorial-pair__copy{padding:15px 0 0}.editorial-pair__image--large{aspect-ratio:1/1}.editorial-pair__image--small{display:block;aspect-ratio:1.25/1;margin-top:0!important}
  .quote-band__inner{grid-template-columns:1fr;gap:30px}.quote-band .text-link{grid-column:1}.quote-band blockquote{font-size:clamp(52px,14vw,76px)}
  .season-grid__grid{grid-template-columns:1fr 1fr;gap:9px}.season-grid figure:nth-child(1){grid-column:1/3}.season-grid figure:nth-child(2){margin-bottom:0}
  .stay-showcase__list{gap:95px}.stay-showcase__item{grid-template-columns:1fr;gap:35px}.stay-showcase__item--reverse .stay-showcase__visual,.stay-showcase__item--reverse .stay-showcase__body{order:initial}.stay-showcase__visual,.stay-showcase__visual img{min-height:430px}.stay-showcase__body h2{font-size:clamp(45px,13vw,70px)}
  .two-col{grid-template-columns:1fr;gap:40px}.prose{padding-top:0}
  .gallery-masonry{gap:9px}.gallery-item,.gallery-item.landscape,.gallery-item.wide,.gallery-item.portrait{grid-column:span 6;aspect-ratio:.82/1}.gallery-item.hero-shot{grid-column:span 12;aspect-ratio:1.15/1}
  .contact-grid{grid-template-columns:1fr;gap:45px}.contact-form-wrap{padding:34px 22px}.contact-photo-band{min-height:56svh}.contact-photo-band h2{font-size:clamp(62px,17vw,90px)}
  .footer-top{grid-template-columns:1fr;gap:40px}.footer-circle{width:112px;height:112px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/3}.footer-bottom{grid-template-columns:1fr 1fr}.footer-bottom span:last-child{display:none}
}

@media(max-width:520px){
  .hero-home__footer{grid-template-columns:1fr;align-items:start}.hero-cta{margin-left:auto}.intro-premium__copy p{font-size:16px}
  .gallery-ribbon__head{display:grid;gap:18px}.gallery-ribbon figure:nth-child(1),.gallery-ribbon figure:nth-child(2){aspect-ratio:.8/1}
  .gallery-masonry{grid-template-columns:1fr}.gallery-item,.gallery-item.landscape,.gallery-item.wide,.gallery-item.portrait,.gallery-item.hero-shot{grid-column:1;aspect-ratio:.86/1}.gallery-item.hero-shot,.gallery-item.landscape,.gallery-item.wide{aspect-ratio:1.08/1}
  .amenities-grid{grid-template-columns:1fr}.amenities-grid span:nth-child(even){padding-left:0;border-left:0}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:1}.footer-bottom{grid-template-columns:1fr auto}.footer-brand h2{font-size:52px}
}

@media(pointer:coarse){.photo-story figure:hover img,.stay-card:hover img,.gallery-ribbon figure:hover img,.gallery-item:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1!important;transform:none!important;transition:none!important}*{animation:none!important;transition-duration:.01ms!important}}

/* v3 refinement — navigation + responsive polish */
.site-header--plain{color:var(--ink)}
.site-header--plain:not(.is-scrolled){background:rgba(241,238,232,.84);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,23,20,.1)}
.header-inner{height:82px;grid-template-columns:minmax(190px,240px) minmax(0,1fr) minmax(170px,240px);gap:24px}
.site-nav{gap:clamp(18px,2vw,34px);font-size:11px;letter-spacing:.075em;text-transform:uppercase}
.site-nav a{padding:12px 0}
.header-cta{border:1px solid currentColor;border-bottom:1px solid currentColor;padding:11px 15px;min-width:132px;justify-content:space-between;transition:background .25s,color .25s,border-color .25s}
.header-cta b{font-size:14px;font-weight:400;line-height:1}
.header-cta:hover{background:#fff;color:var(--ink);border-color:#fff}
.site-header.is-scrolled .header-cta:hover,.site-header--plain .header-cta:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* stronger desktop rhythm */
.section{padding:clamp(108px,8vw,144px) 0}
.section-tight{padding:clamp(68px,5.5vw,92px) 0 clamp(104px,8vw,138px)}
.section-head{grid-template-columns:170px minmax(0,1fr);gap:clamp(34px,5vw,72px);margin-bottom:clamp(48px,5vw,76px)}
.intro-premium__grid{grid-template-columns:170px minmax(0,1fr);gap:clamp(34px,5vw,72px)}
.hero-home__inner{padding-top:108px;padding-bottom:48px}
.hero-home__title{padding-top:2vh}
.hero-home h1{max-width:1200px;font-size:clamp(76px,10.5vw,166px);line-height:.76}
.hero-home__footer p{font-size:16px;max-width:500px}
.hero-cta{width:144px;height:144px;padding:24px}
.photo-story__grid{grid-template-columns:minmax(0,1.25fr) minmax(270px,.58fr) minmax(210px,.4fr);gap:clamp(22px,2.5vw,38px)}
.photo-story__copy{padding-top:28px}
.photo-story__secondary{margin-top:135px!important}
.stay-preview__grid{gap:clamp(18px,2.2vw,34px)}
.stay-card--apartment{margin-top:86px}
.stay-card__body{grid-template-columns:132px minmax(0,1fr) auto;gap:22px}
.gallery-ribbon__grid{gap:clamp(10px,1.4vw,20px)}
.location-editorial__grid{gap:clamp(50px,7vw,118px)}
.closing-cta__inner{min-height:420px}

@media (min-width:761px){
  body.nav-open{overflow:auto}
  .header-inner{grid-template-columns:minmax(175px,220px) minmax(0,1fr) minmax(140px,190px)}
  .site-nav{
    position:static!important;inset:auto!important;background:transparent!important;color:inherit!important;
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;
    font-family:var(--sans)!important;font-size:11px!important;gap:clamp(14px,1.9vw,30px)!important;
    transition:none!important;
  }
  .header-actions{grid-column:auto!important;grid-row:auto!important}
  .header-cta{display:inline-flex!important}
  .nav-toggle{display:none!important}
  .nav-open .site-header{color:inherit}
}

@media (min-width:761px) and (max-width:1120px){
  :root{--shell:min(100% - 34px,1440px)}
  .header-inner{height:76px;grid-template-columns:158px minmax(0,1fr) 126px;gap:12px}
  .brand__main{font-size:18px}.brand__sub{font-size:6.5px;letter-spacing:.22em}
  .site-nav{gap:clamp(10px,1.45vw,18px)!important;font-size:9.5px!important;letter-spacing:.055em}
  .header-cta{min-width:118px;padding:9px 11px;font-size:9px;gap:8px}
}

@media (max-width:760px){
  :root{--shell:calc(100vw - 28px)}
  .site-header{color:#fff}
  .site-header--plain,.site-header.is-scrolled{color:var(--ink)}
  .site-header.is-scrolled,.site-header--plain:not(.is-scrolled){background:rgba(241,238,232,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
  .header-inner{height:68px;display:grid;grid-template-columns:1fr auto;gap:14px}
  .brand__main{font-size:17px;letter-spacing:.045em}.brand__sub{font-size:6.5px;letter-spacing:.22em;margin-top:5px}
  .header-actions{grid-column:2;grid-row:1;display:flex;align-items:center}
  .header-cta{display:none}
  .nav-toggle{display:block;z-index:1002;width:40px;height:40px;padding:7px}
  .nav-toggle span{left:8px;width:24px}.nav-toggle span:first-child{top:15px}.nav-toggle span:nth-child(2){top:24px}
  .site-nav{
    position:absolute;top:68px;left:14px;right:14px;bottom:auto;inset:auto 14px auto 14px;
    background:rgba(247,243,236,.985);color:var(--ink);border:1px solid rgba(23,23,20,.12);
    box-shadow:0 18px 45px rgba(23,23,20,.12);padding:14px 18px 18px;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);
    display:grid;grid-template-columns:1fr;font-family:var(--sans);font-size:12px;letter-spacing:.09em;text-transform:uppercase;
    align-items:stretch;justify-content:stretch;gap:0;transition:opacity .22s ease,transform .22s ease,visibility .22s;
  }
  .site-nav a{padding:14px 2px;border-bottom:1px solid rgba(23,23,20,.12)}
  .site-nav a:last-child{border-bottom:0}
  .site-nav a:after{display:none}
  .nav-open .site-nav{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .nav-open .site-header{color:var(--ink)}
  body.nav-open{overflow:auto}

  .section{padding:82px 0}.section-tight{padding:56px 0 82px}
  .section-head,.intro-premium__grid{grid-template-columns:1fr;gap:24px}
  .section-head{margin-bottom:38px}
  .display,.display-xl{font-size:clamp(46px,13.5vw,70px);line-height:.94;letter-spacing:-.045em}
  .hero-home{min-height:720px}
  .hero-home__inner{padding:88px 0 28px}
  .hero-home__top{font-size:7.5px;letter-spacing:.13em}
  .hero-home h1{font-size:clamp(62px,18.5vw,94px);line-height:.8;letter-spacing:-.055em}
  .hero-home h1 em{margin-left:0}
  .hero-home__footer{grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}
  .hero-home__footer p{font-size:13px;line-height:1.55;max-width:260px}
  .hero-cta{width:96px;height:96px;padding:15px;font-size:7px;letter-spacing:.05em}.hero-cta b{font-size:15px}
  .intro-premium__copy{margin-top:30px;grid-template-columns:1fr;gap:28px}
  .intro-premium__copy p{font-size:16px;line-height:1.65}
  .photo-story__grid{grid-template-columns:1fr;gap:22px}
  .photo-story__primary{aspect-ratio:1.04/1}.photo-story__secondary{display:block;aspect-ratio:1.35/1;margin-top:0!important}
  .photo-story__copy{padding:2px 0 0}.photo-story__copy h2{font-size:44px;margin:14px 0 20px}
  .stay-preview__grid{grid-template-columns:1fr;gap:40px}.stay-card--apartment{margin-top:0}
  .stay-card__image{aspect-ratio:1.12/1}.stay-card__body{grid-template-columns:1fr;gap:10px;padding-top:17px}.stay-card__body b{grid-column:auto}
  .stay-card__body h3{font-size:34px}
  .panorama-feature{min-height:62svh}.panorama-feature__content{grid-template-columns:1fr;gap:22px;padding-bottom:28px}.panorama-feature h2{font-size:clamp(58px,16vw,82px)}
  .gallery-ribbon__grid{grid-template-columns:1fr 1fr;gap:8px}.gallery-ribbon figure:nth-child(3){grid-column:1/3}.gallery-ribbon figure:nth-child(4){display:none}
  .location-editorial__grid{grid-template-columns:1fr;gap:38px}.location-editorial__image{aspect-ratio:1/1.05}
  .closing-cta{padding:84px 0}.closing-cta__inner{min-height:auto}.closing-cta h2{font-size:clamp(58px,16vw,84px)}
  .subhero{padding-top:68px;min-height:68svh}.subhero--plain{min-height:55svh}.subhero__content{padding-bottom:34px}.subhero h1{font-size:clamp(60px,17vw,88px)}
  .stay-showcase__item{gap:28px}.stay-showcase__visual,.stay-showcase__visual img{min-height:360px}.stay-showcase__body h2{font-size:44px}
  .amenities-grid{gap:0}
  .contact-form-wrap{padding:28px 18px}.contact-grid{gap:36px}
  .footer-top{padding-bottom:52px}.footer-grid{padding:38px 0 44px;gap:34px 22px}.site-footer{padding-top:72px}
}

@media (max-width:420px){
  :root{--shell:calc(100vw - 24px)}
  .hero-home__footer{grid-template-columns:1fr}.hero-cta{margin-left:auto;margin-top:-12px}
  .hero-home__footer p{max-width:310px}
  .gallery-ribbon__grid{grid-template-columns:1fr}.gallery-ribbon figure:nth-child(3){grid-column:auto}.gallery-ribbon figure:nth-child(2){display:none}
  .footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{grid-template-columns:1fr;gap:8px}.footer-bottom a{text-align:left}
}
