:root{
  --ink:#10212c;--night:#101f29;--deep:#0a1820;--sea:#1a303d;--gold:#d8bb80;--brass:#8c692f;
  --cream:#f8f4eb;--paper:#fffcf5;--linen:#eee7d8;--rule:#d5cab4;--muted:#4c5b60;--pale:#c5c9c5;
  --serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;
  --gutter:clamp(20px,5.25vw,88px);--section:clamp(66px,7.9vw,132px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:18px}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
button,a,input,select{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button,select,input{font:inherit}
button{padding:0;color:inherit;background:none;cursor:pointer;border:0}
:focus-visible{outline:3px solid #ba8940;outline-offset:4px}
img{display:block;max-width:100%}
h1,h2,h3,p,figure,dl,dd,ol{margin:0}
h1,h2,h3,.brand-words>span,.footer-brand{font-family:var(--serif);font-weight:400}
h2{font-size:clamp(49px,5.35vw,87px);letter-spacing:-.058em;line-height:1.03;text-wrap:balance}
h2 em{color:var(--brass);font-weight:400}
h3{line-height:1.12;letter-spacing:-.04em}
p{overflow-wrap:break-word}
.shell{width:min(100%,1630px);margin-inline:auto;padding-inline:var(--gutter)}
.section-pad{padding-block:var(--section)}
.icon{height:1.1em;width:1.1em;display:inline-block;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.eyebrow,.brand-words small,.light-label,.quick-facts dt,.occasion-caption small,.viewer-select,.space-switch button,.plan figcaption,.hero-location,.index-list a::before{font-family:var(--sans);font-size:10px;text-transform:uppercase;font-weight:650;letter-spacing:.17em;line-height:1.5}
.eyebrow{color:var(--gold)}
.eyebrow.line{display:flex;align-items:center;gap:13px}
.eyebrow.line::before{content:"";width:35px;height:1px;flex:none;background:currentColor;opacity:.9}
.ink-label{color:var(--brass)}
.button,.top-enquiry,.share-button,.line-link,.quiet-link{display:inline-flex;align-items:center;justify-content:center;gap:13px;font:600 13px/1.3 var(--sans)}
.button{min-height:50px;padding:14px 23px;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.button.champagne{background:#e4c991;color:#12212a;border-color:#e4c991}
.button.champagne:hover{background:#f0dbaf;border-color:#f0dbaf}
.line-link,.quiet-link{width:max-content;max-width:100%;padding-block:6px;border-bottom:1px solid var(--brass)}
.line-link:hover,.quiet-link:hover,.tower-link:hover{color:var(--brass)}
.skip,.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{width:auto;height:auto;clip-path:none;z-index:50;top:10px;left:10px;padding:9px 17px;background:#fff;color:var(--ink)}
/* Masthead */
.masthead{position:relative;z-index:8;background:var(--night);color:var(--cream);border-bottom:1px solid #7b6e55}
.mast-inner{height:77px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand,.footer-brand{display:inline-flex;align-items:center;gap:13px;flex:none}

.brand-words{display:grid;gap:4px}
.brand-words>span{font-size:27px;line-height:.98;letter-spacing:-.035em}
.brand-words small{color:var(--gold);font-weight:500;font-size:8px;letter-spacing:.225em}
.main-links{display:flex;align-items:center;gap:clamp(22px,3vw,52px)}
.main-links a,.tower-link{font-size:13px}
.main-links a{padding:12px 0;color:#eeeee5}
.main-links a:hover,.top-enquiry:hover,.footer a:hover{color:var(--gold)}
.top-enquiry{white-space:nowrap;min-height:42px;padding:10px 17px;border:1px solid #99885f;color:var(--cream);font-size:12px}
.top-enquiry .icon{color:var(--gold)}
.menu-button{display:none;width:38px;height:42px;align-items:center;justify-content:center}
.menu-button .icon{height:24px;width:24px}
.facts-bar{background:var(--linen);border-bottom:1px solid var(--rule)}
.quick-facts{display:grid;grid-template-columns:.9fr 1.22fr 1fr 1fr;padding-block:25px}
.quick-facts>div{border-left:1px solid #cfc0a3;padding-left:clamp(15px,3.5vw,58px);display:flex;flex-direction:column;justify-content:center;gap:5px}
.quick-facts>div:first-child{border-left:0;padding-left:0}
.quick-facts dt{font-size:9px;color:#67532f;letter-spacing:.155em}
.quick-facts dd{font:400 clamp(26px,2.25vw,37px)/1 var(--serif);letter-spacing:-.05em;white-space:nowrap}
.quick-facts small,.quick-facts sup{font:.56em/1 var(--serif);letter-spacing:0}
.quick-facts sup{vertical-align:super}
.section-lead{display:flex;justify-content:space-between;align-items:flex-end;gap:5%;margin-bottom:clamp(28px,3.4vw,58px)}
.section-lead .eyebrow,.enquiry-inner .eyebrow{margin-bottom:15px}
.section-lead>p{color:var(--muted);font-size:clamp(15px,1.15vw,18px);line-height:1.75}
.section-lead>p{max-width:465px;padding-bottom:4px}
.space-feature{display:grid;grid-template-columns:1.4fr 1fr;background:var(--paper);border:1px solid var(--rule)}
.space-image,.photo-expand{position:relative;display:block;overflow:hidden}
.space-image{min-height:365px}
.space-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.expand-tag{position:absolute;bottom:15px;right:15px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;font-size:11px;color:white;background:rgba(11,25,31,.8);border:1px solid #d8cba779}
.space-details{padding:clamp(24px,3.8vw,67px);display:flex;align-items:flex-start;flex-direction:column}
.space-switch{display:flex;gap:clamp(12px,1.7vw,30px);border-bottom:1px solid var(--rule);width:100%}
.space-switch button{position:relative;min-height:37px;font-size:10px;letter-spacing:.075em;color:var(--muted);white-space:nowrap}
.space-switch button[aria-pressed=true]{color:var(--ink)}
.space-switch button[aria-pressed=true]::after{position:absolute;inset:auto 0 -1px;height:2px;content:"";background:var(--brass)}
.space-text{padding-block:clamp(20px,2.1vw,37px) clamp(18px,2vw,34px)}
.space-text .eyebrow{color:var(--brass);font-size:9px;margin-bottom:10px}
.space-text h3{font-size:clamp(34px,3vw,51px);margin-bottom:13px}
.space-text>p:last-child{color:var(--muted);line-height:1.68}
.space-details>.line-link{margin-top:auto}
/* Photography */
.gallery{background:var(--night);color:var(--paper)}
.gallery h2 em,.enquiry-section h2 em{color:var(--gold)}
.gallery-heading{align-items:flex-end}
.button.thin{border-color:#8e805e;color:#f5e9d0;font-weight:500}
.button.thin:hover{background:var(--sea);border-color:var(--gold)}
.occasion-grid{display:grid;grid-template:repeat(2,minmax(0,1fr)) / 1.14fr 1fr;gap:13px;height:clamp(440px,40vw,630px)}
.occasion,.occasion-caption{position:relative;display:block;overflow:hidden}
.occasion img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.occasion:hover img{transform:scale(1.035)}
.card-wine{grid-row:span 2}
.card-wine img{object-position:51% 50%}
.card-birthday img{object-position:50% 47%}
.card-business img{object-position:49% 42%}
.occasion::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,12,18,.87),rgba(3,12,18,.12) 40%,transparent 74%)}
.occasion-caption{position:absolute;z-index:1;inset:auto 0 0;padding:clamp(17px,2vw,34px);display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.occasion-caption small{display:block;font-size:9px;letter-spacing:.17em;color:#e7c990;margin-bottom:5px}
.occasion-caption strong{font:400 clamp(25px,2.3vw,42px)/1.1 var(--serif);letter-spacing:-.04em}
.card-wine .occasion-caption strong{font-size:clamp(31px,3.2vw,56px)}
.occasion-caption .icon{width:23px;height:23px;color:#efdbb2}
.image-index{border-block:1px solid #4c5557;margin-top:20px}
.image-index summary{font:500 14px var(--sans);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:53px;padding:8px 1px}
.image-index summary::-webkit-details-marker{display:none}
.image-index summary span{position:relative;width:15px;height:15px}
.image-index summary span::before,.image-index summary span::after{content:"";position:absolute;inset:7px 0 auto;height:1px;background:var(--gold)}
.image-index summary span::after{transform:rotate(90deg)}
.image-index[open] summary span::after{transform:rotate(0deg)}
.index-list{counter-reset:item;display:grid;grid-template-columns:repeat(2,1fr);column-gap:30px;padding:0 0 21px}
.index-list a{counter-increment:item;padding:9px 0;font-size:14px;color:#f2e9d9}
.index-list a::before{content:counter(item,decimal-leading-zero);margin-right:12px;color:var(--gold)}
.index-list a:hover{text-decoration:underline;text-underline-offset:3px}

.illustration-note{color:#c2c4bd;font-size:12px;line-height:1.55;margin-top:29px}
/* Plan and purchase */
.layout-section{background:#f0eadd}
.concept-pair{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(0,1fr);gap:clamp(14px,1.6vw,26px)}
.plan{display:flex;flex-direction:column;min-width:0;border-top:1px solid #b6a482;border-bottom:1px solid #b6a482}
.plan .photo-expand{flex:1;display:grid;place-items:center;background:#e6dfd0;min-width:0}
.plan-model img{width:100%;height:auto}
.terrace-study img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% 50%}
.plan figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px 12px;padding:13px 0 15px;font-size:11px;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--muted)}
.plan figcaption strong{font:400 clamp(19px,1.7vw,28px)/1.15 var(--serif);letter-spacing:-.035em;color:var(--ink)}
.plan figcaption span{font:400 12px/1.45 var(--sans);color:#64573f}
.ownership-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #a28c62;gap:clamp(38px,6vw,115px);padding-top:29px}
.ownership-grid h3{font-size:clamp(29px,2.45vw,44px);margin-bottom:18px}
.property-facts dl>div,.deposit-list li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:14px}
.property-facts dt,.deposit-note,.deposit-list small{color:var(--muted)}
.property-facts dd{text-align:right}
.deposit-list{padding:0;list-style:none}
.deposit-list strong{font:400 20px/1.25 var(--serif);color:#765821;text-align:right;white-space:nowrap}
.deposit-list small{display:block;font-size:12px;line-height:1.5;margin-top:4px}
.deposit-note{font-size:12px;line-height:1.55;margin-top:18px}
.enquiry-section{position:relative;background:var(--sea);color:var(--paper);padding-block:clamp(61px,6.6vw,110px);border-top:1px solid #958561}
.enquiry-inner{display:grid;grid-template-columns:1.5fr .65fr;align-items:center;gap:8%}
.enquiry-inner h2{font-size:clamp(49px,5vw,82px)}
.enquiry-inner>div>p:not(.eyebrow){max-width:530px;color:#d6dddc;line-height:1.65;margin-top:17px}
.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 27px;margin-top:26px}
.share-button{font-weight:500;min-height:42px;color:#f2dfb5}
.share-button:hover{text-decoration:underline}
#share-result{font-size:14px;color:#efe1c3}
#share-result:not(:empty){margin-top:12px}
#share-result input{padding:5px;background:var(--paper);color:var(--ink);width:min(100%,370px)}
.enquiry-inner address{border-left:1px solid #857957;padding:14px 0 14px clamp(20px,3.2vw,58px);font-style:normal}
.enquiry-inner address strong,.enquiry-inner address span{display:block}
.enquiry-inner address strong{font:400 26px/1.3 var(--serif);letter-spacing:-.03em;margin-bottom:9px}
.enquiry-inner address span{font-size:14px;color:#d5dddb}
.enquiry-inner address a,.tower-link{display:inline-flex;align-items:center;gap:8px}
.enquiry-inner address a{margin-top:15px;font-size:13px;color:var(--gold);border-bottom:1px solid #91815d}
.footer{background:var(--deep);color:var(--paper);padding-block:26px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-brand{font-size:23px;letter-spacing:-.035em}
.footer-inner p{color:#d3d6cf;font-size:11px;line-height:1.65}
.footer-inner p span{color:#b7b7a9}
.tower-link{color:#e4c990}
.contact-fallback{padding-block:40px}
.contact-fallback h2{font-size:35px}
html.dialogs-ready .contact-fallback{display:none}
.contacts{list-style:none;padding:0;margin:20px 0 0}
.contacts li{display:grid;grid-template-columns:1fr auto;gap:2px 14px;border-top:1px solid var(--rule);padding:13px 0}
.contacts strong{font-weight:500}
.contacts a{font-size:14px;color:#695020;overflow-wrap:anywhere}
.contacts a:last-child{grid-column:1/-1}
.contacts a:hover{text-decoration:underline}
/* Full, uncropped photography */
dialog{padding:0;border:0;max-width:none;color:var(--ink)}
dialog:not([open]){display:none}
dialog::backdrop{background:rgba(5,14,20,.88)}
.icon-button,.image-nav{display:inline-grid;place-items:center;width:43px;height:43px;color:inherit;border:1px solid #948666}
.icon-button:hover,.image-nav:hover{border-color:var(--gold);background:#34424a}
.icon-button .icon,.image-nav .icon{width:20px;height:20px}
.viewer[open]{position:fixed;inset:0;margin:auto;width:min(1450px,96vw);height:min(94vh,1040px);height:min(94dvh,1040px);max-height:100dvh;border:1px solid #7f755c;background:#0d1b25;color:var(--paper);overflow:hidden}
.viewer-inner{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.viewer-top{min-height:51px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 12px 5px 18px;border-bottom:1px solid #34414a}
.viewer-top .eyebrow span{margin-inline:6px;opacity:.65}
.viewer .icon-button{width:37px;height:37px}
.viewer-stage{min-height:0;position:relative;display:flex;align-items:center;justify-content:center;background:#09141c;touch-action:pan-y}
.viewer-stage img{display:block;width:100%;height:100%;object-fit:contain}
.image-nav{position:absolute;top:50%;transform:translateY(-50%);color:white;background:#10212cdd;border-color:#c2b499}
.image-nav.previous{left:10px}.image-nav.next{right:10px}
.viewer-meta{padding:13px 20px 15px;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,215px);align-items:center;gap:20px;border-top:1px solid #34414a}
.viewer-title-line{display:flex;align-items:baseline;gap:11px}
.viewer-title-line>span{font-size:11px;color:var(--gold);white-space:nowrap}
.viewer h2{font-size:clamp(22px,2.2vw,35px);letter-spacing:-.035em;text-wrap:initial}
.viewer-caption p{color:#d4d8d6;font-size:13px;line-height:1.48;margin-top:5px}
.viewer-select{color:var(--gold);font-size:8px}
.viewer-select select{width:100%;margin-top:3px;height:34px;border:1px solid #857b65;color:var(--paper);background:#142832;padding:3px 6px;font:12px var(--sans);letter-spacing:0}
.contact-dialog[open]{position:fixed;inset:0;margin:auto;width:min(92vw,510px);max-height:92vh;max-height:92dvh;overflow:auto;background:var(--paper);padding:25px clamp(20px,3vw,38px) 22px;border:1px solid #ad955e}
.contact-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.contact-dialog-head .eyebrow{color:var(--brass)}
.contact-dialog .icon-button{width:36px;height:36px;border-color:var(--rule)}
.contact-dialog .icon-button:hover{background:var(--linen)}
.contact-dialog h2{font-size:clamp(38px,4vw,53px);margin:9px 0 11px}
.contact-dialog>p{color:var(--muted);font-size:14px}
@media(max-width:980px){
  .mast-inner{gap:15px}.main-links{gap:22px}.brand{gap:9px}
  .space-details{padding:28px}.quick-facts>div{padding-left:21px}
  .space-switch{gap:15px}.hero-inner{padding-block:65px 96px}
}
@media(max-width:780px){
  .mast-inner{height:65px;gap:13px}.brand{margin-right:auto}.brand-words>span{font-size:24px}
  .js .menu-button{display:inline-flex}
  .js .main-links{display:none;position:absolute;top:100%;inset-inline:0;background:var(--night);border-bottom:1px solid #897957;padding:9px var(--gutter) 15px}
  .js .main-links.open{display:grid;gap:0}.js .main-links a{border-top:1px solid #354752;padding:10px 0}
  html:not(.js) .main-links{display:none}
  .top-enquiry{font-size:11px;min-height:36px;padding:8px 12px}
  .hero{min-height:clamp(515px,75svh,760px)}.hero-copy{width:min(650px,84%)}.hero h1{font-size:clamp(80px,13.4vw,105px)}
  .hero h1 span{font-size:clamp(35px,6.3vw,57px)}
  .quick-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:9px}
  .quick-facts>div{padding:13px 10px 13px 0}
  .quick-facts>div:nth-child(even){border-left:1px solid #cfc0a3;padding-left:20px}
  .quick-facts>div:nth-child(odd){border-left:0}
  .quick-facts>div:nth-child(-n+2){border-bottom:1px solid #cfc0a3}
  .quick-facts dd{font-size:clamp(24px,4.8vw,33px)}
  .section-lead{align-items:flex-start;flex-direction:column;gap:19px}.section-lead>p{max-width:620px}
  .space-feature{grid-template-columns:1fr}.space-image{min-height:0;aspect-ratio:16/9}
  .space-details{padding:24px}.space-switch{gap:28px}.space-text{padding:18px 0}.space-text h3{margin-bottom:9px}
  .gallery-heading{flex-direction:row;align-items:flex-end;gap:16px}
  .occasion-grid{height:455px}.occasion-caption{padding:14px}
  .ownership-grid{grid-template-columns:1fr}
  .ownership-grid{gap:32px}.enquiry-inner{grid-template-columns:1.35fr .75fr;gap:28px}
}
@media(max-width:700px){
  .concept-pair{grid-template-columns:1fr;gap:22px}
  .terrace-study .photo-expand{aspect-ratio:16 / 9}
}
@media(max-width:600px){
  :root{--gutter:clamp(18px,5.4vw,28px);--section:65px}
  .mast-inner{gap:8px}.brand-words small{font-size:7px}
  .hero{min-height:clamp(544px,78svh,690px)}.hero-photo{object-position:59% 50%}
  .hero-shade{background:linear-gradient(90deg,rgba(8,19,26,.7),rgba(10,20,27,.45) 56%,rgba(10,20,26,.17)),linear-gradient(0deg,rgba(8,19,25,.93),transparent 30%,transparent 72%)}
  .hero-inner{padding-block:64px 101px}.hero-copy{width:100%}
  .hero-kicker{font-size:9px;margin-bottom:21px}.hero h1{font-size:clamp(64px,14.5vw,85px)}.hero h1 span{font-size:clamp(32px,7.5vw,47px);margin-top:10px}
  .hero-desc{max-width:320px;margin-top:21px}.hero-cta{gap:20px;margin-top:23px}.button{min-height:45px;padding:12px 15px;font-size:12px}
  .quiet-link{font-size:12px}.hero-foot{bottom:15px;display:block;padding-top:7px}.hero-location{display:none}.light-picker{justify-content:flex-start}.light-picker button{min-height:35px;padding-inline:7px}
  .section-lead .eyebrow,.enquiry-inner .eyebrow{margin-bottom:11px}
  .section-lead{gap:15px}.space-details{padding:18px 19px 23px}
  .gallery-heading{display:flex;flex-direction:column;align-items:flex-start;gap:17px}
  .occasion-grid{height:auto;display:grid;grid-template:initial;grid-template-columns:1fr;gap:13px}
  .occasion{grid-row:auto;aspect-ratio:1.7}.card-wine{aspect-ratio:1.4}.occasion-caption{padding:16px}
  .card-wine .occasion-caption strong{font-size:31px}
  .index-list{grid-template-columns:1fr;gap:0}

  .enquiry-inner{grid-template-columns:1fr}.enquiry-inner address{margin-top:5px;border-left:0;border-top:1px solid #857957;padding:19px 0 0}
  .footer-inner{display:flex;flex-wrap:wrap;gap:17px 25px}.footer-brand{font-size:21px}.footer-inner p{order:3;width:100%;padding-top:12px;border-top:1px solid #34434a}.tower-link{font-size:12px;margin-left:auto}
  .viewer[open]{width:100%;height:100vh;height:100dvh;border:0}.viewer-inner{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  .viewer-meta{grid-template-columns:1fr;gap:9px;padding:11px 14px 13px}.viewer-select{display:flex;align-items:center;gap:8px}.viewer-select select{width:min(220px,72%);margin:0}
  .viewer-title-line{gap:8px}.viewer-caption p{font-size:12px}.image-nav{width:35px;height:42px}.image-nav.previous{left:5px}.image-nav.next{right:5px}
}
@media(max-width:425px){
  .light-label{display:none}.light-picker{gap:8px}.light-picker button:first-of-type{padding-left:0}
  .quick-facts>div{padding-right:2px}.quick-facts>div:nth-child(even){padding-left:12px}
  .quick-facts dd{font-size:clamp(22px,5.8vw,25px);white-space:normal}
  .quick-facts .size-number,.quick-facts small{white-space:nowrap}
}
@media(max-width:365px){
  .mast-inner{padding-inline:11px 8px;gap:5px}.menu-button{width:30px;min-width:28px}
  .brand-words>span{font-size:20px}.brand{gap:5px}.top-enquiry{padding-inline:8px}.top-enquiry .icon{display:none}
  .hero-cta{gap:14px}.light-label{margin-right:2px}.light-picker{gap:0}
  .quick-facts dd{font-size:22px}.property-facts dl>div,.deposit-list li{font-size:13px}

}
@media(max-height:540px) and (orientation:landscape){
  .hero{min-height:425px}.hero-inner{padding-block:45px 78px}.hero h1{font-size:75px}.hero h1 span{font-size:38px}
  .viewer[open]{width:100%;height:100vh;height:100dvh;border:0}.viewer-top{min-height:35px;padding:2px 10px}.viewer .icon-button{height:30px;width:33px}
  .viewer-meta{padding:6px 14px;grid-template-columns:minmax(0,1fr) minmax(130px,180px);gap:10px}.viewer h2{font-size:22px}.viewer-caption p{font-size:11px;margin-top:2px}.viewer-select select{height:28px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* The photographs and diagrams form an architectural prospectus. */
[hidden] { display: none !important; }
.mast-inner { height: 66px; }
.main-links { gap: clamp(16px, 2.7vw, 48px); }
.opening { background: var(--paper); }
.opening-lead { display: grid; grid-template-columns: minmax(0,1fr) minmax(170px,244px); gap: clamp(25px,5vw,85px); align-items: end; padding-block: clamp(24px,3.1vw,51px) clamp(21px,2.6vw,43px); }
.opening-lead .eyebrow { margin-bottom: 9px; }
.opening h1 { font: 400 clamp(48px,5.85vw,100px)/.99 var(--serif); letter-spacing: -.067em; text-wrap: balance; }
.opening h1 em { display: inline-block; color: var(--brass); font-weight: 400; }
.opening-detail { border-left: 1px solid var(--rule); padding: 2px 0 2px 22px; }
.opening-detail p { font-size: 14px; line-height: 1.45; color: var(--muted); }
.opening-detail .line-link { margin-top: 5px; font-size: 12px; }
.perspective { background: var(--night); color: var(--paper); }
.perspective-top, .perspective-credit { display: flex; align-items: center; justify-content: space-between; }
.perspective-top { min-height: 49px; gap: 17px; }
.view-label { display: flex; align-items: center; gap: 10px; font: 600 10px/1.3 var(--sans); letter-spacing: .13em; text-transform: uppercase; color: var(--gold); }
.view-dot { height: 9px; width: 9px; border: 1px solid var(--gold); transform: rotate(45deg); }
.view-switch { display: flex; flex-wrap: wrap; align-items: stretch; gap: clamp(14px,2.5vw,43px); }
.view-switch button { font: 500 13px/1.25 var(--sans); border-bottom: 2px solid transparent; min-height: 49px; color: #d9ddd9; }
.view-switch button[aria-pressed="true"] { border-color: var(--gold); color: #f5dba1; }
.view-switch button:hover { color: white; }
.perspective-stage { display: block; width: 100%; height: clamp(310px,38vw,700px); position: relative; background: #09171e; overflow: hidden; }
.perspective-stage img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; }
.perspective-stage.framed img { object-fit: contain; }
.hero-full { position: absolute; bottom: 16px; right: var(--gutter); display: inline-flex; align-items: center; gap: 8px; font-size: 12px; padding: 7px 12px; border: 1px solid #d8cba790; background: #10212cda; color: white; }
.perspective-credit { gap: 18px; min-height: 53px; padding-block: 9px; font-size: 12px; color: #ced3cf; }
.perspective-credit p { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 15px; }
.perspective-credit b { font-weight: 500; font-family: var(--serif); font-size: 18px; color: var(--paper); }
.perspective-credit a { display: inline-flex; align-items: center; gap: 8px; color: var(--gold); white-space: nowrap; }
.quick-facts { padding-block: 24px; }
.arrival-story { background: var(--paper); }
.arrival-story .section-lead h2 { max-width: 800px; }
.arrival-images { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(15px,2.4vw,39px); }
.arrival-images figure { min-width: 0; }
.arrival-images .photo-expand { aspect-ratio: 16 / 9; display: grid; place-items: center; background: var(--night); }
.arrival-images img { width: 100%; height: 100%; object-fit: cover; }
.arrival-images [data-photo="tower-boulevard"] img,
.arrival-images [data-photo="roofline-centred"] img { object-fit: contain; }
.arrival-images figcaption { margin-top: 15px; display: grid; gap: 3px; }
.arrival-images figcaption span, .concept-plate figcaption span { font-size: 10px; font-weight: 650; letter-spacing: .13em; text-transform: uppercase; color: var(--brass); }
.arrival-images figcaption strong, .concept-plate figcaption strong { font: 400 clamp(25px,2.15vw,37px)/1.22 var(--serif); letter-spacing: -.04em; }
.arrival-images figcaption p { color: var(--muted); font-size: 14px; }
.arrival-foot, .plate-note { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 15px 30px; padding-block: 21px 0; margin-top: 26px; border-top: 1px solid var(--rule); }
.arrival-foot p { display: grid; gap: 2px; font-size: 14px; color: var(--muted); }
.arrival-foot strong { color: var(--ink); font-weight: 600; }
.spaces { background: #eee9dc; }
.space-switch { flex-wrap: wrap; gap: 0 clamp(16px,1.4vw,28px); }
.layout-section { background: var(--cream); }
.concept-wide { border: 1px solid var(--rule); padding: clamp(4px,.55vw,9px); background: var(--paper); }
.concept-wide img { width: 100%; height: auto; }
.concept-plate { display: grid; grid-template-columns: 1.32fr 1fr; gap: clamp(12px,1.5vw,26px); margin-top: clamp(12px,1.5vw,26px); }
.concept-plate figure { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--rule); min-width: 0; }
.concept-plate .photo-expand { flex: 1; min-height: 0; }
.concept-plate .photo-expand img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1.8; }
.concept-plate .drawing img { object-fit: contain; background: #f0e8dd; }
.concept-plate figcaption { border-top: 1px solid var(--rule); padding: 11px 16px; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; }
.plate-note p, .travel-note { color: var(--muted); font-size: 12px; }
.plate-note { margin-top: 16px; }
.occasions-intro { color: #dce1db; max-width: 730px; margin: -8px 0 24px; font-size: 16px; }
.occasion-grid.service-grid { height: auto; grid-template-columns: repeat(6,minmax(0,1fr)); grid-template-rows: auto; gap: clamp(13px,1.5vw,25px); }
.service-grid .occasion { grid-row: auto; grid-column: span 2; aspect-ratio: 1.5; }
.service-grid .card-breakfast, .service-grid .card-wine { grid-column: span 3; }
.service-grid .card-wine img, .service-grid .card-breakfast img { object-fit: contain; background: var(--night); }
.service-grid .occasion-caption strong { font: 400 clamp(22px,2.5vw,42px)/1.12 var(--serif); }
.index-groups { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 17px 28px; padding: 18px 0; }
.index-group { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.index-group h3 { color: var(--gold); font-size: 18px; letter-spacing: -.02em; margin-bottom: 1px; }
.index-group a { font-size: 13px; color: var(--paper); text-decoration: underline; text-decoration-color: #52616b; text-underline-offset: 4px; }
.index-group a:hover { color: var(--gold); }
.neighbourhood { background: var(--paper); }
.map-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 13px; }
.map-switch { display: inline-flex; border: 1px solid var(--rule); background: var(--cream); }
.map-switch button { min-height: 39px; font: 600 12px/1.3 var(--sans); padding: 8px 15px; }
.map-switch button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.map-frame { border: 1px solid var(--rule); background: #e3e0d4; position: relative; }
.map-frame figure img { width: 100%; height: auto; }
.map-frame iframe { display: block; border: 0; width: 100%; aspect-ratio: 1980/858; min-height: 285px; }
.map-caption { display: flex; justify-content: space-between; align-items: baseline; gap: 8px 18px; flex-wrap: wrap; margin: 12px 0 26px; }
.map-caption address { font: 400 clamp(17px,1.55vw,25px)/1.4 var(--serif); }
.map-caption span { font-size: 12px; color: var(--muted); }
.travel-times { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: 15px 0; }
.travel-times > div { border-left: 1px solid var(--rule); padding: 2px 15px 2px clamp(15px,2.8vw,48px); }
.travel-times > div:first-child { border-left: 0; padding-left: 0; }
.travel-times dt { color: var(--muted); font-weight: 600; font-size: 12px; }
.travel-times dd { font: 400 clamp(25px,2.7vw,45px)/1.05 var(--serif); letter-spacing: -.04em; }
.travel-times small { font-size: .55em; }
.travel-note { margin-top: 8px; }
.partners-section { background: var(--paper); }
.partner-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
.partner { padding: clamp(14px,1.4vw,26px); display: grid; gap: 12px; grid-template-columns: 1fr 14px; align-items: center; min-width: 0; border-bottom: 1px solid var(--rule); border-right: 1px solid var(--rule); }
.partner:hover { background: var(--linen); }
.partner-logo { display: grid; align-items: center; justify-items: center; padding: 12px; height: 78px; grid-column: 1/-1; background: white; }
.partner-logo.on-navy { background: #132b3a; }
.partner-logo img { max-width: 100%; width: auto; height: auto; max-height: 54px; }
.partner-info { display: grid; gap: 4px; }
.partner-info strong { font: 400 clamp(17px,1.5vw,25px)/1.15 var(--serif); letter-spacing: -.025em; }
.partner-info small { font-size: 12px; color: var(--muted); }
.partner .icon { color: var(--brass); width: 15px; }
@media(max-width:980px) {
  .opening-lead { grid-template-columns: minmax(0,1fr) 189px; gap: 20px; }
  .partner-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:780px) {
  .opening-lead { grid-template-columns: 1fr; gap: 13px; }
  .opening-detail { border: 0; padding: 0; display: flex; justify-content: space-between; align-items: baseline; gap: 17px; }
  .opening-detail .line-link { white-space: nowrap; margin-top: 0; }
  .perspective-top { align-items: flex-start; flex-direction: column; gap: 0; padding-top: 10px; }
  .view-switch { width: 100%; gap: 0; justify-content: space-between; }
  .view-switch button { min-height: 39px; font-size: 12px; }
  .perspective-credit a { display: none; }
  .quick-facts { padding-block: 9px; }
}
@media(max-width:620px) {
  .opening-lead { padding-top: 22px; padding-bottom: 18px; }
  .opening h1 { font-size: clamp(47px,10.8vw,68px); }
  .opening-detail { display: block; }
  .opening-detail p { max-width: 340px; }
  .opening-detail .line-link { margin-top: 4px; }
  .view-label { font-size: 9px; }
  .view-switch { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); column-gap: 4px; }
  .view-switch button { min-height: 40px; font-size: 11px; text-wrap: balance; }
  .perspective-stage { height: clamp(233px,65vw,350px); }
  .perspective-stage.framed img { object-fit: contain; }
  .hero-full { right: 10px; bottom: 10px; padding: 5px 8px; }
  .hero-full span { font-size: 10px; }
  .perspective-credit p { display: grid; gap: 1px; }
  .perspective-credit b { font-size: 16px; }
  .arrival-images,.concept-plate,.occasion-grid.service-grid { grid-template-columns: minmax(0,1fr); }
  .arrival-images { gap: 25px; }
  .service-grid .occasion { grid-column: 1 / -1; }
  .concept-plate .photo-expand img { height: auto; aspect-ratio: auto; }
  .arrival-foot,.plate-note { align-items: flex-start; }
  .map-toolbar { flex-wrap: wrap; justify-content: flex-start; gap: 8px 16px; }
  .map-switch button { padding-inline: 10px; }
  .map-toolbar .line-link { font-size: 12px; }
  .travel-times { grid-template-columns: 1fr 1fr; row-gap: 14px; }
  .travel-times>div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .partner { padding: 12px; }
  .partner-logo { height: 65px; padding: 7px; }
  .partner-logo img { max-height: 45px; }
  .partner-info small { font-size: 11px; }
  .occasions-intro { margin-top: 0; }
}
@media(max-width:365px) {
  .perspective-top,.perspective-credit { padding-inline: 11px; }
  .view-switch button { min-height: 42px; }
  .space-switch { gap: 0 14px; }
  .partner-grid { grid-template-columns: 1fr; }
}
@media(min-width:781px) and (max-width:1020px) {
  .mast-inner { gap: 12px; }
  .main-links { gap: 12px; }
  .main-links a { font-size: 12px; }
  .brand-words>span { font-size: 22px; }
  .top-enquiry { padding-inline: 10px; }
}
/* The two-page brief opens locally, including in the private download. */
.brief-reader[open] { position: fixed; inset: 0; margin: auto; display: flex; flex-direction: column; width: min(1020px,96vw); height: min(94vh,1160px); height: min(94dvh,1160px); max-height: 100dvh; border: 1px solid #8d7c57; background: var(--night); color: var(--paper); overflow: hidden; }
.brief-head,.brief-tools { flex: none; display: flex; align-items: center; gap: 12px; padding: 10px clamp(13px,2vw,28px); }
.brief-head { justify-content: space-between; border-bottom: 1px solid #554f41; }
.brief-head h2 { font-size: clamp(24px,2.6vw,38px); letter-spacing: -.045em; }
.brief-head p { font-size: 8px; margin-bottom: 3px; }
.brief-pages { overflow: auto; min-height: 0; flex: 1; background: #dbd1bd; padding: clamp(6px,1.3vw,18px); }
.brief-pages figure { background: var(--paper); box-shadow: 0 3px 11px #07131a38; }
.brief-pages figure+figure { margin-top: 12px; }
.brief-pages img { display: block; width: 100%; height: auto; }
.brief-tools { border-top: 1px solid #554f41; flex-wrap: wrap; }
.brief-tools .button { min-height: 38px; padding: 7px 14px; }
.brief-tools span { margin-left: auto; color: var(--pale); font-size: 11px; }
@media(max-width:600px){.brief-reader[open]{width:100%;height:100dvh;border:0}.brief-tools{gap:8px}.brief-tools span{font-size:10px}.brief-tools .button{padding:7px 10px}}
@media print {
  @page { size: letter landscape; margin: 0; }
  body:has(.brief-reader[open]) { margin:0; overflow:visible; background:white; }
  body:has(.brief-reader[open]) > :not(.brief-reader) { display:none !important; }
  .brief-reader[open] { position:static; display:block; width:100%; height:auto; max-height:none; max-width:none; border:0; padding:0; margin:0; overflow:visible; background:white; box-shadow:none; }
  .brief-reader[open]::backdrop,.brief-reader .brief-head,.brief-reader .brief-tools { display:none; }
  .brief-pages { display:block; overflow:visible; padding:0; background:white; }
  .brief-pages figure { margin:0; box-shadow:none; break-inside:avoid; }
  .brief-pages figure+figure { margin:0; break-before:page; }
  .brief-pages img { width:100%; height:auto; max-height:100vh; object-fit:contain; }
}
