:root{--ink:#161714;--paper:#f7f5ef;--white:#fff;--sage:#c9d1b8;--sage-deep:#aebc9a;--line:#d8d5cc;--muted:#6b6b64;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.55}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:9999;background:white;padding:.7rem 1rem}.nav-wrap{position:sticky;top:0;z-index:80}.nav{height:88px;background:rgba(250,249,245,.96);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:blur(10px)}.brand img{width:52px;height:52px;object-fit:contain}.nav-title{font-family:var(--serif);font-size:32px;text-decoration:none;color:var(--ink);letter-spacing:.01em}.nav-actions{justify-self:end;display:flex;align-items:center;gap:16px}.reservation-button,.sage-button,.submit-button{border:0;background:var(--sage);padding:14px 22px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;cursor:pointer;color:#111}.reservation-button:hover,.sage-button:hover,.submit-button:hover{background:var(--sage-deep)}.menu-toggle{width:44px;height:44px;background:none;border:0;display:grid;gap:5px;align-content:center;cursor:pointer}.menu-toggle span{display:block;height:1px;background:#111;width:26px}.menu-drawer{position:fixed;inset:0 0 0 auto;width:min(560px,100%);background:#f6f4ee;padding:110px 8vw 4rem;transform:translateX(100%);transition:.35s ease;z-index:95;box-shadow:-20px 0 50px rgba(0,0,0,.12)}.menu-drawer.open{transform:none}.menu-close{position:absolute;right:3vw;top:24px;font-size:34px;border:0;background:none;cursor:pointer}.drawer-links{display:flex;flex-direction:column;gap:14px}.drawer-links a,.drawer-enquire{font-family:var(--serif);font-size:28px;color:var(--ink);text-decoration:none;border:0;background:none;text-align:left;padding:4px 0;cursor:pointer}.drawer-links a:hover,.drawer-enquire:hover{font-style:italic}.hero{background:#fff}.hero-media{position:relative;height:min(76vh,780px);overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .75s ease;background:#edece7;display:flex;align-items:center;justify-content:center}.hero-slide.is-active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-slide.portrait img{object-fit:contain;background:#efeee9}.hero-bottom{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-top:1px solid #eee}.hero-bottom>a,.text-link,.story-link{color:var(--ink);text-decoration:none;background:none;border:0;border-bottom:1px solid #999;padding:0 0 4px;cursor:pointer;font-family:inherit}.hero-controls{display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.hero-controls button{border:0;background:none;cursor:pointer;font-size:16px}.play-control{font-size:10px!important;letter-spacing:.1em}.intro{padding:120px 8vw 135px;max-width:1100px;margin:auto;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;margin:0 0 20px}.intro h1,.story-copy h2,.stay-heading h2,.content-band h2,.planning-head h2,.section-heading h2,.history h2,.details h2,.visit h2,.closing h2,.modal h2{font-family:var(--serif);font-weight:400;line-height:1.02;margin:0}.intro h1{font-size:clamp(54px,8vw,104px)}em{font-weight:400}.intro>p:last-child{max-width:690px;margin:34px auto 0;font-family:var(--serif);font-size:21px}.story-panel{display:grid;grid-template-columns:58% 42%;min-height:760px;background:#fff}.story-panel>img{width:100%;height:100%;object-fit:cover}.story-copy{padding:10vw 7vw;align-self:center}.story-copy h2{font-size:clamp(48px,5.5vw,78px)}.story-copy>p:not(.eyebrow){font-family:var(--serif);font-size:20px;max-width:560px}.small-copy{font-size:15px!important;color:var(--muted)}.stay-editorial{display:grid;grid-template-columns:40% 36% 24%;min-height:740px;background:#f1efe8}.stay-heading{padding:9vw 6vw;align-self:center}.stay-heading h2{font-size:clamp(46px,5vw,76px)}.stay-heading>p:not(.eyebrow){font-family:var(--serif);font-size:19px}.stay-image-large,.stay-image-small{overflow:hidden}.stay-image-large img,.stay-image-small img{width:100%;height:100%;object-fit:cover}.content-band{padding:110px 7vw;display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;background:#fff;border-top:1px solid var(--line)}.content-band h2{font-size:clamp(42px,5vw,70px)}.content-columns{columns:2;column-gap:4vw;font-family:var(--serif);font-size:18px}.content-columns p{break-inside:avoid;margin-top:0}.planning-section{padding:120px 7vw;background:#e9ebdf}.planning-head{max-width:760px;margin-bottom:64px}.planning-head h2{font-size:clamp(44px,5.5vw,74px)}.planning-head>p:last-child{font-family:var(--serif);font-size:20px}.planning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.12)}.planning-grid article{background:#f6f5ef;padding:36px}.planning-grid h3{font-family:var(--serif);font-size:24px;font-weight:400;margin-top:0}.planning-grid p{color:#444}.gallery{padding:120px 4vw;background:#fff}.section-heading{text-align:center;max-width:760px;margin:0 auto 70px}.section-heading h2{font-size:clamp(48px,6vw,82px)}.section-heading>p:last-child{font-family:var(--serif);font-size:18px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.photo-button{padding:0;border:0;background:none;overflow:hidden;cursor:zoom-in}.photo-button img{display:block;width:100%;height:100%;object-fit:cover}.photo-button.landscape{aspect-ratio:1.45/1}.photo-button.portrait{aspect-ratio:.68/1}.press-strip{background:#fbfaf6;padding:70px 6vw;display:flex;align-items:center;justify-content:center;gap:6vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.press-strip img{max-width:150px;max-height:70px;object-fit:contain;filter:grayscale(1)}.press-label{text-transform:uppercase;letter-spacing:.2em;font-size:11px}.history{display:grid;grid-template-columns:1fr 1fr;background:#f4f2eb}.history img{width:100%;height:620px;object-fit:cover}.history>div{padding:10vw 7vw;align-self:center}.history h2{font-size:clamp(44px,5vw,72px)}.history p:not(.eyebrow){font-family:var(--serif);font-size:19px}.concierge-intro{display:grid;grid-template-columns:auto 1fr auto;gap:38px;align-items:center;padding:90px 7vw;background:#fff}.monogram{width:68px;height:68px;border:1px solid #777;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:31px}.concierge-intro h2{font-family:var(--serif);font-size:42px;font-weight:400;margin:0 0 10px}.concierge-intro p:last-child{max-width:700px}.details{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:110px 7vw;background:#f5f3ec}.details h2{font-size:clamp(44px,5vw,68px)}.details-list details{border-top:1px solid #bbb;padding:22px 0}.details-list details:last-child{border-bottom:1px solid #bbb}.details-list summary{font-family:var(--serif);font-size:21px;cursor:pointer}.details-list p{max-width:720px;color:#444}.visit{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:100px 7vw;background:#fff}.visit h2{font-size:clamp(44px,5vw,70px)}.visit p{font-family:var(--serif);font-size:19px}.closing{position:relative;height:640px;overflow:hidden}.closing>img{width:100%;height:100%;object-fit:cover}.closing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.4),transparent 62%)}.closing-content{position:absolute;z-index:2;left:7vw;top:50%;transform:translateY(-50%);color:#fff}.closing h2{font-size:clamp(54px,7vw,92px)}.button.light{border:1px solid #fff;background:rgba(255,255,255,.15);color:#fff;padding:14px 24px;margin-top:24px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.footer{background:var(--sage);padding:70px 7vw 24px}.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6vw}.footer-logo{max-width:230px;max-height:90px;object-fit:contain}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-links a,.footer-links button{color:#111;text-decoration:none;background:none;border:0;text-align:left;padding:0;font:inherit;cursor:pointer}.footer-bottom{margin-top:60px;border-top:1px solid rgba(0,0,0,.25);padding-top:20px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.05em}.floating-blanche{position:fixed;right:24px;bottom:24px;z-index:60;border:0;background:#f4f1e7;box-shadow:0 8px 30px rgba(0,0,0,.18);padding:12px 18px;border-radius:999px;display:flex;align-items:center;gap:9px;cursor:pointer}.floating-blanche b{width:26px;height:26px;border:1px solid #777;border-radius:50%;display:grid;place-items:center;font-family:var(--serif)}.modal{position:fixed;inset:0;background:rgba(22,23,20,.58);z-index:120;display:none;align-items:center;justify-content:center;padding:24px}.modal.open{display:flex}.modal-card{position:relative;background:#faf8f2;max-height:92vh;overflow:auto;width:min(940px,100%);padding:56px}.modal-close{position:absolute;right:24px;top:18px;border:0;background:none;font-size:34px;cursor:pointer}.modal h2{font-size:clamp(40px,5vw,64px)}.modal-intro{font-family:var(--serif);font-size:18px;max-width:720px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:35px}.form-grid label{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.form-grid label span{color:#777;text-transform:none;letter-spacing:0}.form-grid input,.form-grid select,.form-grid textarea,.chat-form input{display:block;width:100%;border:1px solid #bbb;background:#fff;padding:13px;margin-top:7px;font:inherit}.full{grid-column:1/-1}.consent{display:flex!important;gap:10px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important}.consent input{width:auto;margin:4px 0 0}.captcha-wrap{padding:20px;background:#f1f0ea;border:1px solid #d5d2c7}.captcha-wrap p{font-size:11px;color:#666;margin:10px 0 0}.submit-button{margin-top:20px}.form-success{margin-top:18px;padding:18px;background:#e5eadc;display:flex;flex-direction:column}.blanche-card{width:min(760px,100%)}.blanche-heading{display:flex;gap:20px;align-items:center}.blanche-note{background:#efede6;padding:16px 18px}.quick-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:24px 0;max-height:280px;overflow:auto;padding-right:4px}.quick-questions button{border:1px solid #c8c5bb;background:#fff;padding:12px 14px;cursor:pointer;text-align:left;font-family:var(--serif);font-size:16px;line-height:1.25}.quick-questions button:hover{background:#f3f1e9}.chat-window{min-height:220px;max-height:330px;overflow:auto;background:#f7f5ef;border:1px solid #ddd;padding:18px;display:flex;flex-direction:column;gap:12px}.blanche-msg,.user-msg{border:1px solid #d7d2c6;background:#fff;padding:16px 18px;max-width:86%;box-shadow:0 3px 12px rgba(0,0,0,.04)}.blanche-msg{align-self:flex-start;border-left:3px solid var(--sage-deep)}.user-msg{align-self:flex-end;background:#ece9e1;margin:0}.chat-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.chat-form button{border:0;background:var(--sage);padding:0 20px;cursor:pointer}
.wedding-quote{padding:110px 8vw;background:#f5f3ec;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.wedding-quote blockquote{margin:0 auto;max-width:980px;font-family:var(--serif);font-size:clamp(28px, 3.2vw, 44px);font-weight:400;line-height:1.16}.wedding-quote p{margin:26px 0 0;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#666}
@media(max-width:900px){.nav{height:72px;padding:0 18px}.nav-title{font-size:24px}.brand img{width:42px;height:42px}.reservation-button{padding:11px 13px;font-size:10px}.hero-media{height:62vh}.story-panel,.history,.details,.visit,.content-band{grid-template-columns:1fr}.story-panel{min-height:0}.story-panel>img{height:520px}.stay-editorial{grid-template-columns:1fr 1fr}.stay-heading{grid-column:1/-1;padding:80px 7vw}.stay-image-large,.stay-image-small{height:520px}.planning-grid{grid-template-columns:1fr 1fr}.content-columns{columns:1}.concierge-intro{grid-template-columns:auto 1fr}.concierge-intro>.text-link{grid-column:2}.history img{height:500px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.nav{grid-template-columns:auto 1fr auto}.nav-title{text-align:center;font-size:21px}.reservation-button{display:none}.hero-media{height:58vh}.hero-slide.portrait img{object-fit:cover}.hero-bottom{padding:0 18px}.hero-controls{gap:8px}.intro{padding:82px 24px 92px}.intro h1{font-size:52px}.story-panel>img{height:430px}.story-copy{padding:70px 24px}.stay-editorial{display:block}.stay-heading{padding:72px 24px}.stay-image-large{height:520px}.stay-image-small{height:360px}.content-band,.planning-section,.gallery,.details,.visit{padding:78px 24px}.planning-grid{grid-template-columns:1fr}.photo-grid{gap:10px}.photo-button.landscape{aspect-ratio:1/1}.photo-button.portrait{aspect-ratio:.72/1}.press-strip{gap:24px;flex-wrap:wrap}.press-strip img{max-width:105px}.history img{height:420px}.history>div{padding:72px 24px}.concierge-intro{padding:70px 24px;grid-template-columns:auto 1fr}.closing{height:540px}.closing-content{left:24px}.footer{padding:60px 24px 24px}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}.modal{padding:0}.modal-card{min-height:100vh;max-height:100vh;padding:54px 22px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.quick-questions{grid-template-columns:1fr;max-height:240px}.blanche-msg,.user-msg{max-width:94%}.floating-blanche span{display:none}.floating-blanche{padding:10px}}

.rooms-gallery{padding:7rem 5vw 8rem;background:#f6f3ed}
.rooms-gallery-head{max-width:760px;margin:0 auto 3.5rem;text-align:center}
.rooms-gallery-head h2{font-size:clamp(2.4rem,5vw,4.8rem);font-weight:400;line-height:.98;margin:.5rem 0 1.25rem}
.rooms-gallery-head p:last-child{max-width:650px;margin:0 auto;line-height:1.8}
.rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1450px;margin:0 auto}
.rooms-grid figure{margin:0;background:#fff}
.rooms-grid img{width:100%;height:520px;object-fit:cover;display:block}
.rooms-grid figcaption{padding:1rem 1.1rem 1.25rem;font-size:.84rem;letter-spacing:.03em}
.editorial-grid .photo-button img{filter:none}
.history-images{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-self:stretch}
.history-images img{width:100%;height:100%;min-height:380px;object-fit:cover;display:block}
@media(max-width:850px){.rooms-grid{grid-template-columns:1fr}.rooms-grid img{height:auto;aspect-ratio:4/3}.history-images{grid-template-columns:1fr}.history-images img{min-height:0}}

@media(min-width:901px){
  .nav{height:112px;padding:0 4.5vw;}
  .brand img{width:78px;height:78px;}
  .nav-title{font-size:38px;letter-spacing:.015em;}
  .reservation-button{padding:16px 26px;font-size:12px;}
  .hero-media{height:min(84vh,920px);}
  .gallery{padding-left:5vw;padding-right:5vw;}
  .photo-grid{gap:24px;}
  .photo-button.portrait{grid-column:1/-1;width:min(820px,76vw);justify-self:center;aspect-ratio:2/3;}
  .photo-button.portrait img{object-position:center top;}
}
@media(min-width:1250px){
  .brand img{width:86px;height:86px;}
  .nav-title{font-size:41px;}
  .hero-media{height:min(86vh,960px);}
}


.press-strip{padding:86px 5vw;gap:clamp(48px,7vw,120px);}
.press-strip img{max-width:220px;max-height:105px;width:auto;height:auto;}
.press-label{font-size:12px;letter-spacing:.24em;}
@media(min-width:1200px){.press-strip img{max-width:250px;max-height:118px;}}
@media(max-width:900px){.press-strip{padding:64px 5vw;gap:42px}.press-strip img{max-width:170px;max-height:88px;}}
@media(max-width:620px){.press-strip{padding:52px 24px;gap:30px}.press-strip img{max-width:135px;max-height:72px}.press-label{width:100%;text-align:center;margin-bottom:2px}}

.press-strip{display:block;padding:96px 5vw 84px;background:#fbfaf6;border-top:1px solid var(--line);border-bottom:0;}
.press-inner{max-width:1500px;margin:0 auto;text-align:center;}
.press-label{font-family:var(--serif);font-size:clamp(24px,2.3vw,36px);letter-spacing:.12em;text-transform:uppercase;margin-bottom:42px;color:var(--ink);}
.press-logos{display:flex;align-items:center;justify-content:center;gap:clamp(64px,8vw,140px);flex-wrap:wrap;}
.press-logos img{max-width:300px;max-height:138px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);}
.press-rule{height:1px;background:var(--line);margin:54px auto 0;width:min(1280px,92%);}
@media(min-width:1400px){.press-logos img{max-width:340px;max-height:150px;}}
@media(max-width:900px){.press-strip{padding:74px 5vw 68px}.press-label{margin-bottom:32px}.press-logos{gap:46px}.press-logos img{max-width:220px;max-height:110px}.press-rule{margin-top:42px;width:94%}}
@media(max-width:620px){.press-strip{padding:62px 24px 56px}.press-label{font-size:24px;margin-bottom:28px}.press-logos{gap:34px}.press-logos img{max-width:165px;max-height:82px}.press-rule{margin-top:36px;width:100%}}


.brand{display:flex;align-items:center;min-width:0;overflow:visible}
.brand img{width:150px!important;height:88px!important;max-width:none;object-fit:contain!important;object-position:center;display:block}
.hero{padding-top:22px;background:#fff}
.hero-media{width:min(94vw,1680px);margin:0 auto;height:min(78vh,850px);background:#fff;overflow:hidden}
.hero-slide{background:#fff}
.hero-slide img{object-fit:cover;object-position:center}
.hero-slide:first-child img{object-fit:contain;background:#fff}
.photo-credits{margin-top:48px;padding-top:20px;border-top:1px solid rgba(0,0,0,.18);font-size:10px;line-height:1.6;letter-spacing:.045em;color:rgba(0,0,0,.62);max-width:1200px}
.photo-credits span{font-style:italic}
@media(min-width:1250px){.brand img{width:176px!important;height:98px!important}.nav{height:122px}.hero-media{height:min(80vh,900px)}}
@media(max-width:900px){.brand img{width:108px!important;height:58px!important}.hero{padding-top:12px}.hero-media{width:96vw;height:64vh}.photo-credits{font-size:9px}}
@media(max-width:620px){.brand img{width:82px!important;height:48px!important}.hero{padding-top:8px}.hero-media{width:100%;height:56vh}.hero-slide:first-child img{object-fit:cover}.photo-credits{margin-top:34px;padding-top:16px}}

.logo-title{display:flex;align-items:center;justify-content:center;text-decoration:none;line-height:1;}
.logo-title img{display:block;width:clamp(190px,19vw,330px);height:auto;max-height:106px;object-fit:contain;}
.hero-slide:first-child img{object-fit:cover!important;background:#fff;}
.hero-slide img{object-position:center center;}
.hero-slide:nth-child(1) img{object-position:center 48%;}
.hero-slide:nth-child(2) img{object-position:center 54%;}
.hero-slide:nth-child(3) img{object-position:center 50%;}
@media(min-width:1250px){.logo-title img{width:320px;max-height:112px}.nav{height:132px}.brand img{width:94px!important;height:94px!important}}
@media(max-width:900px){.logo-title img{width:220px;max-height:78px}.brand img{width:64px!important;height:64px!important}}
@media(max-width:620px){.logo-title img{width:170px;max-height:64px}.brand img{width:50px!important;height:50px!important}.nav{grid-template-columns:56px 1fr auto}}

.logo-title img{width:clamp(230px,21vw,390px);max-height:72px;object-fit:contain;}
@media(min-width:1250px){.logo-title img{width:380px;max-height:76px}}
@media(max-width:900px){.logo-title img{width:250px;max-height:58px}}
@media(max-width:620px){.logo-title img{width:185px;max-height:46px}}

/* Keep the stay section visually calm: copy + one atmospheric image only. */
.stay-editorial{grid-template-columns:42% 58%;min-height:760px;}
.stay-single-image{min-height:760px;}
.stay-single-image img{width:100%;height:100%;object-fit:cover;object-position:center;}
@media(max-width:900px){.stay-editorial{grid-template-columns:1fr}.stay-heading{grid-column:auto}.stay-single-image{height:650px;min-height:0}}
@media(max-width:620px){.stay-single-image{height:560px}}

/* Ten genuinely strong hero images. First aerial keeps full impact without letterboxing. */
.hero-slide img{object-fit:cover!important;}
.hero-slide:nth-child(1) img{object-position:center 48%;}
.hero-slide:nth-child(2) img{object-position:center 58%;}
.hero-slide:nth-child(3) img{object-position:center 50%;}
.hero-slide:nth-child(4) img{object-position:center 48%;}
.hero-slide:nth-child(5) img{object-position:center 50%;}
.hero-slide:nth-child(6) img{object-position:center 50%;}
.hero-slide:nth-child(7) img{object-position:center 50%;}
.hero-slide:nth-child(8) img{object-position:center 50%;}
.hero-slide:nth-child(9) img{object-position:center 48%;}
.hero-slide:nth-child(10) img{object-position:center 52%;}

/* Structured lower gallery: deliberate sequences, not a masonry hodgepodge. */
.gallery{padding-top:128px;padding-bottom:128px;}
.gallery-story{max-width:1500px;margin:0 auto;display:grid;gap:24px;}
.gallery-story figure,.living-gallery figure{margin:0;overflow:hidden;background:#eee;}
.gallery-story img,.living-gallery img{display:block;width:100%;height:100%;object-fit:cover;}
.gallery-feature{aspect-ratio:16/8.5;}
.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.gallery-pair.portraits figure{aspect-ratio:4/5;}
.gallery-pair.landscapes figure{aspect-ratio:3/2;}
.gallery-subhead{max-width:820px;margin:120px auto 48px;text-align:center;}
.gallery-subhead h3{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,68px);line-height:1;margin:.2em 0 .35em;}
.gallery-subhead>p:last-child{font-family:var(--serif);font-size:18px;max-width:680px;margin:0 auto;}
.living-gallery{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:24px;align-items:stretch;}
.living-gallery figure{aspect-ratio:4/3;}
.living-gallery .living-wide{aspect-ratio:auto;min-height:520px;}
.gallery-credit-note{max-width:1180px;margin:72px auto 0;padding-top:30px;border-top:1px solid var(--line);text-align:center;color:#555;}
.gallery-credit-note>p:first-child{font-family:var(--serif);font-size:18px;line-height:1.7;margin:0 auto 14px;max-width:900px;}
.credit-names{font-size:11px;letter-spacing:.04em;line-height:1.7;margin:0;}
.credit-names span{font-style:italic;}
@media(max-width:900px){
  .gallery-feature{aspect-ratio:4/3;}
  .living-gallery{grid-template-columns:1fr 1fr;}
  .living-gallery .living-wide{grid-column:1/-1;min-height:520px;}
}
@media(max-width:620px){
  .gallery-story{gap:12px;}
  .gallery-pair{gap:12px;}
  .gallery-pair.landscapes{grid-template-columns:1fr;}
  .gallery-pair.landscapes figure{aspect-ratio:4/3;}
  .gallery-pair.portraits{grid-template-columns:1fr 1fr;}
  .gallery-subhead{margin-top:84px;}
  .living-gallery{grid-template-columns:1fr;gap:12px;}
  .living-gallery .living-wide{grid-column:auto;min-height:0;aspect-ratio:4/3;}
  .living-gallery figure{aspect-ratio:4/3;}
  .gallery-credit-note{margin-top:54px;padding-top:24px;}
}

.logo-title{display:flex;align-items:center;justify-content:center;min-width:0;overflow:visible;}
.logo-title img{display:block;width:clamp(250px,24vw,420px);height:auto;max-height:78px;object-fit:contain;}
.brand img,.footer-logo,.press-logos img{background:transparent!important;}
.brand img{object-fit:contain!important;}
.press-logos img{filter:grayscale(1);}
.hero-slide:nth-child(1) img{object-position:center 48%;}
.hero-slide:nth-child(2) img{object-position:center 56%;}
.hero-slide:nth-child(3) img{object-position:center 48%;}
.hero-slide:nth-child(4) img{object-position:center 50%;}
.hero-slide:nth-child(5) img{object-position:center 50%;}
.hero-slide:nth-child(6) img{object-position:center 50%;}
.hero-slide:nth-child(7) img{object-position:center 46%;}
.hero-slide:nth-child(8) img{object-position:center 50%;}
.hero-slide:nth-child(9) img{object-position:center 50%;}
.hero-slide:nth-child(10) img{object-position:center 48%;}
.living-gallery{grid-template-columns:1.35fr .8fr .8fr .8fr;}
.living-gallery .living-portrait{aspect-ratio:3/4;}
.living-gallery .living-portrait img{object-position:center 48%;}
@media(min-width:1250px){.logo-title img{width:430px;max-height:84px;}}
@media(max-width:1050px){.living-gallery{grid-template-columns:1fr 1fr}.living-gallery .living-wide{grid-column:1/-1}.living-gallery .living-portrait{aspect-ratio:4/5}}
@media(max-width:900px){.logo-title img{width:270px;max-height:60px;}}
@media(max-width:620px){.logo-title img{width:210px;max-height:50px}.living-gallery{grid-template-columns:1fr}.living-gallery .living-wide{grid-column:auto}.living-gallery .living-portrait{aspect-ratio:4/5}}


.rooms-gallery-head h2,.gallery-subhead h3,.planning-head h2,.visit h2{font-family:var(--serif)!important;font-weight:400!important;letter-spacing:-.025em!important;}
.gallery-subhead h3{font-size:clamp(42px,5vw,74px)!important;line-height:1.02!important;margin:.12em 0 .22em!important;}
.press-logo-link{display:flex;align-items:center;justify-content:center;text-decoration:none;}
.press-logo-link img{display:block;}
.editorial-living{display:grid!important;grid-template-columns:1.2fr .8fr!important;gap:20px!important;align-items:stretch;}
.editorial-living figure{margin:0;overflow:hidden;background:#eee;}
.editorial-living .living-a{min-height:620px;}
.editorial-living .living-b{min-height:620px;}
.editorial-living .living-c{min-height:420px;}
.editorial-living .living-d{min-height:420px;}
.editorial-living img{width:100%;height:100%;object-fit:cover;display:block;}
.editorial-living .living-a img{object-position:center center;}
.editorial-living .living-b img{object-position:center 46%;}
.editorial-living .living-c img{object-position:center center;}
.editorial-living .living-d img{object-position:center center;}
.visit-note{margin-top:18px;color:#5b5b55;}
.visit-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:26px;}
.map-link{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;}
@media(max-width:760px){.editorial-living{grid-template-columns:1fr!important}.editorial-living .living-a,.editorial-living .living-b,.editorial-living .living-c,.editorial-living .living-d{min-height:0;aspect-ratio:4/5}.editorial-living .living-a,.editorial-living .living-d{aspect-ratio:4/3}.visit-actions{align-items:flex-start;flex-direction:column}}

.gallery-trio{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:24px;min-height:980px;margin:0}
.gallery-trio figure{margin:0;overflow:hidden;background:#eee}
.gallery-trio .gallery-tall{grid-row:1/3}
.gallery-trio img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-trio-reverse{grid-template-columns:.85fr 1.15fr}
.gallery-trio-reverse .gallery-tall{grid-column:2;grid-row:1/3}
.gallery-feature-soft{margin-top:0}
.editorial-living{grid-template-columns:1.18fr .82fr!important;}
.editorial-living .living-e{grid-column:1/-1;min-height:480px;aspect-ratio:16/7}
.editorial-living .living-e img{object-position:center 46%}
.bedroom-gallery{max-width:1500px;margin:24px auto 0;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:24px;align-items:stretch}
.bedroom-gallery figure{margin:0;overflow:hidden;background:#eee;min-height:520px}
.bedroom-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.bedroom-gallery figure:nth-child(1) img{object-position:center 44%}
.bedroom-gallery figure:nth-child(2) img{object-position:center center}
.bedroom-gallery figure:nth-child(3) img{object-position:center 48%}
.rooms-technical-note{max-width:920px;margin:24px auto 0;text-align:center;font-size:12px;letter-spacing:.03em;color:#6c6a64;line-height:1.6}
@media(max-width:900px){.gallery-trio,.gallery-trio-reverse{grid-template-columns:1fr 1fr;min-height:760px;gap:12px}.gallery-trio-reverse .gallery-tall{grid-column:2}.bedroom-gallery{grid-template-columns:1fr 1fr;gap:12px}.bedroom-gallery figure:first-child{grid-column:1/-1;min-height:480px}.editorial-living .living-e{min-height:380px}}
@media(max-width:620px){.gallery-trio,.gallery-trio-reverse{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;min-height:0}.gallery-trio .gallery-tall,.gallery-trio-reverse .gallery-tall{grid-column:1/-1;grid-row:auto;aspect-ratio:4/5}.gallery-trio figure:not(.gallery-tall){aspect-ratio:1/1}.bedroom-gallery{grid-template-columns:1fr}.bedroom-gallery figure,.bedroom-gallery figure:first-child{grid-column:auto;min-height:0;aspect-ratio:4/3}.editorial-living .living-e{grid-column:auto;min-height:0;aspect-ratio:4/5}}

.language-link{font-size:11px;letter-spacing:.16em;text-decoration:none;color:var(--ink);border-bottom:1px solid transparent;padding:10px 0}
.language-link:hover{border-bottom-color:var(--ink)}
.gallery-portrait-break{width:min(760px,78vw);aspect-ratio:2/3;margin:34px auto 10px!important;background:#eee;overflow:hidden}
.gallery-portrait-break img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.editorial-living .living-f{min-height:420px;aspect-ratio:4/3}
@media(max-width:900px){.gallery-portrait-break{width:min(720px,90vw)}}
@media(max-width:620px){.language-link{font-size:10px}.gallery-portrait-break{width:100%;aspect-ratio:2/3;margin:18px auto 8px!important}.editorial-living .living-f{min-height:0;aspect-ratio:4/3}}

.gallery-portrait-interlude{width:min(640px,68vw);aspect-ratio:2/3;margin:30px 8% 42px auto!important;background:#eee;overflow:hidden}
.gallery-portrait-interlude img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
@media(max-width:900px){.gallery-portrait-interlude{width:min(620px,84vw);margin:24px 4% 34px auto!important}}
@media(max-width:620px){.gallery-portrait-interlude{width:88%;aspect-ratio:2/3;margin:18px 0 24px auto!important}}


.living-gallery{
  max-width:1500px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.living-gallery figure,
.bedroom-gallery figure{
  margin:0;
  overflow:hidden;
  background:#eee;
  min-height:360px;
}
.living-gallery img,
.bedroom-gallery img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.living-gallery .living-floral-new img{object-position:center 44%;}
.living-gallery .living-window img{object-position:center 38%;}
.living-gallery .living-floral-mirror img{object-position:center 45%;}
.living-gallery .living-overlook img{object-position:center 40%;}
.living-gallery .living-angel-antique img,
.living-gallery .living-angel-crowned img{object-position:center center;}
.bedroom-gallery{
  max-width:1500px;
  margin:24px auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.bedroom-gallery figure{min-height:340px;}
.bedroom-gallery .room-neutral img{object-position:center 44%;}
.bedroom-gallery .room-arched img{object-position:center 50%;}
.bedroom-gallery .room-blue img{object-position:center center;}
.bedroom-gallery .room-pink img{object-position:center 48%;}

@media(max-width:1050px){
  .living-gallery,
  .bedroom-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .living-gallery figure,
  .bedroom-gallery figure{min-height:320px;}
}

@media(max-width:620px){
  .living-gallery,
  .bedroom-gallery{grid-template-columns:1fr;gap:12px;}
  .living-gallery figure,
  .bedroom-gallery figure{min-height:0;aspect-ratio:4/5;}
}

.balanced-story{display:flex;flex-direction:column;gap:24px;max-width:1500px;margin:0 auto}
.gallery-row{display:grid;gap:24px;align-items:stretch}
.gallery-row figure{margin:0;overflow:hidden;background:#eee;min-width:0}
.gallery-row img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-row.pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-row.trio-mixed{grid-template-columns:.95fr 1.05fr 1fr}
.gallery-row.pair-wide-portrait{grid-template-columns:1.22fr .78fr}
.gallery-row.pair-balanced{grid-template-columns:1.08fr .92fr}
.gallery-row.pair-portrait-detail{grid-template-columns:.92fr 1.08fr}
.gallery-row.pair-portrait-portrait{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-row.pair-wide-portrait figure{min-height:560px}
.gallery-row.trio-mixed figure{min-height:520px}
.gallery-row.pair-balanced figure{min-height:500px}
.gallery-row.pair-portrait-detail figure,.gallery-row.pair-portrait-portrait figure{min-height:640px}
.gallery-row.pair-wide-portrait figure:first-child img,.gallery-row.pair-balanced figure:first-child img{object-position:center center}
.gallery-row.pair-portrait-detail figure:first-child img{object-position:center 42%}
.gallery-row.pair-portrait-detail figure:last-child img{object-position:center 48%}
.gallery-row.pair-portrait-portrait figure:first-child img{object-position:center center}
.gallery-row.pair-portrait-portrait figure:last-child img{object-position:center 44%}

/* Five bedrooms, composed as a 3+2 editorial grid rather than leaving one orphan */
.bedroom-gallery{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.bedroom-gallery figure{grid-column:span 2;min-height:340px}
.bedroom-gallery figure:nth-child(4),.bedroom-gallery figure:nth-child(5){grid-column:span 3;min-height:390px}
.bedroom-gallery .room-soft-neutral img{object-position:center center}

@media(max-width:900px){
  .gallery-row,.gallery-row.pair,.gallery-row.trio-mixed,.gallery-row.pair-wide-portrait,.gallery-row.pair-balanced,.gallery-row.pair-portrait-detail,.gallery-row.pair-portrait-portrait{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .gallery-row.trio-mixed figure:nth-child(3){grid-column:1/-1;min-height:460px}
  .gallery-row figure{min-height:480px!important}
  .bedroom-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bedroom-gallery figure,.bedroom-gallery figure:nth-child(4),.bedroom-gallery figure:nth-child(5){grid-column:auto;min-height:340px}
  .bedroom-gallery figure:nth-child(5){grid-column:1/-1;min-height:420px}
}
@media(max-width:620px){
  .balanced-story{gap:12px}
  .gallery-row,.gallery-row.pair,.gallery-row.trio-mixed,.gallery-row.pair-wide-portrait,.gallery-row.pair-balanced,.gallery-row.pair-portrait-detail,.gallery-row.pair-portrait-portrait{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery-row figure{min-height:0!important;aspect-ratio:3/4}
  .gallery-row.trio-mixed figure:nth-child(3){grid-column:1/-1;aspect-ratio:4/3;min-height:0!important}
  .bedroom-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .bedroom-gallery figure,.bedroom-gallery figure:nth-child(4),.bedroom-gallery figure:nth-child(5){grid-column:auto;min-height:0;aspect-ratio:4/3}
  .bedroom-gallery figure:nth-child(5){grid-column:1/-1;aspect-ratio:2/1}
}

.balanced-story{gap:24px}
.gallery-row.pair-natural{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
.gallery-row.pair-natural figure{
  margin:0;
  overflow:visible;
  background:transparent;
  min-height:0!important;
  aspect-ratio:auto!important;
}
.gallery-row.pair-natural img{
  display:block;
  width:100%;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@media(max-width:900px){.gallery-row.pair-natural{gap:14px}}
@media(max-width:620px){
  .gallery-row.pair-natural{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery-row.pair-natural figure{aspect-ratio:auto!important;min-height:0!important}
  .gallery-row.pair-natural img{height:auto!important;object-fit:contain!important}
}

.gallery-row.landscape-pair{grid-template-columns:repeat(2,minmax(0,1fr));}
.gallery-row.landscape-pair figure{aspect-ratio:3/2;min-height:0!important;}
.gallery-row.portrait-pair{grid-template-columns:repeat(2,minmax(0,1fr));}
.gallery-row.portrait-pair figure{aspect-ratio:2/3;min-height:0!important;}
.gallery-row.landscape-pair img,.gallery-row.portrait-pair img{object-fit:cover;object-position:center center;}
@media(max-width:620px){
  .gallery-row.landscape-pair,.gallery-row.portrait-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .gallery-row.landscape-pair figure{aspect-ratio:3/2!important;}
  .gallery-row.portrait-pair figure{aspect-ratio:2/3!important;}
}


.living-gallery.editorial-living{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch;
}
.living-gallery.editorial-living figure{
  margin:0;
  min-height:360px!important;
  aspect-ratio:4/3;
  overflow:hidden;
}
.living-gallery.editorial-living img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.bedroom-gallery{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  max-width:1500px;
}
.bedroom-gallery figure,
.bedroom-gallery figure:nth-child(4),
.bedroom-gallery figure:nth-child(5){
  grid-column:auto!important;
  margin:0;
  min-height:420px!important;
  aspect-ratio:4/3;
  overflow:hidden;
}
.bedroom-gallery img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:900px){
  .living-gallery.editorial-living{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  .living-gallery.editorial-living figure{min-height:320px!important;}
  .bedroom-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  .bedroom-gallery figure{min-height:320px!important;}
}
@media(max-width:620px){
  .living-gallery.editorial-living,.bedroom-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .living-gallery.editorial-living figure,.bedroom-gallery figure{min-height:0!important;aspect-ratio:3/4!important;}
}


.heritage-nav{display:block;background:rgba(255,255,255,.98);border-bottom:1px solid #e9e8e4}
.heritage-nav ul{margin:0 auto;padding:0 12px;min-height:57px;list-style:none;display:flex;align-items:center;justify-content:center;max-width:1550px}
.heritage-nav li{min-width:0;display:flex;align-items:center}
.heritage-nav li+li:before{content:"";height:20px;width:1px;background:#d9d9d9;display:block;flex:0 0 1px}
.heritage-nav a{font-family:Lato,"Helvetica Neue",Arial,sans-serif;font-size:clamp(11px,.94vw,16px);font-weight:400;text-transform:uppercase;letter-spacing:.005em;text-decoration:none;color:#35383b;padding:11px clamp(8px,1.12vw,22px);white-space:nowrap}
.heritage-nav a:hover,.heritage-nav a:focus-visible{color:#687858;text-decoration:underline;text-underline-offset:5px}
.nav-wrap{background:#fff}
.heritage-nav+.nav{background:#fff}
@media(max-width:1199px){.heritage-nav{display:none}}
@media(min-width:1200px){.menu-toggle{display:none}.nav{height:112px!important}.nav-actions{gap:22px}}
@media(max-width:900px){.nav{padding:0 18px}.nav-title{min-width:0}.logo-title img{max-width:min(42vw,250px)}.nav-actions{gap:8px}}
@media(max-width:420px){.nav{grid-template-columns:45px minmax(0,1fr) auto!important;padding:0 10px}.brand img{width:40px!important;height:40px!important}.logo-title img{width:clamp(130px,43vw,180px)!important;max-width:100%}.nav-actions{gap:5px}.language-link{font-size:12px}.menu-toggle{width:38px}}
/* Cookie settings: no optional resources may be enabled before an affirmative choice. */
.cookie-banner{position:fixed;bottom:14px;left:14px;right:14px;z-index:250;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;background:#fff;border:1px solid #b7bea8;box-shadow:0 9px 40px #0002;padding:19px 25px;max-width:1200px;margin:auto;color:#151515}
.cookie-banner[hidden],.cookie-choices[hidden]{display:none!important}
.cookie-banner strong{font-family:Georgia,serif;font-size:20px;font-weight:400}
.cookie-banner p{font-size:13px;line-height:1.55;margin:5px 0 0;max-width:730px}
.cookie-banner a,.privacy-links a{color:inherit;text-underline-offset:3px}
.cookie-actions{display:flex;align-items:center;justify-content:end;gap:8px;flex-wrap:wrap}
.cookie-actions button,.cookie-choices button{min-height:42px;cursor:pointer;border:1px solid #8b9283;background:#fff;padding:9px 13px;font:12px Lato,Arial,sans-serif;letter-spacing:.015em}
.cookie-actions button:last-child,.cookie-choices button{background:#d0d9c2}
.cookie-choices{grid-column:1/-1;padding:12px 0 0;border-top:1px solid #ddd;font-size:14px}
.cookie-choices label{display:flex;align-items:center;gap:9px}.cookie-choices input{accent-color:#657458;width:18px;height:18px}
.privacy-links{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.privacy-links button{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}
.consent a{color:#35472d;text-decoration:underline;text-underline-offset:3px}
.simple-legal-footer{background:#c9d1b8;text-align:center;padding:25px}.simple-legal-footer a{color:#171916}
.legal-main{min-height:60vh;margin:0 auto;max-width:950px;padding:80px 30px 110px;background:#f7f5ef}.legal-main h1{font:normal clamp(42px,5vw,70px)/1.15 Georgia,serif}.legal-main h2{font:normal 27px/1.3 Georgia,serif;margin-top:42px}.legal-main p,.legal-main li{line-height:1.85;font-size:16px}.legal-main a{color:#26391f}
@media(max-width:760px){.cookie-banner{grid-template-columns:1fr;padding:15px;left:8px;right:8px;bottom:8px;gap:13px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button:last-child{grid-column:1/-1}.cookie-banner strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.menu-drawer,.hero-slide{transition:none!important}html{scroll-behavior:auto}}

:root {--oche-masthead: 171px;}
@media(min-width:1200px){
  .heritage-nav a{font-family:Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:17px;font-weight:400;letter-spacing:0;line-height:1.45;padding:12px clamp(9px,1.05vw,22px);}
  .heritage-nav ul{min-height:66px;}
  .heritage-nav li+li::before{height:23px;background:#dedee0;}
  .nav{height:116px!important;}
  :root{--oche-masthead:182px;}
}
/* Background scrolls behind a full-width image window (same photograph throughout).
   Image and editorial text always occupy separate sections for comfortable contrast. */
.hero{padding:0!important;margin:0!important;width:100%;}
.hero-media{width:100%!important;max-width:none!important;margin:0!important;height:calc(100svh - var(--oche-masthead));min-height:580px;max-height:none!important;overflow:hidden;}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;}
.hero-bottom{min-height:66px;height:auto;}
.landscape-reveal{position:relative;isolation:isolate;background:#dfded5;min-height:500px;height:min(76vh,820px);overflow:hidden;}
.landscape-reveal-image{position:absolute;inset:-10% 0;background-image:url('assets/editorial/courtyard-sunset.png');background-repeat:no-repeat;background-position:center center;background-size:cover;background-attachment:fixed;}
/* Avoid parallax accessibility/performance problems on touch devices. */
@media(max-width:1199px){
  :root{--oche-masthead:88px;}
  .hero-media{height:calc(91svh - var(--oche-masthead));min-height:400px;}
  .landscape-reveal{height:54vh;min-height:320px;}
  .landscape-reveal-image{inset:0;background-attachment:scroll;}
}
@media(max-width:620px){
  :root{--oche-masthead:72px;}
  .hero-media{height:calc(82svh - var(--oche-masthead));min-height:350px;}
  .landscape-reveal{height:44vh;min-height:280px;}
  .hero-slide:nth-child(1) img{object-position:center center;}
}
@media(prefers-reduced-motion: reduce){
  .landscape-reveal-image{background-attachment:scroll;}
}

/* Original site imports Lato. A lighter, more open treatment echoes its classic navigation. */
.heritage-nav a {font-family:Lato, "Helvetica Neue", Arial, sans-serif!important;font-weight:300!important;font-size:clamp(14px,1.03vw,17px)!important;letter-spacing:.045em!important;}
.heritage-nav li+li::before{height:18px!important;background:#ddd!important;}
/* The page remains photographic, but interior/gallery images are less imposing. */
@media(min-width:1100px){.gallery-story,.living-gallery,.bedroom-gallery{max-width:1300px!important;margin-left:auto;margin-right:auto}.gallery-row{gap:18px!important}.gallery-row figure{min-height:0!important}.gallery-row.landscape-pair figure{aspect-ratio:3/2!important}.gallery-row.portrait-pair figure{aspect-ratio:2/3!important}.living-gallery.editorial-living figure,.bedroom-gallery figure{min-height:0!important;aspect-ratio:4/3}}
.five-star-details{max-width:1200px;margin:68px auto 10px;padding:46px 0 8px;border-top:1px solid #d8d5cc;}
.five-star-heading{text-align:center;max-width:760px;margin:0 auto 44px;}
.five-star-heading h3{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4vw,54px);margin:8px 0 16px;}
.five-star-heading>p:last-child{color:var(--muted);font-size:16px;line-height:1.8;}
.five-star-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,5vw,90px)}
.five-star-columns h4{font-family:var(--serif);font-weight:400;font-size:25px;margin:0 0 22px;}
.five-star-columns p{font-size:15px;line-height:1.9;color:#53554f;margin:0 0 15px;}
.five-star-columns strong{font-weight:600;color:var(--ink)}
@media(max-width:700px){.five-star-details{margin-top:40px;padding-top:34px}.five-star-columns{grid-template-columns:1fr;gap:22px}.five-star-heading{margin-bottom:32px}}

.hero { width:100%; max-width:none; margin:0; padding:0; overflow:hidden; }
.hero-media { width:100%; max-width:none; margin:0; height:calc(100svh - var(--oche-masthead)); min-height:500px; }
.hero-slide { inset:0; }
.hero-slide img { width:100%; height:100%; object-fit:cover; }
@media(max-width:1199px){ .hero-media{ min-height:400px; height:calc(91svh - var(--oche-masthead)); } }
@media(max-width:620px){ .hero-media{ min-height:320px; height:calc(82svh - var(--oche-masthead)); } }


.editorial-compositions,.editorial-interiors,.editorial-bedrooms{display:flex!important;flex-direction:column;gap:clamp(16px,2vw,30px);max-width:1500px;margin-left:auto;margin-right:auto}
.editorial-compositions .editorial-row,.editorial-interiors .editorial-row,.editorial-bedrooms .editorial-row{margin:0;min-width:0}
.editorial-compositions figure,.editorial-interiors figure,.editorial-bedrooms figure{margin:0!important;min-width:0;overflow:hidden;background:#f4f2ec;min-height:0!important;aspect-ratio:auto!important;grid-column:auto!important}
.editorial-compositions img,.editorial-interiors img,.editorial-bedrooms img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* Portrait beside a vertical stack of two complementary landscapes: aligned, varied and deliberate. */
.editorial-compositions .editorial-triptych{display:grid;gap:clamp(12px,1.7vw,24px);grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(500px,64vw,900px)}
.editorial-compositions .editorial-triptych.tall-left{grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr)}
.editorial-compositions .editorial-triptych.tall-left figure:nth-child(1){grid-row:1/3;grid-column:1}
.editorial-compositions .editorial-triptych.tall-left figure:nth-child(2){grid-row:1;grid-column:2}
.editorial-compositions .editorial-triptych.tall-left figure:nth-child(3){grid-row:2;grid-column:2}
.editorial-compositions .editorial-triptych.tall-right{grid-template-columns:minmax(0,1.09fr) minmax(0,.91fr)}
.editorial-compositions .editorial-triptych.tall-right figure:nth-child(1){grid-row:1;grid-column:1}
.editorial-compositions .editorial-triptych.tall-right figure:nth-child(2){grid-row:2;grid-column:1}
.editorial-compositions .editorial-triptych.tall-right figure:nth-child(3){grid-row:1/3;grid-column:2}
/* The last four portraits form two spacious paired features, not orphan tiles. */
.editorial-compositions .editorial-duet{display:grid;gap:clamp(12px,1.7vw,24px);height:clamp(540px,68vw,890px)}
.editorial-compositions .intimate-duet{grid-template-columns:1.05fr .95fr}
.editorial-compositions .airy-duet{grid-template-columns:.92fr 1.08fr}
/* Interiors: compositional contrast rather than repeating another six equal tiles. */
.editorial-interiors .interior-duet{display:grid;gap:clamp(12px,1.7vw,24px)}
.editorial-interiors .interior-salon{grid-template-columns:1.65fr 1fr;height:clamp(320px,39vw,540px)}
.editorial-interiors .interior-window{grid-template-columns:1fr 1.65fr;height:clamp(320px,39vw,540px)}
.editorial-interiors .interior-detail{grid-template-columns:1fr 1.45fr;height:clamp(300px,38vw,480px)}
/* Room pairs can breathe at their natural landscape proportions. */
.editorial-bedrooms .bedroom-duet{display:grid;gap:clamp(12px,1.7vw,24px)}
.editorial-bedrooms .bed-first{grid-template-columns: .95fr 1.05fr;height:clamp(300px,33vw,440px)}
.editorial-bedrooms .bed-second{grid-template-columns: .94fr 1.06fr;height:clamp(330px,42vw,510px)}
@media(max-width:800px){
 .editorial-compositions .editorial-triptych{height:clamp(380px,82vw,660px)}
 .editorial-compositions .editorial-duet{height:clamp(420px,88vw,700px)}
 .editorial-interiors .interior-salon,.editorial-interiors .interior-window,.editorial-interiors .interior-detail{height:clamp(270px,65vw,420px)}
 .editorial-bedrooms .bedroom-duet{height:clamp(240px,48vw,380px)}
}
@media(max-width:540px){
 .editorial-compositions,.editorial-interiors,.editorial-bedrooms{gap:12px}
 .editorial-compositions .editorial-triptych{height:clamp(360px,120vw,570px);gap:9px}
 .editorial-compositions .editorial-triptych.tall-left{grid-template-columns:.9fr 1.1fr}
 .editorial-compositions .editorial-triptych.tall-right{grid-template-columns:1.1fr .9fr}
 .editorial-compositions .editorial-duet{height:clamp(330px,125vw,560px);gap:9px}
 .editorial-interiors .interior-duet{height:clamp(220px,77vw,380px);gap:9px}
 .editorial-interiors .interior-salon{grid-template-columns:1.2fr 1fr}
 .editorial-interiors .interior-window{grid-template-columns:1fr 1.2fr}
 .editorial-interiors .interior-detail{grid-template-columns:1fr 1.2fr}
 .editorial-bedrooms .bedroom-duet{height:clamp(175px,49vw,290px);gap:9px}
}
@media(prefers-reduced-motion:reduce){.editorial-compositions *,.editorial-interiors *,.editorial-bedrooms *{transition:none!important}}

.refined-enquiry{align-items:start}.refined-enquiry label small{display:block;margin:.4rem 0;font-size:12px;line-height:1.45;letter-spacing:normal;text-transform:none;color:#5b5b54}.refined-enquiry fieldset{border:1px solid #d7d2c7;padding:14px 16px;margin:0;min-width:0}.refined-enquiry legend{font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:0 6px}.guest-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.refined-enquiry [data-wedding-only][hidden]{display:none}.refined-enquiry .conditional-wedding>label{display:block}.privacy-description{font-size:13px;line-height:1.6;margin:0}.form-success[hidden]{display:none}.form-success.form-error{background:#f7eee8}.submit-button:disabled{opacity:.65;cursor:wait}@media(max-width:620px){.guest-count-grid{grid-template-columns:1fr 1fr;gap:12px}.enquiry-card{padding-bottom:60px}}

.hero-slide:nth-child(4){isolation:isolate;background:#e9ebe7;}
.hero-slide:nth-child(4)::before{content:"";position:absolute;inset:-18px;z-index:0;background-image:url("assets/editorial/pool.jpg");background-position:center;background-size:cover;filter:blur(22px) brightness(.9);transform:scale(1.055);}
.hero-slide:nth-child(4)::after{content:"";position:absolute;inset:0;z-index:0;background:rgba(250,249,245,.13);pointer-events:none;}
.hero-slide:nth-child(4)>img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain!important;object-position:center center!important;}
.external-navigation-note{font-size:12px;letter-spacing:.02em;color:#666;text-align:center;margin:10px 0 16px;}

@media(min-width:1250px){.nav{height:145px!important}.brand img{width:132px!important;height:121px!important}.logo-title img{width:min(38vw,540px)!important;max-height:112px!important}}
@media(min-width:901px) and (max-width:1249px){.nav{height:117px!important}.brand img{width:108px!important;height:103px!important}.logo-title img{width:min(36vw,460px)!important;max-height:88px!important}}
@media(min-width:621px) and (max-width:900px){.brand img{width:80px!important;height:76px!important}.logo-title img{width:min(35vw,300px)!important;max-height:66px!important}}
@media(max-width:620px){.brand img{width:52px!important;height:52px!important}.logo-title img{width:min(47vw,225px)!important;max-height:52px!important}}
@media(max-width:420px){.brand img{width:46px!important;height:46px!important}.logo-title img{width:min(44vw,180px)!important;max-height:47px!important}}
.oche-outbound{position:fixed;inset:0;z-index:230;background:rgba(17,22,19,.52);display:none;place-items:center;padding:20px}
.oche-outbound[aria-hidden="false"]{display:grid}
.oche-outbound-card{position:relative;width:min(540px,100%);background:#fcfbf8;border:1px solid #d9d9cf;padding:clamp(24px,5vw,48px);box-shadow:0 18px 65px rgba(0,0,0,.13)}
.oche-outbound-card h2{font-family:var(--serif,Georgia,serif);font-size:clamp(31px,5vw,44px);font-weight:400;line-height:1.1;margin:4px 0 14px}
.oche-outbound-card p{font-size:15px;line-height:1.7;max-width:450px}
.oche-outbound-card .eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin:0}
.oche-outbound-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.oche-outbound-actions a,.oche-outbound-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:12px 17px;text-decoration:none;font:inherit;cursor:pointer}
.oche-outbound-actions a{background:var(--sage,#d5dfcd);color:#111;border:1px solid #c4ccb9}
.oche-outbound-actions button{border:1px solid #bbb;background:transparent;color:#111}
.oche-outbound-x{position:absolute;right:13px;top:10px;min-height:40px;min-width:40px;background:none;border:0;font-size:28px;cursor:pointer}
.editorial-bedrooms .bedroom-triptych{display:grid;grid-template-columns:1fr 1.08fr 1fr;gap:clamp(12px,1.7vw,24px);height:clamp(300px,32vw,430px)}
@media(max-width:780px){.editorial-bedrooms .bedroom-triptych{grid-template-columns:1fr 1fr;height:auto}.editorial-bedrooms .bedroom-triptych figure{height:clamp(190px,58vw,330px)}.editorial-bedrooms .bedroom-triptych figure:last-child{grid-column:1 / -1;height:clamp(220px,62vw,380px)}}
.wedding-quote-olivia{border-top:1px solid rgba(25,25,20,.13)}
/* Turnstile placement */
#blanche-turnstile,
#enquiry-turnstile{
  min-height:65px;
}
#blanche-turnstile{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin:8px 0 4px;
}
#blancheModal .captcha-wrap{
  display:block;
}
#blancheModal .captcha-wrap > p{
  margin:8px 0 0;
}
.turnstile-status{
  display:inline-block;
  padding:10px 12px;
  border-radius:10px;
  background:#f2efe7;
  color:#5f5c54;
  font-size:13px;
}
.turnstile-status-error{
  background:#f7ece7;
  color:#8a3e2f;
}


/* Blanche in primary navigation */
.nav-blanche-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:38px;
  padding:0 12px 0 8px;
  border:1px solid #111;
  background:transparent;
  color:#111;
  font:500 11px/1 var(--sans);
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.nav-blanche-button:hover,
.nav-blanche-button:focus-visible{
  background:#111;
  color:#fff;
}
.nav-blanche-b{
  display:inline-grid;
  place-items:center;
  width:23px;
  height:23px;
  border:1px solid currentColor;
  border-radius:50%;
  font-family:var(--serif);
  font-size:16px;
  font-weight:600;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}
.drawer-blanche{
  appearance:none;
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 0;
  border:0;
  border-top:1px solid rgba(0,0,0,.14);
  border-bottom:1px solid rgba(0,0,0,.14);
  background:transparent;
  color:#111;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.floating-blanche{display:none!important}
@media(max-width:760px){
  .nav-blanche-text{display:none}
  .nav-blanche-button{padding:0 7px;height:36px}
  .nav-blanche-b{width:22px;height:22px}
}


/* Blanche chat viewport fix: keep composer permanently reachable */
#blancheModal .blanche-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#blancheModal .blanche-heading,
#blancheModal .blanche-intro{
  flex:0 0 auto;
}
#blancheModal .chat-interface{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#blancheModal .blanche-suggestions{
  flex:0 0 auto;
}
#blancheModal .chat-window{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
}
#blancheModal .chat-form{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  z-index:4;
}
#blancheModal .blanche-disclaimer{
  flex:0 0 auto;
  padding-bottom:2px;
}
@media (min-width:701px){
  #blancheModal .blanche-card{
    height:min(820px,88vh);
  }
}
@media (max-width:700px){
  #blancheModal .blanche-card{
    height:92vh;
  }
}


/* V57: keep Blanche as a clean top-right navigation action */
.nav-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.nav-blanche-button{
  order:90;
  flex:0 0 auto;
  height:36px;
  padding:0 11px 0 7px;
  border:1px solid #111;
  background:transparent;
  color:#111;
  box-shadow:none;
  border-radius:0;
  white-space:nowrap;
}
.nav-blanche-button .nav-blanche-b{
  width:21px;
  height:21px;
  border:1px solid currentColor;
  border-radius:50%;
  font-family:var(--serif);
  font-size:15px;
}
.menu-toggle{
  order:100;
  flex:0 0 auto;
}
@media (min-width: 761px){
  .nav-blanche-button{
    margin-left:2px;
  }
}
@media (max-width:760px){
  .nav-blanche-button{
    width:36px;
    padding:0;
    justify-content:center;
  }
  .nav-blanche-text{
    display:none;
  }
}


/* V61 navigation alignment */
@media (min-width:761px){
  .menu-toggle{order:90}
  .nav-blanche-button{order:100;margin-left:2px}
}
@media (max-width:760px){
  .nav-blanche-button{order:90}
  .menu-toggle{order:100}
}


/* V64 — clean navigation + editorial Blanche chat */

/* Desktop: Blanche belongs in the upper horizontal menu, at the far right. */
.heritage-nav ul{
  position:relative;
}
.heritage-blanche-item{
  margin-left:auto;
}
.heritage-nav li.heritage-blanche-item::before{
  display:none!important;
}
.heritage-blanche{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-left:12px;
  padding:7px 11px 7px 7px;
  border:1px solid #151515;
  background:transparent;
  color:#151515;
  font-family:Lato,"Helvetica Neue",Arial,sans-serif;
  font-size:12px;
  font-weight:400;
  letter-spacing:.045em;
  text-transform:uppercase;
  cursor:pointer;
  white-space:nowrap;
}
.heritage-blanche:hover,
.heritage-blanche:focus-visible{
  background:#151515;
  color:#fff;
}
.heritage-blanche .nav-blanche-b{
  width:22px;
  height:22px;
  font-size:15px;
}
@media(min-width:1200px){
  .mobile-tablet-blanche{display:none!important}
  /* The horizontal menu is the desktop menu; no redundant hamburger below it. */
  .menu-toggle{display:none!important}
}
@media(max-width:1199px){
  .heritage-blanche-item{display:none!important}
  .mobile-tablet-blanche{display:inline-flex!important}
}

/* Blanche modal: bottom-sheet editorial presentation, not a boxy card. */
#blancheModal{
  align-items:flex-end;
  padding:0 20px 18px;
  background:rgba(22,23,20,.48);
}
#blancheModal .blanche-card{
  width:min(820px,100%);
  height:min(780px,88vh);
  min-height:0;
  padding:34px 34px 18px;
  border:0;
  border-radius:22px 22px 12px 12px;
  background:#fbfaf6;
  box-shadow:0 20px 70px rgba(0,0,0,.20);
}
#blancheModal .modal-close{
  top:13px;
  right:18px;
}
#blancheModal .blanche-heading{
  gap:14px;
}
#blancheModal .blanche-heading .monogram{
  width:48px;
  height:48px;
  font-size:23px;
}
#blancheModal .blanche-heading h2{
  font-size:clamp(34px,4vw,48px);
}
#blancheModal .blanche-intro{
  margin:10px 52px 8px 62px;
  color:#5d5a53;
  font-family:var(--serif);
  font-size:16px;
  line-height:1.45;
}

/* Gate should feel like an invitation, not a form panel. */
#blancheModal .blanche-gate{
  max-width:560px;
  margin:22px auto 0;
}
#blancheModal .blanche-gate label{
  display:block;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#blancheModal .blanche-gate input{
  width:100%;
  margin-top:7px;
  padding:12px 2px;
  border:0;
  border-bottom:1px solid #aaa79e;
  background:transparent;
  border-radius:0;
  font:inherit;
}
#blancheModal .captcha-wrap{
  margin-top:18px;
  padding:0;
  border:0;
  background:transparent;
}

/* Sliding cue questions: one horizontal ribbon of light chips. */
#blancheModal .blanche-suggestions{
  display:flex!important;
  flex:0 0 auto;
  gap:9px;
  width:100%;
  margin:14px 0 12px;
  padding:2px 2px 7px;
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
#blancheModal .blanche-suggestions::-webkit-scrollbar{
  display:none;
}
#blancheModal .blanche-suggestions button{
  flex:0 0 auto;
  width:auto;
  max-width:330px;
  padding:8px 13px;
  border:1px solid rgba(30,30,26,.18);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  box-shadow:none;
  color:#292923;
  font-family:var(--sans);
  font-size:12px;
  line-height:1.25;
  text-align:left;
  white-space:nowrap;
  scroll-snap-align:start;
}
#blancheModal .blanche-suggestions button:hover{
  background:#eef1e7;
  border-color:#b9c0ad;
}

/* Transcript: airier, less card-like. */
#blancheModal .chat-window{
  min-height:0!important;
  padding:14px 6px 10px;
  border:0!important;
  background:transparent!important;
  gap:10px;
}
#blancheModal .blanche-msg,
#blancheModal .user-msg{
  padding:10px 13px;
  border:0;
  box-shadow:none;
  line-height:1.48;
}
#blancheModal .blanche-msg{
  max-width:88%;
  padding-left:14px;
  border-left:2px solid #adb99d;
  background:transparent;
}
#blancheModal .user-msg{
  max-width:82%;
  border-radius:17px 17px 4px 17px;
  background:#eceae3;
}

/* Composer is always visible and visually lighter. */
#blancheModal .chat-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  margin:6px 0 0;
  padding:8px 0 0;
  border-top:1px solid rgba(0,0,0,.12);
  background:#fbfaf6;
  position:sticky;
  bottom:0;
  z-index:8;
}
#blancheModal .chat-form input{
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid #c9c6bc!important;
  border-radius:999px!important;
  background:#fff!important;
  min-width:0;
}
#blancheModal .chat-form button{
  min-width:68px;
  padding:0 17px;
  border-radius:999px;
  background:#d9dfcf;
}
#blancheModal .blanche-disclaimer{
  margin:7px 4px 0;
  color:#77736b;
  font-size:10.5px;
  line-height:1.35;
}

/* Do not let hidden chat/gate states be defeated by layout rules. */
#blancheModal [hidden]{
  display:none!important;
}

@media(max-width:700px){
  #blancheModal{
    padding:0;
  }
  #blancheModal .blanche-card{
    width:100%;
    height:94dvh;
    max-height:94dvh;
    min-height:0;
    padding:26px 18px 12px;
    border-radius:20px 20px 0 0;
  }
  #blancheModal .blanche-intro{
    margin:8px 38px 6px 0;
    font-size:14px;
  }
  #blancheModal .blanche-heading .monogram{
    width:42px;height:42px;font-size:20px;
  }
  #blancheModal .blanche-suggestions{
    margin-top:10px;
  }
  #blancheModal .blanche-suggestions button{
    font-size:11.5px;
    padding:7px 11px;
  }
  #blancheModal .blanche-msg,
  #blancheModal .user-msg{
    max-width:94%;
  }
}


/* V65 — center desktop navigation independently of the Blanche control */
@media (min-width:1200px){
  .heritage-nav{
    position:relative;
  }
  .heritage-nav ul{
    justify-content:center!important;
    position:relative;
    padding-right:170px;
    padding-left:170px;
  }
  .heritage-nav .heritage-blanche-item{
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    margin:0!important;
  }
}


/* V70 — quiet, fast chat busy state */
#blancheModal .chat-form button:disabled{
  opacity:.62;
  cursor:wait;
}
#blancheModal .chat-form input:disabled{
  opacity:.82;
}


/* V72 — anchor destinations remain fully visible below the sticky navigation */
#content,
#weddings,
#gallery,
#history,
#visit,
#planning,
#enquire{
  scroll-margin-top:165px;
}
@media(max-width:1199px){
  #content,
  #weddings,
  #gallery,
  #history,
  #visit,
  #planning,
  #enquire{
    scroll-margin-top:98px;
  }
}


/* V73 — graceful Blanche handoff */
#blancheModal .blanche-handoff-actions{
  margin:8px 0 14px 16px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  max-width:88%;
}
#blancheModal .blanche-handoff-actions > button{
  border-radius:999px;
  padding:9px 14px;
  font-size:12px;
  cursor:pointer;
}
#blancheModal .blanche-action-primary{
  border:1px solid #9eaa90;
  background:#dfe5d6;
  color:#1c1d18;
}
#blancheModal .blanche-action-secondary{
  border:1px solid #c8c4ba;
  background:#fff;
  color:#2c2b27;
}
#blancheModal .blanche-handoff-mini{
  flex:1 1 100%;
  margin-top:4px;
  padding:14px;
  border:1px solid #ded9ce;
  border-radius:12px;
  background:#fff;
}
#blancheModal .blanche-handoff-mini[hidden]{
  display:none!important;
}
#blancheModal .blanche-handoff-mini label{
  display:block;
  margin-bottom:9px;
  font-size:11px;
  letter-spacing:.04em;
}
#blancheModal .blanche-handoff-mini input{
  width:100%;
  margin-top:5px;
  padding:10px 11px;
  border:1px solid #cbc7bd;
  border-radius:9px;
  background:#fff;
  font:inherit;
  box-sizing:border-box;
}
#blancheModal .blanche-handoff-mini button{
  border:0;
  border-radius:999px;
  padding:9px 14px;
  background:#dfe5d6;
  cursor:pointer;
}
#blancheModal .handoff-status,
#blancheModal .handoff-confirmation{
  margin:8px 0 0;
  font-size:11px;
  line-height:1.4;
  color:#666159;
}
@media(max-width:700px){
  #blancheModal .blanche-handoff-actions{max-width:96%;margin-left:0}
}


