@font-face{font-family:Manrope;src:url('/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Manrope;src:url('/assets/manrope-latin-400-normal-PaqtzbVb.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-024F}
@font-face{font-family:Manrope;src:url('/assets/manrope-cyrillic-500-normal-B1OEZity.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Manrope;src:url('/assets/manrope-latin-500-normal-BYYD-dBL.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-024F}
@font-face{font-family:Manrope;src:url('/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Manrope;src:url('/assets/manrope-latin-600-normal-4f0koTD-.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-024F}
:root{--ink:#262524;--muted:#696765;--bg:#e9e7e5;--paper:#fff;--accent:#203d36;--accent-dark:#17312b;--line:rgba(38,37,36,.22);--shell:min(1160px,calc(100vw - 80px));--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg);overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{border:0;background:none;color:inherit;cursor:pointer}
.shell{width:var(--shell);margin-inline:auto}
.section{padding:105px 0}
section[id]{scroll-margin-top:84px}
.skip-link{position:fixed;top:-80px;left:20px;z-index:200;padding:12px 18px;background:#fff;color:#111}
.skip-link:focus{top:18px}
.site-header{position:absolute;inset:0 0 auto;z-index:80;height:96px;display:flex;align-items:center;padding:0 max(40px,calc((100vw - 1200px)/2));color:#fff;transition:height .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}
.site-header.is-scrolled{position:fixed;height:78px;background:rgba(255,255,255,.97);color:#111;box-shadow:0 5px 18px rgba(0,0,0,.11);backdrop-filter:blur(14px)}
.brand{position:relative;width:165px;height:54px;display:flex;align-items:center;flex:0 0 auto}
.brand img{position:absolute;inset:auto 0;width:100%;transition:opacity .2s ease}
.brand-dark{opacity:0}
.site-header.is-scrolled .brand-light{opacity:0}
.site-header.is-scrolled .brand-dark{opacity:1}
.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:29px;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.desktop-nav a,.desktop-nav button{position:relative;padding:12px 0;white-space:nowrap}
.desktop-nav a::after,.desktop-nav button::after{content:'';position:absolute;left:0;right:100%;bottom:5px;height:1px;background:currentColor;transition:right .2s ease}
.desktop-nav a:hover::after,.desktop-nav button:hover::after,.desktop-nav a:focus-visible::after,.desktop-nav button:focus-visible::after{right:0}
.menu-toggle{display:none;position:relative;margin-left:auto;width:42px;height:42px;color:currentColor}
.menu-toggle span{position:absolute;left:7px;width:28px;height:2px;background:currentColor;transition:transform .25s ease,top .25s ease,opacity .2s ease}
.menu-toggle span:nth-child(1){top:13px}.menu-toggle span:nth-child(2){top:20px}.menu-toggle span:nth-child(3){top:27px}
.menu-toggle[aria-expanded=true] span:nth-child(1){top:20px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){top:20px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:-1;padding:120px 24px 40px;background:#1d211f;color:#fff;display:flex;flex-direction:column;gap:0}
.mobile-menu[hidden]{display:none}
.mobile-menu a,.mobile-menu button{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:24px;text-align:left}
.mobile-menu button{margin-top:28px;padding:17px;border:1px solid rgba(255,255,255,.55);text-align:center;font-size:15px}
.hero{position:relative;height:900px;overflow:hidden;background:#1d211f;color:#fff;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-3}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:56% center;animation:heroDrift 18s ease-in-out infinite alternate}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,12,11,.44),rgba(10,12,11,.06) 55%,rgba(10,12,11,.28)),linear-gradient(180deg,rgba(0,0,0,.2),transparent 42%,rgba(0,0,0,.45))}
.hero-inner{height:100%;display:flex;align-items:center}
.hero-message{width:390px;margin-top:58px}
.hero-mark{width:220px;margin-bottom:27px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25))}
.hero-kicker{margin:0 0 16px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.hero h1{margin:0;font-size:22px;font-weight:500;line-height:1.35;letter-spacing:.01em;text-transform:uppercase}
.hero-subtitle{margin:14px 0 0;font-size:17px;line-height:1.55;color:rgba(255,255,255,.9)}
.hero-mobile-actions{display:none}
@keyframes heroDrift{from{transform:scale(1.01)}to{transform:scale(1.055)}}
.booking-section{position:relative;z-index:10;margin-top:-222px;padding-bottom:98px;pointer-events:none}
.booking-card{min-height:136px;padding:30px 26px;display:grid;grid-template-columns:185px 1fr;gap:28px;align-items:center;background:rgba(190,188,186,.9);backdrop-filter:blur(12px);pointer-events:auto}
.booking-intro h2{margin:0 0 8px;font-size:21px;font-weight:500;line-height:1.25}
.booking-intro p{margin:0;font-size:10px;line-height:1.45;color:rgba(38,37,36,.7)}
.booking-form{position:relative;display:grid;grid-template-columns:1fr 1fr 1.38fr 122px;gap:12px;align-items:stretch}
.booking-form label{min-height:58px;padding:10px 14px;display:flex;flex-direction:column;justify-content:center;background:#fff;border:1px solid rgba(38,37,36,.12);border-radius:4px}
.booking-form label span{margin-bottom:4px;font-size:9px;color:#5e5b59}
.booking-form input,.booking-form select{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:#111;font-size:14px}
.booking-form input:focus-visible,.booking-form select:focus-visible{box-shadow:0 2px 0 var(--accent)}
.booking-submit{border-radius:4px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;transition:background .2s ease,transform .2s ease}
.booking-submit:hover,.booking-submit:focus-visible{background:var(--accent-dark);transform:translateY(-1px)}
.booking-status{position:absolute;left:0;right:0;top:calc(100% + 8px);margin:0;font-size:11px;color:#272524}
.split-copy{display:grid;grid-template-columns:.9fr 1.1fr;gap:145px;align-items:start}
.split-title h2{margin:0 0 24px;font-size:29px;font-weight:500;line-height:1.2}
.split-title p{margin:0;font-size:12px;color:#777472}
.split-text{font-size:17px;line-height:1.75;color:#5f5c59}
.split-text p{margin:0 0 27px}
.split-text .lead{color:#45423f}
.about{padding-top:78px;background:var(--bg)}
.about-media{position:relative;margin-top:84px;overflow:hidden}
.about-media img{width:100%;height:610px;object-fit:cover}
.about-media figcaption{position:absolute;left:18px;bottom:16px;padding:7px 10px;background:rgba(255,255,255,.78);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.outline-actions{margin-top:66px;display:flex;justify-content:center;gap:20px}
.outline-actions a{min-width:165px;padding:16px 24px;border:1px solid #7c7976;text-align:center;font-size:13px;transition:background .2s,color .2s}
.outline-actions a:hover,.outline-actions a:focus-visible{background:#777472;color:#fff}
.section-head{text-align:center}
.section-head h2{margin:0;font-size:31px;font-weight:500;line-height:1.2}
.section-head p{max-width:620px;margin:18px auto 0;font-size:15px;line-height:1.7;color:#686563}
.scenarios{padding-top:62px;background:var(--bg)}
.scenario-track{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:52px}
.scenario-card{min-width:0;display:flex;flex-direction:column;background:#fff}
.scenario-card>img{width:100%;aspect-ratio:1/1.08;object-fit:cover}
.scenario-card>div{min-height:295px;padding:27px 30px 29px;display:flex;flex-direction:column}
.scenario-card h3{margin:0 0 13px;font-size:17px;font-weight:500;line-height:1.35}
.scenario-card p{margin:0;font-size:13px;line-height:1.75;color:#66625f}
.scenario-card a,.scenario-card button{margin-top:auto;padding:14px 17px;background:#8f8c89;color:#fff;text-align:center;font-size:12px;font-weight:600;box-shadow:0 8px 18px rgba(0,0,0,.08);transition:background .2s ease,transform .2s ease}
.scenario-card a:hover,.scenario-card button:hover,.scenario-card a:focus-visible,.scenario-card button:focus-visible{background:#73706d;transform:translateY(-1px)}
.ritual{background:var(--bg)}
.gallery-wrap{position:relative;margin-top:78px}
.gallery-controls{position:absolute;right:0;top:-64px;display:flex;gap:10px}
.gallery-controls button{width:40px;height:40px;border-radius:50%;background:#d8d5d2;font-size:30px;line-height:1;color:#3d3a38}
.gallery-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track figure{position:relative;flex:0 0 37%;height:550px;margin:0;overflow:hidden;scroll-snap-align:start;background:#d5d2cf}
.gallery-track figure.gallery-wide{flex-basis:70%}
.gallery-track img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.gallery-track figure:hover img{transform:scale(1.025)}
.gallery-track figcaption{position:absolute;left:18px;bottom:16px;padding:7px 10px;background:rgba(255,255,255,.84);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.houses{background:var(--bg)}
.house-track{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:58px}
.house-card{background:#fff}
.house-card>img{width:100%;height:430px;object-fit:cover}
.house-body{padding:30px 32px 32px}
.house-body>span{display:block;margin-bottom:12px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5f5b57}
.house-body h3{margin:0 0 24px;font-size:24px;font-weight:500}
.house-body dl{margin:0;border-top:1px solid var(--line)}
.house-body dl div{display:grid;grid-template-columns:95px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.5}
.house-body dt{color:#807c79}.house-body dd{margin:0;color:#393633}
.house-body button{width:100%;margin-top:25px;padding:15px 18px;background:#8f8c89;color:#fff;font-size:12px;font-weight:600;transition:background .2s ease}
.house-body button:hover,.house-body button:focus-visible{background:#73706d}
.honesty-note{margin-top:22px;font-size:11px;line-height:1.65;color:#5f5b57}
.place{background:var(--bg)}
.map-card{position:relative;height:520px;margin-top:75px;overflow:hidden;background:#dedcda;border:1px solid rgba(38,37,36,.1)}
.map-card::before{content:'';position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.5),transparent 44%),repeating-linear-gradient(0deg,transparent 0 62px,rgba(72,70,67,.045) 63px 64px)}
.map-water{position:absolute;left:-8%;right:-8%;top:55%;height:105px;border-top:1px solid rgba(64,95,91,.42);border-bottom:1px solid rgba(64,95,91,.25);transform:rotate(-7deg);background:linear-gradient(180deg,rgba(67,110,104,.08),rgba(67,110,104,.18),transparent)}
.map-road{position:absolute;left:21%;right:-10%;top:66%;height:2px;background:rgba(94,89,84,.26);transform:rotate(-12deg);box-shadow:0 18px 0 rgba(94,89,84,.12)}
.map-orbit{position:absolute;border:1px solid rgba(70,68,65,.12);border-radius:50%}
.map-orbit.one{width:760px;height:420px;left:10%;top:10%;transform:rotate(-13deg)}
.map-orbit.two{width:420px;height:300px;left:24%;top:27%;transform:rotate(11deg)}
.map-name,.map-river,.map-forest{position:absolute;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5f5b57}
.map-name{left:31%;top:41%;color:#252321}.map-river{right:19%;top:63%;transform:rotate(-7deg)}.map-forest{right:16%;top:24%}
.map-pin{position:absolute;left:26%;top:48%;width:22px;height:22px;border:2px solid #3e615c;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#fff;box-shadow:0 0 0 8px rgba(32,61,54,.08)}
.map-pin::after{content:'';position:absolute;width:5px;height:5px;left:6px;top:6px;border-radius:50%;background:#3e615c}
.details{background:var(--bg)}
.detail-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:74px}
.detail-cards article{background:#fff}
.detail-cards img{width:100%;height:360px;object-fit:cover}
.detail-cards article>div{padding:24px 26px 27px}
.detail-cards h3{margin:0 0 8px;font-size:17px;font-weight:500}
.detail-cards p{margin:0;font-size:13px;line-height:1.65;color:#696562}
.final-cta{padding:105px 0;background:#303432;color:#fff;text-align:center}
.final-cta p{margin:0 0 22px;font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.final-cta h2{margin:0;font-size:48px;font-weight:400;line-height:1.16}
.final-cta button{margin-top:38px;min-width:205px;padding:16px 24px;border:1px solid rgba(255,255,255,.72);color:#fff;font-size:13px;transition:background .2s,color .2s}
.final-cta button:hover,.final-cta button:focus-visible{background:#fff;color:#262524}
.site-footer{padding:82px 0 32px;background:#f4f3f1}
.footer-grid{display:grid;grid-template-columns:1.3fr .65fr .65fr .9fr;gap:70px;align-items:start}
.footer-brand{width:min(100%,270px);display:flex;flex-direction:column;align-items:center;color:#17332d;text-align:center}
.footer-brand img{display:block;width:100%;height:auto}
.footer-brand-descriptor{margin-top:12px;font-size:10px;font-weight:600;line-height:1;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap}
.footer-brand-tagline{margin-top:9px;font-size:10px;line-height:1;letter-spacing:.24em;text-transform:uppercase;color:#5f5b57;white-space:nowrap}
.footer-grid h3{margin:0 0 19px;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.footer-grid>div{display:flex;flex-direction:column;gap:11px;font-size:12px;color:#625f5c}
.footer-grid>div a:hover{color:#111}
.footer-grid>div p{margin:0;line-height:1.7}
.copyright{grid-column:1/-1;margin:54px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5f5b57}
.house-dialog{width:min(520px,calc(100% - 32px));padding:0;border:0;background:transparent;color:#282624}
.house-dialog::backdrop{background:rgba(22,22,21,.68);backdrop-filter:blur(6px)}
.house-dialog form{position:relative;padding:42px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.3)}
.dialog-close{position:absolute;right:14px;top:10px;width:40px;height:40px;font-size:29px;color:#5f5b57}
.house-dialog form>p:first-of-type{margin:0 0 12px;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#5f5b57}
.house-dialog h2{margin:0 0 20px;font-size:35px;font-weight:500}
.house-dialog form>p{font-size:13px;line-height:1.7;color:#66625f}
.dialog-note{padding-top:18px;border-top:1px solid var(--line)}
.dialog-action{width:100%;margin-top:18px;padding:15px;background:var(--accent);color:#fff;font-size:13px;font-weight:600}
.reveal,.reveal.is-visible{opacity:1;transform:none}
:focus-visible{outline:2px solid #4d746c;outline-offset:3px}
@media (max-width:1120px){
  :root{--shell:calc(100vw - 48px)}
  .site-header{padding-inline:24px}
  .desktop-nav{gap:20px;font-size:10px}
  .booking-card{grid-template-columns:155px 1fr;gap:18px}
  .booking-form{grid-template-columns:1fr 1fr 1.2fr 110px;gap:8px}
  .split-copy{gap:85px}
  .scenario-track{gap:20px}
  .scenario-card>div{padding:24px 22px}
  .house-track,.detail-cards{gap:24px}
  .footer-grid{gap:42px}
}
@media (max-width:900px){
  .desktop-nav{display:none}
  .menu-toggle{display:block}
  .booking-card{grid-template-columns:1fr;gap:20px}
  .booking-form{grid-template-columns:1fr 1fr 1fr 120px}
  .split-copy{grid-template-columns:1fr;gap:34px}
  .split-title h2{margin-bottom:11px}
  .split-text{max-width:720px}
  .scenario-track{grid-template-columns:repeat(2,1fr)}
  .house-track{grid-template-columns:1fr}
  .detail-cards{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.1fr 1fr 1fr}
  .footer-grid>div:last-of-type{grid-column:2/4}
}
@media (max-width:760px){
  :root{--shell:calc(100vw - 40px)}
  body{font-size:15px}
  .section{padding:78px 0}
  section[id]{scroll-margin-top:72px}
  .site-header{height:74px;padding-inline:20px}
  .site-header.is-scrolled{height:68px}
  .brand{width:155px;height:46px}
  .menu-toggle{display:block;width:38px;height:38px}
  .menu-toggle span{left:6px;width:26px}
  .mobile-menu{padding:104px 20px 34px}
  .mobile-menu a{font-size:23px}
  .hero{height:695px}
  .hero-media img{object-position:center center;animation:none}
  .hero-shade{background:linear-gradient(180deg,rgba(10,12,11,.22),rgba(10,12,11,.02) 40%,rgba(10,12,11,.7) 100%)}
  .hero-inner{align-items:flex-end}
  .hero-message{width:100%;margin:0;padding-bottom:28px}
  .hero-mark{width:165px;margin-bottom:18px}
  .hero-kicker{margin-bottom:10px;font-size:10px}
  .hero h1{font-size:23px;line-height:1.28}
  .hero-subtitle{margin-top:8px;font-size:15px;line-height:1.45}
  .hero-mobile-actions{margin-top:27px;display:grid;gap:12px}
  .hero-mobile-actions button,.hero-mobile-actions a{min-height:49px;padding:0 16px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.8);font-size:13px;font-weight:500;text-align:center}
  .hero-mobile-actions button{background:rgba(20,27,24,.2);backdrop-filter:blur(8px)}
}
@media (max-width:760px){
  .booking-section{margin-top:0;padding:39px 0 72px;background:var(--bg);pointer-events:auto}
  .booking-card{width:100%;min-height:0;padding:0 20px;display:block;background:transparent;backdrop-filter:none}
  .booking-intro h2{margin-bottom:7px;font-size:20px}
  .booking-intro p{font-size:10px}
  .booking-form{display:block;margin-top:27px}
  .booking-form label{min-height:55px;margin-bottom:12px;padding:9px 14px;border-color:rgba(38,37,36,.17)}
  .booking-form label span{font-size:9px}
  .booking-form input,.booking-form select{font-size:13px}
  .booking-submit{width:100%;min-height:53px;margin-top:11px;font-size:13px}
  .booking-status{position:static;margin:12px 0 0;font-size:11px;line-height:1.5}
  .split-title h2{font-size:26px;line-height:1.25}
  .split-title p{font-size:11px}
  .split-text{font-size:15px;line-height:1.7}
  .split-text p{margin-bottom:21px}
  .about{padding-top:74px}
  .about-media{margin-top:50px}
  .about-media img{height:278px}
  .about-media figcaption{left:10px;bottom:10px;font-size:8px}
  .outline-actions{width:var(--shell);margin:47px auto 0;display:grid;gap:12px}
  .outline-actions a{width:100%;padding:15px}
  .section-head{text-align:left}
  .section-head h2{font-size:27px}
  .section-head p{margin:13px 0 0;font-size:14px}
  .scenarios{padding-top:60px}
}
@media (max-width:760px){
  .scenario-track{width:100%;margin:38px 0 0;padding:0 20px 8px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;scrollbar-width:none}
  .scenario-track::-webkit-scrollbar,.gallery-track::-webkit-scrollbar,.house-track::-webkit-scrollbar,.detail-cards::-webkit-scrollbar{display:none}
  .scenario-card{flex:0 0 calc(100vw - 58px);scroll-snap-align:start}
  .scenario-card>img{aspect-ratio:1/1}
  .scenario-card>div{min-height:252px;padding:24px 22px}
  .scenario-card h3{font-size:18px}
  .scenario-card p{font-size:13px}
  .scenario-card a,.scenario-card button{padding:14px;font-size:12px}
  .gallery-wrap{width:100%;margin-top:54px}
  .gallery-controls{display:none}
  .gallery-track{width:100%;padding:0 20px 8px;gap:12px;scroll-padding-left:20px}
  .gallery-track figure,.gallery-track figure.gallery-wide{flex:0 0 calc(100vw - 58px);height:420px}
  .gallery-track figcaption{left:12px;bottom:12px;font-size:8px}
  .house-track{width:100%;margin:39px 0 0;padding:0 20px 8px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;scrollbar-width:none}
  .house-card{flex:0 0 calc(100vw - 58px);scroll-snap-align:start}
  .house-card>img{height:320px}
  .house-body{padding:25px 22px 26px}
  .house-body h3{font-size:22px}
  .honesty-note{font-size:10px}
  .map-card{height:330px;margin-top:52px}
  .map-orbit.one{width:420px;height:270px;left:-8%;top:8%}
  .map-orbit.two{width:260px;height:190px;left:12%;top:27%}
  .map-name{left:29%;top:41%}.map-pin{left:21%;top:48%}.map-river{right:9%;top:64%}.map-forest{right:8%;top:22%}
}
@media (max-width:760px){
  .detail-cards{width:100%;margin:49px 0 0;padding:0 20px 8px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;scrollbar-width:none}
  .detail-cards article{flex:0 0 calc(100vw - 58px);scroll-snap-align:start}
  .detail-cards img{height:325px}
  .detail-cards article>div{padding:23px 21px 25px}
  .final-cta{padding:76px 0}
  .final-cta h2{font-size:33px;line-height:1.2}
  .final-cta button{width:100%;max-width:310px;margin-top:31px;padding:15px}
  .site-footer{padding:66px 0 26px}
  .footer-grid{grid-template-columns:1fr;gap:34px}
  .footer-brand{width:min(100%,250px)}
  .footer-grid>div:last-of-type{grid-column:auto}
  .copyright{margin-top:18px}
  .house-dialog form{padding:35px 22px 24px}
  .house-dialog h2{font-size:30px}
}
@media (max-width:390px){
  .hero{height:670px}
  .hero-mark{width:155px}
  .hero h1{font-size:21px}
  .hero-subtitle{font-size:14px}
  .scenario-card,.gallery-track figure,.gallery-track figure.gallery-wide,.house-card,.detail-cards article{flex-basis:calc(100vw - 50px)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* MENU_FIX_AND_HELP_V2 */
.help{background:#fff}
.help .split-copy{padding-bottom:68px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;list-style:none;padding:28px 58px 28px 0;font-size:25px;font-weight:400;line-height:1.25;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:25px;font-weight:300;transition:transform .2s ease}
.faq-list details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-list details p{max-width:780px;margin:-4px 0 30px;font-size:14px;line-height:1.75;color:var(--muted)}

@media (max-width:900px){
  body.menu-open{overflow:hidden;overscroll-behavior:none;touch-action:none}
  body.menu-open .site-header{position:fixed;height:82px;background:#1d211f;color:#fff;box-shadow:none;backdrop-filter:none}
  body.menu-open .brand-light{opacity:1}
  body.menu-open .brand-dark{opacity:0}
  .brand,.menu-toggle{position:relative;z-index:3}
  .mobile-menu{inset:0;z-index:2;width:100vw;height:100dvh;min-height:100vh;padding:116px max(24px,calc((100vw - 720px)/2)) 30px;background:#1d211f;color:#fff;display:grid;grid-template-rows:1fr auto;gap:42px;overflow-y:auto;overscroll-behavior:contain}
  .mobile-menu[hidden]{display:none}
}
@media (max-width:900px){
  .mobile-menu-links{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.2)}
  .mobile-menu-links a{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2);text-align:left}
  .mobile-menu-links a span{font-size:9px;font-weight:600;letter-spacing:.16em;color:rgba(255,255,255,.46)}
  .mobile-menu-links a strong{font-size:clamp(30px,5.5vw,43px);font-weight:400;line-height:1.05}
  .mobile-menu-links a:hover strong,.mobile-menu-links a:focus-visible strong{transform:translateX(5px)}
  .mobile-menu-links a strong{transition:transform .2s ease}
  .mobile-menu-meta{display:grid;grid-template-columns:1fr auto;align-items:end;gap:22px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2)}
  .mobile-menu-meta p{margin:0;font-size:12px;line-height:1.7;color:rgba(255,255,255,.62)}
  .mobile-menu-meta button{min-width:220px;margin:0;padding:16px 22px;border:1px solid rgba(255,255,255,.55);font-size:13px;text-align:center}
  .mobile-menu-meta small{grid-column:1/-1;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4)}
  body.menu-open .menu-toggle{color:#fff}
  body.menu-open .menu-toggle:focus-visible{outline-color:#fff}
}

@media (max-width:760px){
  body.menu-open .site-header{height:74px}
  .mobile-menu{padding:96px 20px 24px;gap:28px}
  .mobile-menu-links a{grid-template-columns:34px 1fr;padding:17px 0}
  .mobile-menu-links a strong{font-size:34px}
  .mobile-menu-meta{grid-template-columns:1fr;gap:17px}
  .mobile-menu-meta button{width:100%;min-width:0}
  .help .split-copy{padding-bottom:45px}
  .faq-list summary{padding:22px 44px 22px 0;font-size:21px}
  .faq-list details p{margin-top:-2px;font-size:13px}
}
@media (max-width:900px){
  body.menu-open .site-header .brand-light{opacity:1}
  body.menu-open .site-header .brand-dark{opacity:0}
}

/* VILLAVILLE 2.1 — multipage layer */
.site-header.is-solid{position:fixed;height:78px;background:rgba(255,255,255,.97);color:#111;box-shadow:0 5px 18px rgba(0,0,0,.1);backdrop-filter:blur(14px)}
.site-header.is-solid .brand-light{opacity:0}
.site-header.is-solid .brand-dark{opacity:1}
.site-header.is-solid .menu-toggle:not([aria-expanded=true]){color:#111}
.site-header.is-solid .nav-book{border-color:rgba(38,37,36,.35)}
.brand{width:205px;height:32px}
.brand img{width:100%;height:auto;top:50%;transform:translateY(-50%)}
.desktop-nav a.is-active{opacity:.58}
.nav-book{padding:12px 16px;border:1px solid currentColor}
.hero-mark{width:260px}
.inner-main{padding-top:78px;background:var(--bg)}
.breadcrumbs{display:flex;gap:12px;padding-top:27px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5f5b57}
.breadcrumbs a::after{content:'·';margin-left:12px}
.page-kicker{margin:0 0 16px;font-size:10px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:#5f5b57}
.page-hero{position:relative;padding:74px 0 0;background:var(--bg)}
.page-hero-copy{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:end;padding-bottom:62px}
.page-hero-copy h1{margin:0;font-size:clamp(56px,6vw,92px);font-weight:400;line-height:.92;letter-spacing:-.04em}
.page-hero-copy>p:last-child{max-width:560px;margin:0;font-size:18px;line-height:1.75;color:#625f5c}
.page-hero-media{position:relative;width:var(--shell);height:min(62vw,690px);margin:0 auto;overflow:hidden;background:#1d211f}
.page-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.78)}
.page-hero-media figcaption,.house-detail-hero figcaption{position:absolute;left:24px;bottom:20px;padding:8px 10px;background:rgba(20,22,21,.62);color:#fff;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.page-section{padding:104px 0}
.page-section.compact-top{padding-top:28px}
.split-title>p{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#5f5b57}
.split-title h2,.section-head h2,.house-spec-layout h2,.map-copy h2{margin:0;font-size:clamp(44px,4.8vw,72px);font-weight:400;line-height:.94;letter-spacing:-.035em}
.comparison-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.comparison-grid div{min-height:132px;padding:26px 24px;border-right:1px solid var(--line)}
.comparison-grid div:last-child{border-right:0}
.comparison-grid span{display:block;margin-bottom:22px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5f5b57}
.comparison-grid strong{font-size:16px;font-weight:500;line-height:1.45}
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:52px}
.product-card{background:#fff}
.product-image{position:relative;display:block;height:470px;overflow:hidden;background:#1d211f}
.product-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.78);transition:transform .7s ease}
.product-card:hover .product-image img{transform:scale(1.025)}
.product-image span{position:absolute;left:20px;top:20px;padding:10px 13px;background:#fff;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.product-card>div{padding:28px 30px 32px}
.product-card h3{margin:0 0 15px;font-size:28px;font-weight:500}
.product-card p{min-height:52px;margin:0 0 25px;color:#696765;line-height:1.65}
.product-card>div>a{display:inline-block;padding-bottom:5px;border-bottom:1px solid #262524;font-size:12px;font-weight:600}
.page-cta{padding:92px 0;background:#203d36;color:#fff}
.page-cta>.shell{display:flex;align-items:flex-end;justify-content:space-between;gap:60px}
.page-cta p{margin:0 0 12px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.page-cta h2{max-width:780px;margin:0 0 15px;font-size:clamp(46px,5vw,76px);font-weight:400;line-height:.94}
.page-cta span{font-size:12px;color:rgba(255,255,255,.64)}
.page-cta a{min-width:190px;padding:16px 23px;border:1px solid rgba(255,255,255,.7);text-align:center;font-size:13px}
.house-detail-hero{position:relative;margin-top:34px}
.house-detail-hero figure{position:relative;height:min(70vw,760px);margin:0;overflow:hidden;background:#1d211f}
.house-detail-hero figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.74)}
.house-detail-title{position:absolute;left:50%;bottom:54px;transform:translateX(-50%);color:#fff}
.house-detail-title p{margin:0 0 12px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.house-detail-title h1{margin:0;font-size:clamp(58px,7vw,104px);font-weight:400;line-height:.9}
.house-detail-title span{display:inline-block;margin-top:20px;padding:9px 12px;border:1px solid rgba(255,255,255,.65);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.editorial-gallery{display:grid;grid-template-columns:1.5fr .75fr;grid-template-rows:repeat(2,270px);gap:18px;margin-top:48px}
.editorial-gallery figure{position:relative;margin:0;overflow:hidden;background:#1d211f}
.editorial-gallery .gallery-large{grid-row:1/3}
.editorial-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.8)}
.editorial-gallery figcaption{position:absolute;left:15px;bottom:13px;color:#fff;font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.house-spec-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:start}
.house-spec-layout>div>p:last-child{max-width:480px;color:#696765;line-height:1.7}
.spec-list{margin:0;border-top:1px solid var(--line)}
.spec-list div{display:grid;grid-template-columns:150px 1fr;padding:19px 0;border-bottom:1px solid var(--line)}
.spec-list dt{color:#5f5b57}.spec-list dd{margin:0}
.honesty-panel{padding:82px 0;background:#1d211f;color:#fff}
.honesty-panel.light{background:#dcd9d6;color:#262524}
.honesty-panel h2{max-width:940px;margin:0 0 20px;font-size:clamp(42px,4.6vw,70px);font-weight:400;line-height:.98}
.honesty-panel p:last-child{max-width:760px;margin:0;line-height:1.7;color:rgba(255,255,255,.68)}
.honesty-panel.light p:last-child{color:#625f5c}
.ritual-story-track{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ritual-story article{background:#fff}
.ritual-story img{width:100%;height:390px;object-fit:cover;filter:saturate(.78) brightness(.82)}
.ritual-story article>span{display:block;margin:25px 28px 16px;font-size:10px;letter-spacing:.14em;color:#5f5b57}
.ritual-story h3{margin:0 28px 12px;font-size:28px;font-weight:500}
.ritual-story article>p{min-height:78px;margin:0;padding:0 28px 30px;color:#696765;line-height:1.65}
.location-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.location-facts div{padding:25px;border-right:1px solid var(--line)}
.location-facts div:last-child{border-right:0}
.location-facts span{display:block;margin-bottom:19px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5f5b57}
.location-facts strong{font-size:16px;font-weight:500;line-height:1.45}
.map-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.map-layout .map-card{width:100%;min-height:530px;margin:0}
.map-copy p:not(.page-kicker){color:#696765;line-height:1.7}
.map-copy a{display:inline-block;margin-top:18px;padding-bottom:4px;border-bottom:1px solid currentColor;font-size:12px;font-weight:600}
.rules-page .faq{margin-top:0}
.rules-page .faq summary{font-size:27px}
.booking-page-head{padding:82px 0 50px}
.booking-page-head h1{margin:0 0 22px;font-size:clamp(62px,7vw,104px);font-weight:400;line-height:.9}
.booking-page-head>p:last-child{max-width:720px;margin:0;font-size:17px;line-height:1.75;color:#696765}
.booking-workspace{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;padding-bottom:80px}
.booking-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.booking-steps span{padding:17px;border-right:1px solid var(--line);font-size:11px;color:#5f5b57}
.booking-steps span:last-child{border-right:0}
.booking-steps .is-active{background:#203d36;color:#fff}
.booking-page-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:34px;background:#fff}
.booking-form-title{grid-column:1/-1;margin-bottom:8px}
.booking-form-title h2{margin:0 0 8px;font-size:34px;font-weight:500}
.booking-form-title p{margin:0;color:#5f5b57}
.booking-page-form>label{display:flex;flex-direction:column;gap:7px;padding:13px 14px;border:1px solid var(--line)}
.booking-page-form>label:nth-of-type(3){grid-column:1/-1}
.booking-page-form label span,.booking-house-options legend{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#5f5b57}
.booking-page-form input,.booking-page-form select{border:0;background:transparent;outline:0}
.booking-house-options{grid-column:1/-1;display:flex;gap:18px;margin:0;padding:17px;border:1px solid var(--line)}
.booking-house-options label{display:flex;align-items:center;gap:7px}
.booking-page-form .booking-submit{grid-column:1/-1;min-height:54px;margin:0;background:#203d36;color:#fff}
.booking-page-form .booking-status{grid-column:1/-1;position:static;margin:0;color:#8b342d}
.booking-summary{padding:34px;background:#dcd9d6;align-self:start;position:sticky;top:104px}
.booking-summary h2{margin:0 0 25px;font-size:32px;font-weight:500}
.booking-summary dl{margin:0;border-top:1px solid var(--line)}
.booking-summary dl div{display:grid;grid-template-columns:110px 1fr;padding:15px 0;border-bottom:1px solid var(--line)}
.booking-summary dt{color:#5f5b57}.booking-summary dd{margin:0}
.booking-summary>p:last-child{margin:24px 0 0;color:#696765;line-height:1.6}
.payment-roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:110px}
.payment-roadmap article{padding:28px;border-top:1px solid var(--line);background:#fff}
.payment-roadmap span{font-size:10px;letter-spacing:.13em;color:#5f5b57}
.payment-roadmap h3{margin:26px 0 12px;font-size:22px;font-weight:500}
.payment-roadmap p{margin:0;color:#696765;line-height:1.6}
@media(max-width:900px){
  .page-hero-copy,.house-spec-layout,.map-layout,.booking-workspace{grid-template-columns:1fr;gap:34px}
  .comparison-grid,.location-facts{grid-template-columns:repeat(2,1fr)}
  .comparison-grid div:nth-child(2),.location-facts div:nth-child(2){border-right:0}
  .comparison-grid div:nth-child(-n+2),.location-facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .product-image{height:400px}
  .ritual-story-track{grid-template-columns:1fr}
  .ritual-story article{display:grid;grid-template-columns:1fr 1fr;align-items:center}
  .ritual-story img{height:330px;grid-row:1/4}
  .booking-summary{position:static}
  .payment-roadmap{grid-template-columns:1fr}
}
@media(max-width:760px){
  .site-header.is-solid{height:68px}
  .brand{width:176px;height:26px}
  .hero-mark{width:190px}
  .inner-main{padding-top:68px}
  .breadcrumbs{padding-top:19px;font-size:9px}
  .page-hero{padding-top:48px}
  .page-hero-copy{display:block;padding-bottom:38px}
  .page-hero-copy h1{font-size:51px}
  .page-hero-copy>p:last-child{margin-top:22px;font-size:15px}
  .page-hero-media{width:100%;height:430px}
  .page-section{padding:72px 0}
  .split-title h2,.section-head h2,.house-spec-layout h2,.map-copy h2{font-size:44px}
  .comparison-grid,.location-facts{grid-template-columns:1fr}
  .comparison-grid div,.location-facts div{min-height:0;border-right:0!important;border-bottom:1px solid var(--line)!important}
  .comparison-grid div:last-child,.location-facts div:last-child{border-bottom:0!important}
  .product-grid{display:flex;width:100%;gap:12px;margin-top:38px;padding-left:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .product-grid::-webkit-scrollbar{display:none}
  .product-card{flex:0 0 calc(100vw - 52px);scroll-snap-align:start}
  .product-image{height:360px}
  .product-card>div{padding:24px 22px 28px}
  .page-cta{padding:72px 0}
  .page-cta>.shell{display:block}
  .page-cta h2{font-size:47px}
  .page-cta a{display:block;margin-top:32px}
  .house-detail-hero{margin-top:20px}
  .house-detail-hero figure{height:600px}
  .house-detail-title{bottom:34px}
  .house-detail-title h1{font-size:58px}
  .editorial-gallery{display:flex;width:100%;grid-template:none;margin-top:38px;padding-left:20px;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .editorial-gallery figure,.editorial-gallery .gallery-large{flex:0 0 calc(100vw - 52px);height:380px;grid-row:auto;scroll-snap-align:start}
  .spec-list div{grid-template-columns:105px 1fr;gap:12px;font-size:13px}
  .honesty-panel{padding:68px 0}
  .honesty-panel h2{font-size:43px}
  .ritual-story-track{display:flex;width:100%;gap:12px;padding-left:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .ritual-story article{display:block;flex:0 0 calc(100vw - 52px);scroll-snap-align:start}
  .ritual-story img{height:350px}
  .map-layout .map-card{min-height:380px}
  .rules-page .faq summary{font-size:24px}
  .booking-page-head{padding:60px 0 38px}
  .booking-page-head h1{font-size:58px}
  .booking-page-head>p:last-child{font-size:15px}
  .booking-steps{grid-template-columns:repeat(2,1fr)}
  .booking-steps span:nth-child(2){border-right:0}
  .booking-steps span:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .booking-page-form{grid-template-columns:1fr;padding:22px}
  .booking-form-title,.booking-page-form>label,.booking-page-form>label:nth-of-type(3),.booking-house-options,.booking-page-form .booking-submit,.booking-page-form .booking-status{grid-column:1}
  .booking-house-options{display:grid;gap:12px}
  .booking-summary{padding:25px}
  .payment-roadmap{padding-bottom:80px}
}
@media(max-width:430px){
  .page-hero-copy h1{font-size:47px}
  .page-hero-media{height:390px}
  .house-detail-hero figure{height:550px}
  .house-detail-title h1{font-size:53px}
}

.hero-brand-lockup{width:292px;margin-bottom:28px;text-align:center;color:#fff}
.hero-brand-lockup img{width:100%;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.24))}
.hero-brand-lockup span,.hero-brand-lockup small{display:block;font-size:8px;font-weight:600;letter-spacing:.38em;line-height:1.2;text-transform:uppercase}
.hero-brand-lockup span{margin-top:10px}
.hero-brand-lockup i{display:block;width:24px;height:1px;margin:9px auto;background:rgba(255,255,255,.78)}
.hero-brand-lockup small{font-size:7px;letter-spacing:.42em}
@media(max-width:760px){
  .hero-brand-lockup{width:205px;margin-bottom:19px}
  .hero-brand-lockup span{margin-top:7px;font-size:7px}
  .hero-brand-lockup i{margin:7px auto}
  .hero-brand-lockup small{font-size:6px}
}

/* V21.1 — text hierarchy and readability audit */
body{color:#262524;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.desktop-nav{font-size:12px;letter-spacing:.11em}
.desktop-nav a,.desktop-nav button{padding-block:13px}
.nav-book{font-size:11px}
.hero-brand-lockup{width:310px;margin-bottom:30px}
.hero-brand-lockup span{margin-top:11px;font-size:10px;letter-spacing:.24em}
.hero-brand-lockup small{font-size:9px;letter-spacing:.28em}
.hero-kicker{font-size:13px;letter-spacing:.11em}
.hero h1{font-size:25px;line-height:1.3}
.hero-subtitle{font-size:18px;line-height:1.5}
.booking-intro p{font-size:12px;color:#595653}
.booking-form label span{font-size:11px;line-height:1.2;color:#5f5b58}
.booking-form input,.booking-form select{font-size:15px}
.booking-status{font-size:12px}
.breadcrumbs{font-size:11px;line-height:1.4;color:#625e5b}
.page-kicker,.split-title>p{font-size:11px;line-height:1.4;color:#625e5b}
.page-hero{padding-top:58px}
.page-hero-copy{grid-template-columns:.88fr 1.12fr;grid-template-areas:"kicker copy" "title copy";gap:18px 8vw;align-items:start;padding-bottom:56px}
.page-hero-copy .page-kicker{grid-area:kicker;margin:0}
.page-hero-copy h1{grid-area:title;max-width:650px;font-size:clamp(52px,5.4vw,80px);line-height:.96;text-wrap:balance}
.page-hero-copy>p:last-child{grid-area:copy;align-self:center;max-width:520px;font-size:17px;line-height:1.65;color:#55514e}
.page-hero-media figcaption,.house-detail-hero figcaption{font-size:10px;line-height:1.35;letter-spacing:.1em}
.split-title h2,.section-head h2,.house-spec-layout h2,.map-copy h2{font-size:clamp(40px,4.15vw,62px);line-height:1;text-wrap:balance}
.split-text{color:#55514e}
.split-text .lead{color:#3f3c39}
.comparison-grid span,.location-facts span,.product-image span,.house-body>span,.payment-roadmap span{font-size:11px;color:#625e5b}
.product-card>div>a,.map-copy a{font-size:13px}
.honesty-note{font-size:12px;color:#625e5b}
.page-cta p{font-size:11px;line-height:1.4}
.page-cta h2{max-width:690px;font-size:clamp(42px,4.45vw,64px);line-height:1;text-wrap:balance}
.page-cta span{font-size:13px;line-height:1.55}
.page-cta a{font-size:14px}
.house-detail-hero figcaption{top:20px;bottom:auto;left:20px}
.house-detail-title p{font-size:11px;line-height:1.4}
.house-detail-title h1{max-width:1050px;font-size:clamp(56px,6.4vw,92px);line-height:.94;text-wrap:balance}
.house-detail-title span{font-size:11px;line-height:1.35}
.editorial-gallery figcaption{font-size:10px;line-height:1.35}
.ritual-story article>span{font-size:11px;color:#625e5b}
.ritual-story article>p{font-size:15px;color:#595653}
.map-name,.map-river,.map-forest{font-size:11px;color:#625e5b}
.rules-page .faq summary{font-size:28px;line-height:1.15}
.rules-page .faq details p{max-width:760px;font-size:16px;line-height:1.65;color:#55514e}
.honesty-panel p:last-child{font-size:16px;line-height:1.65}
.booking-steps span{font-size:12px;font-weight:500;color:#625e5b}
.booking-page-form label span,.booking-house-options legend{font-size:11px;line-height:1.35;color:#625e5b}
.booking-page-form input,.booking-page-form select{font-size:16px}
.booking-form-title p,.booking-summary>p:last-child,.payment-roadmap p{font-size:15px;line-height:1.6;color:#595653}
.booking-summary dl div{font-size:15px;line-height:1.5}
.payment-roadmap h3{font-size:23px;line-height:1.25}
.footer-grid h3{font-size:12px;color:#4f4b48}
.footer-grid>div{font-size:13px;color:#595653}
.copyright{font-size:11px;color:#625e5b}
.about-media figcaption,.gallery-track figcaption{font-size:10px;line-height:1.35}
.scenario-card p,.detail-cards p{font-size:14px;color:#595653}
.scenario-card a,.scenario-card button,.house-body button{font-size:13px}
.booking-path{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin:34px 0 26px;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.booking-path li{min-height:108px;padding:22px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;border-right:1px solid var(--line);font-size:14px;line-height:1.35}
.booking-path li:last-child{border-right:0}
.booking-path li span{font-size:11px;letter-spacing:.12em;color:#625e5b}
.booking-path-panel h2{max-width:760px;font-size:clamp(40px,4vw,60px);text-wrap:balance}
.booking-path-panel>div>p:last-child{max-width:760px}
@media(max-width:1120px) and (min-width:901px){
  .desktop-nav{gap:18px;font-size:10.5px}
  .brand{width:190px}
}
@media(max-width:760px){
  .brand{width:184px;height:28px}
  .hero-brand-lockup{width:220px;margin-bottom:20px}
  .hero-brand-lockup span{margin-top:8px;font-size:9px;letter-spacing:.2em}
  .hero-brand-lockup small{font-size:8px;letter-spacing:.22em}
  .hero-kicker{font-size:11px;letter-spacing:.1em}
  .hero h1{font-size:24px;line-height:1.3}
  .hero-subtitle{font-size:16px;line-height:1.5}
}
@media(max-width:760px){
  .booking-intro p{font-size:12px;line-height:1.5}
  .booking-form label span{font-size:11px}
  .booking-form input,.booking-form select{font-size:16px}
  .booking-submit{font-size:14px}
  .breadcrumbs{font-size:10px;line-height:1.45}
  .page-kicker,.split-title>p{font-size:11px}
  .page-hero{padding-top:42px}
  .page-hero-copy{display:block;padding-bottom:34px}
  .page-hero-copy h1{max-width:350px;font-size:44px;line-height:.98}
  .page-hero-copy>p:last-child{margin-top:20px;font-size:16px;line-height:1.6}
  .page-hero-media figcaption,.house-detail-hero figcaption,.editorial-gallery figcaption{font-size:10px}
  .page-section{padding:66px 0}
  .split-title h2,.section-head h2,.house-spec-layout h2,.map-copy h2{font-size:40px;line-height:1.03}
  .split-text{font-size:16px;line-height:1.68}
  .page-cta{padding:64px 0}
  .page-cta h2{max-width:330px;font-size:40px;line-height:1.03}
  .page-cta span{display:block;max-width:310px;font-size:12px}
  .house-detail-hero figcaption{top:16px;bottom:auto;left:16px}
  .house-detail-title{bottom:30px}
  .house-detail-title p{font-size:10px}
  .house-detail-title h1{max-width:350px;font-size:49px;line-height:.96}
  .house-detail-title span{margin-top:16px;font-size:10px}
  .ritual-story article>p{font-size:14px}
  .rules-page .faq summary{font-size:24px;line-height:1.15}
  .rules-page .faq details p{font-size:15px;line-height:1.65}
  .honesty-panel h2{font-size:38px;line-height:1.04}
  .honesty-panel p:last-child{font-size:15px}
}
@media(max-width:760px){
  .booking-page-head{padding:52px 0 34px}
  .booking-page-head h1{font-size:52px;line-height:.96}
  .booking-page-head>p:last-child{font-size:16px;line-height:1.6}
  .booking-steps span{padding:15px;font-size:12px;line-height:1.35}
  .booking-form-title h2{font-size:30px;line-height:1.14}
  .booking-form-title p{font-size:14px}
  .booking-page-form label span,.booking-house-options legend{font-size:11px}
  .booking-summary h2{font-size:29px;line-height:1.15}
  .booking-summary dl div{grid-template-columns:92px 1fr;font-size:14px}
  .payment-roadmap span{font-size:11px}
  .payment-roadmap h3{font-size:22px}
  .payment-roadmap p{font-size:14px}
  .footer-grid h3{font-size:12px}
  .footer-grid>div{font-size:13px}
  .copyright{font-size:10px;line-height:1.5}
  .about-media figcaption,.gallery-track figcaption{font-size:10px}
  .booking-path{grid-template-columns:1fr;margin-top:28px}
  .booking-path li{min-height:0;padding:17px 0;flex-direction:row;justify-content:flex-start;align-items:center;gap:18px;border-right:0;border-bottom:1px solid var(--line);font-size:15px}
  .booking-path li:last-child{border-bottom:0}
  .booking-path li span{min-width:28px;font-size:11px}
  .booking-path-panel h2{font-size:38px}
}
@media(max-width:430px){
  .page-hero-copy h1{font-size:42px}
  .house-detail-title h1{font-size:46px}
  .page-cta h2{font-size:38px}
  .booking-page-head h1{font-size:49px}
}

/* V21.1.1 — remaining label and FAQ readability */
.hero-brand-lockup span{font-size:11px;letter-spacing:.21em}
.hero-brand-lockup small{font-size:10px;letter-spacing:.24em}
.page-kicker,.split-title>p{font-size:12px}
.page-cta p{font-size:12px}
.comparison-grid span,.location-facts span,.product-image span,.house-body>span,.payment-roadmap span{font-size:12px}
.page-hero-media figcaption,.house-detail-hero figcaption,.editorial-gallery figcaption,.about-media figcaption,.gallery-track figcaption{font-size:11px}
.map-name,.map-river,.map-forest{font-size:12px}
.spec-list div{grid-template-columns:145px 1fr;gap:22px}
.copyright{font-size:11px;line-height:1.5}
.rules-page .faq{border-top:1px solid var(--line)}
.rules-page .faq details{border-bottom:1px solid var(--line)}
.rules-page .faq summary{position:relative;list-style:none;padding:26px 58px 26px 0;cursor:pointer}
.rules-page .faq summary::-webkit-details-marker{display:none}
.rules-page .faq summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:26px;font-weight:300;transition:transform .2s ease}
.rules-page .faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.rules-page .faq details p{margin:-2px 0 28px}
.faq-list details p{font-size:15px;line-height:1.7;color:#55514e}
@media(max-width:760px){
  .hero-brand-lockup{width:226px}
  .hero-brand-lockup span{font-size:10px;letter-spacing:.18em}
  .hero-brand-lockup small{font-size:9px;letter-spacing:.2em}
  .hero-kicker{font-size:12px}
  .booking-form label span{font-size:12px}
  .breadcrumbs{font-size:11px}
  .page-kicker,.split-title>p{font-size:12px}
  .page-hero-media figcaption,.house-detail-hero figcaption,.editorial-gallery figcaption,.about-media figcaption,.gallery-track figcaption{font-size:11px}
  .comparison-grid span,.location-facts span,.product-image span,.house-body>span,.payment-roadmap span{font-size:12px}
  .map-name,.map-river,.map-forest{font-size:12px}
  .house-detail-title p,.house-detail-title span{font-size:11px}
  .spec-list div{grid-template-columns:105px 1fr;gap:18px}
  .page-cta p{font-size:12px}
  .rules-page .faq summary{padding:22px 46px 22px 0;font-size:24px;line-height:1.16}
  .rules-page .faq summary::after{font-size:24px}
  .rules-page .faq details p{margin:0 0 24px;font-size:15px}
  .faq-list summary{font-size:23px;line-height:1.18}
  .faq-list details p{font-size:15px;line-height:1.65}
  .booking-page-form label span,.booking-house-options legend{font-size:12px}
  .copyright{font-size:11px}
}

/* V21.1.2 — final text balance */
.page-hero-copy{grid-template-columns:1fr 1fr;gap:18px 6.5vw}
.location-page .page-hero-copy h1{font-size:clamp(50px,5vw,72px)}
.breadcrumbs a,.breadcrumbs span{font-size:12px}
.house-detail-title p,.house-detail-title span{font-size:12px}
.final-cta p{font-size:12px}
.copyright{font-size:12px}
@media(max-width:760px){
  .breadcrumbs a,.breadcrumbs span{font-size:11px}
  .house-detail-title p,.house-detail-title span{font-size:12px}
  .copyright{font-size:11px}
  .location-page .page-hero-copy h1{font-size:42px}
}

/* V21.1.3 — no illegible utility text */
.hero-brand-lockup span{font-size:12px}
.hero-brand-lockup small{font-size:11px}
@media(max-width:760px){
  .hero-brand-lockup span{font-size:11px}
  .hero-brand-lockup small{font-size:10px}
  .breadcrumbs,.breadcrumbs a,.breadcrumbs span{font-size:12px}
  .page-hero-media figcaption,.house-detail-hero figcaption,.editorial-gallery figcaption,.about-media figcaption,.gallery-track figcaption{font-size:12px}
  .copyright{font-size:12px}
}

/* V21.1.4 — shared multipage mobile menu */
@media(max-width:900px){
  .mobile-menu>nav{counter-reset:menu;display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.2)}
  .mobile-menu>nav>a{counter-increment:menu;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:clamp(30px,5.5vw,43px);font-weight:400;line-height:1.05;text-align:left;color:#fff}
  .mobile-menu>nav>a::before{content:counter(menu,decimal-leading-zero);font-size:10px;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.46)}
  .mobile-menu>nav>a.is-active{color:#b9d0ca}
  .mobile-menu>nav>a:hover,.mobile-menu>nav>a:focus-visible{transform:translateX(4px)}
  .mobile-menu-meta a{min-height:52px;padding:0 18px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.55);font-size:14px;font-weight:500;text-align:center;color:#fff}
  .mobile-menu-meta span{grid-column:1/-1;font-size:10px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.44)}
}
@media(max-width:760px){
  .mobile-menu>nav>a{grid-template-columns:34px 1fr;padding:17px 0;font-size:34px}
  .mobile-menu-meta a{width:100%;font-size:15px}
  .mobile-menu-meta span{font-size:10px}
}

/* Active navigation must look selected, not disabled */
.desktop-nav a.is-active{opacity:1}
.desktop-nav a.is-active::after{right:0}

/* VILLAVILLE 2.2 — account and checkout flow */
.desktop-nav{gap:24px}
.nav-book.is-active{background:#203d36;color:#fff;border-color:#203d36}
.flow-page,.account-page{min-height:100vh;background:var(--bg)}
.flow-head,.account-head{padding:76px 0 46px}
.flow-head h1,.account-head h1{max-width:920px;margin:0 0 22px;font-size:clamp(58px,6.5vw,96px);font-weight:400;line-height:.92;letter-spacing:-.04em;text-wrap:balance}
.flow-head>p:last-child,.account-head>p:last-child{max-width:760px;margin:0;font-size:17px;line-height:1.7;color:#5b5754}
.flow-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:28px;padding-bottom:84px}
.flow-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flow-steps span{min-height:64px;padding:17px 18px;display:flex;align-items:center;gap:12px;border-right:1px solid var(--line);font-size:13px;color:#676360}
.flow-steps span:last-child{border-right:0}
.flow-steps span b{font-size:11px;font-weight:600;color:#77736f}
.flow-steps span.is-active{background:#203d36;color:#fff}
.flow-steps span.is-active b{color:#c7d8d4}
.flow-card{padding:36px;background:#fff}
.flow-card-head{margin-bottom:28px}
.flow-card-head h2{margin:0 0 9px;font-size:34px;font-weight:500;line-height:1.15}
.flow-card-head p{margin:0;font-size:15px;line-height:1.6;color:#676360}
.flow-fields{display:grid;gap:14px}
.flow-fields.two-columns{grid-template-columns:repeat(2,1fr)}
.flow-field{display:flex;flex-direction:column;gap:8px;padding:14px 15px;border:1px solid var(--line);background:#fff}
.flow-field>span{font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:#6c6865}
.flow-field input,.flow-field select,.flow-field textarea{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#1f1e1d;font:inherit;font-size:16px;line-height:1.45;resize:vertical}
.flow-field input:focus-visible,.flow-field select:focus-visible,.flow-field textarea:focus-visible{box-shadow:0 2px 0 #4d746c}
.flow-field-wide{margin-top:14px}
.flow-check{display:flex;align-items:flex-start;gap:11px;margin:18px 0;font-size:14px;line-height:1.55;color:#514e4b}
.flow-check input{width:18px;height:18px;margin:2px 0 0;accent-color:#203d36;flex:0 0 auto}
.flow-check a{text-decoration:underline;text-underline-offset:3px}
.flow-primary,.flow-secondary{min-height:54px;padding:0 21px;display:flex;align-items:center;justify-content:center;gap:18px;text-align:center;font-size:14px;font-weight:600}
.flow-primary{background:#203d36;color:#fff}
.flow-primary:hover,.flow-primary:focus-visible{background:#17312b}
.flow-secondary{border:1px solid #787471;color:#262524;background:transparent}
.flow-secondary:hover,.flow-secondary:focus-visible{background:#262524;color:#fff}
.flow-status{margin:14px 0 0;font-size:13px;line-height:1.5;color:#8b342d}
.flow-summary{padding:34px;background:#dcd9d6;align-self:start;position:sticky;top:104px}
.flow-summary h2{margin:0 0 24px;font-size:31px;font-weight:500;line-height:1.16}
.flow-summary dl{margin:0;border-top:1px solid var(--line)}
.flow-summary dl div{display:grid;grid-template-columns:92px 1fr;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
.flow-summary dt{color:#77736f}.flow-summary dd{margin:0}
.flow-summary-note{margin:22px 0 0;font-size:13px;line-height:1.55;color:#676360}
.flow-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:105px}
.flow-trust article{padding:26px 28px;background:#fff;border-top:1px solid var(--line)}
.flow-trust article>span{font-size:11px;letter-spacing:.13em;color:#6c6865}
.flow-trust h3{margin:25px 0 10px;font-size:23px;font-weight:500;line-height:1.22}
.flow-trust p{margin:0;font-size:14px;line-height:1.6;color:#676360}
.house-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-content:start}
.house-choice{background:#fff;border:1px solid transparent;transition:border-color .2s ease,transform .2s ease}
.house-choice.is-selected{border-color:#203d36;transform:translateY(-2px)}
.house-choice img{width:100%;height:310px;object-fit:cover;filter:saturate(.8) brightness(.78)}
.house-choice>div{padding:25px 26px 28px}
.house-choice>div>span{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#6c6865}
.house-choice h2{margin:14px 0 12px;font-size:28px;font-weight:500;line-height:1.18}
.house-choice p{min-height:68px;margin:0 0 22px;font-size:14px;line-height:1.65;color:#676360}
.house-choice .flow-primary{width:100%}
.house-any{grid-column:1/-1;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--line);background:transparent;text-align:left}
.house-any strong{font-size:18px;font-weight:500}
.house-any span{max-width:430px;font-size:13px;line-height:1.5;color:#676360}
.house-any:hover,.house-any:focus-visible{border-color:#203d36;background:#f5f3f0}
.checkout-workspace{align-items:start}
.checkout-list{margin:0;border-top:1px solid var(--line)}
.checkout-list>div{display:grid;grid-template-columns:115px 1fr auto;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.checkout-list dt{color:#77736f}.checkout-list dd{margin:0;line-height:1.55}.checkout-list a{font-size:12px;text-decoration:underline;text-underline-offset:3px}.checkout-list span{font-size:12px;color:#77736f}
.checkout-confirm{margin-top:28px;padding-top:4px}
.payment-stage{padding:10px 0 110px}
.payment-demo-card{max-width:820px;margin:0 auto;padding:42px;background:#fff;box-shadow:0 22px 70px rgba(28,29,28,.1)}
.payment-provider-mark{display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;gap:2px 14px;align-items:center;margin-bottom:38px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.payment-provider-mark>span{grid-row:1/3;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#203d36;color:#fff;font-size:25px}
.payment-provider-mark strong{font-size:17px;letter-spacing:.08em}.payment-provider-mark small{font-size:12px;color:#77736f}
.payment-demo-copy h2{margin:0 0 14px;font-size:44px;font-weight:400;line-height:1.02}
.payment-demo-copy>p:last-child{max-width:650px;margin:0;font-size:16px;line-height:1.68;color:#5b5754}
.payment-order-summary{margin:34px 0;border-top:1px solid var(--line)}
.payment-order-summary>div{display:grid;grid-template-columns:130px 1fr;padding:16px 0;border-bottom:1px solid var(--line)}
.payment-order-summary dt{color:#77736f}.payment-order-summary dd{margin:0}
.payment-demo-card .flow-primary{width:100%}.payment-demo-card .flow-secondary{margin-top:12px;width:100%}
.success-panel{max-width:920px;padding:95px 0 120px;text-align:center}
.success-symbol{width:78px;height:78px;margin:0 auto 30px;display:grid;place-items:center;border-radius:50%;background:#203d36;color:#fff;font-size:38px}
.success-panel h1{margin:0 0 22px;font-size:clamp(58px,6vw,88px);font-weight:400;line-height:.94}
.success-panel>p:not(.page-kicker){max-width:690px;margin:0 auto;font-size:17px;line-height:1.7;color:#5b5754}
.success-summary{max-width:690px;margin:42px auto 0;border-top:1px solid var(--line);text-align:left}
.success-summary>div{display:grid;grid-template-columns:120px 1fr;padding:16px 0;border-bottom:1px solid var(--line)}
.success-summary dt{color:#77736f}.success-summary dd{margin:0}
.success-actions{display:flex;justify-content:center;gap:14px;margin-top:38px}
.success-actions .flow-primary,.success-actions .flow-secondary{min-width:220px}
.account-shell{padding-bottom:110px}
.account-gate{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:48px;background:#fff}
.account-gate h2{margin:0 0 15px;font-size:42px;font-weight:400;line-height:1.04}
.account-gate>div>p:last-child{max-width:500px;margin:0;font-size:15px;line-height:1.65;color:#676360}
.account-gate form{align-self:center}
.account-gate .flow-primary{width:100%;margin-top:14px}
.account-dashboard{display:grid;grid-template-columns:330px 1fr;gap:28px;align-items:start}
.account-profile-card{padding:32px;background:#203d36;color:#fff;position:sticky;top:104px}
.account-profile-card h2{margin:0 0 26px;font-size:34px;font-weight:400;line-height:1.1}
.account-profile-card .page-kicker{color:#bdd0cc}
.account-profile-card dl{margin:0 0 24px;border-top:1px solid rgba(255,255,255,.22)}
.account-profile-card dl div{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.account-profile-card dt{margin-bottom:5px;font-size:11px;color:rgba(255,255,255,.6)}
.account-profile-card dd{margin:0;overflow-wrap:anywhere}
.account-profile-card .flow-secondary{width:100%;border-color:rgba(255,255,255,.55);color:#fff}
.account-content{display:grid;gap:24px}
.account-draft,.account-bookings-section{padding:34px;background:#fff}
.account-draft h2,.account-section-head h2{margin:0 0 12px;font-size:34px;font-weight:400;line-height:1.12}
.account-draft>p:not(.page-kicker){margin:0 0 24px;color:#676360;line-height:1.65}
.account-draft .flow-primary{display:inline-flex}
.account-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.account-section-head>a{padding-bottom:4px;border-bottom:1px solid currentColor;font-size:13px}
.account-bookings{display:grid;gap:14px}
.account-booking-card{padding:22px;border:1px solid var(--line)}
.account-booking-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:16px}
.account-booking-top h3{margin:0;font-size:24px;font-weight:500}
.account-status{padding:7px 9px;background:#e6efec;color:#203d36;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.account-booking-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding-top:16px;border-top:1px solid var(--line)}
.account-booking-card dt{margin-bottom:5px;font-size:11px;color:#77736f}.account-booking-card dd{margin:0;font-size:14px;line-height:1.45}
.account-empty{margin:0;color:#676360;line-height:1.6}
.account-clear{justify-self:start;padding:0;border-bottom:1px solid currentColor;font-size:12px;color:#77736f}
@media(max-width:1120px) and (min-width:901px){.desktop-nav{gap:14px;font-size:10px}.nav-book{padding-inline:12px}}
@media(max-width:900px){
  .flow-workspace,.account-dashboard,.account-gate{grid-template-columns:1fr}
  .flow-summary,.account-profile-card{position:static}
  .house-choice-grid{grid-template-columns:1fr 1fr}
  .flow-trust{grid-template-columns:1fr}
  .account-profile-card{order:2}.account-content{order:1}
}
@media(max-width:760px){
  .flow-head,.account-head{padding:52px 0 34px}
  .flow-head h1,.account-head h1{font-size:49px;line-height:.96}
  .flow-head>p:last-child,.account-head>p:last-child{font-size:16px;line-height:1.6}
  .flow-workspace{gap:18px;padding-bottom:68px}
  .flow-steps{grid-template-columns:repeat(2,1fr)}
  .flow-steps span{min-height:56px;padding:14px;font-size:12px}
  .flow-steps span:nth-child(2){border-right:0}.flow-steps span:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .flow-card{padding:22px}
  .flow-card-head h2{font-size:29px}
  .flow-fields.two-columns{grid-template-columns:1fr}
  .flow-field{padding:13px 14px}.flow-field>span{font-size:11px}
  .flow-check{font-size:14px}
  .flow-summary{padding:24px}
  .flow-summary h2{font-size:28px}
  .flow-summary dl div{grid-template-columns:86px 1fr;font-size:14px}
  .flow-trust{padding-bottom:78px}
  .house-choice-grid{display:flex;width:100%;gap:12px;padding-left:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .house-choice-grid::-webkit-scrollbar{display:none}
  .house-choice{flex:0 0 calc(100vw - 52px);scroll-snap-align:start}
  .house-choice img{height:330px}
  .house-choice p{min-height:0}
  .house-any{flex:0 0 calc(100vw - 52px);grid-column:auto;display:block;padding:24px;scroll-snap-align:start;background:#fff}
  .house-any span{display:block;margin-top:12px}
  .checkout-list>div{grid-template-columns:82px 1fr;gap:10px 14px}
  .checkout-list a,.checkout-list span{grid-column:2}
  .payment-stage{padding-bottom:80px}
  .payment-demo-card{padding:24px}
  .payment-demo-copy h2{font-size:38px}
  .payment-order-summary>div{grid-template-columns:98px 1fr;gap:14px}
  .success-panel{padding:70px 0 90px}
  .success-panel h1{font-size:50px}
  .success-summary>div{grid-template-columns:90px 1fr}
  .success-actions{display:grid}
  .success-actions .flow-primary,.success-actions .flow-secondary{min-width:0;width:100%}
  .account-shell{padding-bottom:80px}
  .account-gate{gap:28px;padding:24px}
  .account-gate h2{font-size:36px}
  .account-dashboard{gap:18px}
  .account-profile-card,.account-draft,.account-bookings-section{padding:24px}
  .account-section-head{display:block}
  .account-section-head>a{display:inline-block;margin-top:10px}
  .account-booking-card dl{grid-template-columns:1fr}
}
@media(max-width:430px){
  .flow-head h1,.account-head h1{font-size:46px}
  .house-choice img{height:310px}
  .payment-demo-copy h2{font-size:35px}
  .success-panel h1{font-size:46px}
}

/* Explicit hidden states for the account UI */
.account-gate[hidden],.account-dashboard[hidden],.account-draft[hidden],.account-empty[hidden]{display:none!important}

/* VILLAVILLE 2.2.1 — client, marketing and visual polish */
.outline-actions{margin-top:46px}
.scenarios{padding-top:36px}
.scenario-card a,.scenario-card button{
  align-self:flex-start;width:auto;margin-top:auto;padding:13px 0 4px;
  border-bottom:1px solid currentColor;background:transparent;color:#262524;
  text-align:left;font-size:13px;font-weight:500;box-shadow:none
}
.scenario-card a:hover,.scenario-card button:hover,
.scenario-card a:focus-visible,.scenario-card button:focus-visible{
  background:transparent;color:#203d36;transform:none
}
.home-rules{padding:86px 0;background:#dcd9d6}
.home-rules-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:end;padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-rules-card h2{max-width:560px;margin:0;font-size:clamp(42px,4.5vw,66px);font-weight:400;line-height:.98;letter-spacing:-.035em;text-wrap:balance}
.home-rules-card>div:last-child p{max-width:600px;margin:0 0 24px;font-size:16px;line-height:1.7;color:#55514e}
.home-rules-card a{display:inline-block;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:14px;font-weight:600}
.flow-summary h2{max-width:320px;text-wrap:balance}
.account-status{max-width:170px;text-align:center;line-height:1.25}
@media(max-width:760px){
  .outline-actions{margin-top:34px}
  .scenarios{padding-top:24px}
  .scenario-card>div{min-height:270px}
  .scenario-card a,.scenario-card button{font-size:14px}
  .home-rules{padding:64px 0}
  .home-rules-card{display:block;padding:28px 0}
  .home-rules-card h2{font-size:40px;line-height:1.02}
  .home-rules-card>div:last-child{margin-top:28px}
  .home-rules-card>div:last-child p{font-size:15px;line-height:1.65}
  .home-rules-card a{font-size:14px}
  .house-choice img{height:235px}
  .house-choice>div{padding:20px 21px 22px}
  .house-choice h2{margin:11px 0 9px;font-size:24px}
  .house-choice p{margin-bottom:17px;font-size:14px;line-height:1.55}
  .house-choice .flow-primary{min-height:50px}
  .account-status{max-width:118px;font-size:10px}
}
@media(max-width:430px){
  .house-choice img{height:220px}
  .home-rules-card h2{font-size:38px}
}
@media(max-width:760px){
  .house-any{order:-1}
}
@media(max-width:760px){
  .house-choice-grid{align-items:flex-start}
  .house-any{align-self:flex-start;min-height:0}
}
.house-any em{font-style:normal;font-size:13px;font-weight:600;white-space:nowrap}
@media(max-width:760px){
  .house-any em{display:block;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:14px}
}

/* V22.1.5 — faster house selection and unambiguous status */
.house-choice{cursor:pointer}
.house-choice:hover,.house-choice:focus-visible{border-color:#203d36;transform:translateY(-2px)}
.house-choice:focus-visible{outline:2px solid #4d746c;outline-offset:3px}
@media(max-width:760px){
  .account-status{font-size:11px}
  .account-booking-card dt,.account-profile-card dt{font-size:12px}
}

/* VILLAVILLE 2.2.3 — compact multipage homepage */
.home-intro-compact{padding:92px 0 72px;background:var(--bg)}
.home-intro-grid,.home-ritual-grid,.home-section-heading,.home-place-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:start}
.home-intro-grid h2,.home-ritual-grid h2,.home-section-heading h2,.home-place-grid h2{margin:0;font-size:clamp(44px,4.6vw,68px);font-weight:400;line-height:.96;letter-spacing:-.038em;text-wrap:balance}
.home-intro-copy{padding-top:27px}
.home-intro-copy p,.home-section-heading>div:last-child p,.home-place-grid>div:first-child>p:not(.page-kicker){max-width:590px;margin:0 0 20px;font-size:16px;line-height:1.7;color:#55514e}
.home-intro-copy .lead{font-size:19px;line-height:1.58;color:#363330}
.home-text-link{display:inline-block;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:14px;font-weight:600}
.home-text-link:hover,.home-text-link:focus-visible{color:#203d36}
.home-text-link.light{color:#fff;border-color:rgba(255,255,255,.7)}
.home-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:62px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-facts article{min-height:174px;padding:25px 28px;border-right:1px solid var(--line)}
.home-facts article:last-child{border-right:0}
.home-facts strong{display:block;font-size:42px;font-weight:400;line-height:1}
.home-facts span{display:block;margin:10px 0 22px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#625e5b}
.home-facts p{max-width:270px;margin:0;font-size:14px;line-height:1.55;color:#625e5b}
.home-ritual-compact{padding:90px 0;background:#1d211f;color:#fff}
.home-ritual-grid{align-items:start}
.home-ritual-grid .page-kicker{color:#bdd0cc}
.home-ritual-copy{padding-top:27px}
.home-ritual-copy>.lead{max-width:590px;margin:0 0 30px;font-size:19px;line-height:1.58;color:#fff}
.home-ritual-steps{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.home-ritual-steps li{display:grid;grid-template-columns:42px 150px 1fr;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.home-ritual-steps li span{font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.52)}
.home-ritual-steps li strong{font-size:16px;font-weight:500}
.home-ritual-steps li p{margin:0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.68)}
.home-ritual-media{position:relative;height:500px;margin-top:58px;overflow:hidden;background:#101412}
.home-ritual-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.8)}
.home-ritual-media figcaption{position:absolute;left:18px;bottom:16px;padding:8px 10px;background:rgba(20,22,21,.66);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.home-houses-compact{padding:94px 0 82px;background:var(--bg)}
.home-section-heading{align-items:end;margin-bottom:46px}
.home-section-heading>div:last-child{padding-bottom:3px}
.home-house-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.home-house-card{background:#fff}
.home-house-image{display:block;height:330px;overflow:hidden;background:#1d211f}
.home-house-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.78);transition:transform .7s ease}
.home-house-card:hover .home-house-image img{transform:scale(1.025)}
.home-house-card>div{padding:25px 28px 28px}
.home-house-card h3{margin:0 0 18px;font-size:27px;font-weight:500;line-height:1.2}
.home-house-card ul{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--line)}
.home-house-card li{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;color:#55514e}
.home-house-actions{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px}
.home-primary-link{min-width:210px;padding:16px 23px;background:#203d36;color:#fff;text-align:center;font-size:14px;font-weight:600}
.home-primary-link:hover,.home-primary-link:focus-visible{background:#17312b}
.home-house-actions span{font-size:12px;line-height:1.5;color:#77736f}
.home-place-compact{padding:88px 0;background:#dcd9d6}
.home-place-grid{align-items:center}
.home-place-grid>div:first-child>p:not(.page-kicker){margin-top:25px}
.home-place-facts{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.home-place-facts div{min-height:122px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-place-facts span{display:block;margin-bottom:16px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#77736f}
.home-place-facts strong{font-size:17px;font-weight:500;line-height:1.4}
.home-rules{padding:72px 0}
.home-rules-card{padding:30px 0}
.final-cta{padding:82px 0}
.site-footer{padding-top:68px}
@media(max-width:900px){
  .home-intro-grid,.home-ritual-grid,.home-section-heading,.home-place-grid{grid-template-columns:1fr;gap:28px}
  .home-intro-copy,.home-ritual-copy{padding-top:0}
  .home-house-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .home-intro-compact{padding:66px 0 58px}
  .home-intro-grid h2,.home-ritual-grid h2,.home-section-heading h2,.home-place-grid h2{font-size:40px;line-height:1.02}
  .home-intro-copy .lead,.home-ritual-copy>.lead{font-size:17px;line-height:1.6}
  .home-intro-copy p,.home-section-heading>div:last-child p,.home-place-grid>div:first-child>p:not(.page-kicker){font-size:15px;line-height:1.65}
  .home-facts{grid-template-columns:1fr;margin-top:42px}
  .home-facts article{min-height:0;padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}
  .home-facts article:last-child{border-bottom:0}
  .home-facts strong{font-size:34px}
  .home-facts span{margin:8px 0 10px}
  .home-facts p{max-width:none}
  .home-ritual-compact{padding:66px 0}
  .home-ritual-steps li{grid-template-columns:30px 1fr;gap:8px 14px}
  .home-ritual-steps li p{grid-column:2}
  .home-ritual-media{width:100%;height:340px;margin-top:42px}
  .home-ritual-media figcaption{left:12px;bottom:12px;font-size:10px}
  .home-houses-compact{padding:66px 0 60px}
  .home-section-heading{margin-bottom:34px}
  .home-house-grid{display:flex;width:100%;gap:12px;padding-left:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .home-house-grid::-webkit-scrollbar{display:none}
  .home-house-card{flex:0 0 calc(100vw - 52px);scroll-snap-align:start}
  .home-house-image{height:245px}
  .home-house-card>div{padding:22px}
  .home-house-card h3{font-size:24px}
  .home-house-actions{display:block;margin-top:24px}
  .home-primary-link{display:block;width:100%}
  .home-house-actions span{display:block;margin-top:14px}
  .home-place-compact{padding:64px 0}
  .home-place-grid>div:first-child>p:not(.page-kicker){margin-top:20px}
  .home-place-facts{grid-template-columns:1fr;margin-top:8px}
  .home-place-facts div{min-height:0;padding:18px}
  .home-rules{padding:58px 0}
  .home-rules-card{padding:26px 0}
  .final-cta{padding:68px 0}
  .site-footer{padding-top:58px}
}
@media(max-width:430px){
  .home-intro-grid h2,.home-ritual-grid h2,.home-section-heading h2,.home-place-grid h2{font-size:38px}
  .home-house-image{height:230px}
}

/* V2.2.3 mobile density pass */
@media(max-width:760px){
  .home-intro-compact{padding-bottom:48px}
  .home-facts article{display:grid;grid-template-columns:42px 1fr;gap:4px 14px;align-items:center;padding:16px 0}
  .home-facts strong{grid-row:1/3;font-size:30px}
  .home-facts span{margin:0;font-size:11px}
  .home-facts p{display:none}
  .home-ritual-media{height:280px;margin-top:34px}
  .home-houses-compact{padding:56px 0 52px}
  .home-section-heading{margin-bottom:28px}
  .home-house-image{height:220px}
  .home-house-actions{margin-top:18px}
  .home-place-facts{grid-template-columns:repeat(2,1fr)}
  .home-place-facts div{padding:16px 14px}
  .home-place-facts span{margin-bottom:10px;font-size:10px}
  .home-place-facts strong{font-size:15px}
  .home-rules{padding:50px 0}
  .final-cta{padding:60px 0}
  .site-footer{padding:48px 0 24px}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px}
  .footer-brand,.footer-grid>div:last-of-type,.copyright{grid-column:1/-1}
  .footer-brand{width:min(100%,250px)}
}

/* VILLAVILLE 2.2.4 — premium homepage pass */
.hero-inner{align-items:flex-end;padding-bottom:255px}
.hero-message-premium{width:min(720px,58vw);margin:0}
.hero-overline{margin:0 0 18px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.hero-message-premium h1{max-width:700px;margin:0;font-size:clamp(62px,6.1vw,88px);font-weight:400;line-height:.88;letter-spacing:-.045em;text-transform:none;text-wrap:balance}
.hero-message-premium h1 span{display:block}
.hero-message-premium .hero-subtitle{max-width:560px;margin-top:24px;font-size:19px;line-height:1.5;color:rgba(255,255,255,.9)}
.hero-proof{display:flex;gap:0;margin-top:30px;border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}
.hero-proof span{min-width:150px;padding:14px 24px 14px 0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.74)}
.hero-proof span+span{padding-left:24px;border-left:1px solid rgba(255,255,255,.25)}
.hero-proof b{margin-right:7px;font-size:18px;font-weight:500;color:#fff}
.booking-section{margin-top:-210px;padding-bottom:70px}
.booking-card{min-height:132px;background:rgba(244,241,234,.92);border:1px solid rgba(255,255,255,.55);box-shadow:0 24px 70px rgba(9,12,10,.18);backdrop-filter:blur(20px)}
.booking-intro h2{font-size:23px}
.booking-intro p{font-size:11px;line-height:1.55;color:#66615e}
.booking-form label{border-radius:0;background:rgba(255,255,255,.9)}
.booking-submit{border-radius:0}
.home-intro-premium{padding:104px 0 86px;background:var(--bg)}
.home-intro-premium-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:9vw;align-items:start}
.home-intro-premium h2{max-width:570px;margin:0;font-size:clamp(50px,5vw,72px);font-weight:400;line-height:.94;letter-spacing:-.04em;text-wrap:balance}
.home-intro-premium-copy{max-width:590px;padding-top:8px}
.home-intro-premium-copy p{margin:0 0 24px;font-size:17px;line-height:1.72;color:#5b5754}
.home-intro-premium-copy .lead{font-size:20px;line-height:1.5;color:#2e2b29}
.home-value-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:66px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-value-strip article{min-height:168px;padding:25px 28px;border-right:1px solid var(--line)}
.home-value-strip article:last-child{border-right:0}
.home-value-strip span{font-size:11px;letter-spacing:.14em;color:#74706c}
.home-value-strip h3{margin:25px 0 10px;font-size:21px;font-weight:500}
.home-value-strip p{max-width:310px;margin:0;font-size:14px;line-height:1.6;color:#66615e}

.home-ritual-editorial{position:relative;min-height:760px;overflow:hidden;isolation:isolate;background:#171c1a;color:#fff}
.home-ritual-editorial-media{position:absolute;inset:0;z-index:-3;margin:0}
.home-ritual-editorial-media img{width:100%;height:100%;object-fit:cover;object-position:68% center;filter:saturate(.82) brightness(.7);transform:scale(1.015);transition:transform 1.2s ease}
.home-ritual-editorial:hover .home-ritual-editorial-media img{transform:scale(1.035)}
.home-ritual-editorial-media figcaption{position:absolute;right:24px;bottom:18px;padding:7px 10px;background:rgba(13,18,16,.68);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.home-ritual-editorial-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(18,23,21,.98) 0%,rgba(18,23,21,.91) 44%,rgba(18,23,21,.55) 74%,rgba(18,23,21,.25) 100%),linear-gradient(180deg,rgba(18,23,21,.2),rgba(18,23,21,.7))}
.home-ritual-editorial-grid{min-height:760px;padding:100px 0 82px;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:start}
.home-ritual-editorial .page-kicker{color:#b9cdc8}
.home-ritual-editorial h2{max-width:520px;margin:0;font-size:clamp(56px,5.5vw,80px);font-weight:400;line-height:.92;letter-spacing:-.045em;text-wrap:balance}
.home-ritual-editorial-copy{padding-top:10px}
.home-ritual-editorial-copy>.lead{max-width:570px;margin:0 0 30px;font-size:21px;line-height:1.5;color:#fff}
.home-ritual-editorial-copy ol{margin:0 0 30px;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.25)}
.home-ritual-editorial-copy li{display:grid;grid-template-columns:42px 150px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.22);align-items:start}
.home-ritual-editorial-copy li span{font-size:11px;letter-spacing:.13em;color:#a9b9b5}
.home-ritual-editorial-copy li strong{font-size:16px;font-weight:600}
.home-ritual-editorial-copy li p{margin:0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.68)}
.home-houses-editorial{padding:106px 0 96px;background:var(--bg)}
.home-houses-scene{position:relative;height:500px;margin-top:48px;overflow:hidden;background:#1d211f}
.home-houses-scene img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.82) brightness(.78);transition:transform .9s ease}
.home-houses-scene:hover img{transform:scale(1.02)}
.home-houses-scene figcaption{position:absolute;left:18px;bottom:16px;padding:7px 10px;background:rgba(18,23,21,.72);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.home-house-select-grid{position:relative;z-index:2;width:calc(var(--shell) - 110px);margin:-74px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.home-house-select-grid article{padding:30px 32px 31px;background:#fff;border:1px solid rgba(38,37,36,.1);box-shadow:0 20px 50px rgba(23,24,23,.1)}
.home-house-select-grid h3{margin:0 0 24px;font-size:28px;font-weight:500}
.home-house-select-grid dl{margin:0 0 24px;border-top:1px solid var(--line)}
.home-house-select-grid dl div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.home-house-select-grid dt{color:#77736f}.home-house-select-grid dd{margin:0}
.home-house-actions{margin-top:34px}

.home-trust-editorial{padding:102px 0;background:#dcd9d6}
.home-trust-editorial-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:stretch}
.home-place-editorial{padding:18px 30px 18px 0}
.home-place-editorial h2,.home-rules-editorial h2{max-width:600px;margin:0;font-size:clamp(48px,4.7vw,68px);font-weight:400;line-height:.96;letter-spacing:-.04em;text-wrap:balance}
.home-place-editorial>p:not(.page-kicker){max-width:560px;margin:28px 0 23px;font-size:16px;line-height:1.7;color:#5b5754}
.home-place-mini-facts{display:grid;grid-template-columns:repeat(2,1fr);margin-top:42px;border-top:1px solid rgba(38,37,36,.22);border-left:1px solid rgba(38,37,36,.22)}
.home-place-mini-facts span{min-height:76px;padding:18px;display:flex;align-items:center;border-right:1px solid rgba(38,37,36,.22);border-bottom:1px solid rgba(38,37,36,.22);font-size:14px}
.home-rules-editorial{padding:46px;background:#203d36;color:#fff}
.home-rules-editorial .page-kicker{color:#bfd0cc}
.home-rules-editorial h2{font-size:clamp(43px,4.2vw,60px)}
.home-rules-editorial>p:not(.page-kicker){margin:30px 0 34px;font-size:16px;line-height:1.72;color:rgba(255,255,255,.72)}
.final-cta-premium{padding:88px 0;background:#1d211f}
.final-cta-premium h2{max-width:820px;font-size:clamp(46px,4.7vw,68px);line-height:1.02;text-wrap:balance}
.home-text-link,.home-primary-link{transition:color .2s ease,border-color .2s ease,transform .2s ease}
.home-text-link:hover,.home-text-link:focus-visible{color:#406860;border-color:#406860}
.home-text-link.light:hover,.home-text-link.light:focus-visible{color:#d5e3df;border-color:#d5e3df}
.home-primary-link:hover,.home-primary-link:focus-visible{transform:translateY(-2px)}
@media(max-width:900px){
  .hero-message-premium{width:min(680px,74vw)}
  .home-intro-premium-grid,.home-ritual-editorial-grid,.home-section-heading,.home-trust-editorial-grid{grid-template-columns:1fr;gap:36px}
  .home-ritual-editorial-grid{padding-top:82px}
  .home-house-select-grid{width:calc(var(--shell) - 40px)}
  .home-place-editorial{padding-right:0}
}

@media(max-width:760px){
  .hero{height:690px}
  .hero-inner{align-items:flex-end;padding-bottom:30px}
  .hero-message-premium{width:100%}
  .hero-overline{margin-bottom:13px;font-size:10px;letter-spacing:.16em}
  .hero-message-premium h1{max-width:350px;font-size:47px;line-height:.92}
  .hero-message-premium .hero-subtitle{max-width:340px;margin-top:16px;font-size:16px}
  .hero-proof{display:none}
  .hero-mobile-actions{margin-top:25px}
  .booking-section{padding-top:36px;padding-bottom:62px}
  .booking-intro h2{font-size:22px}
  .booking-intro p{font-size:11px;line-height:1.5}
  .home-intro-premium{padding:70px 0 58px}
  .home-intro-premium h2{font-size:41px;line-height:.98}
  .home-intro-premium-copy{padding-top:0}
  .home-intro-premium-copy p{font-size:15px;line-height:1.65}
  .home-intro-premium-copy .lead{font-size:17px;line-height:1.55}
  .home-value-strip{grid-template-columns:1fr;margin-top:42px}
  .home-value-strip article{min-height:0;padding:18px 0;display:grid;grid-template-columns:36px 1fr;gap:4px 18px;border-right:0;border-bottom:1px solid var(--line)}
  .home-value-strip article:last-child{border-bottom:0}
  .home-value-strip span{grid-row:1/3;padding-top:3px}
  .home-value-strip h3{margin:0;font-size:18px}
  .home-value-strip p{margin-top:5px;font-size:13px}
  .home-ritual-editorial{min-height:880px}
  .home-ritual-editorial-media img{object-position:65% center;opacity:.56}
  .home-ritual-editorial-shade{background:linear-gradient(180deg,rgba(18,23,21,.99) 0%,rgba(18,23,21,.94) 60%,rgba(18,23,21,.48) 100%)}
  .home-ritual-editorial-grid{min-height:880px;padding:68px 0 58px;display:block}
  .home-ritual-editorial h2{max-width:330px;font-size:44px;line-height:.96}
  .home-ritual-editorial-copy{padding-top:0;margin-top:30px}
  .home-ritual-editorial-copy>.lead{font-size:18px}
  .home-ritual-editorial-copy li{grid-template-columns:32px 1fr;gap:10px 12px}
  .home-ritual-editorial-copy li strong{font-size:16px}
  .home-ritual-editorial-copy li p{grid-column:2;font-size:13px}
  .home-ritual-editorial-media figcaption{right:12px;bottom:10px;font-size:9px}
}

@media(max-width:760px){
  .home-houses-editorial{padding:72px 0 66px}
  .home-section-heading{gap:24px}
  .home-section-heading h2{font-size:42px;line-height:.98}
  .home-houses-scene{width:100%;height:275px;margin-top:34px}
  .home-houses-scene figcaption{left:12px;bottom:10px;font-size:9px}
  .home-house-select-grid{width:100%;margin:-34px 0 0;padding:0 20px 8px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .home-house-select-grid::-webkit-scrollbar{display:none}
  .home-house-select-grid article{flex:0 0 calc(100vw - 52px);padding:24px 22px;scroll-snap-align:start;box-shadow:0 14px 34px rgba(23,24,23,.09)}
  .home-house-select-grid h3{font-size:24px}
  .home-house-select-grid dl div{grid-template-columns:90px 1fr;font-size:13px}
  .home-house-actions{margin-top:24px;padding:0 20px}
  .home-trust-editorial{padding:68px 0}
  .home-trust-editorial-grid{gap:34px}
  .home-place-editorial{padding:0}
  .home-place-editorial h2,.home-rules-editorial h2{font-size:41px;line-height:.98}
  .home-place-editorial>p:not(.page-kicker){font-size:15px}
  .home-place-mini-facts{margin-top:34px}
  .home-place-mini-facts span{min-height:70px;padding:15px;font-size:13px}
  .home-rules-editorial{padding:30px 24px}
  .home-rules-editorial>p:not(.page-kicker){margin:24px 0 28px;font-size:15px}
  .final-cta-premium{padding:72px 0}
  .final-cta-premium h2{font-size:38px;line-height:1.08}
  .site-footer{padding-top:54px}
}
@media(max-width:390px){
  .hero{height:670px}
  .hero-message-premium h1{font-size:43px}
  .home-intro-premium h2,.home-section-heading h2,.home-place-editorial h2,.home-rules-editorial h2{font-size:38px}
  .home-ritual-editorial h2{font-size:41px}
}

/* V2.2.4 mobile overlap and caption fix */
@media(max-width:760px){
  .booking-section{margin-top:0}
  .home-houses-scene figcaption{left:12px;right:auto;top:12px;bottom:auto;max-width:calc(100% - 24px);line-height:1.35}
  .home-ritual-editorial-media figcaption{left:12px;right:auto;top:auto;bottom:10px;max-width:calc(100% - 24px);line-height:1.35}
}

/* V2.2.4 final visual balance */
.home-ritual-editorial-media img{filter:saturate(.88) brightness(.78)}
.home-ritual-editorial-shade{background:linear-gradient(90deg,rgba(18,23,21,.98) 0%,rgba(18,23,21,.86) 44%,rgba(18,23,21,.44) 74%,rgba(18,23,21,.18) 100%),linear-gradient(180deg,rgba(18,23,21,.16),rgba(18,23,21,.62))}
@media(max-width:760px){
  .home-value-strip article{grid-template-columns:36px 1fr;padding:16px 0}
  .home-value-strip p{display:none}
  .home-ritual-editorial-media img{opacity:.72}
  .home-ritual-editorial-shade{background:linear-gradient(180deg,rgba(18,23,21,.98) 0%,rgba(18,23,21,.9) 62%,rgba(18,23,21,.35) 100%)}
}

/* V2.2.4 homepage microcopy readability */
@media(max-width:760px){
  .hero-overline{font-size:11px}
  .home-houses-scene figcaption,.home-ritual-editorial-media figcaption{font-size:10px}
  .home-value-strip span,.home-ritual-editorial-copy li span{font-size:12px}
  .home-house-actions span{font-size:12px;line-height:1.5}
}

/* VILLAVILLE 2.2.5 — clear copy and restrained typography */
.hero-inner{padding-bottom:238px}
.hero-message-premium{width:min(760px,62vw)}
.hero-overline{margin-bottom:15px;font-size:11px;letter-spacing:.14em}
.hero-message-premium h1{
  max-width:760px;font-size:clamp(48px,4.7vw,66px);
  line-height:1.01;letter-spacing:-.034em
}
.hero-message-premium .hero-subtitle{
  max-width:650px;margin-top:18px;font-size:18px;line-height:1.5
}
.hero-detail{
  max-width:620px;margin:10px 0 0;font-size:15px;line-height:1.55;
  color:rgba(255,255,255,.76)
}
.hero-proof{margin-top:23px}
.hero-proof span{min-width:0;padding:13px 24px;font-size:11px}
.hero-proof span:first-child{padding-left:0}
.home-intro-premium{padding:88px 0 74px}
.home-intro-premium h2{
  max-width:610px;font-size:clamp(40px,3.9vw,54px);
  line-height:1.04;letter-spacing:-.03em
}
.home-intro-premium-copy p{font-size:16px;line-height:1.68}
.home-intro-premium-copy .lead{font-size:18px;line-height:1.55}
.home-value-strip{margin-top:54px}
.home-value-strip article{min-height:154px;padding:23px 27px}
.home-value-strip h3{margin:22px 0 9px;font-size:18px}
.home-value-strip p{font-size:13px;line-height:1.58}
.home-ritual-editorial{min-height:700px}
.home-ritual-editorial-grid{min-height:700px;padding:88px 0 72px}
.home-ritual-editorial h2{
  max-width:540px;font-size:clamp(42px,4vw,56px);
  line-height:1.04;letter-spacing:-.032em
}
.home-ritual-editorial-copy>.lead{font-size:18px;line-height:1.55}
.home-ritual-editorial-copy li{
  grid-template-columns:42px 205px 1fr;padding:16px 0
}
.home-ritual-editorial-copy li strong{font-size:15px}
.home-ritual-editorial-copy li p{font-size:13px;line-height:1.5}
.home-houses-editorial{padding:88px 0 82px}
.home-section-heading h2{
  max-width:620px;font-size:clamp(40px,3.9vw,54px);
  line-height:1.04;letter-spacing:-.03em
}
.home-section-heading>div:last-child p{font-size:16px;line-height:1.65}
.home-houses-scene{height:450px;margin-top:40px}
.home-house-select-grid{margin-top:-62px}
.home-house-select-grid article{padding:27px 30px}
.home-house-select-grid h3{font-size:25px}
.home-trust-editorial{padding:84px 0}
.home-place-editorial h2{
  font-size:clamp(38px,3.6vw,50px);line-height:1.05;letter-spacing:-.03em
}
.home-rules-editorial h2{
  font-size:clamp(34px,3.2vw,44px);line-height:1.08;letter-spacing:-.026em
}
.home-place-editorial>p:not(.page-kicker),
.home-rules-editorial>p:not(.page-kicker){font-size:15px;line-height:1.66}
.home-rules-editorial{padding:40px}
.final-cta-premium{padding:74px 0}
.final-cta-premium h2{
  max-width:720px;font-size:clamp(38px,3.5vw,48px);
  line-height:1.08;letter-spacing:-.025em
}
.final-cta-note{
  display:block;margin-top:16px;font-size:15px;line-height:1.55;
  color:rgba(255,255,255,.68)
}
.final-cta-premium button{margin-top:28px}
@media(max-width:760px){
  .hero-inner{padding-bottom:24px}
  .hero-overline{font-size:10px;letter-spacing:.12em}
  .hero-message-premium h1{max-width:350px;font-size:37px;line-height:1.03}
  .hero-message-premium .hero-subtitle{margin-top:14px;font-size:15px;line-height:1.48}
  .hero-detail{max-width:340px;margin-top:8px;font-size:13px;line-height:1.45}
  .hero-mobile-actions{margin-top:20px;gap:10px}
  .home-intro-premium{padding:60px 0 50px}
  .home-intro-premium h2{font-size:34px;line-height:1.06}
  .home-intro-premium-copy p{font-size:15px;line-height:1.62}
  .home-intro-premium-copy .lead{font-size:16px;line-height:1.55}
  .home-value-strip{margin-top:34px}
  .home-value-strip article{padding:15px 0}
  .home-value-strip h3{font-size:17px}
  .home-ritual-editorial{min-height:770px}
  .home-ritual-editorial-grid{min-height:770px;padding:58px 0 48px}
  .home-ritual-editorial h2{font-size:34px;line-height:1.06}
}
@media(max-width:760px){
  .home-ritual-editorial-copy{margin-top:24px}
  .home-ritual-editorial-copy>.lead{font-size:16px;line-height:1.55}
  .home-ritual-editorial-copy li{grid-template-columns:30px 1fr;padding:15px 0}
  .home-ritual-editorial-copy li strong{font-size:15px}
  .home-ritual-editorial-copy li p{font-size:13px;line-height:1.48}
  .home-houses-editorial{padding:60px 0 56px}
  .home-section-heading h2{font-size:34px;line-height:1.06}
  .home-section-heading>div:last-child p{font-size:15px;line-height:1.62}
  .home-houses-scene{height:250px;margin-top:28px}
  .home-house-select-grid{margin-top:-28px}
  .home-house-select-grid article{padding:22px 20px}
  .home-house-select-grid h3{font-size:23px}
  .home-trust-editorial{padding:58px 0}
  .home-place-editorial h2{font-size:33px;line-height:1.08}
  .home-rules-editorial h2{font-size:30px;line-height:1.1}
  .home-rules-editorial{padding:26px 22px}
}
@media(max-width:760px){
  .home-place-editorial>p:not(.page-kicker),
  .home-rules-editorial>p:not(.page-kicker){font-size:15px;line-height:1.62}
  .home-place-mini-facts span{font-size:13px}
  .final-cta-premium{padding:58px 0}
  .final-cta-premium h2{font-size:32px;line-height:1.12}
  .final-cta-note{margin-top:13px;font-size:14px}
  .final-cta-premium button{margin-top:24px}
}
@media(max-width:390px){
  .hero-message-premium h1{font-size:35px}
  .home-intro-premium h2,.home-section-heading h2{font-size:32px}
  .home-ritual-editorial h2{font-size:32px}
  .home-place-editorial h2{font-size:31px}
  .home-rules-editorial h2{font-size:29px}
}

/* V2.2.5 mobile value strip correction */
@media(max-width:760px){
  .home-value-strip article{
    min-height:0;grid-template-columns:32px 1fr;
    align-items:start;padding:16px 0
  }
  .home-value-strip span{grid-row:1/3;padding-top:2px}
  .home-value-strip h3{margin:0;font-size:17px;line-height:1.3}
  .home-value-strip p{
    display:block;grid-column:2;margin:5px 0 0;
    font-size:13px;line-height:1.5
  }
}

/* VILLAVILLE 2.2.6 — location and final booking redesign */
.home-location-showcase{background:var(--bg)}
.home-location-showcase-media{position:relative;min-height:680px;margin:0;overflow:hidden;isolation:isolate;background:#151a18;color:#fff}
.home-location-showcase-media>img{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:47% center;filter:saturate(.82) brightness(.76);transition:transform 1.2s ease}
.home-location-showcase-media:hover>img{transform:scale(1.025)}
.home-location-showcase-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(12,17,15,.88) 0%,rgba(12,17,15,.58) 47%,rgba(12,17,15,.24) 74%,rgba(12,17,15,.42) 100%),linear-gradient(180deg,rgba(9,13,11,.15),rgba(9,13,11,.65))}
.home-location-showcase-grid{min-height:680px;padding:94px 0 84px;display:grid;grid-template-columns:.88fr 1.12fr;gap:8vw;align-items:end}
.home-location-showcase-copy{align-self:start;max-width:570px}
.home-location-showcase-copy .page-kicker{color:#c2d4d0}
.home-location-showcase-copy h2{max-width:560px;margin:0;font-size:clamp(44px,4.5vw,62px);font-weight:400;line-height:.98;letter-spacing:-.04em;text-wrap:balance}
.home-location-showcase-copy>p:not(.page-kicker){max-width:540px;margin:27px 0 25px;font-size:17px;line-height:1.7;color:rgba(255,255,255,.82)}
.home-location-showcase-facts{align-self:end;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid rgba(255,255,255,.34);border-left:1px solid rgba(255,255,255,.34);background:rgba(14,21,18,.36);backdrop-filter:blur(12px)}
.home-location-showcase-facts div{min-height:126px;padding:22px 24px;border-right:1px solid rgba(255,255,255,.34);border-bottom:1px solid rgba(255,255,255,.34)}
.home-location-showcase-facts dt{margin-bottom:17px;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.home-location-showcase-facts dd{margin:0;font-size:18px;line-height:1.4;color:#fff}
.home-location-showcase-media figcaption{position:absolute;right:24px;bottom:18px;padding:7px 10px;background:rgba(11,16,14,.64);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.home-before-booking{min-height:190px;padding:36px 0;display:grid;grid-template-columns:.8fr 1.35fr auto;gap:50px;align-items:center;border-bottom:1px solid var(--line)}
.home-before-booking h3{max-width:420px;margin:0;font-size:34px;font-weight:400;line-height:1.08;letter-spacing:-.025em}
.home-before-booking>p{max-width:620px;margin:0;font-size:15px;line-height:1.7;color:#5b5754}
.home-before-booking>a{white-space:nowrap}
.home-final-booking{position:relative;min-height:520px;overflow:hidden;isolation:isolate;background:#171c1a;color:#fff}
.home-final-booking-media{position:absolute;inset:0;z-index:-3}
.home-final-booking-media img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.82) brightness(.7);transition:transform 1.2s ease}
.home-final-booking:hover .home-final-booking-media img{transform:scale(1.025)}
.home-final-booking-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(11,16,14,.94) 0%,rgba(11,16,14,.75) 45%,rgba(11,16,14,.35) 72%,rgba(11,16,14,.58) 100%),linear-gradient(180deg,rgba(8,12,10,.15),rgba(8,12,10,.7))}
.home-final-booking-grid{min-height:520px;padding:86px 0 78px;display:grid;grid-template-columns:1fr .82fr;gap:9vw;align-items:center}
.home-final-booking-copy .page-kicker{color:#bdd0cc}
.home-final-booking-copy h2{max-width:660px;margin:0;font-size:clamp(44px,4.4vw,62px);font-weight:400;line-height:.98;letter-spacing:-.04em;text-wrap:balance}
.home-final-booking-copy>p:not(.page-kicker){max-width:610px;margin:25px 0 29px;font-size:17px;line-height:1.68;color:rgba(255,255,255,.8)}
.home-final-booking-actions{display:flex;align-items:center;gap:26px}
.home-final-booking-actions button{min-width:190px;padding:16px 24px;border:1px solid rgba(255,255,255,.76);background:#fff;color:#18201d;font-size:14px;font-weight:600;transition:background .2s ease,color .2s ease,transform .2s ease}
.home-final-booking-actions button:hover,.home-final-booking-actions button:focus-visible{background:#dfe9e6;transform:translateY(-2px)}
.home-final-booking-actions a{padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.7);font-size:14px;font-weight:600}
.home-final-booking-steps{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.32);background:rgba(12,18,15,.28);backdrop-filter:blur(10px)}
.home-final-booking-steps li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center;min-height:76px;padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.32)}
.home-final-booking-steps span{font-size:11px;font-weight:600;letter-spacing:.13em;color:rgba(255,255,255,.56)}
.home-final-booking-steps strong{font-size:17px;font-weight:500;line-height:1.35}
@media(max-width:900px){
  .home-location-showcase-grid,.home-final-booking-grid{grid-template-columns:1fr;gap:42px}
  .home-location-showcase-copy{max-width:650px}
  .home-before-booking{grid-template-columns:1fr 1.2fr;gap:32px}
  .home-before-booking>a{grid-column:2}
  .home-final-booking-steps{max-width:620px}
}
@media(max-width:760px){
  .home-location-showcase-media{min-height:760px}
  .home-location-showcase-media>img{object-position:57% center}
  .home-location-showcase-shade{background:linear-gradient(180deg,rgba(12,17,15,.93) 0%,rgba(12,17,15,.7) 52%,rgba(12,17,15,.42) 100%)}
  .home-location-showcase-grid{min-height:760px;padding:67px 0 58px;display:flex;flex-direction:column;justify-content:space-between;gap:42px}
  .home-location-showcase-copy h2{max-width:340px;font-size:35px;line-height:1.03}
  .home-location-showcase-copy>p:not(.page-kicker){margin:22px 0;font-size:15px;line-height:1.65}
  .home-location-showcase-facts{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-location-showcase-facts div{min-height:104px;padding:16px}
  .home-location-showcase-facts dt{margin-bottom:10px;font-size:10px}
  .home-location-showcase-facts dd{font-size:15px;line-height:1.35}
  .home-location-showcase-media figcaption{right:12px;bottom:10px;max-width:calc(100% - 24px);font-size:9px;line-height:1.35}
}
@media(max-width:760px){
  .home-before-booking{min-height:0;padding:45px 0;display:block}
  .home-before-booking h3{font-size:30px;line-height:1.08}
  .home-before-booking>p{margin:22px 0 23px;font-size:15px;line-height:1.65}
  .home-final-booking{min-height:590px}
  .home-final-booking-media img{object-position:58% center}
  .home-final-booking-shade{background:linear-gradient(180deg,rgba(11,16,14,.93) 0%,rgba(11,16,14,.7) 55%,rgba(11,16,14,.48) 100%)}
  .home-final-booking-grid{min-height:590px;padding:68px 0 58px;display:flex;flex-direction:column;justify-content:space-between;gap:38px}
  .home-final-booking-copy h2{max-width:350px;font-size:36px;line-height:1.04}
  .home-final-booking-copy>p:not(.page-kicker){margin:21px 0 25px;font-size:15px;line-height:1.65}
  .home-final-booking-actions{display:grid;grid-template-columns:1fr;gap:16px}
  .home-final-booking-actions button{width:100%;min-width:0}
  .home-final-booking-actions a{justify-self:start}
  .home-final-booking-steps{width:100%}
  .home-final-booking-steps li{min-height:63px;padding:13px 16px}
  .home-final-booking-steps strong{font-size:15px}
}
@media(max-width:390px){
  .home-location-showcase-copy h2{font-size:33px}
  .home-final-booking-copy h2{font-size:34px}
}

/* V2.2.6 mobile density balance */
@media(max-width:760px){
  .home-location-showcase-media{min-height:660px}
  .home-location-showcase-grid{min-height:660px;padding:54px 0 42px;gap:28px}
  .home-location-showcase-copy>p:not(.page-kicker){margin:18px 0;font-size:14px}
  .home-location-showcase-facts div{min-height:88px;padding:13px}
  .home-location-showcase-facts dt{margin-bottom:8px}
  .home-location-showcase-facts dd{font-size:14px}
  .home-before-booking{padding:34px 0}
  .home-before-booking h3{font-size:28px}
  .home-before-booking>p{margin:18px 0;font-size:14px}
  .home-final-booking{min-height:535px}
  .home-final-booking-grid{min-height:535px;padding:52px 0 44px;gap:24px}
  .home-final-booking-copy h2{font-size:33px}
  .home-final-booking-copy>p:not(.page-kicker){margin:17px 0 20px;font-size:14px}
  .home-final-booking-actions{gap:12px}
  .home-final-booking-steps li{min-height:52px;padding:10px 13px}
  .home-final-booking-steps strong{font-size:14px}
}

/* VILLAVILLE 2.2.7 — unified internal pages */
.v227-page,.v227-flow-page,.v227-account,.v227-payment,.v227-success{background:#ece9e6;color:#262524}
.v227-page .breadcrumbs,.v227-flow-page .breadcrumbs,.v227-account .breadcrumbs,.v227-payment .breadcrumbs,.v227-success .breadcrumbs{position:relative;z-index:5;padding-top:24px;padding-bottom:18px}
.v227-hero{position:relative;min-height:610px;margin-top:0;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#151a18;color:#fff}
.v227-hero-media{position:absolute;inset:0;z-index:-3;margin:0}
.v227-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.82) brightness(.72);transform:scale(1.015)}
.v227-hero.is-monochrome .v227-hero-media img{filter:grayscale(1) brightness(.62)}
.v227-hero-media figcaption{position:absolute;right:24px;bottom:18px;padding:7px 10px;background:rgba(12,17,15,.66);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.v227-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(12,16,14,.88) 0%,rgba(12,16,14,.62) 48%,rgba(12,16,14,.18) 100%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.55))}
.v227-hero-copy{padding-bottom:62px}
.v227-hero-copy .page-kicker{color:#bfd0cc}
.v227-hero-copy h1{max-width:740px;margin:0;font-size:clamp(46px,5vw,68px);font-weight:400;line-height:.94;letter-spacing:-.04em;text-wrap:balance}
.v227-hero-copy>p:not(.page-kicker){max-width:670px;margin:22px 0 0;font-size:18px;line-height:1.62;color:rgba(255,255,255,.86)}
.v227-hero-facts{display:flex;margin-top:32px;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}
.v227-hero-facts span{padding:15px 26px 15px 0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.76)}
.v227-hero-facts span+span{padding-left:26px;border-left:1px solid rgba(255,255,255,.22)}
.v227-section{padding:88px 0;background:#ece9e6}
.v227-section-light{background:#f3f1ee}
.v227-split,.v227-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}
.v227-heading{align-items:end}
.v227-split h2,.v227-heading h2,.v227-spec-layout h2,.v227-map-copy h2{max-width:620px;margin:0;font-size:clamp(38px,4vw,54px);font-weight:400;line-height:.98;letter-spacing:-.038em;text-wrap:balance}
.v227-copy,.v227-heading>p,.v227-heading>div:last-child{max-width:620px}
.v227-copy p,.v227-heading>p,.v227-heading>div:last-child p{margin:0 0 22px;font-size:16px;line-height:1.72;color:#5b5754}
.v227-copy .lead{font-size:19px;line-height:1.55;color:#302d2b}
.v227-heading a,.v227-map-copy a,.v227-note a,.v227-house-pair a,.v227-house-select-grid a,.v227-dark-feature a,.v227-faq a{display:inline-block;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:14px;font-weight:600}
.v227-value-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.v227-value-row article{min-height:158px;padding:24px 28px;border-right:1px solid var(--line)}
.v227-value-row article:last-child{border-right:0}
.v227-value-row span,.v227-rules-grid>article>span,.v227-spa-story article>span{font-size:11px;letter-spacing:.14em;color:#5f5b57}
.v227-value-row h3,.v227-rules-grid h3,.v227-spa-story h3{margin:25px 0 10px;font-size:21px;font-weight:500;line-height:1.25}
.v227-value-row p,.v227-rules-grid p,.v227-spa-story p{margin:0;font-size:14px;line-height:1.62;color:#676360}
.v227-wide-scene{position:relative;height:500px;margin-top:46px;overflow:hidden;background:#151a18}
.v227-wide-scene img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.78);transition:transform .9s ease}
.v227-wide-scene:hover img{transform:scale(1.02)}
.v227-wide-scene figcaption,.v227-editorial-gallery figcaption{position:absolute;left:16px;bottom:14px;padding:7px 9px;background:rgba(14,19,17,.7);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.v227-house-choice-section{padding-top:92px}
.v227-house-pair{position:relative;z-index:2;width:calc(var(--shell) - 110px);margin:-72px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.v227-house-pair article{padding:30px 32px;background:#fff;border:1px solid rgba(38,37,36,.1);box-shadow:0 20px 50px rgba(23,24,23,.1)}
.v227-house-pair h3{margin:0 0 24px;font-size:29px;font-weight:500}
.v227-house-pair dl{margin:0 0 24px;border-top:1px solid var(--line)}
.v227-house-pair dl div{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.v227-house-pair dt{color:#5f5b57}.v227-house-pair dd{margin:0}
.v227-note{padding:76px 0;background:#203d36;color:#fff}
.v227-note .page-kicker{color:#bfd0cc}
.v227-note h2{max-width:700px;margin:0 0 18px;font-size:clamp(38px,4vw,54px);font-weight:400;line-height:1}
.v227-note p:last-child{max-width:760px;margin:0;font-size:16px;line-height:1.7;color:rgba(255,255,255,.72)}
.v227-cta{padding:78px 0;background:#171c1a;color:#fff}
.v227-cta>.shell{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.v227-cta .page-kicker{color:#bfd0cc}
.v227-cta h2{max-width:760px;margin:0 0 14px;font-size:clamp(38px,4.2vw,58px);font-weight:400;line-height:1}
.v227-cta span{display:block;max-width:650px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.66)}
.v227-cta-actions{display:flex;gap:12px;flex:0 0 auto}
.v227-cta-actions a{min-width:175px;padding:16px 22px;text-align:center;font-size:13px;font-weight:600}
.v227-primary{background:#fff;color:#18201d}.v227-secondary{border:1px solid rgba(255,255,255,.58);color:#fff}
.v227-cta-actions a:hover,.v227-cta-actions a:focus-visible{transform:translateY(-2px)}
.v227-house-hero{position:relative;min-height:720px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#151a18;color:#fff}
.v227-house-hero figure{position:absolute;inset:0;z-index:-3;margin:0}
.v227-house-hero figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.72)}
.v227-house-hero figcaption{position:absolute;right:22px;top:20px;padding:7px 9px;background:rgba(13,18,16,.7);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.v227-house-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(10,13,12,.08),rgba(10,13,12,.72)),linear-gradient(90deg,rgba(10,13,12,.38),transparent 65%)}
.v227-house-hero-copy{padding-bottom:54px}
.v227-house-hero-copy .page-kicker{color:#bfd0cc}
.v227-house-hero-copy h1{margin:0;font-size:clamp(48px,5vw,70px);font-weight:400;line-height:.94;letter-spacing:-.04em}
.v227-house-hero-copy>p:not(.page-kicker){max-width:650px;margin:18px 0 26px;font-size:18px;line-height:1.6;color:rgba(255,255,255,.86)}
.v227-house-hero-copy>div{display:flex;border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3)}
.v227-house-hero-copy>div span{padding:14px 24px 14px 0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.v227-house-hero-copy>div span+span{padding-left:24px;border-left:1px solid rgba(255,255,255,.24)}
.v227-gallery-section{background:#f3f1ee}
.v227-editorial-gallery{display:grid;grid-template-columns:1.45fr .75fr;grid-template-rows:repeat(2,250px);gap:18px;margin-top:44px}
.v227-editorial-gallery figure{position:relative;margin:0;overflow:hidden;background:#151a18}
.v227-editorial-gallery figure.is-large{grid-row:1/3}
.v227-editorial-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.8)}
.v227-dark-feature{position:relative;padding:90px 0;background:#171c1a;color:#fff}
.v227-dark-feature>.shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}
.v227-dark-feature .page-kicker{color:#bfd0cc}
.v227-dark-feature h2{max-width:560px;margin:0;font-size:clamp(40px,4.4vw,60px);font-weight:400;line-height:.98}
.v227-dark-copy>p{max-width:620px;margin:0 0 28px;font-size:18px;line-height:1.62;color:#fff}
.v227-dark-copy ol{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid rgba(255,255,255,.22)}
.v227-dark-copy li{display:grid;grid-template-columns:42px 1fr;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.v227-dark-copy li span{font-size:11px;letter-spacing:.12em;color:#a9b9b5}.v227-dark-copy li strong{font-size:16px}
.v227-dark-copy a{color:#fff;border-color:rgba(255,255,255,.65)}
.v227-spec-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:8vw;align-items:start}
.v227-spec-layout>div>p:last-child{max-width:480px;font-size:15px;line-height:1.7;color:#676360}
.v227-spec-layout dl{margin:0;border-top:1px solid var(--line)}
.v227-spec-layout dl div{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}
.v227-spec-layout dt{color:#5f5b57}.v227-spec-layout dd{margin:0}
.v227-spa-story{padding:76px 0;background:#203d36;color:#fff}
.v227-spa-story>.shell{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.v227-spa-story article{min-height:180px;padding:25px 28px;border-right:1px solid rgba(255,255,255,.22)}
.v227-spa-story article:last-child{border-right:0}
.v227-spa-story h3{color:#fff}.v227-spa-story p{color:rgba(255,255,255,.68)}.v227-spa-story article>span{color:#bfd0cc}
.v227-location-map{padding:88px 0;background:#dcd9d6}
.v227-location-map>.shell{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.v227-map-panel .map-card{width:100%;height:470px;margin:0}
.v227-map-copy p:not(.page-kicker){margin:25px 0 0;font-size:16px;line-height:1.72;color:#5b5754}
.v227-map-copy a{margin-top:24px}
.v227-rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
.v227-rules-grid article{min-height:190px;padding:28px;background:#f7f5f2;border:1px solid rgba(38,37,36,.1)}
.v227-faq-section{background:#f3f1ee}
.v227-faq details{border-top:1px solid var(--line)}
.v227-faq details:last-child{border-bottom:1px solid var(--line)}
.v227-faq summary{position:relative;list-style:none;padding:22px 48px 22px 0;cursor:pointer;font-size:22px;font-weight:500}
.v227-faq summary::-webkit-details-marker{display:none}.v227-faq summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:25px;font-weight:300}
.v227-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.v227-faq details p{max-width:720px;margin:0 0 24px;font-size:15px;line-height:1.68;color:#5b5754}
.v227-booking-path{padding:80px 0;background:#203d36;color:#fff}
.v227-booking-path>.shell{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:end}
.v227-booking-path .page-kicker{color:#bfd0cc}.v227-booking-path h2{margin:0;font-size:clamp(38px,4vw,54px);font-weight:400}
.v227-booking-path ol{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.v227-booking-path li{min-height:115px;padding:19px 16px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(255,255,255,.22);font-size:14px}
.v227-booking-path li:last-child{border-right:0}.v227-booking-path li span{font-size:11px;color:#bfd0cc}
.v227-flow-page .flow-head,.v227-payment .flow-head{padding:64px 0 42px;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:end}
.v227-flow-page .flow-head h1,.v227-payment .flow-head h1{max-width:650px;margin:0;font-size:clamp(40px,4.3vw,58px);font-weight:400;line-height:.98;letter-spacing:-.038em}
.v227-flow-page .flow-head>p:last-child,.v227-payment .flow-head>p:last-child{max-width:600px;margin:0;font-size:16px;line-height:1.68;color:#5b5754}
.v227-flow-page .flow-workspace{grid-template-columns:minmax(0,1.22fr) minmax(310px,.78fr);gap:24px;padding-bottom:86px}
.v227-flow-page .flow-steps{background:#e4e1de}
.v227-flow-page .flow-steps span{min-height:58px;padding:15px 17px;font-size:13px;color:#5f5b58}
.v227-flow-page .flow-steps span.is-active{background:#203d36;color:#fff}
.v227-flow-page .flow-card{padding:34px;background:#fff;border:1px solid rgba(38,37,36,.08);box-shadow:0 18px 50px rgba(28,29,28,.06)}
.v227-flow-page .flow-card-head{margin-bottom:26px}
.v227-flow-page .flow-card-head h2{font-size:31px;line-height:1.13}
.v227-flow-page .flow-card-head p{font-size:14px}
.v227-flow-page .flow-field{background:#fff;border-color:#c9c5c1}
.v227-flow-page .flow-primary{background:#203d36;color:#fff}
.v227-flow-page .flow-summary{padding:30px;background:#203d36;color:#fff;top:98px}
.v227-flow-page .flow-summary .page-kicker{color:#bfd0cc}
.v227-flow-page .flow-summary h2{font-size:29px;color:#fff}
.v227-flow-page .flow-summary dl{border-color:rgba(255,255,255,.22)}
.v227-flow-page .flow-summary dl div{border-color:rgba(255,255,255,.22)}
.v227-flow-page .flow-summary dt{color:rgba(255,255,255,.56)}.v227-flow-page .flow-summary dd{color:#fff}
.v227-flow-page .flow-summary-note{color:rgba(255,255,255,.66)}
.v227-house-choice-grid{align-items:start}
.v227-house-choice-grid .house-any{order:-1;grid-column:1/-1;background:#f7f5f2}
.v227-house-choice-grid .house-choice{overflow:hidden;border-color:rgba(38,37,36,.1);box-shadow:0 16px 42px rgba(28,29,28,.06)}
.v227-house-choice-grid .house-choice img{height:290px}
.v227-flow-assurance{padding:0 0 92px;background:#ece9e6}
.v227-flow-assurance>.shell{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.v227-flow-assurance article{padding:27px;background:#f7f5f2;border-top:2px solid #203d36}
.v227-flow-assurance article>span{font-size:11px;color:#5f5b57}.v227-flow-assurance h3{margin:22px 0 10px;font-size:20px;font-weight:500}.v227-flow-assurance p{margin:0;font-size:14px;line-height:1.6;color:#676360}
.v227-payment .payment-stage{padding:0 0 96px}
.v227-payment .payment-demo-card{max-width:850px;padding:40px;border:1px solid rgba(38,37,36,.08);box-shadow:0 24px 70px rgba(28,29,28,.08)}
.v227-payment .payment-provider-mark>span{background:#203d36}
.v227-payment .payment-demo-copy h2{font-size:40px;line-height:1.03}
.v227-success{min-height:100vh;background:linear-gradient(rgba(17,22,20,.88),rgba(17,22,20,.9)),url('/assets/villa-card-date.webp') center/cover fixed;color:#fff}
.v227-success .breadcrumbs{color:rgba(255,255,255,.7)}
.v227-success .breadcrumbs a::after{color:rgba(255,255,255,.4)}
.v227-success .success-panel{max-width:820px;padding:84px 0 105px}
.v227-success .success-symbol{background:#fff;color:#203d36}
.v227-success .page-kicker{color:#bfd0cc}
.v227-success h1{font-size:clamp(46px,5vw,66px);color:#fff}
.v227-success .success-panel>p:not(.page-kicker){color:rgba(255,255,255,.78)}
.v227-success .success-summary{border-color:rgba(255,255,255,.25)}
.v227-success .success-summary>div{border-color:rgba(255,255,255,.25)}
.v227-success .success-summary dt{color:rgba(255,255,255,.56)}.v227-success .success-summary dd{color:#fff}
.v227-success .flow-primary{background:#fff;color:#203d36}.v227-success .flow-secondary{border-color:rgba(255,255,255,.6);color:#fff}
.v227-account-hero{position:relative;min-height:430px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;color:#fff}
.v227-account-hero figure{position:absolute;inset:0;z-index:-3;margin:0}.v227-account-hero figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.68)}
.v227-account-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(15,20,18,.9),rgba(15,20,18,.35)),linear-gradient(180deg,transparent,rgba(15,20,18,.6))}
.v227-account-hero>.shell{padding-bottom:48px}.v227-account-hero .page-kicker{color:#bfd0cc}
.v227-account-hero h1{max-width:700px;margin:0;font-size:clamp(42px,4.6vw,62px);font-weight:400;line-height:.98}
.v227-account-hero p:last-child{max-width:680px;margin:18px 0 0;font-size:16px;line-height:1.65;color:rgba(255,255,255,.78)}
.v227-account .account-shell{padding-top:42px}
.v227-account .account-gate{border:1px solid rgba(38,37,36,.08);box-shadow:0 20px 58px rgba(28,29,28,.06)}
.v227-account .account-profile-card{background:#203d36}
.v227-account .account-draft,.v227-account .account-bookings-section{border:1px solid rgba(38,37,36,.08);box-shadow:0 16px 46px rgba(28,29,28,.05)}
@media(max-width:900px){
  .v227-split,.v227-heading,.v227-dark-feature>.shell,.v227-spec-layout,.v227-location-map>.shell,.v227-booking-path>.shell,.v227-flow-page .flow-head,.v227-payment .flow-head{grid-template-columns:1fr;gap:30px}
  .v227-house-pair{width:calc(var(--shell) - 40px)}
  .v227-editorial-gallery{grid-template-columns:1.2fr .8fr}
  .v227-flow-page .flow-workspace{grid-template-columns:1fr}
  .v227-flow-page .flow-summary{position:static}
  .v227-flow-assurance>.shell{grid-template-columns:1fr}
}
@media(max-width:760px){
  .v227-page .breadcrumbs,.v227-flow-page .breadcrumbs,.v227-account .breadcrumbs,.v227-payment .breadcrumbs,.v227-success .breadcrumbs{padding-top:18px;padding-bottom:14px}
  .v227-hero{min-height:570px}
  .v227-hero-copy{padding-bottom:38px}
  .v227-hero-copy h1{max-width:340px;font-size:38px;line-height:.98}
  .v227-hero-copy>p:not(.page-kicker){max-width:340px;margin-top:18px;font-size:15px;line-height:1.62}
  .v227-hero-facts{display:grid;grid-template-columns:1fr;margin-top:24px}
  .v227-hero-facts span{padding:10px 0;font-size:11px}
  .v227-hero-facts span+span{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.2)}
  .v227-hero-media figcaption{right:12px;bottom:10px;font-size:9px}
  .v227-section{padding:62px 0}
  .v227-split h2,.v227-heading h2,.v227-spec-layout h2,.v227-map-copy h2{font-size:35px;line-height:1.02}
  .v227-copy p,.v227-heading>p,.v227-heading>div:last-child p{font-size:15px;line-height:1.65}
  .v227-copy .lead{font-size:17px}
  .v227-value-row{grid-template-columns:1fr;margin-top:38px}
  .v227-value-row article{min-height:0;padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}
  .v227-value-row article:last-child{border-bottom:0}
  .v227-value-row h3{margin:12px 0 6px;font-size:19px}
  .v227-wide-scene{width:100%;height:280px;margin-top:32px}
  .v227-house-pair{width:100%;margin:-30px 0 0;padding-left:20px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .v227-house-pair::-webkit-scrollbar{display:none}
  .v227-house-pair article{flex:0 0 calc(100vw - 52px);padding:23px 21px;scroll-snap-align:start}
  .v227-house-pair h3{font-size:24px}
  .v227-note{padding:58px 0}
  .v227-note h2{font-size:35px}
  .v227-cta{padding:58px 0}
  .v227-cta>.shell{display:block}
  .v227-cta h2{font-size:35px}
  .v227-cta-actions{display:grid;margin-top:28px}
  .v227-cta-actions a{width:100%}
}
@media(max-width:760px){
  .v227-house-hero{min-height:570px}
  .v227-house-hero figcaption{right:12px;top:12px;font-size:9px}
  .v227-house-hero-copy{padding-bottom:34px}
  .v227-house-hero-copy h1{font-size:40px}
  .v227-house-hero-copy>p:not(.page-kicker){font-size:15px}
  .v227-house-hero-copy>div{display:grid;grid-template-columns:1fr}
  .v227-house-hero-copy>div span{padding:10px 0;font-size:11px}
  .v227-house-hero-copy>div span+span{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.2)}
  .v227-editorial-gallery{width:100%;display:flex;gap:12px;padding-left:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .v227-editorial-gallery::-webkit-scrollbar{display:none}
  .v227-editorial-gallery figure,.v227-editorial-gallery figure.is-large{flex:0 0 calc(100vw - 52px);height:340px;grid-row:auto;scroll-snap-align:start}
  .v227-dark-feature{padding:62px 0}
  .v227-dark-feature h2{font-size:35px}
  .v227-dark-copy>p{font-size:16px}
  .v227-dark-copy li{grid-template-columns:34px 1fr}
  .v227-spec-layout dl div{grid-template-columns:102px 1fr;gap:14px;font-size:14px}
  .v227-spa-story{padding:58px 0}
  .v227-spa-story>.shell{display:block;border-bottom:0}
  .v227-spa-story article{min-height:0;padding:18px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}
  .v227-spa-story article:last-child{border-bottom:0}
  .v227-location-map{padding:62px 0}
  .v227-map-panel .map-card{height:340px}
  .v227-rules-grid{grid-template-columns:1fr;gap:12px}
  .v227-rules-grid article{min-height:0;padding:23px}
  .v227-faq summary{font-size:20px}
  .v227-booking-path{padding:60px 0}
  .v227-booking-path ol{grid-template-columns:1fr;margin-top:28px}
  .v227-booking-path li{min-height:0;padding:15px 0;flex-direction:row;justify-content:flex-start;gap:18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}
  .v227-booking-path li:last-child{border-bottom:0}
}
@media(max-width:760px){
  .v227-flow-page .flow-head,.v227-payment .flow-head{padding:44px 0 30px;display:block}
  .v227-flow-page .flow-head h1,.v227-payment .flow-head h1{font-size:36px;line-height:1.02}
  .v227-flow-page .flow-head>p:last-child,.v227-payment .flow-head>p:last-child{margin-top:18px;font-size:15px}
  .v227-flow-page .flow-workspace{gap:16px;padding-bottom:64px}
  .v227-flow-page .flow-steps{grid-template-columns:repeat(2,1fr)}
  .v227-flow-page .flow-steps span{min-height:54px;padding:13px}
  .v227-flow-page .flow-card{padding:22px}
  .v227-flow-page .flow-card-head h2{font-size:27px}
  .v227-flow-page .flow-summary{padding:23px}
  .v227-house-choice-grid{display:flex;width:100%;gap:12px;padding-left:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .v227-house-choice-grid::-webkit-scrollbar{display:none}
  .v227-house-choice-grid .house-any,.v227-house-choice-grid .house-choice{flex:0 0 calc(100vw - 52px);scroll-snap-align:start}
  .v227-house-choice-grid .house-choice img{height:250px}
  .v227-flow-assurance{padding-bottom:68px}
  .v227-payment .payment-stage{padding-bottom:72px}
  .v227-payment .payment-demo-card{padding:24px}
  .v227-payment .payment-demo-copy h2{font-size:34px}
  .v227-success{background-attachment:scroll}
  .v227-success .success-panel{padding:62px 0 82px}
  .v227-success h1{font-size:42px}
  .v227-account-hero{min-height:360px}
  .v227-account-hero>.shell{padding-bottom:34px}
  .v227-account-hero h1{font-size:38px}
  .v227-account-hero p:last-child{font-size:15px}
  .v227-account .account-shell{padding-top:28px}
  .v227-account .account-gate{padding:23px}
  .v227-account .account-profile-card,.v227-account .account-draft,.v227-account .account-bookings-section{padding:23px}
}
@media(max-width:430px){
  .v227-hero-copy h1,.v227-house-hero-copy h1{font-size:36px}
  .v227-split h2,.v227-heading h2,.v227-spec-layout h2,.v227-map-copy h2,.v227-dark-feature h2,.v227-note h2,.v227-cta h2{font-size:33px}
}
/* V2.2.7 final readability */
.v227-page figcaption,.v227-house-detail figcaption{font-size:11px;line-height:1.35}
.v227-page .page-kicker,.v227-flow-page .page-kicker,.v227-account .page-kicker,.v227-payment .page-kicker,.v227-success .page-kicker{font-size:12px}
@media(max-width:760px){
  .v227-page figcaption,.v227-house-detail figcaption{font-size:11px}
  .v227-page .page-kicker,.v227-flow-page .page-kicker,.v227-account .page-kicker,.v227-payment .page-kicker,.v227-success .page-kicker{font-size:12px}
}

/* V2.2.8 revalidation — readable architectural render labels */
.v227-hero-media figcaption{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
.v227-hero::after{
  content:"Архитектурная визуализация · до профессиональной съёмки";
  position:absolute;
  right:24px;
  bottom:18px;
  z-index:2;
  max-width:min(420px,calc(100% - 48px));
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(8,14,12,.78);
  color:rgba(255,255,255,.9);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  font-size:11px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.1em;
  text-transform:uppercase;
  pointer-events:none;
}
@media(max-width:760px){
  .v227-hero::after{
    left:20px;
    right:20px;
    top:14px;
    bottom:auto;
    max-width:none;
    padding:6px 8px;
    font-size:10px;
    line-height:1.3;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .v227-house-hero figcaption{
    left:20px;
    right:20px;
    top:14px;
    bottom:auto;
    max-width:none;
    padding:6px 8px;
    font-size:10px;
    line-height:1.3;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

/* VILLAVILLE 2.2.8 — four-stage product expansion */
.desktop-nav{gap:18px}
.desktop-nav a{white-space:nowrap}
.booking-sheet-overlay,.booking-sheet-close{display:none}
.home-page .booking-card{grid-template-columns:185px 1fr}
.home-page .booking-form{grid-template-columns:1fr 1fr .85fr 1.08fr 118px;gap:10px}
.home-page .booking-form label{min-width:0}
.home-page .booking-form select{white-space:nowrap;text-overflow:ellipsis}
.home-season-compact{padding:88px 0;background:#ece9e6}
.home-season-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:42px}
.home-season-cards article{position:relative;min-height:430px;overflow:hidden;isolation:isolate;background:#171c1a;color:#fff}
.home-season-cards article>img{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.62);transition:transform .8s ease}
.home-season-cards article:hover>img{transform:scale(1.025)}
.home-season-cards article::after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(13,18,16,.12),rgba(13,18,16,.9))}
.home-season-cards article>div{position:absolute;left:0;right:0;bottom:0;padding:34px}
.home-season-cards .page-kicker{color:#bfd0cc}
.home-season-cards h3{max-width:430px;margin:0 0 14px;font-size:34px;font-weight:400;line-height:1.03}
.home-season-cards p{max-width:480px;margin:0 0 18px;font-size:15px;line-height:1.62;color:rgba(255,255,255,.82)}
.home-season-cards span{display:inline-block;padding:8px 10px;border:1px solid rgba(255,255,255,.32);font-size:11px;line-height:1.4;color:rgba(255,255,255,.72)}
.home-end-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:22px;padding:52px 0 74px}
.home-end-grid article{min-height:330px;padding:36px}
.home-city-guide-card{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;background:#f5f3f0;border:1px solid rgba(38,37,36,.12)}
.home-city-guide-card h3,.home-rules-card-v228 h3{max-width:520px;margin:0 0 18px;font-size:38px;font-weight:400;line-height:1.02}
.home-city-guide-card p:not(.page-kicker),.home-rules-card-v228 p:not(.page-kicker){margin:0 0 23px;font-size:15px;line-height:1.68;color:#5b5754}
.home-city-guide-points{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.home-city-guide-points li{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}
.home-city-guide-points span{font-size:11px;letter-spacing:.12em;color:#5f5b57}
.home-rules-card-v228{background:#203d36;color:#fff}
.home-rules-card-v228 .page-kicker{color:#bfd0cc}
.home-rules-card-v228 p:not(.page-kicker){color:rgba(255,255,255,.72)}
.home-rules-card-v228 .home-text-link{color:#fff;border-color:rgba(255,255,255,.65)}
.v228-location-links{padding:72px 0;background:#ece9e6}
.v228-location-links>.shell{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.v228-location-links article{padding:34px;background:#f7f5f2;border-top:2px solid #203d36}
.v228-location-links h2{margin:0 0 15px;font-size:36px;font-weight:400;line-height:1.03}
.v228-location-links p:not(.page-kicker){margin:0 0 22px;font-size:15px;line-height:1.65;color:#5b5754}
.v228-location-links a{display:inline-block;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:14px;font-weight:600}
.v228-season-section{padding:88px 0;background:#ece9e6}
.v228-season-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.v228-season-card{background:#f7f5f2;border:1px solid rgba(38,37,36,.1)}
.v228-season-card figure{position:relative;height:420px;margin:0;overflow:hidden;background:#171c1a}
.v228-season-card figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.72)}
.v228-season-card figure figcaption{position:absolute;left:14px;bottom:12px;padding:7px 9px;background:rgba(14,19,17,.7);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.v228-season-card>div{padding:32px 34px 36px}
.v228-season-card h2{max-width:500px;margin:0 0 28px;font-size:40px;font-weight:400;line-height:1.02}
.v228-season-card h3{margin:24px 0 10px;font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#4e4a47}
.v228-season-card ul{margin:0;padding-left:20px;font-size:15px;line-height:1.75;color:#4f4b48}
.v228-season-card p:not(.page-kicker){margin:0;font-size:15px;line-height:1.68;color:#5b5754}
.v228-activity-note{padding:76px 0;background:#203d36;color:#fff}
.v228-activity-note>.shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}
.v228-activity-note .page-kicker{color:#bfd0cc}
.v228-activity-note h2{max-width:620px;margin:0;font-size:48px;font-weight:400;line-height:1}
.v228-activity-note>div>p:last-child{max-width:650px;margin:26px 0 0;font-size:16px;line-height:1.72;color:rgba(255,255,255,.72)}
.v228-guide-map-section{padding:88px 0;background:#ece9e6}
.v228-guide-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:end;margin-bottom:44px}
.v228-guide-heading h2{margin:0;font-size:50px;font-weight:400;line-height:1}
.v228-guide-heading>p{max-width:600px;margin:0;font-size:15px;line-height:1.7;color:#5b5754}
.v228-guide-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:start}
.v228-city-map{position:sticky;top:98px;height:650px;overflow:hidden;background:#d9d6d2;border:1px solid rgba(38,37,36,.12)}
.v228-city-map::before{content:'';position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.62),transparent 48%),repeating-linear-gradient(0deg,transparent 0 72px,rgba(63,60,57,.05) 73px 74px)}
.v228-city-river{position:absolute;left:-12%;right:-12%;bottom:12%;height:126px;padding-top:52px;background:linear-gradient(180deg,rgba(62,108,101,.06),rgba(62,108,101,.22));border-top:1px solid rgba(53,91,86,.3);transform:rotate(-6deg);text-align:center;font-size:12px;letter-spacing:.22em;color:#4b6c66}
.v228-city-boulevard{position:absolute;left:10%;right:8%;bottom:34%;padding:12px 16px;border-top:1px solid rgba(38,37,36,.22);border-bottom:1px solid rgba(38,37,36,.22);font-size:11px;letter-spacing:.16em;color:#5f5b57}
.v228-city-street{position:absolute;height:1px;background:rgba(38,37,36,.16);transform-origin:left center}
.v228-city-street.one{left:18%;top:22%;width:70%;transform:rotate(18deg)}
.v228-city-street.two{left:12%;top:49%;width:76%;transform:rotate(-12deg)}
.v228-city-street.three{left:48%;top:11%;width:54%;transform:rotate(74deg)}
.v228-map-point{position:absolute;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#203d36;color:#fff;border:5px solid rgba(255,255,255,.75);box-shadow:0 8px 24px rgba(31,42,38,.22);font-size:12px;font-weight:600}
.v228-map-point.is-walk{left:18%;top:58%}.v228-map-point.is-museum{left:37%;top:38%}.v228-map-point.is-theatre{left:57%;top:53%}.v228-map-point.is-craft{left:72%;top:28%}.v228-map-point.is-cathedral{left:76%;top:61%}
.v228-map-caption{position:absolute;left:20px;bottom:16px;font-size:11px;color:#5f5b57}
.v228-guide-list{display:grid;gap:12px}
.v228-guide-place{padding:24px 26px;background:#f7f5f2;border:1px solid rgba(38,37,36,.1)}
.v228-guide-place>span{font-size:11px;letter-spacing:.14em;color:#5f5b57}
.v228-guide-place h3{margin:16px 0 9px;font-size:24px;font-weight:500;line-height:1.2}
.v228-guide-place p{margin:0 0 17px;font-size:14px;line-height:1.62;color:#5b5754}
.v228-guide-place a{display:inline-block;padding-bottom:4px;border-bottom:1px solid currentColor;font-size:13px;font-weight:600}
.v228-guide-place.is-active,.v228-guide-place:focus-within{border-color:#203d36;box-shadow:0 12px 28px rgba(31,42,38,.08)}
.v228-guide-source{padding:76px 0;background:#203d36;color:#fff}
.v228-guide-source .page-kicker{color:#bfd0cc}
.v228-guide-source h2{max-width:820px;margin:0 0 22px;font-size:45px;font-weight:400;line-height:1}
.v228-guide-source p:not(.page-kicker){max-width:740px;margin:0 0 23px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.72)}
.v228-guide-source a{display:inline-block;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.65);font-size:14px;font-weight:600;color:#fff}
.v228-booking-form-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px}
.v228-booking-form-actions>a{padding-bottom:4px;border-bottom:1px solid currentColor;font-size:13px;font-weight:600}
.v228-booking-form-actions .flow-primary{min-width:230px}
.v228-three-steps{grid-template-columns:repeat(3,1fr)!important}
.v228-three-steps span:nth-child(2){border-right:1px solid var(--line)!important}
.v228-three-steps span:nth-child(-n+2){border-bottom:0!important}
.v228-compare-return{grid-column:1/-1;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.v228-compare-return a{display:inline-block;padding-bottom:4px;border-bottom:1px solid currentColor;font-size:14px;font-weight:600}
@media(max-width:1120px) and (min-width:901px){
  .desktop-nav{gap:11px;font-size:10px}
  .nav-book{padding-inline:11px}
}
@media(max-width:900px){
  .home-season-cards,.home-end-grid,.v228-season-grid,.v228-guide-heading,.v228-guide-layout,.v228-activity-note>.shell{grid-template-columns:1fr}
  .home-city-guide-card{grid-template-columns:1fr}
  .v228-city-map{position:relative;top:auto;height:520px}
  .v228-location-links>.shell{grid-template-columns:1fr}
}
@media(max-width:760px){
  .booking-sheet-overlay{display:block;position:fixed;inset:0;z-index:120;background:rgba(10,14,12,.62);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
  body.booking-open .booking-sheet-overlay{opacity:1;visibility:visible;pointer-events:auto}
  .home-page .booking-section{position:fixed;left:0;right:0;bottom:0;z-index:130;max-height:88vh;margin:0;padding:0;background:#f3f1ee;overflow-y:auto;transform:translateY(105%);visibility:hidden;pointer-events:auto;transition:transform .28s ease,visibility .28s ease}
  body.booking-open .booking-section{transform:translateY(0);visibility:visible}
  body.booking-open{overflow:hidden}
  .home-page .booking-card{width:100%;padding:28px 20px calc(24px + env(safe-area-inset-bottom));background:#f3f1ee;box-shadow:0 -20px 60px rgba(12,18,15,.2)}
  .booking-sheet-close{display:grid;position:absolute;right:18px;top:14px;width:38px;height:38px;place-items:center;font-size:30px;line-height:1}
  .home-page .booking-intro{padding-right:50px}
  .home-page .booking-form{display:block;margin-top:25px}
  .home-page .booking-form label{margin-bottom:10px}
  .home-page .booking-submit{width:100%;min-height:52px;margin-top:8px}
}
@media(max-width:760px){
  .home-season-compact{padding:62px 0}
  .home-season-cards{gap:12px;margin-top:32px}
  .home-season-cards article{min-height:390px}
  .home-season-cards article>div{padding:25px 22px}
  .home-season-cards h3{font-size:29px}
  .home-season-cards p{font-size:14px}
  .home-end-grid{gap:14px;padding:38px 0 58px}
  .home-end-grid article{min-height:0;padding:27px 23px}
  .home-city-guide-card{gap:24px}
  .home-city-guide-card h3,.home-rules-card-v228 h3{font-size:31px}
  .v228-location-links{padding:58px 0}
  .v228-location-links article{padding:25px 22px}
  .v228-location-links h2{font-size:31px}
  .v228-season-section{padding:62px 0}
  .v228-season-grid{gap:14px}
  .v228-season-card figure{height:310px}
  .v228-season-card>div{padding:25px 22px 28px}
  .v228-season-card h2{font-size:33px}
  .v228-season-card h3{font-size:13px}
  .v228-activity-note{padding:58px 0}
  .v228-activity-note h2{font-size:34px}
  .v228-activity-note>div>p:last-child{margin-top:20px;font-size:15px}
}
@media(max-width:760px){
  .v228-guide-map-section{padding:62px 0}
  .v228-guide-heading{gap:20px;margin-bottom:30px}
  .v228-guide-heading h2{font-size:34px}
  .v228-guide-heading>p{font-size:14px}
  .v228-guide-layout{gap:14px}
  .v228-city-map{height:430px}
  .v228-map-point{width:38px;height:38px;border-width:4px}
  .v228-city-boulevard{left:7%;right:7%;font-size:9px}
  .v228-map-caption{left:14px;bottom:12px;max-width:250px;font-size:10px}
  .v228-guide-place{padding:22px}
  .v228-guide-place h3{font-size:22px}
  .v228-guide-source{padding:58px 0}
  .v228-guide-source h2{font-size:34px}
  .v228-booking-form-actions{display:grid}
  .v228-booking-form-actions>a{justify-self:start}
  .v228-booking-form-actions .flow-primary{width:100%;min-width:0}
  .v228-three-steps{grid-template-columns:1fr!important}
  .v228-three-steps span{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .v228-three-steps span:last-child{border-bottom:0!important}
  .v228-compare-return{padding:15px 0}
}
@media(max-width:430px){
  .home-season-cards article{min-height:370px}
  .v228-city-map{height:400px}
  .v228-map-point.is-craft{left:68%}
  .v228-map-point.is-cathedral{left:72%}
}
/* V2.2.8 compact mobile teasers */
@media(max-width:760px){
  .home-season-cards{width:100%;max-width:none;display:flex;gap:12px;margin-top:30px;padding:0 20px 8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;scrollbar-width:none}
  .home-season-cards::-webkit-scrollbar,.home-end-grid::-webkit-scrollbar{display:none}
  .home-season-cards article{flex:0 0 calc(100vw - 52px);min-height:390px;scroll-snap-align:start}
  .home-end-grid{width:100%;max-width:none;display:flex;gap:12px;padding:38px 20px 58px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;scrollbar-width:none}
  .home-end-grid article{flex:0 0 calc(100vw - 52px);scroll-snap-align:start}
}

/* V2.3.0 — confirmed differentiation between House Light and House Shadow */
:root {
  --v230-ink: #1f2523;
  --v230-muted: #6d6a64;
  --v230-line: rgba(31, 37, 35, 0.18);
  --v230-light-bg: #eee9df;
  --v230-light-panel: #f8f5ef;
  --v230-light-accent: #737b5f;
  --v230-shadow-bg: #222626;
  --v230-shadow-panel: #2d302f;
  --v230-shadow-accent: #b08768;
}

.v230-same-different {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 38px;
  border-top: 1px solid var(--v230-line);
  border-bottom: 1px solid var(--v230-line);
}

.v230-same-different article {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 22px;
  padding: 26px 28px 28px 0;
}

.v230-same-different article + article {
  padding-left: 28px;
  border-left: 1px solid var(--v230-line);
}

.v230-same-different span,
.v230-house-card__label,
.v230-comparison-card__section > span,
.v230-comparison-card__fit > span,
.v230-house-card__fit > span,
.v230-house-identity__palette > span,
.v230-house-identity__details > div > span,
.v230-house-identity__details aside > span,
.v230-house-identity__address > span,
.v230-booking-house-card__section > strong,
.v230-booking-house-card__fit > strong {
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.v230-same-different p {
  margin: 0;
  line-height: 1.7;
}

.v230-home-house-grid,
.v230-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.v230-home-house-grid {
  margin-top: 44px;
}

.v230-house-card,
.v230-comparison-card {
  min-width: 0;
  border: 1px solid var(--v230-line);
  overflow: hidden;
}

.v230-house-card.is-light,
.v230-comparison-card.is-light {
  color: var(--v230-ink);
  background: var(--v230-light-panel);
}

.v230-house-card.is-shadow,
.v230-comparison-card.is-shadow {
  color: #f7f4ee;
  background: var(--v230-shadow-bg);
  border-color: rgba(255, 255, 255, 0.17);
}

.v230-house-card__media,
.v230-comparison-card > figure {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #101413;
}

.v230-house-card__media img,
.v230-comparison-card > figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

.v230-house-card:hover .v230-house-card__media img,
.v230-comparison-card:hover > figure img {
  transform: scale(1.025);
}

.v230-house-card__media::after,
.v230-comparison-card > figure::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(to bottom, transparent, rgba(6, 10, 9, 0.78));
  pointer-events: none;
}

.v230-house-card__media figcaption,
.v230-comparison-card > figure figcaption {
  position: absolute;
  z-index: 1;
  left: 24px;
  bottom: 19px;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.v230-house-card__body,
.v230-comparison-card__body {
  display: flex;
  flex-direction: column;
  gap: 27px;
  padding: 34px;
}

.v230-house-card__heading,
.v230-comparison-card__body > p,
.v230-comparison-card__body > strong {
  margin: 0;
}

.v230-house-card__heading h3,
.v230-comparison-card__body h3 {
  margin: 7px 0 9px;
  font-size: clamp(2.1rem, 3.2vw, 3.75rem);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.v230-house-card__heading > strong,
.v230-comparison-card__body > strong {
  display: block;
  font-size: clamp(1.08rem, 1.5vw, 1.35rem);
  font-weight: 500;
  line-height: 1.4;
}

.v230-house-card__heading > p:last-child,
.v230-comparison-card__body > p {
  margin-top: 15px;
  line-height: 1.75;
  opacity: 0.82;
}

.v230-house-card__group,
.v230-comparison-card__section {
  display: grid;
  gap: 13px;
  padding-top: 22px;
  border-top: 1px solid currentColor;
  border-color: rgba(31, 37, 35, 0.16);
}

.is-shadow .v230-house-card__group,
.is-shadow .v230-comparison-card__section {
  border-color: rgba(255, 255, 255, 0.17);
}

.house-palette {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.house-palette li {
  display: grid;
  gap: 8px;
  min-width: 0;
  font-size: 0.78rem;
  line-height: 1.35;
}

.house-palette__swatch {
  display: block;
  width: 100%;
  height: 15px;
  border: 1px solid rgba(0, 0, 0, 0.12);
}

.house-palette__swatch--light-1 { background: #bea47e; }
.house-palette__swatch--light-2 { background: #eee8dc; }
.house-palette__swatch--light-3 { background: #777d60; }
.house-palette__swatch--shadow-1 { background: #333637; }
.house-palette__swatch--shadow-2 { background: #55514e; }
.house-palette__swatch--shadow-3 { background: #ae8060; }

.is-shadow .house-palette__swatch {
  border-color: rgba(255, 255, 255, 0.16);
}

.house-palette--compact li {
  font-size: 0.7rem;
}

.house-palette--compact .house-palette__swatch {
  height: 10px;
}

.house-feature-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.house-feature-list li {
  position: relative;
  padding-left: 20px;
  line-height: 1.58;
}

.house-feature-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.69em;
  width: 8px;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
}

.v230-house-card__fit,
.v230-comparison-card__fit,
.v230-booking-house-card__fit {
  padding: 20px;
  background: rgba(116, 124, 96, 0.1);
  border-left: 2px solid var(--v230-light-accent);
}

.is-shadow .v230-house-card__fit,
.is-shadow .v230-comparison-card__fit,
.is-shadow .v230-booking-house-card__fit {
  background: rgba(176, 135, 104, 0.12);
  border-left-color: var(--v230-shadow-accent);
}

.v230-house-card__fit p,
.v230-comparison-card__fit p,
.v230-booking-house-card__fit p {
  margin: 9px 0 0;
  line-height: 1.65;
}

.v230-house-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.v230-house-card__facts span {
  padding: 7px 10px;
  border: 1px solid rgba(31, 37, 35, 0.17);
  font-size: 0.72rem;
  line-height: 1.35;
}

.is-shadow .v230-house-card__facts span {
  border-color: rgba(255, 255, 255, 0.17);
}

.v230-house-card__actions,
.v230-comparison-card__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: auto;
}

.v230-house-card__actions a,
.v230-comparison-card__actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid currentColor;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
}

.v230-house-card__actions a:last-child,
.v230-comparison-card__actions a:last-child {
  color: #fff;
  background: #1c463c;
  border-color: #1c463c;
}

.is-shadow .v230-house-card__actions a:last-child,
.is-shadow .v230-comparison-card__actions a:last-child {
  color: #222626;
  background: #d7b18f;
  border-color: #d7b18f;
}

.v230-choice-section {
  padding: clamp(72px, 9vw, 132px) 0;
  background: #e9e5de;
}

.v230-choice-heading {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.75fr);
  gap: 9vw;
  align-items: end;
  margin-bottom: 48px;
}

.v230-choice-heading h2 {
  margin: 7px 0 0;
  max-width: 780px;
  font-size: clamp(2.8rem, 5.5vw, 6rem);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.055em;
}

.v230-choice-heading > p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.75;
}

.v230-selection-guide {
  padding: clamp(70px, 8vw, 118px) 0;
  color: #f5f1ea;
  background: #14201d;
}

.v230-selection-guide .shell {
  display: grid;
  gap: 38px;
}

.v230-selection-guide h2 {
  margin: 8px 0 0;
  max-width: 740px;
  font-size: clamp(2.8rem, 5vw, 5.3rem);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.05em;
}

.v230-selection-guide__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.v230-selection-guide__grid article {
  padding: 28px 32px 30px 0;
}

.v230-selection-guide__grid article + article {
  padding-left: 32px;
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.v230-selection-guide__grid span {
  display: block;
  margin-bottom: 12px;
  font-size: 1.25rem;
  font-weight: 600;
}

.v230-selection-guide__grid p,
.v230-selection-guide__note {
  margin: 0;
  line-height: 1.72;
  opacity: 0.82;
}

.v230-selection-guide__note {
  max-width: 760px;
}

.v230-house-identity {
  padding: clamp(72px, 9vw, 128px) 0;
}

.v230-house-identity.is-light {
  color: var(--v230-ink);
  background: var(--v230-light-bg);
}

.v230-house-identity.is-shadow {
  color: #f5f1ea;
  background: var(--v230-shadow-bg);
}

.v230-house-identity > .shell {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(340px, 0.76fr);
  gap: 9vw;
  align-items: start;
}

.v230-house-identity h2 {
  margin: 8px 0 23px;
  max-width: 700px;
  font-size: clamp(2.9rem, 5.5vw, 6rem);
  font-weight: 400;
  line-height: 0.94;
  letter-spacing: -0.055em;
}

.v230-house-identity .lead {
  max-width: 680px;
  font-size: 1.08rem;
  line-height: 1.75;
}

.v230-house-identity__palette {
  display: grid;
  gap: 14px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid currentColor;
  border-color: rgba(31, 37, 35, 0.2);
}

.v230-house-identity.is-shadow .v230-house-identity__palette {
  border-color: rgba(255, 255, 255, 0.2);
}

.v230-house-identity__details {
  display: grid;
  gap: 25px;
}

.v230-house-identity__details > div {
  display: grid;
  gap: 16px;
  padding: 27px;
  border: 1px solid currentColor;
  border-color: rgba(31, 37, 35, 0.2);
}

.v230-house-identity.is-shadow .v230-house-identity__details > div {
  border-color: rgba(255, 255, 255, 0.2);
}

.v230-house-identity__details aside {
  padding: 25px 27px;
  background: rgba(116, 124, 96, 0.12);
  border-left: 2px solid var(--v230-light-accent);
}

.v230-house-identity.is-shadow .v230-house-identity__details aside {
  background: rgba(176, 135, 104, 0.12);
  border-left-color: var(--v230-shadow-accent);
}

.v230-house-identity__details aside p {
  margin: 10px 0 0;
  line-height: 1.7;
}

.v230-house-identity__address {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-top: 20px;
  border-top: 1px solid currentColor;
  border-color: rgba(31, 37, 35, 0.2);
  line-height: 1.55;
}

.v230-house-identity.is-shadow .v230-house-identity__address {
  border-color: rgba(255, 255, 255, 0.2);
}

.v230-other-house a {
  display: inline-block;
  margin-top: 20px;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
  font-weight: 600;
  text-decoration: none;
}

.v230-booking-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 23px 0 30px;
}

.v230-booking-choice__card {
  display: grid;
  gap: 10px;
  padding: 19px;
  border: 1px solid var(--v230-line);
}

.v230-booking-choice__card.is-light {
  background: var(--v230-light-panel);
}

.v230-booking-choice__card.is-shadow {
  color: #f6f2eb;
  background: var(--v230-shadow-panel);
  border-color: rgba(255, 255, 255, 0.15);
}

.v230-booking-choice__card > span {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.v230-booking-choice__card > strong {
  font-size: 1rem;
  line-height: 1.4;
}

.v230-booking-choice__card > p {
  margin: 2px 0 0;
  font-size: 0.82rem;
  line-height: 1.55;
  opacity: 0.78;
}

.v230-selected-house-note {
  display: grid;
  gap: 5px;
  margin: 0 0 22px;
  padding: 16px 18px;
  color: #1f2523;
  background: #efe9dd;
  border-left: 2px solid #777d60;
}

.v230-selected-house-note.is-shadow {
  color: #f7f3ec;
  background: #303333;
  border-left-color: #b08768;
}

.v230-selected-house-note strong {
  font-size: 1rem;
}

.v230-selected-house-note span,
.v230-selected-house-note small {
  line-height: 1.45;
}

.v230-booking-compare .flow-workspace {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
}

.v230-booking-compare .v228-compare-return {
  grid-column: 1 / -1;
}

.v230-booking-house-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
}

.v230-booking-house-grid .house-any {
  grid-column: 1 / -1;
  width: auto !important;
  min-width: 0 !important;
}

.v230-booking-house-card {
  display: flex !important;
  flex-direction: column;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  transform: none !important;
  overflow: hidden !important;
  scroll-snap-align: none !important;
  border: 1px solid var(--v230-line);
}

.v230-booking-house-card.is-light {
  background: var(--v230-light-panel);
}

.v230-booking-house-card.is-shadow {
  color: #f7f3ec;
  background: var(--v230-shadow-panel);
  border-color: rgba(255, 255, 255, 0.17);
}

.v230-booking-house-card > img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.v230-booking-house-card > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 17px;
  padding: 24px;
}

.v230-booking-house-card h2,
.v230-booking-house-card p,
.v230-booking-house-card small {
  margin: 0;
}

.v230-booking-house-card h2 {
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.v230-booking-house-card > div > p {
  line-height: 1.65;
  opacity: 0.82;
}

.v230-booking-house-card__section {
  display: grid;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(31, 37, 35, 0.16);
}

.v230-booking-house-card.is-shadow .v230-booking-house-card__section {
  border-color: rgba(255, 255, 255, 0.17);
}

.v230-booking-house-card small {
  display: block;
  line-height: 1.55;
  opacity: 0.7;
}

.v230-booking-house-card .flow-primary {
  width: 100%;
  margin-top: auto;
}

.v230-booking-house-card.is-shadow .flow-primary {
  color: #222626;
  background: #d7b18f;
  border-color: #d7b18f;
}

@media (max-width: 1080px) {
  .v230-house-card__body,
  .v230-comparison-card__body {
    padding: 28px;
  }

  .v230-house-card__actions,
  .v230-comparison-card__actions {
    grid-template-columns: 1fr;
  }

  .v230-booking-compare .flow-workspace {
    grid-template-columns: minmax(0, 1fr) 330px;
  }
}

@media (max-width: 900px) {
  .v230-choice-heading,
  .v230-house-identity > .shell {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .v230-booking-compare .flow-workspace {
    grid-template-columns: 1fr;
  }

  .v230-booking-compare .flow-summary {
    grid-column: 1;
  }
}

@media (max-width: 760px) {
  .v230-same-different,
  .v230-home-house-grid,
  .v230-comparison-grid,
  .v230-selection-guide__grid,
  .v230-booking-choice,
  .v230-booking-house-grid {
    grid-template-columns: 1fr !important;
  }

  .v230-same-different article {
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 21px 0;
  }

  .v230-same-different article + article {
    padding-left: 0;
    border-top: 1px solid var(--v230-line);
    border-left: 0;
  }

  .v230-home-house-grid {
    gap: 18px;
    margin-top: 30px;
  }

  .v230-house-card__body,
  .v230-comparison-card__body {
    gap: 23px;
    padding: 24px 20px 25px;
  }

  .v230-house-card__media figcaption,
  .v230-comparison-card > figure figcaption {
    left: 18px;
    bottom: 15px;
  }

  .v230-house-card__heading h3,
  .v230-comparison-card__body h3 {
    font-size: clamp(2.4rem, 13vw, 3.5rem);
  }

  .house-palette {
    gap: 7px;
  }

  .house-palette li {
    font-size: 0.68rem;
  }

  .v230-choice-section,
  .v230-selection-guide,
  .v230-house-identity {
    padding: 66px 0;
  }

  .v230-choice-heading {
    gap: 24px;
    margin-bottom: 30px;
  }

  .v230-choice-heading h2,
  .v230-selection-guide h2,
  .v230-house-identity h2 {
    font-size: clamp(2.55rem, 12vw, 4rem);
  }

  .v230-selection-guide__grid article,
  .v230-selection-guide__grid article + article {
    padding: 24px 0;
    border-left: 0;
  }

  .v230-selection-guide__grid article + article {
    border-top: 1px solid rgba(255, 255, 255, 0.22);
  }

  .v230-house-identity__details > div,
  .v230-house-identity__details aside {
    padding: 22px 20px;
  }

  .v230-booking-choice {
    margin-top: 18px;
  }

  .v230-booking-house-grid .house-any {
    grid-column: 1;
  }

  .v230-booking-house-card > div {
    padding: 22px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v230-house-card__media img,
  .v230-comparison-card > figure img {
    transition: none;
  }
}

/* VILLAVILLE — global quick booking restored on every public content page */
.global-quick-booking{position:relative;z-index:24;margin:0;padding:32px 0 58px;background:var(--bg);pointer-events:none}
.global-quick-booking.is-plain{margin:0;padding:28px 0 58px;background:var(--bg)}
.global-quick-booking__card{min-height:136px;padding:26px;display:grid;grid-template-columns:185px minmax(0,1fr);gap:24px;align-items:center;background:rgba(244,241,234,.96);border:1px solid rgba(38,37,36,.1);box-shadow:0 18px 42px rgba(25,29,27,.09);backdrop-filter:blur(12px);pointer-events:auto}
.global-quick-booking__intro p{margin:0 0 7px;font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#66625f}
.global-quick-booking__intro h2{margin:0 0 7px;font-size:22px;font-weight:500;line-height:1.15}
.global-quick-booking__intro span{display:block;font-size:10px;line-height:1.5;color:rgba(38,37,36,.68)}
.global-quick-booking__form{position:relative;display:grid;grid-template-columns:1fr 1fr .78fr 1.08fr 122px;gap:10px;align-items:stretch;min-width:0}
.global-quick-booking__form label{min-width:0;min-height:58px;padding:10px 14px;display:flex;flex-direction:column;justify-content:center;background:#fff;border:1px solid rgba(38,37,36,.12);border-radius:4px}
.global-quick-booking__form label span{margin-bottom:4px;font-size:9px;color:#5e5b59}
.global-quick-booking__form input,.global-quick-booking__form select{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:#111;font-size:13px;text-overflow:ellipsis}
.global-quick-booking__form input:focus-visible,.global-quick-booking__form select:focus-visible{box-shadow:0 2px 0 var(--accent)}
.global-quick-booking__submit{min-height:58px;padding:0 14px;border-radius:4px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;transition:background .2s ease,transform .2s ease}
.global-quick-booking__submit:hover,.global-quick-booking__submit:focus-visible{background:var(--accent-dark);transform:translateY(-1px)}
.global-quick-booking__status{position:absolute;left:0;right:0;top:calc(100% + 8px);margin:0;font-size:11px;line-height:1.4;color:#272524}
@media(min-width:901px){.v227-hero:has(+ .global-quick-booking) figcaption,.v227-house-hero:has(+ .global-quick-booking) figcaption,.v227-account-hero:has(+ .global-quick-booking) figcaption{bottom:22px}}
@media(max-width:1120px){.global-quick-booking__card{grid-template-columns:150px minmax(0,1fr);gap:18px}.global-quick-booking__form{grid-template-columns:1fr 1fr .8fr 1fr 110px;gap:8px}}
@media(max-width:900px){.global-quick-booking{margin:0;background:var(--bg)}.global-quick-booking__card{grid-template-columns:1fr;gap:18px}.global-quick-booking__form{grid-template-columns:1fr 1fr}.global-quick-booking__submit{grid-column:1/-1}.global-quick-booking__status{position:static;grid-column:1/-1}}
@media(max-width:760px){.global-quick-booking,.global-quick-booking.is-plain{margin:0;padding:34px 0 52px;background:var(--bg)}.global-quick-booking__card{width:100%;min-height:0;padding:0 20px;display:block;background:transparent;border:0;box-shadow:none;backdrop-filter:none}.global-quick-booking__intro h2{font-size:22px}.global-quick-booking__intro span{max-width:330px}.global-quick-booking__form{display:block;margin-top:24px}.global-quick-booking__form label{min-height:55px;margin-bottom:11px}.global-quick-booking__submit{width:100%;min-height:53px;margin-top:5px}.global-quick-booking__status{margin-top:11px}}

/* VILLAVILLE 2.3.1 — coherent quiet-luxury typography */
@font-face{
  font-family:"Cormorant Garamond";
  src:url('/assets/cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
  unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face{
  font-family:"Cormorant Garamond";
  src:url('/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
  unicode-range:U+0000-024F;
}
@font-face{
  font-family:"Cormorant Garamond";
  src:url('/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
  unicode-range:U+0400-052F,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face{
  font-family:"Cormorant Garamond";
  src:url('/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
  unicode-range:U+0000-024F;
}

:root{
  --font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-ui:Manrope,Arial,sans-serif;
  --type-body:#4f4b48;
  --type-muted:#5f5b57;
}
html{font-size:16px}
body{
  font-family:var(--font-ui);
  font-kerning:normal;
  font-variant-ligatures:common-ligatures contextual;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-synthesis:none;
}
main h1,main h2,.house-dialog h2{
  font-family:var(--font-display);
  font-weight:500;
  font-kerning:normal;
  letter-spacing:-.018em;
  text-wrap:balance;
}
main h1{line-height:.96}
main h2{line-height:1.02}
main p,main li,main dd{font-kerning:normal;text-wrap:pretty}

.desktop-nav{
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:600;
  letter-spacing:.095em;
}
.nav-book{font-size:12px;letter-spacing:.065em}
.breadcrumbs,.breadcrumbs a,.breadcrumbs span{
  font-family:var(--font-ui);
  font-size:12px;
  line-height:1.45;
  letter-spacing:.105em;
}
.page-kicker,.split-title>p,.hero-overline,
.v230-house-card__label,.house-card-address{
  font-family:var(--font-ui);
  font-size:11px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:.13em;
}
button,input,select,textarea,.flow-primary,.flow-secondary{
  font-family:var(--font-ui);
}
.flow-primary,.flow-secondary,.home-primary-link,
.v227-cta-actions a,.v230-house-card__actions a{
  letter-spacing:.005em;
}

/* Display hierarchy: elegant, but still architectural. */
.hero-message-premium h1{
  font-size:clamp(72px,6vw,84px);
  line-height:.96!important;
  letter-spacing:-.022em!important;
}
.v227-hero-copy h1{
  max-width:800px;
  font-size:clamp(58px,5vw,72px);
  line-height:.96!important;
}
.v227-house-hero-copy h1{
  font-size:clamp(58px,5vw,72px);
  line-height:.96!important;
}
.v227-account-hero h1,.v227-success h1{
  font-size:clamp(52px,4.7vw,68px);
}
.v227-flow-page .flow-head h1,.v227-payment .flow-head h1{
  font-size:clamp(48px,4.4vw,62px);
}
.page-hero-copy h1,.booking-page-head h1,.flow-head h1,.account-head h1{
  letter-spacing:-.02em!important;
}

.home-intro-premium h2,.home-section-heading h2,
.home-ritual-editorial h2,.home-location-showcase h2,
.home-final-booking h2,.v230-choice-heading h2,
.v230-selection-guide h2,.v230-house-identity h2{
  letter-spacing:-.021em!important;
}
.v227-split h2,.v227-heading h2,.v227-spec-layout h2,
.v227-map-copy h2,.v227-dark-feature h2,.v227-note h2,
.v227-cta h2,.v227-booking-path h2{
  font-size:clamp(44px,4vw,58px);
  letter-spacing:-.018em!important;
}
.v230-house-card__heading h3,.v230-comparison-card__body h3{
  font-size:clamp(39px,3.6vw,58px);
  letter-spacing:-.015em!important;
}
.home-house-select-grid h3,.v227-house-pair h3,
.home-season-cards h3,.home-city-guide-card h3,
.home-rules-card-v228 h3{
  font-size:clamp(28px,2.4vw,38px);
  letter-spacing:-.012em!important;
}

/* Reading rhythm for a real guest, not a poster. */
.v227-copy p,.v227-heading>p,.v227-heading>div:last-child p,
.home-intro-premium-copy p,.home-section-heading>div:last-child p,
.v230-choice-heading>p,.v230-house-identity .lead{
  line-height:1.64;
}
.v227-copy .lead,.home-intro-premium-copy .lead,
.home-ritual-editorial-copy>.lead{
  line-height:1.48;
}
.v227-hero-copy>p:not(.page-kicker),
.v227-house-hero-copy>p:not(.page-kicker),
.v227-account-hero p:last-child{
  line-height:1.55;
}
.v230-house-card__heading>p:last-child,
.v230-comparison-card__body>p,
.v230-house-card__fit p,.v230-comparison-card__fit p,
.house-feature-list li{
  line-height:1.58;
}
.v227-value-row p,.v227-rules-grid p,.v227-spa-story p,
.flow-trust p,.payment-roadmap p{
  line-height:1.58;
}

/* Booking and service typography stays direct and highly legible. */
.booking-intro h2,.global-quick-booking__intro h2,
.flow-card-head h2,.flow-summary h2,.payment-demo-copy h2,
.account-gate h2,.account-profile-card h2,
.account-draft h2,.account-section-head h2{
  font-family:var(--font-display);
  font-weight:500;
  letter-spacing:-.012em!important;
}
.booking-intro h2{font-size:29px;line-height:1}
.global-quick-booking__intro h2{font-size:29px;line-height:1}
.global-quick-booking__intro p{font-size:10px;letter-spacing:.12em}
.global-quick-booking__intro span{font-size:11px;line-height:1.45}
.global-quick-booking__form label span{font-size:10px;line-height:1.3}
.global-quick-booking__form input,.global-quick-booking__form select{font-size:14px}
.global-quick-booking__submit{font-size:13px}
.booking-form label span,.flow-field>span{
  font-size:11px;
  line-height:1.35;
  letter-spacing:.07em;
}
.booking-form input,.booking-form select,.flow-field input,
.flow-field select,.flow-field textarea{font-size:15px}

input[type="date"],.flow-summary dd,.checkout-list dd,
.payment-order-summary dd,.success-summary dd,
.v227-hero-facts,.v227-house-hero-copy>div,
.home-value-strip,.v230-house-card__facts{
  font-variant-numeric:tabular-nums;
}
.flow-steps span,.v227-flow-page .flow-steps span{
  font-size:13px;
  line-height:1.35;
}
.flow-card-head h2{font-size:36px!important;line-height:1.02!important}
.flow-summary h2{font-size:34px!important;line-height:1.02!important}
.house-choice h2,.v230-booking-house-card h2{
  font-family:var(--font-display);
  font-weight:500;
  letter-spacing:-.014em!important;
}
.v230-booking-house-card h2{font-size:clamp(34px,3vw,46px)}
.v230-booking-choice__card>strong{font-size:15px;line-height:1.4}
.v230-booking-choice__card>p{font-size:13px;line-height:1.52}
.v230-booking-house-card>div>p{line-height:1.58}

/* Utility text must remain quiet, never microscopic. */
.v230-same-different span,.v230-comparison-card__section>span,
.v230-comparison-card__fit>span,.v230-house-card__fit>span,
.v230-house-identity__palette>span,
.v230-house-identity__details>div>span,
.v230-house-identity__details aside>span,
.v230-house-identity__address>span,
.v230-booking-house-card__section>strong,
.v230-booking-house-card__fit>strong{
  font-size:11px;
  line-height:1.4;
  letter-spacing:.105em;
}
.house-palette li,.house-palette--compact li{
  font-size:12px;
  line-height:1.35;
}
.v230-house-card__facts span,
.v230-house-card__actions a,.v230-comparison-card__actions a{
  font-size:13px;
}
figcaption,.v227-hero::after{
  font-family:var(--font-ui);
  letter-spacing:.085em!important;
}

@media(max-width:900px){
  .mobile-menu>nav>a{
    font-family:var(--font-display);
    font-weight:500;
    letter-spacing:-.01em;
    line-height:.96;
  }
}
@media(max-width:760px){
  body{font-size:16px}
  .desktop-nav{font-size:12px}
  .breadcrumbs,.breadcrumbs a,.breadcrumbs span{font-size:11px}
  .page-kicker,.split-title>p,.hero-overline,
  .v230-house-card__label,.house-card-address{font-size:11px}
  .hero-message-premium h1{font-size:46px;line-height:.98!important}
  .v227-hero-copy h1{max-width:350px;font-size:44px;line-height:.98!important}
  .v227-house-hero-copy h1{font-size:44px;line-height:.98!important}
  .v227-account-hero h1,.v227-success h1{font-size:42px}
  .v227-flow-page .flow-head h1,.v227-payment .flow-head h1{font-size:40px}
  .v227-split h2,.v227-heading h2,.v227-spec-layout h2,
  .v227-map-copy h2,.v227-dark-feature h2,.v227-note h2,
  .v227-cta h2,.v227-booking-path h2{font-size:38px}
}

@media(max-width:760px){
  .home-intro-premium h2,.home-section-heading h2,
  .home-ritual-editorial h2,.home-location-showcase h2,
  .home-final-booking h2{font-size:38px!important;line-height:1!important}
  .v230-choice-heading h2,.v230-selection-guide h2,
  .v230-house-identity h2{font-size:40px;line-height:.98!important}
  .v230-house-card__heading h3,.v230-comparison-card__body h3{
    font-size:36px;line-height:.98
  }
  .home-house-select-grid h3,.v227-house-pair h3,
  .home-season-cards h3,.home-city-guide-card h3,
  .home-rules-card-v228 h3{font-size:31px}
  .v227-hero-copy>p:not(.page-kicker),
  .v227-house-hero-copy>p:not(.page-kicker),
  .v227-copy p,.v227-heading>p,.v227-heading>div:last-child p{font-size:16px}
  .v227-copy .lead,.home-intro-premium-copy .lead{font-size:18px}
  .global-quick-booking__intro h2,.booking-intro h2{font-size:31px}
  .global-quick-booking__intro span{font-size:12px}
  .global-quick-booking__form label span{font-size:11px}
  .global-quick-booking__form input,.global-quick-booking__form select{font-size:16px}
}

@media(max-width:760px){
  .flow-card-head h2{font-size:34px!important}
  .flow-summary h2{font-size:32px!important}
  .flow-field>span,.booking-form label span{font-size:11px}
  .flow-field input,.flow-field select,.flow-field textarea,
  .booking-form input,.booking-form select{font-size:16px}
  .flow-primary,.flow-secondary,.booking-submit,
  .global-quick-booking__submit{font-size:14px}
  .v230-booking-house-card h2{font-size:38px}
  .v230-same-different span,.v230-comparison-card__section>span,
  .v230-comparison-card__fit>span,.v230-house-card__fit>span,
  .v230-house-identity__palette>span,
  .v230-house-identity__details>div>span,
  .v230-house-identity__details aside>span,
  .v230-house-identity__address>span{font-size:11px}
  .house-palette li,.house-palette--compact li{font-size:11px}
  .mobile-menu>nav>a{font-size:39px}
  .mobile-menu-meta a{font-family:var(--font-ui);font-size:14px}
}
@media(max-width:430px){
  .hero-message-premium h1{font-size:44px}
  .v227-hero-copy h1,.v227-house-hero-copy h1{font-size:42px}
  .v227-split h2,.v227-heading h2,.v227-spec-layout h2,
  .v227-map-copy h2,.v227-dark-feature h2,.v227-note h2,.v227-cta h2{font-size:36px}
}

/* V2.3.1 refinement — serif is reserved for editorial statements. */
main h3{
  font-family:var(--font-ui);
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.012em!important;
}
.home-house-select-grid h3,.v227-house-pair h3,
.home-season-cards h3,.home-city-guide-card h3,
.home-rules-card-v228 h3,.v230-house-card__heading h3,
.v230-comparison-card__body h3{
  font-family:var(--font-display);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.012em!important;
}
.home-value-strip h3,.v227-value-row h3,
.v227-rules-grid h3,.v227-spa-story h3,
.flow-trust h3,.payment-roadmap h3{
  font-family:var(--font-ui);
  font-weight:500;
}

/* Transactional surfaces stay modern and instantly readable. */
.booking-intro h2,.global-quick-booking__intro h2,
.flow-card-head h2,.flow-summary h2,
.payment-demo-copy h2,.account-gate h2,.account-profile-card h2,
.account-draft h2,.account-section-head h2{
  font-family:var(--font-ui);
  font-weight:500;
  letter-spacing:-.025em!important;
}
.booking-intro h2{font-size:24px;line-height:1.12}
.global-quick-booking__intro h2{
  max-width:190px;
  font-size:23px;
  line-height:1.12;
}
.flow-card-head h2{font-size:31px!important;line-height:1.12!important}
.flow-summary h2{font-size:29px!important;line-height:1.13!important}
.payment-demo-copy h2{font-size:40px;line-height:1.05!important}
.account-gate h2,.account-profile-card h2,.account-draft h2,
.account-section-head h2{line-height:1.1!important}
.v230-house-identity__details h3,
.v230-house-card__fit strong,.v230-comparison-card__fit strong{
  font-family:var(--font-ui);
  font-weight:600;
}

@media(max-width:760px){
  .booking-intro h2{font-size:24px}
  .global-quick-booking__intro h2{
    max-width:none;
    font-size:25px;
    line-height:1.12;
  }
  .flow-card-head h2{font-size:29px!important}
  .flow-summary h2{font-size:27px!important}
  .payment-demo-copy h2{font-size:35px}
  .home-value-strip h3,.v227-value-row h3,
  .v227-rules-grid h3,.v227-spa-story h3,
  .flow-trust h3,.payment-roadmap h3{
    font-size:19px;
    line-height:1.22;
  }
  .v230-house-identity__details h3{font-size:20px}
  .home-house-select-grid h3,.v227-house-pair h3,
  .home-season-cards h3,.home-city-guide-card h3,
  .home-rules-card-v228 h3{font-size:31px}
}

/* V2.3.2 — accessible hierarchy and dependable controls. */
.v228-season-card h3{
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.08em!important;
  text-transform:uppercase;
}
.flow-primary,.flow-secondary,.booking-submit,
.global-quick-booking__submit,.v227-primary,.v227-secondary{
  font-size:14px;
}
.menu-toggle,.booking-sheet-close,.dialog-close,.v228-map-point{
  min-width:44px;
  min-height:44px;
}
.account-clear{
  min-height:44px;
  padding-block:12px;
}
.home-season-cards:focus-visible,.v227-editorial-gallery:focus-visible{
  outline:2px solid #4d746c;
  outline-offset:6px;
}
.flow-summary--notice p{
  margin:18px 0 0;
  color:var(--type-body);
  font-size:15px;
  line-height:1.65;
}
[aria-invalid="true"]{
  border-color:#8a382f!important;
  box-shadow:0 0 0 2px rgba(138,56,47,.15);
}
@media(max-width:760px){
  .v228-season-card h3{font-size:12px}
  .site-footer a{min-height:32px;display:inline-flex;align-items:center}
  .booking-sheet{padding-bottom:max(18px,env(safe-area-inset-bottom))}
}

/* V2.3.3 — visual-only premium polish. No content or flow changes. */

/* Fix the stretched caption that covered half of both house heroes. */
.v227-house-hero figcaption{
  top:20px;
  bottom:auto!important;
  height:auto;
}

/* Restore designed presentation for the house identity content already in markup. */
.house-identity-section{
  padding:92px 0;
  background:#f1ede6;
  color:#262524;
}
.house-identity-section.is-light{background:#eee9df}
.house-identity-section.is-shadow{
  background:#242827;
  color:#f7f4ee;
}
.house-identity-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(54px,8vw,118px);
  align-items:start;
}
.house-identity-intro h2{
  max-width:590px;
  margin:0 0 24px;
  font-family:var(--font-display);
  font-size:clamp(44px,4vw,58px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.018em;
  text-wrap:balance;
}
.house-identity-intro>p:not(.page-kicker){
  max-width:590px;
  margin:0;
  font-size:16px;
  line-height:1.66;
  color:#57524f;
}
.house-identity-section.is-shadow .house-identity-intro>p:not(.page-kicker){
  color:rgba(255,255,255,.76);
}
.house-detail-note{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:20px;
  margin-top:30px;
  padding:20px 0;
  border-top:1px solid rgba(38,37,36,.2);
  border-bottom:1px solid rgba(38,37,36,.2);
}
.house-detail-note strong{
  font-size:11px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.house-detail-note span{
  font-size:13px;
  line-height:1.58;
  color:#625d59;
}
.house-identity-section.is-shadow .house-detail-note{
  border-color:rgba(255,255,255,.2);
}
.house-identity-section.is-shadow .house-detail-note span{
  color:rgba(255,255,255,.7);
}
.house-identity-content{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(38,37,36,.18);
}
.house-identity-content>div{
  min-width:0;
  padding:27px 0;
  border-bottom:1px solid rgba(38,37,36,.18);
}
.house-identity-content>div:nth-child(even){padding-left:28px}
.house-identity-content>div:nth-child(odd){padding-right:28px}
.house-identity-content>div:last-child{grid-column:1/-1;padding-right:0}
.house-identity-content h3{
  margin:0 0 16px;
  font-family:var(--font-ui);
  font-size:20px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.015em!important;
}
.house-identity-content p{margin:0;line-height:1.65}
.house-identity-section.is-shadow .house-identity-content{
  border-color:rgba(255,255,255,.2);
}
.house-identity-section.is-shadow .house-identity-content>div{
  border-color:rgba(255,255,255,.2);
}
.house-identity-section.is-shadow .house-feature-list,
.house-identity-section.is-shadow .house-fit{
  color:rgba(255,255,255,.8);
}
.house-identity-section .house-palette{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.house-identity-section .house-palette i{
  display:block;
  width:100%;
  height:18px;
  border:1px solid rgba(22,25,23,.14);
}
.house-identity-section.is-shadow .house-palette i{
  border-color:rgba(255,255,255,.18);
}
.swatch-milk{background:#f1ece3}
.swatch-oak{background:#c3a779}
.swatch-olive{background:#7a8262}
.swatch-soft-graphite{background:#5a5b58}
.swatch-graphite{background:#343739}
.swatch-stone{background:#57514d}
.swatch-caramel{background:#b7835d}
.swatch-warm-wood{background:#8a6548}

/* Give the existing quick-choice copy a real editorial layout. */
.house-choice-guide{
  padding:88px 0;
  background:#f4f1ec;
}
.house-choice-guide-head{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(54px,8vw,118px);
  align-items:end;
  margin-bottom:34px;
}
.house-choice-guide-head h2{
  max-width:610px;
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(42px,3.8vw,54px);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.018em;
}
.house-choice-guide-head>p{
  max-width:620px;
  margin:0 0 4px;
  font-size:16px;
  line-height:1.66;
  color:#57524f;
}
.house-choice-guide-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.house-choice-guide-grid article{
  min-width:0;
  padding:30px 32px;
  border:1px solid rgba(38,37,36,.13);
  background:#faf8f4;
}
.house-choice-guide-grid article.is-shadow{
  border-color:#203d36;
  background:#203d36;
  color:#fff;
}
.house-choice-guide-grid h3{
  margin:0 0 13px;
  font-family:var(--font-display);
  font-size:32px;
  font-weight:500;
  line-height:1.04;
  letter-spacing:-.014em!important;
}
.house-choice-guide-grid article>p:last-child{
  margin:0;
  font-size:15px;
  line-height:1.64;
  color:#5a5551;
}
.house-choice-guide-grid article.is-shadow>p:last-child{
  color:rgba(255,255,255,.76);
}
.house-choice-guide-grid article.is-shadow .page-kicker{
  color:#bfd0cc;
}
.house-common-strip{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:28px;
  align-items:start;
  margin-top:20px;
  padding:22px 0;
  border-top:1px solid rgba(38,37,36,.17);
  border-bottom:1px solid rgba(38,37,36,.17);
}
.house-common-strip strong{
  font-size:11px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.house-common-strip span{
  font-size:15px;
  line-height:1.62;
  color:#57524f;
}
.house-fit strong{
  display:block;
  margin-bottom:7px;
  color:inherit;
}

/* Bridge the restored comparison markup to the finished card system. */
.v230-house-choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  width:auto!important;
  padding-left:0!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  align-items:stretch!important;
}
.v230-house-choice-grid .house-choice{
  display:flex!important;
  flex-direction:column;
  width:auto!important;
  min-width:0!important;
  height:100%;
  overflow:hidden!important;
  scroll-snap-align:none!important;
}
.v230-house-choice-grid .house-choice>div{
  display:flex;
  flex:1;
  flex-direction:column;
}
.v230-house-choice-grid .house-choice .flow-primary{
  margin-top:auto;
}
.v230-house-choice-grid .house-any{
  order:3!important;
  grid-column:1/-1;
  width:auto!important;
  min-width:0!important;
  scroll-snap-align:none!important;
}
.house-choice-more{
  align-self:flex-start;
  min-height:44px;
  margin-top:10px;
  padding:8px 0 4px;
  display:inline-flex;
  align-items:center;
  border-bottom:1px solid currentColor;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
}

/* Make the two old house-card variants visually distinct. */
.home-house-select-grid article.is-shadow,
.v227-house-pair article.is-shadow{
  background:#2d302f;
  color:#f7f3ec;
  border-color:rgba(255,255,255,.16);
}
.home-house-select-grid article.is-shadow p,
.home-house-select-grid article.is-shadow dt,
.v227-house-pair article.is-shadow p,
.v227-house-pair article.is-shadow dt{
  color:rgba(255,255,255,.74);
}
.home-house-select-grid article.is-shadow dl,
.home-house-select-grid article.is-shadow dl div,
.v227-house-pair article.is-shadow dl,
.v227-house-pair article.is-shadow dl div{
  border-color:rgba(255,255,255,.18);
}
.home-house-select-grid article.is-shadow a,
.v227-house-pair article.is-shadow a{
  color:#fff;
  border-color:rgba(255,255,255,.7);
}

/* Dates stay complete; the form simply uses space more deliberately. */
@media(min-width:901px){
  .home-page .booking-form{
    grid-template-columns:minmax(142px,.92fr) minmax(142px,.92fr) minmax(112px,.7fr) minmax(190px,1.25fr) 118px;
  }
  .global-quick-booking__form{
    grid-template-columns:minmax(142px,1fr) minmax(142px,1fr) minmax(108px,.74fr) minmax(190px,1.22fr) 122px;
  }
}
.global-quick-booking__card{
  border-color:rgba(38,37,36,.14);
  box-shadow:0 16px 38px rgba(25,29,27,.08);
}
.global-quick-booking__intro span{
  color:#66615d;
}
.global-quick-booking__form label,
.home-page .booking-form label{
  border-color:rgba(38,37,36,.16);
}
.global-quick-booking__form label:focus-within,
.home-page .booking-form label:focus-within,
.flow-field:focus-within{
  border-color:#4d746c;
  box-shadow:0 0 0 2px rgba(77,116,108,.12);
}
.flow-field{
  transition:border-color .18s ease,box-shadow .18s ease;
}
.flow-check{
  min-height:44px;
  padding-block:8px;
}
.flow-check input{
  width:20px;
  height:20px;
}

@media(max-width:760px){
  .v230-house-choice-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
    width:100%!important;
  }
  .v230-house-choice-grid .house-any{grid-column:1}
  .v230-house-choice-grid .house-choice,
  .v230-house-choice-grid .house-any{
    flex:none!important;
    width:100%!important;
    min-width:0!important;
  }

  .v228-three-steps,
  .v227-flow-page .flow-steps.v228-three-steps{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .v228-three-steps span,
  .v227-flow-page .flow-steps.v228-three-steps span{
    min-width:0;
    min-height:62px;
    padding:10px 8px!important;
    gap:6px;
    justify-content:center;
    border-right:1px solid var(--line)!important;
    border-bottom:0!important;
    line-height:1.2;
  }
  .v228-three-steps span:last-child,
  .v227-flow-page .flow-steps.v228-three-steps span:last-child{
    border-right:0!important;
  }

  .v228-booking-form-actions{
    width:100%;
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .v228-booking-form-actions .flow-primary,
  .v227-flow-page .flow-card>.flow-primary{
    width:100%;
  }

  .global-quick-booking__form,
  .home-page .booking-form{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
  }
  .global-quick-booking__form label,
  .home-page .booking-form label{
    min-width:0;
    min-height:58px;
    margin:0;
    border-radius:2px;
  }
  .global-quick-booking__submit,
  .global-quick-booking__status,
  .home-page .booking-submit,
  .home-page .booking-status{
    grid-column:1/-1;
  }
  .global-quick-booking__submit,
  .home-page .booking-submit{
    width:100%;
    min-height:54px;
    margin-top:0;
  }
}
@media(max-width:340px){
  .v228-three-steps,
  .v227-flow-page .flow-steps.v228-three-steps{
    grid-template-columns:1fr!important;
  }
  .v228-three-steps span,
  .v227-flow-page .flow-steps.v228-three-steps span{
    min-height:52px;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .v228-three-steps span:last-child,
  .v227-flow-page .flow-steps.v228-three-steps span:last-child{
    border-bottom:0!important;
  }
  .global-quick-booking__form,
  .home-page .booking-form{
    grid-template-columns:1fr;
  }
}

/* Stronger action hierarchy and quieter service labels. */
@media(min-width:1121px){
  .desktop-nav .nav-book{
    min-width:132px;
    min-height:44px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#203d36;
    border-color:#203d36;
    color:#fff;
  }
}
@media(min-width:901px) and (max-width:1120px){
  .desktop-nav .nav-book{
    min-width:112px;
    min-height:42px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#203d36;
    border-color:#203d36;
    color:#fff;
  }
}
.v227-hero-media img,
.v227-house-hero figure img{
  filter:saturate(.84) brightness(.75);
}
.v227-hero::after,
.v227-house-hero figcaption{
  border-color:rgba(255,255,255,.14);
  background:rgba(8,14,12,.6);
  color:rgba(255,255,255,.84);
  box-shadow:none;
  backdrop-filter:blur(8px);
  font-size:10px;
  letter-spacing:.08em!important;
}
.v227-flow-page .flow-summary dt{
  color:rgba(255,255,255,.7);
}
.v227-flow-page .flow-summary dl div{
  grid-template-columns:84px minmax(0,1fr);
  gap:8px;
}
.v227-flow-page .flow-summary dd{
  overflow-wrap:anywhere;
}
@media(min-width:901px){
  .v227-flow-page .flow-head{
    padding:48px 0 34px;
  }
  .v227-account .global-quick-booking{
    padding-bottom:30px;
  }
  .v227-account .account-shell{
    padding-top:24px;
  }
}

/* A tighter, intentional footer close. */
.site-footer{
  padding:56px 0 26px;
}
.footer-grid{
  column-gap:70px;
  row-gap:28px;
}
.copyright{
  margin-top:14px;
}

/* Mobile editorial and conversion polish. */
@media(max-width:760px){
  .hero-mobile-actions button{
    border-color:#f5f2ec;
    background:#f5f2ec;
    color:#17312b;
    box-shadow:0 10px 28px rgba(0,0,0,.18);
    backdrop-filter:none;
  }
  .hero-mobile-actions a{
    background:rgba(10,15,13,.14);
    backdrop-filter:blur(8px);
  }

  .v227-hero::after,
  .v227-house-hero figcaption{
    left:20px;
    right:auto;
    top:14px;
    bottom:auto!important;
    width:max-content;
    max-width:calc(100% - 40px);
    padding:6px 8px;
    background:rgba(8,14,12,.56);
  }

  .home-house-select-grid,
  .v227-house-pair{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    padding:0 20px 8px;
    overflow:visible;
    scroll-snap-type:none;
  }
  .home-house-select-grid{margin:-28px 0 0}
  .v227-house-pair{margin:-30px 0 0}
  .home-house-select-grid article,
  .v227-house-pair article{
    width:auto;
    min-width:0;
    flex:none;
    scroll-snap-align:none;
  }

  .house-identity-section{
    padding:66px 0;
  }
  .house-identity-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .house-identity-intro h2{
    font-size:38px;
    line-height:1;
  }
  .house-identity-intro>p:not(.page-kicker){
    font-size:15px;
    line-height:1.64;
  }
  .house-detail-note{
    grid-template-columns:1fr;
    gap:7px;
    margin-top:24px;
    padding:18px 0;
  }
  .house-identity-content{
    grid-template-columns:1fr;
  }
  .house-identity-content>div,
  .house-identity-content>div:nth-child(even),
  .house-identity-content>div:nth-child(odd),
  .house-identity-content>div:last-child{
    grid-column:1;
    padding:23px 0;
  }
  .house-identity-section .house-palette{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .house-choice-guide{
    padding:64px 0;
  }
  .house-choice-guide-head,
  .house-choice-guide-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .house-choice-guide-head{
    margin-bottom:24px;
  }
  .house-choice-guide-head h2{
    font-size:36px;
  }
  .house-choice-guide-head>p{
    font-size:15px;
    line-height:1.62;
  }
  .house-choice-guide-grid article{
    padding:25px 22px;
  }
  .house-choice-guide-grid h3{
    font-size:29px;
  }
  .house-common-strip{
    grid-template-columns:1fr;
    gap:7px;
    margin-top:16px;
    padding:19px 0;
  }

  .account-booking-top{
    display:grid;
    gap:12px;
  }
  .account-status{
    justify-self:start;
    max-width:none;
  }

  .site-footer{
    padding:42px 0 22px;
  }
  .footer-grid{
    gap:22px;
  }
  .copyright{
    margin-top:8px;
    padding-top:18px;
  }
}

/* Comparison bridge: keep House Shadow visually distinct in restored booking markup. */
.v230-house-choice-grid .house-choice.is-shadow{
  background:#2d302f;
  color:#f7f3ec;
  border-color:rgba(255,255,255,.16);
}
.v230-house-choice-grid .house-choice.is-shadow :is(.page-kicker,.house-card-address,p,.house-feature-list,.house-fit){
  color:rgba(247,243,236,.78);
}
.v230-house-choice-grid .house-choice.is-shadow .flow-primary{
  background:#d7b18f;
  color:#222626;
}
.v230-house-choice-grid .house-choice.is-shadow .house-choice-more{
  color:#fff;
  border-color:rgba(255,255,255,.66);
}

/* Readability pass: existing editorial faces, consistent text roles. */
:root{
  --type-copy:1rem;
  --type-support:.875rem;
  --type-label:.75rem;
}
.hero-message-premium h1,
.v227-hero-copy h1,
.v227-house-hero-copy h1{
  line-height:1.06!important;
}
.hero-overline,.page-kicker,.split-title>p,
.v230-house-card__label,.house-card-address{
  font-size:var(--type-label);
  font-weight:600;
  line-height:1.5;
  letter-spacing:.07em;
}
.breadcrumbs,.breadcrumbs a,.breadcrumbs span{
  font-size:var(--type-label);
  line-height:1.5;
  letter-spacing:.035em;
}
.v227-copy p,.v227-heading>p,.v227-heading>div:last-child p,
.home-intro-premium-copy p,.home-section-heading>div:last-child p,
.v227-value-row p,.v227-rules-grid p,.v227-spa-story p,
.v228-guide-place p,.v228-guide-source p,.house-feature-list,
.house-identity-intro>p:not(.page-kicker),.house-choice-guide-head>p{
  font-size:var(--type-copy);
  line-height:1.65;
  max-width:65ch;
}
.v227-copy .lead,.home-intro-premium-copy .lead,
.home-ritual-editorial-copy>.lead{
  font-size:1.125rem;
  line-height:1.6;
  max-width:55ch;
}
.v227-hero-copy>p:not(.page-kicker),
.v227-house-hero-copy>p:not(.page-kicker){
  max-width:55ch;
  line-height:1.6;
}
.v227-faq p{font-size:var(--type-copy);line-height:1.65;max-width:65ch}
.flow-head>p,.flow-card-head>p:not(.page-kicker),
.account-gate>div>p:not(.page-kicker){
  font-size:var(--type-copy);
  line-height:1.6;
  max-width:65ch;
}
.flow-card-head>.page-kicker{font-size:var(--type-label);line-height:1.5}
.flow-summary-note,.flow-trust p,.payment-roadmap p,
.payment-simulation-note,.dialog-note,.account-status,
.flow-status,.booking-status,.global-quick-booking__status{
  font-size:var(--type-support);
  line-height:1.6;
  letter-spacing:0;
}
.flow-field>span,.booking-form label span,
.global-quick-booking__form label span{
  font-size:var(--type-label);
  font-weight:500;
  line-height:1.4;
  letter-spacing:.035em;
}
.flow-field input,.flow-field select,.flow-field textarea,
.booking-form input,.booking-form select,
.global-quick-booking__form input,.global-quick-booking__form select{
  font-size:var(--type-copy);
  line-height:1.5;
}
.global-quick-booking__intro p{font-size:var(--type-label);line-height:1.5;letter-spacing:.06em}
.global-quick-booking__intro span,.booking-intro p{
  font-size:.8125rem;
  line-height:1.5;
}
.flow-primary,.flow-secondary,.global-quick-booking__submit,.booking-submit{
  font-size:var(--type-support);
  font-weight:600;
  line-height:1.45;
  letter-spacing:0;
}
.account-gate h2,.account-profile-card h2,.account-draft h2,
.account-section-head h2{font-size:1.875rem;line-height:1.2;letter-spacing:-.02em!important}
.flow-summary :is(dt,dd),.checkout-list :is(dt,dd),
.payment-order-summary :is(dt,dd),.success-summary :is(dt,dd){
  font-size:var(--type-support);
  line-height:1.55;
}
.house-palette li,.house-palette--compact li{
  font-size:.8125rem;
  line-height:1.5;
  letter-spacing:.025em;
}
@media(max-width:760px){
  .home-intro-premium h2,.home-section-heading h2,
  .home-ritual-editorial h2,.home-location-showcase h2,
  .home-final-booking h2{line-height:1.1!important}
  .v227-split h2,.v227-heading h2,.v227-spec-layout h2,
  .v227-map-copy h2,.v227-dark-feature h2,.v227-note h2,
  .v227-booking-path h2{line-height:1.1}
  .v227-flow-page .flow-head h1,.v227-payment .flow-head h1{
    font-size:2.5rem;
    line-height:1.1;
  }
  .account-gate h2,.account-profile-card h2,.account-draft h2,
  .account-section-head h2{font-size:1.75rem;line-height:1.2}
  .mobile-menu>nav>a{line-height:1.12}
}

.closed-staging-notice{
  position:fixed;z-index:1400;top:76px;left:50%;
  width:max-content;max-width:calc(100vw - 32px);transform:translateX(-50%);
  padding:8px 12px;border:1px solid rgba(255,255,255,.24);
  background:rgba(19,38,33,.94);color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  font:600 10px/1.35 Manrope,Arial,sans-serif;
  letter-spacing:.08em;text-align:center;text-transform:uppercase;
  pointer-events:none;
}
.server-hold-timer{
  margin:16px 0 0;padding:10px 12px;
  border-left:3px solid #1d493e;background:#eef3f0;
  color:#173a32;font-weight:650;
}
.server-hold-timer[data-expired="true"]{
  border-color:#8a352f;background:#f8ecea;color:#782f2a;
}
[role="status"][data-kind="success"]{color:#1d604d!important}
[role="status"][data-kind="error"]{color:#8a352f!important}
@media(max-width:760px){
  .closed-staging-notice{top:72px;width:calc(100vw - 24px);font-size:9px}
}

.server-quote-preview{margin:20px 0;padding:20px;border:1px solid #b8c6be;background:#f0f4f1;border-radius:12px}
.server-quote-preview[hidden]{display:none!important}
.server-quote-preview h3{font:600 20px/1.3 Manrope,Arial,sans-serif;margin:0 0 10px}
.server-quote-preview dl{margin:14px 0}
.server-quote-preview dl>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #d8dfda}
.server-quote-preview dt{font-size:13px;line-height:1.5}
.server-quote-preview dd{margin:0;font-size:16px;font-weight:700;white-space:nowrap}
.server-quote-preview .server-quote-note{font-size:12px;line-height:1.6;margin:12px 0 0}
@media(max-width:760px){
 .v228-booking-page .flow-head{padding-top:14px;padding-bottom:18px;gap:10px}
 .v228-booking-page .flow-head h1{font-size:32px;line-height:1.12}
 .v228-booking-page .flow-head>p{font-size:14px;line-height:1.5;margin:0}
 .v228-booking-page .flow-card{padding:20px}
 .v228-booking-page .flow-card-head{margin-bottom:18px}
 .v228-booking-page .flow-card-head h2{font-size:25px;line-height:1.2}
 .v228-booking-page .flow-card-head>p{font-size:13px;line-height:1.5}
 .v228-booking-page .flow-card-head .page-kicker{display:none}
 .v228-booking-page .flow-steps{margin-bottom:16px}
 .server-quote-preview{padding:16px}
 .server-quote-preview dd{font-size:14px}
 .server-quote-preview dt{font-size:12px}
}

.inner-page .closed-staging-notice{position:static;transform:none;margin:0 auto 20px;width:calc(100% - 40px);max-width:1160px;}

.quote-house-options{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.quote-house-options p{flex-basis:100%;margin:0 0 4px}
.quote-house-options button{padding:12px 16px;min-height:44px}
.review-request{max-width:840px;padding-top:42px;padding-bottom:64px}
.review-request h1{font-size:clamp(32px,5vw,58px);line-height:1.08;max-width:760px;margin:14px 0 22px}
.review-lead{font-size:18px;line-height:1.6;max-width:720px;margin-bottom:28px}
.review-request-card{background:#fff;border:1px solid #d7dfda;padding:28px}
#requestDetails{margin:0 0 24px}
#requestDetails>div{display:grid;grid-template-columns:155px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid #d7dfda}
#requestDetails dt{color:#56635e}#requestDetails dd{margin:0;overflow-wrap:anywhere}
.review-test-note{background:#eef3f0;border-left:3px solid #1d493e;padding:14px 16px;font-size:14px;line-height:1.6}
.review-request-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:24px 0}
.review-request-links a,.review-request-links button{font:inherit;color:#1d493e;text-decoration:underline;background:none;border:0;padding:6px 0;cursor:pointer}
.review-request-hint{font-size:14px;line-height:1.6;color:#56635e}
#requestError{color:#8a352f;margin-top:16px;line-height:1.5}#requestActions{margin-top:20px}
@media(max-width:600px){.review-request{padding-top:26px}.review-request-card{padding:20px}.review-lead{font-size:16px}#requestDetails>div{grid-template-columns:1fr;gap:4px}.review-request-links{display:grid;gap:10px}.quote-house-options button{flex:1}}

/* Price hierarchy: presentation only; all server amounts and terms stay visible. */
#bookingForm .server-quote-preview.price-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;background:#fff;border:1px solid #c9d6cc;border-radius:8px;padding:22px;color:#183d33;scroll-margin-top:148px}
#bookingForm .price-summary>section,#bookingForm .price-summary>div,#bookingForm .price-summary>dl,#bookingForm .price-summary>.server-quote-note{grid-column:1/-1}
#bookingForm .price-summary .price-summary-house{grid-column:1;grid-row:1;margin:0;font:600 19px/1.35 Manrope,Arial,sans-serif}
#bookingForm .price-summary .price-summary-stay{grid-column:2;grid-row:1;align-self:center;margin:0;font:400 12px/1.45 Manrope,Arial,sans-serif;color:#52665b}
#bookingForm .price-summary .price-summary-dates{grid-column:1/-1;grid-row:2;margin:5px 0 0;font:400 14px/1.45 Manrope,Arial,sans-serif;color:#52665b}
#bookingForm .price-summary .price-summary-total{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0;padding:18px 0;border-top:1px solid #e2e7df;border-bottom:1px solid #e2e7df}
#bookingForm .price-summary-total>.server-quote-note{font:500 14px/1.45 Manrope,Arial,sans-serif;margin:0;max-width:145px}
#bookingForm .price-summary-total>h3{font:650 32px/1.12 Manrope,Arial,sans-serif!important;letter-spacing:-.03em;margin:0!important;white-space:nowrap;color:#183d33}
#bookingForm .price-summary .price-summary-plan{background:#f4f6f1;border-radius:6px;padding:14px 16px;margin:0}
#bookingForm .price-summary-plan>h4{font:600 14px/1.35 Manrope,Arial,sans-serif;margin:0 0 6px}
#bookingForm .price-summary dl{margin:0}
#bookingForm .price-summary dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border:0}
#bookingForm .price-summary dt{font:400 14px/1.45 Manrope,Arial,sans-serif;color:#344f42}
#bookingForm .price-summary dd{font:600 16px/1.4 Manrope,Arial,sans-serif;white-space:nowrap}
#bookingForm .price-summary .server-quote-note{font:400 12px/1.55 Manrope,Arial,sans-serif;color:#52665b;margin:7px 0 0}
#bookingForm .price-summary .price-summary-deposit{margin:16px 0 0;padding-top:12px;border-top:1px solid #e2e7df}
#bookingForm .price-summary-deposit hr{display:none}
#bookingForm .price-summary-deposit .price-summary-deposit-head{padding:0}
#bookingForm .price-summary>dl{margin-top:12px;padding-top:10px;border-top:1px solid #e2e7df}
#bookingForm .price-summary .price-summary-budget{padding:0}
#bookingForm .price-summary-budget dt,#bookingForm .price-summary-budget dd{font-size:12px;font-weight:400;color:#52665b}
#bookingForm .price-summary>.server-quote-note{margin-top:10px;font-size:12px}
@media(max-width:760px){#bookingForm .server-quote-preview.price-summary{padding:16px;gap:0 8px}#bookingForm .price-summary .price-summary-house{font-size:18px}#bookingForm .price-summary-total>h3{font-size:28px!important}#bookingForm .price-summary .price-summary-total{padding:16px 0;margin:14px 0}#bookingForm .price-summary .price-summary-plan{padding:12px}#bookingForm .price-summary dt{font-size:13px}#bookingForm .price-summary dd{font-size:15px}}
@media(max-width:360px){#bookingForm .price-summary .price-summary-stay{grid-column:1/-1;grid-row:3;margin-top:3px}#bookingForm .price-summary-total>h3{font-size:26px!important}}

/* Clear financial hierarchy: full stay is not the first payment. */
#bookingForm .price-summary .price-summary-total{padding:19px 0;border-bottom:2px solid #284d3f}
#bookingForm .price-summary-total>.server-quote-note{font-weight:750!important;color:#183d33!important;font-size:15px!important;max-width:150px}
#bookingForm .price-summary-total>h3{font-weight:800!important;font-size:36px!important;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
#bookingForm .price-summary .price-summary-plan{padding:16px;background:#edf2eb}
#bookingForm .price-summary-plan>h4{font-weight:750;font-size:15px;margin-bottom:8px}
#bookingForm .price-summary .price-summary-payments dt{font-size:14px;font-weight:600;max-width:190px}
#bookingForm .price-summary .price-summary-payments dd{font-size:21px;font-weight:800;letter-spacing:-.02em}
#bookingForm .price-summary .price-summary-payments>div{align-items:center;padding:11px 0}
#bookingForm .price-summary .price-summary-budget dd{font-weight:650;font-size:14px}
#bookingForm .price-summary-deposit dd{font-weight:600}
@media(max-width:760px){#bookingForm .price-summary-total>h3{font-size:32px!important}#bookingForm .price-summary .price-summary-total{gap:10px}#bookingForm .price-summary .price-summary-plan{padding:13px}#bookingForm .price-summary .price-summary-payments dd{font-size:20px}#bookingForm .price-summary .price-summary-payments dt{font-size:13px;max-width:165px}}
@media(max-width:360px){#bookingForm .price-summary .price-summary-total{display:block}#bookingForm .price-summary-total>h3{margin-top:5px!important}#bookingForm .price-summary .price-summary-payments>div{gap:9px}}

/* Same type family, actual bold outlines and a complete currency glyph set. */
@font-face{font-family:'Manrope Booking';src:url('/assets/manrope-booking-variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
#bookingForm .price-summary,#journeyMoney,.payment-trip-line,.payment-trip-details,#currentOrderReceipt{font-family:'Manrope Booking',Arial,sans-serif;font-synthesis:none}
#bookingForm .price-summary :is(h3,h4,p,dt,dd),.journey-page #journeyMoney :is(h3,p,dt,dd,strong,small){font-family:'Manrope Booking',Arial,sans-serif!important;text-decoration:none!important}
#bookingForm .price-summary .price-summary-total{background:#193e33;color:#fff;border:0;padding:18px 16px;border-radius:7px;margin:16px 0}
#bookingForm .price-summary-total>.server-quote-note,#bookingForm .price-summary-total>h3{color:#fff!important}
#bookingForm .price-summary-total>h3{font-weight:800!important;font-size:34px!important;letter-spacing:-.025em!important}
#bookingForm .price-summary .price-summary-payments dd{font-weight:800!important;font-size:21px!important}
#bookingForm .price-summary .price-summary-plan{background:#f2f5ee;padding:15px}
#bookingForm .price-summary dt{font-size:14px!important;line-height:1.45!important}
.journey-page #journeyMoney{background:#fff!important;border:1px solid #d4dfd6!important;padding:18px!important;border-radius:8px!important}
.journey-page #journeyMoney dl>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center!important;padding:13px 0!important;margin:0!important}
.journey-page #journeyMoney dl>div::before,.journey-page #journeyMoney dl>div::after{content:none!important}
.journey-page #journeyMoney .money-total{display:block!important;background:#193e33;color:#fff;padding:18px!important;border:0!important;border-radius:6px;margin:0 0 12px!important}
.journey-page #journeyMoney .money-total dt{color:#fff!important;font-weight:600!important;font-size:14px!important}
.journey-page #journeyMoney .money-total dd{color:#fff!important;font-size:36px!important;font-weight:800!important;margin-top:6px!important;letter-spacing:-.025em!important}
.journey-page #journeyMoney strong{font-weight:800!important;font-size:inherit;line-height:inherit}
.journey-page #journeyMoney .money-now,.journey-page #journeyMoney .money-paid{padding:15px 12px!important;background:#eef3e9;border:0!important;border-radius:6px}
.journey-page #journeyMoney :is(.money-now,.money-paid,.money-later) dd{font-size:24px!important;font-weight:800!important;margin:0!important}
.journey-page #journeyMoney :is(.money-now,.money-paid,.money-later) dt{font-size:14px!important;line-height:1.4!important;font-weight:600!important;max-width:none}
.journey-page #journeyMoney .money-row-detail{display:block;margin-top:5px;font-size:13px;line-height:1.4;color:#526458;font-weight:400}
.journey-page #journeyMoney .money-deposit{border-top:1px solid #d4dfd6!important;margin-top:5px!important;padding-top:15px!important}
.journey-page #journeyMoney .money-deposit dt,.journey-page #journeyMoney .money-deposit dd{font-size:14px!important;font-weight:400!important}
.journey-page #journeyMoney .money-deposit strong{font-weight:600!important}
.journey-page #journeyMoney .payment-purpose{font-size:13px!important;font-weight:500!important;line-height:1.55!important;margin:12px 0 0!important}
.journey-page #journeyMoney .deposit-note{font-size:12px!important;line-height:1.55!important;color:#526458}
.journey-page :is(#simulatePayment,#checkoutForm>.flow-primary),#bookingForm .v228-booking-form-actions>.flow-primary{font-family:'Manrope Booking',Arial,sans-serif!important;font-weight:750!important;letter-spacing:0}
@media(max-width:760px){#bookingForm .price-summary-total>h3{font-size:30px!important}.journey-page #journeyMoney{padding:14px!important}.journey-page #journeyMoney .money-total dd{font-size:32px!important}.journey-page #journeyMoney :is(.money-now,.money-paid,.money-later) dd{font-size:22px!important}.journey-page #journeyMoney dl>div{gap:10px}.journey-page #journeyMoney .money-now{padding:13px 10px!important}}

.payment-trip-line{display:grid;gap:4px;margin:0 0 6px;color:#193e33}.payment-trip-line strong{font-size:19px;font-weight:700}.payment-trip-line span{font-size:14px;color:#506457}.payment-trip-details{margin:0 0 18px;font-size:13px}.payment-trip-details summary{min-height:40px;padding:10px 0;cursor:pointer}.payment-trip-details .payment-order-summary{margin:0;padding:10px 0}.journey-page[data-flow-page="payment"] .payment-demo-copy{display:none!important}.journey-page[data-flow-page="payment"] .payment-demo-card{display:block!important}.journey-page[data-flow-page="payment"] #journeyMoney{margin-top:0!important}.journey-page #paidOrderReturn{display:block;text-align:center;margin-top:12px}.journey-page #simulatePayment:disabled{opacity:.55}.journey-page .payment-simulation-note{font-size:13px;margin:8px 0 14px}

/* Site-wide customer review: preserve approved architecture, colours and transactional totals. */
.site-reviewed .site-footer{font-family:'Manrope Booking',Manrope,Arial,sans-serif}
.site-reviewed .site-footer a{font-size:14px;line-height:1.5;min-height:38px}
.site-reviewed .site-footer h3{font-size:12px;font-weight:650;letter-spacing:.07em}
.site-reviewed .site-footer p{font-size:13px;line-height:1.65}
.site-reviewed .global-quick-booking__intro span{font-size:13px;line-height:1.5}
.site-reviewed .global-quick-booking__form select{font-family:'Manrope Booking',Manrope,Arial,sans-serif}
.site-reviewed .global-quick-booking__submit{font-family:'Manrope Booking',Manrope,Arial,sans-serif;font-weight:700}
.site-reviewed .breadcrumbs{letter-spacing:.035em;font-size:12px;line-height:1.5}
.site-editorial main :is(p,li,dt,dd,a,button,summary){font-family:'Manrope Booking',Manrope,Arial,sans-serif}
.site-editorial main :is(.v227-copy p,.v227-heading>p,.house-identity-intro>p:not(.page-kicker),.house-choice-guide-head>p,.home-section-heading>div:last-child p){font-size:16px;line-height:1.65}
.site-editorial .house-feature-list{font-size:15px;line-height:1.6}
.site-editorial .house-feature-list li+li{margin-top:8px}
.site-editorial :is(.house-palette li,.house-detail-note span,.v227-spec-list dt,.v227-spec-list dd){font-size:13px;line-height:1.55}
.site-editorial main :is(.page-kicker,.v227-hero-facts span,.v227-house-hero-copy>div span){font-size:11px;letter-spacing:.07em}
.site-editorial .v227-hero-copy>p:not(.page-kicker),.site-editorial .v227-house-hero-copy>p:not(.page-kicker){font-weight:450;line-height:1.6}
.site-editorial .v227-faq summary{font-size:17px;line-height:1.5;min-height:48px}
.site-editorial .v227-faq p{font-size:15px;line-height:1.65}
.site-editorial .v228-map-point[aria-pressed=true]{outline:2px solid #d2b291;outline-offset:3px}
.site-editorial [data-map-place]{scroll-margin-top:100px}
.site-reviewed .review-request-links button:disabled{opacity:.5;cursor:default;text-decoration:none}
.site-reviewed .review-request-card #requestDetails dd{font-family:'Manrope Booking',Manrope,Arial,sans-serif}
.site-reviewed[data-site-route='/booking/house/'] .flow-summary{display:none!important}
.site-reviewed[data-site-route='/booking/house/'] .flow-workspace{grid-template-columns:minmax(0,1fr)!important}
@media(max-width:760px){.site-reviewed .global-quick-booking__form select{font-size:14px!important}.site-reviewed .global-quick-booking__intro span{font-size:13px}.site-editorial .house-feature-list{font-size:15px}.site-editorial .house-palette li{font-size:12px}.site-editorial .v227-hero-copy h1{font-size:38px!important;line-height:1.1!important}.site-editorial .v227-house-hero-copy h1{font-size:40px!important;line-height:1.1!important}.site-editorial .v227-cta h2{font-size:33px!important;line-height:1.15!important}.site-editorial .v227-spec-list :is(dt,dd){font-size:14px}.site-reviewed .site-footer a{min-height:40px}.site-editorial .home-house-select-grid article>div>p{font-size:15px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){.site-reviewed *{scroll-behavior:auto!important}}

/* The assisted-offer price follows the same hierarchy as direct booking. */
.site-reviewed .review-request-card .request-money-total{background:#193e33;border-radius:6px;padding:16px!important;display:block!important;margin-top:16px;color:#fff}
.site-reviewed .review-request-card .request-money-total dt{color:#fff;font-size:14px;font-weight:600}
.site-reviewed .review-request-card .request-money-total dd{color:#fff;font-size:32px;font-weight:800;margin-top:6px}
.site-reviewed .review-request-card :is(.request-money-now,.request-money-later){display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:center}
.site-reviewed .review-request-card .request-money-now{background:#eef3e9;padding:14px 12px!important;margin-top:10px;border-radius:5px}
.site-reviewed .review-request-card :is(.request-money-now,.request-money-later) dd{font-size:21px;font-weight:750;white-space:nowrap}
.site-reviewed .review-request-card .request-money-deposit{font-size:14px;border-top:1px solid #d4dfd6}
.site-reviewed[data-site-route='/booking/request/'] .closed-staging-notice{position:static;transform:none;box-shadow:none;background:transparent;color:#536457;border:0;border-bottom:1px solid #d9ded4;padding:10px 0;margin:0 auto;max-width:1160px;width:calc(100% - 40px);font:400 12px/1.5 'Manrope Booking',Arial,sans-serif;text-transform:none;letter-spacing:0;text-align:left}
.site-reviewed .review-request h1{font-size:clamp(30px,4vw,46px);line-height:1.15}
@media(max-width:760px){.site-reviewed .review-request-card{padding:18px}.site-reviewed .review-request-card #requestDetails>div{padding:11px 0}.site-reviewed .review-request-card .request-money-total dd{font-size:30px}.site-reviewed .review-request-card :is(.request-money-now,.request-money-later) dt{font-size:13px;line-height:1.5}.site-reviewed .review-request-card :is(.request-money-now,.request-money-later) dd{font-size:19px}}

/* Verified on the offered-house screen: override the older ID-based muted label. */
.site-reviewed #requestDetails .request-money-total dt{color:#fff!important}

/* 2026-09-08 mobile typography/text-position polish. Architecture unchanged. */
@media(max-width:760px){
  .site-reviewed .closed-staging-notice{
    max-width:calc(100vw - 40px);
    padding:5px 9px;
    font-size:12px;
    line-height:1.4;
    letter-spacing:.015em;
    white-space:normal;
  }
  .site-reviewed.home-page .hero-message-premium h1{
    max-width:100%;
    font-size:44px!important;
    line-height:1.08!important;
    letter-spacing:-.018em!important;
  }
  .site-reviewed.home-page .hero-message-premium .hero-subtitle{
    max-width:340px;
    margin-top:12px;
    font-size:16px;
    line-height:1.55;
  }
  .site-reviewed.home-page .hero-detail{
    max-width:340px;
    margin-top:7px;
    font-size:14px;
    line-height:1.5;
  }
  .site-reviewed.home-page .hero-mobile-actions{margin-top:15px;gap:9px}
}
@media(max-width:390px){
  .site-reviewed.home-page .hero-message-premium h1{font-size:42px!important}
}

/* Keep late server/editorial overrides on the shared reading scale. */
.site-editorial main .page-kicker{font-size:12px;line-height:1.5;letter-spacing:.07em}
.site-editorial .v227-faq p{font-size:16px;line-height:1.65}
.site-reviewed .closed-staging-notice{font-size:12px;line-height:1.4;letter-spacing:.015em}
.site-reviewed .server-quote-preview .server-quote-note,
.site-reviewed .server-hold-timer{font-size:14px;line-height:1.55}
@media(max-width:760px){
  .site-reviewed.home-page .hero-message-premium{width:100%;max-width:390px}
  .site-reviewed.home-page .hero-overline{max-width:34ch;font-size:12px;line-height:1.5;letter-spacing:.07em}
  .site-reviewed .global-quick-booking__form select{font-size:16px!important}
  .site-editorial .house-feature-list,.site-editorial .home-house-select-grid article>div>p{font-size:16px;line-height:1.65}
  .site-editorial .house-palette li{font-size:13px;line-height:1.5}
  .site-editorial .v227-hero-copy h1,.site-editorial .v227-house-hero-copy h1{font-size:42px!important;line-height:1.1!important}
  .site-reviewed .flow-card-head>p:not(.page-kicker){font-size:16px;line-height:1.6}
}

/* 2026-09-08 corrective mobile pass: the villa leads; navigation and preview status recede. */
@media(max-width:760px){
  .site-reviewed.home-page .hero-shade{
    background:
      linear-gradient(180deg,rgba(10,12,11,.12) 0%,rgba(10,12,11,.04) 35%,rgba(10,12,11,.42) 61%,rgba(10,12,11,.84) 100%),
      linear-gradient(90deg,rgba(10,12,11,.18),transparent 72%);
  }
  .site-reviewed.home-page .hero-message-premium{max-width:350px}
  .site-reviewed.home-page .hero-overline{
    max-width:30ch;
    margin-bottom:10px;
    font-size:10px;
    line-height:1.45;
    letter-spacing:.055em;
  }
  .site-reviewed.home-page .hero-message-premium h1{
    max-width:350px;
    font-size:36px!important;
    line-height:1.04!important;
    letter-spacing:-.015em!important;
    text-shadow:0 2px 12px rgba(0,0,0,.42);
  }
  .site-reviewed.home-page .hero-message-premium .hero-subtitle{
    max-width:340px;
    margin-top:10px;
    font-size:15px;
    line-height:1.5;
    text-shadow:0 1px 9px rgba(0,0,0,.46);
  }
  .site-reviewed.home-page .hero-detail{
    max-width:340px;
    margin-top:6px;
    font-size:13px;
    line-height:1.45;
    color:rgba(255,255,255,.8);
  }
  .site-reviewed.home-page .hero-mobile-actions{margin-top:12px;gap:8px}
  .site-reviewed.home-page .hero-mobile-actions :is(button,a){min-height:44px}

  .site-editorial .v227-hero-copy h1{font-size:38px!important;line-height:1.08!important}
  .site-editorial .v227-house-hero-copy h1{font-size:40px!important;line-height:1.08!important}

  .site-reviewed .closed-staging-notice,
  .inner-page .closed-staging-notice{
    top:74px;
    width:max-content;
    max-width:calc(100vw - 40px);
    padding:4px 8px;
    border-color:rgba(255,255,255,.13);
    background:rgba(19,38,33,.78);
    color:rgba(255,255,255,.78);
    box-shadow:none;
    font-size:10px;
    font-weight:500;
    line-height:1.35;
    letter-spacing:.015em;
    text-transform:none;
  }

  .mobile-menu{
    grid-template-rows:auto auto;
    align-content:start;
    gap:16px;
    padding:112px 20px 22px;
  }
  .mobile-menu>nav>a{
    grid-template-columns:26px minmax(0,1fr);
    gap:12px;
    padding:9px 0;
    font-size:28px;
    line-height:1.05;
  }
  .mobile-menu>nav>a::before{font-size:8px;letter-spacing:.12em}
  .mobile-menu-meta{gap:10px;padding-top:14px}
  .mobile-menu-meta p{font-size:11px;line-height:1.55}
  .mobile-menu-meta a{min-height:44px;padding:0 16px;font-size:13px}
  .mobile-menu-meta span{font-size:9px;line-height:1.35;letter-spacing:.08em}
}
@media(max-width:390px){
  .site-reviewed.home-page .hero-message-premium h1{font-size:35px!important}
}

.guest-pwa-install{max-width:40rem;margin:28px auto;padding:20px;color:#c4c8ca;border-top:1px solid #ffffff20;font:14px/1.6 Manrope,system-ui,sans-serif}.guest-pwa-install button{font:inherit;color:#101820;background:#d7c5a3;border:0;border-radius:3px;padding:12px 20px;min-height:44px;cursor:pointer}.guest-pwa-install button:focus-visible{outline:3px solid #f2ede4;outline-offset:4px}.guest-pwa-install [hidden]{display:none}

/* iPhone portrait booking sheet fallback — source mirrored in typography.css */
@media (orientation:portrait) and (max-width:1100px){.booking-sheet-overlay{display:block!important;position:fixed;inset:0;z-index:120;background:rgba(10,14,12,.62);opacity:0;visibility:hidden;pointer-events:none}.booking-open .booking-sheet-overlay{opacity:1;visibility:visible;pointer-events:auto}.home-page .booking-section{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:130!important;max-height:88vh!important;margin:0!important;padding:0!important;background:#f3f1ee!important;overflow-y:auto!important;transform:translateY(105%)!important;visibility:hidden!important}.booking-open .booking-section{transform:translateY(0)!important;visibility:visible!important}.booking-open{overflow:hidden!important}.home-page .booking-card{width:100%!important;display:block!important;padding:28px 20px calc(24px + env(safe-area-inset-bottom))!important;background:#f3f1ee!important;box-shadow:0 -20px 60px rgba(12,18,15,.2)!important}.booking-sheet-close{display:grid!important;position:absolute;right:18px;top:14px;width:38px;height:38px;place-items:center}.home-page .booking-intro{padding-right:50px}.home-page .booking-form{display:block!important;grid-template-columns:1fr!important;margin-top:25px!important}.home-page .booking-form label{display:block!important;margin-bottom:10px!important}.home-page .booking-submit{width:100%!important;min-height:52px!important;margin-top:8px!important}}

/* Shared navigation correction. Loaded after both the immutable public bundle
   and the individual booking/account styles; the approved bundle stays intact. */
.site-reviewed .desktop-nav a{display:flex;align-items:center;box-sizing:border-box;min-height:44px}
.site-reviewed .desktop-nav .nav-owner-access{font-size:10px;letter-spacing:.055em}
.site-reviewed .menu-toggle{min-width:44px;min-height:44px}

/* The two account links cannot fit the desktop header at 901 px. Extend the
   existing compact menu to 1024 px, keeping the same colours and typefaces. */
@media(min-width:901px) and (max-width:1024px){
  .site-reviewed .desktop-nav{display:none}
  .site-reviewed .menu-toggle{display:block}
  .site-reviewed .brand,.site-reviewed .menu-toggle{position:relative;z-index:3}
  .site-reviewed.menu-open{overflow:hidden;overscroll-behavior:none}
  .site-reviewed.menu-open .site-header{position:fixed;background:#1d211f;color:#fff;box-shadow:none;backdrop-filter:none}
  .site-reviewed.menu-open .brand-light{opacity:1}
  .site-reviewed.menu-open .brand-dark{opacity:0}
  .site-reviewed .mobile-menu{inset:0;z-index:2;width:100vw;height:100dvh;min-height:100vh;padding:116px max(24px,calc((100vw - 720px)/2)) 30px;display:grid;grid-template-rows:1fr auto;gap:24px;overflow-y:auto;overscroll-behavior:contain}
  .site-reviewed .mobile-menu[hidden]{display:none}
  .site-reviewed .mobile-menu>nav{display:flex;flex-direction:column}
  .site-reviewed .mobile-menu>nav>a{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;font-size:30px;line-height:1.1;min-height:44px;padding:12px 0}
  .site-reviewed .mobile-menu-meta{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
  .site-reviewed .mobile-menu-meta p{margin:0;font-size:12px;line-height:1.7}
  .site-reviewed .mobile-menu-meta a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid rgba(255,255,255,.55);font-size:14px}
  .site-reviewed .mobile-menu-meta span{grid-column:1/-1;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
}
@media(min-width:901px) and (max-width:1024px){.home-page .booking-card{grid-template-columns:minmax(0,1fr)}}
