
:root{--black:#0d0d0d;--gold:#c29e43;--paper:#f3f0e9;--ink:#171612;--muted:#8d877d;--line:#d7d0c4;--serif:"Georgia","Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#fff;font-family:var(--sans);line-height:1.55}button,input{font:inherit}.skip-link{position:fixed;left:12px;top:-60px;z-index:999;background:#fff;color:#111;padding:10px}.skip-link:focus{top:12px}.progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:999}.progress span{display:block;height:100%;width:0;background:var(--gold)}
.site-header{height:88px;position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:45px;padding:10px 4vw;background:linear-gradient(#000b,transparent);transition:.3s}.site-header.scrolled{background:#0d0d0df2;backdrop-filter:blur(15px);border-bottom:1px solid #ffffff18}.brand{width:220px;height:62px;display:flex}.brand img{width:100%;height:100%;object-fit:contain}.site-header nav{margin-left:auto;display:flex;gap:26px}.site-header nav a{color:#ddd;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.58rem}.menu-toggle{display:none}
.sticky-book{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:90;background:var(--gold);color:#111;text-decoration:none;writing-mode:vertical-rl;padding:22px 14px;text-transform:uppercase;letter-spacing:.14em;font-size:.6rem;display:flex;gap:16px;align-items:center;box-shadow:0 15px 35px #0007}.sticky-book b{font-size:1.2rem}
.hero{height:100svh;min-height:720px;position:relative;overflow:hidden}.hero video{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000b 0%,#0003 55%,#0007 100%),linear-gradient(0deg,#000b,transparent 60%)}.hero-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 8vw 8vh}.hero-content>p{text-transform:uppercase;letter-spacing:.3em;color:#dfc887;font-size:.65rem}.hero h1{font-family:var(--serif);font-size:clamp(4.5rem,9vw,10rem);font-weight:400;line-height:.82;margin:.2em 0 .3em;max-width:1200px}.hero h1 em{font-weight:400;color:#d8bc6b}.hero-stats{display:flex;flex-wrap:wrap;gap:28px;margin-bottom:30px}.hero-stats span{padding-right:28px;border-right:1px solid #ffffff40;text-transform:uppercase;letter-spacing:.1em;font-size:.55rem}.hero-stats strong{display:block;font-family:var(--serif);font-size:1.6rem;letter-spacing:0;text-transform:none}.hero-content>a{color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:.58rem}.hero-content>a b{color:var(--gold);margin-left:10px}
.light{background:var(--paper);color:var(--ink)}.dark{background:var(--black);color:#fff}.intro{display:grid;grid-template-columns:.35fr 1.2fr 1fr;gap:6vw;padding:150px 8vw}.section-number{font-family:var(--serif);font-size:7rem;color:#d3cbbf;line-height:.75}.intro-title>p,.section-head div>p,.booking-copy>p{text-transform:uppercase;letter-spacing:.2em;color:#9a7930;font-size:.58rem}.intro h2,.section-head h2,.booking h2{font-family:var(--serif);font-size:clamp(3rem,5vw,6rem);font-weight:400;line-height:.95;margin:.15em 0}.intro-copy{padding-top:35px;color:#514d45}.intro-copy p+p{margin-top:24px}
.cinematic-photo{height:90vh;min-height:650px;position:relative}.cinematic-photo img{width:100%;height:100%;object-fit:cover}.cinematic-photo:after{content:"";position:absolute;inset:0;background:#0003}.cinematic-photo blockquote{position:absolute;z-index:2;inset:0;display:grid;place-items:center;margin:0;padding:10vw;color:#fff;font:italic clamp(2.5rem,5vw,6rem)/1.1 var(--serif);text-align:center;text-shadow:0 4px 28px #000}
.gallery-section,.floor-section,.features-section,.poi-section{padding:140px 5vw}.section-head{display:grid;grid-template-columns:.25fr 1.2fr .7fr;gap:5vw;align-items:end;margin:0 auto 70px;max-width:1500px}.section-head>span{font:5rem var(--serif);color:#7f6b37}.section-head>p{color:#aaa;max-width:500px}.light .section-head>p{color:#625d54}
.gallery-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#292929}.gallery-category{position:relative;height:420px;border:0;padding:28px;text-align:left;color:#fff;overflow:hidden;background:#111;cursor:pointer}.gallery-category:before{content:"";position:absolute;inset:0;background-image:linear-gradient(0deg,#000d,transparent 65%),var(--cover);background-size:cover;background-position:center;transition:.7s}.gallery-category:hover:before{transform:scale(1.04)}.gallery-category>*{position:relative;z-index:1;display:block}.gallery-category__count{font:2rem var(--serif);color:#d9c16f}.gallery-category__name{position:absolute;left:28px;bottom:55px;font:2rem var(--serif)}.gallery-category__action{position:absolute;left:28px;bottom:28px;text-transform:uppercase;letter-spacing:.1em;font-size:.5rem;color:#cfcfcf}
.floor-layout{display:grid;grid-template-columns:1fr 320px;max-width:1550px;margin:auto;gap:40px}.floor-canvas{position:relative;background:#fff;box-shadow:0 30px 90px #5d544522}.floor-canvas>img{width:100%;display:block}.floor-hotspot{position:absolute;border:1px solid #c29e4380;background:#c29e4328;cursor:pointer;transition:.2s;padding:0}.floor-hotspot:hover,.floor-hotspot:focus{background:#c29e4390;z-index:4}.floor-hotspot span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#111;color:#fff;padding:5px 7px;font-size:.45rem;text-transform:uppercase;letter-spacing:.08em;opacity:0;white-space:nowrap}.floor-hotspot:hover span,.floor-hotspot:focus span{opacity:1}.floor-help{padding:40px 0}.floor-help>span{color:#9a7930;text-transform:uppercase;letter-spacing:.14em;font-size:.55rem}.floor-help h3{font:3rem var(--serif);margin:.2em 0}.floor-help ul{list-style:none;padding:0;border-top:1px solid var(--line)}.floor-help li{padding:10px 0;border-bottom:1px solid var(--line)}.floor-help button{background:#111;color:#fff;border:0;padding:14px 20px;text-transform:uppercase;letter-spacing:.1em;font-size:.55rem;cursor:pointer}
.feature-explorer{max-width:1550px;margin:auto;display:grid;grid-template-columns:300px 1fr;min-height:760px}.feature-tabs{border:1px solid #333}.feature-tab{width:100%;display:flex;gap:15px;align-items:center;background:transparent;color:#aaa;border:0;border-bottom:1px solid #333;padding:20px;text-align:left;cursor:pointer}.feature-tab span{font-family:var(--serif);color:#806f43}.feature-tab.active,.feature-tab:hover{background:var(--gold);color:#111}.feature-tab.active span{color:#111}.feature-panel{display:grid;grid-template-columns:1.05fr .95fr;background:#171717}.feature-image{min-height:760px;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;transition:.35s}.feature-content{padding:65px;display:flex;flex-direction:column}.feature-content>span{text-transform:uppercase;letter-spacing:.14em;color:#cbb46c;font-size:.55rem}.feature-content h3{font:clamp(3rem,5vw,5rem)/.95 var(--serif);font-weight:400;margin:.25em 0 .5em}.feature-item{border-top:1px solid #3a3a3a;padding:18px 0}.feature-item button{width:100%;background:none;border:0;color:#fff;text-align:left;display:flex;justify-content:space-between;cursor:pointer;font:1.25rem var(--serif)}.feature-item p{display:none;color:#aaa;margin:10px 0 0}.feature-item.open p{display:block}.feature-pagination{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid #3a3a3a}.feature-pagination button{background:none;border:0;color:#ddd;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;font-size:.52rem}
.poi-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1500px;margin:auto;gap:20px}.poi-card{background:#fff;box-shadow:0 20px 50px #5e544214;overflow:hidden}.poi-card img{width:100%;height:300px;object-fit:cover}.poi-card__body{padding:28px}.poi-card__body>span{color:#9a7930;text-transform:uppercase;letter-spacing:.13em;font-size:.5rem}.poi-card h3{font:2.2rem var(--serif);margin:.3em 0}.poi-card p{color:#625d54;min-height:78px}.poi-card button{border:0;background:none;padding:0;color:#111;text-transform:uppercase;letter-spacing:.1em;font-size:.52rem;cursor:pointer}
.booking{display:grid;grid-template-columns:.75fr 1.1fr 1fr;gap:5vw;padding:130px 7vw;align-items:center}.booking-brand img{width:100%;max-width:350px}.booking-copy p:last-child{color:#aaa}.booking form{display:grid;gap:18px}.booking label{font-size:.55rem;text-transform:uppercase;letter-spacing:.12em;color:#aaa}.booking input{display:block;width:100%;margin-top:8px;background:transparent;border:0;border-bottom:1px solid #555;color:#fff;padding:12px 0;font-size:1rem}.booking form button{background:var(--gold);border:0;padding:17px;color:#111;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem;cursor:pointer}.booking small{color:#777}
footer{padding:60px 6vw;text-align:center;background:#080808;color:#777;border-top:1px solid #222}footer img{width:260px;max-height:100px;object-fit:contain}footer p{font-size:.65rem}
dialog{border:0;padding:0;background:#0c0c0c;color:#fff;max-width:none;max-height:none;width:100vw;height:100vh}dialog::backdrop{background:#000d}.dialog-close{position:absolute;right:25px;top:20px;z-index:4;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer}.gallery-dialog{grid-template-columns:70px 1fr 70px;grid-template-rows:70px 1fr 110px;align-items:center}.gallery-dialog[open]{display:grid}.gallery-dialog__head{grid-column:1/-1;display:flex;justify-content:space-between;padding:20px 90px;text-transform:uppercase;letter-spacing:.15em;font-size:.6rem}.gallery-dialog figure{margin:0;height:100%;min-height:0;display:grid;grid-template-rows:1fr auto}.gallery-dialog figure img{width:100%;height:100%;object-fit:contain;min-height:0}.gallery-dialog figcaption{text-align:center;color:#aaa;padding:10px}.dialog-prev,.dialog-next{background:none;border:1px solid #444;color:#fff;width:45px;height:45px;justify-self:center;cursor:pointer}.dialog-thumbs{grid-column:1/-1;display:flex;gap:8px;overflow:auto;padding:12px 70px}.dialog-thumbs button{flex:0 0 100px;height:70px;border:2px solid transparent;background:none;padding:0}.dialog-thumbs button.active{border-color:var(--gold)}.dialog-thumbs img{width:100%;height:100%;object-fit:cover}.poi-dialog[open]{display:grid;place-items:center}.poi-dialog__content{width:min(1300px,90vw);height:min(760px,85vh);display:grid;grid-template-columns:1.2fr .8fr;background:#161616}.poi-dialog__content>img{width:100%;height:100%;object-fit:cover}.poi-dialog__content>div{padding:55px;overflow:auto}.poi-dialog__content span{color:#cbb46c;text-transform:uppercase;letter-spacing:.12em;font-size:.55rem}.poi-dialog h2{font:4rem var(--serif)}#poiThumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:30px}#poiThumbs button{border:0;padding:0;background:none}#poiThumbs img{width:100%;height:95px;object-fit:cover}.floor-dialog[open]{display:grid;place-items:center}.floor-dialog img{max-width:96vw;max-height:94vh;object-fit:contain}
.mobile-book{display:none}
@media(max-width:1100px){.site-header nav{display:none}.menu-toggle{display:block;margin-left:auto;background:none;border:0;color:#fff}.gallery-categories{grid-template-columns:repeat(2,1fr)}.intro,.section-head{grid-template-columns:.3fr 1fr}.intro-copy,.section-head>p{grid-column:2}.floor-layout{grid-template-columns:1fr}.floor-help{display:none}.feature-explorer{grid-template-columns:1fr}.feature-tabs{display:flex;overflow:auto}.feature-tab{min-width:190px}.feature-panel{grid-template-columns:1fr}.feature-image{min-height:500px}.poi-grid{grid-template-columns:repeat(2,1fr)}.booking{grid-template-columns:1fr 1fr}.booking-brand{display:none}}
@media(max-width:700px){.site-header{height:70px;padding:8px 18px}.brand{width:175px}.sticky-book{display:none}.hero{min-height:650px}.hero-content{padding:0 22px 90px}.hero h1{font-size:3.8rem}.hero-stats{gap:13px}.hero-stats span{padding-right:13px}.intro,.gallery-section,.floor-section,.features-section,.poi-section{padding:90px 22px}.intro,.section-head{display:block}.section-number,.section-head>span{font-size:3.8rem}.cinematic-photo{height:70vh;min-height:500px}.gallery-categories{grid-template-columns:1fr}.gallery-category{height:350px}.floor-hotspot span{display:none}.feature-content{padding:40px 22px}.feature-image{min-height:380px}.poi-grid{grid-template-columns:1fr}.poi-card p{min-height:0}.booking{grid-template-columns:1fr;padding:90px 22px 115px}.gallery-dialog{grid-template-columns:40px 1fr 40px}.gallery-dialog__head{padding:20px 50px}.dialog-thumbs{padding:12px 15px}.poi-dialog__content{grid-template-columns:1fr;height:90vh}.poi-dialog__content>img{height:42vh}.poi-dialog__content>div{padding:28px}.mobile-book{position:fixed;bottom:0;left:0;right:0;z-index:110;display:grid;grid-template-columns:1fr 1fr 1.35fr;background:#111;border-top:1px solid #333}.mobile-book a{color:#fff;text-align:center;text-decoration:none;padding:16px 5px;text-transform:uppercase;letter-spacing:.08em;font-size:.5rem;border-right:1px solid #333}.mobile-book a:last-child{background:var(--gold);color:#111}}


/* V12 — THE ICON hero, oversized brand, sticky chapter menu, enriched POIs */
.hero-brand-header{height:170px;align-items:flex-start;padding:18px 3vw;background:linear-gradient(#000b,transparent);pointer-events:none}.hero-brand-header .brand{width:660px;height:145px;pointer-events:auto}.hero-brand-header .brand img{object-fit:contain;object-position:left center}.hero-brand-header.scrolled{background:transparent;border:0;backdrop-filter:none;opacity:0;pointer-events:none}
.hero h1{font-size:clamp(6rem,14vw,15rem);letter-spacing:.035em;line-height:.72;margin:.14em 0 .12em;text-transform:uppercase}.hero h2{font:400 clamp(1.9rem,3.4vw,4rem)/1 var(--serif);margin:0 0 1.15em;color:#f1ead8;letter-spacing:.02em}.hero h1 em{font-style:normal}
.chapter-nav{position:sticky;top:0;z-index:95;display:flex;justify-content:center;background:rgba(13,13,13,.96);backdrop-filter:blur(16px);border-bottom:1px solid #ffffff18;overflow-x:auto}.chapter-nav a{flex:0 0 auto;color:#aaa;text-decoration:none;padding:18px 24px;text-transform:uppercase;letter-spacing:.12em;font-size:.56rem;transition:.2s}.chapter-nav a span{color:var(--gold);margin-right:8px}.chapter-nav a:hover,.chapter-nav a.active{color:#fff;background:#ffffff08}
.poi-dialog__content{height:min(880px,92vh);grid-template-columns:1.05fr .95fr}.poi-dialog__details{padding:48px;overflow:auto}.poi-dialog__details>p{font-size:1rem;line-height:1.75;color:#c5c5c5}.poi-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#333;margin:28px 0}.poi-facts div{background:#171717;padding:16px}.poi-facts strong{display:block;font:1.15rem var(--serif);color:#fff}.poi-facts span{display:block;margin-top:3px;color:#8f8f8f;font-size:.49rem;letter-spacing:.11em;text-transform:uppercase}.poi-official{display:inline-block;color:#d5bc6c;text-decoration:none;border-bottom:1px solid #665a37;padding-bottom:5px;margin-bottom:28px;text-transform:uppercase;letter-spacing:.1em;font-size:.54rem}.poi-map-wrap{height:300px;margin-top:25px;border:1px solid #3a3a3a}.poi-map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.75) contrast(1.05)}
@media(max-width:900px){.hero-brand-header{height:125px}.hero-brand-header .brand{width:460px;height:110px}.chapter-nav{justify-content:flex-start}.chapter-nav a{padding:16px 18px}.poi-dialog__content{grid-template-columns:1fr;height:94vh}.poi-dialog__content>img{height:38vh}.poi-dialog__details{padding:30px}.poi-map-wrap{height:260px}}
@media(max-width:700px){.hero-brand-header{height:94px;padding:8px 14px}.hero-brand-header .brand{width:310px;height:84px}.hero h1{font-size:4.8rem}.hero h2{font-size:1.9rem}.chapter-nav a{padding:14px 16px}.poi-facts{grid-template-columns:1fr}.poi-dialog h2{font-size:3rem}}


/* V13 final branding, booking, and THE ICON refinements */
.icon-name{color:#f1d98a;font-style:normal}
.hero-icon-name{display:inline-block;color:#f1d98a;text-shadow:0 8px 42px rgba(0,0,0,.45)}
.hero-address{color:#fff}

.hero-brand-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:320px;
  padding:20px 2vw;
  background:linear-gradient(#000c,transparent);
  opacity:1;
  pointer-events:none;
  transition:height .35s ease,background .35s ease,padding .35s ease;
}
.hero-brand-header .brand{
  width:min(1320px,94vw);
  height:290px;
  pointer-events:auto;
  transition:width .35s ease,height .35s ease;
}
.hero-brand-header .brand img{object-fit:contain;object-position:left center}
.hero-brand-header.scrolled{
  height:118px;
  padding:8px 2vw;
  background:rgba(13,13,13,.96);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(16px);
  opacity:1;
  pointer-events:none;
}
.hero-brand-header.scrolled .brand{
  width:min(520px,52vw);
  height:100px;
  pointer-events:auto;
}
.chapter-nav{top:118px}

@media(max-width:900px){
  .hero-brand-header{height:230px;padding:12px 14px}
  .hero-brand-header .brand{width:min(920px,96vw);height:205px}
  .hero-brand-header.scrolled{height:92px;padding:5px 12px}
  .hero-brand-header.scrolled .brand{width:min(390px,70vw);height:80px}
  .chapter-nav{top:92px}
}
@media(max-width:700px){
  .hero-brand-header{height:170px;padding:8px 10px}
  .hero-brand-header .brand{width:min(620px,97vw);height:154px}
  .hero-brand-header.scrolled{height:76px;padding:3px 9px}
  .hero-brand-header.scrolled .brand{width:min(290px,73vw);height:68px}
  .chapter-nav{top:76px}
}


/* V15 final logo, hero-title, and sticky-menu refinements */

/* Hero logo: 30% smaller than the previous oversized treatment. */
.hero-brand-header{
  position:absolute !important;
  top:0;
  left:0;
  right:0;
  height:225px !important;
  padding:16px 2.5vw !important;
  background:linear-gradient(#000c,transparent) !important;
  opacity:1 !important;
  pointer-events:none;
  border:0 !important;
  backdrop-filter:none !important;
}
.hero-brand-header .brand{
  width:min(924px,72vw) !important;
  height:203px !important;
  pointer-events:auto;
}
.hero-brand-header .brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}

/* THE ICON: about 20% smaller; only ICON uses the light-yellow accent. */
.hero-title{
  font-family:var(--serif);
  font-size:clamp(3.7rem,7.2vw,8rem) !important;
  font-weight:400;
  line-height:.84;
  margin:.15em 0 .12em;
  letter-spacing:-.035em;
}
.the-word,.the-inline{color:#fff !important}
.icon-word,.icon-inline{color:#f1d98a !important}
.hero-presented{
  margin:5px 0 28px !important;
  color:rgba(255,255,255,.82) !important;
  text-transform:uppercase;
  letter-spacing:.18em !important;
  font-size:.58rem !important;
}
.hero-presented strong{
  color:#f1d98a;
  font-weight:500;
}

/* Logo and links form one sticky menu unit below the hero. */
.chapter-nav{
  position:sticky;
  top:0 !important;
  z-index:95;
  min-height:84px;
  display:flex !important;
  align-items:center;
  justify-content:flex-start !important;
  gap:28px;
  padding:8px 2.5vw;
  background:rgba(13,13,13,.97);
  border-bottom:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(16px);
  overflow:visible !important;
}
.chapter-brand{
  flex:0 0 260px !important;
  width:260px;
  height:66px;
  padding:0 !important;
  background:transparent !important;
  display:flex;
  align-items:center;
}
.chapter-brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.chapter-links{
  flex:1;
  display:flex;
  justify-content:center;
  overflow-x:auto;
}
.chapter-links>a{
  flex:0 0 auto;
  color:#aaa;
  text-decoration:none;
  padding:18px 19px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.54rem;
  transition:.2s;
}
.chapter-links>a span{color:var(--gold);margin-right:7px}
.chapter-links>a:hover,.chapter-links>a.active{color:#fff;background:#ffffff08}

@media(max-width:1050px){
  .hero-brand-header{height:170px !important;padding:10px 16px !important}
  .hero-brand-header .brand{width:min(650px,76vw) !important;height:150px !important}
  .chapter-nav{gap:12px;padding:6px 14px}
  .chapter-brand{flex-basis:205px !important;width:205px;height:58px}
  .chapter-links{justify-content:flex-start}
  .chapter-links>a{padding:16px 14px}
}
@media(max-width:700px){
  .hero-brand-header{height:115px !important;padding:6px 10px !important}
  .hero-brand-header .brand{width:min(390px,78vw) !important;height:102px !important}
  .hero-title{font-size:3.85rem !important}
  .hero-presented{font-size:.48rem !important;letter-spacing:.12em !important;margin-bottom:20px !important}
  .chapter-nav{min-height:68px;padding:4px 9px;gap:8px}
  .chapter-brand{flex-basis:145px !important;width:145px;height:50px}
  .chapter-links>a{padding:13px 12px;font-size:.49rem}
}


/* V16 — Agent introduction and private-viewing section */
.agent-booking{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(350px,1fr) minmax(390px,1.05fr);
  gap:clamp(34px,5vw,82px);
  align-items:end;
  min-height:760px;
  padding:100px 6vw 0;
  overflow:hidden;
  border-top:1px solid rgba(194,158,67,.35);
  background:
    radial-gradient(circle at 18% 55%,rgba(194,158,67,.18),transparent 31%),
    linear-gradient(120deg,#111 0%,#090909 55%,#17130b 100%);
}
.agent-booking:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 32%,rgba(255,255,255,.035) 32% 32.08%,transparent 32.08%),
    linear-gradient(90deg,transparent 0 67%,rgba(255,255,255,.035) 67% 67.08%,transparent 67.08%);
}
.agent-booking__portrait{
  position:relative;
  align-self:end;
  min-height:650px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  z-index:1;
}
.agent-booking__portrait img{
  position:relative;
  z-index:2;
  display:block;
  width:min(470px,100%);
  max-height:690px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 30px 38px rgba(0,0,0,.65));
}
.agent-booking__halo{
  position:absolute;
  z-index:1;
  left:50%;
  bottom:50px;
  width:78%;
  aspect-ratio:1;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(194,158,67,.23),rgba(194,158,67,.05) 44%,transparent 70%);
  filter:blur(3px);
}
.agent-booking__profile,
.agent-booking__viewing{
  position:relative;
  z-index:2;
  align-self:center;
  padding:55px 0 85px;
}
.agent-booking__profile{
  max-width:590px;
}
.agent-booking__eyebrow{
  margin:0 0 14px;
  color:#d7bd72;
  text-transform:uppercase;
  letter-spacing:.19em;
  font-size:.58rem;
}
.agent-booking__profile h2,
.agent-booking__viewing h2{
  margin:0;
  color:#f5f0e5;
  font:400 clamp(3.1rem,4.8vw,5.4rem)/.95 var(--serif);
}
.agent-booking__profile h3{
  margin:13px 0 25px;
  color:#d7bd72;
  font:400 1.25rem/1.2 var(--serif);
}
.agent-booking__intro,
.agent-booking__viewing>p{
  max-width:620px;
  color:#bcb7ad;
  font-size:.94rem;
  line-height:1.8;
}
.agent-booking__contact{
  display:flex;
  flex-wrap:wrap;
  gap:12px 28px;
  margin-top:32px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.14);
}
.agent-booking__contact a{
  color:#e0c270;
  text-decoration:none;
  letter-spacing:.06em;
  font-size:.77rem;
}
.agent-booking__contact a:hover{
  color:#fff;
}
.agent-booking__viewing{
  align-self:center;
  padding:52px;
  margin:70px 0 85px;
  border:1px solid rgba(194,158,67,.32);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:0 30px 70px rgba(0,0,0,.3);
}
.agent-booking__viewing h2{
  font-size:clamp(2.6rem,4vw,4.45rem);
}
.agent-booking__viewing form{
  display:grid;
  gap:17px;
  margin-top:31px;
}
.agent-booking__viewing label{
  color:#aaa59c;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.53rem;
}
.agent-booking__viewing input{
  display:block;
  width:100%;
  margin-top:7px;
  padding:13px 0;
  color:#fff;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.3);
  outline:none;
}
.agent-booking__viewing input:focus{
  border-color:#d7bd72;
}
.agent-booking__viewing button{
  margin-top:7px;
  padding:17px 22px;
  border:1px solid #d8bd70;
  background:linear-gradient(90deg,#b58a2c,#e3ca7a);
  color:#111;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.58rem;
  cursor:pointer;
  transition:transform .2s ease,filter .2s ease;
}
.agent-booking__viewing button:hover{
  transform:translateY(-2px);
  filter:brightness(1.07);
}
.agent-booking__viewing small{
  color:#77736d;
  font-size:.62rem;
  line-height:1.5;
}

@media(max-width:1150px){
  .agent-booking{
    grid-template-columns:minmax(260px,.8fr) 1.2fr;
    align-items:end;
    padding-right:5vw;
  }
  .agent-booking__portrait{
    grid-row:1 / span 2;
  }
  .agent-booking__profile{
    padding:70px 0 20px;
  }
  .agent-booking__viewing{
    margin:10px 0 75px;
  }
}
@media(max-width:790px){
  .agent-booking{
    display:flex;
    flex-direction:column;
    gap:0;
    padding:80px 22px 0;
  }
  .agent-booking:before{
    display:none;
  }
  .agent-booking__profile{
    order:1;
    padding:0 0 40px;
  }
  .agent-booking__viewing{
    order:2;
    width:100%;
    padding:35px 24px;
    margin:0 0 40px;
  }
  .agent-booking__portrait{
    order:3;
    width:100%;
    min-height:430px;
  }
  .agent-booking__portrait img{
    width:min(430px,92vw);
    max-height:520px;
  }
  .agent-booking__halo{
    bottom:15px;
  }
}


/* V17 — alignment, contact visibility, logo sizing, and broader professional title */
.agent-booking{
  align-items:center;
}
.agent-booking__portrait{
  align-self:center !important;
  min-height:0 !important;
  height:100%;
  display:flex;
  align-items:center !important;
  justify-content:center;
  padding-top:70px;
  padding-bottom:70px;
}
.agent-booking__portrait img{
  width:min(500px,100%) !important;
  max-height:620px !important;
  object-position:center center !important;
}
.agent-booking__profile,
.agent-booking__viewing{
  align-self:center !important;
  padding-top:70px;
  padding-bottom:70px;
}
.agent-booking__contact{
  gap:16px 34px;
}
.agent-booking__contact a{
  font-size:1rem !important;
  font-weight:600;
  letter-spacing:.035em;
  color:#f1d98a;
}
.agent-booking__contact a:hover{
  color:#fff;
}

/* Fill the sticky logo container more completely. */
.chapter-brand{
  overflow:visible;
}
.chapter-brand img{
  width:112% !important;
  height:112% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:left center !important;
}

/* Make the hero logo use more of its available container height. */
.hero-brand-header .brand img{
  width:108% !important;
  height:108% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:left center !important;
}

@media(max-width:1150px){
  .agent-booking__portrait{
    align-self:center !important;
    padding-top:40px;
    padding-bottom:40px;
  }
  .agent-booking__profile{
    padding-top:55px;
  }
  .agent-booking__viewing{
    padding-top:45px;
    padding-bottom:45px;
  }
}
@media(max-width:790px){
  .agent-booking__portrait{
    order:3;
    padding:20px 0 0;
    min-height:420px !important;
  }
  .agent-booking__portrait img{
    width:min(430px,92vw) !important;
    max-height:510px !important;
  }
  .agent-booking__contact a{
    font-size:.9rem !important;
  }
}


/* V18 image-load fallback */
img.image-load-error{
  min-height:180px;
  background:
    linear-gradient(135deg,rgba(194,158,67,.12),rgba(255,255,255,.025)),
    #171717;
  color:#bbb;
}


/* V19 — complete floor-plan rendering */
.floor-canvas{
  width:100%;
  overflow:visible;
}
.floor-canvas>img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
}
.floor-dialog img{
  width:auto;
  height:auto;
  max-width:96vw;
  max-height:94vh;
  object-fit:contain;
}
@media(max-width:700px){
  .floor-layout{
    width:100%;
    overflow-x:auto;
    padding-bottom:12px;
  }
  .floor-canvas{
    min-width:920px;
  }
}


/* V20 — final menu-logo, contact-row, and booking-column layout */

/* Increase the sticky menu logo by approximately 40% while keeping it contained. */
.chapter-nav{
  min-height:104px;
  align-items:center;
}
.chapter-brand{
  flex:0 0 364px !important;
  width:364px !important;
  height:92px !important;
}
.chapter-brand img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.chapter-links{
  min-width:0;
}

/* Keep the agent profile, portrait, and booking form in three clearly separate columns. */
.agent-booking{
  grid-template-columns:minmax(280px,.78fr) minmax(430px,1.08fr) minmax(430px,1fr) !important;
  column-gap:clamp(44px,5vw,88px) !important;
  align-items:center !important;
}
.agent-booking__portrait,
.agent-booking__profile,
.agent-booking__viewing{
  min-width:0;
}
.agent-booking__viewing{
  grid-column:3 !important;
  width:100%;
  margin-left:0 !important;
  margin-right:0 !important;
  transform:none !important;
}

/* Make the phone and email share the full width of the middle column. */
.agent-booking__contact{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:0 !important;
  width:100%;
  margin-top:34px;
  padding-top:0 !important;
  border-top:1px solid rgba(255,255,255,.15);
  border-bottom:1px solid rgba(255,255,255,.15);
}
.agent-booking__contact a{
  display:flex;
  align-items:center;
  min-height:104px;
  padding:22px 24px;
  font-family:var(--serif);
  font-size:clamp(1.35rem,2vw,2.15rem) !important;
  font-weight:400 !important;
  line-height:1.15;
  letter-spacing:0 !important;
  color:#f1d98a;
  overflow-wrap:anywhere;
}
.agent-booking__contact a:first-child{
  border-right:1px solid rgba(255,255,255,.15);
}
.agent-booking__contact a:hover{
  background:rgba(255,255,255,.045);
  color:#fff;
}

@media(max-width:1250px){
  .chapter-brand{
    flex-basis:300px !important;
    width:300px !important;
    height:80px !important;
  }
  .agent-booking{
    grid-template-columns:minmax(260px,.75fr) minmax(380px,1.1fr) minmax(390px,1fr) !important;
    column-gap:32px !important;
  }
  .agent-booking__viewing{
    padding:42px !important;
  }
  .agent-booking__contact a{
    font-size:clamp(1.2rem,1.7vw,1.75rem) !important;
    padding:18px;
  }
}

@media(max-width:1050px){
  .chapter-nav{
    min-height:92px;
  }
  .chapter-brand{
    flex-basis:270px !important;
    width:270px !important;
    height:74px !important;
  }

  .agent-booking{
    grid-template-columns:minmax(250px,.8fr) 1.2fr !important;
  }
  .agent-booking__portrait{
    grid-column:1;
    grid-row:1 / span 2;
  }
  .agent-booking__profile{
    grid-column:2;
    grid-row:1;
  }
  .agent-booking__viewing{
    grid-column:2 !important;
    grid-row:2;
    width:100%;
    margin:0 0 75px !important;
  }
}

@media(max-width:790px){
  .chapter-nav{
    min-height:76px;
  }
  .chapter-brand{
    flex-basis:200px !important;
    width:200px !important;
    height:60px !important;
  }

  .agent-booking{
    display:flex !important;
  }
  .agent-booking__contact{
    grid-template-columns:1fr !important;
  }
  .agent-booking__contact a{
    min-height:78px;
    font-size:1.3rem !important;
  }
  .agent-booking__contact a:first-child{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.15);
  }
  .agent-booking__viewing{
    width:100%;
  }
}


/* V21 — final header, contact, footer, and name styling */
.chapter-brand-text strong,
.agent-booking__profile h2,
.hero-presented strong{
  font-family:"Playfair Display", Georgia, "Times New Roman", serif !important;
}

/* Header/menu reduced by approximately 50%. */
.chapter-nav{
  min-height:52px !important;
  height:52px !important;
  padding:0 2.2vw !important;
  gap:22px !important;
}
.chapter-brand{
  flex:0 0 285px !important;
  width:285px !important;
  height:52px !important;
  padding:0 !important;
}
.chapter-brand-text{
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-decoration:none;
  line-height:1;
  overflow:visible !important;
}
.chapter-brand-text span{
  color:#aaa;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.43rem;
  margin-bottom:4px;
}
.chapter-brand-text strong{
  color:#f1d98a;
  font-size:1.05rem;
  font-weight:400;
  letter-spacing:.03em;
  white-space:nowrap;
}
.chapter-links{
  height:52px;
  align-items:center;
}
.chapter-links>a{
  padding:18px 16px !important;
  font-size:.5rem !important;
}

/* Remove visible internal grid borders, but keep the booking box. */
.agent-booking:before{
  display:none !important;
}
.agent-booking__profile,
.agent-booking__portrait{
  border:0 !important;
}
.agent-booking__contact{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  width:100%;
  margin-top:34px;
  padding:0 !important;
  border:0 !important;
}
.agent-booking__contact a{
  min-height:auto !important;
  border:0 !important;
  padding:0 !important;
  background:transparent !important;
}
.contact-line{
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  width:100%;
  color:#f1d98a !important;
  text-decoration:none;
  font-family:"Playfair Display", Georgia, "Times New Roman", serif;
  font-size:clamp(1.35rem,2vw,2rem) !important;
  line-height:1.2;
}
.contact-line:hover{color:#fff !important}
.contact-icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
}
.contact-icon svg{
  width:100%;
  height:100%;
  fill:#f1d98a;
}
.agent-booking__viewing{
  border:1px solid rgba(194,158,67,.32) !important;
}

/* Footer logo tripled; vertical padding reduced to near zero. */
footer{
  padding:0 4vw !important;
  min-height:0 !important;
}
footer img{
  width:min(780px,92vw) !important;
  max-height:180px !important;
  margin:0 auto !important;
  display:block;
  object-fit:contain;
}
footer p{
  margin:1px 0 !important;
}
footer p:first-of-type{
  font-family:"Playfair Display", Georgia, "Times New Roman", serif;
  color:#d8c47a;
}

@media(max-width:1050px){
  .chapter-nav{height:48px !important;min-height:48px !important}
  .chapter-brand{flex-basis:230px !important;width:230px !important;height:48px !important}
  .chapter-brand-text strong{font-size:.92rem}
  .chapter-links{height:48px}
}
@media(max-width:790px){
  .chapter-nav{height:46px !important;min-height:46px !important;padding:0 10px !important}
  .chapter-brand{flex-basis:165px !important;width:165px !important;height:46px !important}
  .chapter-brand-text span{font-size:.34rem}
  .chapter-brand-text strong{font-size:.72rem}
  .chapter-links{height:46px}
  .chapter-links>a{padding:15px 10px !important;font-size:.45rem !important}
  .contact-line{font-size:1.25rem !important}
  footer img{width:min(600px,96vw) !important}
}

.chapter-brand-text{display:flex;flex-direction:column;justify-content:center;text-decoration:none}.chapter-brand-text .small{text-transform:uppercase;letter-spacing:.18em;font-size:.42rem;color:#aaa}.chapter-brand-text .big{font-family:"Playfair Display",Georgia,serif;font-size:1.08rem;color:#f1d98a}.poi-card{cursor:pointer}


/* V24 booking email + same-page Calendly popup */
.form-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.booking-status{
  min-height:1.4em;
  margin:2px 0 0;
  font-size:.72rem;
  line-height:1.45;
}
.booking-status.loading{color:#d8c47a}
.booking-status.success{color:#9fd7a5}
.booking-status.error{color:#f2a7a7}
#bookingForm button:disabled{
  cursor:wait;
  opacity:.72;
}