/* V77 — clearly separate celebration attendance from château accommodation */
[data-event-guests-wrap]{
  margin-top:8px;
  padding-top:4px;
}
[data-onsite-wrap]{
  margin-top:8px;
  padding-top:18px;
  border-top:1px solid rgba(20,20,18,.12);
}
[data-event-guests-wrap] small,
[data-onsite-wrap] small{
  display:block;
  margin-top:5px;
  color:#6e6a62;
  font-size:12px;
  line-height:1.4;
}


/* V88 — Blanche transcript resilience: preserve concise lists and keep long replies readable across viewports. */
#blancheModal .blanche-msg{white-space:pre-line;overflow-wrap:anywhere;}
#blancheModal .chat-window{scrollbar-gutter:stable;min-height:120px;}
@supports (height: 100dvh){
  #blancheModal .blanche-card{max-height:calc(100dvh - 28px);}
}

/* V88 — planning introduction now uses multiple editorial paragraphs. */
.planning-head > p:not(.eyebrow){
  font-family:var(--serif);
  font-size:20px;
}

/* Portrait-only actions directly beneath the opening gallery (isolated patch). */
.oche-portrait-actions { display: none; }
@media screen and (max-width: 600px) and (orientation: portrait) {
  .nav-actions > .mobile-tablet-blanche { display: none !important; }
  .hero > .oche-portrait-actions {
    display: flex; justify-content: space-between; align-items: center;
    gap: 12px; padding: 12px 18px 16px; background: #fff;
  }
  .hero > .oche-portrait-actions > button {
    display: inline-flex !important; align-items: center; justify-content: center;
    flex: 0 1 auto; min-width: 0; margin: 0; box-sizing: border-box;
  }
  .hero > .oche-portrait-actions > .reservation-button {
    background: var(--sage); color: #111; border: 0; padding: 12px 15px;
    font: 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase;
  }
  .hero > .oche-portrait-actions > .nav-blanche-button {
    width: auto; height: 38px; padding: 0 12px 0 8px; gap: 8px;
    font: 500 11px/1 var(--sans); letter-spacing: .08em;
  }
  .hero > .oche-portrait-actions .nav-blanche-text { display: inline !important; }
  .hero > .oche-portrait-actions .nav-blanche-b {
    display: inline-grid; place-items: center; flex: 0 0 21px;
    width: 21px; height: 21px; margin: 0; padding: 0;
    font: 600 15px/1 Georgia, 'Times New Roman', serif;
    letter-spacing: 0; text-align: center;
  }
}


