@font-face{font-family:VieuxPre;src:url('/assets/heading-italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:VieuxPre;src:url('/assets/heading.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:VieuxPreBody;src:url('/assets/body.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{--cream:#f9f8ef;--olive:#585c3b;--green:#3a3f27;--dark:#1a1e0b;--ink:var(--dark);--line:rgba(58,63,39,.22);--serif:VieuxPre,'Bodoni MT',Didot,'Times New Roman',serif;--sans:VieuxPreBody,'Helvetica Neue',Arial,sans-serif;--gutter:clamp(24px,6.2vw,112px);--fence-size:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06}h2{font-size:clamp(2.625rem,4.7vw,4.75rem);letter-spacing:-.025em}h3{font-size:2rem}em{font-weight:400;font-style:italic}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{color:var(--cream);background:var(--green)}.skip-link{position:fixed;left:20px;top:-100px;z-index:200;background:var(--cream);color:var(--ink);padding:10px 20px}.skip-link:focus{top:15px}.section-pad{padding:110px var(--gutter)}.eyebrow{font-family:var(--sans);font-size:0.8125rem;font-weight:400;line-height:1.45;letter-spacing:.17em;text-transform:uppercase}.announcement{background:var(--cream);color:var(--green);padding:9px 20px;text-align:center;font-size:0.75rem;letter-spacing:.08em}.announcement span{margin-left:10px;text-transform:uppercase}.header{min-height:100px;background:var(--dark);color:var(--cream);padding:22px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:36px;position:relative;z-index:20}.brand{width:235px;flex-shrink:0}.brand img{width:100%;height:auto;object-fit:contain}.navigation{display:flex;align-items:center;gap:clamp(20px,2.6vw,42px);font-size:0.875rem;line-height:1.4}.navigation>a{padding:10px 0;border-bottom:1px solid transparent}.navigation>a:hover{border-color:rgba(249,248,239,.6)}.navigation .nav-cta{border:1px solid rgba(249,248,239,.5);padding:14px 20px;display:flex;gap:22px;align-items:center}.navigation .nav-cta:hover{background:var(--cream);color:var(--ink)}.menu-toggle{display:none}.hero{position:relative;min-height:630px;height:calc(100svh - 138px);max-height:1030px;isolation:isolate;background:var(--green);color:var(--cream)}.hero-image{width:100%;height:100%;position:absolute;inset:0;z-index:-3;object-position:50% 50%}.hero-shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(13,20,10,.62),rgba(13,20,10,.25) 55%,rgba(13,20,10,.1)),linear-gradient(0deg,rgba(13,20,10,.4),transparent 40%)}.hero-content{padding:clamp(70px,12vh,140px) var(--gutter) 100px;max-width:1200px}.hero .eyebrow{margin-bottom:32px}.hero h1{font-size:clamp(3.25rem,5.8vw,6rem);letter-spacing:-.025em;line-height:1.08;text-wrap:balance}.hero h1 em{font-size:.92em}.hero-description{font-size:1.0625rem;line-height:1.65;margin:28px 0 34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:48px;padding:17px 24px;font-size:0.875rem;line-height:1.35;min-height:54px;transition:background .2s,color .2s,border-color .2s}.button-light{background:var(--cream);color:var(--ink);border:1px solid var(--cream)}.button-light:hover{background:var(--green);border-color:var(--green);color:var(--cream)}.button span,.text-link span{font-size:1.25rem}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:28px;display:flex;justify-content:space-between;gap:20px;font-size:0.8125rem;letter-spacing:.035em}.image-credit{font-size:0.75rem}.intro{display:grid;grid-template-columns:1fr 1fr;gap:60px 8%;padding-top:120px;padding-bottom:95px}.intro .eyebrow{margin-bottom:25px;color:var(--olive)}.intro-copy{padding-top:42px;max-width:510px;color:var(--green)}.intro-copy p+p{margin-top:21px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid currentColor;padding:8px 0;margin-top:24px;font-size:0.875rem}.text-link:hover{color:var(--olive)}.key-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-top:40px;margin-top:5px}.key-facts>div{padding:0 30px;border-right:1px solid var(--line);text-align:center}.key-facts>div:first-child{padding-left:0}.key-facts>div:last-child{padding-right:0;border:0}.key-facts dt{font-family:var(--serif);font-size:3.5rem;line-height:1.15}.key-facts small{font-size:1.5rem}.key-facts dd{font-size:0.875rem;margin-top:5px;color:var(--green)}.houses{padding-top:100px;background:#efeee3}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:60px}.section-heading .eyebrow{margin-bottom:24px;color:var(--olive)}.section-heading>p{max-width:400px;color:var(--green);font-size:1rem;line-height:1.6;padding-bottom:7px}.house{display:grid;grid-template-columns:1.45fr 1fr;gap:8%;align-items:center}.house figure{position:relative}.house figure img{width:100%;height:560px;object-fit:cover}.house figcaption{font-size:0.75rem;color:var(--green);margin-top:10px}.house-copy{position:relative;max-width:385px;padding:42px 0}.house-number{font-family:var(--serif);font-size:1.125rem;display:block;margin-bottom:28px;color:var(--olive)}.house .eyebrow{margin-bottom:4px;font-size:0.75rem;color:var(--green)}.house h3{font-size:5.5rem;letter-spacing:-.03em;margin-bottom:18px}.house-capacity{font-size:0.875rem;color:var(--green);padding-bottom:23px;margin-bottom:24px;border-bottom:1px solid var(--line)}.house-copy>p:last-of-type{color:var(--green)}.house-pool{margin-top:100px;grid-template-columns:1fr 1.45fr}.house-pool figure{grid-column:2;grid-row:1}.house-pool .house-copy{grid-column:1;grid-row:1}.house-pool figure img{height:440px}.hospitality{background:var(--green);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:110px;padding-bottom:110px}.hospitality .eyebrow{margin-bottom:28px;color:#dedfcf}.hospitality h2{font-size:clamp(2.5rem,4.2vw,4.125rem);line-height:1.12}.signature{width:100px;height:auto;object-fit:contain;margin-top:50px;filter:brightness(0) saturate(100%) invert(97%) sepia(11%) saturate(256%) hue-rotate(357deg) brightness(104%) contrast(95%)}.service{display:flex;gap:26px;padding:25px 0;border-bottom:1px solid rgba(249,248,239,.22)}.service:first-child{padding-top:0}.service-index{font-size:0.75rem;color:#c5c7b5;min-width:18px;padding-top:8px}.service h3{font-size:1.875rem;line-height:1.2;margin-bottom:12px}.service p{font-size:1rem;color:#e2e3d6;line-height:1.7}.service-note{display:inline-block;font-size:0.75rem;margin-top:13px;color:#c8cbb6;letter-spacing:.06em}.gallery{padding-bottom:110px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:340px 300px;gap:22px}.gallery-item{position:relative;overflow:hidden;min-height:0;background:#e4e4d8}.gallery-item img{height:100%;width:100%;transition:transform .65s ease}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(0deg,rgba(10,17,7,.7),transparent);pointer-events:none}.gallery-wide{grid-column:span 2}.gallery-tall{grid-column:3;grid-row:span 2}.gallery-item>span{position:absolute;z-index:1;bottom:20px;left:24px;right:24px;color:var(--cream);display:flex;align-items:center;justify-content:space-between;font-size:1rem}.gallery-item>span>span{font-size:1.4375rem}.experiences{background:#efeee3}.experience-list{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;border-top:1px solid var(--line);padding-top:36px}.experience-number{font-size:0.8125rem;display:block;margin-bottom:32px;color:var(--olive)}.experience-list h3{font-size:2.125rem;line-height:1.17;margin-bottom:23px}.experience-list p{font-size:1rem;color:var(--green)}.experience-footnote{margin-top:40px;font-size:0.8125rem;color:var(--green)}.stay{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-bottom:1px solid var(--line)}.stay .eyebrow{margin-bottom:26px;color:var(--olive)}.stay-intro>p:last-child{max-width:400px;color:var(--green)}.opening{display:block;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:29px 0 20px;font-size:0.875rem;max-width:400px}.rate{padding:5px 0 28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.rate .eyebrow{font-size:0.75rem;letter-spacing:.1em;margin-bottom:18px}.rate h3{font-size:2.4375rem;line-height:1.2;margin-bottom:15px}.rate h3 span{font-family:var(--sans);font-size:0.875rem;white-space:nowrap}.rate p:last-child{font-size:0.875rem;color:var(--green)}.rate-inclusions{font-size:0.8125rem;color:var(--green)}.access{display:grid;grid-template-columns:1fr 1fr;gap:10%}.access .eyebrow{margin-bottom:25px;color:var(--olive)}.access address{font-style:normal;margin:28px 0 27px}.button-outline{border:1px solid var(--green)}.button-outline:hover{background:var(--green);color:var(--cream)}.access-options{display:grid;align-content:center;gap:40px}.access-options>div{border-top:1px solid var(--line);padding-top:23px}.access-options span{font-size:0.75rem;letter-spacing:.08em;color:var(--olive)}.access-options h3{font-size:2.125rem;margin:15px 0}.access-options p{font-size:1rem;color:var(--green);max-width:400px}.footer{background:var(--dark);color:var(--cream);padding-top:70px;padding-bottom:28px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-bottom:65px}.footer-main img{width:340px;height:auto;object-fit:contain}.footer-main p{font-size:0.875rem;color:#dedfcf}.back-top{border:1px solid rgba(249,248,239,.4);width:52px;height:52px;display:grid;place-items:center;font-size:1.5rem;border-radius:50%}.back-top:hover{background:var(--cream);color:var(--ink)}.footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;border-top:1px solid rgba(249,248,239,.2);padding-top:25px;font-size:0.75rem;color:#c6c9b5}.legal{max-width:460px}.legal summary{cursor:pointer;list-style:none}.legal summary::-webkit-details-marker{display:none}.legal summary:after{content:' +';margin-left:10px}.legal[open] summary:after{content:' −'}.legal p{margin-top:15px}.lightbox{border:0;padding:25px 35px;background:var(--dark);color:var(--cream);width:96vw;max-width:1500px;height:93svh;max-height:1100px;overflow:hidden}.lightbox::backdrop{background:rgba(10,14,6,.92)}.lightbox[open]{display:flex;flex-direction:column;gap:20px}.lightbox-top,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-shrink:0;font-size:0.875rem}.lightbox-close{background:transparent;border:0;display:flex;align-items:center;gap:20px;padding:8px}.lightbox-close span{font-size:1.625rem}.lightbox-content{display:flex;align-items:center;gap:20px;min-height:0;flex:1}.lightbox-image{width:calc(100% - 124px);height:100%;object-fit:contain;flex:1;min-width:0}.lightbox-prev,.lightbox-next{background:transparent;border:1px solid rgba(249,248,239,.4);min-width:42px;width:42px;height:48px;font-size:1.4375rem}.lightbox-bottom{font-size:0.8125rem;padding-bottom:8px}.lightbox-bottom p{margin:0}.lightbox-count{white-space:nowrap}
@media(min-width:1600px){.section-pad{padding-left:max(100px,calc((100vw - 1400px)/2));padding-right:max(100px,calc((100vw - 1400px)/2))}.hero-content{max-width:1400px}}
@media(max-width:1100px){.header{gap:20px}.brand{width:180px}.navigation{gap:18px;font-size:0.875rem}.navigation .nav-cta{padding:12px 14px;gap:14px}.hero h1{font-size:clamp(3.125rem,6.6vw,4.6875rem)}.house figure img{height:460px}.house h3{font-size:4.5rem}.hospitality{gap:6%}.gallery-grid{grid-template-rows:290px 260px;gap:16px}.rate h3{font-size:2.125rem}.footer-main img{width:260px}}
@media(max-width:800px){html{scroll-padding-top:28px}.section-pad{padding:75px 26px}.announcement{font-size:0.6875rem;padding:8px 15px}.header{min-height:83px;padding:18px 26px}.brand{width:180px}.menu-toggle{display:flex;align-items:center;gap:16px;border:0;background:none;padding:10px 0;font-size:0.875rem}.menu-lines{position:relative;width:22px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(-45deg);height:0;border-bottom:0}.menu-toggle[aria-expanded=true] .menu-lines:after{content:'';width:22px;border-top:1px solid currentColor;transform:rotate(90deg);position:absolute;top:-1px;left:0}.navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--dark);padding:20px 26px 34px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 30px rgba(0,0,0,.18);font-size:1.125rem}.navigation.is-open{display:flex}.navigation>a{padding:16px 0;border-bottom:1px solid rgba(249,248,239,.2)}.navigation .nav-cta{margin-top:24px;padding:16px 20px}.hero{height:calc(100svh - 118px);min-height:600px;max-height:850px}.hero-content{padding:80px 26px 110px}.hero h1{font-size:clamp(2.6875rem,7vw,3.875rem);line-height:1.12;max-width:650px}.hero .eyebrow{font-size:0.75rem;margin-bottom:28px}.hero-image{object-position:58% 50%}.hero-shade{background:linear-gradient(90deg,rgba(13,20,10,.66),rgba(13,20,10,.28)),linear-gradient(0deg,rgba(13,20,10,.4),transparent 50%)}.hero-description{font-size:1rem;margin-top:24px}.hero-bottom{left:26px;right:26px;font-size:0.75rem;align-items:flex-start;flex-direction:column;gap:4px;bottom:22px}.image-credit{font-size:0.6875rem}.intro{grid-template-columns:1fr;gap:30px}.intro-copy{padding:0;max-width:600px}.intro .eyebrow{margin-bottom:20px}.key-facts{grid-template-columns:repeat(4,1fr);padding-top:30px;gap:0;margin-top:5px}.key-facts>div{padding:0 12px}.key-facts dt{font-size:2.4375rem}.key-facts small{font-size:1.125rem}.key-facts dd{font-size:0.75rem}.section-heading{margin-bottom:38px;align-items:flex-start;flex-direction:column;gap:25px}.section-heading>p{font-size:1rem;padding:0}.section-heading .eyebrow{margin-bottom:20px}.house{grid-template-columns:1.25fr 1fr;gap:6%}.house figure img{height:440px}.house-copy{padding:20px 0}.house h3{font-size:4rem}.house-number{margin-bottom:22px}.house-capacity{font-size:0.8125rem;padding-bottom:18px;margin-bottom:18px}.house-copy>p:last-of-type{font-size:1rem}.house .text-link{font-size:0.8125rem;gap:12px}.house-pool{grid-template-columns:1fr 1.25fr;margin-top:65px}.house-pool figure img{height:400px}.hospitality{grid-template-columns:1fr;gap:44px}.hospitality-title{position:relative}.hospitality h2{font-size:2.875rem;max-width:510px}.signature{position:absolute;right:5px;bottom:5px;width:75px;margin:0;opacity:.75}.service{padding:24px 0}.service h3{font-size:1.875rem}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:330px 280px 260px;gap:15px}.gallery-wide{grid-column:1/-1}.gallery-tall{grid-column:2;grid-row:2/4}.gallery-item:nth-child(3){grid-column:1;grid-row:2}.gallery-item:nth-child(4){grid-column:1;grid-row:3}.gallery-item>span{font-size:0.875rem;left:15px;right:15px;bottom:15px}.experience-list{gap:28px;grid-template-columns:1fr}.experience-list article{display:grid;grid-template-columns:30px 1fr;column-gap:20px;border-bottom:1px solid var(--line);padding-bottom:28px}.experience-number{grid-column:1;grid-row:1/3;margin:9px 0 0}.experience-list h3{font-size:1.875rem;grid-column:2;margin-bottom:16px}.experience-list h3 br{display:none}.experience-list p{grid-column:2;max-width:550px}.experience-footnote{margin-top:27px}.stay{grid-template-columns:1fr;gap:45px}.stay-intro>p:last-child{max-width:550px}.opening{max-width:none}.rate h3{font-size:2.375rem}.rate-inclusions{max-width:580px}.access{grid-template-columns:1fr;gap:48px}.access-options{grid-template-columns:1fr 1fr;gap:25px}.access-options h3{font-size:1.6875rem;line-height:1.2}.footer{padding-bottom:25px}.footer-main{gap:30px;flex-wrap:wrap;padding-bottom:45px}.footer-main img{width:240px}.footer-main p{font-size:0.8125rem}.footer-bottom{flex-wrap:wrap;gap:20px}.footer-bottom>span{width:100%}.legal{max-width:70%}.lightbox{padding:20px 16px;gap:12px}.lightbox-content{gap:8px}.lightbox-prev,.lightbox-next{min-width:34px;width:34px;height:44px}.lightbox-top{font-size:0.8125rem}.lightbox-image{width:calc(100% - 84px)}}
@media(max-width:550px){.hero{min-height:630px;height:calc(100svh - 111px)}.hero-content{padding-top:72px}.hero h1{font-size:2.75rem;max-width:360px;line-height:1.12}.hero h1 em{font-size:.91em}.hero-description{margin:24px 0 28px}.hero .eyebrow{font-size:0.6875rem;letter-spacing:.13em}.hero-image{object-position:56% 50%}.hero-shade{background:linear-gradient(90deg,rgba(13,20,10,.62),rgba(13,20,10,.35)),linear-gradient(0deg,rgba(13,20,10,.45),transparent 45%)}.button{font-size:0.875rem;gap:35px;padding:16px 22px}.key-facts{grid-template-columns:1fr 1fr;gap:25px 0}.key-facts>div{padding:0 10px}.key-facts>div:nth-child(2){border:0}.key-facts>div:first-child{padding-left:10px}.key-facts>div:last-child{padding-right:10px}.key-facts dt{font-size:2.75rem}.key-facts dd{font-size:0.8125rem}.house,.house-pool{display:flex;flex-direction:column;align-items:stretch;gap:0}.house figure img{height:330px}.house-copy{max-width:100%;padding:29px 0 0}.house-number{margin-bottom:15px}.house .eyebrow{font-size:0.75rem}.house h3{font-size:4.5rem}.house-capacity{font-size:0.875rem}.house-copy>p:last-of-type{font-size:1rem}.house .text-link{font-size:0.875rem;gap:40px}.house-pool{margin-top:55px}.house-pool figure img{height:300px}.house figcaption{line-height:1.5}.hospitality h2{font-size:2.5rem}.signature{display:none}.service-index{margin-top:1px}.service{gap:19px}.service h3{font-size:1.75rem}.gallery-grid{grid-template-rows:245px 230px 215px;gap:12px}.gallery-item>span{font-size:0.8125rem;left:13px;right:13px;bottom:13px;line-height:1.3;gap:8px}.gallery-item>span>span{font-size:1.125rem}.gallery-tall img{object-position:45% 50%}.rate h3{font-size:2.125rem}.rate h3 span{font-size:0.8125rem}.access-options{grid-template-columns:1fr;gap:35px}.footer-main{display:grid;grid-template-columns:1fr auto;gap:30px}.footer-main>a:first-child{grid-column:1/-1}.footer-main img{width:260px}.footer-main p{grid-column:1}.back-top{grid-column:2}.footer-bottom{font-size:0.75rem}.legal{max-width:100%;order:3;flex-basis:100%}.lightbox{height:95svh;width:98vw;max-width:98vw;padding:16px 12px}.lightbox-top{font-size:0.75rem}.lightbox-bottom{font-size:0.75rem}.lightbox-content{position:relative}.lightbox-image{width:100%}.lightbox-prev,.lightbox-next{position:absolute;bottom:5px;background:rgba(26,30,11,.8);z-index:1}.lightbox-prev{left:5px}.lightbox-next{right:5px}.lightbox-close{gap:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.hero-picture{position:absolute;inset:0;z-index:-3;display:block}.hero-picture .hero-image{z-index:auto}.brand-rule,.footer-fence{height:30px;background:url(/assets/motif.png) center/auto var(--fence-size) repeat-x}.brand-rule{opacity:.7;margin-bottom:28px}.house-pool figure{background:#f9f8ef;padding:25px 15px 10px}.house-pool figure img{object-fit:contain;mix-blend-mode:multiply}.house-pool figcaption{padding:0 8px 10px}

.hero{height:auto;min-height:max(630px,calc(100svh - 138px));max-height:none}.hero-content{padding-bottom:130px}@media(max-width:800px){.hero{height:auto;min-height:max(600px,calc(100svh - 118px));max-height:none}.hero-content{padding-bottom:130px}}@media(max-width:550px){.hero{height:auto;min-height:max(630px,calc(100svh - 111px))}}

/* Original principal logo and scroll-led movement. */
.hero{overflow:hidden}
.hero-picture{inset:-90px 0;transform:translate3d(0,var(--parallax-y,0px),0)}
.hero-content{display:grid;grid-template-columns:minmax(0,1fr) 195px;align-items:center;gap:70px;max-width:none;padding-top:100px;padding-bottom:120px}
.hero-copy{min-width:0}
.hero h1{font-size:clamp(3.125rem,5.1vw,5.625rem);line-height:1.12;max-width:960px}
.hero-emblem{align-self:center;text-align:center;padding:10px 0 20px}
.hero-emblem img{width:100%;height:auto;object-fit:contain;filter:brightness(0) saturate(100%) invert(98%) sepia(10%) saturate(267%) hue-rotate(345deg) brightness(102%) contrast(95%)}
.hero-emblem>span{display:block;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;margin-top:30px}
.motion-enabled .hero-emblem{animation:emblem-arrive 1.1s ease-out both}
.motion-enabled .hero-copy{animation:copy-arrive .9s .12s ease-out both}
@keyframes emblem-arrive{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.parallax-window{position:relative;overflow:hidden;height:620px}
.house .parallax-window img{position:absolute;inset:-72px 0 auto;width:100%;height:calc(100% + 144px);object-fit:cover;transform:translate3d(0,var(--parallax-y,0px),0)}
.motion-enabled [data-parallax]{will-change:transform}
.motion-enabled .scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--reveal-delay,0ms)}
.motion-enabled .scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
.house-copy>p+p:not(.house-capacity){margin-top:18px}
.house-details{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid var(--line)}
.house-details li{font-size:.875rem;padding:10px 0;border-bottom:1px solid var(--line);line-height:1.5}
.experience-list p+p{margin-top:18px}
.stay-copy{margin-top:20px;max-width:420px;color:var(--green)}
.intro-copy{padding-top:25px}

/* Two transport choices and a schematic, animated journey. */
.access{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7%;align-items:start}
.access-intro>p:not(.eyebrow){color:var(--green);max-width:430px;margin-top:28px}
.access h2{font-size:clamp(2.75rem,4.1vw,4.375rem)}
.journey-panel{min-width:0;background:#efeee3;padding:34px 32px 28px;border:1px solid var(--line)}
.journey-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin-bottom:35px}
.journey-tabs button{background:none;border:0;border-bottom:2px solid transparent;display:flex;align-items:center;justify-content:center;gap:11px;padding:0 10px 16px;min-height:50px;color:var(--olive);font-size:.9375rem;transition:color .2s,border-color .2s}
.journey-tabs button[aria-selected=true]{border-color:var(--ink);color:var(--ink)}
.journey-tabs button:hover{color:var(--ink)}
.journey-tabs img{width:22px;height:22px;object-fit:contain;opacity:.8}
.journey-content[hidden]{display:none}
.journey-content>.eyebrow{font-size:.75rem;letter-spacing:.09em;line-height:1.6;margin:0 0 20px}
.journey-duration{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.journey-duration strong{font-family:var(--serif);font-size:3.5rem;font-weight:400;line-height:1.1;white-space:nowrap}
.journey-duration strong>span{font-size:1.8rem}
.journey-duration p{font-size:.875rem;line-height:1.7}
.journey-duration p>span{font-size:.8125rem;color:var(--green)}
.route-map{margin:50px 2px 30px;padding-top:18px;position:relative}
.route-track{position:absolute;height:2px;background:rgba(88,92,59,.23);top:18px;left:5px;right:5px}
.route-progress{position:absolute;inset:0;background:var(--green);transform-origin:left;transform:scaleX(1)}
.route-traveller{position:absolute;width:34px;height:34px;background:#efeee3;left:100%;top:-36px;transform:translateX(-50%);display:grid;place-items:center}
.route-traveller>img{width:25px;height:25px;object-fit:contain;grid-area:1/1}
.route-train .marker-train{opacity:0}
.route-train .marker-transfer{opacity:1}
.route-stations{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.route-stations>div{position:relative;padding-top:23px;line-height:1.45;text-align:center;min-width:0}
.route-stations>div:first-child{text-align:left}
.route-stations>div:last-child{text-align:right}
.station-dot{position:absolute;width:9px;height:9px;top:-3.5px;left:calc(50% - 4.5px);border:1px solid var(--green);border-radius:50%;background:var(--cream)}
.route-stations>div:first-child .station-dot{left:0}
.route-stations>div:last-child .station-dot{left:auto;right:0}
.station-dot.station-destination{background:var(--green)}
.route-stations strong{display:block;font-size:.875rem;font-weight:400;line-height:1.5}
.route-stations>div>span:last-child{font-size:.75rem;color:var(--green)}
.journey-description{font-size:1rem;color:var(--green);margin-top:30px}
.journey-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0 20px}
.journey-actions .text-link{font-size:.875rem;gap:18px;margin:0}
.replay-journey{padding:10px 0;border:0;background:transparent;font-size:.8125rem;min-height:44px;display:flex;align-items:center;gap:7px;color:var(--green)}
.replay-journey>span{font-size:1.125rem}
.replay-journey:hover{color:var(--ink)}
.journey-note{font-size:.75rem;line-height:1.7;color:var(--green)}
.journey-note a{text-decoration:underline;text-underline-offset:3px}
.route-map.is-animating .route-progress{animation:route-draw 4.4s ease-in-out both}
.route-map.is-animating .route-traveller{animation:route-travel 4.4s ease-in-out both}
.route-map.is-animating.route-train .marker-train{animation:train-to-transfer 4.4s linear both}
.route-map.is-animating.route-train .marker-transfer{animation:transfer-from-train 4.4s linear both}
.route-map.is-animating .station-destination{animation:arrive-at-house 4.4s ease-out both}
@keyframes route-draw{0%{transform:scaleX(0)}48%{transform:scaleX(.5)}62%{transform:scaleX(.5)}100%{transform:scaleX(1)}}
@keyframes route-travel{0%{left:0}48%{left:50%}62%{left:50%}100%{left:100%}}
@keyframes train-to-transfer{0%,50%{opacity:1}58%,100%{opacity:0}}
@keyframes transfer-from-train{0%,50%{opacity:0}58%,100%{opacity:1}}
@keyframes arrive-at-house{0%,84%{box-shadow:0 0 0 0 rgba(88,92,59,0)}94%{box-shadow:0 0 0 8px rgba(88,92,59,.14)}100%{box-shadow:0 0 0 12px rgba(88,92,59,0)}}
.route-car.is-animating .route-progress{animation-timing-function:linear}
.route-car.is-animating .route-traveller{animation-timing-function:linear}

@media(min-width:1600px){.hero-content{padding-left:max(100px,calc((100vw - 1400px)/2));padding-right:max(100px,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.hero-content{grid-template-columns:minmax(0,1fr) 155px;gap:45px}.hero h1{font-size:clamp(3rem,5.7vw,4.2rem)}.parallax-window{height:580px}.access{grid-template-columns:1fr;gap:45px}.access-intro>p:not(.eyebrow){max-width:600px}.journey-panel{max-width:760px;width:100%}.journey-duration{gap:35px}.journey-duration strong{font-size:3.7rem}}
@media(max-width:800px){.hero-content{padding:65px 26px 120px;grid-template-columns:minmax(0,1fr) 120px;gap:28px}.hero h1{font-size:clamp(2.5rem,5.7vw,3.5rem)}.hero-emblem>span{font-size:.75rem;letter-spacing:.1em;margin-top:20px}.parallax-window{height:580px}.house{align-items:start}.house-copy{padding-top:10px}.house-pool{align-items:center}.journey-panel{padding:28px}.journey-tabs button{font-size:.9375rem}.access h2{font-size:3rem}}
@media(max-width:650px){.hero-content{display:flex;flex-direction:column-reverse;align-items:stretch;padding-top:36px;gap:30px}.hero-emblem{align-self:center;width:100px;padding:0}.hero-emblem>span{display:none}.hero h1{font-size:2.625rem;max-width:470px}.hero .eyebrow{font-size:.75rem;margin-bottom:20px}.hero-description{margin:22px 0 27px}.hero-copy{max-width:520px}.hero-content{padding-bottom:105px}.hero-emblem img{max-height:158px}.hero h1 em{font-size:.94em}}
@media(max-width:550px){.hero h1{font-size:2.4rem;line-height:1.14}.hero-content{gap:28px}.hero-image{object-position:50% 50%}.hero-shade{background:linear-gradient(0deg,rgba(13,20,10,.58),rgba(13,20,10,.33) 65%,rgba(13,20,10,.42))}.parallax-window{height:350px}.house-copy{padding-top:27px}.house-details{margin-top:20px}.journey-panel{padding:25px 18px}.journey-tabs{margin-bottom:28px}.journey-tabs button{font-size:.875rem;padding-left:4px;padding-right:4px}.journey-duration{gap:18px}.journey-duration strong{font-size:3.25rem}.journey-duration p{font-size:.875rem}.journey-duration p>span{font-size:.75rem}.route-map{margin-top:45px}.route-stations strong{font-size:.8125rem}.route-stations>div>span:last-child{font-size:.75rem}.journey-actions{gap:8px}.replay-journey{font-size:.75rem}.access h2{font-size:2.8rem}.journey-content>.eyebrow{letter-spacing:.045em}.hero-bottom .image-credit{font-size:.75rem}.announcement{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.hero-picture,.house .parallax-window img{transform:none!important}.motion-enabled .scroll-reveal{opacity:1;transform:none;transition:none}.hero-emblem,.hero-copy{opacity:1;transform:none}.replay-journey{display:none}.route-progress{transform:scaleX(1)!important}.route-traveller{left:100%!important}.route-train .marker-train{opacity:0!important}.route-train .marker-transfer{opacity:1!important}}

.surroundings{background:var(--cream);border-bottom:1px solid var(--line)}
.around-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:40px;align-items:start}
.around-map-frame{background:#efeee3;border:1px solid var(--line);min-width:0}
.around-map-heading,.around-map-footer{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.75rem;color:var(--green)}
.around-map-heading{border-bottom:1px solid var(--line);letter-spacing:.035em}
.around-map-footer{border-top:1px solid var(--line);font-size:.75rem}
.around-map-footer a{text-decoration:underline;text-underline-offset:3px}
.around-map{width:100%;height:auto;display:block;overflow:visible}
.around-route{fill:none;stroke:#b5b89e;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:stroke .25s}
.around-route.is-selected{stroke:var(--green);stroke-width:2.5;stroke-dasharray:var(--route-length);animation:draw-around-route .9s ease-out both}
@keyframes draw-around-route{from{stroke-dashoffset:var(--route-length)}to{stroke-dashoffset:0}}
.around-marker{cursor:pointer;outline:none}
.around-hit{fill:transparent;stroke:none}
.around-leader{fill:none;stroke:var(--olive);stroke-width:1;vector-effect:non-scaling-stroke}
.around-pin{fill:var(--cream);stroke:var(--green);stroke-width:1.4;vector-effect:non-scaling-stroke;transition:fill .2s}
.around-marker text{font-family:var(--sans);font-size:15px;fill:var(--green);pointer-events:none}
.around-marker[aria-pressed=true] .around-pin{fill:var(--green)}
.around-marker[aria-pressed=true] text{fill:var(--cream)}
.around-marker:focus-visible .around-pin{stroke-width:4}
.around-marker:hover .around-pin{stroke-width:2.5}
.around-home>circle{fill:var(--cream);stroke:var(--olive);stroke-width:1.5}
.around-home-name{font-family:var(--serif);font-size:27px;fill:var(--dark)}
.around-home-town{font-family:var(--sans);font-size:15px;fill:var(--green)}
.map-north path,.map-scale path{fill:none;stroke:var(--olive);stroke-width:1.3}
.map-north text,.map-scale text{font-family:var(--sans);font-size:14px;fill:var(--olive)}
.around-sidebar>.eyebrow{margin:4px 0 18px;color:var(--olive)}
.around-places{border-top:1px solid var(--line)}
.around-place{width:100%;display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:18px 12px;min-height:66px;line-height:1.4;transition:background .2s,color .2s}
.around-place-number{font-size:.75rem;color:var(--olive)}
.around-place-label{font-size:.9375rem}
.around-place-km{font-size:.8125rem;white-space:nowrap}
.around-place[aria-pressed=true]{background:var(--green);color:var(--cream)}
.around-place[aria-pressed=true] .around-place-number{color:#dedfcf}
.around-place:hover:not([aria-pressed=true]){background:#efeee3}
.around-detail{padding:30px 4px 0}
.around-detail>.eyebrow{font-size:.75rem;margin-bottom:13px;color:var(--olive)}
.around-detail h3{font-size:2rem;line-height:1.15;margin-bottom:15px}
.around-distance{font-size:1.125rem;color:var(--green);margin-bottom:16px}
#around-description{font-size:1rem;color:var(--green)}
.around-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:14px}
.around-links .text-link{font-size:.875rem;margin:0;gap:25px}
#around-website{font-size:.8125rem;text-decoration:underline;text-underline-offset:4px}
.around-note{font-size:.75rem;color:var(--green);line-height:1.7;max-width:900px;margin-top:27px}
@media(max-width:1100px){.around-layout{grid-template-columns:1fr;gap:30px}.around-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.around-sidebar>.eyebrow{grid-column:1/-1}.around-detail{padding-top:6px}.around-map{max-height:600px}}
@media(max-width:650px){.around-sidebar{display:block}.around-detail{padding-top:27px}.around-map-heading,.around-map-footer{padding:15px;font-size:.75rem}.around-map-heading>span:last-child{display:none}.around-layout{gap:28px}.around-place{padding:17px 10px}.around-place-label{font-size:.875rem}.around-home-name{font-size:31px}.around-home-town{font-size:20px}.around-marker text{font-size:19px}.around-pin{r:20}.around-hit{r:32}.map-scale text,.map-north text{font-size:20px}.around-map{min-height:300px}.around-note{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.around-route.is-selected{animation:none;stroke-dasharray:none}}

/* Booking and language choice share the original olive and ivory identity. */
.icon{width:22px;height:22px;display:inline-block;flex-shrink:0;vertical-align:middle}.language-switch{display:flex;align-items:center;gap:9px;margin-left:auto;font-size:.875rem}.language-switch a{padding:9px 2px;opacity:.6}.language-switch a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:5px}.language-switch span{opacity:.4}.header{gap:25px}.navigation{gap:24px}.navigation .nav-cta{background:transparent;color:inherit;font-size:.875rem}.hero-booking{color:var(--cream);background:none;margin-left:25px;border:0;border-bottom:1px solid currentColor;padding:12px 0}.button-dark{background:var(--green);color:var(--cream);border:1px solid var(--green)}.button-dark:hover{background:var(--green)}.stay-booking{margin:0 0 25px}.location-access{margin-top:65px;padding-top:65px;border-top:1px solid var(--line)}.footer{position:relative;padding-top:108px}.footer-fence{position:absolute;top:36px;left:0;right:0;filter:brightness(0) invert(1);opacity:.95}.booking-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(560px,100%);height:100dvh;max-height:100dvh;max-width:100vw;padding:30px 40px 24px;border:0;background:var(--cream);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;box-shadow:-15px 0 70px #0002}.booking-drawer::backdrop{background:rgba(18,25,12,.55);backdrop-filter:blur(3px)}.booking-drawer[open]{animation:drawer-enter .4s cubic-bezier(.2,.7,.2,1)}.booking-drawer[open].is-closing{animation:drawer-leave .27s ease-in both}.booking-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.booking-head img{object-fit:contain}.booking-close{background:none;border:1px solid var(--line);width:44px;height:44px;display:grid;place-items:center;border-radius:50%}.booking-drawer>.eyebrow{font-size:.875rem;margin-bottom:14px;color:var(--olive)}.booking-drawer h2{font-size:3.5rem}.booking-intro{margin-top:20px;color:var(--green)}.booking-status{font-size:.875rem;line-height:1.6;border-left:2px solid var(--olive);padding-left:14px;margin:23px 0;color:var(--green)}.booking-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-dates label,.guest-label{font-size:.875rem;display:flex;flex-direction:column;gap:8px}.booking-dates input,.guest-label select{font:inherit;color:var(--ink);border:1px solid var(--line);background:transparent;min-height:48px;padding:10px;width:100%;min-width:0;border-radius:0}.booking-dates input:focus,.guest-label select:focus{outline:1px solid var(--green);outline-offset:2px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:15px}.calendar-head h3{font-size:1.7rem;text-transform:capitalize}.calendar-head button{background:none;border:0;width:44px;height:44px}.calendar-head button:disabled{opacity:.25;cursor:default}.booking-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:12px;text-align:center}.calendar-weekday{font-size:.875rem;color:var(--olive);padding-bottom:9px}.booking-calendar button{height:44px;padding:0;background:transparent;border:1px solid transparent;font-size:.875rem}.booking-calendar button:disabled{color:#aaa99e;cursor:default;text-decoration:line-through}.booking-calendar button:not(:disabled):hover{border-color:var(--olive)}.booking-calendar button.in-range{background:#e6e7da}.booking-calendar button[aria-pressed=true]{background:var(--green);color:var(--cream)}.calendar-hint{font-size:.875rem;color:var(--olive);margin:12px 0 24px}.guest-label{display:grid;grid-template-columns:1fr 120px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}.booking-submit{width:100%;margin:8px 0 0}.booking-error{color:#853924;font-size:.875rem}.booking-summary{border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.booking-summary>p:not(.eyebrow){margin-top:14px}.booking-summary p{font-size:.875rem}.booking-summary #booking-selection{white-space:pre-line;font-size:1rem}.booking-summary .text-link{background:none;border:0;border-bottom:1px solid currentColor}.booking-foot{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--olive);border-top:1px solid var(--line);padding-top:22px;margin-top:35px}.booking-summary[hidden]{display:none}@keyframes drawer-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes drawer-leave{to{transform:translateX(100%)}}
@media(max-width:1200px){.header{flex-wrap:wrap}.navigation{gap:20px}.language-switch{order:1}.navigation{order:2}.brand{margin-right:auto}.hero-booking{display:table;margin-left:0}}
@media(max-width:800px){.header{flex-wrap:nowrap;gap:18px}.brand{width:155px}.language-switch{margin-left:auto}.menu-toggle{order:2}.navigation{order:3}.navigation .nav-cta{margin-top:20px}.footer{padding-top:100px}.location-access{margin-top:40px;padding-top:40px}}
@media(max-width:550px){.booking-drawer{padding:24px}.booking-drawer h2{font-size:3rem}.booking-head{margin-bottom:22px}.booking-dates{gap:8px}.booking-dates input{padding:9px 5px;font-size:.875rem}.booking-foot{flex-direction:column;gap:7px}.language-switch{gap:6px;font-size:.8125rem}.menu-toggle{font-size:.8125rem;gap:9px}.brand{width:135px}.header{gap:13px}.hero-booking{margin-top:18px}.location-access{padding-top:40px}}
/* Geographically sourced linework, without a remote tile dependency. */
.around-map{overflow:hidden;background:#f4f3e9}.around-map-frame{background:#f4f3e9;border-color:#d9dacb}.map-background path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-context-tertiary{stroke:#dadbcb;stroke-width:.55}.map-context-secondary{stroke:#c8cbb7;stroke-width:.8}.map-context-primary{stroke:#babea5;stroke-width:1}.map-context-trunk{stroke:#b3b99c;stroke-width:1.4}.map-context-motorway{stroke:#b0b695;stroke-width:2}.map-context-river{stroke:#b9cdd0;stroke-width:3.5;opacity:.8}.map-towns circle{fill:#767e65}.map-towns text{fill:#737b62;font-family:var(--sans);font-size:17px;paint-order:stroke;stroke:#f4f3e9;stroke-width:5px;stroke-linejoin:round}.map-towns .map-capital{font-family:var(--serif);font-size:32px;fill:var(--green)}.map-road-label rect{fill:#efeee3;stroke:#c2c6af;stroke-width:1}.map-road-label text{font-size:14px;stroke:none}.around-home-name,.around-home-town{paint-order:stroke;stroke:#f4f3e9;stroke-width:6px;stroke-linejoin:round}.around-route{stroke:#8b9673;stroke-width:1.1;opacity:.65}.around-route.is-selected{opacity:1;stroke-width:2.5}.around-pin{stroke-width:1.5;filter:drop-shadow(0 2px 3px #1a1e0b18)}.around-map-heading{font-size:.875rem}.around-note{font-size:.8125rem}.around-home-town{font-size:14px}.around-map-footer{font-size:.8125rem}.around-places{border-top:0}.around-place{padding-left:16px;padding-right:16px}.around-place[aria-pressed=true]{border-radius:2px}.location-access .journey-panel{background:#eeeee2}.map-key{display:flex;gap:22px;align-items:center;font-size:.8125rem;color:var(--olive);margin-top:15px}.map-key span{display:inline-flex;align-items:center;gap:8px}.map-key i{width:22px;border-top:2px solid #b0b695}.map-key span:nth-child(2) i{border-color:#b9cdd0;border-width:3px}.map-key span:nth-child(3) i{border-color:var(--green)}@media(max-width:650px){.map-key{gap:14px;font-size:.75rem;flex-wrap:wrap}.around-map-heading{font-size:.8125rem}.around-map{min-height:320px}.map-towns .map-town{font-size:19px}.map-towns .map-capital{font-size:30px}}
.paris-distance{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:24px}.paris-distance strong{font-family:var(--serif);font-size:2.5rem;font-weight:400;line-height:1.1}.paris-distance span{font-size:.875rem;color:var(--olive)}

/* Keep the visit to the house continuous; location details open only on demand. */
html{scrollbar-gutter:stable}.location-compact{display:flex;justify-content:space-between;align-items:center;gap:34px;padding-top:44px;padding-bottom:44px;border-bottom:1px solid var(--line);background:var(--cream)}.location-compact .eyebrow{color:var(--olive);margin-bottom:13px}.location-compact h2{font-size:clamp(1.875rem,2.8vw,2.75rem);line-height:1.15}.location-compact-heading>p:last-child{font-size:.9375rem;color:var(--green);margin-top:10px}.location-compact-side{display:flex;align-items:flex-end;flex-direction:column;gap:20px}.location-compact-actions{display:flex;gap:26px;flex-wrap:wrap}.location-compact-actions .text-link{margin:0;background:none;gap:18px;border:0;border-bottom:1px solid var(--line);min-height:44px;font-size:.875rem;text-align:left}.location-compact-actions .text-link:hover{border-color:var(--olive)}.nav-location,.footer-location{background:none;border:0;padding:10px 0;font:inherit}.navigation .nav-location{border-bottom:1px solid transparent}.navigation .nav-location:hover{border-color:var(--cream)}.footer-location{padding:0}.weather-widget{position:relative;font-size:.875rem;color:var(--olive)}.weather-widget summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;min-height:38px}.weather-widget summary::-webkit-details-marker{display:none}.weather-icon:empty{display:none}.weather-icon svg{width:25px;height:25px;display:block}.weather-reading{font-variant-numeric:tabular-nums}.weather-disclosure{font-size:1rem;color:var(--olive);font-weight:400}.weather-widget[open] .weather-disclosure{transform:rotate(45deg)}.weather-popover{position:absolute;z-index:25;right:0;top:calc(100% + 8px);width:min(290px,calc(100vw - 48px));background:var(--cream);border:1px solid var(--line);padding:20px;box-shadow:0 12px 35px #1a1e0b12;line-height:1.6}.weather-popover p+p{margin-top:8px}.weather-credit{font-size:.75rem}.weather-credit a{text-decoration:underline;text-underline-offset:3px}.weather-popover #weather-time{font-size:.8125rem}
.location-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(850px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;padding:0;border:0;background:var(--cream);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:-15px 0 70px #0002;scrollbar-gutter:stable}.location-drawer::backdrop{background:rgba(18,25,12,.5)}.location-drawer[open]{animation:drawer-enter .36s cubic-bezier(.2,.7,.2,1)}.location-drawer[open].is-closing{animation:drawer-leave .27s ease-in both}.side-drawer::backdrop{backdrop-filter:none}.booking-drawer[open]{animation-duration:.36s}.location-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 36px 24px}.location-drawer-head .eyebrow{margin-bottom:10px;color:var(--olive);font-size:.8125rem}.location-drawer-head h2{font-size:2.75rem}.drawer-close{background:none;border:1px solid var(--line);width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:50%}.location-tabs{position:sticky;top:0;z-index:10;display:flex;padding:0 36px;background:var(--cream);gap:24px;border-bottom:1px solid var(--line)}.location-tabs button{background:none;border:0;border-bottom:2px solid transparent;font-size:.9375rem;min-height:55px;padding:12px 0;color:var(--olive)}.location-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--green)}.location-pane{padding:28px 36px 36px}.location-pane[hidden],.location-pane [hidden]{display:none!important}.location-drawer .location-access{display:flex;flex-direction:column;gap:25px;margin:0;padding:0;border:0}.location-drawer .access-intro .eyebrow{display:none}.location-drawer .access-intro h3{font-size:2rem;margin-bottom:16px}.location-drawer .access-intro>p{font-size:1rem;max-width:none}.location-drawer .access address{font-size:.875rem;margin:20px 0 12px}.location-drawer .access-intro .button{border:0;border-bottom:1px solid var(--line);padding:8px 0;min-height:40px;gap:25px;background:none;color:var(--green)}.location-drawer .journey-panel{max-width:none;padding:25px 28px;border:1px solid var(--line)}.location-drawer .journey-duration{justify-content:flex-start;gap:32px}.location-drawer .journey-duration strong{font-size:3.5rem}.location-drawer .journey-content>.eyebrow{margin-bottom:20px}.location-drawer .journey-description{margin-top:22px}.location-drawer .journey-note{font-size:.8125rem}.location-drawer .around-layout{grid-template-columns:1fr;gap:25px}.location-drawer .around-map{min-height:0;max-height:none}.location-drawer .around-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 25px}.location-drawer .around-sidebar>.eyebrow{grid-column:1/-1}.location-drawer .around-detail{padding:0}.location-drawer .around-place{grid-template-columns:20px minmax(0,1fr) auto;gap:8px;padding:14px 10px;min-height:60px}.location-drawer .around-place-label{font-size:.875rem}.location-drawer .around-place-km{font-size:.8125rem}.location-drawer .around-detail h3{font-size:1.8rem}.location-drawer .around-map-heading,.location-drawer .around-map-footer{padding:14px 18px}.location-drawer .around-note{margin-top:22px;font-size:.8125rem}.location-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 36px;padding:20px 0 28px;border-top:1px solid var(--line);color:var(--olive);font-size:.8125rem}.location-drawer-foot .text-link{background:none;border:0;border-bottom:1px solid var(--line);margin:0;gap:18px;font-size:.875rem}.map-loading{padding:60px 20px;text-align:center;color:var(--olive);font-size:.9375rem}.location-pane #map-retry{margin:0;background:none;border:0;border-bottom:1px solid currentColor}
.motion-enabled .scroll-reveal{transform:translateY(10px);transition:opacity .4s ease,transform .4s ease;transition-delay:0s}.motion-enabled .hero-copy,.motion-enabled .hero-emblem{animation:none}.route-map.is-animating .route-progress,.route-map.is-animating .route-traveller,.route-map.is-animating.route-train .marker-train,.route-map.is-animating.route-train .marker-transfer,.route-map.is-animating .station-destination{animation-duration:3.4s}
@media(max-width:1100px){.location-compact{gap:25px}.location-compact-actions{gap:8px 24px}.location-compact-side{flex-shrink:0}.location-compact-actions{flex-direction:column}}
@media(max-width:800px){.location-compact{padding-top:32px;padding-bottom:32px;align-items:flex-start;flex-direction:column;gap:22px}.location-compact-side{width:100%;align-items:flex-start;gap:16px}.location-compact-actions{flex-direction:row;gap:10px 28px}.weather-popover{left:0;right:auto}.navigation .nav-location{font-size:1.125rem;text-align:left;padding:16px 0;border-bottom:1px solid rgba(249,248,239,.2)}.location-drawer{width:100vw}.location-drawer .around-sidebar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:550px){.location-drawer-head{padding:24px 22px 20px;align-items:flex-start}.location-drawer-head h2{font-size:2.2rem}.location-tabs{padding:0 22px;gap:22px}.location-tabs button{font-size:.875rem}.location-pane{padding:24px 22px}.location-drawer .journey-panel{padding:23px 17px}.location-drawer .journey-duration{gap:18px;align-items:flex-start;flex-direction:column}.location-drawer .journey-duration strong{font-size:3rem}.location-drawer .journey-duration p{font-size:.9375rem}.location-drawer .journey-duration p>span{font-size:.875rem}.location-drawer .around-sidebar{display:block}.location-drawer .around-detail{padding-top:24px}.location-drawer .around-place-label{font-size:.9375rem}.location-drawer .around-place{min-height:62px}.location-drawer-foot{margin:0 22px;align-items:flex-start;flex-direction:column;gap:12px}.location-compact h2{font-size:2rem}.location-compact-actions{gap:8px 24px}.location-compact-actions .text-link{font-size:.875rem;gap:12px}}
@media(prefers-reduced-motion:reduce){.side-drawer[open],.motion-enabled .scroll-reveal{animation:none!important;transition:none!important;transform:none!important;opacity:1}.around-route.is-selected{animation:none!important}}

/* A clear first visit: images, rates and a continuously available booking entry. */
html{scroll-padding-top:112px;scrollbar-gutter:stable}
.header{position:sticky;top:0;display:grid;grid-template-columns:auto 1fr auto auto;min-height:90px;padding:17px var(--gutter);gap:clamp(18px,2vw,28px);border-bottom:1px solid rgba(249,248,239,.12)}
.header>.brand{width:190px}
.header>.navigation{order:0;justify-content:center;gap:clamp(18px,2vw,28px);font-size:.8125rem;white-space:nowrap}
.header>.language-switch{margin:0;gap:7px;font-size:.8125rem}
.header-booking{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:12px 19px;white-space:nowrap;background:var(--cream);color:var(--ink);border:1px solid var(--cream);font-size:.875rem;transition:background .2s,color .2s}
.header-booking:hover{background:transparent;color:var(--cream)}
.header-booking .icon{width:18px;height:18px}
.hero-content{padding-top:72px;padding-bottom:108px}
.hero-description{margin:24px 0 22px}
.hero-rate{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 7px;font-size:.875rem;line-height:1.5;margin-bottom:27px}
.hero-rate strong{font-family:var(--serif);font-size:1.8rem;font-weight:400}
.hero-rate a{margin-left:13px;font-size:.8125rem;text-decoration:underline;text-underline-offset:4px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px}
.hero-actions .hero-gallery{margin:0;color:var(--cream);gap:16px;font-size:.875rem;border-bottom:1px solid rgba(249,248,239,.6);padding:13px 0}
.gallery{padding-top:64px;padding-bottom:72px}
.gallery .section-heading{margin-bottom:32px}
.gallery .section-heading h2{font-size:clamp(2.6rem,4vw,4rem)}
.gallery-grid{grid-template-rows:320px 240px;gap:16px}
.stay{background:#eeeee1;padding-top:76px;padding-bottom:76px;gap:8%;align-items:start}
.stay h2{font-size:clamp(2.8rem,4.3vw,4.25rem)}
.stay-intro>.eyebrow{margin-bottom:22px}
.stay-intro>.opening{margin:26px 0 20px}
.stay-intro>p:not(.eyebrow):not(.opening){font-size:.9375rem;max-width:420px}
.stay-intro>.text-link{font-size:.875rem;margin-top:24px}
.rate{margin-bottom:24px;padding-bottom:26px}
.rate h3{font-size:clamp(2.3rem,3.3vw,3rem)}
.rate .rate-inclusions{font-size:.875rem;line-height:1.65;margin:18px 0 22px;color:var(--green)}
.rate .stay-booking{margin:0;min-width:250px}
.rate-event{margin:0;padding:0;border:0}
.rate-event h3{font-size:clamp(1.8rem,2.5vw,2.125rem)}
.rate-event .eyebrow{margin-bottom:12px;letter-spacing:.08em}
.house h3{font-size:4.25rem}
@media(max-width:1100px){
  html{scroll-padding-top:100px}
  .header{grid-template-columns:1fr auto auto auto;padding:15px 26px;min-height:82px;gap:22px}
  .header>.brand{width:170px}
  .header>.navigation{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;background:var(--dark);padding:16px 26px 28px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 30px rgba(0,0,0,.18);font-size:1.0625rem}
  .header>.navigation.is-open{display:flex}
  .header .navigation>a,.header .navigation>.nav-location{text-align:left;padding:16px 0;font-size:inherit;border-bottom:1px solid rgba(249,248,239,.2)}
  .header>.menu-toggle{display:flex;align-items:center;justify-content:center;gap:14px;border:0;background:none;padding:10px 0;font-size:.8125rem;min-height:44px}
  .menu-lines{position:relative;width:22px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .2s}
  .menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(-45deg);height:0;border-bottom:0}
  .menu-toggle[aria-expanded=true] .menu-lines:after{content:'';width:22px;border-top:1px solid currentColor;transform:rotate(90deg);position:absolute;top:-1px;left:0}
  .hero-content{padding-top:58px}
  .gallery-grid{grid-template-rows:290px 240px}
}
@media(max-width:800px){
  .hero-content{padding:48px 26px 105px}
  .hero-actions{gap:12px 22px}
  .gallery{padding-top:48px;padding-bottom:52px}
  .gallery-grid{grid-template-rows:300px 240px 220px}
  .stay{padding-top:52px;padding-bottom:52px;gap:32px}
  .stay-intro>p:not(.eyebrow):not(.opening){max-width:600px}
  .stay-intro>.text-link{display:none}
  .rate .stay-booking{min-width:0}
  .house h3{font-size:3.75rem}
}
@media(max-width:650px){
  .header{gap:14px}
  .header>.menu-toggle{width:28px;padding:0}
  .menu-toggle>span:first-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .hero-content{padding-top:28px;gap:24px}
  .hero-emblem{width:86px}
  .hero .eyebrow{margin-bottom:20px}
  .hero h1{font-size:clamp(2.6rem,7.6vw,3.7rem)}
  .hero-description{margin:18px 0 16px}
  .hero-rate{margin-bottom:22px;font-size:.8125rem}
  .hero-rate strong{font-size:1.6rem}
  .hero-rate a{margin-left:8px}
}
@media(max-width:550px){
  html{scroll-padding-top:90px}
  .header{grid-template-columns:minmax(82px,1fr) auto auto auto;padding:12px 16px;gap:8px;min-height:70px}
  .header>.brand{width:clamp(92px,25vw,128px);max-width:100%}
  .header>.language-switch{gap:5px;font-size:.75rem}
  .header-booking{font-size:.8125rem;min-height:44px;padding:10px 12px}
  .header-booking .icon{display:none}
  .header>.navigation{padding:12px 24px 24px;max-height:calc(100dvh - 76px)}
  .hero-content{padding-bottom:100px}
  .hero-rate a{margin-left:0;flex-basis:100%;margin-top:5px}
  .hero-actions{gap:12px 22px}
  .hero-actions .button{gap:20px;padding:16px 20px;font-size:.8125rem}
  .hero-actions .hero-gallery{gap:12px}
  .gallery .section-heading{margin-bottom:24px}
  .gallery-grid{grid-template-rows:240px 220px 200px;gap:12px}
  .stay-intro>.opening{margin:20px 0 18px}
  .stay-intro>.stay-copy{margin-top:14px}
  .rate h3{font-size:2.375rem}
  .rate-event h3{font-size:1.875rem}
  .house h3{font-size:3.4rem}
}

@media(max-width:380px){.hero-actions{gap:12px 16px}.hero-actions .hero-gallery .icon{display:none}}

/* The same permanent hero shade covers the poster and every video frame. */
/* House photography moves inside its frame; captions and layout remain still. */
.parallax-layer{position:absolute;inset:-66px 0;transform:translate3d(0,var(--parallax-y,0px),0)}
.gallery-item .parallax-layer img{width:100%;height:100%;object-fit:cover}
.hero-film{position:absolute;inset:0;z-index:-3;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-film-tools{display:flex;align-items:center;gap:18px}
.film-controls{display:flex;align-items:center;gap:8px}
.film-controls[hidden]{display:none}
.film-control{display:grid;place-items:center;width:42px;height:42px;padding:0;color:var(--cream);border:1px solid rgba(249,248,239,.6);background:rgba(58,63,39,.45);border-radius:50%;transition:background .2s}
.film-control:hover{background:var(--green)}
.film-control .icon{width:20px;height:20px}
#film-play[data-state=playing] .film-play-icon,#film-play[data-state=paused] .film-pause-icon,#film-sound[aria-pressed=false] .film-sound-icon,#film-sound[aria-pressed=true] .film-muted-icon{display:none}
html.language-changing{scroll-behavior:auto!important;overflow-anchor:none}
.language-switch[aria-busy=true]{cursor:progress}
.language-switch[aria-busy=true] a{pointer-events:none}
.button-dark:hover{background:var(--dark)}
@media(max-width:1100px){
  .header>.navigation{display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-10px);clip-path:inset(0 0 100% 0);transition:clip-path .36s cubic-bezier(.22,.7,.25,1),transform .36s cubic-bezier(.22,.7,.25,1),opacity .24s ease,visibility 0s .36s}
  .header>.navigation.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);clip-path:inset(0);transition-delay:0s}
}
@media(max-width:800px){.hero-film-tools{width:100%;justify-content:space-between}.hero-bottom{gap:10px}.hero-content{padding-bottom:126px}}
@media(prefers-reduced-motion:reduce){.parallax-layer{transform:none!important}.header>.navigation,.menu-lines{transition:none!important}}

/* Give the oval its own left-hand column and preserve the film's full frame. */
@media(min-width:651px){
  .hero-content{grid-template-columns:clamp(130px,15vw,245px) minmax(0,1fr);gap:clamp(36px,6vw,116px);padding-top:clamp(44px,5vw,88px);padding-bottom:112px;align-items:center}
  .hero-emblem{width:100%;padding:0;justify-self:start}
  .hero h1{font-size:clamp(2.45rem,4.1vw,5rem);line-height:1.12}
  .hero-description{margin:22px 0 18px}
  .hero .eyebrow{margin-bottom:24px}
}
@media(min-width:901px){
  .hero{height:auto;min-height:0;max-height:none;aspect-ratio:16/9;display:grid;align-items:center}
  .hero-film{object-fit:contain}
  .hero-content{width:100%}
}
@media(max-width:650px){.hero-content{flex-direction:column}.hero-emblem{align-self:center}}
.motion-enabled .hero-emblem{animation:emblem-arrive .95s ease-out both}

/* Le Mans follows 55 of 70 travelling minutes. The motorway is not a stop. */
.route-map{--train-share:78.571429%;--train-switch:2.828571s;margin:25px 2px 10px;padding-top:18px}
.route-stations{display:block;position:relative;height:55px;margin:0 5px}
.route-stations>div{position:absolute;top:0;width:max-content;max-width:125px;padding-top:18px}
.route-stations>div:first-child{left:0;transform:none;text-align:left}
.route-stations>div:last-child{right:0;transform:none;text-align:right}
.route-stations>div:nth-child(2):not(:last-child){left:var(--train-share);transform:translateX(-50%);text-align:center}
.route-stations>div:first-child .station-dot{left:-4.5px}
.route-stations>div:last-child .station-dot{right:-4.5px}
.route-traveller{background:var(--cream);width:28px;height:28px;top:-31px}
.route-traveller>img{width:24px;height:24px}
.route-map.is-animating .route-progress{animation:route-draw 3.6s linear both}
.route-map.is-animating .route-traveller{animation:route-travel 3.6s linear both}
.route-map.is-animating.route-train .marker-train{animation:train-to-transfer var(--train-switch) steps(1,end) both}
.route-map.is-animating.route-train .marker-transfer{animation:transfer-from-train var(--train-switch) steps(1,end) both}
.route-map.is-animating .station-destination{animation:arrive-at-house 3.6s ease-out both}
@keyframes route-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes route-travel{from{left:0}to{left:100%}}
@keyframes train-to-transfer{from{opacity:1}to{opacity:0}}
@keyframes transfer-from-train{from{opacity:0}to{opacity:1}}
/* Stagger the transfer label at every drawer width, keeping its dot at 55 / 70. */
.location-drawer .route-train .route-stations{height:7.5rem}
.location-drawer .route-train .route-stations>div:nth-child(2){top:3.25rem;left:auto;right:calc(100% - var(--train-share));transform:none;text-align:right}
.location-drawer .route-train .route-stations>div:nth-child(2) .station-dot{top:calc(-3.25rem - 3.5px);left:auto;right:-4.5px}
.location-drawer .route-train .route-stations>div:nth-child(2)::before{content:'';position:absolute;top:calc(-3.25rem + 8px);right:0;height:calc(3.25rem + 3px);border-left:1px solid var(--line)}
@media(prefers-reduced-motion:reduce){.motion-enabled .hero-emblem{animation:none}}

/* A shared full-height shell keeps headings and actions outside the scrolling body. */
.side-drawer{--drawer-gutter:40px;inset:0 0 0 auto;margin:0;width:min(760px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;overflow:hidden;scrollbar-gutter:auto}
.side-drawer[open]{display:flex;flex-direction:column;animation:drawer-enter .4s cubic-bezier(.2,.7,.2,1)}
.side-drawer[open].is-closing{animation:drawer-leave .27s ease-in both}
.side-drawer::backdrop{background:rgba(18,25,12,.5);backdrop-filter:blur(3px)}
.location-drawer-head,.booking-head{flex:none;margin:0;padding:30px var(--drawer-gutter) 24px;display:flex;align-items:center;gap:22px;background:var(--cream)}
.location-drawer-head h2,.booking-drawer .booking-head h2{font-size:2.5rem;line-height:1.1}
.location-drawer-head .eyebrow,.booking-heading .eyebrow{margin:0 0 8px;font-size:.8125rem;line-height:1.45;color:var(--olive);letter-spacing:.12em}
.booking-heading{flex:1;min-width:0}
.booking-head>img{width:34px;height:54px;flex:none}
.drawer-close,.booking-close{flex:none;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:none}
.location-tabs{position:static;flex:none;padding:0 var(--drawer-gutter);gap:28px;min-height:52px}
.location-tabs button{min-height:52px;font-size:.9375rem;padding:12px 0}
.side-drawer .location-pane,.booking-body{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:24px;padding:28px var(--drawer-gutter);scrollbar-gutter:stable}
.location-drawer #location-travel{display:flex;flex-direction:column}
.location-drawer .location-access{flex:none;width:100%;margin-block:auto;gap:0;align-items:stretch}
.location-drawer .journey-panel{width:100%;padding:0;border:0;background:transparent;container-type:inline-size}
.location-drawer .journey-tabs{margin-bottom:34px}
.location-drawer .journey-tabs button{min-height:52px;font-size:1rem;padding:10px 8px 16px}
.location-drawer .journey-duration{gap:28px;align-items:center;flex-direction:row;flex-wrap:wrap}
.location-drawer .journey-duration strong{font-size:3.65rem}
.location-drawer .journey-duration strong>span{font-size:1.8rem}
.location-drawer .journey-duration p{font-size:1rem;line-height:1.65}
.location-drawer .journey-duration p>span{font-size:.875rem}
.location-drawer .route-map{margin:54px 2px 28px}
.location-drawer .route-stations{height:68px}
.location-drawer .route-stations strong{font-size:.9375rem}
.location-drawer .route-stations>div>span:last-child{font-size:.8125rem}
.location-drawer .journey-note{font-size:.875rem;line-height:1.55}
.side-drawer .drawer-footer{flex:none;display:block;margin:0;padding:18px var(--drawer-gutter) max(22px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--cream)}
.drawer-footer [hidden]{display:none!important}
.location-drawer .journey-actions,.location-drawer .around-links{margin:0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;min-height:44px}
.location-drawer .journey-actions .text-link,.location-drawer .around-links .text-link{margin:0;min-height:44px;font-size:.9375rem;gap:20px}
.location-drawer .replay-journey{font-size:.875rem}
.location-drawer .location-address-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.location-address-row address{font-size:.8125rem;line-height:1.5;font-style:normal}
.location-address-row .text-link{font-size:.8125rem;gap:12px;white-space:nowrap}
.location-explore-actions{display:none}
.location-drawer[data-view=explore] .location-travel-actions{display:none}
.location-drawer[data-view=explore] .location-explore-actions{display:block}
.location-drawer .around-map{width:100%;height:clamp(240px,35dvh,380px);min-height:0;max-height:none}
.location-drawer .around-map-heading,.location-drawer .around-map-footer{padding:12px 18px}
.location-drawer .around-layout{gap:28px}
.location-drawer .around-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px}
.location-drawer .around-place{min-height:54px;padding:12px 8px}
.location-drawer .around-detail{padding:0}
.location-drawer .around-detail h3{font-size:1.7rem}
.booking-body .booking-intro{margin:0}
.booking-body .booking-status{margin:20px 0 26px}
.booking-body .guest-label{margin-top:20px}
.booking-foot .booking-submit{margin:0;width:100%;min-height:54px}
.booking-foot .booking-error:empty{display:none}
.booking-foot .booking-error:not(:empty){margin:0 0 12px}
.booking-footnote{display:flex;justify-content:space-between;gap:14px;margin-top:12px;font-size:.8125rem;line-height:1.5;color:var(--olive)}
@media(max-width:800px){.side-drawer{width:100vw;--drawer-gutter:28px}}
@media(max-width:550px){
  .side-drawer{--drawer-gutter:22px}
  .location-drawer-head,.booking-head{padding-top:max(22px,env(safe-area-inset-top));padding-bottom:20px;gap:14px}
  .location-drawer-head h2,.booking-drawer .booking-head h2{font-size:2rem}
  .booking-head>img{width:26px;height:42px}
  .location-drawer-head .eyebrow,.booking-heading .eyebrow{font-size:.75rem;letter-spacing:.08em;margin-bottom:6px}
  .location-tabs{gap:22px}
  .location-tabs button{font-size:.875rem}
  .side-drawer .location-pane,.booking-body{padding-block:24px}
  .location-drawer .journey-tabs{margin-bottom:28px}
  .location-drawer .journey-duration{gap:20px}
  .location-drawer .journey-duration strong{font-size:3rem}
  .location-drawer .journey-duration p{font-size:.9375rem}
  .location-drawer .route-map{margin-top:44px;margin-bottom:20px}
  .location-drawer .route-stations strong{font-size:.8125rem}
  .location-drawer .route-stations>div>span:last-child{font-size:.75rem}
  .side-drawer .drawer-footer{padding-top:14px;padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .location-drawer .journey-actions,.location-drawer .around-links{gap:12px}
  .location-drawer .journey-actions .text-link,.location-drawer .around-links .text-link{font-size:.875rem;gap:12px}
  .location-drawer .replay-journey{font-size:.8125rem}
  .location-drawer .location-address-row{gap:12px;margin-top:10px;padding-top:10px}
  .location-address-row address,.location-address-row .text-link{font-size:.75rem}
  .location-address-row address{max-width:170px}
  .location-drawer .around-map{height:clamp(220px,32dvh,300px)}
  .location-drawer .around-sidebar{grid-template-columns:1fr;gap:22px}
  .booking-footnote{font-size:.75rem}
}
@media(max-height:740px){
  .location-drawer-head,.booking-head{padding-top:18px;padding-bottom:16px}
  .side-drawer .location-pane,.booking-body{padding-block:20px}
  .location-drawer .journey-tabs{margin-bottom:22px}
  .location-drawer .route-map{margin-top:38px;margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){.side-drawer[open],.side-drawer[open].is-closing{animation:none}}
@container (max-width:420px){
  .location-drawer .journey-duration{flex-direction:column;align-items:flex-start;gap:14px}
}

/* Keep the landscape film intact on small screens, with copy below the picture. */
.hero-media{display:contents}
.hero-film-tools{position:absolute;right:var(--gutter);bottom:24px;z-index:2;width:auto;display:flex;align-items:center;justify-content:flex-end;gap:16px}
.hero-bottom{right:auto;max-width:50%}
.film-control{min-width:44px;min-height:44px}
#film-sound{display:flex;align-items:center;gap:9px;width:auto;padding:0 14px;border-radius:24px}
.film-sound-label{font-size:.8125rem;line-height:1.3;white-space:nowrap}
#film-sound.sound-prompt{background:var(--cream);color:var(--dark);border-color:var(--cream)}
@media(max-width:900px){
  .hero{display:block;height:auto;min-height:0;max-height:none;aspect-ratio:auto;background:var(--dark)}
  .hero-media{display:block;position:relative;isolation:isolate;aspect-ratio:16/9;width:100%;overflow:hidden}
  .hero-film{object-fit:contain;object-position:center;width:100%;height:100%}
  .hero-film-tools{right:18px;bottom:14px;left:18px;width:auto;justify-content:space-between;gap:12px}
  .hero-film-tools .image-credit{font-size:.75rem}
  .hero-content{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px 24px;padding:30px 26px 26px;width:100%}
  .hero-copy{display:contents}
  .hero-emblem{grid-column:1;grid-row:1 / span 2;align-self:center;justify-self:start;width:72px;padding:0}
  .hero-emblem img{width:100%;height:auto;max-height:none}
  .hero-emblem>span{display:none}
  .hero .eyebrow{grid-column:2;grid-row:1;margin:0;font-size:.75rem;letter-spacing:.1em;align-self:end}
  .hero h1{grid-column:2;grid-row:2;font-size:clamp(1.85rem,5.2vw,3.2rem);line-height:1.1;max-width:none}
  .hero h1 em{font-size:.94em}
  .hero-description{grid-column:1 / -1;margin:0;font-size:1rem;line-height:1.6}
  .hero-rate{grid-column:1 / -1;margin:0;font-size:.875rem;gap:0 7px}
  .hero-rate a{flex-basis:auto;margin:0 0 0 8px}
  .hero-actions{grid-column:1 / -1;gap:14px 22px}
  .hero-actions .button{padding:16px 20px;font-size:.875rem;gap:20px}
  .hero-actions .hero-gallery{font-size:.875rem;gap:12px}
  .hero-bottom{position:static;max-width:none;display:block;padding:0 26px 24px;font-size:.8125rem}
}
@media(max-width:550px){
  .hero-content{grid-template-columns:56px minmax(0,1fr);column-gap:18px;row-gap:16px;padding:24px 22px}
  .hero-emblem{width:56px}
  .hero .eyebrow{font-size:.75rem;letter-spacing:.07em}
  .hero h1{font-size:clamp(1.75rem,6.9vw,2.35rem)}
  .hero-film-tools{left:12px;right:12px;bottom:10px}
  .hero-film-tools .image-credit{font-size:.75rem}
  .film-controls{gap:7px}
  #film-sound{padding:0 11px;gap:7px}
  .film-sound-label{font-size:.75rem}
  .hero-rate{font-size:.8125rem}
  .hero-actions{gap:12px 18px}
  .hero-actions .button{font-size:.8125rem;padding:15px 16px;gap:14px}
  .hero-actions .hero-gallery{font-size:.8125rem}
  .hero-bottom{padding:0 22px 24px;font-size:.75rem}
}

/* Keep the original oval on the film without cropping the landscape frame. */
@media(max-width:900px){
  .hero-emblem{position:absolute;top:clamp(16px,3vw,28px);left:clamp(18px,3vw,28px);z-index:1;width:clamp(64px,14vw,116px);pointer-events:none}
  .hero-content{grid-template-columns:minmax(0,1fr)}
  .hero .eyebrow,.hero h1{grid-column:1}
}

.instagram-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.875rem;transition:opacity .2s ease}
.instagram-link:hover{opacity:.7}
.header .navigation>.nav-instagram{display:flex;align-items:center;gap:12px;min-width:44px;justify-content:center}
.nav-instagram>span{display:none}
.footer-instagram{margin-bottom:24px;color:var(--cream)}
@media(max-width:1100px){.header .navigation>.nav-instagram{justify-content:flex-start}.nav-instagram>span{display:inline}}
@media(prefers-reduced-motion:reduce){.instagram-link{transition:none}}

/* Eight views, with generous landscape frames and a portrait kitchen. */
.gallery-grid{grid-template-rows:340px 300px 460px 460px}
.gallery-item.gallery-garage{grid-column:1;grid-row:3}
.gallery-item.gallery-chimney{grid-column:2 / span 2;grid-row:3}
.gallery-item.gallery-living{grid-column:1 / span 2;grid-row:4}
.gallery-item.gallery-kitchen{grid-column:3;grid-row:4}
.gallery-garage img{object-position:50% 70%}
.gallery-chimney img{object-position:45% 50%}
@media(max-width:1100px){.gallery-grid{grid-template-rows:290px 260px 390px 390px}}
@media(max-width:800px){
  .gallery-grid{grid-template-rows:330px 280px 260px 420px 290px 330px 560px}
  .gallery-item.gallery-garage{grid-column:1 / -1;grid-row:4}
  .gallery-item.gallery-chimney{grid-column:1 / -1;grid-row:5}
  .gallery-item.gallery-living{grid-column:1 / -1;grid-row:6}
  .gallery-item.gallery-kitchen{grid-column:1 / -1;grid-row:7}
}
@media(max-width:550px){.gallery-grid{grid-template-rows:230px 200px 200px 400px 250px 280px 430px}}
