:root{--blue:#103b78;--blue2:#0d2b56;--ink:#263542;--cream:#f7f4ec;--paper:#fffcf5;--stone:#c8bba5;--muted:#697078;--line:#ded9cd;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.052em;line-height:1.05}h1 em,h2 em{font-weight:400;color:#8e806d}h1{font-size:clamp(3.8rem,7vw,7.9rem)}h2{font-size:clamp(3.2rem,5.4vw,6.2rem)}h3{font-family:var(--serif)}p{max-width:64ch}.container{width:min(1380px,calc(100% - 10vw));margin-inline:auto}.section-pad{padding:clamp(90px,11vw,170px) 0}.eyebrow{display:block;color:#8a765d;font-size:.75rem;font-weight:600;letter-spacing:.22em;line-height:1.5;text-transform:uppercase}.eyebrow.light{color:#d3dff0}.skip{position:absolute;left:-999px;top:0;background:white;color:#000;padding:12px;z-index:1000}.skip:focus{left:10px}.site-header{position:relative;z-index:50;background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{width:min(1480px,calc(100% - 7vw));min-height:94px;margin:auto;display:flex;gap:35px;align-items:center;justify-content:space-between}.wordmark{display:inline-grid;color:var(--blue);line-height:1;text-align:center;min-width:150px}.wordmark span{font-size:.66rem;letter-spacing:.37em;font-weight:700}.wordmark strong{font:400 2.08rem/1.03 var(--serif);letter-spacing:.075em}.wordmark small{font-size:.48rem;letter-spacing:.35em;font-weight:600}.desktop-nav{display:flex;gap:clamp(18px,2.4vw,40px);align-items:center}.desktop-nav a{font-size:.84rem;color:#44515a;transition:color .25s}.desktop-nav a:hover,.desktop-nav .current{color:var(--blue)}.desktop-nav .current{border-bottom:1px solid var(--blue);padding-bottom:5px}.header-book{display:flex;gap:25px;align-items:center;background:var(--blue);color:white;padding:13px 20px;font-size:.85rem;white-space:nowrap;transition:background .3s}.header-book:hover,.button-blue:hover{background:#274d82}.menu-toggle,.mobile-nav{display:none}.button{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;padding:16px 22px;min-height:55px;font-size:.87rem;font-weight:600;line-height:1.2;border:1px solid transparent;transition:background .3s,color .3s,transform .3s}.button:hover{transform:translateY(-2px)}.button-blue{background:var(--blue);color:#fff}.button-outline{color:var(--blue);border-color:var(--blue)}.button-outline:hover{background:var(--blue);color:white}.button-light{background:var(--paper);color:var(--blue)}.button-row{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.text-link,.line-link,.under-link{font-size:.9rem;color:var(--blue);font-weight:600;display:inline-flex;align-items:center;gap:35px;border-bottom:1px solid var(--blue);padding-bottom:9px}.line-link span,.button span,.header-book span,.under-link span{transition:transform .3s}.line-link:hover span,.button:hover span,.header-book:hover span,.under-link:hover span{transform:translate(3px,-3px)}.light-link{color:#fff;border-color:#fff}.under-link{margin-top:50px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:65px}.section-heading h2{margin-top:20px;color:var(--blue)}.section-heading p{max-width:290px;color:var(--muted)}
/* The blue door is based on the photographed entrance: double leaf, upper transom, stone surround. */
.door-scroll{height:172vh;position:relative}.door-stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:radial-gradient(circle at 50% 76%,#eee9db 0,var(--cream) 60%);display:flex;align-items:center;justify-content:center;perspective:1200px}.door-stage:before,.door-stage:after{content:'';position:absolute;top:0;bottom:0;width:1px;background:rgba(16,59,120,.075)}.door-stage:before{left:4.5%}.door-stage:after{right:4.5%}.door-topline{position:absolute;top:35px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.25em;color:#6d777c;z-index:2}.door-copy{position:absolute;top:clamp(70px,10vh,120px);left:5%;right:5%;text-align:center;z-index:4;opacity:calc(1 - var(--progress,0)*2);transform:translateY(calc(var(--progress,0)*-25px))}.door-copy .eyebrow{color:var(--blue)}.door-copy h1{font-size:clamp(2.2rem,4vw,4.5rem);margin-top:14px;color:var(--blue);line-height:1.15;letter-spacing:-.04em}.door-copy h1 em{color:#917b61}.portal{width:clamp(240px,27vw,410px);height:clamp(330px,52vh,540px);position:relative;z-index:2;margin-top:19vh;transform:scale(calc(1 + var(--progress,0)*.33));transform-origin:50% 65%;border:17px solid #c4b69b;border-bottom-width:10px;box-shadow:0 8px 0 #e7dcc9,0 22px 45px rgba(39,46,44,.1),inset 0 0 0 6px #eadfc9;background:#eadfc9;perspective:1100px}.portal:before{content:'';position:absolute;left:-22px;right:-22px;top:-34px;height:17px;background:linear-gradient(90deg,#b4a489,#e2d3b9 24%,#b8a98e 62%,#d7c8af);box-shadow:0 3px 5px #655e4d25}.portal:after{content:'';position:absolute;inset:-17px;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 48px,rgba(75,59,44,.11) 49px 50px);opacity:.42}.portal-light{position:absolute;inset:0;background:radial-gradient(ellipse at 55% 32%,#fffdf1 0,#e9dbc1 34%,#b89e79 100%);overflow:hidden}.portal-light:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,transparent 55%,#fff5d8 70%,transparent 77%);opacity:calc(var(--progress,0)*.65)}.door-leaf{position:absolute;top:0;bottom:0;width:50%;background:#153e77;border:2px solid #0c2c59;box-shadow:inset 0 0 0 5px #26518e,inset 0 0 0 8px #0c2c59,0 4px 16px #07152955;backface-visibility:hidden;transform-style:preserve-3d;z-index:3}.door-leaf.left{left:0;transform-origin:left center;transform:rotateY(calc(var(--progress,0)*-78deg))}.door-leaf.right{right:0;transform-origin:right center;transform:rotateY(calc(var(--progress,0)*78deg))}.door-grain{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 12px,#ffffff08 13px 15px,transparent 16px 38px)}.door-panel{position:absolute;left:14%;right:14%;border:2px solid #0b2a55;box-shadow:0 0 0 3px #28528d,inset 2px 2px 5px #0b2a5555;background:linear-gradient(130deg,#214b87,#163e77 60%,#0e3266)}.door-panel.top{top:9%;height:36%}.door-panel.lower{bottom:9%;height:36%}.door-knob{position:absolute;top:56%;width:10px;height:10px;background:#d0a974;border-radius:50%;box-shadow:0 0 0 2px #a77b45,1px 2px 5px #07193288}.left .door-knob{right:10%}.right .door-knob{left:10%}.door-number{position:absolute;top:9px;left:50%;translate:-50% 0;color:#d7bd85;font:1rem var(--serif);z-index:5;opacity:calc(1 - var(--progress,0)*2)}.door-scroll-prompt{position:absolute;bottom:28px;left:50%;translate:-50% 0;z-index:4;display:flex;align-items:center;gap:15px;flex-direction:column;text-transform:uppercase;font-size:.69rem;letter-spacing:.24em;color:var(--blue);opacity:calc(1 - var(--progress,0)*2)}.scroll-stroke{display:block;width:1px;height:32px;background:var(--blue);animation:pulse 1.8s ease-in-out infinite}.door-skip{position:absolute;right:6%;bottom:32px;color:var(--blue);font-size:.78rem;z-index:5;text-decoration:underline}.welcome-section{padding:130px 0 150px;background:var(--paper);position:relative;z-index:3}.welcome-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:8%;align-items:center}.welcome-copy h2{color:var(--blue);margin:25px 0 30px}.welcome-copy p{font-size:1.13rem;line-height:1.8;color:#59636a;max-width:495px;margin-bottom:38px}.welcome-photo{height:min(67vw,640px);position:relative}.welcome-photo img{object-position:55% 50%}.welcome-photo figcaption{position:absolute;bottom:-28px;right:0;font-size:.68rem;letter-spacing:.2em;color:#6b777a;text-transform:uppercase}.home-rooms{background:#f3eee5}.home-room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.room-card-img{height:clamp(350px,37vw,580px);position:relative;overflow:hidden}.room-card-img img{transition:transform .7s cubic-bezier(.2,.6,.2,1)}.room-card:hover img{transform:scale(1.045)}.card-index{position:absolute;top:15px;left:16px;border:1px solid #fffc;color:white;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);background:#173259aa}.room-card-bottom{padding:22px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c7c1b5}.room-card-bottom h3{font-size:clamp(2.7rem,4vw,4.5rem);line-height:1.1;color:var(--blue);margin-top:8px}.circle-arrow{width:42px;height:42px;border:1px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue);transition:background .3s,color .3s}.room-card:hover .circle-arrow{background:var(--blue);color:white}.home-atmosphere{min-height:710px;display:grid;grid-template-columns:1fr 1fr;background:var(--blue);color:white}.atmosphere-photo{min-height:620px}.atmosphere-copy{padding:clamp(70px,10vw,150px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.atmosphere-copy h2{margin:28px 0;color:white}.atmosphere-copy h2 em{color:#b3c8e6}.atmosphere-copy p{max-width:480px;color:#d6e0e7;line-height:1.8;margin-bottom:35px}.city-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.city-copy h2{color:var(--blue);margin:26px 0}.city-copy p{color:var(--muted);margin-bottom:35px}.city-photo{height:600px}.booking-band{background:var(--blue);color:white;padding:110px 0}.booking-band-inner{display:flex;align-items:center;justify-content:space-between;gap:35px;flex-wrap:wrap}.booking-band h2{color:white;font-size:clamp(2.8rem,4.7vw,5rem);max-width:800px;margin-top:16px}.site-footer{background:#10284b;color:#dbe5eb;padding:80px 5vw 25px}.footer-main{max-width:1380px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1.45fr .8fr;gap:45px}.footer-main>div{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-wordmark{font:1.7rem/1 var(--serif);letter-spacing:.09em;color:#fff}.footer-main p{font-size:.9rem;color:#b3c6d3}.footer-main .eyebrow{margin-bottom:12px}.footer-main a:not(.footer-wordmark){font-size:.86rem}.footer-main a:hover,.footer-bottom a:hover{color:white;text-decoration:underline}.footer-bottom{max-width:1380px;margin:85px auto 0;padding-top:20px;border-top:1px solid #ffffff33;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;color:#b2c5d1;font-size:.73rem}.footer-bottom>div{display:flex;gap:20px}
.page-intro{padding:120px 0 115px;background:radial-gradient(circle at 84% 25%,#ede4d5,transparent 35%),var(--cream)}.intro-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:9%}.intro-grid h1{font-size:clamp(4.2rem,7.3vw,8rem);color:var(--blue);margin-top:25px}.intro-grid p{color:var(--muted);max-width:360px;line-height:1.85;padding-bottom:15px}.intro-grid p .eyebrow{margin-top:25px}.rooms-list{position:relative;background:var(--paper)}.blue-thread{position:absolute;left:3vw;top:4%;bottom:4%;width:1px;background:#d5d8d2}.blue-thread span{position:absolute;top:0;left:0;width:1px;height:var(--thread,0%);background:var(--blue)}.room-row{display:grid;grid-template-columns:1.08fr .92fr;gap:9%;align-items:center;padding:110px 0;border-top:1px solid var(--line)}.room-row:nth-child(even){grid-template-columns:.92fr 1.08fr}.room-row:nth-child(even) .room-image{grid-column:2;grid-row:1}.room-row:nth-child(even) .room-row-copy{grid-column:1;grid-row:1}.room-image{position:relative;height:clamp(430px,42vw,630px);overflow:hidden;background:#ddd3c2;transition:clip-path .9s cubic-bezier(.23,.75,.28,1)}.motion-ready .room-image{clip-path:inset(0 100% 0 0)}.room-image.is-visible{clip-path:inset(0)}.room-image img{transform:scale(1.055) translateY(var(--depth,0px));transition:transform 1s cubic-bezier(.2,.6,.2,1)}.room-image:hover img{transform:scale(1.09) translateY(var(--depth,0px))}.room-image-caption{position:absolute;bottom:18px;left:18px;background:var(--paper);color:var(--blue);padding:8px 12px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.room-row-copy{padding:4% 0}.title-clip{overflow:hidden}.room-row-copy h2{font-size:clamp(5rem,8.5vw,10rem);color:var(--blue);transition:transform .8s cubic-bezier(.2,.7,.2,1)}.motion-ready .room-row-copy h2{transform:translateY(105%)}.room-row-copy.is-visible h2{transform:translateY(0)}.room-lead{font:clamp(1.7rem,2.4vw,2.3rem)/1.24 var(--serif);color:var(--blue);margin:12px 0 22px}.room-row-copy>p:not(.room-lead){color:#647078;line-height:1.8}.room-facts{display:flex;gap:14px;flex-wrap:wrap;border-block:1px solid var(--line);padding:18px 0;margin:28px 0 30px;font-size:.82rem;color:#53616a}.room-facts span+span:before{content:'·';margin-right:14px;color:var(--stone)}
.room-page-hero{min-height:min(760px,80svh);display:grid;grid-template-columns:1.05fr .95fr}.room-page-img{min-height:620px}.room-page-head{padding:clamp(50px,6.5vw,110px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:#f1ebe1}.back-link{font-size:.82rem;color:var(--blue);margin-bottom:auto}.room-page-head .eyebrow{margin-top:60px}.room-page-head h1{font-size:clamp(5.7rem,9vw,11rem);color:var(--blue);margin:13px 0}.room-page-head>p{font:clamp(1.7rem,2.4vw,2.4rem)/1.25 var(--serif);color:#59626b}.hero-room-facts{display:flex;gap:14px;flex-wrap:wrap;margin:35px 0;font-size:.87rem;color:#4d5b63}.hero-room-facts span+span:before{content:'·';margin-right:14px}.room-intro{background:var(--paper)}.room-intro-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:10%}.room-intro-grid p{font:clamp(1.8rem,3.2vw,3.5rem)/1.27 var(--serif);color:var(--blue);max-width:840px}.room-gallery-section{padding:25px 0 130px;background:var(--paper)}.gallery-heading h2{font-size:clamp(2.9rem,4.7vw,5.5rem)}.room-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:300px;gap:16px}.gallery-item{border:0;padding:0;overflow:hidden;background:#ded6c8}.gallery-item:first-child{grid-row:span 2;grid-column:span 2}.gallery-item img{transition:transform .6s}.gallery-item:hover img{transform:scale(1.05)}.terrace-feature{display:grid;grid-template-columns:1.2fr .8fr;min-height:620px;background:var(--blue);color:#fff}.terrace-feature-copy{padding:clamp(60px,7vw,120px);display:flex;flex-direction:column;justify-content:center}.terrace-feature h2{color:white;margin:20px 0}.terrace-feature p{color:#d5e1f1}.details-grid,.story-grid,.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.details-grid h2,.story-grid h2{color:var(--blue);margin:20px 0}.details-right{max-width:580px}.details-right h3{font:2rem var(--serif);color:var(--blue);margin-bottom:14px}.details-right h3:not(:first-child){margin-top:45px}.details-right ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;list-style:none;padding:0;margin:0}.details-right li{padding-bottom:9px;border-bottom:1px solid var(--line)}.details-right p{color:var(--muted)}.other-rooms{background:#e9e4da}.other-rooms h2{color:var(--blue);margin:20px 0 50px}.alternatives{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.alternative img{height:360px}.alternative span{display:block;font:3rem var(--serif);color:var(--blue);margin-top:12px}.alternative small{font-size:.8rem;color:var(--muted)}.lightbox{background:#10284bf5;color:white;border:0;padding:5vh 8vw;width:100vw;height:100vh;max-width:none;max-height:none}.lightbox::backdrop{background:#10284bf0}.lightbox img{height:88%;object-fit:contain}.lightbox button{position:absolute;border:0;background:transparent;color:white;font-size:2rem;padding:15px}.lightbox-close{right:25px;top:10px}.lightbox-prev{left:3vw;top:45%}.lightbox-next{right:3vw;top:45%}.lightbox-count{display:block;text-align:center;font-size:.82rem;letter-spacing:.1em}
.image-intro,.city-hero{min-height:750px;position:relative;color:white;display:grid;align-items:end;overflow:hidden}.image-intro-photo,.city-hero-photo{position:absolute;inset:0}.image-intro-photo img{object-position:50% 58%}.image-intro:after,.city-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c1d36b5,transparent 80%)}.image-intro-copy,.city-hero-copy{position:relative;z-index:1;padding:0 8vw 110px}.image-intro h1,.city-hero h1{color:white;margin:25px 0}.image-intro h1 em,.city-hero h1 em{color:#eadcc6}.image-intro p{font-size:1.12rem}.story-section{background:var(--paper)}.story-grid>div:last-child{padding-top:40px}.story-grid p{font-size:1.13rem;color:#5f6870;line-height:1.9;margin-bottom:25px}.story-photo-block{position:relative;height:700px}.story-photo{height:100%}.story-photo-caption{position:absolute;bottom:25px;right:5vw;color:#fff;background:#103b78dd;padding:10px 16px;font-size:.78rem}.story-triptych{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;padding-bottom:130px}.story-triptych img{height:450px}.city-hero{min-height:690px}.city-hero-photo img{object-position:50% 40%}.city-notes{background:#eee8dd}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.notes-grid article{border-top:1px solid var(--blue);padding:25px 35px 20px 0}.notes-grid article+article{padding-left:35px;border-left:1px solid #c7c2b7}.notes-grid span{font-size:.7rem;letter-spacing:.17em;color:#8a765d}.notes-grid h3{font-size:2.3rem;color:var(--blue);margin:50px 0 15px}.notes-grid p{color:#697078}.plain-intro{padding:130px 0 100px;background:#ede6da}.plain-intro h1{color:var(--blue);margin:24px 0}.plain-intro p{font-size:1.1rem;color:var(--muted)}.contact-section{padding:110px 0;background:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:10%}.contact-large{display:block;font:clamp(1.6rem,2.6vw,2.9rem)/1.2 var(--serif);color:var(--blue);margin-top:25px;overflow-wrap:anywhere}.contact-large.email{font-size:clamp(1.4rem,2vw,2.4rem)}.contact-info .button-row{margin-top:35px}.address{margin-top:90px;border-top:1px solid var(--line);padding-top:25px}.address p{font:1.8rem/1.4 var(--serif);color:var(--blue);margin:20px 0}.contact-image{height:650px}.faq-grid h2{color:var(--blue)}.faq details{border-top:1px solid var(--line);padding:23px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{color:var(--blue);font-size:1.1rem;cursor:pointer}.faq details p{color:var(--muted);padding-top:16px}.booking-page{padding:100px 0 130px;background:#f3eee6}.booking-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:9%;align-items:start}.booking-left h1{font-size:clamp(3.7rem,6vw,7rem);color:var(--blue);margin:24px 0}.booking-left>p{color:var(--muted);font-size:1.1rem}.booking-aside{margin-top:60px;display:flex;align-items:center;gap:18px;color:var(--blue);font:1.3rem var(--serif)}.booking-aside img{height:200px;width:115px}.booking-form{background:var(--paper);padding:clamp(28px,4.5vw,75px);box-shadow:0 15px 60px #15263f10;display:flex;flex-direction:column}.booking-form .eyebrow{margin-bottom:35px}.booking-form label{font-size:.87rem;font-weight:600;color:var(--blue);margin:0 0 9px}.booking-form label span{font-weight:400;color:var(--muted)}.booking-form input,.booking-form select,.booking-form textarea{border:1px solid #d7d1c5;border-radius:0;background:white;color:var(--ink);padding:15px 14px;width:100%;min-height:56px;margin-bottom:26px;outline-color:var(--blue)}.booking-form textarea{resize:vertical}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-two>div{display:flex;flex-direction:column}.booking-form .button{width:100%;cursor:pointer}.form-note{font-size:.8rem;color:var(--muted);margin-top:15px}.form-error{color:#b33c30;font-size:.85rem;margin:-8px 0 15px}.booking-alternatives{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px;font-size:.83rem;color:var(--blue);text-decoration:underline}
.reveal{transition:opacity .8s,transform .8s}.motion-ready .reveal{opacity:0;transform:translateY(30px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes pulse{50%{opacity:.3;transform:translateY(8px)}}
@media(max-width:1080px){.desktop-nav{gap:14px}.desktop-nav a{font-size:.76rem}.header-inner{gap:16px}.room-row{gap:6%}.room-page-head{padding:6vw}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.header-inner{width:calc(100% - 40px);min-height:72px}.wordmark{min-width:120px}.wordmark strong{font-size:1.72rem}.wordmark span{font-size:.53rem}.wordmark small{font-size:.39rem}.desktop-nav{display:none}.header-book{margin-left:auto;padding:10px 13px;font-size:.76rem;gap:8px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:32px;height:40px;border:0;background:none;padding:5px}.menu-toggle span{width:23px;height:1px;background:var(--blue)}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--cream);box-shadow:0 20px 30px #0e234022;padding:20px;flex-direction:column;gap:15px}.mobile-nav.open{display:flex}.mobile-nav a{font:1.7rem var(--serif);color:var(--blue);padding:6px 0}.door-scroll{height:145vh}.door-stage{min-height:550px}.door-copy{top:10vh}.door-copy h1{font-size:clamp(2.05rem,7vw,3.2rem)}.portal{width:min(64vw,330px);height:min(48vh,420px);margin-top:17vh;border-width:13px;border-bottom-width:8px}.door-topline{font-size:.57rem;left:5%;right:5%}.door-skip{right:5%;bottom:20px;font-size:.68rem}.door-scroll-prompt{left:39%;font-size:.58rem}.welcome-section{padding:90px 0}.welcome-grid,.city-grid,.intro-grid,.room-intro-grid,.details-grid,.story-grid,.faq-grid,.booking-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.welcome-photo{height:520px}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:35px}.home-room-grid{grid-template-columns:1fr 1fr}.room-card:last-child{grid-column:span 2}.room-card:last-child .room-card-img{height:420px}.home-atmosphere{grid-template-columns:1fr}.atmosphere-photo{height:520px;min-height:0}.atmosphere-copy{padding:75px 7%}.city-photo{height:470px}.page-intro{padding:85px 0}.intro-grid h1{font-size:clamp(3.8rem,10vw,6rem)}.room-row,.room-row:nth-child(even){grid-template-columns:1fr;gap:30px;padding:70px 0}.room-row:nth-child(even) .room-image,.room-row:nth-child(even) .room-row-copy{grid-column:auto;grid-row:auto}.room-image{height:550px}.room-row-copy h2{font-size:6rem}.blue-thread{display:none}.room-page-hero{grid-template-columns:1fr}.room-page-img{min-height:0;height:580px}.room-page-head{padding:65px 6%;min-height:550px}.room-page-head .eyebrow{margin-top:35px}.room-gallery{grid-auto-rows:220px}.terrace-feature{grid-template-columns:1fr}.terrace-feature-img{height:520px}.terrace-feature-copy{padding:70px 6%}.story-grid>div:last-child{padding-top:0}.story-triptych img{height:300px}.image-intro,.city-hero{min-height:650px}.contact-image{height:450px}.booking-aside{display:none}.footer-main{grid-template-columns:2fr 1fr;gap:45px}}
@media(max-width:560px){body{font-size:16px}.section-pad{padding:80px 0}.container{width:calc(100% - 36px)}.eyebrow{font-size:.68rem}.header-inner{width:calc(100% - 32px)}.door-topline span:last-child{display:none}.door-copy{top:11vh}.door-copy h1{font-size:clamp(1.85rem,8vw,2.8rem)}.portal{width:69vw;height:45vh;margin-top:14vh;max-height:380px}.door-scroll-prompt{bottom:20px;left:32%}.door-skip{max-width:90px;text-align:right;line-height:1.25}.welcome-copy h2,.section-heading h2,.city-copy h2,.atmosphere-copy h2{font-size:clamp(3rem,12vw,4rem)}.welcome-section{padding:75px 0}.welcome-photo{height:420px}.home-room-grid{display:block}.room-card{display:block;margin-bottom:42px}.room-card-img,.room-card:last-child .room-card-img{height:460px}.room-card-bottom h3{font-size:3.5rem}.home-atmosphere{min-height:0}.atmosphere-photo{height:440px}.atmosphere-copy{padding:70px 20px}.city-photo{height:390px}.booking-band{padding:80px 0}.booking-band h2{font-size:3.2rem}.page-intro{padding:75px 0}.intro-grid h1{font-size:clamp(3.4rem,13vw,5.2rem)}.room-image{height:440px}.room-row-copy h2{font-size:5rem}.room-page-img{height:440px}.room-page-head{min-height:0;padding:50px 20px 70px}.room-page-head h1{font-size:6rem}.room-intro-grid p{font-size:2.1rem}.room-gallery-section{padding-bottom:85px}.room-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:8px}.gallery-item:first-child{grid-row:span 2;grid-column:span 2}.terrace-feature-img{height:430px}.details-right ul{grid-template-columns:1fr}.alternatives{gap:12px}.alternative img{height:220px}.alternative span{font-size:2.2rem}.image-intro,.city-hero{min-height:560px}.image-intro-copy,.city-hero-copy{padding:0 20px 70px}.image-intro h1,.city-hero h1{font-size:4.1rem}.story-photo-block{height:430px}.story-triptych{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:80px}.story-triptych img{height:260px}.story-triptych img:last-child{grid-column:span 2;height:260px}.notes-grid{grid-template-columns:1fr}.notes-grid article,.notes-grid article+article{border-left:0;padding:25px 0}.notes-grid h3{margin:20px 0 10px}.plain-intro{padding:85px 0 70px}.contact-section{padding:80px 0}.contact-image{height:440px}.booking-page{padding:70px 0 85px}.booking-left h1{font-size:clamp(3.5rem,12vw,5rem)}.booking-form{padding:30px 20px}.form-two{gap:10px}.footer-main{grid-template-columns:1fr 1fr;gap:45px 20px}.footer-main>div:first-child{grid-column:span 2}.footer-bottom{margin-top:60px}.lightbox{padding:10vh 4vw}.lightbox img{height:80%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.door-scroll{height:auto}.door-stage{position:relative;height:85svh}.door-leaf{transform:none!important}.door-copy,.door-scroll-prompt,.door-number{opacity:1!important;transform:none!important}.portal{transform:none!important}.scroll-stroke{animation:none}.reveal{opacity:1;transform:none}.room-image{clip-path:none}.room-row-copy h2{transform:none}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* A new editorial journey begins at the illustrated threshold. */
.home-page .site-header{position:sticky;top:0;z-index:60;background:#f9f7f1ed;backdrop-filter:blur(16px)}
.entry-hero{height:175svh;background:#fbf8f1;--progress:0;--leaf-alpha:1}
.entry-stage{top:94px;height:calc(100svh - 94px);min-height:560px;background:#fbf8f1;display:block;perspective:none}
.entry-stage:before,.entry-stage:after{display:none}
.entry-art{position:absolute;width:min(37vw,440px,calc((100svh - 270px)*.80));aspect-ratio:1122/1402;left:50%;top:46%;transform:translate(-50%,-50%) scale(calc(1 + var(--progress)*.08));transform-origin:50% 55%;z-index:2;filter:drop-shadow(0 20px 24px #7d6b5222);perspective:900px}
.entry-open{width:100%;height:100%;object-fit:fill}
.entry-leaf{position:absolute;top:25.35%;height:60.2%;width:23.7%;overflow:hidden;backface-visibility:hidden;transform-style:preserve-3d;opacity:var(--leaf-alpha)}
.entry-leaf img{position:absolute;max-width:none;width:421.94%;height:166.11%;object-fit:fill;top:-42.11%}
.entry-left{left:26.4%;transform-origin:left center;transform:rotateY(calc(var(--progress)*-88deg))}.entry-left img{left:-111.4%}
.entry-right{left:50.1%;transform-origin:right center;transform:rotateY(calc(var(--progress)*88deg))}.entry-right img{left:-211.4%}
.entry-copy{position:absolute;z-index:3;left:15px;right:15px;bottom:10%;text-align:center;color:var(--blue);opacity:calc(1 - var(--progress)*1.8);transform:translateY(calc(var(--progress)*-20px))}
.entry-copy h1{font-size:clamp(2rem,3.1vw,3.7rem);letter-spacing:-.045em;line-height:1.06}
.entry-copy h1 em{font-style:normal;color:var(--blue)}.entry-copy>span{display:block;margin-top:16px;letter-spacing:.31em;font-size:.65rem;font-weight:650}
.entry-prompt{position:absolute;left:50%;bottom:14px;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--blue);font-size:.62rem;font-weight:600;letter-spacing:.24em;white-space:nowrap;opacity:calc(1 - var(--progress)*2)}
.entry-prompt-line{height:26px;width:1px;background:var(--blue);animation:pulse 1.8s ease-in-out infinite}
.entry-skip{position:absolute;right:5vw;bottom:22px;z-index:5;color:var(--blue);font-size:.72rem;letter-spacing:.05em;text-decoration:underline;text-underline-offset:4px}.entry-skip span{margin-left:8px}
.intro-editorial{background:#f7f4ec;min-height:960px;padding:140px 8vw 160px;position:relative;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto 1fr;gap:35px 8vw;overflow:hidden}
.intro-number{position:absolute;top:60px;left:8vw;color:#a5977e;font:italic 1.05rem var(--serif)}
.intro-title{grid-column:1 / 3;position:relative;z-index:2}.intro-title h2{font-size:clamp(4.4rem,7.7vw,9.2rem);color:var(--blue);line-height:.99;margin:18px 0 -85px;max-width:1080px}.intro-title em{color:#b79e7d}
.intro-visual{grid-column:1;grid-row:2;height:clamp(430px,52vw,700px);position:relative;overflow:hidden;margin-left:4vw}.intro-visual img{object-position:55% center}.intro-visual>span{position:absolute;bottom:18px;left:20px;background:#f7f4ece8;padding:8px 12px;color:var(--blue);font-size:.62rem;letter-spacing:.16em}
.intro-aside{grid-column:2;grid-row:2;align-self:end;margin:0 0 65px;max-width:365px;position:relative}.intro-aside-image{height:205px;width:155px;margin:0 0 28px auto;transform:rotate(4deg);box-shadow:12px 14px 0 #e5dccd}.intro-aside p{font:clamp(1.45rem,2.2vw,2.2rem)/1.3 var(--serif);color:var(--blue);margin-bottom:28px}.intro-vertical{position:absolute;right:2vw;top:42%;writing-mode:vertical-rl;letter-spacing:.23em;font-size:.63rem;color:#9b8c75}
.chapters-section{background:#eae5da;padding:150px 0 130px;overflow:hidden}.chapters-intro{position:relative;padding-bottom:120px}.chapters-intro h2{color:var(--blue);font-size:clamp(4.5rem,8vw,9.5rem);margin-top:25px;line-height:.98}.chapters-intro em{color:#9c8b74}.chapters-intro p{position:absolute;right:3%;bottom:120px;color:#59646a;font:1.55rem/1.35 var(--serif);max-width:235px}
.home-chapter{position:relative;padding:0 7vw 155px}.home-chapter:nth-child(even){background:#f4f0e7;padding-top:100px}.chapter-heading{display:flex;align-items:end;gap:30px;max-width:1400px;margin:0 auto -22px;position:relative;z-index:2}.chapter-heading .eyebrow{width:150px;align-self:center}.chapter-heading h3{font-size:clamp(7rem,16vw,18rem);line-height:.78;letter-spacing:-.07em;color:var(--blue)}.chapter-heading h3 a:hover{color:#345f9d}.chapter-dash{margin-left:auto;font:2rem var(--serif);color:var(--blue);align-self:center}
.chapter-image{display:block;position:relative;width:min(75%,1080px);height:clamp(430px,55vw,780px);margin-left:auto;overflow:hidden;background:#d7cbbc}.chapter-image img{transition:transform .85s cubic-bezier(.2,.6,.2,1)}.chapter-image:hover img{transform:scale(1.035)}.chapter-image-label{position:absolute;left:20px;bottom:18px;color:white;text-shadow:0 2px 9px #0009;letter-spacing:.19em;font-size:.67rem;font-weight:600}
.home-chapter:nth-child(even) .chapter-image{margin-left:0;width:min(77%,1100px)}.home-chapter:nth-child(even) .chapter-heading{justify-content:flex-end}.home-chapter:nth-child(even) .chapter-heading .eyebrow{order:2;text-align:right}.home-chapter:nth-child(even) .chapter-dash{order:-1;margin:0 auto 0 0}
.chapter-caption{max-width:1400px;margin:30px auto 0;display:flex;align-items:end;justify-content:space-between;gap:30px}.chapter-caption p{font:clamp(2rem,3.4vw,4rem)/1.12 var(--serif);max-width:550px;color:var(--blue)}.chapter-caption>div{display:grid;gap:13px;justify-items:start}.chapter-caption>div>span{font-size:.76rem;letter-spacing:.12em;color:#68727a;text-transform:uppercase}.chapters-end{text-align:center;padding-top:10px}
.living-story{background:#103b78;color:white;padding:150px 7vw 200px;overflow:hidden}.living-story-inner{position:relative;max-width:1520px;margin:auto;min-height:900px;display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:auto 1fr;gap:40px}.living-story-copy{position:relative;z-index:3;align-self:center;padding-right:4vw;grid-row:1 / 3}.living-story-copy h2{color:white;font-size:clamp(5rem,9vw,10rem);margin:24px 0 36px;line-height:.96}.living-story-copy h2 em{color:#a1bbe0}.living-story-copy p{font:clamp(1.25rem,1.7vw,1.8rem)/1.4 var(--serif);color:#dae4f3;max-width:380px;margin-bottom:35px}.living-story-main{grid-column:2;grid-row:1 / 3;height:780px;align-self:start;overflow:hidden}.living-story-main img{object-position:55% center}.living-story figure figcaption{font-size:.67rem;letter-spacing:.19em;margin-top:12px;color:#d3dff0}.living-story-small{position:absolute;z-index:3;bottom:0;left:37%;width:220px;height:270px;transform:rotate(-5deg);box-shadow:15px 18px 0 #0c274d}.living-story-small img{height:100%;object-fit:cover}.living-story-small figcaption{white-space:nowrap}.living-story-word{position:absolute;z-index:2;bottom:-110px;left:-3vw;font:clamp(9rem,22vw,26rem)/.8 var(--serif);letter-spacing:-.07em;color:#ffffff0c;pointer-events:none}
.andria-panel{position:relative;min-height:850px;display:flex;align-items:center;color:white;overflow:hidden}.andria-panel-photo,.andria-panel-shade{position:absolute;inset:0}.andria-panel-photo img{object-position:center 45%}.andria-panel-shade{background:linear-gradient(90deg,#092347e8 0%,#102a50b0 48%,#0e203a18 100%)}.andria-panel-content{position:relative;z-index:2;padding:120px 8vw}.andria-panel h2{color:white;font-size:clamp(4.5rem,8.5vw,10rem);margin:28px 0}.andria-panel h2 em{color:#e6d6bb}.andria-panel p{font:clamp(1.3rem,1.8vw,1.9rem)/1.4 var(--serif);max-width:510px;margin-bottom:35px}.andria-panel-coordinate{position:absolute;z-index:2;right:4vw;bottom:25px;font-size:.66rem;letter-spacing:.19em}
@media(max-width:800px){.entry-stage{top:72px;height:calc(100svh - 72px)}.entry-art{width:min(58vw,370px,calc((100svh - 235px)*.8));top:44%}.entry-copy{bottom:11%}.entry-copy h1{font-size:clamp(2rem,5vw,3.2rem)}.entry-skip{display:none}.intro-editorial{min-height:0;padding:120px 5vw 100px;gap:35px;grid-template-columns:1fr 1fr}.intro-title h2{margin-bottom:-30px;font-size:clamp(4rem,10vw,6rem)}.intro-visual{height:570px;margin-left:0}.intro-aside{margin:0 0 15px}.chapters-section{padding:110px 0}.chapters-intro{padding-bottom:75px}.chapters-intro p{position:static;margin-top:25px}.home-chapter{padding:0 5vw 100px}.home-chapter:nth-child(even){padding-top:90px}.chapter-heading .eyebrow{width:110px}.chapter-heading h3{font-size:clamp(6rem,18vw,10rem)}.chapter-image,.home-chapter:nth-child(even) .chapter-image{width:82%;height:580px}.living-story{padding:110px 5vw 150px}.living-story-inner{min-height:0;grid-template-columns:1fr 1fr}.living-story-copy{grid-row:1 / 3}.living-story-main{height:650px}.living-story-small{left:35%;width:180px;height:220px;bottom:-40px}.andria-panel{min-height:720px}}
@media(max-width:560px){.entry-hero{height:155svh}.entry-stage{min-height:470px}.entry-art{width:min(86vw,370px,calc((100svh - 210px)*.8));top:43%}.entry-copy{bottom:10%}.entry-copy h1{font-size:clamp(1.85rem,7.2vw,2.65rem)}.entry-copy>span{font-size:.56rem;margin-top:11px}.entry-prompt{bottom:8px;font-size:.52rem}.entry-prompt-line{height:17px}.intro-editorial{display:block;padding:100px 18px 90px}.intro-number{top:35px;left:18px}.intro-title h2{font-size:clamp(3.65rem,13vw,5.5rem);margin:16px 0 35px}.intro-visual{height:440px;margin:0 0 30px 25px}.intro-aside{max-width:none;padding:0 6px}.intro-aside-image{height:160px;width:120px;float:right;margin:0 8px 12px 20px}.intro-aside p{font-size:1.55rem}.intro-vertical{display:none}.chapters-section{padding:90px 0}.chapters-intro h2{font-size:clamp(3.9rem,12vw,5.6rem)}.chapters-intro p{font-size:1.4rem}.home-chapter,.home-chapter:nth-child(even){padding:65px 18px 85px}.chapter-heading,.home-chapter:nth-child(even) .chapter-heading{display:block;margin:0 0 16px}.chapter-heading .eyebrow,.home-chapter:nth-child(even) .chapter-heading .eyebrow{width:auto;text-align:left}.chapter-heading h3{font-size:clamp(6rem,25vw,9rem);margin-top:12px}.chapter-dash{display:none}.chapter-image,.home-chapter:nth-child(even) .chapter-image{width:100%;height:clamp(420px,125vw,600px)}.chapter-caption{display:block;margin-top:22px}.chapter-caption p{font-size:2.3rem;margin-bottom:20px}.chapters-end{padding:0 18px}.living-story{padding:90px 18px 135px}.living-story-inner{display:block}.living-story-copy{padding:0}.living-story-copy h2{font-size:clamp(5rem,20vw,7.5rem)}.living-story-main{height:490px;margin-top:60px}.living-story-small{position:relative;left:auto;bottom:auto;width:45%;height:210px;margin:-55px 10px 0 auto}.living-story-word{bottom:-95px;left:-20px;font-size:31vw}.andria-panel{min-height:720px}.andria-panel-content{padding:100px 18px}.andria-panel h2{font-size:clamp(4.15rem,13vw,6rem)}.andria-panel-coordinate{font-size:.53rem;left:18px;right:auto}}
@media(prefers-reduced-motion:reduce){.entry-hero{height:auto}.entry-stage{position:relative;top:0;height:calc(100svh - 94px)}.entry-art{transform:translate(-50%,-50%)}.entry-leaf{transform:none!important;opacity:1!important}.entry-copy,.entry-prompt{opacity:1!important;transform:none!important}.chapter-image{clip-path:none!important}}

/* Shared navigation and editorial identity across every route and language. */
:root{--blue:#103b78;--ink:#103b78;--cream:#f8f5ed}body{color:var(--ink)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body .site-header,body.home-page .site-header{position:sticky;top:0;width:100%;z-index:50;background:#faf7efe8;border-bottom:1px solid #103b7817;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}body.home-page:not(.planner-page) .site-header{position:fixed}body.home-page:not(.has-entered):not(.planner-page) .site-header{background:transparent;border-color:transparent;backdrop-filter:none}body .header-inner,body.home-page .header-inner{min-height:82px;width:calc(100% - 7vw);gap:22px}.header-actions{display:flex;align-items:center;gap:20px}.desktop-nav{gap:22px}.desktop-nav a{font-size:14px}.header-actions .header-book{border-radius:999px;font-size:14px;padding:12px 24px}.language-switch select{width:60px;border:0;background:transparent;color:var(--blue);padding:9px 0;font-size:13px;cursor:pointer}.header-actions .menu-toggle{flex-shrink:0}.wordmark{min-width:130px}.wordmark strong{font-size:30px}.wordmark span{font-size:9px}.wordmark small{font-size:8px}
.nav-drawer{inset:0 0 0 auto;width:min(430px,90vw);height:100dvh;max-width:none;max-height:none;margin:0;padding:26px 32px;border:0;background:#f9f7efed;color:var(--blue);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:-20px 0 90px #071a3433;overflow:auto}.nav-drawer[open]{display:flex;flex-direction:column;animation:drawer-in .4s cubic-bezier(.22,.8,.2,1)}.nav-drawer::backdrop{background:#09214466;backdrop-filter:blur(5px)}.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:.15em}.drawer-close{border:1px solid #103b7822;background:#ffffff66;border-radius:50%;height:44px;width:44px;font-size:30px;color:inherit}.nav-drawer nav{display:flex;flex-direction:column;padding:45px 0 30px;gap:0}.nav-drawer nav a{font:clamp(1.7rem,7vw,2.8rem)/1.2 var(--serif);padding:14px 0;border-bottom:1px solid #103b781c}.nav-drawer nav a.current{font-style:italic}.nav-drawer>.button{border-radius:999px;justify-content:center}.drawer-bottom{margin-top:auto;padding-top:35px;display:grid;gap:18px;font-size:13px}.drawer-bottom label{display:flex;justify-content:space-between;align-items:center}.drawer-bottom select{background:none;border:1px solid #103b7833;border-radius:6px;padding:8px;color:inherit}.nav-open{overflow:hidden}@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
body .arrival-architecture{width:max(106vw,177.7svh);top:50%;aspect-ratio:1672/941;transform:translate(-52.3%,-50%)}.arrival-static{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none}.arrival-static img{width:100%;height:100%;object-fit:fill}.arrival.is-loaded .arrival-static{display:none}.arrival:not(.is-loaded) .arrival-leaf{visibility:hidden}.arrival-enter{min-height:44px}.arrival-invitation h1{font-size:clamp(2.1rem,3.2vw,3.5rem)}.arrival-invitation>span{font-size:11px}.arrival-stage{background:#e6d7bf}.arrival:not(.is-loaded) .arrival-enter{pointer-events:none}.arrival:not(.is-loaded) .arrival-scroll i{animation:none}
.proof-ribbon{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:40px;padding:50px 7vw;background:#f3f1e9}.proof-ribbon>div{display:flex;align-items:center;gap:22px}.proof-ribbon strong{font:5rem/.9 var(--serif);letter-spacing:-.06em}.proof-ribbon span{font-size:14px;line-height:1.4}.proof-ribbon p{font-size:16px;line-height:1.6}.proof-ribbon>a{font-size:14px;border-bottom:1px solid #103b7844;padding:8px 0}
.comfort-section{padding:110px 7vw;background:#e9ece6}.comfort-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:20px 7vw;align-items:end}.comfort-heading .overline{grid-column:1/-1}.comfort-heading h2{font-size:clamp(3rem,5vw,5.7rem)}.comfort-heading h2 em{color:#6a8685}.comfort-heading p{max-width:350px}.comfort-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;gap:0 40px}.comfort-grid article{position:relative;padding:32px 0;border-top:1px solid #16335c33}.comfort-number{font:14px var(--sans);color:#66847f}.comfort-grid h3{font-size:1.9rem;margin:20px 0 14px;line-height:1.1}.comfort-grid p{font-size:15px;color:#4d666a;max-width:310px}
.exclusive-teaser{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:#faf6ed}.exclusive-photo{position:relative;min-height:650px;overflow:hidden}.exclusive-photo>img{position:absolute;inset:0;object-position:50% 45%}.exclusive-seal{position:absolute;bottom:30px;left:30px;padding:18px 25px;border:1px solid #fff9;border-radius:999px;background:#ffffffe0;backdrop-filter:blur(16px);font-size:14px}.exclusive-copy{padding:85px 6vw;display:flex;flex-direction:column;align-items:start;justify-content:center}.exclusive-copy h2{font-size:clamp(3rem,4.8vw,5.7rem);margin:25px 0}.exclusive-copy h2 em{color:#93806a}.exclusive-copy p{font-size:16px;line-height:1.8}.occasion-tags{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.occasion-tags span{padding:8px 12px;border:1px solid #103b7825;border-radius:99px;font-size:12px}.exclusive-copy .button{border-radius:99px}.exclusive-copy small{font-size:12px;color:#65777a;margin-top:18px}.review-section{padding-block:90px;background:#f5f2e9}
body .site-footer{padding:0 6vw 25px;background:#102440;color:#f9f4e9;overflow:hidden}.footer-invitation{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;max-width:1360px;margin:0 auto;padding-top:80px;align-items:center}.footer-photo{height:420px;border-radius:200px 200px 4px 4px;overflow:hidden}.footer-photo img{object-position:center}.footer-call h2{font-size:clamp(3rem,5vw,6rem);margin:24px 0}.footer-call h2 em{color:#b5cbc6}.footer-call .eyebrow{color:#b8cdc9}.footer-call p{max-width:470px;color:#c6d3d6;line-height:1.8;margin-bottom:28px}.footer-call .button{border-radius:99px}.footer-signature{margin:70px 0 40px;border-block:1px solid #ffffff24;padding:35px 0 28px;text-align:center}.footer-signature>span{display:block;font-size:12px;letter-spacing:.6em}.footer-signature>a{display:block;font:clamp(6rem,19vw,19rem)/1.02 var(--serif);letter-spacing:.09em;padding-left:.09em}.footer-signature>span:last-child{font-size:11px;letter-spacing:.3em}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:35px;max-width:1360px;margin:auto}.footer-grid>div{display:flex;flex-direction:column;gap:12px}.footer-grid .eyebrow{color:#96b4ba;font-size:11px;margin-bottom:10px}.footer-grid a{font-size:14px;width:fit-content}.footer-grid a:hover{text-decoration:underline;text-underline-offset:5px}body .footer-bottom{margin:40px auto 0;font-size:12px}.booking-band{display:none}body .site-footer h2 em{color:#b5cbc6}
.exclusive-hero{height:740px;position:relative;isolation:isolate;color:white}.exclusive-hero>img{position:absolute;inset:0;object-position:50% 43%;z-index:-2}.exclusive-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#092142da,#09214233);z-index:-1}.exclusive-hero>div{padding:90px 7vw;max-width:1000px}.exclusive-hero h1{font-size:clamp(3.5rem,6.5vw,7.5rem);margin:25px 0}.exclusive-hero h1 em{color:#e0d0b8}.exclusive-hero p{max-width:530px;margin-bottom:32px}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.occasion-grid article{border-top:1px solid #103b7833;padding-top:20px}.occasion-grid article>span{font-size:13px;color:#73898b}.occasion-grid h3{font-size:2.3rem;line-height:1.1;margin:20px 0}.occasion-grid p{color:#536b70}.exclusive-inquiry{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:90px 7vw;background:#e9eeea}.exclusive-inquiry h2{font-size:clamp(3rem,5vw,5.5rem);margin:25px 0}.exclusive-inquiry p{margin-bottom:25px}.exclusive-inquiry small{display:block;font-size:12px;color:#536b70}.exclusive-inquiry form{padding:30px;background:linear-gradient(140deg,#fff,#ffffff70);border:1px solid white;border-radius:28px;box-shadow:0 20px 50px #16325910}.exclusive-inquiry label{display:flex;flex-direction:column;gap:8px;font-size:14px;margin-bottom:18px}.exclusive-inquiry input,.exclusive-inquiry select,.exclusive-inquiry textarea{width:100%;min-width:0;border:1px solid #103b782a;border-radius:10px;padding:13px 10px;font-size:16px;color:#103b78;background:#ffffff9c}.inquiry-row{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.exclusive-inquiry .button{width:100%;border-radius:99px;justify-content:center;margin-bottom:16px}
body :is(section[id],main[id]){scroll-margin-top:100px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b78a46;outline-offset:4px}
@media(max-width:1150px){.desktop-nav{display:none}.header-actions .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:38px;height:44px;padding:7px;border:0;background:transparent}.menu-toggle span{height:1px;width:24px;background:var(--blue);display:block}.proof-ribbon{grid-template-columns:1fr 1fr}.proof-ribbon>a{grid-column:1/-1;width:fit-content}.comfort-grid{gap:0 25px}}
@media(max-width:700px){body .header-inner,body.home-page .header-inner{min-height:74px;width:calc(100% - 32px);gap:10px}.header-actions{gap:8px}.wordmark{min-width:104px}.wordmark strong{font-size:24px}.wordmark span{font-size:7px}.wordmark small{font-size:6px}.header-actions .header-book{font-size:12px;padding:10px 15px;min-height:40px}.language-switch select{font-size:12px;width:46px}.header-actions .menu-toggle{width:32px;padding:4px}body .arrival-architecture{width:max(100vw,50svh);top:50%;aspect-ratio:887/1774;transform:translate(-50.06%,-50%)}body .arrival-invitation{left:20px;right:20px;bottom:15%;padding:0;background:none;border:0;backdrop-filter:none;box-shadow:none;text-align:center;max-width:none}body .arrival-invitation h1{font-size:clamp(1.9rem,7.8vw,2.7rem);line-height:1.05;text-shadow:0 1px 8px #ffffff90}.arrival-invitation>span{margin-top:14px}body .arrival-enter{bottom:7%;right:auto;left:50%;transform:translateX(-50%);font-size:13px;white-space:nowrap}body .arrival-scroll{bottom:16px;gap:6px}body .arrival-scroll i{height:20px}body .arrival-scroll span{font-size:9px;letter-spacing:.16em}.arrival-welcome :is(h1,h2){overflow-wrap:break-word}body .arrival-welcome{padding:100px 24px 60px;justify-content:center}body .arrival-welcome :is(h1,h2){font-size:clamp(2.7rem,10.5vw,4rem);line-height:1.08}body .arrival-welcome p{font-size:16px}body .arrival-welcome .overline{font-size:10px}.proof-ribbon{display:block;padding:36px 24px}.proof-ribbon strong{font-size:4.5rem}.proof-ribbon span{font-size:13px}.proof-ribbon p{margin:24px 0 12px;font-size:15px}.proof-ribbon>a{display:inline-block;font-size:13px}.comfort-section{padding:65px 24px}.comfort-heading{display:block}.comfort-heading h2{font-size:2.8rem;line-height:1.07;margin:22px 0}.comfort-heading p{font-size:15px}.comfort-grid{grid-template-columns:1fr 1fr;gap:0 22px;margin-top:35px}.comfort-grid article{padding:24px 0}.comfort-grid h3{font-size:1.4rem;line-height:1.14;margin:14px 0 12px;overflow-wrap:break-word}.comfort-grid p{font-size:14px}.comfort-number{font-size:12px}.exclusive-teaser{display:block}.exclusive-photo{min-height:440px}.exclusive-seal{left:24px;bottom:24px;font-size:12px}.exclusive-copy{padding:50px 24px 60px}.exclusive-copy h2{font-size:3rem}.exclusive-copy p{font-size:15px}.exclusive-copy .overline,.comfort-heading .overline{font-size:11px}.occasion-tags{margin:25px 0}.review-section{padding-block:60px}.review-proof h2{white-space:normal}.footer-invitation{display:flex;flex-direction:column;gap:35px;padding-top:55px}.footer-photo{height:300px;width:100%;max-width:370px}.footer-call h2{font-size:3.4rem}.footer-call p{font-size:15px}.footer-call .eyebrow{font-size:10px}.footer-signature{margin:45px 0 30px;padding-block:25px}.footer-signature>a{font-size:20vw}.footer-signature>span{font-size:9px}.footer-signature>span:last-child{font-size:9px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 18px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid a{font-size:13px;overflow-wrap:anywhere}.footer-grid .eyebrow{font-size:9px;letter-spacing:.14em}body .footer-bottom{margin-top:35px;gap:20px;font-size:11px}.footer-bottom>div{gap:18px}.exclusive-hero{height:auto;min-height:660px}.exclusive-hero>div{padding:75px 24px}.exclusive-hero h1{font-size:3.5rem;line-height:1.1}.exclusive-hero p{font-size:16px}.occasion-grid{grid-template-columns:1fr;gap:35px}.occasion-section .section-heading h2{font-size:3rem}.occasion-grid h3{font-size:2rem}.exclusive-inquiry{grid-template-columns:1fr;padding:65px 24px;gap:35px}.exclusive-inquiry h2{font-size:3.3rem}.exclusive-inquiry form{padding:22px 16px}.inquiry-row{grid-template-columns:1fr}.exclusive-inquiry input[type=date]{min-height:48px}.nav-drawer{padding:20px 24px}.nav-drawer nav{padding-top:25px}.nav-drawer nav a{font-size:2rem}.fan-card-glass p{font-size:13px}.fan-card-glass{padding:18px}body section[id]{scroll-margin-top:86px}}
@media(max-width:360px){.header-actions{gap:4px}.header-actions .header-book{padding:9px 11px}.wordmark{min-width:93px}.wordmark strong{font-size:21px}.language-switch select{width:41px}.comfort-grid{gap:0 17px}.comfort-grid h3{font-size:1.3rem}.arrival-invitation>span{font-size:9px}.arrival-invitation h1{font-size:1.9rem!important}.fan-card-glass p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.nav-drawer[open]{animation:none}.arrival-static{display:none}.arrival-welcome{opacity:1}.arrival-scroll i{animation:none}}
/* Keep the exact same wordmark geometry before and after the entry, on every page. */
body.home-page.has-entered .header-inner{min-height:82px}
@media(max-width:700px){body.home-page.has-entered .header-inner{min-height:74px}body.home-page.has-entered .wordmark{min-width:104px}body.home-page.has-entered .wordmark strong{font-size:24px}body.home-page.has-entered .wordmark span{font-size:7px}body.home-page.has-entered .wordmark small{font-size:6px}}
@media(max-width:360px){body.home-page.has-entered .wordmark{min-width:93px}body.home-page.has-entered .wordmark strong{font-size:21px}}
@media(max-width:700px) and (max-height:650px){body .arrival-invitation{bottom:15%}body .arrival-invitation h1{font-size:1.75rem!important}.arrival-invitation>span{display:none}body .arrival-enter{bottom:6%}body .arrival-scroll{bottom:8px}body .arrival-scroll i{display:none}}
.arrival:not(.is-loaded) .arrival-frame{visibility:hidden}
h1,h2,h3{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}
@media(max-width:700px) and (orientation:landscape){body .arrival-architecture{width:max(106vw,177.7svh);aspect-ratio:1672/941;transform:translate(-52.3%,-50%)}body .arrival-invitation{left:20px;right:auto;bottom:22px;max-width:280px;text-align:left;padding:12px 16px;background:#f8f5edd6;border-radius:15px}body .arrival-invitation h1{font-size:1.7rem!important}.arrival-invitation>span{display:none}body .arrival-enter{left:auto;right:24px;bottom:18px;transform:none;background:#f8f5ede8;padding:10px 16px;border-radius:99px}body .arrival-scroll{display:none}body .arrival-welcome{padding:90px 24px 25px}body .arrival-welcome :is(h1,h2){font-size:2.5rem;margin:10px 0}body .arrival-welcome p{font-size:14px;margin-bottom:15px}body .arrival-welcome .overline{display:none}}

/* Interior chapters. No text or controls sit on the photographs. */
.chapter{--chapter-gap:clamp(24px,4vw,64px);width:min(1480px,calc(100% - 10vw));margin-inline:auto;padding:32px 0 72px;color:var(--blue)}
.chapter-label{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #103b782b;padding-bottom:18px;margin-bottom:40px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:600;line-height:1.5}
.chapter-label>span:last-child{white-space:nowrap;font-weight:400;opacity:.55}
.chapter h1{font-size:clamp(3.5rem,6.4vw,7.4rem);line-height:.99;letter-spacing:-.06em;margin:0;color:var(--blue);text-wrap:balance}
.chapter h1 em{color:#8a7965;font-weight:400}
.chapter-copy>p{font-size:clamp(15px,1.15vw,18px);line-height:1.8;color:#5c696e;max-width:440px;margin:28px 0 30px}
.chapter .button{border-radius:100px;gap:24px;max-width:100%;text-wrap:balance}
.chapter-photo{min-width:0;margin:0}
.chapter-photo img{width:100%;height:100%;object-fit:cover;background:#e5ded1}
.chapter-photo figcaption{height:auto;padding-top:13px;font-size:11px;letter-spacing:.045em;color:#657276;line-height:1.5}
.chapter-down{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;padding-block:13px;border-bottom:1px solid #103b7844;max-width:100%;line-height:1.5}
.chapter-down>span:last-child{font-size:22px;line-height:1}
.rooms-opening-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:8%;align-items:center}
.rooms-stair{width:90%;justify-self:end;transform:rotate(4deg);padding:10px 10px 12px;background:#fffcf5;box-shadow:0 12px 36px #48382510}
.rooms-stair img{aspect-ratio:1/1.08;height:auto;object-position:50% 50%}
.rooms-stair figcaption{text-align:center}
.chapter-room-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:60px}
.chapter-room-choice{display:flex;gap:18px;align-items:center;padding:18px 0;border-block:1px solid #103b7830;min-width:0;transition:border-color .25s}
.chapter-room-choice img{width:66px;height:83px;flex-shrink:0;transition:transform .35s}
.chapter-room-choice small{display:block;font-size:10px;color:#6d746e;line-height:1.4}
.chapter-room-choice strong{font:400 36px/1.25 var(--serif);display:block}
.choice-arrow{margin-left:auto;font-size:22px}
.chapter-room-choice:hover{border-color:var(--blue)}
.chapter-room-choice:hover img{transform:translateY(-4px)}
.house-heading{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:8%;margin-bottom:45px}
.house-heading>p{font-size:16px;color:#5c696e;line-height:1.8;padding-bottom:4px;max-width:350px}
.house-spread{display:grid;grid-template-columns:1.05fr .75fr;gap:10%;align-items:start}
.house-main img{height:auto;aspect-ratio:1/1.03;object-position:50% 50%}
.house-aside{padding-top:100px}
.house-aside .chapter-photo img{height:auto;aspect-ratio:1/1.04}
.house-aside .chapter-down{display:flex;margin-top:32px}
.bedroom-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:end;margin-bottom:32px}
.bedroom-heading .back-link{display:inline-block;margin-bottom:15px}
.chapter-bedroom h1{font-size:clamp(7rem,15vw,16rem);line-height:.85;padding-bottom:.05em;letter-spacing:-.065em}
.bedroom-summary{padding-bottom:6px}
.bedroom-summary>p{font:clamp(1.8rem,2.7vw,3.1rem)/1.1 var(--serif);max-width:400px;text-wrap:balance}
.bedroom-facts{display:flex;gap:10px 20px;flex-wrap:wrap;margin:20px 0;font-size:12px;line-height:1.5}
.bedroom-facts>span{border-bottom:1px solid #103b782b;padding-bottom:6px}
.bedroom-spread{display:grid;grid-template-columns:1.65fr .65fr;gap:20px;align-items:start}
.bedroom-main img{height:auto;aspect-ratio:1.65;object-position:center}
.bedroom-detail{padding-top:50px}
.bedroom-detail img{height:auto;aspect-ratio:.8}
.city-heading{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:5%;margin-bottom:36px}
.chapter-city h1{font-size:clamp(5rem,15vw,17rem);line-height:.8;letter-spacing:-.075em;padding-bottom:.07em}
.chapter-city h1>span{color:#ae8d64}
.city-heading p{font:clamp(1.5rem,2.5vw,2.8rem)/1.12 var(--serif)}
.city-heading p em{font-style:italic;color:#8a7965}
.city-heading .chapter-down{margin-top:18px}
.city-panorama img{height:auto;aspect-ratio:2.7;object-position:50% 52%}
.city-address{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #103b782b;font-size:12px}
.city-address>span:nth-child(2){font-size:10px;letter-spacing:.2em}
.city-address a{text-decoration:underline;text-underline-offset:5px}
.contact-opening-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:center}
.chapter-contact h1{font-size:clamp(3.2rem,5.5vw,6.5rem)}
.contact-arrival{border-top:9px solid #d7c9b5;padding-top:12px}
.contact-arrival img{height:auto;aspect-ratio:.95;object-position:center 50%}
.contact-arrival figcaption{text-align:right}
.contact-call{display:block;margin-top:18px;width:fit-content;font-size:14px;letter-spacing:.07em}
.chapter-exclusive{padding-bottom:100px}
.exclusive-opening-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:6%;align-items:center}
.chapter-exclusive h1{font-size:clamp(3.3rem,5.4vw,6.4rem)}
.exclusive-pictures{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.exclusive-terrace{padding-top:80px}
.exclusive-terrace img{height:auto;aspect-ratio:.7;object-position:40% center}
.exclusive-living img{height:auto;aspect-ratio:.65;object-position:50% center}
.exclusive-opening-note{display:flex;flex-direction:column;gap:4px;border-left:1px solid #103b7844;padding-left:15px;margin-top:28px;font-size:11px;color:#667170}
/* Booking retains immediate access to dates. The image is a separate postcard. */
body.planner-page .stay-section{padding-top:32px}
body.planner-page .stay-top.chapter-booking{display:block;text-align:left;margin-bottom:32px}
.chapter-booking .chapter-label{margin-bottom:28px}
.booking-opening-row{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:end}
body.planner-page .booking-opening-row h1{font-size:clamp(3rem,5vw,5.5rem);width:100%;margin:0;color:var(--blue);line-height:1.03}
.booking-opening-row>p{font-size:15px;line-height:1.8;color:#5c696e;max-width:370px}
body.planner-page .stay-composer{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;padding:20px;background:linear-gradient(130deg,#e8e5dc,#dbe5e2);align-items:start}
body.planner-page .stay-planner{grid-column:auto;width:100%;max-width:none}
body.planner-page .stay-mood{position:relative;inset:auto;z-index:0;display:flex;flex-direction:column;min-height:0;background:#f3eee5;color:var(--blue);border-radius:28px;overflow:hidden;justify-content:flex-start}
body.planner-page .stay-mood>img{position:static;width:100%;height:300px;object-fit:cover;object-position:center 66%;opacity:1;transform:none}
body.planner-page .stay-mood-shade,body.planner-page .stay-postcard{display:none}
body.planner-page .stay-mood-copy{display:block;position:static;inset:auto;width:auto;max-width:none;padding:30px;color:var(--blue)}
body.planner-page .stay-mood-copy .overline{color:#7a7465}
body.planner-page .stay-mood-copy h3{color:var(--blue);font-size:2.4rem;line-height:1.1}
body.planner-page .stay-mood-copy p{color:#5c696e;font-size:15px}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.chapter-copy,.house-heading,.bedroom-heading,.city-heading{animation:chapter-arrive .65s cubic-bezier(.2,.7,.3,1) both}.chapter-photo:not(.rooms-stair){animation:chapter-arrive .8s cubic-bezier(.2,.7,.3,1) both}@keyframes chapter-arrive{from{transform:translateY(18px)}to{transform:translateY(0)}}}
@media(max-width:1050px){.chapter{width:calc(100% - 8vw)}.chapter-room-choices{gap:18px}.chapter-room-choice{gap:10px}.chapter-room-choice img{width:50px;height:66px}.house-heading,.contact-opening-grid{gap:5%}.exclusive-opening-grid{grid-template-columns:1.1fr .9fr;gap:4%}.exclusive-pictures{gap:12px}.bedroom-spread{grid-template-columns:1.45fr .65fr}}
@media(max-width:700px){
 .chapter{width:calc(100% - 40px);padding-top:22px;padding-bottom:46px}
 .chapter-label{font-size:9px;letter-spacing:.13em;padding-bottom:14px;margin-bottom:27px}
 .chapter h1{font-size:clamp(3.2rem,12.5vw,5.2rem);line-height:1.02;letter-spacing:-.055em}
 .chapter-copy>p{font-size:15px;line-height:1.75;margin:22px 0 23px;max-width:38ch}
 .chapter-photo figcaption{font-size:10px;padding-top:9px}
 .rooms-opening-grid{grid-template-columns:1fr;gap:28px}
 .rooms-stair{width:73%;max-width:340px;justify-self:center;transform:rotate(3deg);padding:7px 7px 10px;margin-top:3px}
 .rooms-stair img{aspect-ratio:1.15}
 .chapter-room-choices{grid-template-columns:1fr;gap:0;margin-top:30px}
 .chapter-room-choice{padding:13px 0;gap:18px;border-top:0}
 .chapter-room-choice:first-child{border-top:1px solid #103b7830}
 .chapter-room-choice img{width:48px;height:57px}
 .chapter-room-choice strong{font-size:29px}
 .chapter-room-choice small{font-size:10px}
 .house-heading{grid-template-columns:1fr;gap:24px;margin-bottom:27px}
 .house-heading>p{font-size:15px;max-width:37ch}
 .house-spread{grid-template-columns:1fr;gap:24px}
 .house-main img{aspect-ratio:.98}
 .house-aside{padding-top:0;width:78%;justify-self:end}
 .house-aside .chapter-photo img{aspect-ratio:1.06}
 .house-aside .chapter-down{margin-top:15px;font-size:11px;gap:15px}
 .bedroom-heading{grid-template-columns:1fr;gap:24px;margin-bottom:26px}
 .chapter-bedroom h1{font-size:clamp(6rem,31vw,10rem);line-height:.87}
 .bedroom-heading .back-link{font-size:11px;margin-bottom:18px}
 .bedroom-summary>p{font-size:1.9rem;max-width:24ch}
 .bedroom-facts{font-size:11px;gap:10px 16px;margin:17px 0}
 .bedroom-spread{grid-template-columns:1.6fr 1fr;gap:10px;align-items:start}
 .bedroom-main img{aspect-ratio:.8}
 .bedroom-detail{padding-top:38px}
 .bedroom-detail img{aspect-ratio:.64}
 .city-heading{grid-template-columns:1fr;gap:25px;margin-bottom:25px}
 .chapter-city h1{font-size:clamp(5.3rem,24vw,10rem);line-height:.86}
 .city-heading p{font-size:1.8rem}
 .city-heading .chapter-down{margin-top:8px}
 .city-panorama img{aspect-ratio:1.04;object-position:55% center}
 .city-address{flex-wrap:wrap;gap:12px 16px;padding-block:16px;font-size:11px}
 .city-address>span:nth-child(2){font-size:9px}
 .city-address>a{width:100%;padding-block:5px}
 .contact-opening-grid{grid-template-columns:1fr;gap:30px}
 .chapter-contact h1{font-size:clamp(2.9rem,11.2vw,4.7rem)}
 .contact-arrival{width:85%;justify-self:end;border-top-width:6px}
 .contact-arrival img{aspect-ratio:1.08;object-position:center 58%}
 .exclusive-opening-grid{grid-template-columns:1fr;gap:30px}
 .chapter-exclusive h1{font-size:clamp(3rem,11.5vw,4.8rem)}
 .exclusive-pictures{gap:14px}
 .exclusive-terrace{padding-top:35px}
 .exclusive-terrace img{aspect-ratio:.85}
 .exclusive-living img{aspect-ratio:.8}
 .exclusive-opening-note{margin-top:22px}
 body.planner-page .stay-section{padding-top:22px}
 .chapter-booking .chapter-label{margin-bottom:24px}
 .booking-opening-row{grid-template-columns:1fr;gap:18px}
 body.planner-page .booking-opening-row h1{font-size:clamp(2.6rem,10vw,4rem)}
 .booking-opening-row>p{font-size:14px;line-height:1.7}
 body.planner-page .stay-top.chapter-booking{margin-bottom:26px}
 body.planner-page .stay-composer{display:flex;flex-direction:column;gap:24px;padding:12px}
 body.planner-page .stay-planner{order:0;width:100%;min-width:0}
 body.planner-page .stay-mood{order:1;display:grid;grid-template-columns:.85fr 1.15fr;border-radius:20px}
 body.planner-page .stay-mood>img{height:100%;min-height:220px}
 body.planner-page .stay-mood-copy{padding:22px 16px}
 body.planner-page .stay-mood-copy h3{font-size:1.6rem;margin-block:12px}
 body.planner-page .stay-mood-copy .overline{font-size:8px;line-height:1.5;letter-spacing:.12em}
 body.planner-page .stay-mood-copy p{font-size:12px;line-height:1.6}
}
@media(max-width:360px){.chapter{width:calc(100% - 32px)}.chapter .button{font-size:12px;padding:15px 18px;gap:12px}.chapter h1{font-size:2.9rem}.chapter-contact h1,.chapter-exclusive h1{font-size:2.7rem}.chapter-bedroom h1{font-size:6rem}.chapter-city h1{font-size:5.1rem}.bedroom-facts{font-size:10px}.chapter-photo figcaption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.chapter *{animation:none!important;transition:none!important}}

/* Cibele glass: warm translucent surfaces, solid blue actions, bounded blur. */
:root{--glass-fill:linear-gradient(130deg,#fffdf5e8 0%,#faf8f0c9 48%,#e7eeeadb 100%);--glass-edge:#ffffffdb;--glass-shadow:0 12px 32px #103b7812,inset 0 1px 0 #fff,inset 0 -1px 0 #103b7812;--glass-blur:18px}
:is(.header-inner,.nav-drawer,.booking-dock,.bedroom-reserve,.contact-glass-panel,.city-address,.occasion-picker,.chapter-room-choice,.chapter-photo.rooms-stair,.house-spread .chapter-photo,.bedroom-detail,.exclusive-pictures .chapter-photo,.stay-planner,.fan-card-glass,.house-photo-caption,.house-gallery-controls,.review-card,.review-navigation,.map-address,.map-marker-label,.exclusive-inquiry form){background:var(--glass-fill);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(var(--glass-blur)) saturate(1.22);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.22);color:var(--blue)}
/* One shared floating header. Keep its geometry stable through the entrance. */
body .site-header,body.home-page .site-header,body.home-page:not(.has-entered):not(.planner-page) .site-header{top:12px;width:calc(100% - 28px);margin-inline:auto;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
body.home-page:not(.planner-page) .site-header{left:14px;right:14px}
body .header-inner,body.home-page .header-inner,body.home-page.has-entered .header-inner{width:100%;max-width:1480px;min-height:82px;padding:10px 24px;border-radius:24px;gap:20px;background:var(--glass-fill);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow)}
body.header-dense .header-inner{background:linear-gradient(130deg,#fffdf5f5,#f4f5eced)}
.header-actions .header-book,.dock-book{background:linear-gradient(150deg,#284876,#103b78 70%);border:1px solid #ffffff36;box-shadow:inset 0 1px 0 #ffffff50,0 4px 10px #103b7817}
.language-switch select{border-radius:14px;background:#ffffff45;padding-left:6px}
body .nav-drawer{position:fixed;inset:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px)) auto;height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));width:min(430px,calc(100vw - 32px));margin:0;padding:24px;border-radius:28px;border:1px solid #ffffffc7;background:linear-gradient(130deg,#fffdf5f2,#eef1e6e8);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.nav-drawer .drawer-top{min-height:44px;flex-shrink:0;gap:14px}
.nav-drawer .drawer-brand{min-width:0;line-height:1.5}
.nav-drawer .drawer-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;line-height:1;align-self:center}
.drawer-close svg{display:block;width:22px;height:22px;pointer-events:none}
.nav-drawer>nav,.nav-drawer>.button,.nav-drawer>.drawer-bottom{flex-shrink:0}
.nav-drawer::backdrop{background:#103b7845;backdrop-filter:blur(3px)}
.nav-drawer nav a{border-radius:14px;padding-inline:12px}.nav-drawer nav a.current{background:#ffffff78;border-bottom-color:transparent}
body .arrival-enter{padding:12px 22px;border-radius:99px;background:var(--glass-fill);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
/* Photographic hero objects retain separate title and caption surfaces. */
.rooms-opening-grid{grid-template-columns:1fr 1fr;gap:6%}.rooms-collection{position:relative;min-width:0;padding-bottom:16px}.rooms-collection .rooms-stair{width:66%;margin:0 6% 0 auto;border-radius:23px;padding:9px;transform:rotate(5deg)}
.rooms-stair img,.house-spread .chapter-photo img,.bedroom-detail img,.exclusive-pictures .chapter-photo img{border-radius:16px}
.rooms-collection .chapter-room-choices{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-46px 0 0;width:100%;align-items:start;padding:0}
.chapter-room-choices .chapter-room-choice{display:flex;flex-direction:column;align-items:stretch;gap:0;position:relative;padding:6px;border:1px solid white;border-radius:21px;min-width:0;transition:transform .3s ease,box-shadow .3s ease}
.chapter-room-choice:nth-child(1){transform:rotate(-7deg) translateY(8px)}.chapter-room-choice:nth-child(3){transform:rotate(7deg) translateY(8px)}
.chapter-room-choices .chapter-room-choice img{width:100%;height:auto;aspect-ratio:.85;border-radius:15px;object-fit:cover;flex-shrink:1;transform:none}
.chapter-room-choice>span:not(.choice-arrow){padding:13px 7px 9px}.chapter-room-choice small{font-size:9px;min-height:26px;line-height:1.4;color:#516367}.chapter-room-choice strong{font-size:30px}
.chapter-room-choice .choice-arrow{position:absolute;right:10px;bottom:12px;font-size:17px}
.chapter-room-choice:focus-visible{z-index:3}.chapter-deck-controls{display:none}
.house-spread .chapter-photo{padding:9px;border-radius:26px}.house-spread .chapter-photo figcaption{padding:12px 9px 7px}.house-aside{position:relative;z-index:1;margin-left:-10%;width:110%}
.bedroom-detail{padding:9px;margin-top:45px;border-radius:24px}.bedroom-main img{border-radius:7px}.bedroom-spread{gap:0;grid-template-columns:1.7fr .65fr}.bedroom-detail{margin-left:-13%;position:relative;z-index:1}
.bedroom-reserve{position:relative;z-index:2;margin:-30px auto 0;width:min(850px,90%);display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:24px;padding:16px 22px}.bedroom-reserve .bedroom-facts{margin:0}.bedroom-reserve .bedroom-facts>span{border:0;padding:0}.bedroom-reserve .button{flex-shrink:0}
.city-panorama img{border-radius:7px}.city-address{position:relative;width:90%;margin:-30px auto 0;padding:23px 30px;border-radius:23px;z-index:1}.city-address>div{display:grid;gap:5px}.city-address small{font-size:10px;letter-spacing:.05em;color:#536b70}
.contact-photo-group{position:relative;min-width:0}.contact-photo-group .contact-arrival{border:0;padding:0;width:93%;margin-left:auto}.contact-arrival img{border-radius:22px}.contact-glass-panel{position:relative;z-index:1;margin:-28px 24px 0 -24px;padding:22px;border-radius:24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}.contact-glass-panel .contact-call{margin:0;font-size:13px}.contact-glass-panel .button{padding:15px 19px;font-size:13px}.contact-arrival figcaption{padding:12px 16px 40px}
.exclusive-pictures .chapter-photo{padding:8px;border-radius:24px}.exclusive-pictures .exclusive-terrace{margin-top:80px}.exclusive-pictures figcaption{padding:11px 5px 5px}.occasion-picker{display:flex;width:fit-content;max-width:100%;padding:5px;border-radius:100px;gap:4px;margin-top:30px}.occasion-picker button{border:0;border-radius:99px;background:transparent;color:var(--blue);padding:12px 16px;font-size:12px;min-height:44px;transition:background .2s,color .2s;min-width:0}.occasion-picker button[aria-pressed=true]{background:var(--blue);color:white;box-shadow:inset 0 1px 0 #ffffff42}.chapter-copy>p.occasion-description{font-size:14px;margin:16px 0 0;min-height:3.6em;line-height:1.6;color:#4c646b}.exclusive-opening-note{margin-top:16px}
/* The same material extends into booking and browsing. */
body .stay-planner{background:var(--glass-fill);border-color:#fff;box-shadow:var(--glass-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.stay-dates{padding:12px;border-radius:17px;background:#ffffff6b;border:1px solid #ffffffb5}.stay-dates input{background:transparent}.calendar{background:#ffffff40;border:1px solid #ffffffaf;padding:12px;border-radius:20px}.calendar-days{gap:2px 0}.calendar-days button.in-range{background:#3059922b}.calendar-days button.selected{background:linear-gradient(145deg,#30578f,#103b78);box-shadow:inset 0 1px 0 #ffffff77,0 3px 9px #103b7825}.calendar-toolbar button,.guest-stepper button{border:1px solid #ffffffd9!important;background:#ffffff70!important;box-shadow:inset 0 1px 0 #fff;color:var(--blue);border-radius:99px}.calendar-toggle{border-radius:14px;background:#ffffff58}.stay-options{gap:12px}.room-preference select{background:#ffffff70;border-radius:14px}.guest-stepper{border-radius:16px;background:#ffffff3d;padding:10px}.stay-planner .pill-blue{box-shadow:inset 0 1px 0 #ffffff55,0 6px 16px #103b7820}.stay-planner .direct-request{border-radius:99px}
body .fan-card-glass{background:linear-gradient(130deg,#fffdf4ed,#eaf1e8cf);border:1px solid #ffffffdf;box-shadow:var(--glass-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.fan-card.is-active .fan-card-glass{border-top-color:white}.fan-controls>button,.house-gallery-controls button,.review-navigation button{border-radius:50%;min-width:44px;min-height:44px;background:#ffffff85;color:var(--blue);border:1px solid white;box-shadow:inset 0 1px 1px white}.fan-selector{border-radius:99px;background:#ffffff66;padding:5px;border:1px solid white}.fan-selector button{min-height:44px}
body .house-photo-caption{background:var(--glass-fill);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.house-gallery-controls{width:min(900px,calc(100% - 40px));margin:20px auto 0;padding:12px 18px;border-radius:99px}.house-gallery-controls button:disabled{opacity:.4}.house-lightbox-bar{border-radius:22px;padding:12px 16px;background:#183053b8;border:1px solid #ffffff45;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#house-lightbox [data-lightbox-step],.lightbox :is(.lightbox-close,.lightbox-prev,.lightbox-next){background:#f8f6eddc;border:1px solid white;border-radius:50%;color:var(--blue);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);width:48px;height:48px;padding:0;display:grid;place-items:center}.lightbox .lightbox-count{width:fit-content;margin:10px auto 0;border-radius:99px;padding:8px 20px;background:#f8f6eddf;color:var(--blue)}
.review-section{background:radial-gradient(ellipse at 13% 50%,#ceddda88,transparent 48%),radial-gradient(ellipse at 90% 60%,#e6d4ba88,transparent 48%),#f4f3ec}.review-card{background:var(--glass-fill);box-shadow:var(--glass-shadow);transform:scale(.96);transition:transform .4s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.review-card.is-current{transform:scale(1);border-color:white}.review-navigation{border-radius:99px;padding:6px;gap:6px}.review-card .review-words{color:#103b78}.review-card figcaption small{color:#47606a}
.map-address,.map-marker-label{background:var(--glass-fill)!important;border:1px solid white!important;box-shadow:var(--glass-shadow)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.map-marker-label{color:var(--blue)}
.exclusive-inquiry{background:radial-gradient(ellipse at 70% 30%,#d1e1db,transparent 60%),#eceee5}.exclusive-inquiry form{background:var(--glass-fill);border:1px solid #fff;box-shadow:var(--glass-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.exclusive-inquiry :is(input,select,textarea){background:#ffffff87;border-color:#ffffffed;box-shadow:inset 0 1px 3px #103b7809}
/* Persistent booking access, kept clear of forms, dialogs and the entry scene. */
.booking-dock{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:45;display:flex;gap:8px;align-items:center;padding:7px;border-radius:99px;width:min(420px,calc(100% - 32px));box-shadow:0 8px 28px #103b7826,inset 0 1px 0 white;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.booking-dock[hidden]{display:none!important}.dock-book{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:1;min-width:0;min-height:48px;border-radius:99px;padding:13px 22px;color:white;font-size:14px;font-weight:600;line-height:1.3}.dock-chat{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:1px solid #fff;border-radius:50%;background:#ffffff70}.dock-room{display:grid;padding:0 16px;gap:2px;white-space:nowrap}.dock-room strong{font:24px/1.1 var(--serif)}.dock-room small{font-size:10px}.booking-dock:has(.dock-room){width:min(580px,calc(100% - 32px))}
@media(hover:hover) and (pointer:fine){.chapter-room-choice:hover{transform:translateY(-9px) rotate(0);z-index:3;box-shadow:0 16px 35px #103b7826,inset 0 1px 0 white}.dock-chat:hover{background:white}.occasion-picker button:not([aria-pressed=true]):hover{background:#ffffffb0}}
@media(min-width:701px){body:not(.room-petra):not(.room-xylo):not(.room-fos) .booking-dock{display:none}.booking-dock{bottom:22px}.chapter-house .house-main{transform:translateY(var(--glass-shift,0px))}.chapter-house .house-aside>.chapter-photo{transform:translateY(calc(var(--glass-shift,0px)*-.65))}}
@media(max-width:1050px){.rooms-opening-grid{grid-template-columns:1fr 1.1fr;gap:5%}.chapter-room-choice strong{font-size:25px}.chapter-room-choice .choice-arrow{font-size:14px}.occasion-picker button{padding-inline:11px}.bedroom-reserve{width:95%;padding:16px;gap:15px}.contact-glass-panel{margin-left:0;margin-right:0}}
@media(max-width:700px){
 :root{--glass-blur:12px}
 body .site-header,body.home-page .site-header,body.home-page:not(.has-entered):not(.planner-page) .site-header{top:8px;width:calc(100% - 16px)}body.home-page:not(.planner-page) .site-header{left:8px;right:8px}
 body .header-inner,body.home-page .header-inner,body.home-page.has-entered .header-inner{min-height:72px;width:100%;padding:8px 12px;border-radius:21px;gap:8px}.header-actions{gap:6px}.language-switch select{padding-left:2px}.header-actions .header-book{padding:10px 12px}
 body .nav-drawer{inset:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));width:auto;height:auto;border-radius:24px;padding:20px}.nav-drawer nav{padding-top:28px}.nav-drawer nav a{padding:13px 8px}
 body .arrival-enter{font-size:13px;padding:11px 20px}
 .rooms-opening-grid{grid-template-columns:1fr;gap:30px}.rooms-collection{width:100%;padding:0;min-width:0}.rooms-collection .rooms-stair{width:64%;max-width:300px;margin-right:6%;transform:rotate(5deg)}
 .rooms-collection .chapter-room-choices{display:flex;width:calc(100% + 16px);margin:-25px -8px 0;padding:15px 8px 22px;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-padding:8px;align-items:stretch}.chapter-room-choices::-webkit-scrollbar{display:none}
 .chapter-room-choices .chapter-room-choice{flex:0 0 73%;max-width:290px;transform:none;padding:7px;border:1px solid white;scroll-snap-align:start;border-radius:23px}.chapter-room-choices .chapter-room-choice img{height:180px;aspect-ratio:auto}.chapter-room-choice small{font-size:10px;min-height:0}.chapter-room-choice>span:not(.choice-arrow){padding:12px 9px 7px}.chapter-room-choice strong{font-size:32px}.chapter-room-choice .choice-arrow{right:17px;bottom:17px;font-size:22px}.chapter-deck-controls{display:flex;justify-content:center;align-items:center;gap:22px}.chapter-deck-controls button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid #fff;background:var(--glass-fill);color:var(--blue);box-shadow:var(--glass-shadow)}.chapter-deck-controls button:disabled{opacity:.35}.chapter-deck-status{font-size:12px;font-variant-numeric:tabular-nums}
 .house-spread .chapter-photo{border-radius:22px;padding:7px}.house-spread .chapter-photo img{border-radius:15px}.house-aside{margin-left:0;width:82%;margin-top:-38px;position:relative;z-index:1}.house-aside>.chapter-photo{background:linear-gradient(130deg,#fffdf5ed,#eef2e8df)}
 .bedroom-detail{margin-top:35px;padding:6px;margin-left:-10%;border-radius:19px}.bedroom-detail img{border-radius:13px}.bedroom-spread{grid-template-columns:1.5fr .7fr}.bedroom-reserve{width:100%;margin:-12px auto 0;border-radius:20px;display:grid;gap:14px;padding:17px}.bedroom-reserve .bedroom-facts{justify-content:space-between;gap:8px;font-size:11px}.bedroom-reserve .button{width:100%;justify-content:space-between;font-size:13px}
 .city-address{width:94%;padding:18px;margin-top:-25px;gap:14px;border-radius:21px}.city-address>span:nth-child(2){display:none}.city-address>a{width:auto;margin-left:auto;font-size:11px}.city-address small{font-size:9px;max-width:18ch}
 .contact-photo-group .contact-arrival{width:90%}.contact-glass-panel{margin:-15px 0 0;padding:18px;border-radius:20px;gap:16px}.contact-glass-panel .button{width:100%;justify-content:space-between}.contact-glass-panel .contact-call{width:100%;text-align:center}.contact-arrival figcaption{padding-bottom:25px}
 .exclusive-pictures .chapter-photo{padding:6px;border-radius:21px}.exclusive-pictures .exclusive-terrace{margin-top:35px}.exclusive-pictures .chapter-photo img{border-radius:15px}.occasion-picker{margin-top:25px;width:100%;gap:3px;border-radius:23px}.occasion-picker button{flex:1;font-size:12px;padding:11px 7px;border-radius:18px;overflow-wrap:break-word}.chapter-copy>p.occasion-description{font-size:13px;min-height:3.2em}
 .calendar{padding:8px;border-radius:17px}.calendar-days button{height:35px}.stay-dates{padding:9px}.guest-stepper{padding:8px}.stay-options{gap:8px}
 .house-gallery-controls{width:calc(100% - 28px);padding:10px 13px;border-radius:24px;gap:10px}.house-gallery-controls>span:nth-child(2){font-size:10px;max-width:110px;line-height:1.4}.house-gallery-controls button{width:44px;height:44px}.house-lightbox-bar{border-radius:17px;padding:9px 12px}#house-lightbox [data-lightbox-step]{width:44px;height:44px}
 .review-navigation{padding:5px}.review-card{transform:scale(.98);border-radius:25px}.review-card.is-current{transform:scale(1)}
 .booking-dock .dock-room{display:none}.booking-dock:has(.dock-room){width:min(420px,calc(100% - 32px))}body .footer-bottom{padding-bottom:92px}
}
@media(max-width:360px){body .header-inner,body.home-page .header-inner,body.home-page.has-entered .header-inner{padding-inline:9px}.header-actions{gap:3px}.header-actions .header-book{font-size:11px;padding:10px}.chapter-room-choices .chapter-room-choice{flex-basis:81%}.occasion-picker button{font-size:11px}.house-gallery-controls>span:nth-child(2){display:none}.bedroom-reserve .bedroom-facts{font-size:10px}.dock-book{font-size:13px}.city-address{align-items:start;flex-direction:column}.city-address>a{margin:0}.nav-drawer nav a{font-size:1.85rem}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--glass-fill:linear-gradient(130deg,#fffdf5,#edf1e9)}.house-lightbox-bar{background:#103b78}.fan-card-glass,.stay-planner{background:#f4f6ec!important}}
@media(prefers-reduced-transparency:reduce){:root{--glass-fill:linear-gradient(130deg,#fffdf5,#edf1e9)}:is(.header-inner,.nav-drawer,.booking-dock,.bedroom-reserve,.contact-glass-panel,.city-address,.occasion-picker,.chapter-room-choice,.chapter-photo,.stay-planner,.fan-card-glass,.house-photo-caption,.house-gallery-controls,.review-card,.map-address,.map-marker-label,.exclusive-inquiry form){backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#f6f6ed!important}}
@media(prefers-reduced-motion:reduce){.chapter-room-choice,.review-card,.chapter-house .chapter-photo{transition:none!important;transform:none!important}.chapter-house .house-aside>.chapter-photo{transform:none!important}}
@media(forced-colors:active){:is(.header-inner,.booking-dock,.bedroom-reserve,.contact-glass-panel,.city-address,.occasion-picker,.chapter-room-choice,.stay-planner,.fan-card-glass,.review-card){background:Canvas;box-shadow:none;border:1px solid CanvasText}.dock-book{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}}
@media(min-width:701px){.chapter-house .chapter-photo{animation:none}}
.house-gallery-controls>span:nth-child(2),#gallery-counter small{color:#4f6871}
@media(max-width:700px){.review-controls{flex-wrap:wrap;justify-content:center;gap:12px}.review-dots{order:2;width:100%;justify-content:center}.house-gallery-controls>span:nth-child(2){max-width:none;margin-top:0}}

/* Revision 9: fewer gestures, readable information and a direct booking path. */
[hidden]{display:none!important}
html{scroll-padding-top:115px}
body{padding-bottom:0}
main,section,form,.container,.chapter-copy{min-width:0}
body p{overflow-wrap:break-word}
body .section-pad{padding-block:clamp(52px,6vw,88px)}
body .chapter{padding-bottom:48px}
body :is(.eyebrow,.overline,.chapter-label){font-size:12px;letter-spacing:.12em}
body :is(.chapter-photo figcaption,.exclusive-opening-note,.city-address small,.dock-room small){font-size:13px;line-height:1.5}
body :is(.button,.pill,.line-link,.chapter-down,.direct-request){font-size:15px;line-height:1.4;white-space:normal;overflow-wrap:break-word}
body :is(input,select,textarea){font-size:16px;min-width:0;max-width:100%}
body :is(button,.header-book,.dock-chat){min-height:44px}
body .site-header.is-entering{opacity:1;visibility:visible;pointer-events:auto;transform:none}
body.home-page:not(.planner-page) .site-header{position:fixed;z-index:50}
body .header-inner{background:linear-gradient(130deg,#fffdf5f5,#f2f4edf0)}
body .arrival{height:205svh}body .footer-invitation{padding-top:0}body .footer-signature{margin-top:10px}
body .arrival.is-reduced{height:100svh}
body .arrival-enter{font-size:14px!important;min-height:46px}
body .arrival-welcome{padding-top:115px}
body .arrival-welcome p{max-width:52ch;font-size:17px;line-height:1.6}
body .proof-ribbon{gap:24px;align-items:center;padding-block:36px}
body .proof-ribbon p{font-size:18px;line-height:1.5;max-width:40ch}
body .proof-ribbon small{display:block;font-size:13px;margin-top:8px}
body .room-fan-section{padding:65px 0}
body .fan-heading{padding-inline:20px;margin-bottom:30px}
body .fan-heading h2{font-size:clamp(40px,4.5vw,64px);line-height:1.08}
body .fan-heading p{font-size:16px;max-width:52ch;margin-inline:auto}
/* Preserve the original fanned room cards and their pointer/keyboard controls. */
body .fan-card-title .overline,body .fan-area small{font-size:12px}
body .fan-card-glass h4{font-size:15px;line-height:1.35}
body .fan-card-glass p{font-size:14px;line-height:1.55}
body .fan-actions a,body .fan-actions button{font-size:13px}
body .fan-controls{padding-inline:12px}
body .fan-hint{font-size:13px}
body .rooms-collection .rooms-stair{display:none}
body .rooms-opening-grid{grid-template-columns:1fr 1.1fr;align-items:start}
body .rooms-collection .chapter-room-choices{display:grid;grid-template-columns:1fr;gap:12px;width:100%;margin:0;padding:0;overflow:visible;scroll-snap-type:none}
body .chapter-room-choices .chapter-room-choice{flex-direction:row;align-items:center;gap:18px;max-width:none;transform:none!important;background:#fffcf5;padding:12px;border:1px solid #103b7825;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body .chapter-room-choice img{width:76px;height:90px;aspect-ratio:auto;flex-shrink:0;border-radius:12px}
body .chapter-room-choice>span:not(.choice-arrow){padding:0}
body .chapter-room-choice small{font-size:13px;min-height:0}
body .chapter-room-choice strong{font-size:34px}
body .chapter-room-choice .choice-arrow{position:static;margin-left:auto}
body .chapter-deck-controls{display:none}
body .bedroom-reserve{margin:0 0 28px;width:100%;padding:18px 22px;background:#fffcf5;border:1px solid #103b7825;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body .bedroom-reserve .bedroom-facts{font-size:15px;gap:12px 24px}
body .bedroom-summary>p{font-size:clamp(24px,2.5vw,32px);line-height:1.3}
body .room-intro-grid>p{font:400 clamp(18px,1.8vw,23px)/1.7 var(--sans);max-width:58ch}
body .room-gallery-section .section-heading{margin-bottom:28px}
body .room-gallery-section h2{font-size:clamp(36px,4vw,56px)}
body :is(.house-spread .chapter-photo,.bedroom-detail,.exclusive-pictures .chapter-photo){background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}
body .house-aside{margin:0;width:100%;padding-top:35px}
body .house-spread{gap:28px}
body .bedroom-spread{gap:22px}
body .bedroom-detail{margin:24px 0 0;padding:0}
body .contact-glass-panel{margin:0 0 22px;padding:0;box-shadow:none;border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body .contact-glass-panel .contact-call{font-size:16px}
body .contact-photo-group .contact-arrival{width:100%;margin:0}
body .contact-arrival figcaption{padding-bottom:0}
body .contact-section{padding-block:30px}
body .availability-note{font-size:16px;line-height:1.65;max-width:74ch;margin:0 auto 16px;color:#103b78}
body .family-note{font-size:15px;text-align:left;max-width:74ch;margin:0 auto 24px;padding:12px 16px;border-left:3px solid var(--blue);background:#e8eeea;line-height:1.65}
body .family-note a{text-decoration:underline;text-underline-offset:3px}
body .stay-top{margin-bottom:24px}
body .stay-top :is(h1,h2){font-size:clamp(40px,4.5vw,64px)}
body .stay-section{padding-block:55px}
body .stay-composer,body.planner-page .stay-composer{display:grid;grid-template-columns:.8fr 1.2fr;padding:20px;gap:24px;background:#e8ece5;align-items:start}
body .stay-mood,body.planner-page .stay-mood{display:flex;flex-direction:column;position:static;min-height:0;border-radius:20px;overflow:hidden;background:#fffcf5}
body .stay-mood>img,body.planner-page .stay-mood>img{position:static;height:260px;opacity:1}
body .stay-mood-shade,body .stay-postcard{display:none}
body .stay-mood-copy,body.planner-page .stay-mood-copy{position:static;inset:auto;max-width:none;width:auto;padding:24px;color:var(--blue)}
body .stay-mood-copy h3,body.planner-page .stay-mood-copy h3{font-size:30px;color:var(--blue);margin:14px 0}
body .stay-mood-copy p,body.planner-page .stay-mood-copy p{font-size:15px;line-height:1.65;color:#103b78;max-width:none}
body .stay-mood-copy .overline{color:#103b78}
body .stay-planner{position:relative;grid-column:auto;max-width:none;width:100%;margin:0;padding:26px;background:#fffcf5;border:1px solid #c5d0cf;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body .stay-dates{background:#f0f2ed;border:1px solid #ccd5d0}
body .stay-dates label>span{font-size:13px}
body .stay-dates input{width:100%;max-width:100%;font-size:16px;min-height:44px}
body .stay-options{grid-template-columns:1fr;gap:14px}
body .room-preference{border:0;padding:0;display:block}
body .room-preference>span{display:block;font-size:14px;margin-bottom:8px}
body .room-preference select{font-size:16px;letter-spacing:normal;width:100%;text-align:left;min-height:46px;background:#f0f2ed;border:1px solid #ccd5d0;padding:8px}
body .guest-stepper>span{font-size:15px}
body .guest-stepper small{font-size:13px}
body .calendar-days button{min-height:40px;font-size:15px}
body .stay-help{font-size:14px;line-height:1.5}
body .stay-summary>small{font-size:14px;line-height:1.65;max-width:none;text-align:left;color:#103b78}
body .stay-summary>span{font:400 17px/1.5 var(--sans)}
body .stay-summary .pill{font-size:15px;min-height:52px;padding:14px 18px}
body .direct-request{min-height:48px;font-size:15px;border:1px solid #103b7844;padding:12px;border-radius:14px}
body :is(#stay-error,#exclusive-error){color:#8b2222;font-size:15px;line-height:1.5;border-left:3px solid currentColor;padding-left:12px}
body .house-gallery-controls{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body .house-gallery-controls>span:nth-child(2){font-size:14px}
body .gallery-expand{display:flex;margin:20px auto 0;border-radius:99px}
body .house-photo-caption{background:#fffcf5;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
body .review-card{background:#fffcf5;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;box-shadow:none}
body .exclusive-inquiry form{background:#fffcf5;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
body .exclusive-inquiry :is(small,label){font-size:15px;line-height:1.6}
body .exclusive-inquiry .inquiry-row{flex-wrap:wrap}
body .exclusive-inquiry .inquiry-row>label{min-width:0;flex:1 1 170px}
body .occasion-description{font-size:15px!important}
body .footer-invitation{min-height:0;display:block}
body .footer-photo{display:none}
body .footer-call{padding:52px 5vw;width:100%;max-width:900px}
body .footer-call h2{font-size:clamp(36px,4vw,56px)}
body .footer-call p{font-size:16px;line-height:1.65}
body .footer-signature{padding-block:25px}
body .footer-bottom{padding-bottom:25px}
@media(max-width:1250px){body .desktop-nav{display:none}body .menu-toggle{display:flex}}
@media(max-width:900px){body .rooms-opening-grid{grid-template-columns:1fr;gap:28px}body .stay-composer,body.planner-page .stay-composer{grid-template-columns:1fr}body .stay-planner{order:0}body .stay-mood{order:1}body .stay-mood>img,body.planner-page .stay-mood>img{height:220px}body .stay-section{padding-inline:20px}body .proof-ribbon{flex-wrap:wrap}}
@media(max-width:700px){
 html{scroll-padding-top:98px}
 body .header-inner,body.home-page .header-inner,body.home-page.has-entered .header-inner{padding:8px;gap:6px;min-height:66px}
 body .wordmark,body.home-page.has-entered .wordmark{min-width:86px;width:86px}
 body .wordmark strong,body.home-page.has-entered .wordmark strong{font-size:23px}
 body .wordmark span,body .wordmark small{font-size:6px;letter-spacing:.22em}
 body .header-actions{gap:4px}
 body .language-switch select{width:36px;min-height:44px;padding:0;font-size:12px}
 body .header-actions .header-book{font-size:12px;padding:8px;min-width:0}
 body .menu-toggle{width:36px;flex-shrink:0}
 body .chapter h1{font-size:clamp(40px,10.5vw,58px)}
 body .chapter-bedroom h1{font-size:clamp(72px,23vw,110px)}
 body .chapter-copy>p{font-size:16px;line-height:1.65}
 body .arrival{height:190svh}
 body .arrival.is-reduced{height:100svh}
 body .arrival-invitation{bottom:20%;left:20px;right:20px;background:#fffdf5ed;border-radius:18px;padding:14px}
 body .arrival-invitation h1{font-size:26px}
 body .arrival-invitation>span{font-size:11px;margin-top:10px}
 body .arrival-enter{bottom:58px!important}
 body .arrival-welcome{padding:100px 24px 35px}
 body.home-page .arrival-welcome :is(h1,h2){font-size:clamp(36px,10vw,52px)}
 body .arrival-welcome p{font-size:16px;margin-bottom:20px}
 body .proof-ribbon{padding:30px 20px;gap:20px}
 body .proof-ribbon p{font-size:16px}
 body .bedroom-reserve{padding:16px;display:grid;gap:16px}
 body .bedroom-reserve .bedroom-facts{font-size:14px;justify-content:flex-start}
 body .bedroom-reserve .button{font-size:15px}
 body .bedroom-spread{grid-template-columns:1fr}
 body .bedroom-main img{aspect-ratio:1.3}
 body .bedroom-detail{display:none}
 body .room-intro-grid>p{font-size:18px}
 body .stay-section{padding-inline:14px}
 body .stay-composer,body.planner-page .stay-composer{padding:10px}
 body .stay-planner{padding:18px 14px}
 body .stay-dates{grid-template-columns:1fr 1fr;gap:12px;padding:10px}
 body .date-divider{display:none}
 body .stay-dates label>span{font-size:12px}
 body .booking-opening-row{grid-template-columns:1fr;gap:20px}
 body .contact-glass-panel .button{font-size:15px}
 body .contact-photo-group{margin-top:24px}
 body .contact-opening-grid{align-items:start}
 body .contact-large.email{font-size:clamp(16px,4.6vw,22px);overflow-wrap:anywhere}
 body .exclusive-pictures{gap:12px}
 body .footer-grid{gap:30px}
 body .review-proof h2{white-space:normal}
 body .house-gallery-controls{border-radius:0;flex-wrap:wrap;justify-content:space-between}
 body .house-gallery-controls>span:nth-child(2){display:none}
 body .nav-drawer nav a{font-size:clamp(24px,7vw,34px);line-height:1.25}
}
@media(max-height:500px) and (orientation:landscape){body .arrival-invitation{left:20px;right:auto;max-width:320px;bottom:60px}body .arrival-invitation h1{font-size:22px}body .arrival-scroll{display:none}body .arrival-welcome :is(h1,h2){font-size:32px!important;margin:10px 0}body .arrival-welcome p{font-size:14px;line-height:1.4;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){body .arrival{height:100svh}body .chapter-photo,body .chapter-copy{animation:none!important}body .fan-card,body .review-card{transition:none!important}}
@media(forced-colors:active){body :is(.fan-card-glass,.stay-planner,.review-card,.bedroom-reserve,.exclusive-inquiry form){background:Canvas;color:CanvasText;border:1px solid CanvasText}body .direct-request{border:1px solid ButtonText}}

body .practical-link{font-size:15px;margin:0 0 24px}body .practical-link a{text-decoration:underline;text-underline-offset:4px}

/* Booking proof becomes a single full-width strip on phones. */
body .proof-ribbon>.proof-mobile{display:none}
@media(max-width:700px){
 body .proof-ribbon{padding:22px 20px;display:block}
 body .proof-ribbon>:not(.proof-mobile){display:none}
 body .proof-ribbon>.proof-mobile{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;padding:0;min-height:44px;color:var(--blue);text-decoration:none;font-size:12px;line-height:1.35}
 .booking-badge{display:inline-flex;align-items:center;min-height:36px;padding:8px 10px;background:#003b82;color:#fff;border-radius:7px 7px 7px 0;font-weight:700;font-size:12px;letter-spacing:-.04em;white-space:nowrap;flex-shrink:0}
 .proof-mobile-total{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0}
 body .proof-ribbon .proof-mobile strong{font:600 17px/1.2 var(--sans);letter-spacing:-.04em}
 body .proof-ribbon .proof-mobile span{font-size:12px}
 .proof-mobile-total>span{max-width:15ch}
}

/* A warm, finely grained limestone-paper chapter around the original room fan. */
body .room-fan-section{background:#e8dfcf;border-top:1px solid #d9cdb9;border-bottom:1px solid #d9cdb9}
body .room-fan-section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--hero-grain);background-size:160px 160px;opacity:.10;mix-blend-mode:multiply}
body .room-fan-section::after{content:none}
body .room-fan-section>:not(.sr-only){position:relative;z-index:1}
/* Numeric guest score remains on Booking's ten-point scale; stars are decorative. */
.booking-stars{display:inline-block;font-family:var(--sans);font-size:12px;line-height:1.2;letter-spacing:.08em;background:linear-gradient(90deg,var(--blue) 98%,#c5beaf 98%);color:transparent;background-clip:text;-webkit-background-clip:text}
.proof-desktop-rating{display:flex;align-items:center;gap:8px;margin-top:9px;font-weight:600}
body .proof-ribbon .booking-rating{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0}
body .proof-ribbon .booking-rating strong{font:600 20px/1.1 var(--sans)}
body .proof-ribbon .booking-rating small{display:inline;font:400 11px/1 var(--sans);margin:0 0 0 2px}
/* Language choices are native links, including a usable no-JS route fallback. */
.drawer-languages{display:grid;gap:12px}
.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body .language-option{display:flex;align-items:center;gap:8px;min-height:48px;padding:9px 10px;border:1px solid #103b7825;border-radius:14px;background:#fffdf580;font-size:12px;line-height:1.3;min-width:0}
.language-code{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#103b780c;font-size:10px;font-weight:700;letter-spacing:.04em}
.language-check{margin-left:auto;visibility:hidden}
body .language-option[aria-current="page"]{background:var(--blue);color:white;border-color:var(--blue)}
.language-option[aria-current="page"] .language-code{background:#ffffff20}
.language-option[aria-current="page"] .language-check{visibility:visible}
body .language-option:hover{border-color:var(--blue)}
body .language-option:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:700px){
 body .header-actions .language-switch,body .header-actions .header-book{display:none}
 body .header-inner,body.home-page .header-inner,body.home-page.has-entered .header-inner{padding:10px 16px;gap:20px;min-height:66px}
 body .header-actions .menu-toggle{width:44px;height:44px;padding:10px;gap:7px}
 body .header-actions .menu-toggle span{width:24px}
 body .nav-drawer nav{padding:20px 0}
 body .nav-drawer nav a{padding:10px 8px}
 body .drawer-bottom{padding-top:24px;gap:22px}
 body .proof-ribbon>.proof-mobile{gap:10px}
 body .proof-ribbon .proof-mobile-total{flex-direction:column;gap:2px;text-align:center}
 body .proof-ribbon .proof-mobile-total>span{font-size:10px}
 body .proof-ribbon .proof-mobile-total>strong{font-size:17px}
 body .proof-ribbon .booking-badge{font-size:11px;padding:8px}
 body .proof-ribbon .booking-stars{font-size:11px}
}
@media(max-width:360px){body .language-option{padding:8px;font-size:11px;gap:6px}.language-code{width:25px;height:25px}.language-check{display:none}}
@media(forced-colors:active){.booking-stars{background:none;color:CanvasText}.language-option[aria-current="page"]{outline:2px solid Highlight}}

/* Three original illustrated scenes, composed as loose architectural sheets. */
body .exclusive-teaser{grid-template-columns:1fr 1fr;align-items:center;background:#f3eee3}
.exclusive-sketches{position:relative;min-width:0;height:clamp(510px,44vw,640px);margin:30px 0 30px 4vw;isolation:isolate}
.exclusive-sketch{position:absolute;width:66%;background:#fffdf8;border:1px solid #d9cfbd;padding:12px 12px 9px;box-shadow:0 9px 25px #46382416}
.exclusive-sketch img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.exclusive-sketch figcaption{padding:8px 3px 0;font:500 10px/1.4 var(--sans);letter-spacing:.18em;color:var(--blue)}
.sketch-petra{top:0;left:2%;transform:rotate(-7deg);z-index:1}
.sketch-xylo{top:28%;right:1%;transform:rotate(6deg);z-index:2}
.sketch-fos{bottom:0;left:4%;transform:rotate(-3deg);z-index:3}
body .exclusive-copy{padding:48px 6vw 48px 5vw}
/* Dates stay directly editable; the visual calendar is available on demand. */
body .calendar-toggle{display:flex;align-items:center;justify-content:space-between;min-height:44px;width:100%;padding:9px 14px;border:1px solid #103b7820;background:#f4f2eb;border-radius:12px;font-size:14px;color:var(--blue)}
body .stay-summary>small{font-size:13px;line-height:1.55}
@media(min-width:901px){
 body .stay-section{padding:60px 6vw}
 body .stay-top,body .availability-note,body .family-note,body.planner-page .stay-top.chapter-booking{max-width:980px;margin-inline:auto}
 body .stay-top :is(h1,h2),body.planner-page .chapter-booking h1{font-size:44px}
 body .stay-top{margin-bottom:14px;text-align:left}
 body .availability-note{font-size:14px;line-height:1.6;margin-bottom:22px}
 body .stay-composer,body.planner-page .stay-composer{grid-template-columns:1fr;padding:0;gap:14px;background:none;max-width:980px;margin-inline:auto;border-radius:0}
 body .stay-planner,body.planner-page .stay-planner{order:0;display:grid;grid-template-columns:1.05fr 1fr;column-gap:26px;row-gap:12px;padding:24px;border-radius:22px}
 body .planner-heading{grid-column:1/-1;padding-bottom:14px;margin-bottom:0}
 body .stay-dates{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 12px 1fr;gap:8px;margin:0;padding:10px 14px;align-items:center}
 body .stay-dates input{font-size:16px;min-height:44px}
 body .stay-dates label>span{font-size:11px;letter-spacing:.12em}
 body .stay-options{grid-column:2;grid-row:2;display:grid;grid-template-columns:.8fr 1.25fr;gap:14px;padding:0;align-items:center;border:0}
 body .guest-stepper{padding:0;background:none;border-radius:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
 body .guest-stepper>span{font-size:12px}
 body .guest-stepper small{display:inline;font-size:11px;margin-left:4px}
 body .guest-stepper>div{gap:10px}
 body .guest-stepper button{width:38px;height:38px;min-height:38px}
 body .room-preference>span{font-size:12px;margin-bottom:7px}
 body .room-preference select{font-size:13px;min-height:44px;padding:8px;border-radius:10px}
 body .calendar-toggle{grid-column:1/-1;margin:0}
 body .calendar{grid-column:1/-1;width:100%;max-width:400px;justify-self:center;margin:0}
 body .stay-help{grid-column:1/-1;max-width:400px;justify-self:center;margin:0}
 body .stay-summary{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:16px;align-items:center}
 body .stay-summary>span{grid-column:1/-1;order:0;font-size:15px}
 body .stay-summary>p{grid-column:1/-1;order:1}
 body .stay-summary>small{grid-column:1/-1;order:4;text-align:center}
 body .stay-summary :is(#check-booking,#check-direct){order:2;width:100%;min-height:48px;font-size:14px;justify-content:center;margin:0;padding:12px 16px}
 body .stay-mood,body.planner-page .stay-mood{order:1;display:grid;grid-template-columns:110px 1fr;border:1px solid #ded5c4;border-radius:16px;min-height:0;background:#f8f5ed}
 body .stay-mood>img,body.planner-page .stay-mood>img{height:100%;min-height:104px;width:110px;object-fit:cover}
 body .stay-mood-copy,body.planner-page .stay-mood-copy{padding:14px 20px}
 body .stay-mood-copy .overline{font-size:9px}
 body .stay-mood-copy h3,body.planner-page .stay-mood-copy h3{font-size:22px;margin:5px 0}
 body .stay-mood-copy p,body.planner-page .stay-mood-copy p{font-size:13px;line-height:1.5}
 body .family-note{margin-top:16px;margin-bottom:0;font-size:13px;padding:10px 14px}
}
/* A restrained signature and small navigation groups replace the repeated pre-footer pitch. */
body .site-footer{position:relative;padding:64px 6vw 28px;background:var(--blue);color:#f8f5ed;isolation:isolate}
body .site-footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
body .footer-signature{max-width:1200px;margin:0 auto 42px;padding:0 0 38px;border-top:0;border-bottom:1px solid #ffffff30;display:flex;justify-content:space-between;align-items:flex-end;text-align:left;gap:40px}
.footer-brand{display:grid;gap:8px}
.footer-brand>span{font-size:11px;font-weight:600;letter-spacing:.43em}
.footer-brand>a{font:400 clamp(64px,7.8vw,112px)/.95 var(--serif);letter-spacing:.045em}
.footer-brand>small{font-size:9px;letter-spacing:.3em;margin-top:7px}
.footer-place{text-align:right;padding-bottom:3px}
.footer-place>span{font-size:10px;letter-spacing:.18em;color:#e0d2b7}
.footer-place>p{font:400 23px/1.3 var(--serif);margin-top:12px}
body .footer-grid{max-width:1200px;grid-template-columns:1.25fr 1fr .85fr;gap:60px}
body .footer-grid>div{gap:6px}
body .footer-grid .eyebrow{color:#e0d2b7;font-size:10px;letter-spacing:.2em;margin-bottom:14px}
body .footer-grid a{font-size:14px;line-height:1.5;padding-block:5px;min-height:32px}
body .footer-grid a[href^="tel:"]{font:400 23px/1.4 var(--serif)}
body .footer-grid a:focus-visible,body .footer-brand a:focus-visible,body .footer-bottom a:focus-visible{outline:2px solid #e0d2b7;outline-offset:5px}
body .footer-bottom{max-width:1200px;margin:42px auto 0;border-top:1px solid #ffffff25;padding:22px 0 0;font-size:11px;color:#e8e7e2;gap:24px}
@media(max-width:900px){
 body .exclusive-teaser{grid-template-columns:1fr;display:grid}
 .exclusive-sketches{height:500px;margin:30px 7vw 10px;max-width:620px;width:86%;justify-self:center}
 body .exclusive-copy{padding:35px 7vw 55px}
}
@media(max-width:700px){
 .exclusive-sketches{height:410px;margin:30px 6vw 0;width:88%}
 .exclusive-sketch{width:72%;padding:8px}
 .sketch-petra{left:0}.sketch-xylo{top:28%;right:0}.sketch-fos{left:1%;bottom:0}
 .exclusive-sketch figcaption{font-size:9px;padding-top:5px}
 body .site-footer{padding:45px 24px calc(30px + env(safe-area-inset-bottom))}
 body .footer-signature{display:block;padding-bottom:28px;margin-bottom:30px}
 .footer-brand>a{font-size:clamp(60px,17vw,84px)}
 .footer-place{text-align:left;margin-top:24px}
 .footer-place>p{font-size:20px;margin-top:8px}
 body .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
 body .footer-grid>div:first-child{grid-column:1/-1}
 body .footer-grid .eyebrow{margin-bottom:8px;font-size:9px}
 body .footer-grid a{font-size:13px;min-height:36px}
 body .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;margin-top:28px;padding-top:20px;gap:15px}
 body .footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}
}
@media(forced-colors:active){body .site-footer{background:Canvas;color:CanvasText}.site-footer::before{display:none}.exclusive-sketch{box-shadow:none;border-color:CanvasText}}

/* The photo chapter shares the room book's gesture, with a quiet paper grain. */
body .house-gallery{isolation:isolate;background:var(--blue);padding-bottom:42px}
body .house-gallery::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");background-size:180px 180px}
body .house-gallery-viewport.is-ready{--page-width:min(54vw,640px);--page-height:540px;--page-spread:clamp(220px,27vw,340px);position:relative;max-width:1280px;height:690px;margin:0 auto;overflow:visible;scroll-snap-type:none;scroll-padding:0;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}
body .house-gallery-viewport.is-ready .house-gallery-track{position:static;display:block;width:auto;padding:0}
body .house-gallery-viewport.is-ready .house-photo-card{--drag:0px;--tilt:0deg;position:absolute;left:50%;top:42px;width:var(--page-width);height:var(--page-height);margin:0;transform:translateX(calc(-50% + var(--slot)*var(--page-spread) + var(--drag))) translateY(var(--drop)) rotate(calc(var(--angle) + var(--tilt))) scale(var(--scale));transform-origin:50% 90%;transition:transform .65s cubic-bezier(.22,.75,.2,1),opacity .45s;cursor:pointer}
body .house-gallery-viewport.is-ready .house-photo-card[hidden]{display:none}
body .house-gallery-viewport.is-ready .house-photo-card:not(.is-active){opacity:.7}
body .house-gallery-viewport.is-ready .house-photo-card:not(.is-active) .house-photo-caption{visibility:hidden}
body .house-gallery-viewport.is-ready .house-photo-card>img{width:100%;height:100%;object-fit:cover}
body .house-gallery-viewport.is-dragging .house-photo-card.is-active{transition:none}
body .house-gallery-viewport.is-dragging a{pointer-events:auto}
body .gallery-turn{display:none}
body .is-ready .gallery-turn{display:grid;place-items:center;position:absolute;z-index:4;top:45%;width:46px;height:46px;padding:0;border-radius:50%;border:1px solid #fff8;background:#103b78d9;color:#fff;box-shadow:inset 0 1px 1px #fff4;font-size:23px;cursor:pointer}
body .gallery-turn-prev{left:3%}
body .gallery-turn-next{right:3%}
body .gallery-turn:hover{background:#fff;color:var(--blue)}
body .gallery-turn:focus-visible,body .house-photo-card:focus-visible{outline:3px solid #f1dfb7;outline-offset:5px}
body .fan-controls{margin-top:22px}
body .review-controls{justify-content:center;margin:12px auto 0;padding:0 16px;gap:0;max-width:420px}
body .review-dots{order:0;gap:0;margin:0;width:auto}
body .review-dots button{width:clamp(32px,9vw,44px);height:44px}
body .review-dots button:after{inset:auto;left:calc(50% - 3px);top:19px;width:6px;height:6px}
@media(max-width:700px){
 body .house-gallery{padding-bottom:28px}
 body .house-gallery-viewport.is-ready{--page-width:78vw;--page-height:clamp(360px,105vw,440px);--page-spread:26vw;height:calc(var(--page-height) + 145px)}
 body .house-gallery-viewport.is-ready .house-photo-card{border-radius:30px;padding:7px}
 body .house-gallery-viewport.is-ready .house-photo-card>img{border-radius:23px}
 body .is-ready .gallery-turn{top:44%;width:44px;height:44px;background:#103b78e6}
 body .gallery-turn-prev{left:3%}
 body .gallery-turn-next{right:3%}
 body .house-photo-caption{inset:auto 16px 16px;padding:16px;border-radius:22px}
 body .house-photo-caption h3{font-size:1.55rem}
 body .house-photo-caption span{font-size:10px}
 body .fan-controls{margin-top:28px}
 body .room-fan-section{padding-bottom:48px}
 body .review-controls{margin-top:4px}
}
@media(prefers-reduced-motion:reduce){body .house-gallery-viewport.is-ready .house-photo-card{transition:none}}
@media(forced-colors:active){body .house-gallery::before{display:none}body .is-ready .gallery-turn{background:Canvas;color:CanvasText;border:1px solid CanvasText}}

/* Whole words, natural line breaks, and line-drawn services. */
body.home-page :is(h1,h2,h3,h4,p,.overline,.eyebrow,.button,.pill,.fan-selector button){-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:normal}
body.home-page :is(h1,h2,h3,h4){text-wrap:pretty}
body .comfort-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body .comfort-grid article{min-width:0}
body .comfort-icon{display:block;width:48px;height:48px;color:var(--blue)}
body .comfort-icon svg{display:block;width:100%;height:100%;overflow:visible}
body .comfort-grid h3{line-height:1.2;margin-top:18px}
@media(max-width:1000px){body .comfort-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 body .comfort-grid{grid-template-columns:minmax(0,1fr);gap:0;margin-top:32px}
 body .comfort-grid article{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:18px;padding:26px 0}
 body .comfort-icon{width:42px;height:42px;grid-column:1;grid-row:1 / span 2;margin-top:2px}
 body .comfort-grid h3{grid-column:2;font-size:clamp(23px,6vw,28px);line-height:1.2;margin:0;min-width:0}
 body .comfort-grid p{grid-column:2;font-size:15px;line-height:1.65;max-width:none;margin-top:10px}
 body .comfort-heading h2,body .location-copy h2{font-size:clamp(34px,10vw,46px);line-height:1.12}
 body .exclusive-copy h2{font-size:clamp(36px,10vw,48px);line-height:1.12}
 body .fan-card-glass .fan-actions{flex-wrap:wrap}
 body .house-photo-caption>div{min-width:0}
 body .house-photo-caption h3{font-size:clamp(20px,5.5vw,25px)}
 body .footer-grid a{overflow-wrap:normal;word-break:normal}
 body .footer-grid a[href^="mailto:"]{overflow-wrap:anywhere}
}

/* Equal top and side breathing room, stable before and after the door opens. */
@media(max-width:700px){
 body .site-header,body.home-page:not(.planner-page) .site-header,body.home-page:not(.has-entered):not(.planner-page) .site-header{top:calc(16px + env(safe-area-inset-top,0px));width:calc(100% - 32px)}
 body.home-page:not(.planner-page) .site-header{left:16px;right:16px}
}

/* A subtle paper-and-stone surface behind the three-room illustration chapter. */
body .exclusive-teaser{position:relative;isolation:isolate;background:#eee8dc}
body .exclusive-teaser::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.09;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.68' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");background-size:200px 200px}
body .exclusive-teaser .exclusive-copy{background:transparent}
@media(forced-colors:active){body .exclusive-teaser::before{display:none}}

/* Room-sized photo pages, with space for their angled neighbours. */
@media(min-width:701px){
 body.home-page .house-gallery{padding:60px 0 32px;scroll-margin-top:130px}
 body.home-page .house-gallery .gallery-heading{max-width:1080px;gap:50px;margin-bottom:14px;padding:0 32px}
 body.home-page .house-gallery .gallery-heading h2{font-size:clamp(36px,3.6vw,52px);margin-top:14px}
 body.home-page .house-gallery .gallery-heading p{max-width:34ch;font-size:15px}
 body.home-page .gallery-about{margin-top:10px}
 body.home-page .house-gallery-viewport.is-ready{--page-width:min(46vw,540px);--page-height:clamp(340px,50svh,460px);--page-spread:clamp(185px,23vw,270px);max-width:1200px;height:calc(var(--page-height) + 125px)}
 body.home-page .house-gallery-viewport.is-ready .house-photo-card{top:28px;border-radius:27px;padding:7px}
 body.home-page .house-gallery-viewport.is-ready .house-photo-card>img{border-radius:20px}
 body.home-page .house-photo-caption{inset:auto 17px 17px;padding:14px 18px;border-radius:20px}
 body.home-page .house-photo-caption h3{font-size:clamp(22px,2.1vw,28px);margin-top:4px}
 body.home-page .house-photo-caption .photo-open{width:40px;height:40px;font-size:25px}
 body.home-page .house-gallery .is-ready .gallery-turn{top:calc(28px + var(--page-height)/2 - 23px)}
}
/* All six services share a compact desktop spread; content can still grow. */
@media(min-width:1001px){
 body.home-page .comfort-section{padding:44px 7vw;scroll-margin-top:130px}
 body.home-page .comfort-heading{grid-template-columns:1.2fr 1fr;gap:10px 6vw;align-items:end}
 body.home-page .comfort-heading h2{font-size:clamp(36px,3.4vw,50px);line-height:1.08;margin:0}
 body.home-page .comfort-heading p{font-size:14px;line-height:1.55;max-width:52ch;margin:0}
 body.home-page .comfort-heading .overline{font-size:10px;line-height:1.5}
 body.home-page .comfort-grid{margin-top:28px;gap:0 32px}
 body.home-page .comfort-grid article{display:grid;grid-template-columns:36px minmax(0,1fr);align-content:start;align-items:center;gap:10px 14px;padding:20px 0}
 body.home-page .comfort-icon{width:36px;height:36px;grid-column:1;grid-row:1}
 body.home-page .comfort-grid h3{grid-column:2;grid-row:1;font-size:clamp(21px,1.7vw,26px);line-height:1.2;margin:0}
 body.home-page .comfort-grid p{grid-column:1/-1;font-size:14px;line-height:1.55;max-width:42ch;margin:0}
}
@media(forced-colors:active){body.home-page .house-gallery::before{display:none}}

/* A photographic room catalogue, with native navigation beneath the enhancement. */
.rooms-page{--catalog-ink:#103b78;--catalog-muted:#52656a;background:#f6f2e9}
.rooms-page main :is(h1,h2,h3,p,a,dt,dd){hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}
.catalog-wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.rooms-page main :is(h1,h2,h3){color:var(--catalog-ink);text-wrap:balance}
.rooms-page main p{font-size:16px;line-height:1.75;color:var(--catalog-muted)}
.rooms-page main .line-link{white-space:normal;line-height:1.5;min-height:44px;gap:18px;padding-block:9px}
.rooms-page .chapter-photo{animation:none!important}
.rooms-lead{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:end;padding:48px 0 42px}
.rooms-lead h1{font:clamp(76px,8vw,118px)/.96 var(--serif);letter-spacing:-.065em;margin:22px 0 0}
.rooms-lead h1 em{font-style:italic;color:var(--catalog-ink)}
.rooms-lead-copy p{max-width:46ch;margin:0 0 14px}
.rooms-lead-copy .line-link{font-size:14px}
.room-atlas{position:relative;isolation:isolate;background:#ece7db;transition:background-color .35s ease;padding:26px 0 0}
.room-atlas[data-active-room=xylo]{background:#e9dfcf}.room-atlas[data-active-room=fos]{background:#e5ece8}
.room-atlas::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)'/%3E%3C/svg%3E")}
.atlas-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.atlas-tabs{display:flex;gap:5px;padding:5px;border-radius:99px;max-width:100%;background:var(--glass-fill);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.atlas-tab{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 30px;min-height:62px;min-width:130px;border-radius:99px;color:var(--catalog-ink);position:relative;transition:background .22s,color .22s}
.atlas-tab strong{font:32px/1 var(--serif);font-weight:400}.atlas-tab small{font-size:10px;line-height:1.4}
.atlas-tab[aria-selected=true]{background:var(--blue);color:#fffaf0;box-shadow:inset 0 1px 1px #ffffff55}
.atlas-turns{display:flex;align-items:center;gap:10px;color:var(--catalog-ink)}
.atlas-count{font-size:12px;letter-spacing:.08em;margin-right:12px;white-space:nowrap}
.atlas-turns button{border:1px solid #103b7833;background:#fffcf78a;color:var(--catalog-ink);width:46px;height:46px;border-radius:50%;font-size:24px;cursor:pointer}
.atlas-page{display:grid;grid-template-columns:1.25fr .9fr;grid-template-areas:'media heading' 'media copy';gap:0 8%;padding:60px 0 65px;position:relative;align-content:start;scroll-margin-top:12px}
.atlas-page+.atlas-page{border-top:1px solid #103b7833}
.atlas-heading{grid-area:heading;min-width:0;padding-top:6px}.atlas-heading .eyebrow{color:var(--catalog-muted)}
.atlas-heading h2{font:clamp(80px,8.2vw,120px)/1 var(--serif);letter-spacing:-.065em;margin:15px 0 16px}
.rooms-page .atlas-heading>p{font:clamp(24px,2.4vw,32px)/1.25 var(--serif);color:var(--catalog-ink);margin:0 0 22px;text-wrap:pretty}
.atlas-media{grid-area:media;min-width:0;position:relative;padding:20px 36px 58px 0;align-self:start;touch-action:pan-y}
.atlas-main-photo{display:block;position:relative;z-index:1;box-shadow:0 16px 30px #594b3218;overflow:hidden;background:#d8d2c7}
.atlas-main-photo .chapter-photo img{height:auto;aspect-ratio:1.37;object-fit:cover;object-position:50% 65%}
.atlas-xylo .atlas-main-photo .chapter-photo img{object-position:72% center}
.atlas-detail-photo{position:absolute;z-index:3;right:0;bottom:0;width:36%;padding:7px;background:#fffcf4;box-shadow:0 12px 24px #473c2925;transform:rotate(-3deg)}
.atlas-detail-photo .chapter-photo img{height:auto;aspect-ratio:.9;object-fit:cover}
.atlas-xylo .atlas-detail-photo{transform:rotate(3deg)}
.atlas-fos .atlas-detail-photo{width:39%;transform:rotate(-2deg)}
.atlas-watermark{position:absolute;left:-4px;top:-29px;z-index:0;font:italic clamp(88px,10.5vw,148px)/1 var(--serif);letter-spacing:-.06em;color:#103b7820;user-select:none;pointer-events:none}
.rooms-page .catalog-glass{background:var(--glass-fill);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(12px) saturate(1.16);-webkit-backdrop-filter:blur(12px) saturate(1.16);color:var(--catalog-ink)}
.atlas-location{position:absolute;z-index:4;left:18px;bottom:78px;max-width:55%;font-size:12px;line-height:1.5;padding:12px 20px;border-radius:99px}
.atlas-copy{grid-area:copy;min-width:0}
.atlas-facts{display:flex;gap:34px;border-top:1px solid #103b782d;padding-top:20px;margin:0 0 20px;color:var(--catalog-ink)}
.atlas-facts dt{font-size:11px;color:var(--catalog-muted);margin-bottom:7px}.atlas-facts dd{font:24px/1.25 var(--serif);margin:0}
.atlas-copy>p{max-width:44ch;margin:0}
.atlas-practical{display:grid;grid-template-columns:minmax(105px,.85fr) minmax(0,1.2fr);gap:16px;list-style:none;padding:0;margin:22px 0 0}
.atlas-practical li{display:flex;align-items:flex-start;gap:9px;min-width:0;color:var(--catalog-ink)}
.atlas-practical svg{width:19px;height:19px;flex:none;margin-top:2px}
.atlas-practical li>div{display:grid;gap:4px;min-width:0}
.atlas-practical :is(span,small){font-size:12px;line-height:1.6;color:var(--catalog-muted)}
.atlas-practical strong{font-size:13px;line-height:1.5;font-weight:500}
.atlas-actions{display:flex;flex-direction:column;align-items:start;gap:10px;margin-top:25px}
.atlas-discover{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 23px;min-height:52px;font-size:14px;border-radius:99px;line-height:1.5}
.room-comparison{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;padding:78px 0 72px;scroll-margin-top:12px}
.comparison-heading h2{font:clamp(38px,4.2vw,58px)/1.06 var(--serif);letter-spacing:-.035em;margin:18px 0 23px}
.comparison-heading h2 em{color:#89785f}.comparison-heading p{max-width:33ch}
.comparison-room{display:grid;grid-template-columns:1fr 36px;grid-template-areas:'name arrow' 'data arrow' 'character character';gap:9px 20px;padding:23px 0;border-top:1px solid #103b782c;color:var(--catalog-ink)}
.comparison-room:last-child{border-bottom:1px solid #103b782c}
.comparison-name{grid-area:name;font:43px/1.1 var(--serif)}
.comparison-data{grid-area:data;display:flex;gap:8px 20px;flex-wrap:wrap;font-size:13px;line-height:1.5}
.comparison-character{grid-area:character;color:var(--catalog-muted);font-size:13px;line-height:1.5}
.comparison-arrow{grid-area:arrow;align-self:center;font-size:27px;transition:transform .2s}
.room-essentials{background:#e5e9e4;padding:42px 0}
.essentials-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center}
.room-essentials ul{display:flex;flex-wrap:wrap;gap:23px;list-style:none;padding:0;margin:24px 0 0;color:var(--catalog-ink)}
.room-essentials li{display:flex;flex-direction:column;gap:13px;font-size:13px;line-height:1.5;max-width:130px}
.room-essentials svg{width:30px;height:30px}
.rooms-page .essentials-note p{font-size:15px;line-height:1.7}
.rooms-page .essentials-note .essentials-access{font-size:13px;line-height:1.7;margin:18px 0 0;color:var(--catalog-muted)}
.rooms-page main :is(a,button):focus-visible{outline:3px solid #a37c48;outline-offset:5px}
@media(hover:hover) and (pointer:fine){.atlas-tab:not([aria-selected=true]):hover{background:#ffffff8c}.atlas-discover:hover{background:#fffaf0}.comparison-room:hover .comparison-arrow{transform:translate(3px,-3px)}}
@media(prefers-reduced-motion:no-preference){.atlas-page.is-turning .atlas-main-photo{animation:atlas-photo .42s cubic-bezier(.22,.7,.25,1) both;transform-origin:0 50%}.atlas-page.is-turning .atlas-detail-photo{animation:atlas-detail .45s cubic-bezier(.22,.7,.25,1) both}.atlas-page.is-turning :is(.atlas-heading,.atlas-copy){animation:atlas-copy .3s ease both}@keyframes atlas-photo{from{opacity:.45;transform:perspective(1100px) rotateY(calc(var(--turn,1)*-7deg)) translateX(calc(var(--turn,1)*18px))}to{opacity:1;transform:none}}@keyframes atlas-detail{from{opacity:.3;translate:calc(var(--turn,1)*26px) 8px}to{opacity:1;translate:0 0}}@keyframes atlas-copy{from{opacity:.4;translate:0 6px}to{opacity:1;translate:0 0}}}
@media(max-width:1050px){.catalog-wrap{width:calc(100% - 64px)}.rooms-lead{gap:6%}.atlas-page{gap:0 5%;grid-template-columns:1.1fr 1fr;padding-top:48px}.atlas-tab{padding:12px 22px;min-width:115px}.atlas-main-photo .chapter-photo img{aspect-ratio:1.18}.atlas-detail-photo{width:40%}.atlas-media{padding-right:20px}.atlas-location{padding:10px 14px;left:12px}.room-comparison{gap:6%}.essentials-inner{gap:6%}.room-essentials ul{gap:18px}}
@media(max-width:760px){
 .catalog-wrap{width:calc(100% - 40px)}
 .rooms-lead{grid-template-columns:1fr;gap:22px;padding:34px 0 28px}.rooms-lead h1{font-size:clamp(55px,15vw,78px);margin-top:17px}.rooms-lead-copy p{font-size:16px;line-height:1.65;margin-bottom:10px}.rooms-lead-copy .line-link{font-size:13px}
 .room-atlas{padding-top:20px}.atlas-top{display:block;position:relative}.atlas-tabs{width:100%;gap:3px;padding:4px}.atlas-tab{flex:1;min-width:0;padding:12px 6px;min-height:62px;align-items:center;text-align:center}.atlas-tab strong{font-size:29px}.atlas-tab small{font-size:10px;max-width:11ch}
 .atlas-turns{justify-content:end;margin-top:16px;gap:8px}.atlas-count{margin-right:auto;margin-left:2px;font-size:11px}.atlas-turns button{width:44px;height:44px;font-size:23px}
 .atlas-page{grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'media' 'copy';padding:18px 0 38px;gap:0;scroll-margin-top:10px}.atlas-heading{padding-top:0}.atlas-heading .eyebrow{font-size:11px}.atlas-heading h2{font-size:78px;margin:9px 0 12px}.rooms-page .atlas-heading>p{font-size:25px;margin-bottom:25px}
 .atlas-media{padding:0 18px 45px 0;margin-bottom:24px}.atlas-watermark{display:none}.atlas-main-photo .chapter-photo img{aspect-ratio:1.28}.atlas-detail-photo{width:34%;padding:5px}.atlas-fos .atlas-detail-photo{width:37%}.atlas-detail-photo .chapter-photo img{aspect-ratio:1.02}.atlas-location{font-size:11px;bottom:61px;left:12px;padding:9px 14px;max-width:55%}
 .atlas-facts{gap:38px;padding-top:19px;margin:0 0 18px}.atlas-facts dd{font-size:24px}.atlas-copy>p{font-size:16px;line-height:1.7}.atlas-actions{margin-top:22px;gap:12px}.atlas-discover{width:100%;min-height:53px;padding:14px 21px;font-size:14px}
 .room-comparison{grid-template-columns:1fr;gap:26px;padding:42px 0}.comparison-heading h2{font-size:clamp(35px,9vw,45px);margin-bottom:18px}.comparison-heading p{font-size:15px;max-width:42ch}.comparison-room{padding:21px 0}.comparison-name{font-size:40px}.comparison-data{gap:6px 16px;font-size:12px}.comparison-character{font-size:13px}
 .room-essentials{padding:34px 0}.essentials-inner{grid-template-columns:1fr;gap:25px}.room-essentials ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.room-essentials li{font-size:12px}.room-essentials svg{width:28px;height:28px}.essentials-note{border-top:1px solid #103b7825;padding-top:20px}.rooms-page .essentials-note p{margin:0 0 10px}
 .rooms-page .catalog-glass,.atlas-tabs{backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
}
@media(max-width:360px){.catalog-wrap{width:calc(100% - 32px)}.atlas-tab small{font-size:9px}.atlas-heading h2{font-size:72px}.rooms-lead h1{font-size:55px}.room-essentials ul{gap:10px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.rooms-page .catalog-glass,.atlas-tabs{background:#f8f6ef}}
@media(prefers-reduced-transparency:reduce){.rooms-page .catalog-glass,.atlas-tabs{background:#f8f6ef;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.room-atlas,.atlas-tab,.comparison-arrow{transition:none}.atlas-page *{animation:none!important}}
@media(forced-colors:active){.room-atlas::before,.atlas-watermark{display:none}.rooms-page .catalog-glass,.atlas-tabs,.atlas-tab[aria-selected=true],.atlas-turns button{background:Canvas;color:CanvasText;box-shadow:none;backdrop-filter:none;border:1px solid CanvasText}.atlas-tab[aria-selected=true]{outline:2px solid Highlight}.atlas-main-photo,.atlas-detail-photo{box-shadow:none}.comparison-room{border-color:CanvasText}}

/* Shared finish: translucent navigation, thin photographic glass and distinct materials. */
:root{
 --header-glass:linear-gradient(125deg,rgba(255,253,246,.82),rgba(246,247,239,.68) 48%,rgba(234,241,237,.79));
 --photo-glass:linear-gradient(135deg,#ffffffb8,#fffdf544 48%,#cfddd866);
 --paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.12' filter='url(%23g)'/%3E%3C/svg%3E");
}
body .header-inner,body.home-page .header-inner,body.home-page.has-entered .header-inner,body.home-page.header-dense .header-inner,body.header-dense .header-inner{
 background:var(--header-glass);border:1px solid #ffffffb8;
 box-shadow:0 9px 28px #0c285b18,inset 0 1px 0 #ffffffed,inset 0 -1px 0 #103b7818;
 backdrop-filter:blur(20px) saturate(1.35);-webkit-backdrop-filter:blur(20px) saturate(1.35);
}
/* No position or opacity rule here: the entry animation retains control of its header. */
body .header-inner .header-book{box-shadow:inset 0 1px 0 #ffffff57,0 4px 13px #103b781d}
body :is(.atlas-main-photo,.atlas-detail-photo,.bedroom-main,.bedroom-detail,.exclusive-pictures .chapter-photo,.contact-photo-group .contact-arrival){
 padding:6px;border:1px solid #ffffffdf;background:var(--photo-glass);border-radius:20px;
 box-shadow:0 9px 23px #103b7815,inset 0 1px 0 #fff;
 backdrop-filter:none;-webkit-backdrop-filter:none;
}
body :is(.atlas-main-photo,.atlas-detail-photo,.bedroom-main,.bedroom-detail,.exclusive-pictures .chapter-photo,.contact-photo-group .contact-arrival) img{border-radius:14px}
body .atlas-detail-photo{border-radius:14px}.atlas-detail-photo img{border-radius:8px!important}
body .exclusive-pictures figcaption{padding:10px 8px 5px;font-size:12px}
body .contact-photo-group .contact-arrival{margin:0;overflow:hidden}
body .contact-photo-group .contact-arrival figcaption{padding:10px 8px 4px}
body .room-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(170px,16vw,220px)}
body .room-gallery .gallery-item:nth-child(4):last-child{grid-column:span 2}
body .room-gallery .gallery-item{padding:5px;border:1px solid #ffffffdd;border-radius:18px;background:var(--photo-glass);box-shadow:0 7px 19px #103b7812;overflow:hidden}
body .room-gallery .gallery-item img{border-radius:12px}
body .contact-image{padding:6px;background:var(--photo-glass);border:1px solid #fff;border-radius:20px;box-shadow:0 9px 23px #103b7815;overflow:hidden}
body .contact-image img{border-radius:14px}
.house-page :is(.palazzo-cover,.palazzo-living-wide,.palazzo-roof-photo){padding:6px;border:1px solid #ffffffd9;border-radius:20px;background:var(--photo-glass);box-shadow:0 10px 26px #103b7819}
.house-page :is(.palazzo-cover,.palazzo-living-wide,.palazzo-roof-photo)>.chapter-photo{border-radius:14px;overflow:hidden}
.house-page .palazzo-light>.chapter-photo{padding:5px;border:1px solid #ffffffd9;border-radius:17px;background:var(--photo-glass);box-shadow:0 8px 23px #103b7814}
.house-page .palazzo-light img{border-radius:11px}
.house-page .palazzo-living-detail{padding:5px;border:1px solid #ffffffde;border-radius:15px;background:var(--photo-glass);box-shadow:0 10px 22px #103b7820}
.house-page .palazzo-living-detail>.chapter-photo{border-radius:9px;overflow:hidden}
/* Compact the exclusive opening. The former terrace offset was applied twice. */
body.exclusive-page .chapter-exclusive{padding-top:30px;padding-bottom:40px}
body.exclusive-page .exclusive-opening-grid{grid-template-columns:1.08fr 1fr;gap:5%;align-items:start}
body.exclusive-page .chapter-exclusive h1{font-size:clamp(48px,5vw,78px);line-height:1.06;margin-bottom:24px}
body.exclusive-page .chapter-copy>p:not(.occasion-description){max-width:47ch;font-size:17px;line-height:1.65;margin-bottom:24px}
body.exclusive-page .occasion-picker{margin-top:24px}
body.exclusive-page .exclusive-pictures{gap:14px;align-items:start;padding-top:10px}
body.exclusive-page .exclusive-pictures .exclusive-terrace{margin-top:40px;padding:6px}
body.exclusive-page .exclusive-pictures :is(.exclusive-terrace,.exclusive-living) img{height:auto;aspect-ratio:.85;object-fit:cover}
body.exclusive-page .exclusive-opening-note{margin-top:18px}
body.exclusive-page .occasion-section{
 width:100%;max-width:none;margin:0;background-color:#eae5d9;background-image:var(--paper-grain);
 padding:48px max(5vw,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.8fr 1.5fr;gap:7%;align-items:start;
 border-block:1px solid #103b7812;
}
body.exclusive-page .occasion-section .section-heading{margin:0;display:block}
body.exclusive-page .occasion-section h2{font-size:clamp(36px,3.8vw,55px);line-height:1.08;margin:19px 0 0;text-wrap:balance}
body.exclusive-page .occasion-grid{display:block;border:0;margin:0}
body.exclusive-page .occasion-grid article{display:grid;grid-template-columns:32px 1fr;gap:8px 20px;padding:20px 0;border-top:1px solid #103b7826;min-width:0}
body.exclusive-page .occasion-grid article:first-child{padding-top:0;border-top:0}
body.exclusive-page .occasion-grid article:last-child{padding-bottom:0}
body.exclusive-page .occasion-grid article>span{grid-row:1/3;font-size:12px;padding-top:6px;color:#687876}
body.exclusive-page .occasion-grid h3{font:clamp(25px,2.4vw,34px)/1.2 var(--serif);margin:0}
body.exclusive-page .occasion-grid p{font-size:15px;line-height:1.65;margin:0;max-width:61ch}
body.exclusive-page .exclusive-inquiry{padding:65px max(5vw,calc((100vw - 1240px)/2));gap:7%;background:#e3e9e4}
body.exclusive-page .exclusive-inquiry h2{font-size:clamp(42px,4.8vw,68px)}
/* Alternate stone and paper tones where adjacent sections merged visually. */
body .comfort-section{background-color:#e1e8e0;background-image:var(--paper-grain);background-size:180px 180px;border-block:1px solid #103b7815}
.house-page .palazzo-ground{background-color:#eee7da;background-image:var(--paper-grain);border-block:1px solid #103b7812}
.rooms-page .room-comparison-band{background-color:#e1e8e0;background-image:var(--paper-grain);background-size:180px 180px;border-block:1px solid #103b7812}
.rooms-page .room-essentials{background:#f5f0e6}
body .room-intro{background-color:#eee7da;background-image:var(--paper-grain);border-block:1px solid #103b7812}
body .room-gallery-section{background:#f6f3ec;padding:40px 0 64px}
body .room-details{background-color:#e1e8e0;background-image:var(--paper-grain);background-size:180px 180px;border-block:1px solid #103b7815}
/* A range picker with explicit endpoints, month jump and two months on a wide screen. */
body .calendar{max-width:none;width:100%;padding:16px;background:#f7f8f2;border:1px solid #103b7825;border-radius:18px;margin-top:10px}
body .calendar-toggle{background:#ecf1e9;border-color:#103b7830}
.calendar-endpoints{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.calendar-endpoints button{padding:10px 14px;background:#fffdf6;border:1px solid #103b7825;border-radius:12px;text-align:left;color:var(--blue);min-width:0}
.calendar-endpoints span{display:block;font-size:12px;line-height:1.5;margin-bottom:4px}
.calendar-endpoints strong{font:500 15px/1.4 var(--sans)}
.calendar-endpoints button[aria-pressed=true]{background:var(--blue);color:#fffdf6;border-color:var(--blue);box-shadow:inset 0 1px 0 #ffffff50}
body .calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;margin-bottom:16px}
body .calendar-toolbar button{height:44px;width:44px;font-size:26px}
.calendar-month-picker{min-width:0}
body .calendar-month-picker select{width:100%;min-height:44px;padding:9px 30px 9px 12px;border:1px solid #103b7825;border-radius:10px;background:#fffdf6;color:var(--blue);font-size:15px;text-align:center}
.calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.calendar-pane{min-width:0}
body .calendar[data-single-month=true] .calendar-months{grid-template-columns:minmax(0,1fr);max-width:400px;margin-inline:auto}
body .calendar-pane h3{font:500 15px/1.4 var(--sans);margin:0 0 12px;color:var(--blue);text-align:center}
body .calendar-week{margin-bottom:7px;font-size:12px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}
body .calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 2px}
body .calendar-days button{min-width:0;min-height:44px;height:44px;padding:0;font:400 14px/1 var(--sans);border:1px solid transparent;border-radius:10px;color:var(--blue);background:transparent}
body .calendar-days button.selected{background:var(--blue);color:white;border-color:var(--blue);box-shadow:inset 0 1px 0 #ffffff66}
body .calendar-days button.in-range{background:#103b7812;border-radius:4px}
body .calendar-days button.today:not(.selected){border-color:#103b7860}
body .calendar-days>span{min-height:44px}
body .calendar-days button:disabled{opacity:.28;cursor:default}
body .calendar-days button.selected:disabled{opacity:1}
.calendar-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid #103b7820}
.calendar-bottom button{font:500 14px/1.5 var(--sans);min-height:44px;padding:9px 16px;border-radius:99px;color:var(--blue);border:1px solid #103b7825;background:#fffdf6}
body #calendar-done{background:var(--blue);color:#fffdf6;border-color:var(--blue)}
body #calendar-done:disabled{opacity:.45;cursor:default}
body .stay-dates label.is-editing{box-shadow:inset 0 -2px 0 var(--blue)}
body :is(.calendar-days button,.calendar-endpoints button,.calendar-month-picker select,.calendar-bottom button):focus-visible{outline:3px solid #a77e49;outline-offset:2px}
/* Animate only elements that have reached the viewport. Nothing is hidden awaiting JS. */
@media(prefers-reduced-motion:no-preference){
 .is-gently-arriving{animation:gentle-arrival .5s cubic-bezier(.2,.65,.3,1) both;animation-delay:var(--reveal-delay,0ms)}
 @keyframes gentle-arrival{from{opacity:.7;translate:0 12px}to{opacity:1;translate:0 0}}
 body .calendar-toggle,body .header-book,.calendar-endpoints button,.calendar-bottom button{transition:background .18s,color .18s,box-shadow .18s}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 body .room-gallery .gallery-item img{transition:transform .45s cubic-bezier(.2,.65,.3,1)}
 body .room-gallery .gallery-item:hover img{transform:scale(1.025)}
 body .header-book:hover{box-shadow:inset 0 1px 0 #ffffff77,0 6px 16px #103b7835}
}
@media(max-width:900px){
 body.exclusive-page .exclusive-opening-grid{grid-template-columns:1fr;gap:22px}
 body.exclusive-page .exclusive-pictures{max-width:620px;width:100%;justify-self:center;padding-top:0}
 body.exclusive-page .exclusive-pictures :is(.exclusive-terrace,.exclusive-living) img{aspect-ratio:1.05}
 body.exclusive-page .occasion-section{grid-template-columns:1fr;gap:26px;padding:38px 5vw}
 body.exclusive-page .occasion-section h2{font-size:42px}
 body.exclusive-page .exclusive-inquiry{padding:46px 5vw}
}
@media(max-width:700px){
 body .header-inner,body.home-page .header-inner,body.home-page.has-entered .header-inner{backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3)}
 body :is(.atlas-main-photo,.bedroom-main,.exclusive-pictures .chapter-photo,.contact-photo-group .contact-arrival){padding:4px;border-radius:16px}
 body :is(.atlas-main-photo,.bedroom-main,.exclusive-pictures .chapter-photo,.contact-photo-group .contact-arrival) img{border-radius:11px}
 body .atlas-detail-photo{padding:4px}
 body .room-gallery-section{padding:30px 0 40px}
 body .room-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:10px}
 body .room-gallery .gallery-item{aspect-ratio:1}
 body .room-gallery .gallery-item:first-child{grid-row:auto;aspect-ratio:1.25}
 body .room-gallery .gallery-item:nth-child(4):last-child{aspect-ratio:1.6}
 body.exclusive-page .chapter-exclusive{padding-top:24px;padding-bottom:30px}
 body.exclusive-page .chapter-exclusive h1{font-size:clamp(43px,11vw,62px)}
 body.exclusive-page .chapter-copy>p:not(.occasion-description){font-size:16px}
 body.exclusive-page .exclusive-pictures{gap:10px}
 body.exclusive-page .occasion-picker{width:100%;gap:3px}
 body.exclusive-page .occasion-picker button{flex:1;padding:10px 8px;font-size:12px;white-space:normal;hyphens:none;word-break:normal}
 body.exclusive-page .exclusive-pictures .exclusive-terrace{margin-top:24px;padding:4px}
 body.exclusive-page .exclusive-pictures figcaption{font-size:11px;padding:8px 4px 3px}
 body.exclusive-page .occasion-section h2{font-size:clamp(34px,9vw,44px)}
 body.exclusive-page .occasion-grid article{gap:8px 12px;grid-template-columns:24px 1fr}
 body.exclusive-page .occasion-grid h3{font-size:27px}
 body.exclusive-page .exclusive-inquiry form{padding:20px}
 body .stay-composer,body.planner-page .stay-composer{padding:0}
 body .stay-planner{padding:16px 12px}
 body .calendar{padding:10px;max-width:420px;margin-inline:auto}
 .calendar-months{grid-template-columns:minmax(0,1fr);gap:0}
 .calendar-endpoints button{padding:9px 10px}
 body .calendar-days{gap:4px 1px}
 body .calendar-days button{font-size:14px}
 .calendar-bottom button{font-size:13px;padding-inline:12px}
 body .calendar-month-picker select{font-size:14px;padding-left:6px}
 .calendar-endpoints strong{font-size:14px}
 .calendar-bottom{gap:8px}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 body .header-inner,body.home-page .header-inner,body.home-page.has-entered .header-inner,body.home-page.header-dense .header-inner,body.header-dense .header-inner{background:#f6f5ed}
}
@media(prefers-reduced-transparency:reduce){
 body .header-inner,body.home-page .header-inner,body.home-page.has-entered .header-inner,body.home-page.header-dense .header-inner,body.header-dense .header-inner{background:#f6f5ed!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@media(hover:none){body .room-gallery .gallery-item:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){body .room-gallery .gallery-item img,body .room-gallery .gallery-item:hover img{transition:none;transform:none}.is-gently-arriving{animation:none!important;translate:none!important}.calendar-endpoints button,.calendar-bottom button{transition:none!important}}
@media(forced-colors:active){
 body .header-inner,body.home-page .header-inner,body.home-page.has-entered .header-inner,body.home-page.header-dense .header-inner,body.header-dense .header-inner{background:Canvas;box-shadow:none;border-color:CanvasText;backdrop-filter:none;-webkit-backdrop-filter:none}
 body :is(.comfort-section,.room-intro,.room-details,.occasion-section),.house-page .palazzo-ground,.rooms-page .room-comparison-band{background:Canvas!important}
 body .calendar-days button,body .calendar-endpoints button,body .calendar-bottom button{background:ButtonFace;color:ButtonText;border:1px solid ButtonText;box-shadow:none}
 body #calendar-done,body .calendar-days button.selected,body .calendar-endpoints button[aria-pressed=true]{background:ButtonFace;color:ButtonText;border-color:ButtonText;outline:2px solid Highlight;outline-offset:-3px}
}

/* Illustrated Cibele headers. The home entrance keeps control of its own navigation. */
body:not(.home-page) .site-header,body.planner-page .site-header{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:14px;right:14px;width:calc(100% - 28px);margin:0;z-index:50}
:root{--hero-accent:#e0d2b7;--hero-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cfilter id='ink-grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' seed='17' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='2.6' intercept='-.8'/%3E%3CfeFuncG type='linear' slope='2.6' intercept='-.8'/%3E%3CfeFuncB type='linear' slope='2.6' intercept='-.8'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23ink-grain)'/%3E%3C/svg%3E")}
.blue-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:min(840px,100svh);background:var(--blue);color:var(--cream);padding:155px 0 65px}
.blue-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none}
.blue-hero:before,body.home-page .arrival-blue::after,body .house-gallery::before,body .site-footer::before{background-image:var(--hero-grain);background-size:160px 160px;opacity:.48;mix-blend-mode:soft-light}
.hero-layout{width:min(1440px,calc(100% - 14vw));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:5vw;align-items:center;min-height:380px}
.hero-copy{min-width:0;position:relative;z-index:1}
.blue-hero .eyebrow{color:#d4dccf;font-size:11px;letter-spacing:.18em}
.blue-hero h1{font-size:clamp(58px,6.8vw,100px);line-height:1.06;letter-spacing:-.047em;margin:24px 0 25px;text-wrap:balance;hyphens:none;word-break:normal;overflow-wrap:normal}
.blue-hero h1>span,.blue-hero h1>em{display:block}
.blue-hero h1>span{color:var(--cream)}
.blue-hero h1 em{color:var(--hero-accent);font-style:italic}
.blue-hero .hero-copy>p{color:#f4f1e7;font-size:17px;line-height:1.7;max-width:48ch;margin:0}
.hero-drawing{position:relative;z-index:0;min-width:0;width:110%;margin:0 0 0 -3%;opacity:.92;pointer-events:none;mix-blend-mode:screen}
.hero-drawing img{height:auto;max-height:none;object-fit:contain;width:100%;filter:grayscale(1) invert(1) contrast(1.04)}
.blue-hero-contact h1{font-size:clamp(52px,5.8vw,84px);max-width:14ch}
.blue-hero-booking h1{font-size:clamp(52px,5.9vw,86px)}
.hero-room-facts{display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid #f4f1e735;margin-top:25px;padding-top:17px;font-size:13px;color:#e1d7be}
.hero-room-facts span{white-space:nowrap}
body :is(.blue-hero,.exclusive-inquiry,.contact-location)[id]{scroll-margin-top:125px}
/* Useful pictures stay below the drawing, without turning into another full-screen hero. */
.house-page .palazzo-opening{padding-top:44px}
body .chapter-bedroom{padding-top:44px;padding-bottom:42px}
body .bedroom-spread{max-width:1100px;margin-inline:auto;grid-template-columns:1.7fr .7fr}
body .bedroom-main img{height:auto;aspect-ratio:1.6;object-fit:cover}
body .bedroom-detail img{height:auto;aspect-ratio:1.12;object-fit:cover}
body .bedroom-detail{margin-top:54px}
.exclusive-spaces{padding-block:45px 50px;max-width:1160px;display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:20px;align-items:center}
.exclusive-spaces>figure{min-width:0}
.exclusive-spaces .chapter-photo{padding:5px;border:1px solid #fff;border-radius:18px;background:var(--photo-glass);box-shadow:0 8px 23px #103b7815;overflow:hidden}
.exclusive-spaces .chapter-photo img{height:auto;aspect-ratio:1.35;border-radius:12px;object-fit:cover}
.exclusive-spaces .exclusive-space-kitchen{margin-top:28px}
.exclusive-spaces>figure>figcaption{font-size:12px;color:#536a70;margin:9px 5px 0}
/* Two short request steps; every field remains usable before JavaScript enhances the form. */
body.exclusive-page .exclusive-inquiry{grid-template-columns:minmax(0,.88fr) minmax(0,1.1fr);align-items:start;gap:7%;background-color:#e3e9e4;background-image:var(--paper-grain)}
body.exclusive-page .exclusive-inquiry .inquiry-intro{max-width:430px}
body.exclusive-page .exclusive-inquiry h2{font-size:clamp(40px,4.5vw,64px);line-height:1.08;margin:18px 0 22px;color:var(--blue)}
body.exclusive-page .exclusive-inquiry .inquiry-intro p{font-size:16px;line-height:1.65;margin-bottom:18px}
body.exclusive-page .exclusive-inquiry .inquiry-intro small{font-size:13px;line-height:1.7}
body.exclusive-page .exclusive-inquiry form{max-width:590px;width:100%;padding:24px;border-radius:24px;background:#fafbf5;border:1px solid #ffffffde;box-shadow:0 12px 35px #103b780c}
.inquiry-progress{list-style:none;display:flex;gap:25px;padding:0 0 17px;margin:0 0 17px;border-bottom:1px solid #103b781d}
.inquiry-progress li{display:flex;align-items:center;gap:7px;font-size:12px;color:#7a8a89;min-width:0}
.inquiry-progress li[aria-current=step]{color:var(--blue)}
.inquiry-progress li>span{font-size:10px;border:1px solid currentColor;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex-shrink:0}
body.exclusive-page .inquiry-step{border:0;margin:0 0 18px;padding:0;min-width:0}
.inquiry-step legend{padding:0;margin:0 0 15px;font:400 27px/1.2 var(--serif);color:var(--blue)}
body.exclusive-page .exclusive-inquiry label{margin:0 0 12px;gap:5px;font-size:13px;line-height:1.5;min-width:0}
body.exclusive-page .exclusive-inquiry :is(input,select,textarea){min-width:0;max-width:100%;min-height:46px;padding:10px 12px;font-size:16px;line-height:1.5;background:#fffef9;border:1px solid #103b7829;border-radius:9px;box-shadow:inset 0 1px 2px #103b7806}
body.exclusive-page .exclusive-inquiry input[type=date]{width:100%;appearance:none;-webkit-appearance:none;min-height:46px;display:block}
body.exclusive-page .exclusive-inquiry .inquiry-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.exclusive-page .exclusive-inquiry .inquiry-row>label{flex:none;min-width:0}
body.exclusive-page .exclusive-inquiry .inquiry-people{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;margin:3px 0 8px}
body.exclusive-page .exclusive-inquiry #exclusive-capacity{font-size:12px;line-height:1.6;margin:0;max-width:48ch}
body.exclusive-page .exclusive-inquiry .inquiry-summary{font-size:13px;line-height:1.65;padding:12px 14px;background:#eaf0e7;border:1px solid #103b7814;border-radius:10px;color:#496368;margin:0 0 17px}
.inquiry-notes{border-block:1px solid #103b781d;margin:16px 0 0;padding:12px 0}
.inquiry-notes summary{font-size:13px;color:var(--blue);cursor:pointer;min-height:26px}
body.exclusive-page .exclusive-inquiry .inquiry-notes label{margin:12px 0 0}
.inquiry-actions{display:flex;flex-direction:column;gap:11px;align-items:stretch}
body.exclusive-page .exclusive-inquiry .inquiry-actions .button{margin:0;min-height:48px;padding:13px 20px;gap:12px;font-size:13px;justify-content:space-between;text-align:left}
.inquiry-back{background:none;border:0;color:var(--blue);padding:5px 0;min-height:40px;align-self:start;font-size:12px;text-decoration:underline;text-underline-offset:4px}
body.exclusive-page .exclusive-inquiry .inquiry-handoff{font-size:11px;line-height:1.65;margin:13px 0 0;color:#627575}
body.exclusive-page .exclusive-inquiry #exclusive-error{color:#972e20;font-size:13px;margin:0 0 13px}
body .exclusive-inquiry [hidden]{display:none!important}
body.exclusive-page .exclusive-inquiry :is(input,select,textarea,button,summary):focus-visible{outline:3px solid #a77e49;outline-offset:3px}
/* Contact page: personal channels, a recognizable entrance and practical arrival information. */
.contact-hub{max-width:1240px;display:grid;grid-template-columns:1.05fr 1fr;gap:9%;padding-block:70px 76px;align-items:center}
.contact-welcome{min-width:0}
.contact-welcome h2,.contact-location h2,.contact-page .faq h2{font-size:clamp(40px,4.4vw,64px);line-height:1.1;color:var(--blue);margin:20px 0 22px;text-wrap:balance}
.contact-welcome>p{font-size:16px;line-height:1.7;color:#536a70;max-width:44ch}
.contact-channels{margin-top:27px}
.contact-channels>a{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:15px;align-items:center;min-height:85px;padding:17px 0;border-top:1px solid #103b7824;color:var(--blue)}
.contact-channels>a:last-child{border-bottom:1px solid #103b7824}
.contact-channels svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.contact-channels strong{font-size:16px;font-weight:500;line-height:1.45;display:block;overflow-wrap:anywhere}
.contact-channels small{display:block;font-size:12px;color:#647777;margin-top:4px}
.contact-portraits{position:relative;padding:0 0 42px 0;min-width:0}
.contact-door{width:83%;margin-left:auto}
.contact-reception{width:46%;position:absolute;left:-3%;bottom:0;transform:rotate(-3deg)}
.contact-portraits .chapter-photo{padding:6px;border:1px solid #ffffffed;background:var(--photo-glass);border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #103b7818}
.contact-door img{height:auto;aspect-ratio:.85;object-fit:cover;border-radius:12px}
.contact-reception img{height:auto;aspect-ratio:.83;object-fit:cover;border-radius:12px}
.contact-portraits figcaption{font-size:11px;margin:8px 4px 0;color:#536a70}
.contact-reception>figcaption{padding:6px 8px;background:#f7f4eceb;border-radius:6px}
.contact-location{padding:64px 0;background-color:#e4eae3;background-image:var(--paper-grain);border-block:1px solid #103b7818}
.contact-location-grid{display:grid;grid-template-columns:.95fr 1.15fr;gap:8%;align-items:center;max-width:1240px}
.contact-location h2{margin-top:18px;font-size:clamp(38px,4vw,58px)}
.contact-location address{font-style:normal;color:var(--blue);font-size:18px;line-height:1.6;margin:0 0 20px}
.contact-location-copy>p{font-size:15px;line-height:1.7;color:#536a70;margin-bottom:24px;max-width:46ch}
.contact-location .button{border-radius:99px;font-size:13px;min-height:48px}
.contact-arrival-times{display:flex;gap:32px;margin-top:28px;border-top:1px solid #103b7824;padding-top:18px}
.contact-arrival-times small{display:block;color:#617373;font-size:12px}
.contact-arrival-times strong{color:var(--blue);font-weight:500;font-size:15px}
.contact-map{height:450px;position:relative;border:1px solid #ffffffee;padding:6px;border-radius:24px;background:#edf1e9;overflow:hidden;box-shadow:0 10px 24px #103b7813}
.contact-map .neighborhood-map{width:100%;height:100%;border-radius:18px}
.contact-map .map-buildings{fill:#d1ded1;stroke:#c1d0c3;stroke-width:1}
.contact-map .map-streets{fill:none;stroke:#7e9c97;stroke-linecap:round;stroke-linejoin:round}
.contact-map .map-street-focus{stroke:#103b78;stroke-width:7}
.contact-map .map-labels{fill:#597571;font:22px var(--sans);letter-spacing:1px}
.contact-map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-65%);display:grid;text-align:center;padding:14px 18px;background:#f9fcf6e8;border:1px solid white;box-shadow:0 8px 20px #103b7820;border-radius:18px;color:var(--blue);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);white-space:nowrap}
.contact-map-pin>span{font-size:30px;line-height:1.2;margin-bottom:4px}
.contact-map-pin strong{font:400 24px/1.2 var(--serif)}
.contact-map-pin small{font-size:11px;margin-top:5px}
.contact-map-credit{position:absolute;right:13px;bottom:11px;color:#536a70;font-size:10px;background:#f7f4ecbd;padding:3px 5px;border-radius:5px}
.contact-page .faq{padding-block:66px;background:#f7f4ec}
.contact-page .faq-grid{grid-template-columns:.85fr 1.4fr;gap:8%;max-width:1240px}
.contact-faq-note{font-size:14px;line-height:1.7;color:#536a70;max-width:32ch}
.contact-page .faq details{padding-block:18px;border-color:#103b7828}
.contact-page .faq summary{font:500 15px/1.5 var(--sans);color:var(--blue);padding-right:22px;min-height:28px}
.contact-page .faq details p{font-size:14px;line-height:1.75;color:#536a70;margin:15px 0 3px;max-width:65ch}
/* Shared legal and payment signature on every route. */
.footer-payments{border-top:1px solid #e6ecf12b;margin-top:35px;padding-top:25px;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center}
.footer-payments>span{font-size:11px;letter-spacing:.08em;color:#d3dedb}
.footer-payments ul{list-style:none;padding:0;margin:0;display:flex;gap:18px 25px;flex-wrap:wrap;align-items:center}
.footer-payments li{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.4;color:#f4f1e7;min-height:30px}
.payment-visa{font:700 italic 19px/1 var(--sans);letter-spacing:-.04em}
.payment-mastercard{display:inline-flex;width:31px;align-items:center}
.payment-mastercard i{width:20px;height:20px;border:1px solid #f4f1e7;border-radius:50%;flex-shrink:0}
.payment-mastercard i+i{margin-left:-9px;background:#f4f1e721}
.footer-payments svg{width:23px;height:23px}
.payment-paypal{font:700 italic 16px/1.2 var(--sans)}
.footer-vat{display:inline-block;white-space:nowrap;margin-left:20px}
@media(max-width:1000px){
 .hero-layout{gap:3vw;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:310px}
 .blue-hero h1{font-size:clamp(54px,7.5vw,78px)}
 .blue-hero-contact h1,.blue-hero-booking h1{font-size:clamp(47px,6.5vw,65px)}
 .contact-hub{gap:5%}.contact-location-grid{gap:5%}
 body.exclusive-page .exclusive-inquiry{gap:5%}
}
@media(max-width:700px){
 body:not(.home-page) .site-header,body.planner-page .site-header{top:calc(16px + env(safe-area-inset-top,0px));left:16px;right:16px;width:calc(100% - 32px)}
 .blue-hero{display:block;min-height:100svh;padding:clamp(132px,18svh,168px) 0 clamp(225px,58vw,330px)}
 .hero-layout{width:calc(100% - 48px);display:block;min-height:0}
 .blue-hero .eyebrow{font-size:10px;letter-spacing:.15em}
 .blue-hero h1{font-size:clamp(40px,12vw,66px);line-height:1.07;margin:20px 0 22px;max-width:none}
 .blue-hero-contact h1,.blue-hero-booking h1{font-size:clamp(38px,11.5vw,60px);max-width:none}
 .blue-hero .hero-copy>p{font-size:15px;line-height:1.7;max-width:43ch}
 .hero-drawing{position:absolute;width:140vw;max-width:none;right:-24vw;bottom:-28px;margin:0;opacity:.30;mask-image:linear-gradient(to bottom,transparent 0%,#000 48%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 48%)}
 .hero-room-facts{margin-top:21px;padding-top:14px;font-size:12px;gap:9px 20px}
 body .chapter-bedroom{padding-block:28px 30px}
 body .bedroom-spread{grid-template-columns:1.55fr .7fr;gap:0}
 body .bedroom-main img{aspect-ratio:1.2}
 body .bedroom-detail{margin-top:33px;margin-left:-12%}
 body .bedroom-detail img{aspect-ratio:.95}
 .house-page .palazzo-opening{padding-top:27px}
 .exclusive-spaces{width:calc(100% - 40px);padding-block:28px 32px;grid-template-columns:1fr 1fr;gap:17px 13px}
 .exclusive-spaces .exclusive-space-living{grid-column:1/-1;width:88%}
 .exclusive-spaces .exclusive-space-kitchen{margin-top:0}
 .exclusive-spaces .exclusive-space-terrace{margin-top:-23px}
 .exclusive-spaces .chapter-photo img{aspect-ratio:1.1}
 .exclusive-spaces .exclusive-space-living img{aspect-ratio:1.6}
 .exclusive-spaces>figure>figcaption{font-size:11px}
 body.exclusive-page .exclusive-inquiry{grid-template-columns:1fr;gap:25px;padding:38px 20px 48px}
 body.exclusive-page .exclusive-inquiry h2{font-size:40px;margin:15px 0 16px}
 body.exclusive-page .exclusive-inquiry .inquiry-intro p{font-size:14px;margin-bottom:12px}
 body.exclusive-page .exclusive-inquiry .inquiry-intro small{font-size:12px}
 body.exclusive-page .exclusive-inquiry form{padding:18px 16px;border-radius:20px;max-width:530px;justify-self:center}
 .inquiry-progress{gap:20px;padding-bottom:14px;margin-bottom:15px}
 .inquiry-progress li{font-size:11px;gap:6px}
 .inquiry-progress li>span{width:22px;height:22px;font-size:9px}
 .inquiry-step legend{font-size:25px;margin-bottom:12px}
 body.exclusive-page .exclusive-inquiry label{font-size:12px;margin-bottom:11px}
 body.exclusive-page .exclusive-inquiry .inquiry-row{gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}
 body.exclusive-page .exclusive-inquiry input[type=date]{padding-inline:8px;font-size:14px}
 body.exclusive-page .exclusive-inquiry .inquiry-people{grid-template-columns:minmax(0,1fr) 85px}
 .contact-hub{width:calc(100% - 40px);grid-template-columns:1fr;gap:32px;padding-block:37px 45px}
 .contact-welcome h2,.contact-location h2,.contact-page .faq h2{font-size:40px;line-height:1.1;margin:17px 0 20px}
 .contact-welcome>p{font-size:14px}
 .contact-channels{margin-top:22px}
 .contact-channels>a{min-height:77px;padding:15px 0;gap:12px;grid-template-columns:25px minmax(0,1fr) 15px}
 .contact-channels strong{font-size:14px}.contact-channels small{font-size:11px}
 .contact-portraits{max-width:460px;width:100%;justify-self:center;padding-bottom:28px}
 .contact-door{width:78%}.contact-door img{aspect-ratio:1}
 .contact-reception{width:43%;left:0}
 .contact-location{padding-block:38px 42px}
 .contact-location-grid{width:calc(100% - 40px);grid-template-columns:1fr;gap:28px}
 .contact-location address{font-size:16px;margin-bottom:17px}
 .contact-location-copy>p{font-size:14px;margin-bottom:21px}
 .contact-arrival-times{margin-top:24px;padding-top:15px}
 .contact-map{height:330px;border-radius:20px;padding:4px}
 .contact-map .map-labels{font-size:23px}
 .contact-page .faq{padding-block:40px 50px}
 .contact-page .faq-grid{width:calc(100% - 40px);grid-template-columns:1fr;gap:24px}
 .contact-page .faq h2{margin-bottom:16px}.contact-faq-note{max-width:40ch}
 .contact-page .faq summary{font-size:14px}
 .contact-page .faq details p{font-size:13px}
 .footer-payments{margin-top:28px;padding-top:22px;display:block}
 .footer-payments ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin-top:16px}
 .footer-payments li{font-size:11px}.footer-vat{margin:8px 0 0;display:block}
}
@media(prefers-reduced-motion:no-preference){
 .hero-drawing{animation:hero-ink-arrive .75s cubic-bezier(.2,.7,.3,1) both}
 @keyframes hero-ink-arrive{from{opacity:0;translate:0 8px}to{translate:0 0}}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.contact-channels>a{transition:background .2s}.contact-channels>a:hover{background:#103b7805}}
@media(prefers-reduced-transparency:reduce){.contact-map-pin{background:#f7f4ec;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.blue-hero,.contact-location{background:Canvas;color:CanvasText}.blue-hero:before,.hero-drawing{display:none}.blue-hero :is(h1 em,p,.eyebrow),.hero-room-facts{color:CanvasText}.footer-payments li,.footer-payments>span{color:CanvasText}}
/* Small complete photographic galleries; the bedroom has its larger spread above. */
body .room-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(150px,15vw,205px);gap:15px;max-width:1120px;margin-inline:auto}
body .room-gallery .gallery-item,body .room-gallery .gallery-item:first-child,body .room-gallery .gallery-item:nth-child(4):last-child{grid-column:auto;grid-row:auto;min-height:0}
.contact-door img{aspect-ratio:1.14}
@media(max-width:700px){body .room-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:10px}body .room-gallery .gallery-item,body .room-gallery .gallery-item:first-child{aspect-ratio:1.12}body .room-gallery .gallery-item:last-child:nth-child(odd){grid-column:span 2;aspect-ratio:1.8}.contact-door img{aspect-ratio:1.04}}
.house-page .palazzo-ground-pictures{gap:20px;padding-bottom:25px}
.house-page .palazzo-living-wide{grid-column:1/8;height:380px}
.house-page .palazzo-living-detail{grid-column:8/13;height:290px;padding:6px;border:1px solid #fff;border-radius:18px;background:var(--photo-glass);margin-bottom:-25px;box-shadow:0 8px 23px #103b7815}
.house-page .palazzo-living-detail>.chapter-photo{height:100%;border-radius:12px;overflow:hidden}
.house-page .palazzo-living-detail img{object-position:center}
.house-page .palazzo-living-detail .palazzo-photo-label{left:14px;bottom:15px;font-size:11px;padding:10px 14px}
body .footer-payments{max-width:1200px;margin-inline:auto}
body .exclusive-inquiry :is(input,select,textarea){scroll-margin-top:135px}
.home-page .fan-card-glass h4{font-size:13px;font-weight:500;letter-spacing:.06em;color:#536a70;margin:12px 0 8px}
.rooms-page .atlas-heading h2{margin-top:0}
.rooms-page .atlas-heading>p{font:500 14px/1.5 var(--sans);letter-spacing:.06em;color:#536a70}
@media(max-width:700px) and (max-height:620px){.blue-hero{padding-top:114px}.hero-drawing{opacity:.22}}

/* Light grain and room sketches occupy only the unused desktop margins. */
body .room-fan-section>.fan-margin-art{display:none}
@media(min-width:1201px){
 body .room-fan-section>.fan-margin-art{display:block;position:absolute;inset:0;z-index:0;pointer-events:none}
 .fan-margin-art img{position:absolute;top:65px;width:min(23vw,340px);height:auto;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1);opacity:.20}
 .fan-margin-petra{left:-2vw;transform:rotate(-7deg)}
 .fan-margin-fos{right:-2vw;transform:rotate(6deg)}
 body .fan-heading{margin-bottom:12px}
}
/* A selected-room preview belongs beside the decisions, rather than after them. */
body.home-page .stay-planner>.stay-mood{grid-column:1/-1;order:0;display:grid;grid-template-columns:82px minmax(0,1fr);gap:0;min-height:0;margin:0;border:1px solid #103b781c;border-radius:14px;background:#f5f5ee}
body.home-page .stay-planner>.stay-mood>img{height:100%;min-height:82px;width:82px;object-fit:cover}
body.home-page .stay-planner>.stay-mood .stay-mood-copy{position:static;max-width:none;width:auto;padding:12px 16px}
body.home-page .stay-planner>.stay-mood .overline{display:none}
body.home-page .stay-planner>.stay-mood h3{font-size:21px;line-height:1.2;margin:0 0 5px}
body.home-page .stay-planner>.stay-mood p{font-size:13px;line-height:1.5;margin:0}
body.home-page .stay-summary>small{text-align:left;font-size:12px;line-height:1.55;margin:0}
body.home-page .stay-summary #check-direct{border:0;background:transparent;box-shadow:none;text-decoration:underline;text-underline-offset:4px;padding:10px 4px;min-height:44px;border-radius:0}
body.home-page .family-note{padding:0;margin-top:18px;border:0;background:none;font-size:13px;line-height:1.6}
@media(min-width:901px){
 body.home-page .stay-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 20px;padding-top:12px}
 body.home-page .stay-summary>span{text-align:left;font-size:14px}
 body.home-page .stay-summary #check-booking{max-width:420px;justify-self:start}
 body.home-page .stay-summary #check-direct{justify-self:start;width:auto;text-align:left}
}
/* Wide exclusive-use album: five pages on desktop, three on smaller screens. */
body.exclusive-page .house-gallery{padding:40px 0 24px;background:var(--cream);color:var(--blue)}
body.exclusive-page .house-gallery::before{opacity:.10;mix-blend-mode:multiply}
body.exclusive-page .house-photo-caption{background:var(--glass-fill)}
@media(min-width:1100px){
 body.exclusive-page .house-gallery-viewport.is-ready{--page-height:clamp(420px,64svh,600px);--page-width:calc(var(--page-height)*.75);--page-spread:clamp(90px,calc((min(100vw,1880px) - var(--page-width))/4 - 65px),335px);max-width:1880px;width:100%;height:calc(var(--page-height) + 185px)}
 body.exclusive-page .house-gallery .gallery-turn-prev{left:2%}
 body.exclusive-page .house-gallery .gallery-turn-next{right:2%}
}
@media(forced-colors:active){body .room-fan-section::before,.fan-margin-art{display:none!important}body.exclusive-page .house-gallery{background:Canvas;color:CanvasText}body.home-page .stay-planner>.stay-mood{background:Canvas;border-color:CanvasText}}
@media(max-width:700px){.house-page .palazzo-ground-pictures{row-gap:16px;padding-bottom:0}.house-page .palazzo-living-wide{grid-column:1/13;grid-row:1;height:230px}.house-page .palazzo-living-detail{grid-column:3/13;grid-row:2;height:190px;margin-bottom:0;padding:4px;border-radius:16px}.house-page .palazzo-living-detail .palazzo-photo-label{top:auto;bottom:14px;left:12px;font-size:10px}}

/* A balanced desktop hero: drawing and text share a single visual centre. */
@media(min-width:1001px){
 body:is(.exclusive-page,.house-page,.contact-page) .blue-hero{min-height:clamp(570px,82svh,740px);padding:132px 0 42px}
 body:is(.exclusive-page,.house-page,.contact-page) .hero-layout{min-height:0;gap:4vw;align-items:center}
 body:is(.exclusive-page,.house-page,.contact-page) .hero-drawing{width:100%;margin:0;display:grid;place-items:center}
 body:is(.exclusive-page,.house-page,.contact-page) .hero-drawing img{max-height:clamp(360px,56svh,500px);object-fit:contain}
 body:is(.exclusive-page,.house-page,.contact-page) .blue-hero h1{font-size:clamp(56px,5.7vw,88px);margin:20px 0 24px}
 body:is(.exclusive-page,.house-page,.contact-page) .hero-copy>p{font-size:16px;line-height:1.65}
}
/* The real entrance illustration anchors the desktop stay composer. */
.stay-entrance-drawing{display:none}
@media(min-width:1100px){
 body.home-page .stay-section{padding:48px 5vw 38px}
 body.home-page .stay-top,body.home-page .availability-note,body.home-page .family-note{max-width:1280px}
 body.home-page .stay-top{display:block;margin-bottom:12px}
 body.home-page .stay-top .overline{display:block;max-width:none;margin-bottom:12px}
 body.home-page .stay-top h2{width:auto;margin:0;font-size:42px}
 body.home-page .availability-note{max-width:1280px;margin-bottom:24px;font-size:14px}
 body.home-page .stay-composer,body.planner-page .stay-composer{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;max-width:1280px;align-items:center;padding:0}
 body.home-page .stay-entrance-drawing{display:block;position:relative;margin:0 0 0 -4%;width:108%;mix-blend-mode:normal;pointer-events:none}
 .stay-entrance-drawing .ink-filter{position:absolute}
 .stay-entrance-drawing img{width:100%;height:auto;max-height:clamp(460px,68svh,620px);object-fit:contain;filter:none}
 body.home-page .stay-planner{grid-template-columns:minmax(0,1fr);padding:22px;gap:14px}
 body.home-page .stay-dates{grid-column:1;grid-row:auto;padding:10px 14px}
 body.home-page .stay-options{grid-column:1;grid-row:auto;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:18px;padding:0}
 body.home-page .stay-summary{grid-template-columns:minmax(0,1fr);gap:6px;padding-top:8px}
 body.home-page .stay-summary #check-booking{max-width:none;justify-self:stretch}
 body.home-page .stay-summary #check-direct{justify-self:center;text-align:center}
 body.home-page .calendar{max-width:none;padding:12px}
 body.home-page .calendar-months{gap:14px}
 body.home-page .family-note{text-align:right;margin-top:16px}
 /* On an open calendar, replace duplicate date fields with the explicit endpoints. */
 body.home-page .stay-composer:has(.calendar:not([hidden])) .stay-planner>.stay-dates{display:none}
 body.home-page .stay-composer:has(.calendar:not([hidden])) .stay-planner>.stay-mood{display:none}
 body.home-page .stay-composer:has(.calendar:not([hidden])) .stay-planner{gap:10px}
 body.home-page .calendar-endpoints{margin-bottom:10px}
 body.home-page .calendar-toolbar{margin-bottom:10px}
 body.home-page .calendar-bottom{margin-top:10px;padding-top:10px}
}
/* Portrait photographs keep the full-height book shape at every breakpoint. */
@media(min-width:1100px){
 body.home-page .house-gallery-viewport.is-ready{--page-height:clamp(420px,64svh,600px);--page-width:calc(var(--page-height)*.75);--page-spread:clamp(90px,calc((min(100vw,1880px) - var(--page-width))/4 - 65px),335px);max-width:1880px;width:100%;height:calc(var(--page-height) + 185px)}
 body.home-page .house-gallery .gallery-turn-prev{left:2%}
 body.home-page .house-gallery .gallery-turn-next{right:2%}
}
@media(max-width:1099px){
 body.exclusive-page .house-gallery-viewport.is-ready{--page-width:min(60vw,390px);--page-height:calc(var(--page-width)*4/3);height:calc(var(--page-height) + 155px)}
}
@media(max-width:700px){
 body.exclusive-page .house-gallery-viewport.is-ready{--page-width:78vw;--page-height:calc(var(--page-width)*4/3);height:calc(var(--page-height) + 155px)}
}
/* Five useful answers, with native keyboard and touch disclosure controls. */
.exclusive-faq{background:#f7f4ec;padding:64px 0 70px;border-top:1px solid #103b7818}
.exclusive-faq .faq-grid{max-width:1240px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:8%}
.exclusive-faq h2{font-size:clamp(38px,4vw,58px);line-height:1.1;margin:18px 0;color:var(--blue)}
.exclusive-faq .faq-intro{font-size:15px;line-height:1.7;max-width:32ch;color:#536a70}
.exclusive-faq details{padding:0;border-top:1px solid #103b7828}
.exclusive-faq details:last-child{border-bottom:1px solid #103b7828}
.exclusive-faq summary{font:500 16px/1.5 var(--sans);min-height:56px;padding:18px 25px 18px 0;color:var(--blue);cursor:pointer}
.exclusive-faq details p{font-size:14px;line-height:1.75;padding:0 0 20px;margin:0;color:#536a70;max-width:65ch}
.exclusive-faq summary:focus-visible{outline:3px solid #a77e49;outline-offset:3px}
@media(max-width:800px){.exclusive-faq{padding:42px 0 48px}.exclusive-faq .faq-grid{grid-template-columns:1fr;gap:24px}.exclusive-faq h2{font-size:40px}.exclusive-faq summary{font-size:15px}.exclusive-faq .faq-intro{max-width:44ch}}
@media(forced-colors:active){.stay-entrance-drawing{display:none!important}.exclusive-faq{background:Canvas}.exclusive-faq :is(h2,p,summary){color:CanvasText}}

/* The calendar occupies a real grid slot, with the illustration reserving its height. */
body.home-page .stay-calendar-slot{min-width:0}
@media(min-width:1100px){
 body.home-page .stay-calendar-slot{display:grid;grid-column:1;grid-row:1;align-items:center}
 body.home-page .stay-calendar-slot>.stay-entrance-drawing,body.home-page .stay-calendar-slot>.calendar{grid-area:1/1}
 body.home-page .stay-composer:has(.calendar:not([hidden])) .stay-entrance-drawing{visibility:hidden}
 body.home-page .stay-calendar-slot>.calendar{position:relative;inset:auto;transform:none;width:100%;margin:0;max-width:none;align-self:center}
 body.home-page .stay-composer>.stay-planner{grid-column:2;grid-row:1}
 body.home-page .calendar-endpoints button{min-height:48px}
}
@media(max-width:1099px){
 body.home-page .stay-calendar-slot{display:none}
 body.home-page .stay-composer,body.planner-page .stay-composer{display:block}
 body.home-page .stay-planner{grid-column:auto}
}

/* Rooms, palace, contacts and exclusive use share the full-height desktop opening. */
@media(min-width:1001px){
 body:is(.rooms-page,.house-page,.contact-page,.exclusive-page) .blue-hero{min-height:100svh;padding:132px 0 40px}
 body:is(.rooms-page,.house-page,.contact-page,.exclusive-page) .blue-hero .hero-layout{width:min(1600px,calc(100% - 14vw));min-height:0;align-items:center;gap:4vw}
 body:is(.rooms-page,.house-page,.contact-page,.exclusive-page) .blue-hero h1{font-size:clamp(64px,6.6vw,112px);line-height:1.04;margin:22px 0 28px}
 body:is(.rooms-page,.house-page,.contact-page,.exclusive-page) .blue-hero .hero-copy>p{font-size:clamp(17px,1.25vw,19px);line-height:1.7;max-width:46ch}
 body:is(.rooms-page,.house-page,.contact-page,.exclusive-page) .blue-hero .hero-drawing{width:112%;margin:0 0 0 -4%;display:grid;place-items:center}
 body:is(.rooms-page,.house-page,.contact-page,.exclusive-page) .blue-hero .hero-drawing img{width:100%;height:auto;max-height:min(810px,calc(100svh - 190px));object-fit:contain}
}

/* A larger vertical hit area without forcing the seven-column calendar wider. */
body .calendar-days button{height:44px;min-height:44px;line-height:1.2}

/* Shared registration details and a quiet closing design credit. */
.footer-cin{display:block;margin-top:8px;white-space:nowrap}
body .footer-credit{max-width:1200px;margin:16px auto 0;text-align:right;font:400 12px/1.5 var(--sans);color:#e8e7e2}
.footer-credit a{display:inline-flex;align-items:center;min-height:44px;color:var(--cream);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#e0d2b780}
.footer-credit a:focus-visible{outline:2px solid #e0d2b7;outline-offset:5px}
@media(max-width:700px){body .footer-credit{text-align:left;margin-top:12px}}

/* Compact native breadcrumbs: outside the full-screen hero and booking UI. */
.seo-breadcrumb{color:var(--blue,#103b78);background:#f7f4ec;padding:14px max(24px,calc((100vw - 1200px)/2));font-size:13px;line-height:1.5}
.seo-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;list-style:none;margin:0;padding:0}
.seo-breadcrumb li{display:flex;align-items:center;gap:12px}
.seo-breadcrumb li+li:before{content:'›';opacity:.5}
.seo-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;text-underline-offset:4px}
.seo-breadcrumb a:hover{text-decoration:underline}
.seo-breadcrumb a:focus-visible{outline:2px solid #103b78;outline-offset:4px;border-radius:3px}
.seo-breadcrumb [aria-current]{opacity:.7}
@media(max-width:600px){.seo-breadcrumb{padding:8px 20px;font-size:12px}.seo-breadcrumb ol{gap:3px 8px}.seo-breadcrumb li{gap:8px}}

/* One persistent contact action, clear of the booking dock and mobile safe areas. */
.whatsapp-float{position:fixed;z-index:46;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(28px + env(safe-area-inset-bottom,0px));display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#168c4a;color:#fff;border:1px solid #ffffffb3;box-shadow:0 5px 18px #12332430,inset 0 1px 1px #ffffff38;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.whatsapp-float[hidden]{display:none!important}
.whatsapp-float svg{display:block;width:30px;height:30px;flex-shrink:0;pointer-events:none}
.whatsapp-float{pointer-events:auto;isolation:isolate;z-index:60}
.whatsapp-recovery{width:min(400px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:38px 28px 24px;border:1px solid #ffffffbd;border-radius:28px;background:#f7f4ec;color:#103b78;box-shadow:0 20px 80px #06183150;overflow:auto}
.whatsapp-recovery::backdrop{background:#071b3980;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.whatsapp-recovery h2{font-size:30px;line-height:1.15;letter-spacing:-.025em;padding-right:15px}
.whatsapp-recovery p{margin:16px 0;font-size:14px;line-height:1.6}
.whatsapp-recovery .button{display:flex;justify-content:center;border-radius:99px;margin:22px 0 18px;background:#103b78;color:#fff}
.whatsapp-recovery [hidden]{display:none!important}
.whatsapp-recovery .text-link{font-size:14px;gap:10px;margin-bottom:18px}
.whatsapp-recovery [data-wa-copy]{display:block;background:transparent;color:inherit;border:0;padding:8px 0;text-decoration:underline;font-size:14px}
.whatsapp-recovery .wa-close{position:absolute;right:16px;top:10px;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:28px;line-height:1}
.whatsapp-recovery [data-wa-status]{min-height:1.5em;margin:4px 0 0}
.whatsapp-float:focus-visible{outline:3px solid #103b78;outline-offset:4px;box-shadow:0 0 0 7px #f7f4ec,0 6px 20px #12332430}
.booking-dock:not([hidden])+.whatsapp-float{bottom:calc(108px + env(safe-area-inset-bottom,0px))}
@media(max-width:700px){
 .whatsapp-float,.booking-dock:not([hidden])+.whatsapp-float{width:58px;height:58px;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(104px + env(safe-area-inset-bottom,0px))}
}
@media(hover:hover) and (pointer:fine){.whatsapp-float:hover{background:#11763e}}
@media(prefers-reduced-motion:no-preference){.whatsapp-float{transition:background .18s ease}}
@media(forced-colors:active){.whatsapp-float{background:ButtonFace;color:ButtonText;border:2px solid ButtonText;box-shadow:none}}

/* No opacity gates: every text, image and action is present before JS and on failure. */
@media(prefers-reduced-motion:no-preference){
 .scene-ink-frame{animation:none!important}
 .scene-ink{translate:0 var(--scene-y,0px)}
 .scene-ink.scene-active{will-change:translate}
 .scene-sketch{translate:var(--scene-x,0px) var(--scene-y,0px);rotate:var(--scene-angle,0deg)}
 .scene-photo{translate:0 var(--scene-y,0px);scale:var(--scene-scale,1);transform-origin:center}
 .scene-photo-frame{overflow:hidden}
 .scene-book{translate:0 var(--scene-y,0px)}
 .scene-sketch.scene-active{will-change:translate,rotate}
 .scene-photo.scene-active{will-change:translate,scale}
 .scene-book.scene-active{will-change:translate}
}
@media(prefers-reduced-motion:reduce){
 .scene-ink,.scene-sketch,.scene-photo,.scene-book{translate:none!important;rotate:none!important;scale:none!important;will-change:auto!important}
}

/* The catalogue closes with a photographic comparison and the shared living room. */
body.rooms-page .room-comparison-band{position:relative;isolation:isolate;background:var(--blue);border:0;color:var(--cream)}
body.rooms-page .room-comparison-band::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--hero-grain);background-size:160px 160px;opacity:.48;mix-blend-mode:soft-light}
body.rooms-page .room-comparison{display:block;max-width:1140px;padding:52px 0 60px;scroll-margin-top:115px}
body.rooms-page .comparison-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:40px;align-items:end;margin:0 0 32px}
body.rooms-page .comparison-heading .eyebrow{color:#d4dccf}
body.rooms-page .comparison-heading h2{font:400 clamp(38px,3.6vw,52px)/1.1 var(--serif);letter-spacing:-.03em;color:var(--cream);margin:14px 0 0}
body.rooms-page .comparison-heading h2 em{color:var(--hero-accent)}
body.rooms-page .comparison-heading p{font:400 15px/1.7 var(--sans);max-width:42ch;margin:0 0 2px;color:#e0e6ea}
body.rooms-page .comparison-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
body.rooms-page .comparison-room{position:relative;display:block;min-width:0;padding:7px;margin:0;gap:0;border:1px solid #ffffff66;border-radius:28px;background:linear-gradient(140deg,#ffffff27,#ffffff0a);box-shadow:inset 0 1px 2px #ffffff8a,0 14px 28px #001b431c;color:var(--blue);text-decoration:none}
body.rooms-page .comparison-xylo{margin-top:22px}
body.rooms-page .comparison-visual{border-radius:21px;overflow:hidden;background:#e0d2b7}
body.rooms-page .comparison-visual .chapter-photo{margin:0;padding:0;border:0;box-shadow:none;background:none;border-radius:0}
body.rooms-page .comparison-visual img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 40%;transition:transform .35s ease}
body.rooms-page .comparison-petra .comparison-visual img{object-position:50% 55%}
body.rooms-page .comparison-xylo .comparison-visual img{object-position:60% 45%}
body.rooms-page .comparison-fos .comparison-visual img{object-position:48% 50%}
body.rooms-page .comparison-copy{position:absolute;inset:auto 19px 19px;display:grid;gap:7px;min-width:0;padding:18px 19px;border:1px solid #ffffffd9;border-radius:19px;background:linear-gradient(125deg,#f7f4eced,#edf2efdc);box-shadow:inset 0 1px 2px #fff,0 5px 15px #001b430c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.rooms-page .comparison-copy>*{grid-area:auto}
body.rooms-page .comparison-name{display:block;font:400 clamp(32px,3vw,43px)/1.05 var(--serif);letter-spacing:-.025em}
body.rooms-page .comparison-floor{font-size:12px;line-height:1.5;color:#536a70}
body.rooms-page .comparison-data{display:flex;flex-wrap:wrap;gap:8px 17px;padding-top:10px;border-top:1px solid #103b781f;font:500 13px/1.5 var(--sans);color:var(--blue)}
body.rooms-page .comparison-character{font:400 13px/1.5 var(--sans);color:#435d66}
body.rooms-page .comparison-arrow{position:absolute;grid-area:auto;top:20px;right:20px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #ffffffea;background:var(--glass-fill);box-shadow:var(--glass-shadow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--blue);font-size:23px;transition:transform .2s ease}
body.rooms-page .comparison-room:focus-visible{outline:3px solid var(--cream);outline-offset:6px}
body.rooms-page .room-essentials{position:relative;isolation:isolate;background:var(--cream);padding:65px 0 48px}
body.rooms-page .room-essentials::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--hero-grain);background-size:160px 160px;opacity:.09;mix-blend-mode:multiply}
body.rooms-page .essentials-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;max-width:1140px;margin-inline:auto}
body.rooms-page .essentials-photo{position:relative;min-width:0;padding:7px;border-radius:32px;border:1px solid #fff;background:var(--photo-glass);box-shadow:inset 0 1px 2px #fff,0 10px 28px #103b7810}
body.rooms-page .essentials-photo .chapter-photo{margin:0;padding:0;border:0;border-radius:25px;background:none;box-shadow:none;overflow:hidden}
body.rooms-page .essentials-photo img{width:100%;height:auto;aspect-ratio:1/1.12;object-fit:cover;object-position:50% 50%;display:block}
body.rooms-page .essentials-photo-caption{position:absolute;left:23px;bottom:23px;max-width:calc(100% - 46px);padding:13px 20px;border:1px solid #fff;border-radius:99px;background:var(--glass-fill);box-shadow:var(--glass-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--blue);font:400 13px/1.4 var(--sans)}
body.rooms-page .essentials-note{min-width:0;border:0;padding:0}
body.rooms-page .essentials-note h2{font:400 clamp(35px,3.2vw,48px)/1.12 var(--serif);letter-spacing:-.025em;color:var(--blue);margin:15px 0 28px}
body.rooms-page .essentials-note h2 em{color:#617d7d}
body.rooms-page .essentials-features>.eyebrow{font-size:10px;letter-spacing:.13em;color:#617d7d}
body.rooms-page .essentials-features ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;list-style:none;padding:0;margin:18px 0 27px}
body.rooms-page .essentials-features li{display:flex;flex-direction:column;gap:10px;max-width:none;min-width:0;font:400 13px/1.5 var(--sans);color:var(--blue)}
body.rooms-page .essentials-features svg{width:27px;height:27px}
body.rooms-page .essentials-shared{display:grid;gap:18px;border-top:1px solid #103b7825;padding-top:22px}
body.rooms-page .essentials-shared h3{font:500 14px/1.5 var(--sans);color:var(--blue);margin:0 0 6px}
body.rooms-page .essentials-shared p{font:400 14px/1.7 var(--sans);color:#536a70;margin:0;max-width:51ch}
body.rooms-page .essentials-access{display:flex;align-items:center;gap:15px;max-width:1140px;margin:32px auto 0;padding:19px 23px;border:1px solid #ffffffef;border-radius:20px;background:linear-gradient(120deg,#e3eae4aa,#eef1eacc);box-shadow:inset 0 1px 1px #fff}
body.rooms-page .essentials-access svg{width:24px;height:24px;flex:none;color:var(--blue)}
body.rooms-page .essentials-access p{font:400 13px/1.65 var(--sans);margin:0;color:#435d66}
@media(hover:hover) and (pointer:fine){body.rooms-page .comparison-room:hover .comparison-visual img{transform:scale(1.025)}body.rooms-page .comparison-room:hover .comparison-arrow{transform:translateY(-3px)}}
@media(max-width:1050px){
 body.rooms-page .comparison-list{gap:15px}
 body.rooms-page .comparison-copy{inset:auto 14px 14px;padding:15px 14px;gap:6px}
 body.rooms-page .comparison-name{font-size:34px}
 body.rooms-page .comparison-data{gap:8px 12px}
 body.rooms-page .comparison-character{font-size:14px}
 body.rooms-page .essentials-photo img{aspect-ratio:1/1.3}
}
@media(max-width:900px){
 body.rooms-page .room-comparison{padding:38px 0 43px;scroll-margin-top:100px}
 body.rooms-page .comparison-heading{display:block;margin-bottom:25px}
 body.rooms-page .comparison-heading h2{font-size:clamp(35px,9vw,45px);margin-top:14px}
 body.rooms-page .comparison-heading p{font-size:14px;line-height:1.65;margin-top:18px;max-width:44ch}
 body.rooms-page .comparison-list{grid-template-columns:1fr;gap:14px}
 body.rooms-page .comparison-room{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;padding:6px;border-radius:23px}
 body.rooms-page .comparison-xylo{margin-top:0}
 body.rooms-page .comparison-visual{border-radius:17px}
 body.rooms-page .comparison-visual img{height:clamp(180px,27vw,225px);aspect-ratio:auto}
 body.rooms-page .comparison-copy{position:static;border:0;box-shadow:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;padding:16px 15px;color:var(--cream);gap:7px}
 body.rooms-page .comparison-name{font-size:35px;padding-right:26px}
 body.rooms-page .comparison-floor{color:#e0d2b7;font-size:13px}
 body.rooms-page .comparison-data{padding-top:8px;border-color:#ffffff30;color:var(--cream);font-size:14px;gap:5px 13px}
 body.rooms-page .comparison-character{font-size:14px;color:#e0e6ea}
 body.rooms-page .comparison-arrow{top:13px;right:13px;width:28px;height:28px;font-size:18px;box-shadow:none}
 body.rooms-page .room-essentials{padding:38px 0}
 body.rooms-page .essentials-inner{grid-template-columns:1fr;gap:27px}
 body.rooms-page .essentials-photo{padding:6px;border-radius:25px}
 body.rooms-page .essentials-photo .chapter-photo{border-radius:19px}
 body.rooms-page .essentials-photo img{aspect-ratio:1.35;object-position:50% 70%}
 body.rooms-page .essentials-photo-caption{left:18px;bottom:18px;padding:10px 16px;font-size:12px}
 body.rooms-page .essentials-note h2{font-size:clamp(33px,8.7vw,43px);margin:14px 0 25px}
 body.rooms-page .essentials-features ul{gap:15px;margin:17px 0 24px}
 body.rooms-page .essentials-features li{font-size:14px;line-height:1.55}
 body.rooms-page .essentials-shared{gap:18px;padding-top:20px}
 body.rooms-page .essentials-shared p{font-size:14px}
 body.rooms-page .essentials-access{margin-top:27px;padding:16px 17px;align-items:flex-start;border-radius:17px;gap:12px}
 body.rooms-page .essentials-access svg{width:21px;height:21px;margin-top:2px}
 body.rooms-page .essentials-access p{font-size:14px;line-height:1.7}
}
@media(max-width:380px){body.rooms-page .comparison-room{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}body.rooms-page .comparison-copy{padding:13px 12px}body.rooms-page .comparison-name{font-size:31px}body.rooms-page .comparison-character{font-size:14px}}
@media(prefers-reduced-motion:reduce){body.rooms-page .comparison-visual img,body.rooms-page .comparison-arrow{transition:none}}
@media(prefers-reduced-transparency:reduce){body.rooms-page .comparison-copy,body.rooms-page .comparison-arrow,body.rooms-page .essentials-photo-caption{background:var(--cream);backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body.rooms-page .comparison-copy{background:var(--cream)}@media(max-width:900px){body.rooms-page .comparison-copy{background:none}}}
@media(max-width:900px) and (prefers-reduced-transparency:reduce){body.rooms-page .comparison-copy{background:none}}
@media(forced-colors:active){
 body.rooms-page .room-comparison-band::before,body.rooms-page .room-essentials::before{display:none}
 body.rooms-page .comparison-room,body.rooms-page .comparison-copy,body.rooms-page .comparison-arrow,body.rooms-page .essentials-photo-caption,body.rooms-page .essentials-access{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
 body.rooms-page :is(.comparison-heading h2,.comparison-heading h2 em,.comparison-heading p,.comparison-heading .eyebrow,.comparison-floor,.comparison-data,.comparison-character){color:CanvasText}
 body.rooms-page .comparison-room:focus-visible{outline-color:Highlight}
}