/* V127: compact Blanche conversation on short Android landscape screens only. */
@media screen and (orientation: landscape) and (max-height: 540px) and (max-width: 1000px) {
  #blancheModal.open {
    top: var(--blanche-visible-top, 0px);
    bottom: auto;
    height: var(--blanche-visible-height, 100dvh);
    min-height: 0;
    padding: 0;
    align-items: stretch;
  }
  #blancheModal .blanche-card {
    width: 100%; max-width: none;
    height: 100%; max-height: 100%; min-height: 0;
    padding: 8px 14px 6px;
    border-radius: 0;
    overflow: hidden;
  }
  #blancheModal .blanche-heading { min-height: 24px; padding-right: 42px; }
  #blancheModal .blanche-heading .monogram { width: 27px; height: 27px; font-size: 15px; }
  #blancheModal .blanche-heading h2 { font-size: 19px; }
  #blancheModal .blanche-heading .eyebrow,
  #blancheModal .blanche-intro,
  #blancheModal .blanche-suggestions,
  #blancheModal .blanche-disclaimer { display: none !important; }
  #blancheModal .modal-close { top: 3px; right: 12px; }
  #blancheModal .chat-interface { flex: 1 1 auto; min-height: 0; overflow: hidden; }
  #blancheModal .chat-window {
    flex: 1 1 auto; min-height: 0 !important; max-height: none;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    padding: 4px 5px; scroll-behavior: auto;
  }
  #blancheModal .chat-form { position: relative; bottom: auto; padding-top: 4px; margin: 0; }
  #blancheModal .chat-form input { font-size: 16px !important; padding: 7px 12px !important; }
  #blancheModal .chat-form button { min-height: 36px; }
  #blancheModal .blanche-gate { overflow-y: auto; min-height: 0; margin-top: 5px; }
}
/* Fix: third bedroom photograph spans both columns on mobile */
@media (max-width: 780px) {
  .editorial-bedrooms .bedroom-triptych figure:last-child {
    grid-column: 1 / -1 !important;
  }
}