/* fonts.css */
@font-face {
  font-family: 'Kumbh Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Kumbh Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'League Spartan';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/font-2.ttf) format('truetype');
}

/* heritage-home.css */
:root{--wine:#4c252b;--ink:#383936;--gutter:5.7vw;--serif:Georgia,'Times New Roman',serif;--sans:'Kumbh Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-weight:300}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;border:0;background:none;padding:0}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h2{font:400 clamp(27px,3.48vw,58px)/1.05 var(--serif);letter-spacing:-.035em}h3{font:400 clamp(17px,1.91vw,32px)/1.25 var(--serif)}.wrap{width:88.6%;margin:auto}.eyebrow,.text-link,.button,.site-header nav,.site-footer nav,.footer-contact button{font-size:clamp(11px,.86vw,15px);font-weight:400;text-transform:uppercase;letter-spacing:.16em;line-height:1.8}.line{display:inline-block;width:clamp(20px,2.7vw,46px);height:1px;background:currentColor;opacity:.6}.site-header{position:absolute;z-index:3;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:4.4vw;padding:1.8vw var(--gutter);color:#292e2e}.site-header nav{display:flex;gap:1.8vw;padding-top:1.3vw;font-size:clamp(11px,.82vw,14px)}.nav-left{justify-content:flex-end}.nav-right{justify-content:flex-start}.brand{display:flex;flex-direction:column;align-items:center;gap:.5vw}.original-logo{width:clamp(35px,3.3vw,57px);height:auto;filter:brightness(0)}.logo-name{font-family:var(--serif);font-size:clamp(14px,1.45vw,25px);letter-spacing:.22em;text-transform:uppercase}.hero{height:44.74vw;max-height:900px;overflow:hidden}.hero>img{height:100%;width:100%;object-fit:cover}.introduction{height:16.1vw;min-height:160px;position:relative;text-align:center;padding-top:2.5vw}.introduction h1{font:300 clamp(25px,3.85vw,65px)/1.2 var(--sans);letter-spacing:.04em;text-transform:uppercase}.introduction>.eyebrow{margin-top:.65vw;font-size:clamp(11px,1.02vw,17px)}.vertical-rule{display:block;height:2.9vw;min-height:22px;width:1px;background:#9d9d98;margin:1.6vw auto 0}.intro-aside{position:absolute;text-align:left;right:0;top:6.8vw;font-size:clamp(10px,.8vw,13px)!important;line-height:1.7}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:1.8vw}.text-link{display:flex;align-items:center;gap:1vw;white-space:nowrap;font-size:clamp(10px,.79vw,13px)}.sale-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5vw}.reference-photo{position:relative;overflow:hidden;background:#e5e4de}.reference-photo>img{position:absolute;max-width:none;object-fit:fill;pointer-events:none}.property-card h3{margin-top:.8vw}.property-card .eyebrow{font-size:clamp(10px,.82vw,14px);margin-top:.2vw}.collection{padding-bottom:3.55vw}.seller{position:relative;background:var(--wine);color:#e7dddb;height:40vw;min-height:280px}.seller-copy{position:relative;z-index:2;padding:2.8vw 0 0 var(--gutter);width:34.5%}.seller-copy h2{font-size:clamp(26px,3.5vw,58px);line-height:1}.seller-copy>.line{display:block;margin:1.7vw 0 2.3vw}.button{border:1px solid #888b87;min-height:40px;padding:1.15vw 2.7vw;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:clamp(10px,.82vw,14px);transition:background .2s,color .2s}.light-outline{border-color:#b6a5a5;color:#f4ecea}.button:hover{background:#292e2c;color:white}.light-outline:hover{background:#f4ecea;color:var(--wine)}.seller-aside{position:absolute;right:9%;top:4vw;line-height:1.9;font-size:clamp(10px,.87vw,14px)}.seller-image{position:absolute;top:13.3vw;width:100%;height:26.7vw;clip-path:polygon(34.5% 0,100% 0,100% 100%,0 100%,0 27%,34.5% 27%)}.featured{padding-top:4.1vw;padding-bottom:6.6vw}.slider-controls{display:flex;gap:18px}.slider-controls button{font-family:Arial,sans-serif;color:#a7aba7;font-size:clamp(23px,2.8vw,42px);padding:4px}.slider-controls button:hover{color:var(--wine)}#featured-photo{height:28.8vw;overflow:hidden}#featured-photo>.reference-photo{height:100%;aspect-ratio:auto!important}.featured-caption{display:flex;justify-content:space-between;align-items:center;margin-top:1.25vw}.featured-caption .eyebrow{font-size:clamp(10px,.82vw,14px);margin-top:.4vw}.rental-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}.rental-grid .reference-photo{aspect-ratio:1.2!important}.rentals{padding-bottom:5.6vw}.journal{padding-bottom:4.35vw}.journal-heading{display:grid;grid-template-columns:1fr 39%;align-items:center;gap:3vw;margin-bottom:2.7vw}.journal-heading h2{font-size:clamp(26px,3.25vw,54px)}.journal-heading h2 .line{vertical-align:middle;width:2.5vw;margin-left:1.3vw}.journal-heading p{font:400 clamp(13px,1.38vw,22px)/1.5 var(--serif);margin-top:1.4vw}.subscribe{display:flex;gap:1.7vw}.subscribe input{min-width:0;width:58%;border:1px solid #c9cdca;background:#fff;padding:1vw;font-size:clamp(11px,1vw,16px);border-radius:0}.subscribe .button{flex:1;padding:1vw 1.8vw}.dark{background:#2e3030;border-color:#2e3030;color:#fff}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}.guide-card{text-align:left}.guide-card .reference-photo{aspect-ratio:1.57!important}.guide-card>.eyebrow{display:block;font-size:clamp(10px,.8vw,13px);margin-top:1.5vw}.guide-card h3{font-size:clamp(17px,1.7vw,28px);margin-top:.3vw}.guide-card>.line{margin-top:1.4vw}.site-footer{background:var(--wine);color:#e9dcdb;padding:4.3vw var(--gutter) 4.2vw}.footer-main{display:grid;grid-template-columns:35% 22% 43%;min-height:17.5vw}.footer-brand{align-self:start}.footer-brand .brand{align-items:flex-start;width:max-content;max-width:100%}.footer-brand .original-logo{filter:none;margin-left:4.5vw;width:4.1vw;min-width:42px}.footer-brand .logo-name{font-size:clamp(18px,1.85vw,31px)}.footer-brand .brand .eyebrow{align-self:center;font-size:clamp(10px,.7vw,12px);margin-top:.2vw}.footer-brand>.line{display:block;margin-top:2.4vw}.footer-brand>p{margin-top:1.8vw;font-size:clamp(10px,.82vw,14px)}.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:.5vw;border-right:1px solid #b8a8a86b}.footer-contact{padding-left:9.3vw}.footer-contact h3{font-size:clamp(22px,2.15vw,36px)}.footer-contact>.line{display:block;margin:1.4vw 0 2vw}.contact-row{display:flex;justify-content:space-between;align-items:start;gap:20px}.contact-row>div:first-child{display:flex;flex-direction:column;align-items:start;gap:.9vw}.social{display:flex;gap:1.8vw}.social button{font-size:clamp(20px,1.7vw,28px);letter-spacing:0;text-transform:none}.footer-bottom{display:flex;justify-content:space-between;margin-top:4vw;font-size:clamp(10px,.75vw,13px)}.extra-grid{margin-top:30px}.extra-grid .photo img{width:100%;aspect-ratio:1.8;object-fit:cover}.extra-grid h3{margin-top:12px}.extra-grid p{font-size:12px;margin-top:5px}.status:empty{display:none}.status{font:13px/1.5 var(--sans)!important}.menu-toggle{display:none}[hidden]{display:none!important}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}:focus-visible{outline:2px solid currentColor;outline-offset:5px}.skip-link:focus{position:fixed;z-index:20;background:white;padding:15px}dialog{border:0;padding:38px;max-width:520px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#17201fc0}dialog h2{font-size:30px;margin-bottom:20px}.dialog-close{position:absolute;right:16px;top:10px;font-size:30px}dialog p{font-size:15px;line-height:1.6;margin:16px 0}dialog form{display:grid;gap:16px}dialog label{display:grid;gap:8px;font-size:13px}dialog input,dialog textarea{border:1px solid #bfc4c0;padding:12px;width:100%;border-radius:0}dialog .button{padding:12px 22px}#mobile-nav{position:absolute;z-index:5;background:white;right:5vw;top:85px;padding:25px;box-shadow:0 12px 40px #0002;display:flex;flex-direction:column;align-items:start;gap:20px}#mobile-nav a,#mobile-nav button{font-size:13px;text-transform:uppercase;letter-spacing:.1em}
@media(min-width:1800px){.hero{max-height:none}}
@media(max-width:700px){:root{--gutter:6vw}.wrap{width:88%}.site-header{padding:18px 6vw;display:flex;justify-content:center}.site-header nav{display:none}.original-logo{width:36px}.logo-name{font-size:14px}.menu-toggle{display:block;position:absolute;right:6vw;top:28px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.hero{height:62vh;min-height:400px}.hero>img{object-position:60% center}.introduction{height:auto;min-height:0;padding:30px 0 32px}.introduction h1{font-size:25px;letter-spacing:.02em}.introduction>.eyebrow{margin-top:12px}.vertical-rule{margin-top:20px}.intro-aside{display:none}h2{font-size:29px}.section-heading{align-items:end;margin-bottom:18px;gap:14px}.text-link{font-size:10px;letter-spacing:.08em;white-space:normal;max-width:110px}.text-link .line{display:none}.sale-grid{gap:18px;grid-template-columns:1fr}.collection{padding-bottom:40px}.property-card h3{margin-top:10px}.property-card .eyebrow{margin-top:4px;font-size:10px}.seller{height:auto;min-height:0;padding-top:30px}.seller-copy{padding:0 6vw 28px;width:100%}.seller-copy h2{font-size:32px}.seller-copy>.line{margin:17px 0}.seller-aside{right:6vw;top:36px;font-size:9px;letter-spacing:.1em}.button{padding:12px 20px;font-size:10px}.seller-image{position:relative;top:auto;height:37vw;clip-path:polygon(34.5% 0,100% 0,100% 100%,0 100%,0 27%,34.5% 27%)}.featured{padding-top:38px;padding-bottom:44px}#featured-photo{height:40vw}.featured-caption{margin-top:14px;gap:10px}.featured-caption h3{font-size:18px}.featured-caption .button{font-size:9px;padding:10px 14px}.rental-grid{grid-template-columns:1fr;gap:25px}.rental-grid .reference-photo{aspect-ratio:1.8!important}.rentals{padding-bottom:42px}.journal-heading{grid-template-columns:1fr;gap:22px;margin-bottom:25px}.journal-heading h2{font-size:28px}.journal-heading p{font-size:14px;margin-top:12px}.subscribe{gap:12px;min-height:44px}.subscribe input{padding:10px;width:65%}.subscribe .button{padding:10px}.guide-grid{grid-template-columns:1fr;gap:28px}.guide-card .reference-photo{aspect-ratio:1.8!important}.guide-card>.eyebrow{margin-top:12px}.guide-card h3{font-size:20px}.guide-card>.line{margin-top:12px}.journal{padding-bottom:40px}.site-footer{padding:35px 6vw 28px}.footer-main{grid-template-columns:1fr 1fr;row-gap:35px}.site-footer nav{padding-left:25px;border:0;font-size:11px;gap:8px}.footer-brand .original-logo{margin-left:34px}.footer-brand>.line{margin-top:20px}.footer-brand>p{margin-top:16px;font-size:9px}.footer-contact{grid-column:1/-1;padding:25px 0 0;border-top:1px solid #ffffff30}.footer-contact>.line{margin:15px 0}.contact-row>div:first-child{gap:12px}.social{gap:22px}.footer-bottom{margin-top:35px;font-size:8px;letter-spacing:.1em;gap:25px}.slider-controls{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Match the fine editorial serif of the supplied Modern Heritage reference. */
:root{--serif:'Baskerville','Times New Roman',serif}
h2{letter-spacing:-.015em}.site-header nav button,.site-footer nav button{font:inherit;letter-spacing:inherit;text-transform:uppercase}
/* Sticky navigation and image-led motion. */
html{scroll-padding-top:95px}.site-header{align-items:center}.site-header nav{padding-top:0}.site-header .brand{min-height:40px}.site-header.is-sticky{position:fixed;top:0;padding:15px var(--gutter);height:76px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 #262a261c;animation:header-arrive .4s ease both;z-index:20}.site-header.is-sticky .original-logo{width:40px}.has-sticky-menu #mobile-nav{position:fixed;top:76px;z-index:21}@keyframes header-arrive{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
.introduction h1{background:linear-gradient(108deg,#383936 0%,#383936 42%,#858d85 48%,#a1aaa1 50%,#858d85 52%,#383936 58%,#383936 100%);background-size:260% 100%;background-position:var(--sheen-position,145%) 50%;background-clip:text;-webkit-background-clip:text;color:transparent}
.seller-line{display:block}.seller.is-revealed .seller-line{animation:seller-arrive 1s cubic-bezier(.2,.65,.3,1) both}.seller.is-revealed .seller-line:nth-child(2){animation-delay:.16s}.seller.is-revealed .seller-copy>.line{transform-origin:left;animation:line-arrive 1.2s .2s ease both}@keyframes seller-arrive{from{transform:translateY(16px);opacity:.25;filter:blur(2px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}@keyframes line-arrive{from{transform:scaleX(.15)}to{transform:scaleX(1)}}
.hero,.reference-photo,.photo{position:relative}.hero::after,.reference-photo::after,.photo::after{content:'';position:absolute;inset:0;background:#060b0e;opacity:.22;pointer-events:none;transition:opacity .65s cubic-bezier(.2,.7,.3,1);z-index:1}.hero::after{opacity:.15}.seller-image::after{opacity:.24}.hero:hover::after,.reference-photo:hover::after,.photo:hover::after,.property-card:hover .reference-photo::after,.property-card:hover .photo::after,.guide-card:hover .reference-photo::after,.property-card:focus-visible .reference-photo::after,.property-card:focus-visible .photo::after,.guide-card:focus-visible .reference-photo::after{opacity:.03}
.chevron{display:inline-block;width:10px;height:10px;border:solid currentColor;border-width:1.4px 1.4px 0 0;transform:rotate(45deg);vertical-align:middle}.chevron.previous{transform:rotate(-135deg)}.slider-controls,.carousel-controls{display:flex;gap:8px;align-items:center}.slider-controls button,.carousel-controls button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;color:#535b56;transition:color .2s,opacity .2s}.carousel-controls button:disabled{opacity:.25;cursor:default}.slider-controls button:hover,.carousel-controls button:not(:disabled):hover{color:var(--wine)}.carousel{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - (var(--columns) - 1)*2.5vw)/var(--columns));gap:2.5vw;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab;padding-bottom:8px}.carousel::-webkit-scrollbar{display:none}.carousel>*{scroll-snap-align:start;min-width:0}.carousel:focus-visible{outline-offset:7px}.carousel.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}.carousel .photo{overflow:hidden;aspect-ratio:1.993}.carousel .photo img{width:100%;height:100%;object-fit:cover}.carousel .property-card>p:not(.eyebrow){font-size:clamp(11px,.82vw,14px);font-weight:400;text-transform:uppercase;letter-spacing:.16em;margin-top:.3vw;line-height:1.8}.rental-grid.carousel .photo,.rental-grid.carousel .reference-photo{aspect-ratio:1.2!important}.journal-controls{justify-content:flex-end;margin:-.9vw 0 1.4vw}.guide-grid.carousel{align-items:start}.guide-card{min-width:0}.guide-card .reference-photo{width:100%}
@media(max-width:700px){.site-header.is-sticky{height:64px;padding:12px 6vw}.site-header.is-sticky .original-logo{width:34px}.site-header.is-sticky .menu-toggle{top:25px}.has-sticky-menu #mobile-nav{top:64px}.carousel{grid-auto-columns:86%;gap:18px}.rental-grid.carousel .reference-photo,.rental-grid.carousel .photo{aspect-ratio:1.5!important}.carousel-controls,.slider-controls{gap:0}.carousel-controls button,.slider-controls button{width:38px;height:40px}.journal-controls{margin:0 0 14px}.guide-grid.carousel .reference-photo{aspect-ratio:1.57!important}html{scroll-padding-top:82px}}
@media(hover:none){.hero::after{opacity:.12}.reference-photo::after,.photo::after{opacity:.13}}
@media(prefers-reduced-motion:reduce){.site-header.is-sticky,.seller.is-revealed .seller-line,.seller.is-revealed .seller-copy>.line{animation:none}.introduction h1{background:none;color:var(--ink)}.carousel{scroll-behavior:auto}}
/* Keep the staggered seller photograph anchored within its section. */
.seller-image{position:absolute}
@media(max-width:700px){.seller-image{position:relative}}

/* reference-shell.css */
/* Header, hero and footer from the supplied October 15 references. */
.site-header{color:#fff;padding:34px 5.2%;grid-template-columns:1fr 100px 1fr;gap:8vw;align-items:center;z-index:4}
.site-header .original-logo{width:92px;filter:none}.site-header nav{font-size:14px;letter-spacing:.045em;gap:clamp(28px,3.5vw,68px);white-space:nowrap}.nav-left{justify-content:flex-start}.nav-right{justify-content:flex-end}.language-toggle{flex:none;display:grid;place-items:center;width:24px;height:30px}.language-toggle img{object-fit:contain;width:17px;height:17px}.site-header nav a,.site-header nav button{transition:opacity .25s}.site-header nav a:hover,.site-header nav button:hover{opacity:.65}.site-header.is-sticky{color:#303230;grid-template-columns:1fr 44px 1fr;gap:8vw}.site-header.is-sticky .original-logo,.site-header.is-sticky .language-toggle img{filter:brightness(0)}
.hero{height:100svh;min-height:650px;max-height:none;background:#29363c}.hero-gallery{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.8s ease}.hero-slide.is-active{opacity:1}.hero::after{background:#000;opacity:.33}.hero:hover::after{opacity:.27}.hero-caption{position:absolute;z-index:2;left:5%;right:5%;bottom:14%;text-align:center;color:#fff}.hero-caption>p{font-size:14px;font-weight:400;letter-spacing:.07em;text-transform:uppercase;margin-bottom:26px}.hero-caption h1{font:300 clamp(30px,2.9vw,56px)/1.2 var(--sans);text-transform:uppercase;letter-spacing:.025em;background:linear-gradient(110deg,#dededb 0%,#dededb 43%,#fff 49%,#fff 51%,#dededb 57%,#dededb 100%);background-size:260% 100%;background-position:var(--sheen-position,145%) 50%;background-clip:text;-webkit-background-clip:text;color:transparent}.hero-actions{display:flex;justify-content:center;gap:28px;margin-top:56px}.hero-actions .button{width:245px;height:56px;font-size:13px;letter-spacing:.04em;font-weight:400;padding:15px 24px}.hero-primary{background:#fff;color:#343634;border-color:#fff}.hero-secondary{background:transparent;color:white;border-color:#ffffffb0}.hero-primary:hover{background:#e8e8e5;color:#242624;border-color:#e8e8e5}.hero-secondary:hover{background:#fff;color:#343634;border-color:#fff}.motion-control{position:absolute;z-index:2;bottom:40px;right:3.2%;width:36px;height:36px;border:1px solid #ffffff80;border-radius:50%;color:#fff;display:grid;place-items:center}.motion-control span{width:7px;height:11px;border-left:1px solid;border-right:1px solid}.motion-control[aria-pressed=true] span{width:0;height:0;border:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor;margin-left:2px}.introduction{height:auto;min-height:0;padding:54px 0 48px}.introduction>p{font-size:clamp(14px,1.15vw,20px);letter-spacing:.025em;line-height:1.6}.introduction .vertical-rule{height:24px;margin-top:24px}.journal-heading{grid-template-columns:1fr}.journal-controls{margin-top:-44px}
.reference-footer{background:#1c1c1b;color:#c9c9c6;font-family:var(--sans);font-weight:300}.footer-inner{width:86.6%;max-width:1800px;margin:auto;padding:88px 0 82px}.footer-top{display:grid;grid-template-columns:60% 1fr;gap:10%;align-items:end}.reference-footer h2,.reference-footer h3{font-family:var(--sans);font-weight:300;letter-spacing:.04em;line-height:1.4;text-transform:uppercase}.reference-footer h2{font-size:21px;margin-bottom:26px}.reference-footer h3{font-size:18px;margin-bottom:26px}.reference-footer .subscribe{gap:0;height:56px}.reference-footer .subscribe input{width:auto;flex:1;font:300 13px var(--sans);padding:18px 23px;border:0;text-transform:uppercase;letter-spacing:.02em;color:#333}.reference-footer .subscribe input::placeholder{color:#999}.reference-footer .subscribe button{background:#50504f;color:#ddd;min-width:144px;padding:0 22px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;transition:background .25s}.reference-footer .subscribe button:hover{background:#666}.footer-social{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:56px}.footer-social :is(button,a){width:38px;height:40px;display:grid;place-items:center;transition:opacity .25s}.footer-social img{width:32px;height:32px;object-fit:contain;filter:brightness(0) invert(1)}.footer-social :is(button,a):hover{opacity:.6}.footer-columns{display:grid;grid-template-columns:1.2fr .8fr 1.35fr;gap:6%;margin-top:92px}.footer-columns section{display:flex;flex-direction:column;align-items:flex-start}.footer-columns a,.footer-columns button{font-size:13px;font-weight:300;line-height:1.6;letter-spacing:.015em;text-transform:uppercase;margin-bottom:12px;text-align:left}.footer-columns a:hover,.footer-columns button:hover{color:#fff}.footer-conversation :is(.footer-mail,.footer-call){display:flex;justify-content:center;align-items:center;width:100%;min-height:54px;border:1px solid #888;margin-bottom:14px;transition:background .25s,color .25s}.footer-conversation .footer-mail{background:#fff;color:#555;border-color:#fff}.footer-conversation .footer-mail:hover{background:#ddd;color:#333}.footer-conversation .footer-call:hover{background:#fff;color:#333}.footer-legal{border-top:1px solid #ffffff12;padding:35px 6.7%;display:flex;justify-content:space-between;gap:30px;font-size:12px;line-height:1.6;color:#979794}.footer-legal>div{display:flex;gap:16px;flex-wrap:wrap}.footer-legal :is(button,a):hover{color:#fff}.reference-footer .status{margin-top:12px;color:#ccc}
@media(min-width:1800px){.site-header{padding-top:44px}.site-header .original-logo{width:110px}.site-header nav{font-size:16px}.hero-caption>p{font-size:16px}.hero-actions .button{width:280px;height:62px;font-size:14px}.footer-inner{padding-top:110px;padding-bottom:100px}.footer-columns{margin-top:110px}}
@media(max-width:1100px){.site-header{padding:28px 4%;gap:4vw;grid-template-columns:1fr 72px 1fr}.site-header .original-logo{width:72px}.site-header nav{gap:22px;font-size:11px}.site-header.is-sticky{gap:4vw}.footer-inner{padding:65px 0}.footer-top{gap:6%;grid-template-columns:64% 1fr}.footer-social{gap:12px}.footer-social img{width:25px;height:25px}.footer-columns{gap:4%;grid-template-columns:1.2fr .8fr 1.2fr}.reference-footer h3{font-size:15px}.footer-columns a,.footer-columns button{font-size:11px}}
@media(max-width:700px){.site-header{display:flex;justify-content:center;padding:25px 6%}.site-header .original-logo{width:64px}.site-header .menu-toggle{top:39px;color:inherit}.site-header.is-sticky .menu-toggle{top:25px}.hero{min-height:600px;height:92svh}.hero-slide{object-position:59% center}.hero-caption{bottom:15%;left:6%;right:6%}.hero-caption>p{font-size:11px;letter-spacing:.13em;margin-bottom:20px}.hero-caption h1{font-size:29px;line-height:1.25;max-width:350px;margin:auto}.hero-actions{gap:12px;margin-top:30px}.hero-actions .button{width:auto;flex:1;max-width:190px;font-size:11px;padding:12px 8px;height:48px}.motion-control{bottom:24px;right:6%;width:32px;height:32px}.introduction{padding:38px 0}.introduction>p{max-width:280px;margin:auto}.journal-controls{margin-top:0}.footer-inner{width:88%;padding:46px 0 35px}.footer-top{grid-template-columns:1fr;gap:24px}.reference-footer h2{font-size:19px;margin-bottom:20px}.reference-footer .subscribe{height:50px}.reference-footer .subscribe input{padding:12px;font-size:11px}.reference-footer .subscribe button{min-width:100px;font-size:11px;padding:0 12px}.footer-social{justify-content:flex-start;gap:26px}.footer-columns{margin-top:40px;grid-template-columns:1fr 1fr;gap:36px 20px}.reference-footer h3{font-size:14px;margin-bottom:20px}.footer-columns a,.footer-columns button{font-size:11px;line-height:1.7}.footer-conversation{grid-column:1/-1}.footer-conversation :is(.footer-mail,.footer-call){font-size:12px}.footer-legal{padding:25px 6%;flex-direction:column;gap:18px;font-size:11px}.footer-legal>div{gap:12px}}
@media(prefers-reduced-motion:reduce){.hero-caption h1{background:none;color:#fff}.hero-slide{transition:none}}
/* Compact hero with the signature on the white panel below. */
.hero{height:44.74vw;min-height:420px;max-height:760px}.hero-slide{object-position:center 52%}.introduction{padding:36px 0 42px}.introduction h1{font:300 clamp(27px,3vw,52px)/1.2 var(--sans);text-transform:uppercase;letter-spacing:.055em}.introduction>.eyebrow{font-size:clamp(11px,.95vw,15px);letter-spacing:.2em;margin-top:12px}.introduction .vertical-rule{margin-top:25px}.motion-control{bottom:24px}
@media(max-width:700px){.hero{height:58svh;min-height:360px;max-height:520px}.hero-slide{object-position:60% center}.introduction{padding:30px 0 35px}.introduction h1{font-size:25px;letter-spacing:.025em}.introduction>.eyebrow{font-size:11px;margin-top:12px}.introduction .vertical-rule{margin-top:22px}}
/* Keep the destination line just inside the first viewport. */
.hero{height:calc(100svh - 150px);min-height:460px;max-height:none}.hero>.hero-actions{position:absolute;z-index:2;left:6%;right:6%;bottom:54px;margin:0}.introduction{padding-top:30px}.introduction h1{font-size:clamp(27px,3vw,52px)}
@media(max-width:700px){.hero{height:calc(100svh - 132px);min-height:400px;max-height:none}.hero>.hero-actions{bottom:62px}.introduction{padding-top:27px}.introduction h1{font-size:25px}}
/* Narrow the content columns by 10%; retain full-bleed photography and backgrounds. */
@media(min-width:701px){:root{--gutter:10.13vw}.wrap{width:79.74%}.reference-footer .footer-inner{width:77.94%}.footer-legal{padding-left:11.03%;padding-right:11.03%}.site-header.is-sticky{padding-left:5.2%;padding-right:5.2%}.seller-copy{width:40%}.seller-aside{right:10.13%}}

/* modern-refinement.css */
/* One typographic scale, one content grid and a consistent photographic rhythm. */
:root{--serif:var(--sans);--ink:#2a302f;--wine:#252b2a;--section-space:clamp(64px,7.1vw,120px);--grid-gap:28px}
body{color:var(--ink);-webkit-font-smoothing:antialiased}
h2,.journal-heading h2{font:300 clamp(27px,2.4vw,40px)/1.2 var(--sans);letter-spacing:-.035em}
h3,.guide-card h3{font:400 clamp(16px,1.35vw,21px)/1.4 var(--sans);letter-spacing:-.02em}
.wrap{max-width:1440px}.section-heading{margin-bottom:28px;align-items:center}.collection{padding-top:42px;padding-bottom:var(--section-space)}.featured{padding-top:var(--section-space);padding-bottom:var(--section-space)}.rentals,.journal{padding-bottom:var(--section-space)}
.introduction{padding-bottom:46px}.introduction h1{letter-spacing:.065em;font-size:clamp(25px,2.65vw,46px)}.introduction>.eyebrow{color:#747a77;font-size:11px;letter-spacing:.22em}.vertical-rule{opacity:.45}
.carousel{gap:var(--grid-gap);grid-auto-columns:calc((100% - (var(--columns) - 1)*var(--grid-gap))/var(--columns));padding-bottom:10px}.property-card .reference-photo,.carousel .photo{aspect-ratio:1.55!important}.rental-grid.carousel .reference-photo,.rental-grid.carousel .photo{aspect-ratio:1.28!important}.reference-photo.real-photo img{position:static;max-width:100%;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.65,.3,1)}.property-card:hover .real-photo img,.property-card:focus-visible .real-photo img{transform:scale(1.035)}.property-card h3{margin-top:17px}.property-card .eyebrow,.carousel .property-card>p:not(.eyebrow),.featured-caption .eyebrow{margin-top:5px;font-size:11px;line-height:1.6;letter-spacing:.09em;color:#7b807d;font-weight:300}.reference-photo::after,.photo::after{opacity:.15}.property-card:hover .reference-photo::after,.property-card:hover .photo::after,.guide-card:hover .reference-photo::after{opacity:.015}
.button{font-size:11px;letter-spacing:.1em;font-weight:400;min-height:48px;padding:14px 27px;border-color:#b3b8b3}.slider-controls button,.carousel-controls button{width:42px;height:42px;border:1px solid #dde0dc;border-radius:50%;color:#555e58}.slider-controls,.carousel-controls{gap:10px}.slider-controls button:hover,.carousel-controls button:not(:disabled):hover{background:#f3f4f1;border-color:#bbc1bb;color:#222}.chevron{width:8px;height:8px;border-width:1px 1px 0 0}.slider-controls button:focus-visible,.carousel-controls button:focus-visible{outline-offset:4px}
.seller{width:100%;height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);grid-template-rows:auto auto;column-gap:7%;padding:64px 10.13%;background:#252b2a;color:#f2f2ec;align-items:center}.seller-copy{grid-column:1;grid-row:1;align-self:end;width:auto;padding:0}.seller-copy h2{font:300 clamp(32px,3.15vw,52px)/1.13 var(--sans);letter-spacing:-.04em}.seller-copy>.line{display:none}.seller-copy .button{margin-top:30px;color:#eee;border-color:#7a817b}.seller-copy .button:hover{background:#fff;color:#252b2a}.seller-aside{position:static;grid-column:1;grid-row:2;align-self:start;max-width:290px;font-size:13px;line-height:1.8;color:#b4bcb6;margin-top:22px;letter-spacing:0}.seller-image.reference-photo{position:relative;grid-column:2;grid-row:1/3;top:auto;width:100%;height:355px;aspect-ratio:auto!important;clip-path:none}.seller-image::after{opacity:.13}.seller-image:hover::after{opacity:.02}
#featured-photo{height:auto;aspect-ratio:2.05}#featured-photo>.reference-photo{width:100%;height:100%}.featured-caption{margin-top:22px}.featured-caption h3{font-size:20px}.featured-caption .button{min-width:165px}
.journal{border-top:1px solid #e5e7e2;padding-top:54px}.journal-heading{margin-bottom:28px}.journal-heading h2 .line,.guide-card>.line{display:none}.journal-heading p{font:300 13px/1.7 var(--sans);color:#767d77;margin-top:10px}.journal-controls{margin-top:-78px;margin-bottom:36px}.guide-card>.eyebrow{margin-top:17px;font-size:11px;color:#7b807d;letter-spacing:.1em;font-weight:300}.guide-card h3{margin-top:5px;font-size:17px}.guide-grid.carousel .reference-photo{aspect-ratio:1.55!important}
.reference-footer .footer-inner{width:79.74%;max-width:1440px;padding-top:72px;padding-bottom:72px}.reference-footer{background:#202523}.footer-legal{padding-left:10.13%;padding-right:10.13%}.reference-footer h2{font-size:18px;letter-spacing:.07em}.reference-footer h3{font-size:13px;font-weight:400;letter-spacing:.09em}.footer-columns{margin-top:72px}.footer-columns a,.footer-columns button{font-size:11px;letter-spacing:.035em}.footer-social img{width:26px;height:26px}.reference-footer .subscribe{height:50px}.reference-footer .subscribe button{background:#3d4540;font-size:11px}.reference-footer .subscribe input{font-size:11px}.footer-conversation :is(.footer-mail,.footer-call){min-height:48px}.footer-legal{font-size:11px}
@media(min-width:1800px){.seller{padding-left:max(10.13%,calc((100% - 1440px)/2));padding-right:max(10.13%,calc((100% - 1440px)/2))}.seller-image.reference-photo{height:430px}}
@media(max-width:900px){.seller{column-gap:5%;padding-top:45px;padding-bottom:45px}.seller-image.reference-photo{height:310px}.seller-copy h2{font-size:34px}}
@media(max-width:700px){:root{--section-space:58px;--grid-gap:18px}.wrap{width:88%}h2,.journal-heading h2{font-size:27px;letter-spacing:-.035em}.introduction{padding-bottom:38px}.introduction h1{font-size:25px;letter-spacing:.025em}.collection{padding-top:22px}.section-heading{margin-bottom:23px;gap:12px}.section-heading h2{max-width:72%}.carousel{grid-auto-columns:86%;gap:18px}.property-card h3{font-size:17px;margin-top:14px}.slider-controls,.carousel-controls{gap:6px}.slider-controls button,.carousel-controls button{width:34px;height:34px}.seller{padding:38px 6%;grid-template-columns:1fr;gap:0}.seller-copy{grid-column:1;grid-row:1;align-self:auto}.seller-copy h2{font-size:35px}.seller-copy .button{margin-top:24px}.seller-aside{grid-row:2;margin-top:18px;max-width:300px}.seller-image.reference-photo{grid-column:1;grid-row:3;height:250px;margin-top:30px}.featured-caption h3{font-size:17px}.featured-caption .button{min-width:0;font-size:10px;padding:12px 16px}#featured-photo{aspect-ratio:1.45}.journal{padding-top:38px}.journal-heading{margin-bottom:16px}.journal-controls{margin:0 0 22px}.reference-footer .footer-inner{width:88%;padding-top:46px;padding-bottom:38px}.footer-columns{margin-top:38px}.footer-legal{padding-left:6%;padding-right:6%}}
@media(prefers-reduced-motion:reduce){.reference-photo.real-photo img{transition:none}.property-card:hover .real-photo img{transform:none}}
.seller{grid-template-rows:auto}.seller-copy{align-self:center}.seller-copy .seller-aside{margin-top:24px;max-width:285px;font-size:14px;line-height:1.75;color:#bac2bc}.seller-copy .button{margin-top:28px}.seller-image.reference-photo{grid-row:1}
@media(max-width:700px){.seller-image.reference-photo{grid-row:2}.seller-copy .seller-aside{margin-top:18px;font-size:13px}.seller-copy .button{margin-top:23px}}
/* Follow-up: quieter transitions and edge-to-edge seller photography. */
.introduction{padding:36px 0 54px}.introduction .vertical-rule{display:none}.introduction>.eyebrow{margin-top:13px}.collection{padding-top:0}.slider-controls button,.carousel-controls button{border:0;border-radius:0;background:none}.slider-controls button:hover,.carousel-controls button:not(:disabled):hover{background:none;border:0;color:#111}.slider-controls,.carousel-controls{gap:6px}.chevron{width:10px;height:10px}
.seller{padding:0;grid-template-columns:43% 57%;gap:0;min-height:440px;align-items:stretch}.seller-copy{padding:65px 40px 65px max(10.13vw,calc((100vw - 1440px)/2));align-self:center}.seller-copy h2{font-size:clamp(32px,3vw,49px)}.seller-image.reference-photo{grid-column:2;grid-row:1;height:100%;min-height:440px;margin:0;align-self:stretch}.seller-copy .seller-aside{max-width:280px}.seller-image.real-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#featured-photo{aspect-ratio:2.5}.featured-caption{margin-top:18px}.rental-grid .property-card>p{display:none}.journal-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.journal-controls{margin:0;flex:none}.journal-heading p{margin-top:12px}.journal-heading h2{font-size:clamp(27px,2.4vw,40px)}.guide-card>.eyebrow{display:none}.guide-card h3{margin-top:17px}
@media(max-width:1100px) and (min-width:701px){.seller-copy{padding-left:10.13vw;padding-right:25px}.seller-copy h2{font-size:32px}}
@media(max-width:700px){.introduction{padding:29px 0 44px}.introduction>.eyebrow{margin-top:12px}.collection{padding-top:0}.seller{grid-template-columns:1fr;min-height:0}.seller-copy{padding:36px 6%;grid-row:1}.seller-copy h2{font-size:35px}.seller-image.reference-photo{grid-column:1;grid-row:2;height:280px;min-height:0;margin:0}.journal-heading{align-items:flex-start;gap:10px}.journal-heading>div:first-child{min-width:0}.journal-heading h2{font-size:25px}.journal-heading p{font-size:12px;max-width:250px}.journal-controls{margin:0;padding-top:0}.journal-controls button{width:30px}#featured-photo{aspect-ratio:1.55}}
/* Signature returned to the photograph, with a quieter navigation grouping. */
.hero::after{opacity:.43}.hero:hover::after{opacity:.37}.hero-caption{left:6%;right:6%;bottom:54px;color:#fff}.hero-caption>p{font-size:clamp(11px,.95vw,15px);letter-spacing:.2em;margin-bottom:20px;color:#fff}.hero-caption h1{font:300 clamp(27px,2.65vw,46px)/1.2 var(--sans);letter-spacing:.065em;color:#fff;background:linear-gradient(110deg,#e7e7e4 0%,#e7e7e4 43%,#fff 49%,#fff 51%,#e7e7e4 57%,#e7e7e4 100%);background-size:260% 100%;background-position:var(--sheen-position,145%) 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-caption .hero-actions{margin-top:38px}.collection{padding-top:72px}.site-header,.site-header.is-sticky{gap:6vw}.site-header .nav-left{justify-content:flex-end}.site-header .nav-right{justify-content:flex-start}.language-toggle img{width:24px;height:24px}.language-toggle{width:30px;height:36px}
@media(max-width:1100px) and (min-width:701px){.site-header,.site-header.is-sticky{gap:3vw}.site-header nav{gap:20px}.language-toggle img{width:22px;height:22px}}
@media(max-width:700px){.hero-caption{bottom:44px}.hero-caption>p{font-size:11px;margin-bottom:17px}.hero-caption h1{font-size:25px;letter-spacing:.025em;max-width:none}.hero-caption .hero-actions{margin-top:30px}.collection{padding-top:42px}}
@media(prefers-reduced-motion:reduce){.hero-caption h1{background:none;-webkit-text-fill-color:#fff;color:#fff}}
/* Full-height hero on desktop and mobile. */
.hero{height:100svh;min-height:0;max-height:none}
/* Optical alignment of the globe and a lighter central brand presence. */
.site-header .language-toggle{transform:translateY(-3px)}
.site-header:not(.is-sticky) .original-logo{width:84px}
@media(min-width:1800px){.site-header:not(.is-sticky) .original-logo{width:100px}}
@media(min-width:701px) and (max-width:1100px){.site-header:not(.is-sticky) .original-logo{width:66px}}
@media(max-width:700px){.site-header:not(.is-sticky) .original-logo{width:59px}}
/* Preserve the upper photograph while adding contrast behind the caption. */
.hero::after,.hero:hover::after{background:linear-gradient(to bottom,rgba(0,0,0,.43) 0%,rgba(0,0,0,.43) 40%,rgba(0,0,0,.51) 66%,rgba(0,0,0,.72) 100%);opacity:1}
.hero-caption h1{background:none;color:#fff;-webkit-text-fill-color:#fff}
.hero-caption .hero-secondary{border-color:rgba(255,255,255,.8);color:#fff}
.hero-caption .hero-secondary:hover{color:#343634}
/* Give the central logo more breathing room. */
.site-header,.site-header.is-sticky{column-gap:8vw}
.site-header:not(.is-sticky) .original-logo{width:75.6px}
.site-header.is-sticky .original-logo{width:36px}
@media(min-width:1800px){.site-header:not(.is-sticky) .original-logo{width:90px}}
@media(min-width:701px) and (max-width:1100px){.site-header,.site-header.is-sticky{column-gap:4vw}.site-header:not(.is-sticky) .original-logo{width:59.4px}}
@media(max-width:700px){.site-header:not(.is-sticky) .original-logo{width:53.1px}.site-header.is-sticky .original-logo{width:30.6px}}
/* Align both outside navigation edges with the content grid. */
@media(min-width:701px){
 .site-header,.site-header.is-sticky{padding-left:max(10.13vw,calc((100vw - 1440px)/2));padding-right:max(10.13vw,calc((100vw - 1440px)/2));column-gap:3vw}
 .site-header .nav-left{justify-content:flex-start}
 .site-header .nav-right{justify-content:flex-end}
 .site-header nav{gap:clamp(18px,2.5vw,48px)}
 .site-header .language-toggle{width:24px}
}
@media(min-width:701px) and (max-width:1100px){.site-header,.site-header.is-sticky{column-gap:2vw}.site-header nav{gap:18px}}
/* Match the monogram's visual weight to the navigation. */
.site-header:not(.is-sticky) .original-logo{width:66px;opacity:.78}
.site-header:not(.is-sticky) nav,.site-header:not(.is-sticky) .menu-toggle{color:rgba(255,255,255,.82)}
.site-header:not(.is-sticky) .language-toggle img{opacity:.82}
@media(min-width:1800px){.site-header:not(.is-sticky) .original-logo{width:78px}}
@media(min-width:701px) and (max-width:1100px){.site-header:not(.is-sticky) .original-logo{width:54px}}
@media(max-width:700px){.site-header:not(.is-sticky) .original-logo{width:48px}}
/* Balance the hero signature with its two actions. */
.hero-caption h1{font-size:clamp(23px,2.2525vw,39.1px)}
.hero-caption>p{letter-spacing:.14em;margin-bottom:17px}
.hero-caption .hero-actions{margin-top:28px}
@media(max-width:700px){.hero-caption h1{font-size:21.25px}.hero-caption>p{margin-bottom:14px}.hero-caption .hero-actions{margin-top:24px}}
/* Keep the additional whitespace above Selected properties. */
.collection{padding-top:100px}
@media(max-width:700px){.collection{padding-top:68px}}
/* Property labels sit within the photograph in a quiet Avenir treatment. */
:is(.sale-grid,.rental-grid) .property-card{position:relative;display:block;overflow:hidden}
:is(.sale-grid,.rental-grid) .property-card::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.08) 52%,rgba(0,0,0,.65) 100%)}
:is(.sale-grid,.rental-grid) .property-image-caption{position:absolute;z-index:2;left:20px;right:20px;bottom:27px;text-align:center;color:#fff;pointer-events:none}
:is(.sale-grid,.rental-grid) .property-image-caption h3{margin:0;font-family:'Avenir','Avenir Next',var(--sans);font-size:clamp(14px,1.25vw,20px);font-weight:400;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}
:is(.sale-grid,.rental-grid) .property-image-caption p{margin:9px 0 0;font-family:'Avenir','Avenir Next',var(--sans);font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.88)}
@media(max-width:700px){:is(.sale-grid,.rental-grid) .property-image-caption{left:14px;right:14px;bottom:20px}:is(.sale-grid,.rental-grid) .property-image-caption h3{font-size:14px}:is(.sale-grid,.rental-grid) .property-image-caption p{margin-top:7px}}
/* Expand the shared desktop content grid by five percent. */
@media(min-width:701px){
 :root{--gutter:8.1365vw;--content-edge:max(8.1365vw,calc((100vw - 1512px)/2))}
 .wrap{width:83.727%;max-width:1512px}
 .reference-footer .footer-inner{width:83.727%;max-width:1512px}
 .site-header,.site-header.is-sticky{padding-left:var(--content-edge);padding-right:var(--content-edge)}
 .seller-copy{padding-left:var(--content-edge)}
 .footer-legal{padding-left:var(--content-edge);padding-right:var(--content-edge)}
}

/* Spacing after removing the featured property section. */
.rentals{padding-top:var(--section-space)}

/* Rentals share the sales collection’s landscape image format. */
.rental-grid.carousel .reference-photo,.rental-grid.carousel .photo{aspect-ratio:1.55!important}

/* Collection headings follow the quiet uppercase newsletter treatment. */
.collection > .section-heading h2,
.rentals > .section-heading h2,
.journal > .journal-heading h2 {
 font-family: Avenir, 'Avenir Next', var(--sans);
 font-size: 28px;
 font-weight: 300;
 line-height: 1.4;
 letter-spacing: .07em;
 text-transform: uppercase;
}
@media(max-width:700px){
 .collection > .section-heading h2,
 .rentals > .section-heading h2,
 .journal > .journal-heading h2 {font-size:22px}
}

/* island-portals.css */
.island-portals{padding-top:clamp(70px,7vw,110px);padding-bottom:0;font-family:Avenir,'Avenir Next',var(--sans);color:#262c2b}
.islands-heading{text-align:center;margin-bottom:36px}.islands-heading p{font:400 11px/1.5 Avenir,'Avenir Next',var(--sans);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px}.islands-heading h2{font:400 27px/1.4 Avenir,'Avenir Next',var(--sans);letter-spacing:0;margin:0}
.islands-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(80px,12.5vw,160px) minmax(0,1fr);align-items:center}
.island-portal{display:block;text-decoration:none;color:inherit;text-align:center;min-width:0}.island-portal h3{font:400 clamp(30px,3.35vw,43px)/1.3 Avenir,'Avenir Next',var(--sans);letter-spacing:.08em;margin:0 0 20px;text-transform:none}
.island-photo{position:relative;overflow:hidden;aspect-ratio:470/510}.island-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.island-photo:after{content:'';position:absolute;inset:0;background:#000;opacity:.16;transition:opacity .7s ease}.island-portal:hover .island-photo:after,.island-portal:focus-visible .island-photo:after{opacity:0}.island-portal:hover img{transform:scale(1.025)}.island-portal:focus-visible{outline:1px solid #262c2b;outline-offset:8px}
.island-link{display:flex;align-items:center;gap:24px;width:max-content;margin:22px auto 0;padding-bottom:9px;border-bottom:1px solid #aaa;font:400 11px/1.4 Avenir,'Avenir Next',var(--sans);letter-spacing:.16em;text-transform:uppercase}.island-link span{font-size:21px;line-height:12px;letter-spacing:0}
.island-divider{text-align:center;font-size:12px;color:#858985;line-height:2.2;letter-spacing:.15em;text-transform:uppercase}.island-divider:before,.island-divider:after{content:'';display:block;width:1px;height:70px;background:#d2d5d0;margin:22px auto}
.rentals>.section-heading{flex-wrap:wrap}.rental-reset{font:400 11px Avenir,'Avenir Next',var(--sans);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #888;padding-bottom:5px;margin-left:auto}.rentals .carousel-controls{margin-left:auto}.rental-reset:not([hidden])~.carousel-controls{margin-left:14px}.rental-empty{padding:36px 0;border-top:1px solid #ddd}.rental-empty p{font-size:16px;line-height:1.7;margin-bottom:22px}.rental-empty .button{border:1px solid #999}.rentals [hidden]{display:none!important}
@media(max-width:700px){.island-portals{padding-top:65px}.islands-heading{margin-bottom:32px}.islands-heading h2{font-size:24px}.islands-grid{grid-template-columns:minmax(0,1fr);gap:0}.island-portal h3{font-size:32px;margin-bottom:18px}.island-photo{aspect-ratio:4/4.3}.island-divider{font-size:11px;display:flex;align-items:center;justify-content:center;gap:20px;padding:35px 0;line-height:1.8}.island-divider:before,.island-divider:after{width:40px;height:1px;margin:0}.rental-reset{margin-left:0}}
@media(prefers-reduced-motion:reduce){.island-photo img,.island-photo:after{transition:none}.island-portal:hover img{transform:none}}

/* Compact island selection: both destinations and actions fit below the sticky header. */
@media(min-width:701px){
 .island-portals{padding-top:36px;padding-bottom:32px;max-width:1120px}
 .islands-heading{margin-bottom:26px}
 .islands-grid{grid-template-columns:minmax(0,1fr) clamp(100px,10vw,140px) minmax(0,1fr);align-items:start}
 .island-photo{aspect-ratio:auto;height:clamp(220px,calc(100svh - 430px),440px)}
 .island-divider{align-self:center;transform:translateY(-34px)}
 .island-divider:before,.island-divider:after{height:clamp(35px,5vh,60px);margin:18px auto}
}
.island-photo h3{position:absolute;z-index:2;bottom:28px;left:12px;right:12px;margin:0;color:#fff;font-size:clamp(28px,2.65vw,36px);line-height:1.3;text-shadow:0 2px 20px #0005;pointer-events:none}
.island-photo:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 45%,rgba(0,0,0,.35));pointer-events:none}
.island-link.button{display:flex;justify-content:center;min-width:190px;min-height:48px;width:max-content;margin:20px auto 0;padding:14px 27px;border:1px solid #7a817b;color:#303735;background:transparent;font:400 11px/1.8 var(--sans);letter-spacing:.1em;text-transform:uppercase;transition:background .25s,color .25s}
.island-portal:hover .island-link.button,.island-portal:focus-visible .island-link.button{background:#252b2a;color:white}
@media(max-width:700px){.island-portals{padding-top:42px}.islands-heading{margin-bottom:26px}.island-photo{aspect-ratio:1.2}.island-photo h3{bottom:24px;font-size:30px;margin:0}.island-link.button{min-height:48px;margin-top:18px}.island-divider{padding:25px 0}}

/* Align the outer photograph edges with the page's content grid. */
.island-portals.wrap{max-width:1512px}
.islands-heading h2{font:400 11px/1.5 Avenir,'Avenir Next',var(--sans);letter-spacing:.18em;text-transform:uppercase;margin:0}
.island-photo .island-link.button{position:absolute;z-index:2;bottom:28px;left:50%;transform:translateX(-50%);margin:0;border-color:rgba(255,255,255,.7);color:#fff;background:rgba(0,0,0,.14)}
.island-portal:hover .island-link.button,.island-portal:focus-visible .island-link.button{background:#fff;color:#252b2a;border-color:#fff}
@media(min-width:701px){.island-divider{transform:none}.island-photo{height:clamp(250px,calc(100svh - 360px),470px)}.islands-heading{margin-bottom:30px}}
@media(max-width:700px){.island-photo .island-link.button{bottom:24px}.islands-heading{margin-bottom:28px}}
.island-divider{white-space:nowrap;font-size:clamp(11px,.9vw,12px);letter-spacing:.12em}

/* Wider landscape photographs with a quiet editorial paragraph per island. */
.island-destination{min-width:0}
.islands-heading h2{font-size:16px;line-height:1.5;letter-spacing:.17em}
.island-description{margin:24px 0 0;font:400 14px/1.75 Avenir,'Avenir Next',var(--sans);color:#68706b;text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word}
.island-photo .island-link.button{background:#fff;border-color:#fff;color:#303735;min-width:190px;bottom:24px}
.island-portal:hover .island-link.button,.island-portal:focus-visible .island-link.button{background:#252b2a;border-color:#252b2a;color:#fff}
@media(min-width:701px){
 .islands-grid{grid-template-columns:minmax(0,1fr) clamp(90px,7vw,110px) minmax(0,1fr);align-items:start}
 .island-photo{height:min(24vw,calc(100svh - 470px),360px);min-height:190px}
 .island-divider{align-self:start;padding-top:0;height:min(24vw,calc(100svh - 470px),360px);min-height:190px;display:flex;flex-direction:column;justify-content:center;line-height:1.8;font-size:11px;letter-spacing:.08em}
 .island-divider:before,.island-divider:after{height:36px;flex-shrink:0;margin:16px auto}
 .islands-heading{margin-bottom:28px}
}
@media(max-width:700px){.islands-heading h2{font-size:14px}.island-photo{aspect-ratio:1.4}.island-description{font-size:13px;line-height:1.8;margin-top:20px}.island-divider{padding:28px 0}.island-photo .island-link.button{bottom:20px}}
/* Quiet, geographically accurate island outlines in place of property photos. */
.island-maps .island-photo{background:#f3f5f3;overflow:visible}
.island-maps .island-photo:before,.island-maps .island-photo:after{display:none}
.island-maps .island-photo img{object-fit:contain;transform:none!important;filter:none}
.island-maps .island-photo .island-link.button{bottom:16px;min-height:42px;padding:10px 22px;background:#fff;border:1px solid #d7dcd5}
.island-maps .island-portal:hover .island-link.button,.island-maps .island-portal:focus-visible .island-link.button{background:#252b2a;border-color:#252b2a;color:#fff}
/* Reliefs belong to the white page surface, without map tiles or frames. */
.island-maps .island-photo{background:transparent;overflow:visible}
.island-maps .island-photo img{object-fit:contain}
.island-maps .island-link.button{min-height:44px;margin:12px auto 0;padding:11px 26px;border-color:#969f96;color:#303735;background:transparent}
.island-maps .island-description{margin-top:25px}
@media(min-width:701px){.island-maps .island-photo,.island-maps .island-divider{height:min(24vw,calc(100svh - 525px),340px);min-height:190px}.island-maps .islands-heading{margin-bottom:18px}}
@media(max-width:700px){.island-maps .island-photo{aspect-ratio:1.55}.island-maps .island-link.button{margin-top:5px}}

/* section-spacing.css */
/* Shared vertical rhythm. Adjacent white sections split the same single gap. */
:root {
  --section-space: clamp(112px, 9vw, 160px);
  --section-half-space: calc(var(--section-space) / 2);
  --heading-space: clamp(32px, 2.7vw, 44px);
  --panel-space: clamp(76px, 6.5vw, 112px);
}
.collection {
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
}
.collection > .section-heading,
.rentals > .section-heading,
.journal > .journal-heading {
  margin-bottom: var(--heading-space);
}
.island-portals.island-maps {
  padding-top: var(--section-space);
  padding-bottom: var(--section-half-space);
}
.island-maps .islands-heading { margin-bottom: var(--heading-space); }
.rentals {
  padding-top: var(--section-half-space);
  padding-bottom: var(--section-half-space);
}
.journal {
  padding-top: var(--section-half-space);
  padding-bottom: var(--section-space);
}
.seller-copy {
  padding-top: var(--panel-space);
  padding-bottom: var(--panel-space);
}
.reference-footer .footer-inner {
  padding-top: var(--panel-space);
  padding-bottom: var(--panel-space);
}
@media (max-width: 700px) {
  :root {
    --section-space: 72px;
    --heading-space: 28px;
    --panel-space: 52px;
  }
}

/* homepage-polish.css */
/* Deliberate motion and the editorial layer of the homepage. */
:root{--motion-duration:700ms;--motion-ease:cubic-bezier(.22,.61,.36,1)}
.island-description{text-align:left;hyphens:none;text-wrap:pretty;line-height:1.85;color:#68706b}
.journal{position:relative}
.brand-ribbon{position:absolute;bottom:0;left:50%;width:100vw;max-width:100vw;height:calc(var(--section-space) - 18px);transform:translateX(-50%);overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}
.brand-ribbon-toggle{display:block;width:100%;height:100%;cursor:default;overflow:hidden}
.brand-ribbon-toggle:focus-visible{outline:1px solid #858b86;outline-offset:-6px}
.brand-ribbon-track{display:flex;width:max-content;height:100%;animation:brand-drift 75s linear infinite;will-change:transform}
.brand-ribbon-group{display:flex;align-items:center;flex-shrink:0}
.brand-ribbon-item{display:flex;align-items:center;justify-content:center;width:clamp(200px,18vw,320px);padding:0 35px}
.brand-ribbon-item img{height:42px;width:160px;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.21}
.brand-ribbon-item img[src*="mandarin"]{height:52px;width:145px}
.brand-ribbon-item img[src*="porsche"]{height:22px;width:165px}
.brand-ribbon:hover .brand-ribbon-track,.brand-ribbon:focus-within .brand-ribbon-track,.brand-ribbon.is-paused .brand-ribbon-track{animation-play-state:paused}
@keyframes brand-drift{from{transform:translateX(-50%)}to{transform:translateX(0)}}
/* The Gazette has a lead story and two supporting stories. */
.guide-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:28px 36px}
.guide-grid .guide-card{display:flex;flex-direction:column;min-height:0;align-items:stretch}
.guide-grid .guide-card:first-child{grid-row:1 / 3}
.guide-grid .guide-card .reference-photo{aspect-ratio:2.65!important}
.guide-grid .guide-card:first-child .reference-photo{aspect-ratio:auto!important;flex:1;min-height:250px}
.guide-grid .guide-card h3{font:400 17px/1.5 Avenir,'Avenir Next',var(--sans);letter-spacing:0;margin-top:14px}
.guide-grid .guide-card:first-child h3{font-size:22px}
.property-card .reference-photo:after,.property-card .photo:after,.guide-card .reference-photo:after{transition:opacity var(--motion-duration) var(--motion-ease)}
.property-card .real-photo img,.property-card .photo img{transition:transform var(--motion-duration) var(--motion-ease)}
.property-card:hover .real-photo img,.property-card:focus-visible .real-photo img,.property-card:hover .photo img,.property-card:focus-visible .photo img{transform:scale(1.025)}
.property-card:hover .reference-photo:after,.property-card:focus-visible .reference-photo:after,.property-card:hover .photo:after,.property-card:focus-visible .photo:after,.guide-card:hover .reference-photo:after,.guide-card:focus-visible .reference-photo:after{opacity:.02}
.section-heading,.journal-heading{align-items:center}
.carousel-controls button{width:42px;height:42px}
.button{transition:background .3s ease,color .3s ease,border-color .3s ease}
.reveal-ready{opacity:0;transform:translateY(16px);transition:opacity var(--motion-duration) var(--motion-ease),transform var(--motion-duration) var(--motion-ease)}
.reveal-ready.is-visible{opacity:1;transform:none}
@media(max-width:700px){
 .brand-ribbon-item{width:180px;padding:0 30px}
 .brand-ribbon-item img{height:28px;width:120px}
 .brand-ribbon-item img[src*="mandarin"]{height:36px;width:100px}
 .brand-ribbon-item img[src*="porsche"]{height:18px;width:120px}
 .guide-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;gap:28px 18px}
 .guide-grid .guide-card:first-child{grid-column:1/-1;grid-row:auto}
 .guide-grid .guide-card:first-child .reference-photo{aspect-ratio:1.57!important;min-height:0;flex:none}
 .guide-grid .guide-card .reference-photo{aspect-ratio:1.25!important}
 .guide-grid .guide-card h3{font-size:14px;margin-top:12px}
 .guide-grid .guide-card:first-child h3{font-size:18px}
 .carousel-controls button{width:34px;height:34px}
}
@media(prefers-reduced-motion:reduce){
 .brand-ribbon-track{animation:none;transform:none}
 .brand-ribbon-toggle{overflow-x:auto}
 .brand-ribbon-group[aria-hidden]{display:none}
 .reveal-ready{opacity:1;transform:none;transition:none}
 .property-card .real-photo img,.property-card .photo img,.property-card .reference-photo:after,.property-card .photo:after,.guide-card .reference-photo:after{transition:none}
 .property-card:hover img,.property-card:focus-visible img{transform:none!important}
}
/* Readability pass: body copy, controls and supporting labels. */
.island-description{font-size:16px;line-height:1.8}
.seller-copy .seller-aside{font-size:16px;line-height:1.8}
.journal-heading p{font-size:15px;line-height:1.8}
.button,.island-maps .island-link.button,.rental-reset{font-size:12px}
:is(.sale-grid,.rental-grid) .property-image-caption h3{font-size:clamp(16px,1.25vw,20px)}
:is(.sale-grid,.rental-grid) .property-image-caption p{font-size:12px}
.island-divider{font-size:12px}
.hero-caption>p{font-size:clamp(12px,.95vw,15px)}
.reference-footer h2{font-size:20px}
.reference-footer h3{font-size:14px;line-height:1.6}
.footer-columns a,.footer-columns button{font-size:13px;line-height:1.7}
.reference-footer .subscribe input,.reference-footer .subscribe button{font-size:12px}
.footer-legal{font-size:12px;line-height:1.7}
.journal{border-top:0;padding-bottom:calc(var(--section-space) + 48px)}
@media(min-width:701px) and (max-width:1100px){
 .site-header nav{font-size:12px;gap:14px;letter-spacing:.1em}
}
@media(max-width:700px){
 .island-description,.seller-copy .seller-aside{font-size:15px;line-height:1.8}
 .journal-heading p{font-size:14px;max-width:none}
 .guide-grid .guide-card h3{font-size:16px;line-height:1.5}
 :is(.sale-grid,.rental-grid) .property-image-caption h3{font-size:15px}
 .hero-actions .button,.menu-toggle{font-size:12px}
 .island-divider{font-size:12px}
 .journal{padding-bottom:calc(var(--section-space) + 36px)}
}
.site-header nav{font-size:clamp(12px,.82vw,14px)}


/* Original photographs and a quiet, separate brand column in the footer. */
.guide-grid .editorial-photo{position:relative;overflow:hidden}
.guide-grid .editorial-photo>img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;transform:none}
.guide-grid .guide-card:first-child .editorial-photo>img{object-position:center 55%}
.island-maps .island-photo{display:flex;align-items:center;justify-content:center}
.island-maps .island-photo img{width:85%;height:85%;object-fit:contain}
.reference-footer .footer-inner{display:grid;grid-template-columns:minmax(0,20fr) minmax(0,74fr);gap:6%}
.footer-content{min-width:0}
.footer-monogram{padding-top:0;align-self:center}
.footer-monogram img{display:block;width:100%;max-width:270px;height:auto;filter:brightness(0) invert(1);opacity:.075}
.reference-footer .footer-top{grid-template-columns:minmax(0,1fr) auto;gap:7%}
.reference-footer .footer-social{gap:20px}
.reference-footer .footer-social button{width:28px}
.reference-footer .footer-columns{grid-template-columns:1.15fr .8fr 1.25fr;gap:5%}
@media(min-width:701px) and (max-width:1100px){
 .reference-footer .footer-top{grid-template-columns:minmax(0,1fr);gap:24px}
 .reference-footer .footer-social{justify-content:flex-start;gap:24px}
 .reference-footer .footer-columns{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px 24px}
 .reference-footer .footer-conversation{grid-column:1/-1}
}
@media(max-width:700px){
 .reference-footer .footer-inner{grid-template-columns:minmax(0,1fr);gap:36px}
 .footer-monogram{padding-top:0}
 .footer-monogram img{width:130px;max-width:100%;transform:none}
 .reference-footer .footer-top{grid-template-columns:minmax(0,1fr);gap:24px}
 .reference-footer .footer-social{justify-content:flex-start;gap:24px}
 .reference-footer .footer-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 20px}
}

/* Carry the editorial typography and charcoal palette into the entrance. */
.site-header{padding-top:28px;padding-bottom:28px;align-items:center}
.site-header nav{align-items:center;font-family:Avenir,'Avenir Next',var(--sans);font-weight:400;letter-spacing:.09em;line-height:1.5}
.site-header .language-toggle{transform:none;height:28px}
.site-header .language-toggle img{width:21px;height:21px}
.site-header:not(.is-sticky) .original-logo{width:60px;opacity:.85}
.site-header:not(.is-sticky) nav{color:#eceeeb}
.site-header.is-sticky{background:rgba(32,37,35,.97);color:#e1e4df;box-shadow:0 1px 0 #ffffff12}
.site-header.is-sticky .original-logo,.site-header.is-sticky .language-toggle img{filter:brightness(0) invert(1);opacity:.85}
.hero::after,.hero:hover::after{background:linear-gradient(180deg,rgba(32,37,35,0) 0%,rgba(0,0,0,0) 48%,rgba(0,0,0,.2) 65%,rgba(0,0,0,.68) 84%,rgba(0,0,0,.84) 100%);opacity:1}
.hero-caption{bottom:clamp(56px,9svh,104px)}
.hero-caption>p{font:400 12px/1.6 Avenir,'Avenir Next',var(--sans);letter-spacing:.16em;color:#d9ded8;margin-bottom:16px}
.hero-caption h1{font:300 clamp(26px,2.35vw,36px)/1.3 Avenir,'Avenir Next',var(--sans);letter-spacing:.07em;color:#f5f6f3;-webkit-text-fill-color:#f5f6f3}
.hero-caption .hero-actions{margin-top:30px;gap:18px}
.hero-actions .button{width:210px;height:50px;min-height:50px;padding:14px 22px;font:400 12px/1.5 Avenir,'Avenir Next',var(--sans);letter-spacing:.09em}
.hero-primary{background:#f5f6f3;border-color:#f5f6f3;color:#202523}
.hero-caption .hero-secondary{border-color:#ffffff80;color:#f5f6f3}
.hero-caption .hero-secondary:hover{background:#f5f6f3;color:#202523}
@media(min-width:701px) and (max-width:1100px){.site-header nav{gap:16px;font-size:12px;letter-spacing:.06em}.site-header:not(.is-sticky) .original-logo{width:52px}}
@media(max-width:700px){
 .site-header{padding-top:24px;padding-bottom:24px}
 .site-header:not(.is-sticky) .original-logo{width:48px}
 .site-header .menu-toggle{top:34px;font-family:Avenir,'Avenir Next',var(--sans);letter-spacing:.09em}
 .hero-caption{bottom:56px}
 .hero-caption h1{font-size:25px;letter-spacing:.055em;max-width:340px}
 .hero-caption>p{font-size:12px;margin-bottom:14px}
 .hero-caption .hero-actions{gap:12px;margin-top:26px}
 .hero-actions .button{width:auto;min-width:0;max-width:190px;padding:13px 10px;font-size:11px;height:48px;min-height:48px}
}

/* White navigation and two balanced actions over a darker hero. */
.site-header:not(.is-sticky),.site-header:not(.is-sticky) nav,.site-header:not(.is-sticky) .menu-toggle{color:#f5f6f3}
.site-header:not(.is-sticky) .original-logo,.site-header:not(.is-sticky) .language-toggle img{filter:brightness(0) invert(1);opacity:.9}
@media(min-width:1101px){
 .site-header,.site-header.is-sticky{padding-left:calc(var(--content-edge) + 3vw);padding-right:calc(var(--content-edge) + 3vw)}
}
.hero::after,.hero:hover::after{background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.18) 18%,rgba(0,0,0,0) 35%,rgba(0,0,0,0) 48%,rgba(0,0,0,.2) 65%,rgba(0,0,0,.68) 84%,rgba(0,0,0,.84) 100%);opacity:1}

/* Gazette: quiet editorial column alongside a portrait story carousel. */
.journal{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,61fr);column-gap:4%;align-items:stretch;padding-top:var(--section-space)}
.journal-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:48px;margin:0;padding:5px 32px 0 0}
.journal-heading h2{font-size:28px;line-height:1.4;max-width:340px}
.journal-heading p{font:300 15px/1.85 Avenir,'Avenir Next',var(--sans);color:#626963;max-width:290px;margin:0 0 6px}
.journal .journal-controls{position:absolute;top:calc(var(--section-space) - 56px);right:0;margin:0;padding:0;display:flex;gap:8px}
.journal .guide-grid.carousel{display:grid;grid-template-columns:none;grid-template-rows:auto;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/2.35);gap:16px;width:calc(100% + var(--content-edge,6vw));min-width:0;padding:0 0 8px;align-items:start}
.journal .guide-grid .guide-card,.journal .guide-grid .guide-card:first-child{display:flex;flex-direction:column;grid-column:auto;grid-row:auto;min-width:0;text-align:center}
.journal .guide-grid .guide-card .reference-photo,.journal .guide-grid .guide-card:first-child .reference-photo{width:100%;height:auto;aspect-ratio:.66!important;min-height:0;flex:none}
.journal .guide-grid .guide-card h3,.journal .guide-grid .guide-card:first-child h3{font:400 15px/1.6 Avenir,'Avenir Next',var(--sans);text-transform:uppercase;letter-spacing:.06em;margin:20px 10px 0}
.story-action{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-40%);background:#fff;color:#252b2a;padding:16px 22px;font:400 12px/1.5 Avenir,'Avenir Next',var(--sans);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;opacity:0;transition:opacity .3s,transform .3s}
.guide-card:hover .story-action,.guide-card:focus-visible .story-action{opacity:1;transform:translate(-50%,-50%)}
@media(max-width:1100px) and (min-width:701px){.journal-heading h2{font-size:25px}.journal-heading{padding-right:12px}.journal-heading p{font-size:14px}}
@media(max-width:700px){
 .journal{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:var(--section-space)}
 .journal-heading{padding:0;gap:16px}
 .journal-heading h2{font-size:22px;max-width:280px}
 .journal-heading p{font-size:14px;max-width:310px;margin:0}
 .journal .journal-controls{top:var(--section-space);right:0;gap:0}
 .journal .guide-grid.carousel{width:calc(100% + 6vw);grid-auto-columns:74%;gap:14px}
 .journal .guide-grid .guide-card .reference-photo,.journal .guide-grid .guide-card:first-child .reference-photo{aspect-ratio:.78!important}
 .journal .guide-grid .guide-card h3{font-size:14px;margin-top:16px}
}
@media(prefers-reduced-motion:reduce){.story-action{transition:none}}

/* Let the next property continue beyond the right viewport edge. */
.collection .sale-grid.carousel,.rentals .rental-grid.carousel{width:calc(100% + var(--content-edge,6vw));grid-auto-columns:calc((100% - var(--content-edge,6vw) - (var(--columns) - 1)*var(--grid-gap))/var(--columns))}
@media(max-width:700px){
 .collection .sale-grid.carousel,.rentals .rental-grid.carousel{width:calc(100% + 6vw);grid-auto-columns:calc((100% - 6vw)*.86)}
}
.site-header .member-toggle{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.member-toggle svg{flex:none}


/* Left-aligned hero signature on the shared content edge. */
.hero-caption{left:var(--content-edge,6vw);right:var(--content-edge,6vw);text-align:left}
.hero-caption>p{margin-bottom:18px}
.hero-caption h1{font-size:clamp(40px,4.0625vw,52px);line-height:1.12;letter-spacing:.035em;max-width:100%;margin:0;text-wrap:balance}
.hero-caption .hero-actions{justify-content:flex-start;margin-top:32px}
@media(max-width:700px){
 .hero-caption{left:6vw;right:6vw;bottom:48px}
 .hero-caption h1{font-size:clamp(36px,10vw,48px);line-height:1.14;letter-spacing:.025em;max-width:360px;margin:0}
 .hero-caption>p{margin-bottom:16px}
 .hero-caption .hero-actions{margin-top:28px}
}

.hero-caption h1 .hero-title-prefix{font-size:.55em;line-height:1.2;display:inline-block;vertical-align:baseline}

/* Keep the two title lines together without an oversized inline line box. */
.hero-caption h1{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1.08}
.hero-caption h1 .hero-title-prefix{display:block;font-size:1em;line-height:1.08}
.hero-caption h1 .hero-title-main{display:block;line-height:1.08}
.hero-caption>p{margin-bottom:20px}
.hero-caption .hero-actions{margin-top:32px}

/* Lift the hero composition and anchor a quiet brand line below it. */
.hero-caption{bottom:clamp(116px,17svh,180px)}
.hero-signature{position:absolute;z-index:2;bottom:27px;left:6%;right:6%;margin:0;text-align:center;color:rgba(255,255,255,.82);font:300 14px/1.6 Avenir,'Avenir Next',var(--sans);letter-spacing:.035em}
@media(max-width:700px){.hero-caption{bottom:124px}.hero-signature{bottom:25px;font-size:12px;max-width:300px;margin:auto;letter-spacing:.02em}}

.hero-signature{text-transform:uppercase;font-size:12px;letter-spacing:.13em}
@media(max-width:700px){.hero-signature{font-size:11px;line-height:1.8;letter-spacing:.08em;max-width:320px}}

.hero-caption h1 .hero-title-main{font-size:1.3em}
@media(max-width:700px){.hero-caption h1 .hero-title-main{font-size:1.12em;letter-spacing:.015em}}

.hero-signature{left:var(--content-edge,6vw);right:var(--content-edge,6vw);text-align:left;max-width:none;margin:0}
@media(max-width:700px){.hero-signature{left:6vw;right:6vw;max-width:320px;margin:0}}
/* Gazette keeps the established portrait carousel, now linked to the guide library. */
.journal .gazette-intro p{font-size:16px;line-height:1.85}
.journal .gazette-all{display:inline-flex;margin-top:28px;border:1px solid #aeb3ab;padding:14px 26px;min-height:48px;font:400 12px/1.5 Avenir,'Avenir Next',var(--sans);text-transform:uppercase;letter-spacing:.07em;color:#303630;background:white}
.journal .gazette-all:hover{background:#262b28;color:white;border-color:#262b28}
.journal .gazette-photo-credits{display:block;width:fit-content;font:400 11px/1.6 Avenir,'Avenir Next',var(--sans);color:#72786e;margin-top:20px}
.journal .guide-card>.line{display:none}

/* Original partner artwork, scaled to the existing ribbon. */
.brand-ribbon-item img[src$="/eiva.svg"]{width:180px;max-width:none;height:54px;flex-shrink:0}
.brand-ribbon-item img[src$="/lionsgate-capital.svg"]{width:165px;height:47px}

.brand-ribbon-item img[src$="/lionsgate-gallery.svg"]{width:155px;height:24px;max-width:none;flex-shrink:0}

.brand-ribbon-item-eiva{width:clamp(240px,21vw,360px)}
@media(max-width:900px){.brand-ribbon-item-eiva{width:220px}}

/* experience.css */
/* Final rhythm and motion. Scrolling remains entirely native. */
:root{--motion-duration:800ms;--motion-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:104px}
.journal{padding-top:var(--section-half-space)}
.journal>.journal-heading{margin-bottom:0}
.journal .journal-controls{top:calc(var(--section-half-space) - 52px)}
.collection .sale-grid.carousel .reference-photo,.collection .sale-grid.carousel .photo,
.rentals .rental-grid.carousel .reference-photo,.rentals .rental-grid.carousel .photo{aspect-ratio:1.48!important}
.section-heading h2{color:#303633}
.seller-copy h2{font-family:Avenir,'Avenir Next',var(--sans);letter-spacing:0;line-height:1.22}
.seller-copy h2 .seller-line:first-child{font-size:.84em;letter-spacing:.055em;margin-bottom:5px}
.home-page .seller-copy{text-align:center;padding-inline:clamp(28px,4vw,80px)}
.home-page .seller-copy .seller-aside,.home-page .seller-copy>.line{margin-inline:auto}
.seller.is-revealed .seller-line{animation:none}
.seller-image.reference-photo{overflow:hidden}
.island-description{max-width:440px;margin-left:auto;margin-right:auto;line-height:1.85}
.island-divider{color:#747b75}
.hero-gallery{transform:translate3d(0,var(--hero-drift,0px),0) scale(1.035);transform-origin:center;will-change:transform}
.reveal-ready{opacity:0;transform:translate3d(0,20px,0);transition:opacity 800ms var(--motion-ease),transform 1000ms var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready.is-visible{opacity:1;transform:none}
.seller-image img{transform:scale(1.025);transition:transform 1.4s var(--motion-ease)}
.seller-image.is-visible img{transform:scale(1)}
.property-card .real-photo img,.property-card .photo img{transition:transform 1.1s var(--motion-ease)}
.guide-grid .editorial-photo>img{transition:transform 1.1s var(--motion-ease)}
.guide-card:hover .editorial-photo>img,.guide-card:focus-visible .editorial-photo>img{transform:scale(1.035)}
.site-header nav a,.site-header nav button:not(.language-toggle){position:relative}
.site-header nav a::after,.site-header nav button:not(.language-toggle)::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;opacity:.55;transition:transform .3s ease}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after,.site-header nav a[aria-current]::after,.site-header nav button:not(.language-toggle):hover::after{transform:scaleX(1)}
.site-header.is-sticky{height:68px;animation-duration:.28s;background:rgba(32,37,35,.98)}
.site-header.is-sticky .original-logo{width:34px}
.has-sticky-menu #mobile-nav{top:68px}
.button{transition:background .3s ease,color .3s ease,border-color .3s ease}
.carousel{scroll-snap-type:x proximity}
.carousel-controls button{min-height:44px}
.carousel:focus-visible{outline:1px solid #747d76;outline-offset:6px}
@media(max-width:1000px) and (min-width:701px){
 .site-header{display:flex;justify-content:center}
 .site-header nav{display:none}
 .site-header .menu-toggle{display:block;position:absolute;right:var(--content-edge);top:36px;color:inherit;font-size:12px;letter-spacing:.1em}
 .site-header.is-sticky .menu-toggle{top:25px}
 #mobile-nav{right:var(--content-edge)}
}
@media(max-width:1000px){
 #mobile-nav{background:#202523;color:#f1f3ee;box-shadow:0 16px 40px #0002;min-width:220px;padding:30px;gap:24px;border:1px solid #ffffff12}
 #mobile-nav a,#mobile-nav button{font:400 13px/1.5 Avenir,'Avenir Next',var(--sans);letter-spacing:.1em}
}
@media(max-width:700px){
 html{scroll-padding-top:88px}
 .site-header.is-sticky{height:64px}
 .has-sticky-menu #mobile-nav{top:64px}
 .hero-gallery{transform:none;will-change:auto}
 .seller-copy{padding-top:56px;padding-bottom:56px}
 .seller-copy h2{font-size:34px}
 .island-description{max-width:440px}
 .journal{padding-top:var(--section-half-space);row-gap:30px}
 .journal .journal-controls{top:var(--section-half-space)}
 .journal-heading h2{max-width:250px;padding-right:12px}
 .journal-heading p{max-width:320px}
 .journal .guide-grid .guide-card .reference-photo,.journal .guide-grid .guide-card:first-child .reference-photo{aspect-ratio:.78!important}
 .reference-footer .footer-inner{gap:32px}
}
@media(prefers-reduced-motion:reduce){
 html,.carousel{scroll-behavior:auto}
 .hero-gallery{transform:none;will-change:auto}
 .reveal-ready{opacity:1;transform:none;transition:none}
 .seller-image img,.property-card img,.guide-grid .editorial-photo>img{transition:none;transform:none!important}
 .site-header.is-sticky{animation:none}
}

/* A full-width rental invitation, matched to the island silhouettes. */
.ownership-banner{width:100%;margin:var(--section-half-space) 0;background:#505651;color:#fff}
.ownership-inner.wrap{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;text-align:center;gap:28px;padding-top:clamp(48px,4.4vw,72px);padding-bottom:clamp(48px,4.4vw,72px)}
.ownership-copy h2{margin:0 0 20px;font:400 clamp(22px,2vw,30px)/1.35 Avenir,'Avenir Next',var(--sans);letter-spacing:.09em;text-transform:uppercase;color:#fff}
.ownership-copy p{margin:0 auto;font:400 15px/1.75 Avenir,'Avenir Next',var(--sans);color:#f1f2ef;max-width:780px}
.ownership-banner .button{min-width:190px;min-height:50px;padding:15px 24px;background:#fff;border:1px solid #fff;color:#303633;white-space:nowrap;font:400 12px/1.5 Avenir,'Avenir Next',var(--sans);letter-spacing:.08em;text-transform:uppercase}
.ownership-banner .button:hover,.ownership-banner .button:focus-visible{background:transparent;color:#fff}
@media(max-width:900px){.ownership-banner .button{justify-self:center}.ownership-copy p{max-width:680px}}
@media(max-width:700px){.ownership-copy h2{font-size:22px;letter-spacing:.07em}.ownership-copy p{font-size:14px;line-height:1.8}.ownership-inner.wrap{padding-top:44px;padding-bottom:44px}}

.island-maps .islands-heading h2{font:300 28px/1.4 Avenir,'Avenir Next',var(--sans);letter-spacing:.07em;text-transform:uppercase;color:#303633}
@media(max-width:700px){.island-maps .islands-heading h2{font-size:22px}}

main>.brand-ribbon{position:relative;inset:auto;width:100%;max-width:100%;height:clamp(80px,8vw,112px);transform:none;margin:0}
.journal{padding-bottom:var(--section-space)}

:root{--footer-surface:#202523;--footer-button:#3d4540}
.ownership-banner,.reference-footer{background:var(--footer-surface)}
.ownership-banner .button,.reference-footer .subscribe button{background:var(--footer-button);border-color:var(--footer-button);color:#f1f2ef}
.ownership-banner .button:hover,.ownership-banner .button:focus-visible,.reference-footer .subscribe button:hover,.reference-footer .subscribe button:focus-visible{background:#505a53;border-color:#505a53;color:#fff}

.ownership-copy p{font-size:16px;line-height:1.85;font-weight:400;color:#f1f2ef}
.ownership-banner .button{min-width:220px;min-height:56px;padding:17px 30px;font-size:14px;background:#fff;border-color:#fff;color:#303633}
.ownership-banner .button:hover,.ownership-banner .button:focus-visible{background:#e9ece8;border-color:#e9ece8;color:#202523}
@media(max-width:700px){.ownership-copy p{font-size:15px;line-height:1.85}}

/* Consistent controls and supporting typography across the homepage. */
.seller-copy .button,.island-maps .island-link.button{box-sizing:border-box;min-height:52px;padding:14px 26px;display:inline-flex;align-items:center;justify-content:center;font:400 12px/1.8 Avenir,'Avenir Next',var(--sans);letter-spacing:.1em}
.ownership-copy h2{font-size:28px;font-weight:300;line-height:1.4;letter-spacing:.07em}
.journal-heading p{font-size:16px;line-height:1.85;font-weight:400}
@media(max-width:700px){.ownership-copy h2{font-size:22px}.journal-heading p{font-size:15px}}

/* contact-fields.css */
/* Shared contact identity for the homepage dialog, sales and both rental enquiries. */
.contact-name-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contact-phone-pair{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px}
.contact-fields label{min-width:0}.contact-fields input{min-width:0}
#property-enquiry .contact-fields .phone-format-note,#contact-form .contact-fields .phone-format-note{font-size:11px;line-height:1.6;margin:-10px 0 24px;letter-spacing:.015em}
#property-enquiry .contact-fields .phone-format-note{color:#b9c0b8}
#contact-form .contact-fields .phone-format-note{color:#6e746e}
#contact-form .contact-fields label{margin-top:0}
#contact-form .contact-fields input{font-size:16px}
#contact-dialog{overflow-y:auto;max-height:90svh}
@media(max-width:700px){.contact-name-pair{gap:14px}.contact-phone-pair{grid-template-columns:100px minmax(0,1fr);gap:12px}}
#property-enquiry .contact-fields .required-fields-note,#contact-form .contact-fields .required-fields-note{font-size:11px;line-height:1.6;letter-spacing:.015em;margin:0 0 20px}
#property-enquiry .required-fields-note{color:#b9c0b8}#contact-form .required-fields-note{color:#6e746e}
.phone-country-choice{position:relative;display:block;margin-top:9px}
#property-enquiry .phone-country-choice select,#contact-form .phone-country-choice select{display:block;width:100%;height:52px;min-height:52px;margin:0;padding:12px 15px;border:1px solid #fff;border-radius:0;background:#fff;color:transparent!important;appearance:none;font:inherit;cursor:pointer}
#contact-form .phone-country-choice select{border-color:#c3c7c2}
.phone-country-choice select option{color:#202523;background:white}
.phone-country-value{position:absolute;left:15px;top:50%;transform:translateY(-50%);pointer-events:none;color:#202523;font:300 16px/1.6 'Kumbh Sans',Arial,sans-serif}
.phone-country-choice:after{content:'';position:absolute;right:12px;top:23px;width:6px;height:6px;border-right:1px solid #555;border-bottom:1px solid #555;transform:rotate(45deg);pointer-events:none}
#contact-form .contact-fields label{display:block;margin:0 0 18px}
#contact-form .contact-fields input{min-height:52px;margin-top:8px}
#contact-form .phone-country-choice{margin-top:8px}

/* focus.css */
/* Shared focus treatment: no click rings; neutral keyboard focus only. */
:focus:not(:focus-visible){outline:none!important}
:focus-visible{outline:1px solid #888!important;outline-offset:4px}
.listing-card:focus-within,.subscribe:focus-within{outline:none!important}
.enquiry-intent input:focus-visible+span{outline:1px solid #888!important;outline-offset:3px}
.enquiry-intent input:focus:not(:focus-visible)+span{outline:none!important}

/* Text controls can match :focus-visible even after a mouse click or autofocus.
   Keep their existing field boundary instead of drawing a second outer box. */
html:root body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea, select):focus {
  outline: none !important;
  box-shadow: none !important;
}
html:root body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea, select):focus-visible {
  border-bottom-color: #98a699 !important;
}
html:root body :is(.subscribe, .bv-agent-inputrow):focus-within {
  outline: none !important;
  box-shadow: none !important;
}

/* guides-menu.css */
.guides-menu-trigger{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:0;padding:0;display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.menu-chevron{display:inline-block;width:6px;height:6px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg);flex:none;transition:transform .2s}
.guides-menu-trigger[aria-expanded=true] .menu-chevron{transform:rotate(225deg)}
.guides-mega[hidden],.guides-mega-shade[hidden]{display:none!important}
.guides-mega{position:fixed;top:var(--guides-menu-top,96px);left:0;right:0;max-height:calc(100svh - var(--guides-menu-top,96px) - 16px);overflow:auto;z-index:900;background:#fff;color:#292e29;padding:26px var(--gutter,7vw) 44px;box-shadow:0 14px 28px #0000000d;font-family:var(--font,'Avenir Next',sans-serif);border-top:1px solid #e8e9e4;overscroll-behavior:contain}
.guides-mega-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:23px;border-bottom:1px solid #e4e5df;margin-bottom:28px}
.guides-mega-top a{font-size:16px;letter-spacing:.04em;text-transform:uppercase}.guides-mega-close{font:inherit;font-size:13px;letter-spacing:.05em;text-transform:uppercase;padding:8px 0 8px 20px;border:0;background:none;color:#60665c;cursor:pointer}
.guides-mega-columns{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:8%}
.guides-mega h2{font:inherit;font-size:20px;font-weight:400;line-height:1.4;letter-spacing:.02em;margin:0 0 18px;text-transform:none;color:#252b25}
.guides-mega nav{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;position:static!important;background:none!important}
.guides-mega nav a{font:inherit;font-size:15px;letter-spacing:0;text-transform:none;color:#62695f;padding:6px 0;line-height:1.5;display:block;min-height:34px}
.guides-mega a:hover,.guides-mega-close:hover{color:#171e15}.guides-mega-shade{position:fixed;inset:var(--guides-menu-top,96px) 0 0;z-index:899;background:#0005}
@media(max-width:700px){.guides-mega{padding:20px 24px 34px;max-height:calc(100svh - var(--guides-menu-top,84px));}.guides-mega-columns{grid-template-columns:1fr 1fr;gap:32px 20px}.guides-mega-columns>section:first-child{grid-column:1/-1}.guides-mega-columns>section:first-child nav{display:grid!important;grid-template-columns:1fr 1fr;gap:0 20px!important}.guides-mega h2{font-size:19px}.guides-mega nav a{font-size:14px;padding:8px 0;min-height:40px}.guides-mega-top{margin-bottom:23px}.guides-mega-open{overflow:hidden}}
/* Explicit values prevent the homepage's light body font from changing the menu. */
.guides-mega{font-family:'Avenir Next',Avenir,'Kumbh Sans',Arial,sans-serif;font-weight:400;line-height:1.6}
.guides-mega nav a{font-weight:400;font-size:16px;color:#303630;opacity:1}
.guides-mega nav a:hover{color:#727c6d;opacity:1}
@media(max-width:700px){.guides-mega nav a{font-size:15px}}

/* site-links.css */
/* Links use colour for hover/current state; focus remains visible for keyboard users. */
a,a:hover,a:focus,a:active,a:visited{ text-decoration:none!important; }
.site-header nav a,.site-header nav button,.sticky-header nav a,.sticky-nav a{border-bottom-color:transparent!important;transition:color .2s,opacity .2s}
.site-header nav a::after,.site-header nav button::after,.sticky-header nav a::after,.sticky-nav a::after{display:none!important}
.site-header nav :is(a,button):hover{opacity:.65}
.site-header nav [aria-current=page]{opacity:.65;border-bottom-color:transparent!important}
a:not([class]):hover,.reference-footer a:not(.footer-mail):not(.footer-call):hover{opacity:.72}
.guides-page .guide-card h3 a:hover,.guides-mega a:hover{opacity:1}

button,button:hover,button:focus{text-decoration:none!important}
.about-story-link,.about-journal-links a{border-bottom-color:transparent!important}
.about-story-link:hover,.about-journal-links a:hover{opacity:.65}

/* enquiry-consent.css */
/* One native, required privacy control for every enquiry form. */
:is(#contact-form,#property-enquiry) .enquiry-consent{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  column-gap:12px;
  margin:8px 0 24px;
  color:inherit;
}
:is(#contact-form,#property-enquiry) .enquiry-consent input.enquiry-consent-check[type=checkbox]{
  appearance:auto;
  -webkit-appearance:checkbox;
  display:block;
  position:static;
  width:18px;
  height:18px;
  min-width:18px;
  min-height:18px;
  max-height:18px;
  margin:3px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  opacity:1;
  accent-color:#505750;
  cursor:pointer;
  color-scheme:light;
}
:is(#contact-form,#property-enquiry) .enquiry-consent label{
  display:block;
  margin:0;
  padding:0;
  min-height:24px;
  font-family:inherit;
  font-size:13px;
  font-weight:400;
  line-height:1.65;
  letter-spacing:0;
  text-transform:none;
  color:inherit;
  cursor:pointer;
}
:is(#contact-form,#property-enquiry) .enquiry-consent a{
  color:inherit;
  display:inline-block;
  margin-top:4px;
  font-size:13px;
  line-height:1.65;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  text-decoration:none;
  transition:opacity .2s;
}
:is(#contact-form,#property-enquiry) .enquiry-consent a:hover{opacity:.68}
.property-page #property-enquiry .enquiry-consent input.enquiry-consent-check[type=checkbox]{accent-color:#dce2d8}
@media(max-width:700px){
  :is(#contact-form,#property-enquiry) .enquiry-consent{column-gap:11px;margin-bottom:22px}
}

/* mobile.css */
/* Shared mobile shell. Loaded last so every public page uses the same controls. */
/* The card owns the ratio; both older and newer photo wrappers fill that box. */
.home-page :is(.sale-grid, .rental-grid) .property-card { aspect-ratio: 1.48; }
.home-page :is(.sale-grid, .rental-grid) .property-card > :is(.photo, .reference-photo) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto !important;
}
.home-page :is(.sale-grid, .rental-grid) .property-card > :is(.photo, .reference-photo) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.listing-card > a > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.listing-card > a:focus-visible { outline: 2px solid #fff !important; outline-offset: -5px; }
@media (max-width: 1000px) {
  body[class] .site-header, body[class] .site-header.is-sticky {
    height: 76px;
    min-height: 76px;
    padding: 12px 6vw;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: none;
  }
  body[class] .site-header .nav-left, body[class] .site-header .nav-right { display: none; }
  body[class] .site-header .brand { min-width: 48px; min-height: 48px; justify-content: center; }
  body[class] .site-header .original-logo, body[class] .site-header:not(.is-sticky) .original-logo,
  body[class] .site-header.is-sticky .original-logo { width: 46px; height: auto; }
  .site-header .menu-toggle, .site-header.is-sticky .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    right: 6vw;
    top: 14px;
    min-width: 64px;
    min-height: 48px;
    font: 400 12px/1.5 Avenir, 'Avenir Next', sans-serif;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: inherit;
  }
  body.mobile-menu-open { overflow: hidden; }
  body.mobile-menu-open .site-header, body.mobile-menu-open .site-header:has(#mobile-nav:not([hidden])) {
    position: fixed;
    z-index: 1002;
    background: #202523;
    color: #fff;
  }
  body.mobile-menu-open .site-header .original-logo { filter: brightness(0) invert(1); }
  body[class] #mobile-nav, body[class] .site-header #mobile-nav:not([hidden]), .has-sticky-menu #mobile-nav {
    position: fixed;
    z-index: 1001;
    inset: 76px 0 0;
    width: 100%;
    min-width: 0;
    max-height: calc(100svh - 76px);
    max-height: calc(100dvh - 76px);
    padding: 20px 6vw max(32px, env(safe-area-inset-bottom));
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #202523;
    color: #f5f6f3;
    border: 0;
    border-top: 1px solid #ffffff20;
    box-shadow: none;
  }
  body[class] #mobile-nav a, body[class] #mobile-nav button {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: 100%;
    min-height: 58px;
    padding: 12px 0;
    border-bottom: 1px solid #ffffff16;
    font: 400 17px/1.5 Avenir, 'Avenir Next', sans-serif;
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
  }
  #mobile-nav [aria-current="page"] { color: #b8c4b8; }
  body.guides-mega-open .site-header { position: fixed; top: 0; background: #202523; color: #fff; }
  body.guides-mega-open .site-header .original-logo { filter: brightness(0) invert(1); }
  .guides-mega { top: 76px; max-height: calc(100dvh - 76px); padding: 20px 6vw 32px; }
  .guides-mega-shade { inset-block-start: 76px; }
  .guides-mega-open { overflow: hidden; }
  .guides-mega nav a { min-height: 44px; padding-block: 10px; }
  .guides-mega-top > a, .guides-mega-close { min-height: 44px; display: flex; align-items: center; }
}

@media (max-width: 900px) {
  :root { --gutter: clamp(20px, 6vw, 40px); --content-edge: var(--gutter); }
  html { scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; }
  html:has(.property-page) { scroll-padding-top: calc(76px + var(--property-sticky-height, 88px) + 20px); }
  .wrap { width: calc(100% - var(--gutter) * 2); }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select, textarea { min-width: 0; max-width: 100%; font-size: 16px; }
  input[type="date"] { min-height: 48px; appearance: none; }
  .listing-page .sort-label select { font-size: 16px; }
  .view-switch { gap: 8px; }
  .view-switch button { min-width: 44px; min-height: 44px; }
  .filter-chip, .calendar-days button { min-height: 44px; }
  form, form > *, .contact-fields, .contact-name-pair > *, .contact-phone-pair > * { min-width: 0; }
  .button, .primary, .outline-button { min-height: 48px; white-space: normal; text-align: center; }
  dialog:not(.photo-lightbox):not(.photo-catalog) {
    width: calc(100% - 32px);
    max-height: calc(100svh - 32px);
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 56px 24px 28px;
  }
  dialog .dialog-close { top: 8px; right: 8px; width: 44px; height: 44px; display: grid; place-items: center; }
  .footer-preview-close { min-width: 44px; min-height: 44px; }
  #contact-dialog { max-height: calc(100dvh - 32px); }
  #contact-form input, #contact-form select, #contact-form textarea { font-size: 16px; }
  #contact-form .phone-country-choice select, #property-enquiry .phone-country-choice select { font-size: 16px; }
  .reference-footer .footer-inner {
    width: calc(100% - var(--gutter) * 2);
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    padding-block: 48px;
  }
  .footer-monogram img { width: 100px; }
  .reference-footer .footer-top { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .reference-footer .footer-social { justify-content: flex-start; gap: 16px; }
  .reference-footer .footer-social :is(button,a) { width: 44px; height: 44px; }
  .reference-footer .footer-columns { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px 24px; margin-top: 36px; }
  .reference-footer .footer-conversation { grid-column: 1 / -1; }
  .reference-footer h3 { margin-bottom: 14px; }
  .footer-columns a, .footer-columns button { min-height: 44px; display: flex; align-items: center; margin-bottom: 0; padding-block: 8px; font-size: 12px; overflow-wrap: anywhere; }
  .reference-footer .subscribe input { font-size: 16px; text-transform: none; }
  .reference-footer .subscribe button { min-height: 50px; }
  .footer-legal { flex-direction: column; gap: 16px; padding: 24px var(--gutter); }
  .footer-legal > div { gap: 4px 12px; align-items: center; }
  .footer-legal button, .footer-legal a { min-height: 44px; display: inline-flex; align-items: center; }

  /* The homepage keeps its image-led identity, with comfortable reading widths. */
  .home-page { --section-space: 72px; --heading-space: 24px; --panel-space: 48px; }
  .home-page .hero { min-height: 580px; height: 100svh; }
  .home-page .hero-gallery { transform: none; will-change: auto; }
  .home-page .hero-caption { left: var(--gutter); right: var(--gutter); bottom: 120px; }
  .home-page .hero-caption h1 { font-size: clamp(32px, 8.6vw, 52px); line-height: 1.12; letter-spacing: .015em; }
  .home-page .hero-caption h1 .hero-title-main { font-size: 1.08em; }
  .home-page .hero-signature { left: var(--gutter); right: var(--gutter); bottom: max(24px, env(safe-area-inset-bottom)); font-size: 11px; max-width: 400px; }
  .home-page .hero-caption .hero-actions { gap: 12px; margin-top: 28px; }
  .home-page .hero-actions .button { flex: 1; min-width: 0; max-width: 220px; min-height: 50px; padding: 12px 8px; font-size: 11px; }
  .home-page .collection > .section-heading,
  .home-page .rentals > .section-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .home-page .section-heading h2 { grid-column: 1 / -1; max-width: none; font-size: 22px; }
  .home-page .section-heading .text-link { max-width: none; font-size: 11px; min-height: 44px; }
  .home-page .carousel-controls { margin: 0; gap: 4px; }
  .home-page .carousel-controls button { width: 44px; height: 44px; }
  .home-page .collection .sale-grid.carousel,
  .home-page .rentals .rental-grid.carousel { --carousel-card-width: calc((100vw - var(--gutter) * 3) * .9); }
  /* Add 28% to the established portrait height while keeping card widths unchanged. */
  .home-page :is(.sale-grid, .rental-grid) .property-card {
    aspect-ratio: auto;
    height: calc((100vw - var(--gutter) * 2) * .78 / .66 * 1.28);
  }
  .home-page .seller { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .home-page .seller-copy { width: 100%; padding: 48px var(--gutter); text-align: center; }
  .home-page .seller-copy h2 { font-size: clamp(30px, 6.5vw, 40px); }
  .home-page .seller-copy .seller-aside { font-size: 15px; line-height: 1.85; max-width: 440px; margin-inline: auto; }
  .home-page .seller-image.reference-photo { display: none; }
  .home-page .island-maps .islands-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .home-page .island-maps .island-photo { height: auto; min-height: 0; aspect-ratio: 1.65; max-width: 440px; margin-inline: auto; }
  .home-page .island-maps .island-divider { height: auto; min-height: 0; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 20px; padding: 32px 0; }
  .home-page .island-divider::before, .home-page .island-divider::after { width: 40px; height: 1px; margin: 0; }
  .home-page .island-description { font-size: 15px; line-height: 1.85; text-align: left; }
  .home-page .ownership-inner.wrap { justify-items: center; text-align: center; }
  .home-page .ownership-banner .button { justify-self: center; }
  .home-page .ownership-copy h2 { font-size: 22px; }
  .home-page .journal { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .home-page .journal-heading { padding: 0; gap: 20px; }
  .home-page .journal-heading h2 { max-width: none; padding-right: 0; font-size: 22px; }
  .home-page .journal-heading p { max-width: 520px; font-size: 15px; }
  .home-page .journal .journal-controls { position: static; grid-row: 2; justify-content: flex-end; }
  .home-page .journal .guide-grid.carousel { grid-row: 3; --carousel-card-width: calc((100vw - var(--gutter) * 2) * .78); }
  /* Native momentum, with a complete centered resting position for every card.
     Symmetric end space lets the first and last cards settle there as well. */
  .home-page :is(.collection .sale-grid, .rentals .rental-grid, .journal .guide-grid).carousel {
    width: 100vw;
    margin-inline-start: calc(-1 * var(--gutter));
    grid-auto-columns: var(--carousel-card-width);
    gap: 16px;
    padding-inline: calc((100vw - var(--carousel-card-width)) / 2);
    scroll-padding-inline: 0;
    scroll-behavior: auto;
  }
  .home-page :is(.sale-grid, .rental-grid, .guide-grid).carousel:not(.is-dragging) { scroll-snap-type: x mandatory; }
  .home-page :is(.sale-grid, .rental-grid, .guide-grid).carousel > * { scroll-snap-align: center; }
  .home-page .journal .guide-grid .guide-card h3 { margin-inline: 0; font-size: 14px; }
}

@media (max-width: 700px) {
  /* Phone property cards are 28% taller than their previous content-width height. */
  .home-page :is(.sale-grid, .rental-grid) .property-card {
    height: calc((100vw - var(--gutter) * 2) * 1.28);
  }
}

@media (max-width: 480px) {
  .contact-name-pair { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .contact-phone-pair { grid-template-columns: 94px minmax(0, 1fr); gap: 12px; }
  .reference-footer .footer-columns { grid-template-columns: minmax(0, 1fr); }
  .reference-footer .subscribe { flex-direction: column; height: auto; gap: 10px; }
  .reference-footer .subscribe input, .reference-footer .subscribe button { width: 100%; min-height: 50px; flex: auto; }
  .reference-footer h2 { font-size: 19px; }
  .guides-mega-columns { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .guides-mega-columns > section:first-child nav { display: flex !important; }
  .guides-mega h2 { margin-bottom: 10px; }
  .guides-mega-top { padding-bottom: 14px; margin-bottom: 20px; }
}

@media (max-width: 1000px) and (max-height: 540px) {
  body[class] #mobile-nav, body[class] .site-header #mobile-nav:not([hidden]) { display: grid; grid-template-columns: 1fr 1fr; align-content: start; column-gap: 24px; }
  body[class] #mobile-nav a, body[class] #mobile-nav button { min-height: 50px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu-open .site-header { animation: none; }
}

@media (hover: none) {
  .listing-card:hover img, .home-page :is(.property-card, .guide-card):hover img { transform: none; }
  .card-photo-arrow:active, .save-property:active { background: #0005; }
  .view-switch button:active, .filter-chip:active { background: #edf0eb; }
}

/* Mobile reading scale: clear copy, quieter tracking and comfortable controls. */
@media (max-width: 900px) {
  .site-header .menu-toggle, .site-header.is-sticky .menu-toggle { font-size: 13px; }
  .home-page .hero-actions .button,
  .home-page .section-heading .text-link,
  .home-page .seller-copy .button,
  .home-page .ownership-banner .button,
  .home-page .island-link,
  .home-page .gazette-all { font-size: 13px; line-height: 1.5; letter-spacing: .05em; }
  .home-page .hero-signature { font-size: 13px; line-height: 1.6; letter-spacing: .04em; }
  .home-page :is(.sale-grid, .rental-grid) .property-image-caption h3 { font-size: 16px; line-height: 1.5; letter-spacing: .06em; }
  .home-page :is(.sale-grid, .rental-grid) .property-image-caption p { font-size: 14px; line-height: 1.5; letter-spacing: .05em; }
  .home-page .journal .guide-grid .guide-card h3 { font-size: 16px; line-height: 1.5; }
  .home-page .seller-copy .seller-aside,
  .home-page .island-description,
  .home-page .journal-heading p,
  .home-page .ownership-copy p { font-size: 16px; line-height: 1.8; }

  .reference-footer .footer-columns :is(a, button),
  .reference-footer .footer-conversation :is(.footer-mail, .footer-call) { font-size: 14px; line-height: 1.6; letter-spacing: .04em; }
  .reference-footer .subscribe button { font-size: 14px; }
  .reference-footer h3 { font-size: 13px; line-height: 1.6; }
  .reference-footer .footer-legal { font-size: 13px; line-height: 1.6; }
  .reference-footer .footer-legal > div { flex-wrap: wrap; }

  .listing-filters label, .rentals-page .rental-filter-primary > label,
  .filter-caption { font-size: 13px; line-height: 1.5; letter-spacing: .04em; }
  .listing-page .saved-toggle, .listing-page .reset-filters,
  .results-summary .reset-filters, .filter-chip, .view-switch button { font-size: 13px; min-height: 44px; }
  .rental-intro-copy { font-size: 16px; line-height: 1.8; }
  .listing-facts, .rental-tenure, .is-map .rental-tenure,
  .rentals-page .listing-caption .rental-card-location,
  .card-photo-count { font-size: 13px; line-height: 1.5; letter-spacing: .04em; }
  .calendar-top button { width: 44px; min-height: 44px; }

  .property-features, .rental-detail .property-features { font-size: 15px; line-height: 1.75; }
  .property-page:not(.rental-detail) .property-features { display: grid; gap: 8px; }
  .property-page:not(.rental-detail) .property-features li::before { display: none; }
  .property-documents h3 br { display: initial; }
  .facts-strip dt, .rental-detail .facts-strip dt,
  .glance-price .price-note, .rental-detail .glance-price .price-note { font-size: 13px; line-height: 1.6; letter-spacing: .025em; }
  .detail-navigation .sticky-property, .rental-detail .detail-navigation .sticky-property { font-size: 13px; }
  .detail-navigation #sticky-price { font-size: 14px; }
  .detail-navigation .sticky-actions a { font-size: 13px; min-height: 44px; }
  .sticky-facts dt { font-size: 12px; }
  .property-contact-actions .primary,
  .property-documents .property-contact-actions .outline-button,
  .property-documents > #download-expose,
  .detail-section-heading > a { font-size: 13px; }
  .detail-enquiry > div > p { font-size: 16px; line-height: 1.8; }
  .location-copy > .location-note { font-size: 14px !important; }
  .gallery-open, .gallery-back, .photo-catalog-navigation button, .photo-catalog-label,
  .lightbox-count { font-size: 13px; letter-spacing: .04em; }

  #property-enquiry label, #contact-form .contact-fields label,
  .contact-page #contact-form .contact-fields label { font-size: 14px; line-height: 1.6; }
  #property-enquiry .contact-fields .phone-format-note,
  #contact-form .contact-fields .phone-format-note,
  #property-enquiry .contact-fields .required-fields-note,
  #contact-form .contact-fields .required-fields-note,
  .contact-form-heading .contact-required,
  .enquiry-card-heading .enquiry-reference,
  .rental-detail #property-enquiry .rental-stay-summary { font-size: 13px; line-height: 1.65; }
  #property-enquiry .enquiry-form-bottom .primary,
  #contact-form button[type="submit"] { font-size: 13px; line-height: 1.5; min-height: 48px; }
  :is(#contact-form, #property-enquiry) .enquiry-consent label { font-size: 14px; min-height: 44px; }
  :is(#contact-form, #property-enquiry) .enquiry-consent a { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
  .direct-contact a, .seller-call a { min-height: 44px; display: inline-flex; align-items: center; }

  .sell-intro p, .sell-approach .seller-benefits p { font-size: 16px; line-height: 1.85; }
  .about-person-bio .about-eyebrow, .about-person-role, .about-languages,
  .about-island-view figcaption, .article-photo figcaption,
  .library-credits { font-size: 13px; line-height: 1.65; }
  .about-person-contact .outline-button, .about-journal-links a,
  .guides-intro .guide-button, .article-aside .guide-button { font-size: 13px; }
  .guides-page { --gutter: clamp(20px, 6vw, 40px); }
  /* Shared scroll padding already accounts for the fixed mobile header. */
  .guides-page :is(section, header)[id] { scroll-margin-top: 0; }
  .guide-breadcrumb { font-size: 13px; }
  .guide-breadcrumb a { min-height: 44px; display: inline-flex; align-items: center; }
}

@media (max-width: 480px) {
  .contact-page #contact-form .contact-name-pair { row-gap: 0; }
}

.mobile-property-contact { display: none; }
@media (max-width: 1000px) {
  body[class] .site-header .nav-left { display: contents; }
  .site-header .nav-left > :not(.language-toggle) { display: none; }
  body[class] .site-header .language-toggle {
    position: absolute;
    top: 14px;
    left: max(12px, calc(6vw - 12px));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    padding: 10px;
    transform: none;
  }
  body[class] .site-header .language-toggle img { width: 28px; height: 28px; }
  body.mobile-menu-open .site-header .language-toggle img,
  body.guides-mega-open .site-header .language-toggle img { filter: brightness(0) invert(1); }
}
@media (max-width: 900px) {
  .property-page .detail-navigation { display: none; }
  html:has(.property-page) { scroll-padding-top: 96px; scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .mobile-property-contact:not([hidden]) {
    position: fixed;
    z-index: 70;
    inset: auto 0 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    height: auto;
    margin: 0;
    padding: 12px var(--gutter) max(12px, env(safe-area-inset-bottom));
    background: #202523;
    box-shadow: 0 -4px 24px #00000012;
  }
  .mobile-property-contact a {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    padding: 12px;
    background: #fff;
    color: #202523;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: .05em;
    text-transform: uppercase;
    touch-action: manipulation;
  }
  .mobile-property-contact a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
  .mobile-property-contact a:active { background: #e7ebe5; }
  .property-page:has(dialog[open]) .mobile-property-contact,
  .property-page.mobile-menu-open .mobile-property-contact,
  .property-page.guides-mega-open .mobile-property-contact { display: none; }
}


/* The fixed navigation uses the footer monogram's visible grey-green tone. */
body[class] :is(.site-header.is-sticky, .guides-page .site-header, .contact-page .site-header, .mobile-menu-open .site-header, .guides-mega-open .site-header, .property-page:has(.detail-navigation:not([hidden])) .site-header) > .brand {
  position: absolute;
  inset: 0 auto auto 50%;
  width: auto;
  height: 100%;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1024 / 737;
  padding: 0;
  margin: 0;
  transform: translateX(-50%);
  display: block;
}
body[class] :is(.site-header.is-sticky, .guides-page .site-header, .contact-page .site-header, .mobile-menu-open .site-header, .guides-mega-open .site-header, .property-page:has(.detail-navigation:not([hidden])) .site-header) > .brand::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #313534;
  background: color-mix(in srgb, #fff 7.5%, #202523);
  -webkit-mask: url('assets/5c641.png') center / contain no-repeat;
  mask: url('assets/5c641.png') center / contain no-repeat;
  pointer-events: none;
}
body[class] :is(.site-header.is-sticky, .guides-page .site-header, .contact-page .site-header, .mobile-menu-open .site-header, .guides-mega-open .site-header, .property-page:has(.detail-navigation:not([hidden])) .site-header) > .brand .original-logo {
  display: block;
  width: auto;
  height: 100%;
  max-width: none;
  object-fit: contain;
  opacity: 0;
}
body[class] .site-header > .nav-left { grid-column: 1; }
body[class] .site-header > .nav-right { grid-column: 3; }

/* Keep the fixed header edge clean, without a one-pixel separator. */
body[class] :is(.site-header.is-sticky, .guides-page .site-header, .contact-page .site-header, .mobile-menu-open .site-header, .guides-mega-open .site-header, .property-page:has(.detail-navigation:not([hidden])) .site-header) {
  box-shadow: none;
  border-bottom: 0;
}

/* Shared reading rhythm, with existing photo sizes and form controls preserved. */
@media (max-width: 900px) {
  body:is(.home-page, .property-page, .listing-page, .contact-page, .sell-page, .about-page, .guides-page) {
    --gutter: clamp(20px, 6vw, 40px);
    --content-edge: var(--gutter);
    --mobile-section-space: 64px;
    --mobile-heading-space: 24px;
    --space: var(--mobile-section-space);
  }
  .home-page {
    --section-space: var(--mobile-section-space);
    --section-half-space: calc(var(--section-space) / 2);
    --heading-space: var(--mobile-heading-space);
  }
  .guides-page { --guide-space: var(--mobile-section-space); }

  .property-page :is(.detail-summary h2, .property-documents h3, .location-copy h2),
  .sell-page :is(.sell-intro h2, .sell-approach h2),
  .about-page .about-journal-detail h3 {
    margin-bottom: var(--mobile-heading-space);
  }
  .property-page .property-documents { margin-top: 32px; }
  .property-page .property-documents .viewing-intro { margin-bottom: 24px; }
  .property-page .property-location-section { gap: 32px; }
  .property-page .property-contact-actions { gap: 12px; }

  .contact-page .contact-intro-row { margin-top: 24px; gap: 16px; }
  .contact-page .contact-composition { padding-top: 32px; padding-bottom: var(--mobile-section-space); gap: 48px; }
  .about-page .about-journal,
  .about-page .about-journal + .about-conversation,
  .guides-page :is(.tax-library, .guide-contact, .related-guides) {
    padding-block: var(--mobile-section-space);
  }
  .about-page .about-journal-intro { margin-bottom: 32px; }
  .about-page .about-journal-detail { padding-top: 32px; }
  .guides-page .section-intro { margin-bottom: 32px; }
  .guides-page :is(.guides-intro p, .article-heading > p) { margin-top: var(--mobile-heading-space); }
  .guides-page .article-heading { padding-top: 32px; padding-bottom: 32px; }
  .guides-page .article-layout { padding-top: 32px; }
  .guides-page .article-copy > section + section { margin-top: 48px; }

  /* Enlarge standalone link hit areas without changing their type size. */
  .home-page .rental-reset,
  .property-page .detail-section-heading > #related-collection {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding-block: 8px;
    touch-action: manipulation;
  }
  .property-page .detail-section-heading > #related-collection { justify-content: flex-end; }
  .guides-page .guide-card-copy h3 > a {
    display: flex;
    align-items: center;
    min-height: 44px;
    max-width: 100%;
    touch-action: manipulation;
  }
  .guides-page .article-sources li > a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding-block: 8px;
    touch-action: manipulation;
  }
  .guides-page .article-sources ul { padding-left: 0; }
}

@media (max-width: 700px) {
  .guides-page .section-intro > p,
  .about-page .about-journal-intro > p { margin-top: 24px; }
}

.reference-footer .footer-section-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 900px) {
  .reference-footer .footer-columns:has(.footer-accordion) {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }
  .reference-footer .footer-accordion {
    display: block;
    min-width: 0;
    border-top: 1px solid #ffffff26;
  }
  .reference-footer .footer-accordion > h3 { width: 100%; margin: 0; }
  .reference-footer .footer-columns .footer-section-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    min-height: 56px;
    margin: 0;
    padding: 14px 0;
    font: inherit;
    letter-spacing: inherit;
    line-height: 1.6;
    text-transform: inherit;
    text-align: left;
    color: inherit;
    touch-action: manipulation;
  }
  .footer-section-indicator { position: relative; flex: 0 0 16px; width: 16px; height: 16px; }
  .footer-section-indicator::before,
  .footer-section-indicator::after { content: ''; position: absolute; background: currentColor; }
  .footer-section-indicator::before { width: 12px; height: 1px; left: 2px; top: 7px; }
  .footer-section-indicator::after { height: 12px; width: 1px; left: 7px; top: 2px; }
  .footer-section-toggle[aria-expanded="true"] .footer-section-indicator::after { display: none; }
  .reference-footer .footer-section-links { padding-bottom: 16px; }
  .reference-footer .footer-section-links > :is(a,button) { width: 100%; }
  .reference-footer .footer-accordion ~ .footer-conversation {
    border-top: 1px solid #ffffff26;
    padding-top: 28px;
  }
}

/* Server-rendered accordion: identical before and after interaction is attached. */
@media(min-width:901px){.reference-footer .footer-accordion .footer-section-toggle{display:none}}
@media(max-width:900px){.reference-footer .footer-accordion h3>.footer-section-title{display:none}.reference-footer .footer-accordion:has(.footer-section-toggle[aria-expanded="false"])>.footer-section-links{display:none}}

/* contact-polish.css */
/* Shared enquiry controls, with feedback beside each field. */
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] label:not(.enquiry-consent label) { font: 400 15px/1.6 Avenir, "Avenir Next", sans-serif; letter-spacing: .015em; text-transform: none; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
  min-height: 56px;
  font: 400 16px/1.6 Avenir, "Avenir Next", sans-serif;
  background: #f7f7f5; color: #292e29; border: 1px solid #dfe1da;
  padding: 12px 14px; margin-top: 8px; border-radius: 0;
  width: 100%; min-width: 0; max-width: 100%;
  scroll-margin-block: calc(var(--site-header-height, 76px) + 20px) 24px;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] textarea { min-height: 156px; line-height: 1.65; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .phone-country-choice select { height: 56px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .phone-country-choice:after { top: 24px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-select:after { top: 24px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-required { max-width: 190px; font-size: 13px; line-height: 1.6; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-field-hint {
  margin: -10px 0 24px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--enquiry-muted, #646b63);
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-field-error {
  display: block;
  margin-top: 8px;
  color: var(--enquiry-error, #9b342b);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-field-error:empty { display: none; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] [aria-invalid="true"] { border-color: var(--enquiry-error, #9b342b); }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(input, select, textarea):focus-visible {
  outline: 2px solid var(--enquiry-focus, #596b57);
  outline-offset: 3px;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .enquiry-consent { grid-template-columns: 44px minmax(0, 1fr); gap: 0 10px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .enquiry-consent input.enquiry-consent-check {
  width: 24px; height: 24px; min-width: 24px; min-height: 24px; max-height: 24px;
  margin: 8px 10px; outline-offset: 4px;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .enquiry-consent label { min-height: 44px; padding-block: 6px; font-size: 14px; line-height: 1.6; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .enquiry-consent a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .enquiry-consent > .contact-field-error { grid-column: 1 / -1; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] [type="submit"] {
  min-height: 56px; padding-inline: 28px; font-size: 14px; color: #fff; background: #202523;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] [type="submit"]:disabled { opacity: .7; cursor: default; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-status, #enquiry-status, .status) {
  font-size: 16px;
  scroll-margin-block: calc(var(--site-header-height, 76px) + 20px) 24px;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-status, #enquiry-status, .status)[data-state="error"],
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-status, #enquiry-status, .status)[data-state="invalid"] { color: #822f27; background: #fbf1ed; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-status, #enquiry-status, .status)[data-state="success"] { color: #28472e; background: #eef3ec; }
@media (max-width: 900px) {
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] label:not(.enquiry-consent label) { font-size: 16px; margin-bottom: 22px; }
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-form-heading { flex-direction: column; align-items: flex-start; gap: 8px; }
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-required { text-align: left; max-width: none; font-size: 14px; }
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] [type="submit"] { width: 100%; }
}

body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] {
  min-width: 0;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.required-fields-note, .rental-stay-summary) {
  font: 400 14px/1.65 Avenir, "Avenir Next", sans-serif;
  color: var(--enquiry-muted, #646b63);
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-name-pair, .form-pair) > label { min-width: 0; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .phone-country-choice { margin-top: 8px; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .phone-country-choice select { margin-top: 0; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .phone-country-value { font: 400 16px/1.6 Avenir, "Avenir Next", sans-serif; }
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] [type="submit"] {
  font-family: Avenir, "Avenir Next", sans-serif; line-height: 1.5; font-weight: 400;
}
body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] :is(.contact-status, #enquiry-status, .status):not(:empty) {
  padding: 16px 18px; margin-top: 20px; line-height: 1.7;
}
.property-page #property-enquiry {
  --enquiry-muted: #c4cbc1; --enquiry-error: #ffb7a7; --enquiry-focus: #c4d0b9;
}
body.property-page #property-enquiry[data-contact-validation="inline"] [type="submit"] { background: #fff; color: #202523; }
@media (max-width: 900px) {
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] .contact-phone-pair { grid-template-columns: 100px minmax(0, 1fr); gap: 14px; }
  body[class] :is(#contact-form, #property-enquiry)[data-contact-validation="inline"] label:not(.enquiry-consent label) { margin-bottom: 22px; }
}

/* site-header.css */
/* One fixed-navigation appearance across every public page. */
:root {
  --site-header-height: 68px;
  --site-header-gutter: clamp(32px, 11.1365vw, 224px);
  --site-header-surface: #202523;
  --site-header-ink: #e1e4df;
}
body[class] .site-header.is-sticky,
body:is(.mobile-menu-open, .guides-mega-open) .site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 60;
  display: grid;
  grid-template-columns: minmax(0, 1fr) calc(var(--site-header-height) * 1024 / 737) minmax(0, 1fr);
  align-items: center;
  gap: 0 clamp(24px, 3vw, 48px);
  width: 100%;
  height: var(--site-header-height);
  min-height: var(--site-header-height);
  padding: 0 var(--site-header-gutter);
  background: var(--site-header-surface);
  color: var(--site-header-ink);
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  animation: none;
}
body:is(.listing-page, .guides-page, .contact-page) .site-header.is-sticky {
  position: sticky;
}
body:is(.mobile-menu-open, .guides-mega-open) .site-header {
  position: fixed;
  z-index: 1002;
}
body[class] .site-header:is(.is-sticky) > :is(.nav-left, .nav-right),
body:is(.mobile-menu-open, .guides-mega-open) .site-header > :is(.nav-left, .nav-right) {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.5vw, 48px);
  padding: 0;
  margin: 0;
  font: 400 clamp(12px, .82vw, 14px)/1.5 Avenir, 'Avenir Next', sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: inherit;
}
body[class] .site-header > .nav-left { justify-content: flex-start; }
body[class] .site-header > .nav-right { justify-content: flex-end; }
body[class] .site-header.is-sticky > :is(.nav-left, .nav-right) > :is(a, button),
body:is(.mobile-menu-open, .guides-mega-open) .site-header > :is(.nav-left, .nav-right) > :is(a, button) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  margin: 0;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
}
body[class] .site-header.is-sticky > :is(.nav-left, .nav-right) > [aria-current] {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 7px;
  text-decoration-thickness: 1px;
}
body[class] .site-header.is-sticky .language-toggle,
body:is(.mobile-menu-open, .guides-mega-open) .site-header .language-toggle {
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  transform: none;
}
body[class] .site-header.is-sticky .language-toggle img,
body:is(.mobile-menu-open, .guides-mega-open) .site-header .language-toggle img {
  width: 21px;
  height: 21px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: .85;
}
body[class] .site-header > .brand:focus-visible { outline-offset: -4px; }
body[class] .skip-link:focus { z-index: 1100; }

/* Secondary controls remain below the shared header. */
html:has(body.listing-page) { scroll-padding-top: var(--site-header-height); }
.listing-page .sticky-search { top: var(--site-header-height); }
.listing-page .is-map #area-map {
  top: calc(var(--site-header-height) + var(--search-height) + 16px);
  max-height: calc(100svh - var(--site-header-height) - var(--search-height) - 32px);
}
.property-page .detail-navigation { top: var(--site-header-height); }
html:has(body.property-page) {
  scroll-padding-top: calc(var(--site-header-height) + var(--property-sticky-height, 88px) + 20px);
}
@media (min-width: 1001px) and (max-width: 1200px) {
  :root { --site-header-gutter: 4vw; }
  body[class] .site-header.is-sticky > :is(.nav-left, .nav-right),
  body.guides-mega-open .site-header > :is(.nav-left, .nav-right) { gap: 18px; }
}
@media (max-width: 1000px) {
  :root { --site-header-height: 76px; --site-header-gutter: 6vw; }
  body[class] #mobile-nav,
  body[class] .site-header #mobile-nav:not([hidden]) { border-top: 0; }
  body[class] #mobile-nav > :is(a, button) {
    border-bottom: 0;
    color: #f5f6f3;
  }
  body[class] #mobile-nav > [aria-current="page"] { color: #b8c4b8; }
  body[class] .site-header.is-sticky,
  body:is(.mobile-menu-open, .guides-mega-open) .site-header {
    display: flex;
    justify-content: center;
  }
  body[class] .site-header.is-sticky > .nav-left,
  body:is(.mobile-menu-open, .guides-mega-open) .site-header > .nav-left { display: contents; }
  body[class] .site-header.is-sticky > .nav-right,
  body:is(.mobile-menu-open, .guides-mega-open) .site-header > .nav-right { display: none; }
  body[class] .site-header.is-sticky .nav-left > :not(.language-toggle),
  body:is(.mobile-menu-open, .guides-mega-open) .site-header .nav-left > :not(.language-toggle) { display: none; }
  body[class] .site-header.is-sticky .language-toggle,
  body:is(.mobile-menu-open, .guides-mega-open) .site-header .language-toggle {
    position: absolute;
    top: 14px;
    left: max(12px, calc(6vw - 12px));
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    padding: 10px;
  }
  body[class] .site-header.is-sticky .language-toggle img,
  body:is(.mobile-menu-open, .guides-mega-open) .site-header .language-toggle img { width: 28px; height: 28px; }
  body[class] .site-header.is-sticky .menu-toggle,
  body:is(.mobile-menu-open, .guides-mega-open) .site-header .menu-toggle {
    top: 14px;
    right: 6vw;
    min-height: 48px;
    font: 400 13px/1.5 Avenir, 'Avenir Next', sans-serif;
    letter-spacing: .09em;
    color: var(--site-header-ink);
  }
}
@media (max-width: 900px) {
  .listing-page .sticky-search:has(.listing-filters:not(.is-collapsed)) {
    max-height: calc(100svh - var(--site-header-height) - 16px);
  }
  .listing-page .is-map #area-map { top: 0; max-height: none; }
  html:has(body.property-page) { scroll-padding-top: calc(var(--site-header-height) + 20px); }
}
@media (max-width: 900px) and (max-height: 500px) {
  .listing-page .sticky-search { position: relative; top: 0; }
  .listing-page .sticky-search:has(.listing-filters:not(.is-collapsed)) { max-height: none; }
}

.property-reference{font:400 11px/1.5 'Kumbh Sans',sans-serif;letter-spacing:.07em;margin:6px 0 10px;color:#68716c}



/* i18n.css */
.language-dialog{width:min(440px,calc(100% - 32px));border:0;padding:28px;background:#faf7f1;color:#202523;max-height:calc(100dvh - 32px);overflow:auto}
.language-dialog::backdrop{background:#17201970;backdrop-filter:blur(3px)}
.language-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.language-heading h2{font-size:24px;line-height:1.35;font-weight:400;letter-spacing:0;text-transform:none}
.language-close{flex-shrink:0;width:44px;height:44px;font-size:28px;line-height:1}
.language-options{display:grid;gap:12px}
.language-options :is(button,a){display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:14px 18px;border:1px solid #c6cbc5;font-size:17px;line-height:1.5;text-align:left;touch-action:manipulation}
.language-options :is(button,a) span{font-size:12px;letter-spacing:.08em;opacity:.7}
.language-options button[aria-pressed="true"],.language-options a[aria-current="page"]{background:#202523;border-color:#202523;color:white}
.language-options button:disabled{opacity:.6;cursor:wait}
.language-status{font-size:14px;line-height:1.6;margin:16px 0 0}.language-status:empty{display:none}
.language-dialog :is(button,a):focus-visible{outline:2px solid #7d917d;outline-offset:3px}
@media(max-width:900px){dialog.language-dialog{padding:24px}.language-heading h2{font-size:23px}.photo-catalog-navigation button{white-space:nowrap}.gallery-heading-row{flex-wrap:wrap}.gallery-heading-row h2{flex:1 1 100px}.gallery-back{max-width:100%}}

.guide-language-links{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px var(--gutter);background:var(--footer-surface,#202523);color:#fff;font-size:13px;align-items:center}.guide-language-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px}.guide-language-links a[aria-current="page"]{text-decoration:underline}

/* availability.css */
/* Marketing and completed-listing labels sit quietly along the image edge. */
.availability-badge:not(.availability-badge-inline){position:absolute;inset:auto 0 0;z-index:3;display:flex;align-items:center;justify-content:center;width:100%;min-height:34px;max-width:none;padding:7px 16px;background:rgba(32,37,35,.9);color:#fff;font:400 11px/1.25 Avenir,'Avenir Next',var(--font,Arial,sans-serif);letter-spacing:.16em;text-align:center;text-transform:uppercase;pointer-events:none}
.availability-badge.availability-badge-offmarket{background:rgba(0,0,0,.9)}
.property-card .photo{position:relative}
.property-card:has(.availability-badge:not(.availability-badge-inline)) .property-image-caption{bottom:58px}
.related-card:has(>.availability-badge)>div{bottom:58px}
.property-hero>.availability-badge{z-index:3}
.property-hero:has(>.availability-badge) .hero-property-title,.property-hero:has(>.availability-badge) .gallery-open,.property-hero:has(>.availability-badge) .hero-photo-controls{translate:0 -34px}
.availability-badge-inline{display:inline-flex;align-items:center;align-self:flex-start;max-width:100%;padding:8px 12px;background:rgba(32,37,35,.9);color:#fff;font:400 11px/1.25 Avenir,'Avenir Next',var(--font,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}
.availability-inline{display:inline-block;margin-right:12px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.property-completed .price-note{font-weight:500}
.property-completed #stay-dates[hidden],.property-completed #long-stay-preferences[hidden],.property-completed .rental-guests[hidden],.property-completed #rental-stay-summary[hidden]{display:none}
@media(max-width:700px){.availability-badge:not(.availability-badge-inline){min-height:30px;padding:6px 12px;font-size:10px}.property-card:has(.availability-badge:not(.availability-badge-inline)) .property-image-caption{bottom:50px}.property-hero:has(>.availability-badge) .hero-property-title,.property-hero:has(>.availability-badge) .gallery-open,.property-hero:has(>.availability-badge) .hero-photo-controls{translate:0 -30px}.availability-inline{margin-right:8px}}

/* journal.css */
/* Bellavista Journal shares the site's editorial type, colours and reading width. */
.journal-page .journal-intro{padding:50px var(--gutter) 40px;max-width:1100px}
.journal-category{font-size:13px;line-height:1.6;letter-spacing:.09em;text-transform:uppercase;color:#697168;margin:0 0 18px}
.journal-intro-deck{font-size:19px;line-height:1.8;color:#626762;max-width:720px;margin:24px 0 0}
.journal-feature-wrap,.journal-list{padding:0 var(--gutter) 80px}
.journal-list>h2{margin-bottom:32px}
.journal-card{min-width:0;display:flex;flex-direction:column}
.journal-feature{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:6%;align-items:center}
.journal-photo{margin:0;min-width:0}
.journal-photo img{display:block;width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}
.journal-photo figcaption{font-size:12px;line-height:1.7;color:#697168;padding-top:10px;overflow-wrap:anywhere}
.journal-photo figcaption a{text-decoration:underline;text-underline-offset:3px}
.journal-card-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding-top:26px}
.journal-feature .journal-card-copy{padding:0 0 25px}
.journal-page .journal-card h2,.journal-page .journal-card h3{font-size:27px;line-height:1.35;letter-spacing:0;text-transform:none}
.journal-page .journal-feature h2{font-size:clamp(28px,2.5vw,38px)}
.journal-deck{font-size:17px;line-height:1.8;color:#626762;margin:18px 0 28px}
.journal-card .guide-button{margin-top:auto}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.journal-guide-bridge,.journal-entry-band{margin:0;padding:54px var(--gutter);background:#f5f5f1;display:flex;gap:35px;align-items:center;justify-content:space-between}
.journal-guide-bridge>div,.journal-entry-band>div{max-width:730px}
.journal-guide-bridge p,.journal-entry-band p{font-family:var(--font);font-size:17px;line-height:1.8;color:#626762;margin:16px 0 0}
.journal-entry-band h2{font-family:var(--font);font-size:26px;line-height:1.4;font-weight:400;text-transform:uppercase;letter-spacing:.055em;margin:0}
.journal-entry-band .guide-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 26px;border:1px solid #b2b5af;background:transparent;color:#333832;font:12px/1.5 var(--font);letter-spacing:.08em;text-transform:uppercase;text-align:center;flex-shrink:0}
.journal-entry-band .guide-button:hover{background:#202523;color:#fff;border-color:#202523}
.journal-entry-band a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.journal-page .article-heading h1{max-width:1100px;text-transform:none;letter-spacing:0;line-height:1.18}
.journal-page .article-heading>.journal-category{margin-bottom:20px}
.journal-byline{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px;font-size:14px;line-height:1.6;color:#697168}
.journal-page main>.journal-photo{margin:0 var(--gutter)}
.journal-page main>.journal-photo img{height:clamp(300px,34vw,500px);aspect-ratio:auto}
.journal-related{padding-top:55px;border-top:1px solid #deded9}
.journal-page .guide-table tbody tr:last-child{font-weight:500;background:#f5f5f1}
@media(max-width:1000px){.journal-feature{gap:5%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.journal-grid{gap:25px}.journal-page .journal-card h3{font-size:24px}}
@media(max-width:900px){.journal-feature{grid-template-columns:minmax(0,1fr);gap:28px}.journal-feature .journal-card-copy{padding:0;max-width:700px}.journal-guide-bridge,.journal-entry-band{align-items:flex-start;flex-direction:column;gap:24px}.journal-grid{grid-template-columns:minmax(0,1fr);gap:48px}.journal-card-copy{max-width:720px}.journal-photo img{aspect-ratio:1.65}.journal-page .journal-card h3{font-size:27px}}
@media(max-width:700px){.journal-page .journal-intro{padding-top:36px;padding-bottom:32px}.journal-intro-deck{font-size:17px;margin-top:20px}.journal-feature-wrap,.journal-list{padding-bottom:56px}.journal-category{font-size:12px;margin-bottom:14px}.journal-photo img{aspect-ratio:1.35}.journal-page .journal-feature h2,.journal-page .journal-card h3{font-size:26px;line-height:1.3}.journal-page .article-heading h1{font-size:clamp(29px,7.8vw,36px)}.journal-page main>.journal-photo img{height:260px}.journal-guide-bridge,.journal-entry-band{padding:40px var(--gutter)}.journal-entry-band .guide-button{max-width:100%;white-space:normal}.journal-byline{margin-top:18px}.journal-page .guide-table td,.journal-page .guide-table th{padding:13px 9px}.journal-photo figcaption{font-size:12px}.journal-deck{margin-bottom:24px}}

/* hero-film.css */
/* The movie fits the existing hero composition; controls sit clear of its copy. */
.home-page .hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .35s ease;pointer-events:none}
.home-page .hero-film.is-playing{opacity:1}
.home-page .hero-film-controls{position:absolute;z-index:3;right:var(--content-edge,6vw);bottom:22px;display:flex;gap:8px}
.home-page .hero-film-controls[hidden]{display:none}
.home-page .hero-film-control{display:flex;align-items:center;justify-content:center;gap:9px;min-width:44px;height:44px;border:0;border-radius:0;color:#fff;background:transparent;padding:0 4px;cursor:pointer;text-shadow:0 1px 10px #0009;transition:opacity .2s ease}
.home-page .hero-film-control svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 5px #0006)}
.home-page .hero-film-sound-label{font:400 10px/1 Avenir,'Avenir Next',var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.home-page .hero-film-control:focus-visible{outline:2px solid #fff;outline-offset:4px}
.hero-film-sound .film-sound-icon{display:none}
.hero-film-sound[aria-pressed=true] .film-muted-icon{display:none}
.hero-film-sound[aria-pressed=true] .film-sound-icon{display:block}
.home-page .hero-caption{bottom:clamp(88px,10svh,108px)}
@media(hover:hover){.home-page .hero-film-control:hover{opacity:.7}}
@media(max-width:1100px){.home-page .hero-film-controls{right:var(--gutter,6vw);top:112px;bottom:auto}}
.home-page .hero-bottom-line{position:absolute;z-index:3;left:var(--content-edge,6vw);right:var(--content-edge,6vw);bottom:27px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.home-page .hero-bottom-line .hero-signature{position:static;flex:1;min-width:0;max-width:none;margin:0}
.home-page .hero-bottom-line .hero-film-controls{position:static;flex:none;height:0;align-items:center}
@media(max-width:700px){
 /* Keep navigation clear of the safe area without painting a separate top strip. */
 body.home-page .site-header,body.home-page .site-header.is-sticky{top:env(safe-area-inset-top,0px)}
 body.home-page #mobile-nav,body.home-page .site-header #mobile-nav:not([hidden]){top:calc(76px + env(safe-area-inset-top,0px));max-height:calc(100dvh - 76px - env(safe-area-inset-top,0px))}
 body.home-page .guides-mega{top:calc(76px + env(safe-area-inset-top,0px));max-height:calc(100dvh - 76px - env(safe-area-inset-top,0px))}
 .home-page .hero{height:100svh;min-height:480px;max-height:none;margin-top:0;padding-top:0}
 .home-page .hero-gallery{inset:0}
 .home-page .hero-film{inset:0;width:100%;height:100%;object-fit:cover}
 .home-page .hero::after,.home-page .hero:hover::after{background:radial-gradient(ellipse 85% 64px at 50% calc(env(safe-area-inset-top,0px) + 38px),rgba(0,0,0,.16),rgba(0,0,0,0)),linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.08) 28%,rgba(0,0,0,.48) 44%,rgba(0,0,0,.54) 66%,rgba(0,0,0,.76) 100%);opacity:1}
 .home-page .hero-caption{bottom:calc(72px + env(safe-area-inset-bottom,0px))}
 .home-page .hero-caption .hero-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:24px}
 .home-page .hero-caption .hero-actions .button{flex:none;max-width:none}
 .home-page .hero-caption .hero-primary{width:100%;height:52px;min-height:52px}
 .home-page .hero-caption .hero-secondary{align-self:stretch;display:flex;align-items:center;justify-content:center;width:100%;height:52px;min-height:52px;padding:12px 16px;border:1px solid #ffffff80;background:transparent;color:#f5f6f3;text-align:center;text-decoration:none}
 .home-page .hero-caption .hero-secondary:hover{background:#f5f6f3;color:#202523}
 .home-page .hero-bottom-line{left:50%;right:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:block;transform:translateX(-50%)}
 .home-page .hero-bottom-line .hero-film-controls{height:44px}
 .home-page .hero-caption .hero-signature{position:static;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:16px 0 0;padding:0;color:#d9ded8;text-align:left;font-size:11px;line-height:1.8;letter-spacing:.07em;white-space:normal;overflow-wrap:break-word;text-wrap:balance}
}
@media(prefers-reduced-motion:reduce){.home-page .hero-film,.home-page .hero-film-controls{display:none}.home-page .hero-film-control{transition:none}}

.home-page .hero-caption .hero-signature-mobile{display:none}
@media(max-width:700px){.home-page .hero-caption .hero-signature-mobile{display:block}.home-page .hero-bottom-line>.hero-signature{display:none}}

/* Match the first frame to the film's centre crop. */
.home-page .hero-gallery .hero-slide{object-position:center}

/* legal.css */
.legal-page{background:#fafbf8;color:#28302b;font-family:Avenir,'Avenir Next',sans-serif}.legal-main{max-width:1080px;margin:0 auto;padding:70px max(24px,4vw) 90px}.legal-main h1{font-size:clamp(30px,4vw,48px);font-weight:400;line-height:1.2;margin:18px 0 28px}.legal-main h2{font-size:24px;font-weight:400;margin:40px 0 16px;line-height:1.35}.legal-main h3{font-size:19px;font-weight:500;margin:28px 0 12px}.legal-main p,.legal-main li,.legal-main dd,.legal-main dt{font-size:16px;line-height:1.8}.legal-main p{margin:0 0 16px}.legal-main ul{padding-left:22px}.legal-main a{text-decoration:underline;text-underline-offset:4px}.legal-meta,.legal-nav{font-size:13px;line-height:1.8}.legal-nav{display:flex;gap:12px 24px;flex-wrap:wrap;margin:24px 0 36px}.legal-draft{padding:20px 24px;background:#eeeee5;border-left:3px solid #8b917c;margin:24px 0}.legal-draft p:last-child{margin-bottom:0}.legal-main dl{display:grid;grid-template-columns:190px 1fr;gap:10px 24px}.legal-main dt{font-weight:500}.legal-main dd{margin:0;overflow-wrap:anywhere}.legal-table-wrap{overflow-x:auto;margin:24px 0}.legal-main table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.65}.legal-main th,.legal-main td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid #d7dcd4}.legal-main th{font-weight:500}.legal-main code{overflow-wrap:anywhere;font-size:.86em}.legal-main .fee-card{padding:24px;border:1px solid #d7dcd4;margin:24px 0}.legal-main .fee-card h2{margin-top:0}.legal-main button{min-height:44px;padding:12px 18px;border:1px solid #9da69a;font:inherit;background:transparent;color:inherit;cursor:pointer}.privacy-map-gate{box-sizing:border-box;min-height:300px;padding:32px;background:#eff1eb;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px;color:#28302b;font:15px/1.65 Avenir,'Avenir Next',sans-serif}.privacy-map-gate h3{margin:0;font-size:21px;font-weight:400}.privacy-map-gate p{margin:0;max-width:650px}.privacy-map-gate a,.privacy-dialog a{text-decoration:underline;text-underline-offset:3px}.privacy-map-gate[hidden],iframe[hidden]{display:none!important}.privacy-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.privacy-actions button{min-height:46px;padding:12px 18px;border:1px solid #8b978b;background:transparent;color:inherit;font:inherit;cursor:pointer}.privacy-actions button:hover{background:#e0e5dc}.privacy-actions button:focus-visible,.privacy-dialog a:focus-visible{outline:2px solid #526852;outline-offset:3px}.privacy-dialog{box-sizing:border-box;max-width:620px;width:calc(100% - 32px);max-height:calc(100svh - 40px);overflow:auto;border:0;padding:40px;background:#fafbf8;color:#28302b;font:15px/1.7 Avenir,'Avenir Next',sans-serif}.privacy-dialog::backdrop{background:#101b17a8}.privacy-dialog h2{font-size:27px;font-weight:400;margin:12px 30px 24px 0;line-height:1.25}.privacy-dialog h3{font-size:18px;margin:24px 0 8px}.privacy-dialog p{margin:0 0 14px}.privacy-close{position:absolute;right:14px;top:10px;min-height:44px;min-width:44px;font-size:28px;background:transparent;border:0;color:inherit;cursor:pointer}.privacy-choice{display:flex;align-items:center;gap:12px;min-height:48px}.privacy-choice input{width:20px;height:20px;accent-color:#28302b}.privacy-status{font-size:13px}.legal-draft strong{font-weight:600}@media(max-width:600px){.legal-main{padding-top:40px}.legal-main dl{display:block}.legal-main dt{margin-top:18px}.legal-main dd{margin-top:4px}.privacy-map-gate{padding:24px;min-height:340px}.privacy-actions{width:100%}.privacy-actions button{width:100%}.privacy-dialog{padding:30px 24px}.legal-main th,.legal-main td{min-width:120px;padding:10px}.legal-nav{gap:12px 18px}}@media print{.site-header,.reference-footer,.legal-nav,.privacy-dialog,[data-privacy-settings]{display:none!important}.legal-main{max-width:none;padding:0}.legal-main h2{break-after:avoid}.legal-main a{color:inherit}.legal-draft{border:1px solid #777}}
/* Cookie card: approved footer-style monogram, flush left and bottom. */
.privacy-banner{box-sizing:border-box;position:fixed;z-index:1000;left:max(28px,env(safe-area-inset-left));bottom:max(28px,env(safe-area-inset-bottom));width:460px;max-width:calc(100vw - 56px);max-height:calc(100svh - 56px);overflow:auto;isolation:isolate;margin:0;padding:42px 30px 32px;background:#202523;color:#c9c9c6;border:0;border-radius:0;box-shadow:0 10px 30px #18211d18;font:300 14px/1.7 'Kumbh Sans',Arial,sans-serif;text-align:left}
.privacy-banner::before{content:'';position:absolute;left:-19.073px;bottom:0;width:315px;height:226.714px;background:url('/assets/5c641.png') left bottom/100% 100% no-repeat;filter:brightness(0) invert(1);opacity:.055;pointer-events:none;z-index:-1}
.privacy-banner h2{font:300 19px/1.45 'Kumbh Sans',Arial,sans-serif;letter-spacing:.065em;text-transform:uppercase;color:inherit;margin:0 0 16px;padding:0}
.privacy-banner p{font:inherit;margin:0 0 23px;max-width:none;color:inherit;letter-spacing:normal}
.privacy-banner .privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:0}
.privacy-banner .privacy-actions button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:47px;width:100%;padding:10px 8px;border:1px solid #8e948f;border-radius:0;background:transparent;color:inherit;font:300 10px/1.4 'Kumbh Sans',Arial,sans-serif;letter-spacing:.055em;text-transform:uppercase;cursor:pointer}
.privacy-banner .privacy-actions [data-allow]{background:#fff;color:#202523;border-color:#fff}
.privacy-banner .privacy-actions [data-essential]:hover{background:#3d4540}
.privacy-banner .privacy-actions [data-allow]:hover{background:#e9ece7;border-color:#e9ece7}
.privacy-banner-links{border-top:1px solid #ffffff16;margin-top:20px;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px;line-height:1.6}
.privacy-banner-links button{min-height:24px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-transform:none;letter-spacing:normal;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.privacy-banner-links span{font-size:10px;color:#a4aaa4;text-align:right}
.privacy-banner button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:600px){.privacy-banner{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100svh - 24px);padding:30px 24px 24px}.privacy-banner h2{font-size:17px}.privacy-banner .privacy-actions{grid-template-columns:1fr 1fr}.privacy-banner .privacy-actions button{font-size:10px;padding:12px 6px}.privacy-banner-links{gap:12px}.privacy-banner-links button{min-height:44px}.privacy-banner-links span{max-width:145px}}
@media print{.privacy-banner{display:none!important}}
/* Footer-style surfaces, shared by member access, language selection, homepage contact and privacy settings. */
body dialog.bv-footer-dialog[open] {
  --enquiry-muted: #c9c9c6; --enquiry-error: #ffb7a7; --enquiry-focus: #fff;
  box-sizing: border-box; width: min(540px, calc(100vw - 48px)); max-width: 620px;
  max-height: calc(100dvh - 48px); margin: auto; padding: 0 !important;
  border: 0; border-radius: 0; background: #202523; color: #c9c9c6;
  font: 300 14px/1.7 'Kumbh Sans', Arial, sans-serif;
  box-shadow: 0 20px 70px #10181440; overflow: auto; color-scheme: dark;
}
body dialog.bv-footer-dialog[open]::backdrop { background: #101b17a8; backdrop-filter: blur(3px); }
body dialog.bv-footer-dialog[open] .bv-popup-surface {
  position: relative; isolation: isolate; overflow: hidden; min-width: 0; padding: 46px 34px 34px;
}
body dialog.bv-footer-dialog[open] .bv-popup-surface::before {
  content: ''; position: absolute; left: -19.073px; bottom: 0; width: 315px; height: 226.714px;
  background: url('/assets/5c641.png') left bottom / 100% 100% no-repeat;
  filter: brightness(0) invert(1); opacity: .055; pointer-events: none; z-index: -1;
}
body dialog.bv-footer-dialog[open] h2 {
  margin: 0 26px 18px 0; color: inherit; font: 300 22px/1.45 'Kumbh Sans', Arial, sans-serif !important;
  letter-spacing: .055em !important; text-transform: uppercase !important;
}
body dialog.bv-footer-dialog[open] :is(.member-intro, .dialog-intro) { color: inherit; font: inherit; margin: 0 0 24px; }
body dialog.bv-footer-dialog[open] :is(.member-close, .dialog-close, .privacy-close, .language-close) {
  position: absolute; top: 8px; right: 8px; display: grid; place-items: center;
  width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #c9c9c6;
  font: 300 26px/1 'Kumbh Sans', Arial, sans-serif !important; cursor: pointer;
}
body dialog.bv-footer-dialog[open] :is(button, a, input, select, textarea):focus-visible {
  outline: 2px solid #fff !important; outline-offset: 3px; box-shadow: none !important;
}
body dialog.bv-footer-dialog[open] :is(.member-primary, .privacy-actions button),
body[class] #contact-dialog.bv-footer-dialog #contact-form [type="submit"] {
  min-height: 48px; padding: 12px 18px; border: 1px solid #fff; border-radius: 0;
  background: #fff; color: #202523; font: 300 11px/1.5 'Kumbh Sans', Arial, sans-serif !important;
  letter-spacing: .065em !important; text-transform: uppercase; cursor: pointer; color-scheme: light;
}
body dialog.bv-footer-dialog[open] :is(.member-primary, .privacy-actions button):hover,
body[class] #contact-dialog.bv-footer-dialog #contact-form [type="submit"]:hover { background: #e9ece7; border-color: #e9ece7; }
body dialog.bv-footer-dialog[open] :is(button:disabled, input:disabled) { opacity: .55; cursor: default; }
body dialog.member-dialog.bv-footer-dialog .member-heading img { display: none; }
body dialog.member-dialog.bv-footer-dialog .member-heading:has(.member-progress:empty) { display: none; }
body dialog.member-dialog.bv-footer-dialog .member-social:empty { display: none; }
body dialog.member-dialog.bv-footer-dialog :is(.member-form label, .member-check, .member-back, .member-secondary button) { color: #c9c9c6; font-weight: 300; }
body dialog.member-dialog.bv-footer-dialog .member-check { font-size: 12px; line-height: 1.65; }
body dialog.member-dialog.bv-footer-dialog .member-error { color: #ffb7a7; }
body dialog.member-dialog.bv-footer-dialog .member-form :is(input:not([type="checkbox"]):not([type="radio"]), select),
body[class] #contact-dialog.bv-footer-dialog #contact-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
  min-height: 49px; background: #ffffff06; border: 1px solid #7e8780; border-radius: 0;
  color: #f3f3ef; padding: 12px 13px; font: 300 16px/1.5 'Kumbh Sans', Arial, sans-serif;
}
body dialog.member-dialog.bv-footer-dialog input::placeholder,
body[class] #contact-dialog.bv-footer-dialog #contact-form :is(input, textarea)::placeholder { color: #aeb5ae; opacity: 1; }
body dialog.bv-footer-dialog[open] input[type="checkbox"] { accent-color: #fff; }
body dialog.privacy-dialog.bv-footer-dialog { width: min(620px, calc(100vw - 48px)); }
body dialog.privacy-dialog.bv-footer-dialog h3 { margin: 24px 0 10px; font: 300 17px/1.5 'Kumbh Sans', Arial, sans-serif; color: #eee; }
body dialog.privacy-dialog.bv-footer-dialog p { font: inherit; color: inherit; margin: 0 0 16px; }
body dialog.privacy-dialog.bv-footer-dialog .privacy-choice { display: flex; gap: 12px; align-items: center; margin: 8px 0 20px; font: inherit; }
body dialog.privacy-dialog.bv-footer-dialog .privacy-choice input { flex: 0 0 20px; padding: 0; }
body dialog.privacy-dialog.bv-footer-dialog .privacy-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #ffffff24; }
body dialog.privacy-dialog.bv-footer-dialog [role="status"]:empty { display: none; }
body[class] #contact-dialog.bv-footer-dialog #contact-form { gap: 18px; }
body[class] #contact-dialog.bv-footer-dialog #contact-form label:not(.enquiry-consent label) { color: inherit; font: 300 14px/1.6 'Kumbh Sans', Arial, sans-serif; margin-bottom: 16px; }
body[class] #contact-dialog.bv-footer-dialog #contact-form :is(.required-fields-note, .contact-field-hint, .enquiry-consent label, .enquiry-consent a) { color: inherit; font: 300 12px/1.65 'Kumbh Sans', Arial, sans-serif; }
body[class] #contact-dialog.bv-footer-dialog #contact-form .contact-field-hint { margin-bottom: 0; }
body[class] #contact-dialog.bv-footer-dialog #contact-form textarea { min-height: 108px; }
body[class] #contact-dialog.bv-footer-dialog #contact-form .phone-country-choice select { height: 49px; }
body[class] #contact-dialog.bv-footer-dialog #contact-form .phone-country-value { color: #f3f3ef; font-weight: 300; }
body[class] #contact-dialog.bv-footer-dialog #contact-form .phone-country-choice::after { border-color: #c9c9c6; top: 20px; }
body[class] #contact-dialog.bv-footer-dialog #contact-form [aria-invalid="true"] { border-color: #ffb7a7; }
@media (max-width: 600px) {
  body dialog.bv-footer-dialog[open], body dialog.privacy-dialog.bv-footer-dialog { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
  body dialog.bv-footer-dialog[open] .bv-popup-surface { padding: 44px 24px 28px; }
  body dialog.bv-footer-dialog[open] h2 { font-size: 19px !important; }
  body dialog.privacy-dialog.bv-footer-dialog .privacy-actions { grid-template-columns: 1fr; }
  body[class] #contact-dialog.bv-footer-dialog #contact-form .contact-name-pair { grid-template-columns: 1fr; gap: 0; }
}


/* Member pages and language selection use the same footer-style dialog surface. */
body dialog.member-dialog.bv-footer-dialog :is(.member-account p, .member-note, .member-privacy, .member-favorite small) { color: #c9c9c6; }
body dialog.member-dialog.bv-footer-dialog .member-content p { overflow-wrap: anywhere; }
body dialog.member-dialog.bv-footer-dialog .member-heading { margin-bottom: 24px; }
body dialog.member-dialog.bv-footer-dialog .member-progress { width: 100%; margin: 0; }
body dialog.member-dialog.bv-footer-dialog .member-progress span { width: auto; flex: 1; background: #ffffff30; }
body dialog.member-dialog.bv-footer-dialog .member-progress .complete { background: #fff; }
body dialog.member-dialog.bv-footer-dialog .member-account { gap: 12px; }
body dialog.member-dialog.bv-footer-dialog .member-account .member-back:not(.member-danger),
body dialog.member-dialog.bv-footer-dialog .member-provider {
  display: flex; justify-content: center; align-items: center; min-height: 48px; width: 100%;
  padding: 12px 18px; background: #fff; color: #202523; border: 1px solid #fff;
  font: 300 11px/1.5 'Kumbh Sans', Arial, sans-serif !important;
  letter-spacing: .065em !important; text-transform: uppercase; text-align: center;
}
body dialog.member-dialog.bv-footer-dialog .member-account .member-back:not(.member-danger):hover,
body dialog.member-dialog.bv-footer-dialog .member-provider:hover { background: #e9ece7; border-color: #e9ece7; }
body dialog.member-dialog.bv-footer-dialog .member-back { min-height: 44px; }
body dialog.member-dialog.bv-footer-dialog .member-danger { color: #ffb7a7 !important; }
body dialog.member-dialog.bv-footer-dialog .member-primary.member-danger { background: #fff; color: #782f32 !important; border-color: #fff; }
body dialog.member-dialog.bv-footer-dialog .member-choice span { border-color: #7e8780; font-weight: 300; }
body dialog.member-dialog.bv-footer-dialog .member-choice input:checked + span { background: #fff; border-color: #fff; color: #202523; }
body dialog.member-dialog.bv-footer-dialog .member-location-picks button { background: #fff; color: #202523; min-height: 44px; }
body dialog.member-dialog.bv-footer-dialog .member-favorite { border-color: #ffffff24; }
body dialog.member-dialog.bv-footer-dialog .member-favorite a { min-width: 0; overflow-wrap: anywhere; }
body dialog.member-dialog.bv-footer-dialog select option { background: #202523; color: #f3f3ef; }
body dialog.language-dialog.bv-footer-dialog[open] { width: min(460px, calc(100vw - 48px)); }
body dialog.language-dialog.bv-footer-dialog .language-heading { display: block; margin-bottom: 24px; }
body dialog.language-dialog.bv-footer-dialog .language-options { gap: 10px; }
body dialog.language-dialog.bv-footer-dialog .language-options :is(button, a) {
  background: #fff; color: #202523; border: 1px solid #fff; border-radius: 0;
  font: 300 15px/1.5 'Kumbh Sans', Arial, sans-serif; min-height: 52px; padding: 13px 18px;
}
body dialog.language-dialog.bv-footer-dialog .language-options :is(button, a):hover { background: #e9ece7; border-color: #e9ece7; }
body dialog.language-dialog.bv-footer-dialog .language-options :is([aria-pressed="true"], [aria-current="page"]) { font-weight: 500; }
body dialog.language-dialog.bv-footer-dialog .language-options :is([aria-pressed="true"], [aria-current="page"]) span::after { content: ' ✓'; }
body dialog.language-dialog.bv-footer-dialog .language-status { color: #c9c9c6; }
@media (max-width: 600px) {
  body dialog.language-dialog.bv-footer-dialog[open] { width: calc(100vw - 24px); }
  body dialog.member-dialog.bv-footer-dialog .member-fields { grid-template-columns: 1fr; }
}



/* agent-preview.css */
.bv-agent-launch{position:fixed;right:28px;bottom:28px;z-index:80;background:#273d35;color:#fff;border:1px solid #ffffff40;border-radius:40px;padding:17px 25px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 35px #0003;font-family:inherit;font-size:14px;cursor:pointer}.bv-agent-launch span:first-child{font-size:22px}.bv-agent-dialog{position:fixed;inset:16px 16px 16px auto;margin:0;width:440px;max-width:calc(100vw - 32px);height:calc(100dvh - 32px);max-height:none;padding:0;border:1px solid #d9dfd8;border-radius:16px;background:#f8f8f4;color:#25332c;box-shadow:0 25px 90px #0004;font-family:inherit}.bv-agent-dialog::backdrop{background:#111b1626}.bv-agent-dialog[open]{display:flex;flex-direction:column}.bv-agent-top{display:flex;align-items:center;gap:13px;padding:23px 24px 18px;border-bottom:1px solid #dce1d8}.bv-agent-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dfe8dd;font-size:25px}.bv-agent-top strong{font-size:17px;font-weight:500;letter-spacing:.03em}.bv-agent-top small{display:block;font-size:11px;color:#758073;margin-top:4px}.bv-agent-close{margin-left:auto;background:none;border:0;font-size:27px;cursor:pointer;color:inherit;padding:8px}.bv-agent-context{padding:13px 24px;background:#eff1eb;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bv-agent-scroll{flex:1;min-height:0;overflow:auto;padding:25px 24px;scroll-behavior:smooth}.bv-agent-intro{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#7e887b}.bv-agent-scroll h2{font-size:30px;font-weight:400;line-height:1.2;margin:14px 0 15px;letter-spacing:-.025em}.bv-agent-message{font-size:14px;line-height:1.65;margin:0 0 19px;white-space:pre-line}.bv-agent-message.is-user{margin-left:34px;background:#e7ede3;padding:12px 16px;border-radius:13px 13px 2px 13px}.bv-agent-message.is-agent{padding-right:10px}.bv-agent-chiprow{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}.bv-agent-chiprow button,.bv-agent-photo-nav button{border:1px solid #cdd6c8;background:transparent;color:inherit;border-radius:30px;padding:10px 14px;font-family:inherit;font-size:12px;cursor:pointer}.bv-agent-photo{margin:18px 0 22px;border-radius:10px;overflow:hidden;background:#e7ebe3;border:1px solid #dce1d8}.bv-agent-photo img{display:block;width:100%;height:188px;object-fit:cover}.bv-agent-photo footer{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;font-size:11px}.bv-agent-photo-nav{display:flex;gap:7px}.bv-agent-photo-nav button{padding:5px 11px;font-size:17px}.bv-agent-compose{padding:16px 20px 18px;border-top:1px solid #dce1d8;background:#f8f8f4}.bv-agent-inputrow{display:flex;align-items:center;gap:8px;border:1px solid #ccd4c7;border-radius:28px;padding:5px 6px 5px 16px;background:white}.bv-agent-inputrow input{min-width:0;flex:1;border:0;outline:none;background:transparent;font-family:inherit;font-size:14px;color:inherit;padding:9px 0}.bv-agent-inputrow button{width:36px;height:36px;border:0;border-radius:50%;background:#273d35;color:white;font-size:20px;cursor:pointer}.bv-agent-demo{display:flex;align-items:center;justify-content:space-between;margin-top:11px;gap:8px;font-size:10px;color:#7e887b}.bv-agent-demo button{border:0;background:none;color:#52644f;font-family:inherit;font-size:11px;padding:3px 0;cursor:pointer}.bv-agent-viewing{border:1px solid #d4dccd;border-radius:12px;padding:18px;margin:15px 0 22px;background:white}.bv-agent-viewing h3{font-size:18px;font-weight:400;margin:0 0 15px}.bv-agent-viewing label{display:block;font-size:12px;margin:12px 0 6px}.bv-agent-viewing input,.bv-agent-viewing select{box-sizing:border-box;width:100%;background:#f7f8f3;border:1px solid #d9dfd2;border-radius:5px;padding:11px;color:inherit;font-family:inherit;font-size:14px}.bv-agent-primary{width:100%;border:0;border-radius:6px;background:#273d35;color:white;font-family:inherit;font-size:13px;padding:13px;margin-top:16px;cursor:pointer}.bv-agent-summary{padding:16px;background:#eaf0e4;border-radius:10px;font-size:13px;line-height:1.7;white-space:pre-line}.bv-agent-dialog button:focus-visible,.bv-agent-dialog input:focus-visible,.bv-agent-dialog select:focus-visible{outline:2px solid #758f68;outline-offset:3px}.bv-agent-demo-note{font-size:11px;line-height:1.5;color:#73806e;margin:10px 0 0}@media(max-width:700px){.bv-agent-launch{bottom:20px;right:16px;padding:14px 20px}.bv-agent-dialog{inset:0;width:100%;max-width:none;height:100dvh;border:0;border-radius:0}.bv-agent-top{padding-top:max(19px,env(safe-area-inset-top))}.bv-agent-compose{padding-bottom:max(18px,env(safe-area-inset-bottom))}.bv-agent-photo img{height:170px}}@media(prefers-reduced-motion:reduce){.bv-agent-scroll{scroll-behavior:auto}}
@media(max-width:700px){body dialog.bv-agent-dialog[open]{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;inset:0;margin:0;border-radius:0}.bv-agent-inputrow input{font-size:16px}}

.bv-bella-pet{width:32px;height:32px;flex-shrink:0;color:inherit}.bv-agent-mark{flex-shrink:0;width:46px;height:46px}.bv-agent-launch .bv-bella-pet{width:29px;height:29px}.bv-bella-typing{display:flex;align-items:center;gap:12px;margin:6px 0 20px;color:#526b55}.bv-bella-typing>.bv-bella-pet{width:27px;height:27px}.bv-bella-typing>span{display:flex;gap:5px;padding:12px 15px;border-radius:18px;background:#e7ede3}.bv-bella-typing i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:bella-dot 1s ease-in-out infinite}.bv-bella-typing i:nth-child(2){animation-delay:.15s}.bv-bella-typing i:nth-child(3){animation-delay:.3s}.bv-agent-dialog button:disabled{opacity:.55;cursor:wait}@keyframes bella-dot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}@media(prefers-reduced-motion:reduce){.bv-bella-typing i{animation:none;opacity:.75}}

/* Bella: a lightweight living dot, drawn in CSS for crisp small sizes. */
.bv-bella-pet{display:inline-flex;align-items:center;justify-content:center;width:38px;height:40px;position:relative;background:none!important;padding:0!important;border-radius:0!important}
.bella-body{display:flex;align-items:center;justify-content:center;width:88%;height:85%;border-radius:48% 52% 44% 46%;background:#a9b99b;box-shadow:inset -3px -5px 8px #526b5520,inset 2px 3px 6px #ffffff30;transform-origin:50% 90%;animation:bella-breathe 4s ease-in-out infinite}
.bella-eyes{display:flex;gap:6px;transform:translateY(-1px)}
.bella-eyes i{display:block;width:3px;height:6px;border-radius:5px;background:#253b30;animation:bella-blink 6s infinite}
.bv-agent-mark{background:transparent;width:48px;height:48px}.bv-agent-mark .bv-bella-pet{width:46px;height:48px}
.bv-agent-launch{display:flex;flex-direction:column;gap:0;padding:4px 8px;background:transparent;border:0;box-shadow:none;color:#273d35;touch-action:none;user-select:none;cursor:grab;right:24px;bottom:24px;border-radius:24px}
.bv-agent-launch .bv-bella-pet{width:76px;height:78px;filter:drop-shadow(0 5px 5px #24382a20)}
.bv-agent-launch .bella-eyes{gap:10px}.bv-agent-launch .bella-eyes i{width:5px;height:9px}
.bv-agent-launch .bella-label{font-size:12px;font-weight:500;background:#f8f8f4ed;padding:3px 12px;border-radius:20px;box-shadow:0 2px 10px #0001}
.bv-agent-launch:hover .bella-body{border-radius:44% 46% 48% 50%;background:#b4c2a6}.bv-agent-launch:focus-visible{outline:2px solid #526b55;outline-offset:3px}.bv-agent-launch.is-dragging{cursor:grabbing}.is-dragging .bella-body{animation:none;transform:rotate(-8deg) scale(.96,1.05)}
.bella-thinking .bv-agent-mark .bella-body{animation:bella-ponder .85s ease-in-out infinite alternate}.bella-answering .bv-agent-mark .bella-body{animation:bella-nod .5s ease-in-out 3}
@keyframes bella-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035,.97) translateY(1px)}}
@keyframes bella-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.12)}}
@keyframes bella-ponder{from{transform:rotate(-7deg)}to{transform:rotate(7deg) translateY(-2px)}}
@keyframes bella-nod{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px) scale(1.03,.98)}}
@media(max-width:700px){.bv-agent-launch{right:12px;bottom:max(16px,env(safe-area-inset-bottom));padding:4px 8px}.bv-agent-launch .bv-bella-pet{width:62px;height:64px}}
@media(prefers-reduced-motion:reduce){.bella-body,.bella-eyes i,.bella-thinking .bv-agent-mark .bella-body,.bella-answering .bv-agent-mark .bella-body{animation:none}}

.bv-bella-typing .bella-eyes i{width:3px;height:6px;background:#253b30;animation:bella-blink 6s infinite}
@media(prefers-reduced-motion:reduce){.bv-bella-typing .bella-eyes i{animation:none}}

/* Approved plush Bella. Two lightweight frames preserve her detailed design. */
.bv-bella-pet.bella-plush{width:54px;height:54px;overflow:visible}
.bella-character{position:relative;display:block;width:100%;height:100%;transform-origin:50% 92%;animation:bella-plush-breathe 4.5s ease-in-out infinite}
.bella-character img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.bella-blink-frame{opacity:0;animation:bella-plush-blink 6.8s steps(1,end) infinite}
.bv-agent-launch .bv-bella-pet.bella-plush{width:128px;height:124px;filter:drop-shadow(0 5px 6px #24382a20)}
.bv-agent-launch .bella-label{margin-top:-7px}.bv-agent-mark{width:58px;height:58px}.bv-agent-mark .bv-bella-pet.bella-plush{width:64px;height:64px}
.bv-agent-launch:hover .bella-character,.bv-agent-launch:focus-visible .bella-character{animation:bella-plush-greet 1.3s ease-in-out 1}
.is-dragging .bella-character{animation:none!important;transform:rotate(-7deg)}
.bella-thinking .bv-agent-mark .bella-character{animation:bella-ponder 1.1s ease-in-out infinite alternate}
.bella-answering .bv-agent-mark .bella-character{animation:bella-plush-greet 1.3s ease-in-out 1}
.bv-bella-typing>.bella-plush{width:42px;height:42px;flex-shrink:0}
@keyframes bella-plush-breathe{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.012,1.025) translateY(-1px)}}
@keyframes bella-plush-blink{0%,44%,48%,100%{opacity:0}45%,47%{opacity:1}}
@keyframes bella-plush-greet{0%,100%{transform:rotate(0) translateY(0)}20%,65%{transform:rotate(-5deg) translateY(-3px)}43%,82%{transform:rotate(3deg) translateY(-1px)}}
@media(max-width:700px){.bv-agent-launch .bv-bella-pet.bella-plush{width:96px;height:94px}.bv-agent-mark{width:52px;height:52px}.bv-agent-mark .bv-bella-pet.bella-plush{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.bella-character,.bella-blink-frame,.bv-agent-launch:hover .bella-character,.bv-agent-launch:focus-visible .bella-character,.bella-thinking .bv-agent-mark .bella-character,.bella-answering .bv-agent-mark .bella-character{animation:none}.bella-blink-frame{display:none}}

/* Small personality beats between long quiet pauses; no extra image downloads. */
.bv-agent-launch .bella-character{animation:bella-hello-hop 1.5s ease-out 1,bella-idle-personality 16s ease-in-out 1.5s infinite}
.bv-agent-launch .bella-plush{transform:rotate(var(--bella-look,0deg));transition:transform .3s ease-out}
.bv-agent-launch .bella-plush::after{content:"";position:absolute;z-index:-1;width:48%;height:6%;left:28%;bottom:8%;border-radius:50%;background:#253b3020;filter:blur(3px)}
.bv-agent-launch:hover .bella-character,.bv-agent-launch:focus-visible .bella-character{animation:bella-curious 2.8s ease-in-out infinite}
.bella-listening .bv-agent-mark .bella-character{animation:bella-attentive 3.5s ease-in-out infinite}
.bella-thinking .bv-agent-mark .bella-character{animation:bella-think-sway 1.6s ease-in-out infinite}
.bella-answering .bv-agent-mark .bella-character{animation:bella-happy 1.4s ease-in-out 1}
.bella-blink-frame{animation:bella-double-blink 7.4s steps(1,end) infinite}
.bella-chat-open{visibility:hidden;pointer-events:none}
.bella-chat-open *,.bella-paused *{animation-play-state:paused!important}
@keyframes bella-hello-hop{0%{transform:scale(.94,1.02)}15%{transform:scale(1.08,.91)}40%{transform:translateY(-16px) rotate(-7deg) scale(.97,1.04)}63%{transform:translateY(0) scale(1.06,.94)}78%{transform:translateY(-5px) rotate(3deg)}100%{transform:translateY(0) rotate(0) scale(1)}}
@keyframes bella-idle-personality{0%,28%,55%,100%{transform:translateY(0) rotate(0) scale(1)}14%,42%,85%{transform:translateY(-2px) scale(1.015,1.025)}62%{transform:rotate(-5deg) translateY(-2px)}68%{transform:rotate(4deg) translateY(-3px)}74%{transform:rotate(0) translateY(0)}}
@keyframes bella-curious{0%,100%{transform:rotate(0) translateY(0)}30%{transform:rotate(-8deg) translateY(-4px) scale(1.03)}60%{transform:rotate(4deg) translateY(-2px)}80%{transform:rotate(-3deg)}}
@keyframes bella-attentive{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(-8deg) translateY(-2px)}}
@keyframes bella-think-sway{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(7deg) translateY(-4px)}}
@keyframes bella-happy{0%,100%{transform:rotate(0) scale(1)}20%{transform:translateY(-7px) rotate(-6deg)}40%{transform:translateY(0) scale(1.05,.95)}65%{transform:translateY(-4px) rotate(5deg)}85%{transform:translateY(0)}}
@keyframes bella-double-blink{0%,37%,40%,43%,100%{opacity:0}38%,39%,41%,42%{opacity:1}}
@media(prefers-reduced-motion:reduce){.bv-agent-launch .bella-character,.bv-agent-launch:hover .bella-character,.bv-agent-launch:focus-visible .bella-character,.bella-listening .bv-agent-mark .bella-character,.bella-thinking .bv-agent-mark .bella-character,.bella-answering .bv-agent-mark .bella-character,.bella-blink-frame{animation:none}.bv-agent-launch .bella-plush{transform:none;transition:none}}

/* Separate shoulder and face layers: only the hand and mouth move. */
.bella-blink-frame{clip-path:polygon(32% 29%,62% 29%,62% 41%,32% 41%)}
.bella-wave-arm{clip-path:polygon(10% 39%,22% 39%,28% 43%,33% 54%,31% 60%,21% 61%,12% 54%);transform-origin:30% 56%;animation:bella-hand-wave 2s ease-in-out 1}
.bv-agent-launch:hover .bella-wave-arm,.bv-agent-launch:focus-visible .bella-wave-arm{animation:bella-hand-wave 2s ease-in-out infinite}
.bv-agent-launch:hover .bella-character,.bv-agent-launch:focus-visible .bella-character{animation:bella-plush-breathe 4.5s ease-in-out infinite}
.bella-mouth-frame{clip-path:ellipse(5.5% 3.5% at 46% 40.8%);opacity:0}
.bella-speaking .bv-agent-mark .bella-mouth-frame{animation:bella-mouth-talk .9s steps(1,end) infinite}
.bella-speaking .bv-agent-mark .bella-character{animation:bella-plush-breathe 3s ease-in-out infinite}
@keyframes bella-hand-wave{0%,100%{transform:rotate(0)}15%{transform:rotate(17deg)}30%{transform:rotate(-15deg)}45%{transform:rotate(17deg)}60%{transform:rotate(-12deg)}75%{transform:rotate(9deg)}90%{transform:rotate(-4deg)}}
@keyframes bella-mouth-talk{0%,28%,57%,88%,100%{opacity:0}10%,39%,68%{opacity:1}}
@media(prefers-reduced-motion:reduce){.bella-wave-arm,.bv-agent-launch:hover .bella-wave-arm,.bv-agent-launch:focus-visible .bella-wave-arm,.bella-speaking .bv-agent-mark .bella-mouth-frame,.bella-speaking .bv-agent-mark .bella-character{animation:none}}

.bv-agent-voice-status{font-size:10px;line-height:1.4;color:#73806e;margin:8px 0 0}.bv-agent-voice[aria-pressed="true"]{font-weight:600;color:#273d35}

.bv-agent-data-note{font-size:10px;line-height:1.45;color:#65716a;margin:8px 0}.bv-agent-data-note a{color:inherit;text-decoration:underline}.bv-agent-message.is-error{border-left:2px solid #a36a55;color:#754936}

.bv-agent-talkrow{display:flex;align-items:center;gap:10px;margin-top:10px}.bv-agent-talk{flex-shrink:0;min-height:42px;border:1px solid #748478;border-radius:22px;background:#edf2ea;color:#283d33;padding:8px 14px;font:inherit;font-size:12px;cursor:pointer}.bv-agent-talk[aria-pressed="true"]{background:#283d33;color:white}.bv-agent-talk:disabled{opacity:.55;cursor:default}.bv-agent-mic-status{font-size:11px;line-height:1.4;margin:0;color:#536458}.bella-mic-on .bv-agent-mark{outline:2px solid #8da584;outline-offset:3px;border-radius:50%}@media(max-width:700px){.bv-agent-compose{padding-top:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.bv-agent-talkrow{margin-top:6px}.bv-agent-data-note{font-size:10px;margin:5px 0}}

/* Two entry modes beneath Bella, with matching controls inside the composer. */
.bella-avatar-button{display:grid;place-items:center;background:none;border:0;padding:0;color:inherit;cursor:grab;touch-action:none}.bella-avatar-button:focus-visible,.bella-mode-pill button:focus-visible{outline:2px solid #758f68;outline-offset:3px}.bella-mode-pill{display:flex;margin-top:-5px;background:#f8f8f4f2;backdrop-filter:blur(12px);border:1px solid #ccd4c780;border-radius:26px;box-shadow:0 4px 15px #152b2118;overflow:hidden;touch-action:manipulation}.bella-mode-pill button{display:grid;place-items:center;width:48px;height:42px;border:0;background:none;color:#273d35;padding:11px 14px;cursor:pointer}.bella-mode-pill button+button{border-left:1px solid #ced7cb}.bella-mode-pill button:hover{background:#e5ece1}.bella-mode-pill button:disabled{opacity:.4;cursor:default}.bella-mode-pill svg,.bv-agent-inputrow svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bv-agent-inputrow button{display:grid;place-items:center;flex:0 0 36px;padding:0}.bv-agent-inputrow .bv-agent-talk{margin:0;min-height:36px;background:transparent;color:#52654f;border:0;border-radius:50%;width:36px;height:36px}.bv-agent-inputrow .bv-agent-talk:hover{background:#edf2ea}.bv-agent-inputrow .bv-agent-talk[aria-pressed="true"]{background:#dce8d5;color:#273d35}.bv-agent-inputrow button[type="submit"] svg{width:19px;height:19px;stroke-width:1.8}.bv-agent-mic-status{margin:8px 0 0}.bella-mode-pill button:active{background:#d8e3d1}.bv-agent-launch .bella-avatar-button{box-shadow:none}@media(max-width:700px){.bella-mode-pill button{width:46px;height:42px}.bv-agent-inputrow{gap:4px;padding-left:14px}}
.bv-agent-dialog .bv-agent-inputrow input,.bv-agent-dialog .bv-agent-inputrow input:focus,.bv-agent-dialog .bv-agent-inputrow input:focus-visible{border:0;outline:0;box-shadow:none}.bv-agent-inputrow:focus-within{border-color:#7d9278;box-shadow:0 0 0 2px #7d927829}
.bv-agent-dialog .bv-agent-inputrow input:focus-visible{outline:none!important}

.bv-agent-compose{position:relative}.bv-agent-demo{margin-top:9px;justify-content:flex-end}.bv-agent-demo span:empty{display:none}.bv-agent-disclosures{font-size:10px;color:#7b8579;margin-top:-17px;max-width:calc(100% - 125px)}.bv-agent-disclosures summary{cursor:pointer;list-style:none;line-height:17px}.bv-agent-disclosures summary::-webkit-details-marker{display:none}.bv-agent-disclosures summary:after{content:' +';opacity:.6}.bv-agent-disclosures[open]{max-width:100%;margin-top:8px}.bv-agent-disclosures[open] summary:after{content:' −'}.bv-agent-disclosures .bv-agent-data-note{font-size:11px;line-height:1.5;margin:8px 0}.bv-agent-mic-status[hidden],.bella-floating-status[hidden]{display:none}.bv-agent-mic-status{font-size:11px;margin-top:8px}.bella-floating-status{position:absolute;bottom:calc(100% + 8px);right:0;max-width:min(260px,calc(100vw - 40px));width:max-content;padding:10px 15px;border:1px solid #dce4d7;border-radius:16px;background:#f8f8f4f5;box-shadow:0 4px 20px #172c2015;font-size:12px;line-height:1.45;text-align:left;cursor:default}.bella-floating-privacy{font-size:9px;color:#667462;text-decoration:none;line-height:1.6;margin-top:5px;background:#f8f8f4de;border-radius:9px;padding:1px 6px}.bella-mode-pill button[aria-pressed="true"]{background:#dce8d5}.bv-agent-launch.bella-speaking .bella-mouth-frame{animation:bella-mouth-talk .9s steps(1,end) infinite}.bv-agent-launch.bella-mic-on .bella-mode-pill{box-shadow:0 0 0 3px #94ad8340}.bv-agent-launch.bella-speaking .bella-character{animation:bella-plush-breathe 3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.bv-agent-launch.bella-speaking .bella-mouth-frame,.bv-agent-launch.bella-speaking .bella-character{animation:none}}
.bella-viewing-dialog{width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;border:1px solid #dce4d7;border-radius:22px;background:#f8f8f4;color:#273d35;padding:24px;box-shadow:0 18px 80px #14251b30}.bella-viewing-dialog::backdrop{background:#17282055;backdrop-filter:blur(3px)}.bella-viewing-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.bella-viewing-dialog h2{font-size:23px;font-weight:400;margin:0}.bella-viewing-dialog header button{border:0;background:none;font-size:27px;color:inherit;width:40px;height:40px;cursor:pointer}.bella-viewing-dialog>p{font-size:12px;line-height:1.5;color:#65716a;margin:8px 0 16px}.bella-viewing-dialog .bella-viewing-property{font-size:14px;color:#273d35}.bella-viewing-dialog #property-enquiry{width:100%;margin:0;padding:0}.bella-viewing-dialog textarea{min-height:70px;height:80px}.bella-viewing-dialog label{font-size:12px}.bella-viewing-dialog .form-pair{gap:12px}.bella-viewing-dialog input,.bella-viewing-dialog select,.bella-viewing-dialog textarea{max-width:100%;box-sizing:border-box}.bella-viewing-dialog [hidden]{display:none!important}
body[class] .bella-viewing-dialog #property-enquiry{--enquiry-muted:#65716a;color:#273d35;border:0}body[class] .bella-viewing-dialog #property-enquiry label{color:#405246;font-size:13px}body[class] .bella-viewing-dialog #property-enquiry textarea{min-height:80px;height:80px}body[class] .bella-viewing-dialog #property-enquiry .enquiry-card-heading{display:none}body[class] .bella-viewing-dialog #property-enquiry .enquiry-form-bottom .primary{background:#273d35;color:#fff;border-radius:25px}body[class] .bella-viewing-dialog #enquiry-status{color:#405246}body[class] .bella-viewing-dialog .enquiry-consent{color:#65716a}body[class] .bella-viewing-dialog .enquiry-privacy-link{color:#405246}body[class] .bella-viewing-dialog #property-enquiry .form-pair{margin-bottom:12px}
.bella-date-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.bella-appointment{margin:6px 0 22px;padding:16px;background:#eaf0e5;border-radius:16px}.bella-appointment small{display:block;font-size:10px;color:#65716a;margin-top:9px}.bella-viewing-notes{margin:4px 0 18px;font-size:12px}.bella-viewing-notes summary{cursor:pointer;color:#405246;padding:6px 0}.bella-viewing-notes summary span{color:#7b8579;font-size:10px;margin-left:6px}.bella-viewing-notes[open] label{font-size:0!important}.bella-viewing-notes textarea{font-size:14px!important}.bella-viewing-dialog .contact-required,.bella-viewing-dialog .contact-field-hint{display:none!important}body[class] .bella-viewing-dialog #property-enquiry[data-contact-validation="inline"] label:not(.enquiry-consent label){margin-bottom:12px;font-size:12px;line-height:1.4}body[class] .bella-viewing-dialog #property-enquiry[data-contact-validation="inline"] :is(input:not([type=checkbox]):not([type=hidden]),select){min-height:44px;padding:9px 11px;font-size:16px;margin-top:6px;border-radius:8px}body[class] .bella-viewing-dialog #property-enquiry[data-contact-validation="inline"] .phone-country-choice select{height:44px}body[class] .bella-viewing-dialog #property-enquiry[data-contact-validation="inline"] .phone-country-choice:after{top:19px}body[class] .bella-viewing-dialog #property-enquiry .enquiry-consent{margin-top:8px}.bella-viewing-dialog .bella-viewing-caption{font-size:11px;margin-bottom:18px}.bella-viewing-dialog .bella-viewing-property{margin-bottom:4px}
.bella-viewing-dialog .required-fields-note{display:none!important}
.bella-contact-dictation{margin:-8px 0 18px}.bella-contact-dictation button{display:flex;align-items:center;gap:7px;background:transparent;border:1px solid #c9d4c3;border-radius:22px;padding:8px 12px;color:#405246;font:inherit;font-size:12px;cursor:pointer}.bella-contact-dictation button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.bella-contact-dictation button[aria-pressed="true"]{background:#e1ecd9}.bella-contact-dictation p{font-size:10px;color:#65716a;line-height:1.5;margin:6px 0 0}
.bella-search-results{display:grid;gap:14px;margin:14px 0}.bella-result-card{display:block;border:1px solid #d5dece;border-radius:15px;overflow:hidden;text-decoration:none;color:#273d35;background:#fff}.bella-result-card img{width:100%;height:140px;object-fit:cover;display:block}.bella-result-card strong{display:block;font-size:15px;line-height:1.4;padding:12px 13px 5px;font-weight:500}.bella-result-card span{display:block;font-size:11px;line-height:1.5;color:#65716a;padding:0 13px 13px}.bella-results-button{border:1px solid #c9d4c3;border-radius:18px;background:#f8f8f4;color:#273d35;padding:8px 12px;font:inherit;font-size:11px;cursor:pointer;margin-top:7px}.bella-results-button[hidden]{display:none}
.bella-memory-note{display:flex;justify-content:space-between;gap:8px;padding:8px 24px;font-size:10px;color:#65716a;border-bottom:1px solid #dce1d8}.bella-memory-note[hidden]{display:none}.bella-memory-note button{background:none;border:0;text-decoration:underline;font:inherit;color:inherit;cursor:pointer}
.bella-result-pages{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:nowrap;margin-top:5px}.bella-result-pages button{min-width:30px;height:36px;padding:0 7px;border:1px solid transparent;border-radius:18px;background:transparent;color:#405246;font:inherit;font-size:12px;cursor:pointer}.bella-result-pages button[aria-current="page"]{background:#273d35;color:#fff}.bella-result-pages button:disabled{opacity:.3;cursor:default}.bella-result-pages button:hover:not(:disabled){border-color:#aab9a1}.bella-result-pages span{font-size:11px;color:#65716a}.bella-result-count{display:block;text-align:center;font-size:10px;color:#65716a}.bella-search-results{scroll-margin-top:10px}

/* Bella follows the approved footer-style dialogs; the floating mascot stays unchanged. */
body dialog.bv-agent-dialog {
  isolation:isolate; overflow:hidden; border:0; border-radius:0;
  background:#202523; color:#c9c9c6; color-scheme:dark;
  font:300 14px/1.7 'Kumbh Sans',Arial,sans-serif;
  box-shadow:0 20px 70px #10181440;
}
body dialog.bv-agent-dialog::backdrop { background:#101b17a8; backdrop-filter:blur(3px); }
body dialog.bv-agent-dialog::before {
  content:''; position:absolute; left:-19.073px; bottom:0; width:315px; height:226.714px;
  background:url('/assets/5c641.png') left bottom/100% 100% no-repeat;
  filter:brightness(0) invert(1); opacity:.055; pointer-events:none; z-index:-1;
}
body .bv-agent-dialog :is(.bv-agent-top,.bv-agent-compose,.bella-memory-note) { border-color:#ffffff24; }
body .bv-agent-dialog :is(.bv-agent-top,.bv-agent-context,.bella-memory-note,.bv-agent-compose) { flex-shrink:0; }
body .bv-agent-dialog :is(.bv-agent-compose,.bv-agent-context) { background:transparent; }
body .bv-agent-dialog .bv-agent-context { border-bottom:1px solid #ffffff16; }
body .bv-agent-dialog .bv-agent-top strong { font-weight:300; letter-spacing:.065em; }
body .bv-agent-dialog :is(.bv-agent-top small,.bv-agent-intro,.bv-agent-demo,.bv-agent-demo button,.bv-agent-data-note,.bv-agent-voice-status,.bv-agent-mic-status,.bv-agent-disclosures,.bella-memory-note,.bella-result-count,.bella-result-pages span) { color:#c9c9c6; }
body .bv-agent-dialog .bv-agent-scroll h2 { color:inherit; font:300 22px/1.45 'Kumbh Sans',Arial,sans-serif; letter-spacing:.055em; text-transform:uppercase; }
body .bv-agent-dialog .bv-agent-message { overflow-wrap:anywhere; }
body .bv-agent-dialog .bv-agent-message.is-user { background:#ffffff0b; border:1px solid #ffffff24; border-radius:0; }
body .bv-agent-dialog .bv-agent-message.is-error { color:#ffb7a7; border-color:#ffb7a7; }
body .bv-agent-dialog :is(.bv-agent-photo,.bella-result-card,.bv-agent-summary,.bv-agent-viewing) { border-radius:0; background:#202523; border:1px solid #ffffff30; color:inherit; }
body .bv-agent-dialog .bella-result-card span { color:#c9c9c6; }
body .bv-agent-dialog :is(.bv-agent-chiprow button,.bv-agent-photo-nav button,.bv-agent-primary,.bella-results-button,.bella-result-pages button,.bv-agent-message .member-back,.bv-agent-demo button) {
  min-height:44px; padding:10px 14px; background:#fff; color:#202523; border:1px solid #fff; border-radius:0;
  font:300 11px/1.5 'Kumbh Sans',Arial,sans-serif; letter-spacing:.04em;
}
body .bv-agent-dialog :is(.bv-agent-chiprow button,.bv-agent-photo-nav button,.bv-agent-primary,.bella-results-button,.bella-result-pages button,.bv-agent-message .member-back,.bv-agent-demo button):hover { background:#e9ece7; border-color:#e9ece7; }
body .bv-agent-dialog .bella-result-pages button[aria-current="page"] { background:#c9c9c6; color:#202523; font-weight:500; }
body .bv-agent-dialog .bv-agent-demo button { min-height:32px; padding:6px 9px; font-size:10px; }
body .bv-agent-dialog .bv-agent-demo button[aria-pressed="true"] { background:#c9c9c6; color:#202523; }
body .bv-agent-dialog .bv-agent-inputrow { border-radius:0; border-color:#7e8780; background:#ffffff06; gap:6px; }
body .bv-agent-dialog .bv-agent-inputrow input { font-size:16px; color:#f3f3ef; }
body .bv-agent-dialog .bv-agent-inputrow input::placeholder { color:#aeb5ae; opacity:1; }
body .bv-agent-dialog .bv-agent-inputrow button { border-radius:0; border:1px solid #fff; background:#fff; color:#202523; width:44px; height:44px; min-height:44px; flex-basis:44px; }
body .bv-agent-dialog .bv-agent-inputrow button:hover { background:#e9ece7; }
body .bv-agent-dialog .bv-agent-inputrow .bv-agent-talk[aria-pressed="true"] { background:#c9c9c6; color:#202523; }
body .bv-agent-dialog .bv-agent-close { width:44px; height:44px; padding:0; flex-shrink:0; }
body .bv-agent-dialog .bv-bella-typing { color:#c9c9c6; }
body .bv-agent-dialog .bv-bella-typing>span { background:#ffffff0b; border-radius:0; }
body dialog.bella-lead-dialog.bv-footer-dialog .member-form textarea {
  width:100%; min-height:108px; padding:12px 13px; resize:vertical; background:#ffffff06; border:1px solid #7e8780;
  color:#f3f3ef; border-radius:0; font:300 16px/1.5 'Kumbh Sans',Arial,sans-serif;
}
body dialog.bella-lead-dialog.bv-footer-dialog [role="status"]:empty { display:none; }
body dialog.bella-lead-dialog.bv-footer-dialog .member-main>p { margin:0 0 24px; font:inherit; }
body dialog.bella-viewing-dialog.bv-footer-dialog header { display:block; }
body dialog.bella-viewing-dialog.bv-footer-dialog :is(.bella-viewing-property,.bella-viewing-caption) { color:#c9c9c6; font:inherit; margin:0 0 14px; }
body dialog.bella-viewing-dialog.bv-footer-dialog .bella-appointment { background:#ffffff06; border:1px solid #ffffff24; border-radius:0; padding:16px; margin:20px 0; }
body dialog.bella-viewing-dialog.bv-footer-dialog :is(.bella-appointment small,.bella-contact-dictation p,.bella-viewing-notes summary,.bella-viewing-notes summary span) { color:#c9c9c6; }
body dialog.bella-viewing-dialog.bv-footer-dialog .bella-contact-dictation button {
  background:#fff; color:#202523; border:1px solid #fff; border-radius:0; min-height:44px; padding:10px 14px;
  font:300 11px/1.5 'Kumbh Sans',Arial,sans-serif;
}
body dialog.bella-viewing-dialog.bv-footer-dialog .bella-contact-dictation button[aria-pressed="true"] { background:#c9c9c6; }
body[class] dialog.bella-viewing-dialog.bv-footer-dialog #property-enquiry {
  --enquiry-muted:#c9c9c6; --enquiry-error:#ffb7a7; --enquiry-focus:#fff;
  background:transparent; color:#c9c9c6;
}
body[class] dialog.bella-viewing-dialog.bv-footer-dialog #property-enquiry :is(label,.enquiry-consent,.enquiry-privacy-link) { color:#c9c9c6; font-family:'Kumbh Sans',Arial,sans-serif; font-weight:300; }
body[class] dialog.bella-viewing-dialog.bv-footer-dialog #property-enquiry[data-contact-validation="inline"] :is(input:not([type="checkbox"]):not([type="hidden"]),select,textarea) {
  min-height:49px; width:100%; min-width:0; padding:12px 13px; background:#ffffff06; border:1px solid #7e8780; border-radius:0;
  color:#f3f3ef; font:300 16px/1.5 'Kumbh Sans',Arial,sans-serif;
}
body[class] dialog.bella-viewing-dialog.bv-footer-dialog #property-enquiry :is(input,textarea)::placeholder { color:#aeb5ae; opacity:1; }
body[class] dialog.bella-viewing-dialog.bv-footer-dialog #property-enquiry select option { color:#202523; background:#fff; }
body[class] dialog.bella-viewing-dialog.bv-footer-dialog #property-enquiry .phone-country-value { color:#f3f3ef; }
body[class] dialog.bella-viewing-dialog.bv-footer-dialog #property-enquiry .phone-country-choice:after { border-color:#c9c9c6; top:22px; }
body[class] dialog.bella-viewing-dialog.bv-footer-dialog #property-enquiry[data-contact-validation="inline"] [type="submit"] {
  background:#fff; color:#202523; border:1px solid #fff; border-radius:0; min-height:48px;
  font:300 11px/1.5 'Kumbh Sans',Arial,sans-serif; letter-spacing:.065em; text-transform:uppercase;
}
body[class] dialog.bella-viewing-dialog.bv-footer-dialog #property-enquiry [aria-invalid="true"] { border-color:#ffb7a7; }
body[class] dialog.bella-viewing-dialog.bv-footer-dialog #enquiry-status { color:#c9c9c6; }
@media(max-width:600px) {
  body dialog.bella-viewing-dialog.bv-footer-dialog :is(.bella-date-pair,.contact-name-pair) { grid-template-columns:1fr; }
  body .bv-agent-dialog .bv-agent-top { padding-inline:20px; }
  body .bv-agent-dialog .bv-agent-scroll { padding:22px 20px; }
}

/* Compact mobile entry; the expanded mascot keeps its original dimensions. */
.bella-compact,.bella-collapse{display:none}
@media(max-width:700px){
 .bv-agent-launch .bella-collapse{display:grid;place-items:center;position:absolute;z-index:3;right:-4px;top:0;width:32px;height:32px;padding:6px;border:1px solid #dce1d8;border-radius:50%;background:#f8f8f4;color:#273d35;cursor:pointer}
 .bella-collapse svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
 .bv-agent-launch.bella-collapsed{padding:0;gap:0}
 .bv-agent-launch.bella-collapsed > :not(.bella-compact){display:none!important}
 .bv-agent-launch.bella-collapsed .bella-compact{display:flex;align-items:center;gap:8px;min-height:46px;padding:4px 16px 4px 6px;border:1px solid #d7dfd2;border-radius:28px;background:#f8f8f4f5;color:#273d35;box-shadow:0 3px 14px #152b2115;font:inherit;font-size:12px;cursor:pointer;touch-action:manipulation}
 .bella-compact-face{display:block;position:relative;width:34px;height:34px;overflow:hidden;border-radius:50%;background:#e5eadf}
 .bella-compact-face img{position:absolute;width:54px;height:50px;max-width:none;left:-10px;top:0;object-fit:contain;pointer-events:none}
 .bella-compact:focus-visible,.bella-collapse:focus-visible{outline:2px solid #758f68;outline-offset:3px}
 .bv-agent-launch:not(.bella-collapsed)>.bella-avatar-button,.bv-agent-launch:not(.bella-collapsed)>.bella-mode-pill{animation:bella-mobile-expand .18s ease-out}
 @keyframes bella-mobile-expand{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){.bv-agent-launch:not(.bella-collapsed)>.bella-avatar-button,.bv-agent-launch:not(.bella-collapsed)>.bella-mode-pill{animation:none}}
