/* Layout concept: a Georgian street front. Arch-framed photographs, hairline rules,
   generous margins, green-black ink on Portland stone, brass for the details. */
:root{
  --bg:#f6f2ea;        /* Portland stone */
  --bg-alt:#ede6d9;    /* deeper stone band */
  --paper:#fcfaf6;     /* cards, forms */
  --ink:#1f2b26;       /* green-black ink */
  --muted:#5d6862;     /* secondary text */
  --brass:#9a7b55;     /* accent lines, icons */
  --brass-ink:#7a5f3f; /* accent used as small text (AA on stone) */
  --line:#dcd2c1;
  --deep:#1f2b26;      /* invest band */
  --on-deep:#efe8da;
  --on-deep-muted:#b7b9ab;
  --deep-line:#3a4842;
  --river:#d9e1dc;
  --road:#e7dcc9;
  --pin-coffee:#3f6a52;
  --pin-eat:#9b3f36;
  --pin-see:#8a6a42;
  --pin-transport:#5a6670;
  --glow:#e9c98f;      /* warm highlight */
  --m-land:#f3eee5;--m-road:#ffffff;--m-case:#ddd3c2;--m-water:#c9d8dc;--m-park:#dce6d2;--m-bldg:#e6dccb;--m-bldg-major:#d9c39b;--m-label:#6b6355;
  --gold:#8a6a40;      /* logo */
  --shadow:0 30px 60px -38px rgba(31,43,38,.45);
  --font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-body:Jost,"Helvetica Neue",Arial,system-ui,sans-serif;
  --gutter:max(16px,env(safe-area-inset-left,0px));
  --gutter-r:max(16px,env(safe-area-inset-right,0px));
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#121612;--bg-alt:#181e1a;--paper:#1b211d;--ink:#ece6da;--muted:#a9ada1;--brass:#c4a77c;--brass-ink:#cdb289;--line:#2d3530;
  --deep:#0c100d;--on-deep:#ece6da;--on-deep-muted:#a3a698;--deep-line:#2a332e;--river:#1f2d2a;--road:#2a2f2a;
  --pin-coffee:#6fa086;--pin-eat:#c9776c;--pin-see:#c4a77c;--pin-transport:#8d99a3;--glow:#f0c97c;--gold:#cdb083;--m-land:#171c18;--m-road:#2b322d;--m-case:#0f1310;--m-water:#1d2c2f;--m-park:#1c271d;--m-bldg:#232922;--m-bldg-major:#4a3f2c;--m-label:#a59e8e;--shadow:0 30px 60px -38px rgba(0,0,0,.8);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#121612;--bg-alt:#181e1a;--paper:#1b211d;--ink:#ece6da;--muted:#a9ada1;--brass:#c4a77c;--brass-ink:#cdb289;--line:#2d3530;
  --deep:#0c100d;--on-deep:#ece6da;--on-deep-muted:#a3a698;--deep-line:#2a332e;--river:#1f2d2a;--road:#2a2f2a;
  --pin-coffee:#6fa086;--pin-eat:#c9776c;--pin-see:#c4a77c;--pin-transport:#8d99a3;--glow:#f0c97c;--gold:#cdb083;--m-land:#171c18;--m-road:#2b322d;--m-case:#0f1310;--m-water:#1d2c2f;--m-park:#1c271d;--m-bldg:#232922;--m-bldg-major:#4a3f2c;--m-label:#a59e8e;--shadow:0 30px 60px -38px rgba(0,0,0,.8);color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:300 16px/1.65 var(--font-body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:60}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:-.005em}
h2{font-size:clamp(34px,4.6vw,54px)}
.h2-sm{font-size:clamp(28px,3.2vw,40px)}
p{margin:0}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--gutter);top:-60px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 16px;text-decoration:none}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 10px)}
.wrap{max-width:1200px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}
@media (min-width:720px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}
.eyebrow{font:400 11px/1.4 var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--brass-ink);margin:0 0 12px}
.muted{color:var(--muted)}
.fine{font-size:12px;line-height:1.6;color:var(--muted)}
.sel{user-select:all;-webkit-user-select:all;font-weight:400}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:15px 26px;font:400 12px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .25s,color .25s}
.btn:hover{background:transparent;color:var(--ink)}
.btn:disabled{opacity:.6;cursor:wait}
.btn-sm{padding:11px 18px;font-size:11px}
.btn-block{width:100%}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--bg)}
.btn-light{background:var(--on-deep);color:var(--deep);border-color:var(--on-deep)}
.btn-light:hover{background:transparent;color:var(--on-deep)}
.text-link{display:inline-block;background:none;border:0;padding:0 0 3px;border-bottom:1px solid var(--brass);font:400 11px/1.4 var(--font-body);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--ink);cursor:pointer}
.text-link:hover{border-color:var(--ink)}
.linklike{background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
.chip-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:9px 16px;font:300 14px/1 var(--font-body);cursor:pointer}
.chip-btn[aria-selected="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* Navigation */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.scrolled{border-color:var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--gold)}
.brand-bee{width:46px;height:27px;flex:none}
.brand-word{display:grid;justify-items:center;gap:5px}
.brand-word b{font:400 21px/1 var(--font-display);letter-spacing:.24em;margin-right:-.24em;text-transform:uppercase;white-space:nowrap}
.brand-word i{display:flex;align-items:center;gap:8px;font:300 8.5px/1 var(--font-body);font-style:normal;letter-spacing:.62em;margin-right:-.62em;text-transform:uppercase;max-height:10px;overflow:hidden;transition:max-height .3s,opacity .3s}
.brand-word i::before,.brand-word i::after{content:"";width:16px;height:1px;background:currentColor;opacity:.7}
.brand-word i::after{margin-left:-.62em}
.nav.scrolled .brand-word i{max-height:0;opacity:0}
.nav.scrolled .brand-word{gap:0}
.links{display:flex;align-items:center;gap:30px;font-size:14px}
.links a:not(.btn){text-decoration:none;color:var(--muted);transition:color .2s}
.links a:not(.btn):hover{color:var(--ink)}
.menu{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.menu span:not(.sr){position:absolute;left:11px;right:11px;height:1.5px;background:var(--ink);transition:transform .3s}
.menu span:nth-child(1){top:17px}.menu span:nth-child(2){top:25px}
.menu[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.menu[aria-expanded="true"] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
@media (max-width:900px){
  .menu{display:block}
  .links{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px var(--gutter-r) 20px var(--gutter);display:none}
  .links.open{display:flex}
  .links a:not(.btn){padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--ink)}
  .links .btn{margin-top:16px}
}

/* Hero */
.hero{padding-block:clamp(24px,5vw,64px) clamp(40px,6vw,80px)}
.hero-in{display:block}
.lede{font-size:clamp(17px,1.6vw,19px);color:var(--muted);margin-top:18px}
.hero-copy>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}.hero-copy>:nth-child(5){animation-delay:.32s}
@keyframes rise{from{transform:translateY(14px);opacity:.01}}
.search{margin-top:30px;display:grid;grid-template-columns:1fr 1fr .55fr auto;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}
.search .field{padding:12px 14px;border-right:1px solid var(--line)}
.search .field input,.search .field select{border:0;padding:2px 0}
.search .form-msg{grid-column:1/-1;padding:0 16px}
.search .form-msg:not(:empty){padding:10px 16px;border-top:1px solid var(--line);color:var(--pin-eat)}
.onfoot{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 24px;font-size:14px;color:var(--muted)}
.onfoot b{font:500 19px/1 var(--font-display);color:var(--ink)}

/* Fields */
.field{display:grid;gap:4px;min-width:0}
.field>span{font:400 11px/1.3 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{width:100%;min-width:0;padding:9px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:300 16px/1.4 var(--font-body);outline:0;transition:border-color .2s}
input:focus,select:focus,textarea:focus{border-color:var(--brass)}
[aria-invalid="true"]{border-color:var(--pin-eat)!important}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 9px) 55%,calc(100% - 4px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:20px}
textarea{resize:vertical}
.form{display:grid;gap:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--muted)}
.check input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--ink)}
.form-msg{font-size:14px;line-height:1.55}
.form-msg.ok{color:var(--pin-coffee)}.form-msg.bad{color:var(--pin-eat)}
.handoff{display:grid;gap:12px;padding:18px;border:1px solid var(--line);background:var(--bg)}
.handoff pre{margin:0;white-space:pre-wrap;font:300 13px/1.55 var(--font-body);color:var(--ink);max-height:180px;overflow:auto;user-select:all;-webkit-user-select:all}
.handoff .acts{display:flex;flex-wrap:wrap;gap:10px}

/* Sections */
.band{padding-block:clamp(56px,8vw,112px)}
.band-alt{background:var(--bg-alt)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 56px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,44px)}
.sec-head>p{max-width:380px;color:var(--muted)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,96px);align-items:start}
.two>*{min-width:0}
.js-reveal .rise{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform 1s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.js-reveal .rise.in{opacity:1;transform:none}

/* Apartment cards */
.area-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 22px}
.stay-note{margin:-12px 0 22px;font-size:15px}
.stay-note:empty{display:none}
.stay-note b{font-weight:400}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,36px) clamp(16px,2.4vw,28px)}
.card{cursor:pointer;display:grid;gap:14px;min-width:0}
.card.off{opacity:.5;cursor:default}
.media{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--bg-alt)}
.track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.track::-webkit-scrollbar{display:none}
.track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}
.nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:color-mix(in srgb,var(--paper) 92%,transparent);color:var(--ink);font:300 24px/1 var(--font-display);cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .25s;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
.nav-btn.prev{left:12px}.nav-btn.next{right:12px}
.card:hover .nav-btn:not(:disabled){opacity:1}
.nav-btn:disabled{display:none}
@media (hover:none){.nav-btn{display:none}}
.dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);transition:background .3s,transform .3s}
.dots i.on{background:#fff;transform:scale(1.25)}
.count{position:absolute;top:12px;left:12px;background:color-mix(in srgb,var(--paper) 90%,transparent);font:400 10px var(--font-body);letter-spacing:.18em;text-transform:uppercase;padding:5px 9px}
.no-photo{height:100%;display:grid;place-items:center;align-content:center;gap:14px;color:var(--muted);font:italic 400 18px var(--font-display);background:linear-gradient(160deg,var(--bg-alt),var(--bg) 140%)}
.no-photo.big{aspect-ratio:3/2}
.plate-badge{width:92px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:3px;border:1.5px solid var(--brass);box-shadow:inset 0 0 0 4px var(--bg-alt),inset 0 0 0 5px color-mix(in srgb,var(--brass) 60%,transparent);font:500 32px/1 var(--font-display);color:var(--brass-ink)}
.plate-badge small{font:italic 400 14px var(--font-display);align-self:flex-start;margin-top:13px}
.card-body{display:grid;gap:4px}
.card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.card h3{font-size:clamp(24px,2.4vw,30px)}
.card h3 a{text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card{position:relative}
.no{font:italic 400 17px var(--font-display);color:var(--brass-ink)}
.card .meta{font-size:14px;color:var(--muted)}
.card-cta{justify-self:start;margin-top:8px;font:400 11px var(--font-body);letter-spacing:.2em;text-transform:uppercase;padding-bottom:3px;border-bottom:1px solid var(--brass);transition:border-color .3s,letter-spacing .4s}
.card:hover .card-cta{border-color:var(--ink);letter-spacing:.26em}
.media .nav-btn,.media .track{position:relative;z-index:1}
.media .nav-btn{position:absolute;z-index:2}
.media .dots,.media .count{z-index:2}

/* Apartment view */
.sheet{border:0;padding:0;margin:auto;width:min(1240px,calc(100vw - 48px));max-width:none;height:min(860px,calc(100dvh - 48px));max-height:none;background:var(--bg);color:var(--ink);box-shadow:0 50px 120px -30px rgba(0,0,0,.6);overflow:hidden}
.sheet[open]{animation:sheetin .5s cubic-bezier(.2,.7,.2,1)}
@keyframes sheetin{from{opacity:0;transform:translateY(40px) scale(.985)}}
.sheet::backdrop{background:rgba(14,20,17,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.sheet-in{height:100%;overflow:auto;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr)}
.sheet-x{position:absolute;top:12px;right:12px;z-index:5;margin:0}
.sheet-x button{width:44px;height:44px;border-radius:50%;border:0;background:var(--paper);color:var(--ink);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 6px 18px -8px rgba(0,0,0,.45)}
.sh-gallery{background:#0f1411;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;position:sticky;top:0;height:min(860px,calc(100dvh - 48px));align-self:start}
.hero-shot{position:relative;border:0;padding:0;margin:0;cursor:zoom-in;overflow:hidden;min-height:0;background:#0f1411}
.hero-shot{display:block;width:100%}
.hero-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@media (max-width:900px){.hero-shot img{position:static;height:auto}}
.hero-shot img.swap{animation:swap .5s cubic-bezier(.2,.7,.2,1)}
@keyframes swap{from{opacity:.25;transform:scale(1.02)}}
.zoom{position:absolute;left:16px;bottom:16px;background:rgba(14,20,17,.6);color:#f6f2ea;font:400 11px var(--font-body);letter-spacing:.18em;text-transform:uppercase;padding:8px 12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.thumbs{display:flex;gap:8px;padding:10px;overflow-x:auto;scrollbar-width:thin}
.thumbs button{flex:0 0 96px;aspect-ratio:3/2;padding:0;border:0;cursor:pointer;opacity:.55;transition:opacity .25s;outline-offset:2px}
.thumbs button[aria-current="true"],.thumbs button:hover{opacity:1}
.thumbs button[aria-current="true"]{outline:2px solid var(--glow)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.sh-side{padding:clamp(28px,3.4vw,44px);display:grid;align-content:start;gap:10px;min-width:0}
.sh-side h3{font-size:clamp(34px,3.4vw,46px)}
.sh-side .muted{font-size:15px}
.amen{list-style:none;margin:6px 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--muted)}
.amen li::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--brass);margin-right:8px;vertical-align:2px}
.sh-form{padding-top:14px}
.nights{font:italic 400 20px var(--font-display);color:var(--brass-ink);margin:-4px 0 0}
.nights:empty{display:none}
.nights .n{font-style:normal;font-size:28px;color:var(--ink);display:inline-block;animation:pop .45s cubic-bezier(.2,.7,.2,1)}
@keyframes pop{from{transform:translateY(6px);opacity:.2}}
.ext{text-align:center;font-size:14px}
@media (max-width:900px){
  .sheet{width:100vw;height:100dvh;margin:0}
  .sheet-in{grid-template-columns:1fr;display:block}
  .sh-gallery{position:relative;height:auto;grid-template-rows:auto auto}
  .hero-shot{aspect-ratio:3/2}
  .sheet-x{position:fixed;top:calc(10px + env(safe-area-inset-top,0px))}
  .sh-side{padding:24px var(--gutter-r) calc(32px + env(safe-area-inset-bottom,0px)) var(--gutter)}
}

/* Dialogs */
.dlg{border:0;padding:clamp(24px,4vw,40px);max-width:520px;width:calc(100% - 32px);background:var(--bg);color:var(--ink);box-shadow:0 40px 80px -30px rgba(0,0,0,.5)}
.dlg::backdrop{background:rgba(18,24,21,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.dlg h3{font-size:clamp(28px,4vw,36px);margin-bottom:10px}
.dlg>p+p{margin-top:12px}
.dlg-x{float:right;margin:-12px -12px 0 0}
.dlg-x button{background:transparent;border:0;font-size:28px;line-height:1;width:44px;height:44px;cursor:pointer;color:var(--ink)}
.lb{max-width:none;width:100vw;max-height:none;height:100dvh;margin:0;padding:max(56px,env(safe-area-inset-top,0px)) 0 max(24px,env(safe-area-inset-bottom,0px));background:rgba(10,13,11,.98);color:#f6f2ea;display:none;place-items:center}
.lb[open]{display:grid}
.lb::backdrop{background:#0a0d0b}
.lb .dlg-x{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));float:none;margin:0}
.lb .dlg-x button{color:#f6f2ea}
.lb-fig{margin:0;display:grid;justify-items:center;gap:14px;width:min(1200px,calc(100vw - 32px))}
.lb-fig img{max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain}
.lb-fig img.in{animation:lbin .45s cubic-bezier(.2,.7,.2,1)}
@keyframes lbin{from{opacity:.2;transform:scale(.985)}}
.lb-fig figcaption{display:flex;justify-content:space-between;gap:16px;width:100%;font-size:14px;color:#cfc8b8}
.lb-fig figcaption span:last-child{font-variant-numeric:tabular-nums;letter-spacing:.14em;white-space:nowrap}
.lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(246,242,234,.35);background:rgba(10,13,11,.4);color:#f6f2ea;font:300 30px/1 var(--font-display);cursor:pointer;display:grid;place-items:center}
.lb-nav:hover{background:rgba(246,242,234,.12);border-color:#f6f2ea}
.lb-prev{left:max(14px,env(safe-area-inset-left,0px))}.lb-next{right:max(14px,env(safe-area-inset-right,0px))}
@media (max-width:640px){.lb-nav{top:auto;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:none;width:46px;height:46px}.lb-fig img{max-height:calc(100dvh - 210px)}}

/* Neighbourhood: list and map */
.tabs{display:flex;flex-wrap:wrap;gap:0 26px;border-bottom:1px solid var(--line);margin-bottom:24px}
.tab{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px 0;font:500 clamp(19px,2vw,22px)/1.2 var(--font-display);color:var(--muted);cursor:pointer;display:flex;gap:8px;align-items:center;white-space:nowrap}
.tab i{width:9px;height:9px;border-radius:50%;display:block}
.tab small{font:400 12px var(--font-body);color:var(--muted)}
.tab[aria-selected="true"]{color:var(--ink);border-color:var(--brass)}
.explore{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,3vw,36px);align-items:start}
.places{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);max-height:620px;overflow:auto;scrollbar-width:thin}
.place{border-bottom:1px solid var(--line)}
.place-head{width:100%;display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:10px 6px;background:none;border:0;text-align:left;cursor:pointer;transition:background .25s}
.place-head:hover,.place.open .place-head{background:var(--paper)}
.place-head img{width:56px;height:56px;object-fit:cover}
.place-dot{width:12px;height:12px;border-radius:50%;justify-self:center}
.place-name{font:500 20px/1.2 var(--font-display);min-width:0}
.place-name small{display:block;font:300 13px var(--font-body);color:var(--muted);margin-top:2px}
.walk{font-size:13px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.place-more{display:none;padding:4px 6px 18px 76px;gap:10px}
.place.open .place-more{display:grid;animation:fadeup .4s cubic-bezier(.2,.7,.2,1)}
.place-more img{width:100%;aspect-ratio:3/2;object-fit:cover}
.place-more p{color:var(--muted);font-size:15px}
.place-more .text-link{justify-self:start}
@keyframes fadeup{from{opacity:.01;transform:translateY(6px)}}
.place.open .place-head img{opacity:0}
.map-box{position:sticky;top:88px;background:var(--m-land);border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:760/620;max-width:100%;overflow:hidden}
.schematic{display:block;width:100%;height:100%}
.leaflet-host{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .6s;background:var(--paper)}
.map-box.live .leaflet-host{opacity:1;pointer-events:auto}
.map-box.live .map-note{display:none}
.map-note{position:absolute;left:12px;top:12px;font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--paper) 88%,transparent);padding:4px 8px;margin:0}
.leaflet-host .leaflet-tile-pane{filter:grayscale(.55) sepia(.18) saturate(.9) brightness(1.02) contrast(.96)}
:root[data-theme="dark"] .leaflet-host .leaflet-tile-pane{filter:grayscale(.7) invert(.92) hue-rotate(180deg) brightness(.9) contrast(.9)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .leaflet-host .leaflet-tile-pane{filter:grayscale(.7) invert(.92) hue-rotate(180deg) brightness(.9) contrast(.9)}}
.leaflet-container{font:300 13px var(--font-body);background:var(--paper)}
.schematic .pin text{font-family:var(--font-body);font-weight:400}
.pin{cursor:pointer}
.pin .shape{stroke:var(--paper);stroke-width:2;transition:stroke .2s,stroke-width .2s}
.pin:hover .shape,.pin.hover .shape,.pin.on .shape,.pin:focus .shape{stroke:var(--ink);stroke-width:3}
.pin .name{opacity:0;pointer-events:none;paint-order:stroke;stroke:var(--paper);stroke-width:4px;fill:var(--ink);font-size:12px;text-anchor:middle;transition:opacity .2s}
.pin:hover .name,.pin.hover .name,.pin.on .name,.pin:focus .name{opacity:1}
.pin:focus{outline:none}
.home-pulse{transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(.8);opacity:.5}100%{transform:scale(2.3);opacity:0}}
.mk{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--paper);box-shadow:0 1px 6px rgba(0,0,0,.35);transition:transform .2s}
.mk.see{border-radius:3px;transform:rotate(45deg)}
.mk.transport{border-radius:4px}
.mk.on,.mk.hover{transform:scale(1.4)}
.mk.see.on,.mk.see.hover{transform:rotate(45deg) scale(1.4)}
.mk-home{width:46px;height:46px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;border:3px solid var(--paper);animation:ring 2.4s infinite}
.mk-home svg{width:32px;height:19px}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(154,123,85,.55)}100%{box-shadow:0 0 0 20px rgba(154,123,85,0)}}

/* Guest info */
.routes{margin:20px 0 0;display:grid}
.routes div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.routes div:last-child{border-bottom:1px solid var(--line)}
.routes dt{font:500 19px/1.2 var(--font-display)}
.routes dd{margin:0;color:var(--muted);font-size:15px}
.faq{margin-top:20px}
.faq details{border-top:1px solid var(--line);padding:16px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font:500 21px/1.25 var(--font-display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brass);font-family:var(--font-body);font-weight:300;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:10px;color:var(--muted);max-width:60ch}

/* Invest */
.band-deep{background:var(--deep);color:var(--on-deep);--ink:var(--on-deep);--muted:var(--on-deep-muted);--line:var(--deep-line);--paper:transparent;--brass-ink:#d4bc93;--brass:#c4a77c}
.band-deep .tabs{margin-top:22px}
.band-deep select option{color:#1f2b26;background:#fcfaf6}
.band-deep .check input{accent-color:#c4a77c}
.band-deep .form-msg.bad{color:#f0a99f}.band-deep .form-msg.ok{color:#a9d3b5}
.band-deep .handoff{background:transparent}
.band-deep .handoff .btn{background:var(--on-deep);color:var(--deep);border-color:var(--on-deep)}
.band-deep .handoff .btn-ghost{background:transparent;color:var(--on-deep)}
.inv-text{font:italic 400 clamp(21px,2.2vw,26px)/1.4 var(--font-display);max-width:30ch}

/* Footer */
.foot{border-top:1px solid var(--line);padding-block:44px calc(36px + env(safe-area-inset-bottom,0px))}
.foot-in{display:grid;justify-items:center;gap:36px;text-align:center}
.lockup{display:grid;justify-items:center;color:var(--gold)}
.lockup-bee{width:clamp(84px,9vw,112px);height:auto;aspect-ratio:112/64;margin-bottom:18px}
.lockup-name{font:400 clamp(40px,6vw,68px)/1 var(--font-display);letter-spacing:.2em;margin-right:-.2em;text-transform:uppercase}
.lockup-stays{display:flex;align-items:center;gap:clamp(14px,2vw,26px);margin-top:14px;font:300 clamp(13px,1.4vw,17px)/1 var(--font-body);letter-spacing:.7em;margin-right:-.7em;text-transform:uppercase}
.lockup-stays::before,.lockup-stays::after{content:"";width:clamp(40px,7vw,96px);height:1px;background:currentColor;opacity:.7}
.lockup-stays::after{margin-left:-.7em}
.lockup-tag{margin-top:22px;font:400 10px/1.8 var(--font-body);letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}
.lockup-tag span{margin:0 .6em;opacity:.6}
.foot-contact{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 48px}
.foot-contact dt{font:400 10px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.foot-contact dd{margin:2px 0 0;font-size:15px;overflow-wrap:anywhere}
.copy{background:none;border:0;padding:0 0 0 6px;font:400 10px var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-ink);cursor:pointer}
.foot-legal{grid-column:1/-1;font-size:12px;color:var(--muted);padding-top:18px;border-top:1px solid var(--line)}

/* Mobile booking bar */
.dock{display:none}
@media (max-width:720px){
  .dock{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:45;padding:10px var(--gutter-r) calc(10px + env(safe-area-inset-bottom,0px)) var(--gutter);background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .35s}
  .dock.show{transform:none}
  .dock .btn{flex:1;padding:14px 12px}
  .foot{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}

/* Responsive */
@media (max-width:980px){
  .hero-in,.two,.explore{grid-template-columns:1fr}
  .map-box{position:relative;top:0;order:-1}
  .map-box{aspect-ratio:5/4}
  .places{max-height:none}
}
@media (max-width:640px){
  .search{grid-template-columns:1fr 1fr}
  .search .field:nth-child(2){border-right:0}
  .search .field:nth-child(3){grid-column:1/-1;border-right:0;border-top:1px solid var(--line)}
  .search .btn{grid-column:1/-1;padding:17px}
  .cards{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
  .routes div{grid-template-columns:1fr;gap:2px}
  .brand-word b{font-size:18px}
  .brand-bee{width:40px;height:23px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:0 20px}
  .place-more{padding-left:6px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rise{opacity:1;transform:none}}

/* Property details */
.ico{width:18px;height:18px;flex:none;color:var(--brass-ink)}
.pd-stats{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.pd-stats li{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--muted)}
.pd-stats b{font:500 20px/1 var(--font-display);color:var(--ink);font-variant-numeric:lining-nums}
.pd-amen{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pd-amen li{display:flex;align-items:center;gap:6px;padding:6px 12px 6px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--ink);background:color-mix(in srgb,var(--paper) 70%,transparent)}
.pd-amen .ico{width:15px;height:15px}
.card .pd-amen li{padding:4px 10px 4px 8px;font-size:12px}
.pd{margin:8px 0 4px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pd-title{font:400 10px var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--brass-ink);margin-bottom:10px}
.pd .pd-stats{gap:10px}
.pd .pd-stats li{flex-direction:column;align-items:flex-start;gap:4px;min-width:96px;padding:12px 14px;border:1px solid var(--line);background:var(--paper)}
.pd .pd-stats .ico{width:22px;height:22px;margin-bottom:4px}
.pd .pd-stats b{font-size:28px}
.pd .pd-stats span{font-size:12px;letter-spacing:.06em}
.pd-extra{margin-top:12px;font-size:14px;color:var(--muted)}

.pd-amen li{white-space:nowrap}
.card .pd-amen{gap:6px}
#b-head{margin:0}

/* Drawn map */
.schematic{touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.schematic.grabbing{cursor:grabbing}
.m-land{fill:var(--m-land)}
.m-water{fill:var(--m-water)}
.m-park{fill:var(--m-park)}
.m-bldg{fill:var(--m-bldg);stroke:var(--m-case);stroke-width:1}
.m-bldg.major{fill:var(--m-bldg-major);stroke:var(--brass);stroke-width:1.2}
.m-court{fill:var(--m-land)}
.m-dome{fill:var(--m-bldg-major);stroke:var(--brass);stroke-width:1.4}
.m-lantern{fill:var(--brass)}
.m-case,.m-road{fill:none;stroke-linecap:round;stroke-linejoin:round}
.m-case{stroke:var(--m-case);stroke-width:7}
.m-case.main{stroke-width:11}
.m-road{stroke:var(--m-road);stroke-width:5}
.m-road.main{stroke-width:9}
.m-case.bridge{stroke-width:10}.m-road.bridge{stroke-width:7}
.m-case.bridge.foot{stroke-width:5}.m-road.bridge.foot{stroke-width:2.5;stroke-dasharray:4 3}
.m-street{font:400 8.5px var(--font-body);letter-spacing:.18em;fill:var(--m-label);paint-order:stroke;stroke:var(--m-road);stroke-width:3px}
.m-street.main{font-size:9.5px;fill:var(--brass-ink)}
.m-waterlabel{font:italic 400 15px var(--font-display);letter-spacing:.12em;fill:color-mix(in srgb,var(--m-label) 80%,var(--m-water))}
.m-parklabel{font:italic 400 12px var(--font-display);fill:color-mix(in srgb,var(--m-label) 70%,green)}
.m-bldglabel{font:italic 400 13px var(--font-display);fill:var(--m-label);paint-order:stroke;stroke:var(--m-land);stroke-width:3px}
.m-bldglabel.major{font:italic 500 16px var(--font-display);fill:var(--brass-ink)}
.m-homelabel{font-size:12px;fill:var(--ink);paint-order:stroke;stroke:var(--m-land);stroke-width:4px}
.schematic .pin .name{stroke:var(--m-land)}
.mz{position:absolute;right:12px;top:12px;display:grid;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 20px -12px rgba(0,0,0,.35);z-index:3}
.mz button{width:38px;height:38px;border:0;background:none;color:var(--ink);font:300 22px/1 var(--font-body);cursor:pointer;display:grid;place-items:center}
.mz button+button{border-top:1px solid var(--line)}
.mz button:hover{background:var(--bg-alt)}
.mz svg{width:16px;height:16px}
.map-box.live .mz{display:none}
@media (min-width:981px) and (max-width:1240px){
  .search{grid-template-columns:1fr 1fr .7fr}
  .search .field:nth-child(3){border-right:0}
  .search .btn{grid-column:1/-1;padding:16px}
}

/* Locations */
.loc+.loc{margin-top:clamp(56px,7vw,88px)}
.loc-head{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.1fr);gap:8px 28px;align-items:end;padding-bottom:22px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.loc-no{font:italic 400 clamp(44px,5vw,64px)/.8 var(--font-display);color:var(--brass);font-variant-numeric:lining-nums}
.loc-head .eyebrow{margin-bottom:6px}
.loc-head h3{font-size:clamp(30px,3.4vw,42px)}
.loc-head h3 em{font-style:italic;font-weight:400;color:var(--muted);font-size:.6em;margin-left:.3em}
.loc-sum{color:var(--muted);font-size:15px;max-width:52ch;justify-self:end}
.loc-sum .text-link{margin-left:6px;white-space:nowrap}
.loc-next{margin-top:clamp(48px,6vw,72px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 28px;align-items:center;padding:28px clamp(20px,3vw,36px);border:1px dashed color-mix(in srgb,var(--brass) 60%,transparent);background:color-mix(in srgb,var(--paper) 60%,transparent)}
.loc-next .loc-no{color:color-mix(in srgb,var(--brass) 55%,transparent)}
.loc-next h3{font-size:clamp(24px,2.6vw,30px)}
.loc-next p{color:var(--muted);font-size:15px;margin-top:4px}
.loc-next .eyebrow{margin-bottom:6px}
.loc-names{font:italic 400 18px var(--font-display);color:var(--ink)!important}
@media (max-width:900px){.loc-head{grid-template-columns:auto minmax(0,1fr)}.loc-sum{grid-column:1/-1;justify-self:start}.loc-next{grid-template-columns:auto minmax(0,1fr)}.loc-next .btn{grid-column:1/-1;justify-self:start}}

.faq-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px 28px;margin-top:18px;max-width:760px}
.faq-list h4{font:500 11px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--brass-ink);margin-bottom:10px}
.faq-list ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:15px;color:var(--ink)}
.faq-list li{padding-left:16px;position:relative}
.faq-list li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:1px;background:var(--brass)}

/* Map landmarks: line drawings in brass medallions */
.schematic:not(.zoomed) .lod{display:none}
.m-bridgelabel{font:italic 400 10.5px var(--font-display);fill:color-mix(in srgb,var(--m-label) 85%,var(--m-water));paint-order:stroke;stroke:var(--m-water);stroke-width:3px}
.m-bridgelabel.key{font-size:12.5px;font-weight:500;fill:var(--brass-ink)}
.pin.lm .lm-halo{fill:var(--brass);opacity:0;transition:opacity .25s}
.pin.lm .lm-ring{fill:var(--paper);stroke:var(--brass);stroke-width:1.6;filter:drop-shadow(0 2px 4px rgba(31,43,38,.22));transition:fill .25s}
.pin.lm .lm-ico{color:var(--ink);transition:color .25s}
.pin.lm .lm-label{font:italic 500 13.5px var(--font-display);fill:var(--brass-ink);paint-order:stroke;stroke:var(--m-land);stroke-width:4px;stroke-linejoin:round;letter-spacing:.02em}
.pin.lm:hover .lm-ring,.pin.lm.hover .lm-ring,.pin.lm.on .lm-ring,.pin.lm:focus-visible .lm-ring{fill:var(--brass)}
.pin.lm:hover .lm-ico,.pin.lm.hover .lm-ico,.pin.lm.on .lm-ico,.pin.lm:focus-visible .lm-ico{color:var(--paper)}
.pin.lm.on .lm-halo{opacity:.18}
.pin.lm.dim{opacity:.8}
.place-ico{width:56px;height:56px;display:grid;place-items:center;background:var(--paper);border:1px solid color-mix(in srgb,var(--brass) 45%,transparent);color:var(--ink)}
.place-ico svg{width:40px;height:40px}
.mk-lm{width:40px;height:40px;border-radius:50%;background:var(--paper);border:1.5px solid var(--brass);color:var(--ink);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.25);position:relative}
.mk-lm svg{width:32px;height:32px}
.mk-lm span{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:3px;white-space:nowrap;font:italic 500 13px var(--font-display);color:var(--brass-ink);text-shadow:0 0 3px var(--paper),0 0 3px var(--paper)}
.mk-lm.on{background:var(--brass);color:var(--paper)}

/* Semantic zoom: sizes divide by --z (set in setVB) */
.schematic{--z:1}
.schematic .sc{transform:scale(calc(1 / var(--z)))}
.schematic .m-case{stroke-width:calc(7px / var(--z))}.schematic .m-case.main{stroke-width:calc(11px / var(--z))}
.schematic .m-road{stroke-width:calc(5px / var(--z))}.schematic .m-road.main{stroke-width:calc(9px / var(--z))}
.schematic .m-case.bridge{stroke-width:calc(10px / var(--z))}.schematic .m-road.bridge{stroke-width:calc(7px / var(--z))}
.schematic .m-case.bridge.foot{stroke-width:calc(5px / var(--z))}.schematic .m-road.bridge.foot{stroke-width:calc(2.5px / var(--z));stroke-dasharray:calc(4px / var(--z)) calc(3px / var(--z))}
.schematic .m-bldg{stroke-width:calc(1px / var(--z))}.schematic .m-bldg.major,.schematic .m-dome{stroke-width:calc(1.3px / var(--z))}
.schematic .m-street{font-size:calc(8.5px / var(--z));stroke-width:calc(3px / var(--z))}
.schematic .m-street.main{font-size:calc(9.5px / var(--z))}
.schematic .m-waterlabel{font-size:calc(15px / var(--z))}
.schematic .m-parklabel{font-size:calc(12px / var(--z))}
.schematic .m-bldglabel{font-size:calc(13px / var(--z));stroke-width:calc(3px / var(--z))}
.schematic .m-bldglabel.major{font-size:calc(16px / var(--z))}

/* Hero: quiet luxury. Deep green, a fine gold frame, small signature, large serif line */
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* Guest reviews */
.rv-summary:not(:empty){display:flex;align-items:center;gap:14px;margin:18px 0 6px}
.rv-summary b{font:400 44px/1 var(--font-display)}
.rv-summary span:last-child{color:var(--muted);font-size:14px}
.rv-stars{display:inline-flex;gap:3px}
.rv-stars i{width:14px;height:14px;background:color-mix(in srgb,var(--brass) 28%,transparent);clip-path:polygon(50% 0,61.8% 35.3%,100% 35.3%,69.1% 57.1%,80.9% 92.7%,50% 70.6%,19.1% 92.7%,30.9% 57.1%,0 35.3%,38.2% 35.3%)}
.rv-stars i.on{background:var(--brass)}
.rv-list{margin-top:22px;display:grid;gap:0;border-top:1px solid var(--line)}
.rv{margin:0;padding:24px 0;border-bottom:1px solid var(--line)}
.rv blockquote{margin:12px 0 0;font:italic 400 clamp(20px,2vw,23px)/1.45 var(--font-display);color:var(--ink)}
.rv figcaption{margin-top:12px;font-size:14px;color:var(--ink)}
.rv figcaption span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.rv-empty{padding:26px 0;border-bottom:1px solid var(--line)}
.rv-empty p:first-child{font:italic 400 clamp(22px,2.2vw,26px)/1.35 var(--font-display)}
.rv-empty p+p{color:var(--muted);margin-top:10px;max-width:42ch}
.rv-form{background:var(--paper);border:1px solid var(--line);padding:clamp(22px,3vw,34px);box-shadow:var(--shadow)}
.stars{border:0;margin:0;padding:0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.stars legend{float:left;width:100%;font:400 11px var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.stars-in{display:inline-flex;flex-direction:row-reverse;gap:6px}
.stars-in input{position:absolute;opacity:0;width:1px;height:1px}
.stars-in label{width:32px;height:32px;cursor:pointer;background:color-mix(in srgb,var(--brass) 22%,transparent);clip-path:polygon(50% 0,61.8% 35.3%,100% 35.3%,69.1% 57.1%,80.9% 92.7%,50% 70.6%,19.1% 92.7%,30.9% 57.1%,0 35.3%,38.2% 35.3%);transition:background .15s,transform .15s}
.stars-in label:hover,.stars-in label:hover~label,.stars-in input:checked~label{background:var(--brass)}
.stars-in label:hover{transform:scale(1.08)}
.stars-in input:focus-visible+label{outline:2px solid var(--ink);outline-offset:3px}
.stars-word{font:italic 400 19px var(--font-display);color:var(--brass-ink);min-height:1em}
.dlg-legal{max-width:600px;max-height:calc(100dvh - 48px);overflow:auto}
.dlg-legal h4{font:500 11px var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--brass-ink);margin:22px 0 4px}
.dlg-legal p{font-size:15px;color:var(--muted)}
.dlg-legal p.co-id{color:var(--ink)}
.dlg-legal h4+p{margin-top:6px}

/* Real estate services */
.svc-head{max-width:640px;margin-bottom:clamp(30px,4vw,48px)}
.svc-head p:not(.eyebrow){color:var(--muted);margin-top:12px}
.svc{display:grid;border-top:1px solid var(--line)}
.svc-item{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--ink)}
.svc-no{font:italic 400 34px/1 var(--font-display);color:var(--brass);opacity:.55;transition:opacity .3s}
.svc-body{display:grid;gap:8px}
.svc-body b{font:500 clamp(23px,2.4vw,28px)/1.15 var(--font-display)}
.svc-body>span{color:var(--muted);font-size:15.5px;max-width:44ch}
.svc-body em{font:normal 400 11px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--brass-ink);opacity:0;transform:translateX(-4px);transition:opacity .3s,transform .3s}
.svc-body em::after{content:" →"}
.svc-item[aria-pressed="true"] .svc-no,.svc-item:hover .svc-no{opacity:1}
.svc-item[aria-pressed="true"] em,.svc-item:hover em{opacity:1;transform:none}
.svc-item:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.row>[hidden]{display:none}
.row:has(>[hidden]){grid-template-columns:1fr}

/* Polish */
.place-ico.mono{font:italic 400 26px/1 var(--font-display);color:var(--k,var(--brass));background:var(--paper)}
.places{-webkit-mask-image:linear-gradient(#000 calc(100% - 48px),transparent);mask-image:linear-gradient(#000 calc(100% - 48px),transparent);padding-bottom:40px}
@media (max-width:980px){.places{-webkit-mask-image:none;mask-image:none;padding-bottom:0}}
.stars legend{padding:0}

/* Hero, refined: seamless dark header at the top, double hairline frame with corner marks, quiet footer line */
.nav{transition:background .45s ease,border-color .3s}
.brand-word{transition:opacity .45s ease,transform .45s ease}
.links a:not(.btn),.links .btn{transition:color .35s,background .35s,border-color .35s}

@keyframes frame-in{from{clip-path:inset(50% 0 50% 0);opacity:0}to{clip-path:inset(-10px);opacity:1}}

/* Hero background: deep green lit from above, a faint gold honeycomb (a nod to the bee) fading out from the centre, and a warm glow behind the name. The header sits over it at the top, so the first screen reads as one piece. */

/* ===== Signature details ===== */
::selection{background:#dcc59a;color:#1a2520}
html{scroll-behavior:smooth}
.nav-progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#c4a77c 20%,#c4a77c 80%,transparent);transform:scaleX(0);transform-origin:left;pointer-events:none;opacity:.9}

/* Section eyebrows get a short gold rule */
.sec-head .eyebrow,.svc-head .eyebrow,#guest-info .eyebrow{display:flex;align-items:center;gap:12px}
.sec-head .eyebrow::before,.svc-head .eyebrow::before,#guest-info .eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}

/* Pillars under the hero */
.intro{padding-block:clamp(8px,1.5vw,20px) clamp(56px,7vw,96px);border-bottom:1px solid var(--line);background:var(--bg)}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,56px)}
.pillar{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;column-gap:18px;align-items:start}
.pillar+.pillar{border-left:1px solid var(--line);padding-left:clamp(20px,4vw,56px)}
.pil-ico{grid-row:1/3;width:54px;height:54px;border-radius:50%;border:1px solid color-mix(in srgb,var(--brass) 55%,transparent);display:grid;place-items:center;color:var(--brass-ink)}
.pil-ico svg{width:28px;height:28px}
.pillar h3{font:400 clamp(20px,1.9vw,24px)/1.2 var(--font-display);margin-top:4px}
.pillar p{font-size:14px;color:var(--muted);margin-top:4px}
@media (max-width:860px){.pillars{grid-template-columns:1fr;gap:22px}.pillar+.pillar{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:22px}}

/* Apartment cards: photo unveils on reveal, slow zoom and a fine gold frame on hover */
.card .media{overflow:hidden}
.card .media::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,250,240,.0);transition:border-color .6s;pointer-events:none;z-index:2}
.card:hover .media::after{border-color:rgba(255,250,240,.7)}
.card .track img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.card:hover .track img{transform:scale(1.035)}
.js-reveal .card.rise .media{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s cubic-bezier(.65,0,.15,1) calc(var(--d,0ms) + 120ms)}
.js-reveal .card.rise.in .media{clip-path:inset(0)}
.card-cta::after{content:"→";display:inline-block;margin-left:8px;transition:transform .4s}
.card:hover .card-cta::after{transform:translateX(4px)}

/* Reviews: a large gold quotation mark */
.rv-empty{position:relative;padding-top:56px}
.rv-empty::before{content:"“";position:absolute;top:-6px;left:-4px;font:400 96px/1 var(--font-display);color:var(--brass);opacity:.45}

/* Real estate band and footer share the hero's honeycomb, very faintly */
.band-deep{position:relative;isolation:isolate;overflow:hidden}
.band-deep::before{content:"";position:absolute;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90.00' height='51.96'%3E%3Cpath d='M0.00 25.98 L15.00 0.00 L45.00 0.00 L60.00 25.98 L45.00 51.96 L15.00 51.96 Z M60.00 25.98 H90.00' fill='none' stroke='%23dcc59a' stroke-width='.9'/%3E%3C/svg%3E");background-size:90.00px 51.96px;opacity:.07;-webkit-mask-image:radial-gradient(60% 80% at 100% 0%,#000,transparent 80%);mask-image:radial-gradient(60% 80% at 100% 0%,#000,transparent 80%);pointer-events:none}
.foot{position:relative;isolation:isolate;overflow:hidden;background:#131b17;color:#f2ebde;border-top:1px solid rgba(220,197,154,.25);--ink:#f2ebde;--muted:rgba(242,235,222,.62);--line:rgba(220,197,154,.18);--gold:#dcc59a;--brass-ink:#dcc59a;padding-block:clamp(64px,8vw,96px) calc(40px + env(safe-area-inset-bottom,0px))}
.foot-bg{position:absolute;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90.00' height='51.96'%3E%3Cpath d='M0.00 25.98 L15.00 0.00 L45.00 0.00 L60.00 25.98 L45.00 51.96 L15.00 51.96 Z M60.00 25.98 H90.00' fill='none' stroke='%23dcc59a' stroke-width='.9'/%3E%3C/svg%3E");background-size:90.00px 51.96px;background-position:50% 0;opacity:.09;-webkit-mask-image:radial-gradient(55% 70% at 50% 30%,#000,transparent 85%);mask-image:radial-gradient(55% 70% at 50% 30%,#000,transparent 85%);pointer-events:none}
.foot a{color:#f2ebde}
.foot .linklike{color:rgba(242,235,222,.75)}

/* Guest testimonials: one quote at a time, centred, with a large gold quotation mark */
.tm-band{text-align:center}
.tm-head{display:grid;justify-items:center;max-width:720px;margin:0 auto clamp(30px,4vw,48px)}
.tm-head .eyebrow{display:flex;align-items:center;gap:12px}
.tm-head .eyebrow::before,.tm-head .eyebrow::after{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.tm-summary:not(:empty){display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;color:var(--muted);font-size:14px}
.tm-summary b{font:400 26px/1 var(--font-display);color:var(--ink)}
.tm{max-width:880px;margin:0 auto;position:relative}
.tm-stage{display:grid}
.tm-slide{grid-area:1/1;margin:0;display:grid;justify-items:center;gap:18px;opacity:0;transform:translateY(10px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.tm-slide.on{opacity:1;transform:none;pointer-events:auto}
.tm-mark{font:400 clamp(90px,10vw,130px)/.6 var(--font-display);color:var(--brass);opacity:.5;height:.45em;display:block}
.tm-slide .rv-stars i{width:15px;height:15px}
.tm-slide blockquote{margin:0;font:italic 400 clamp(24px,2.8vw,36px)/1.38 var(--font-display);color:var(--ink);max-width:30ch;text-wrap:balance}
.tm-slide figcaption{display:grid;justify-items:center;gap:3px;font-size:14px;color:var(--muted)}
.tm-slide figcaption b{font:500 12px var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}
.tm-src{margin-top:8px;font:400 10px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--brass-ink);padding:6px 12px;border:1px solid color-mix(in srgb,var(--brass) 50%,transparent);border-radius:999px}
.tm-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:30px}
.tm-btn{width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--brass) 55%,transparent);background:transparent;color:var(--ink);cursor:pointer;font-size:16px;transition:background .3s,color .3s}
.tm-btn:hover{background:var(--ink);color:var(--bg)}
.tm-count{font:400 12px var(--font-body);letter-spacing:.2em;color:var(--muted);font-variant-numeric:tabular-nums}
.tm-empty{display:grid;justify-items:center;gap:8px;padding:10px 0}
.tm-empty p:not(.muted){font:italic 400 clamp(24px,2.8vw,34px)/1.3 var(--font-display)}
.tm-empty .muted{color:var(--muted)}
.tm-cta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 28px;margin-top:clamp(30px,4vw,44px)}
.tm-band .rv-form{max-width:720px;margin:28px auto 0;text-align:left}
.tm-band .rv-form[hidden]{display:none}

/* Brand statement above the pillars */
.statement{max-width:860px;margin:0 auto clamp(48px,6vw,80px);text-align:center;display:grid;justify-items:center}
.statement .eyebrow{display:flex;align-items:center;gap:12px}
.statement .eyebrow::before,.statement .eyebrow::after{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.statement-q{font:400 clamp(32px,4.4vw,58px)/1.12 var(--font-display);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin-top:6px}
.statement-q em{font-style:italic;color:var(--brass-ink)}
.statement-by{margin-top:20px;max-width:52ch;color:var(--muted);font-size:clamp(15px,1.4vw,17px);text-wrap:balance}
.pillars{padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--line)}
.pil-ico svg[viewBox="0 0 112 64"]{width:34px;height:20px}

/* Station routes from the airports */
.rx{display:grid;gap:16px;margin:4px 0 14px}
.rx-leg{border-left:1px solid color-mix(in srgb,var(--brass) 50%,transparent);padding-left:14px}
.place-more .rx .rx-from{margin-top:0;font:500 10.5px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--brass-ink);margin-bottom:8px}
.place-more .rx-leg>p:not(.rx-from){margin:0;font-size:14.5px;color:var(--ink);max-width:46ch}
.rx-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14.5px;color:var(--ink)}
.rx-steps li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 7px}
.rx-steps b{font-weight:500}
.rx-steps small{flex-basis:100%;font-size:12.5px;color:var(--muted);padding-left:2px}
.rx-then{font:italic 400 14px var(--font-display);color:var(--muted);margin-right:2px}
.rx-line{display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:2px 10px 2px 8px;border:1px solid var(--line);border-radius:999px;background:var(--paper);white-space:nowrap}
.rx-line::before{content:"";width:14px;height:4px;border-radius:2px;background:var(--c)}
.place-more .rx .rx-tip{margin:0;font-size:12.5px;color:var(--muted);max-width:52ch}
.place-more .rx .rx-tip.key{color:var(--ink)}




/* Header over the green hero */
.nav.top:not(.menu-open){background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.nav.top:not(.menu-open) .brand{color:#dcc59a}
.nav.top:not(.menu-open) .brand-word{opacity:0;transform:translateX(-6px);pointer-events:none}
.nav.top:not(.menu-open) .links a:not(.btn){color:rgba(242,235,222,.78)}
.nav.top:not(.menu-open) .links a:not(.btn):hover{color:#f2ebde}
.nav.top:not(.menu-open) .links .btn{background:transparent;color:#dcc59a;border-color:rgba(220,197,154,.6)}
.nav.top:not(.menu-open) .links .btn:hover{background:#dcc59a;color:#1a2520}
.nav.top:not(.menu-open) .menu span:not(.sr){background:#f2ebde}
.nav.top .nav-progress{opacity:0}

/* Quieter, more editorial type */
.statement-by{font:italic 400 clamp(18px,1.6vw,21px)/1.4 var(--font-display)}
/* Cards stay calm: rooms and guests only; the full amenity list lives in each apartment's page */
.card .pd-amen{display:none}
.place-fig{margin:0;position:relative}
.place-fig img{display:block}
.place-fig figcaption{position:absolute;right:8px;bottom:8px;font:400 9.5px var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:#f6f1e7;background:rgba(20,28,24,.55);padding:4px 8px}


/* Offices on the map */
.m-office rect{fill:var(--m-bldg-major);stroke:var(--ink);stroke-width:1}
.m-office path{stroke:var(--ink);stroke-width:1}
.m-office text{font:500 9.5px var(--font-body);letter-spacing:.12em;text-transform:uppercase;fill:var(--ink);paint-order:stroke;stroke:var(--m-land);stroke-width:3px;stroke-linejoin:round}
.mk-office{position:relative;width:12px;height:12px}
.mk-office i{position:absolute;inset:0;background:#1f2b26;border:2px solid #fff;border-radius:2px}
.mk-office span{position:absolute;left:16px;top:-3px;white-space:nowrap;font:600 10px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#1f2b26;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff}

/* ===== Hero, split like the best boutique hotels: forest green text panel, a tall print-like photograph ===== */
.hero.hero-split{--g:#dcc59a;--ink-h:#f2ebde;--soft:rgba(242,235,222,.74);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:calc(100svh - 68px);max-height:980px;margin:0;padding:0;background:#2f4a3b;color:var(--ink-h);--ink:var(--ink-h);--muted:var(--soft);--brass-ink:var(--g);overflow:hidden;position:relative;isolation:isolate}
.hs-text{display:grid;align-items:center;padding:clamp(40px,6vh,80px) clamp(28px,5vw,88px) clamp(40px,6vh,80px) max(40px,calc((100vw - 1280px)/2 + 40px));background:radial-gradient(100% 80% at 0% 0%,#3d5c4a,#33503f 55%,#2b4436)}
.hs-in{max-width:560px}
.hs-brand{display:flex;align-items:center;gap:12px;font:400 11px var(--font-body);letter-spacing:.38em;text-transform:uppercase;color:var(--g)}
.hs-brand svg{width:34px;height:20px}
.hs-brand::after{content:"";width:44px;height:1px;background:currentColor;opacity:.5}
.hero-split h1{margin-top:clamp(22px,3.4vh,36px);font:400 clamp(42px,4.8vw,74px)/1.02 var(--font-display);letter-spacing:-.018em;color:var(--ink-h);text-wrap:balance}
.hero-split h1 em{font-style:italic;color:var(--g)}
.hero-split .lede{margin-top:20px;font-size:clamp(15px,1.3vw,17px);line-height:1.6;color:var(--soft);max-width:40ch}
.hero-split .search{margin-top:clamp(26px,4vh,40px);display:grid;grid-template-columns:1fr 1fr .6fr;background:#f7f2e8;border:0;padding:0;box-shadow:0 0 0 1px rgba(220,197,154,.5),0 40px 70px -40px rgba(0,0,0,.8);--ink:#1f2b26;--muted:#6b6f68;--brass-ink:#7a5f3f;color:var(--ink)}
.hero-split .search .field{padding:14px 18px;border-right:1px solid #e3d9c7}
.hero-split .search .field:nth-child(3){border-right:0}
.hero-split .search .field span{font-size:10px;letter-spacing:.18em;color:#8a6a40}
.hero-split .search input,.hero-split .search select{color:#1f2b26;background:transparent}
.hero-split .search .btn{grid-column:1/-1;background:#dcc59a;color:#1a2520;border:0;padding:17px;letter-spacing:.24em}
.hero-split .search .btn::after{content:"→";margin-left:6px;transition:transform .3s}
.hero-split .search .btn:hover{background:#e9d7b1}
.hero-split .search{box-shadow:0 0 0 1px rgba(220,197,154,.55),0 40px 70px -40px rgba(12,24,18,.7)}
.hero-split .search .btn:hover::after{transform:translateX(4px)}
.hero-split .search .form-msg{grid-column:1/-1}
.hero-split .hero-also{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:20px;font-size:12.5px;color:rgba(242,235,222,.6)}
.hero-split .hero-also i{font-style:normal;color:var(--g);opacity:.7}
.hero-split .hero-also a{color:rgba(242,235,222,.62);text-decoration:none;border-bottom:1px solid rgba(220,197,154,.3);padding-bottom:1px}
.hero-split .hero-also a:hover{color:var(--ink-h);border-color:var(--ink-h)}
.hs-in>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hs-in>:nth-child(2){animation-delay:.1s}.hs-in>:nth-child(3){animation-delay:.2s}.hs-in>:nth-child(4){animation-delay:.3s}.hs-in>:nth-child(5){animation-delay:.4s}
.hs-photo{margin:0;position:relative;overflow:hidden;background:#2f4a3b}
.hs-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;animation:hs-in 2s ease both,drift 28s 2s ease-in-out infinite alternate;transform-origin:50% 35%}
@keyframes hs-in{from{opacity:0;transform:scale(1.04)}}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.06)}}
.hs-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#33503f 0%,rgba(51,80,63,.55) 12%,rgba(51,80,63,0) 34%),linear-gradient(0deg,rgba(36,58,46,.7),rgba(36,58,46,0) 30%)}
.hs-photo::after{content:"";position:absolute;inset:clamp(14px,1.8vw,24px);border:1px solid rgba(240,231,212,.35);z-index:2;pointer-events:none}
.hs-photo figcaption{position:absolute;left:clamp(34px,4vw,56px);right:clamp(34px,4vw,56px);bottom:clamp(30px,4vw,48px);z-index:3;display:flex;justify-content:space-between;gap:12px;font:400 10px var(--font-body);letter-spacing:.26em;text-transform:uppercase;color:rgba(240,231,212,.85)}
/* header sits on solid green above the split */
.nav.top:not(.menu-open){background:#2b4436}
@media (max-width:900px){
  .hero.hero-split{grid-template-columns:1fr;max-height:none;min-height:0}
  .hs-photo{order:-1;height:46svh;min-height:280px}
  .hs-photo::before{background:linear-gradient(0deg,#33503f 0%,rgba(51,80,63,0) 40%)}
  .hs-photo figcaption{display:none}
  .hs-photo::after{bottom:46px}
  .hs-text{padding:4px 22px 48px;margin-top:-16px;position:relative;z-index:2;background:transparent}
  .hero-split h1{font-size:clamp(38px,9vw,52px)}
}
@media (max-width:480px){.hero-split .search{grid-template-columns:1fr 1fr}.hero-split .search .field:nth-child(2){border-right:0}.hero-split .search .field:nth-child(3){grid-column:1/-1;border-top:1px solid #e3d9c7}}
@media (prefers-reduced-motion:reduce){.hs-photo img{animation:none}}

/* ===== Quiet-luxury refinements: fewer words, more space, understated calls to action ===== */
.links{gap:34px}
.links a:not(.btn){font:400 11px var(--font-body);letter-spacing:.2em;text-transform:uppercase}
.links .btn{letter-spacing:.24em;padding-inline:22px}
.hero.hero-split{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.hs-in{max-width:600px}
.hero-split h1{font-size:clamp(46px,5.4vw,86px);line-height:1;letter-spacing:-.02em}
.hero-split .lede{font:italic 400 clamp(19px,1.7vw,23px)/1.4 var(--font-display);color:rgba(242,235,222,.82);margin-top:22px}
.hero-split .search{margin-top:clamp(34px,5vh,52px)}
.hero-split .search .btn{letter-spacing:.32em;font-size:12px}
.hs-note{margin-top:18px;font:400 10px var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:rgba(220,197,154,.8)}
.hs-brand{margin-bottom:clamp(6px,1vh,14px)}
.hs-in>*{animation-duration:1.4s}
.hs-photo img{animation-duration:2.6s,34s}
@media (max-width:900px){.links a:not(.btn){font-size:13px;letter-spacing:.14em}}
@media (max-width:1180px){.hero-split .search{grid-template-columns:1fr 1fr}.hero-split .search .field:nth-child(2){border-right:0}.hero-split .search .field:nth-child(3){grid-column:1/-1;border-top:1px solid #e3d9c7}}
@media (max-width:900px){.hero.hero-split{grid-template-columns:1fr}.hero-split h1{font-size:clamp(40px,10vw,56px)}.hs-note{letter-spacing:.2em}}

/* ===== Hero in one forest green, from the header down; the house itself in a stone arch ===== */
:root{--forest-deep:#22362c}
.nav.top:not(.menu-open){background:var(--forest-deep)}
.hero.hero-split{background:var(--forest-deep);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hs-text{background:radial-gradient(80% 60% at 20% 30%,rgba(220,197,154,.07),transparent 70%),var(--forest-deep)}
.hs-photo{display:grid;place-items:center;padding:clamp(28px,4vh,48px) max(var(--gutter),calc((100vw - 1280px)/2 + 40px)) clamp(28px,4vh,48px) clamp(16px,2vw,32px);background:radial-gradient(70% 60% at 50% 45%,rgba(220,197,154,.08),transparent 70%),var(--forest-deep)}
.hs-photo::before,.hs-photo::after{display:none}
.hs-arch{position:relative;width:min(100%,520px);aspect-ratio:4/5;max-height:calc(100svh - 68px - 150px);border-radius:999px 999px 0 0;overflow:hidden;box-shadow:0 0 0 1px rgba(220,197,154,.55),0 0 0 10px var(--forest-deep),0 0 0 11px rgba(220,197,154,.28),0 50px 90px -40px rgba(0,0,0,.6)}
.hs-arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;animation:hs-in 2.6s ease both,drift 34s 2.6s ease-in-out infinite alternate;transform-origin:50% 35%}
.hs-photo figcaption{position:static;margin-top:22px;display:grid;justify-items:center;gap:6px;text-align:center}
.hs-photo figcaption em{font:italic 400 clamp(18px,1.6vw,21px) var(--font-display);letter-spacing:.01em;color:#ece2cc;text-transform:none}
.hs-photo figcaption span{font:400 10px var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:rgba(220,197,154,.8)}
@media (max-width:900px){
  .hs-photo{padding:28px 22px 8px}
  .hs-arch{width:min(78vw,380px);max-height:none}
  .hs-photo figcaption{display:grid}
  .hs-text{margin-top:0;padding-top:28px}
}
/* The house above its apartments */
.loc-house{margin:0 0 clamp(28px,4vw,44px);position:relative}
.loc-house img{width:100%;aspect-ratio:2/1;max-height:520px;object-fit:cover;object-position:50% 30%;display:block}
.loc-house figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:14px;font-size:14px;color:var(--muted)}
.loc-house figcaption em{font:italic 400 20px var(--font-display);color:var(--ink)}
@media (max-width:900px){
  .hero.hero-split{grid-template-columns:1fr}
  .hs-photo{height:auto;min-height:0;order:-1}
  .hs-text{padding:24px 22px 48px}
}

/* ===== Fresh hero: ivory and natural light, forest green type, the house in a clean frame ===== */
.hero.hero-split{--ink-h:#20302a;--soft:#5d625b;--g:#8a6a40;background:#f7f3ec;color:var(--ink-h);--ink:var(--ink-h);--muted:var(--soft);--brass-ink:var(--g)}
.hs-text{background:#f7f3ec}
.hs-photo{background:#f7f3ec}
.hs-brand{color:#8a6a40}
.hero-split h1{color:#20302a}
.hero-split h1 em{color:#8a6a40}
.hero-split .lede{color:#5d625b}
.hero-split .search{background:#fff;box-shadow:0 0 0 1px #e4dccd,0 30px 60px -36px rgba(32,48,42,.28)}
.hero-split .search .btn{background:#20302a;color:#f7f3ec}
.hero-split .search .btn:hover{background:#2f4a3b}
.hs-note{color:#8a7a62}
.hs-arch.fresh{border-radius:2px;aspect-ratio:4/5;box-shadow:0 40px 80px -46px rgba(32,48,42,.45)}
.hs-arch.fresh img{animation:hs-in 1.6s ease both}
.hs-photo figcaption em{color:#20302a}
.hs-photo figcaption span{color:#8a7a62}
/* header: light at the top */
.nav.top:not(.menu-open){background:#f7f3ec}
.nav.top:not(.menu-open) .brand{color:#8a6a40}
.nav.top:not(.menu-open) .links a:not(.btn){color:#4f5a52}
.nav.top:not(.menu-open) .links a:not(.btn):hover{color:#20302a}
.nav.top:not(.menu-open) .links .btn{background:#20302a;color:#f7f3ec;border-color:#20302a}
.nav.top:not(.menu-open) .links .btn:hover{background:#2f4a3b;border-color:#2f4a3b}
.nav.top:not(.menu-open) .menu span:not(.sr){background:#20302a}
.hero.hero-split{color-scheme:light}
.hero-split .search input,.hero-split .search select{color:#20302a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero.hero-split{--ink:#20302a}}
/* Footer lockup: smaller and quieter */
.lockup-bee{width:clamp(52px,5vw,64px);margin-bottom:12px}
.lockup-name{font-size:clamp(26px,3vw,34px);letter-spacing:.22em;margin-right:-.22em}
.lockup-stays{margin-top:10px;font-size:11px;gap:12px}
.lockup-stays::before,.lockup-stays::after{width:clamp(28px,4vw,44px)}
.lockup-tag{margin-top:16px;font-size:9.5px}
.foot-in{gap:28px}

/* ===== Fresh hero background: morning light through a sash window, a stone panel behind the photograph, linen grain ===== */
.hero.hero-split{background:linear-gradient(115deg,#fbf8f2 0%,#f6f1e7 45%,#efe7d8 100%)}
.hs-text,.hs-photo{background:transparent}
.hero.hero-split::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .22 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px;opacity:1}
.hs-text,.hs-photo{position:relative;z-index:1}
.hs-light{position:absolute;z-index:0;pointer-events:none;top:-10%;left:-6%;width:62%;height:120%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:4.5%;transform:skewX(-22deg) rotate(-4deg);filter:blur(18px);opacity:.75;animation:sunlight 3s .2s ease both}
.hs-light i{background:linear-gradient(160deg,rgba(255,252,244,.95),rgba(255,248,232,.35))}
@keyframes sunlight{from{opacity:0;transform:skewX(-22deg) rotate(-4deg) translateX(-4%)}}
.hero.hero-split::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 70% at 18% 20%,rgba(255,250,236,.7),transparent 70%)}
.hs-stone{position:absolute;z-index:0;top:14%;bottom:0;right:0;width:38%;background:linear-gradient(180deg,#e9e0cf,#e2d7c3);pointer-events:none}
.hs-stone::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:1px;background:#d6c9b2}
.hs-arch.fresh{box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 50px 90px -50px rgba(32,48,42,.5),0 0 0 1px rgba(32,48,42,.06)}
@media (max-width:900px){.hs-stone{top:0;bottom:auto;height:58%;width:100%}.hs-light{width:120%;left:-20%;height:70%}}
@media (prefers-reduced-motion:reduce){.hs-light{animation:none}}

/* ===== Hero (classic): centred welcome on deep green. Background: honeycomb lit by a soft overhead light, gentle vignette ===== */
.hero.hero-classic{--g:#dcc59a;--ink-h:#f2ebde;--soft:rgba(242,235,222,.76);--frame:clamp(14px,2.2vw,28px);
  position:relative;isolation:isolate;overflow:hidden;display:grid;align-items:center;
  margin-top:-68px;padding:calc(68px + clamp(56px,7.5vw,104px)) 0 clamp(100px,10vw,130px);min-height:clamp(640px,100svh,960px);
  background:#1b2822;color:var(--ink-h);--ink:var(--ink-h);--muted:var(--soft);--brass-ink:var(--g);color-scheme:dark}
.hc-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hc-bg span{position:absolute;inset:0}
.hc-bg::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 0%,#2c4136 0%,#22342b 38%,#1a2721 70%,#141e19 100%)}
.hc-comb{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90.00' height='51.96'%3E%3Cpath d='M0.00 25.98 L15.00 0.00 L45.00 0.00 L60.00 25.98 L45.00 51.96 L15.00 51.96 Z M60.00 25.98 H90.00' fill='none' stroke='%23dcc59a' stroke-width='.9'/%3E%3C/svg%3E");background-size:90.00px 51.96px;background-position:50% 40%;opacity:.16;-webkit-mask-image:radial-gradient(55% 60% at 50% 30%,#000 0%,rgba(0,0,0,.55) 45%,transparent 85%);mask-image:radial-gradient(55% 60% at 50% 30%,#000 0%,rgba(0,0,0,.55) 45%,transparent 85%);animation:comb-in 2.4s ease both}
@keyframes comb-in{from{opacity:0}}
.hc-spot{background:conic-gradient(from 180deg at 50% -8%,transparent 0deg,transparent 160deg,rgba(236,214,166,.10) 172deg,rgba(236,214,166,.16) 180deg,rgba(236,214,166,.10) 188deg,transparent 200deg,transparent 360deg);filter:blur(24px);-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.6) 55%,transparent 85%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.6) 55%,transparent 85%);animation:spot-in 3s .3s ease both}
@keyframes spot-in{from{opacity:0}}
.hc-spot::after{content:"";position:absolute;left:50%;top:22%;width:min(820px,95vw);height:420px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(232,212,166,.14),rgba(232,212,166,0))}
.hc-vig{background:radial-gradient(130% 100% at 50% 40%,transparent 55%,rgba(8,14,11,.55) 100%)}
.hero-classic .hero-frame{position:absolute;inset:var(--frame);top:calc(68px + var(--frame));pointer-events:none;z-index:-1;border:1px solid rgba(220,197,154,.24);animation:frame-in 1.8s .1s cubic-bezier(.2,.7,.2,1) both}
.hero-classic .hero-frame::before{content:"";position:absolute;inset:6px;border:1px solid rgba(220,197,154,.09)}
.hero-classic .hero-frame i{position:absolute;width:9px;height:9px;border:1px solid rgba(220,197,154,.75);background:#1f2f27;transform:rotate(45deg)}
.hero-classic .hero-frame i:nth-child(1){top:-5px;left:-5px}.hero-classic .hero-frame i:nth-child(2){top:-5px;right:-5px}.hero-classic .hero-frame i:nth-child(3){bottom:-5px;left:-5px;background:#161f1b}.hero-classic .hero-frame i:nth-child(4){bottom:-5px;right:-5px;background:#161f1b}
.hero-classic .hero-copy{max-width:920px;margin:0 auto;text-align:center;display:grid;justify-items:center}
.hero-classic .hero-copy>*{animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}
.hero-classic .hero-copy>:nth-child(2){animation-delay:.08s}.hero-classic .hero-copy>:nth-child(3){animation-delay:.18s}.hero-classic .hero-copy>:nth-child(4){animation-delay:.28s}.hero-classic .hero-copy>:nth-child(5){animation-delay:.38s}.hero-classic .hero-copy>:nth-child(6){animation-delay:.48s}
.hero-classic .hero-welcome{font:italic 400 clamp(17px,1.6vw,20px)/1 var(--font-display);color:var(--g);letter-spacing:.02em}
.hero-classic .hero-brand{display:grid;justify-items:center;color:var(--g);margin-top:16px}
.hero-classic .hero-bee{width:clamp(48px,4.4vw,60px);height:auto;aspect-ratio:112/64;margin-bottom:12px;filter:drop-shadow(0 0 12px rgba(220,197,154,.25))}
.hero-classic .hero-name{font:400 clamp(30px,3.6vw,46px)/1 var(--font-display);letter-spacing:.24em;margin-right:-.24em;text-transform:uppercase;color:var(--ink-h)}
.hero-classic .hero-stays{display:flex;align-items:center;gap:14px;margin-top:10px;font:300 11px/1 var(--font-body);letter-spacing:.62em;margin-right:-.62em;text-transform:uppercase}
.hero-classic .hero-stays::before,.hero-classic .hero-stays::after{content:"";width:clamp(28px,3.4vw,46px);height:1px;background:currentColor;opacity:.6}
.hero-classic .hero-stays::after{margin-left:-.62em}
.hero-classic h1{margin-top:clamp(28px,3.4vw,40px);font:italic 400 clamp(30px,3.6vw,48px)/1.15 var(--font-display);letter-spacing:0;color:var(--ink-h);text-wrap:balance;max-width:none}
.hero-classic h1::before{content:"";display:block;width:7px;height:7px;margin:0 auto clamp(24px,2.8vw,32px);border:1px solid rgba(220,197,154,.7);transform:rotate(45deg)}
.hero-classic h1 em{color:var(--g)}
.hero-classic .lede{max-width:56ch;text-wrap:balance;margin:20px auto 0;font:400 clamp(15px,1.4vw,17px)/1.6 var(--font-body);color:var(--soft)}
.hero-classic .search{width:100%;max-width:820px;margin-top:40px;text-align:left;display:grid;grid-template-columns:1fr 1fr .55fr auto;--ink:#1f2b26;--muted:#6b6f68;--brass-ink:#7a5f3f;color:var(--ink);background:rgba(250,246,238,.97);border:1px solid rgba(220,197,154,.45);padding:0;box-shadow:0 34px 70px -40px rgba(0,0,0,.75)}
.hero-classic .search .field{padding:12px 14px;border-right:1px solid #e3d9c7}
.hero-classic .search .field:nth-child(3){border-right:0}
.hero-classic .search .field span{font-size:10px}
.hero-classic .search input,.hero-classic .search select{color:#1f2b26;background:transparent}
.hero-classic .search .btn{grid-column:auto;background:#dcc59a;color:#1a2520;border:0;padding:15px 26px;letter-spacing:.2em;font-size:12px}
.hero-classic .search .btn::after{content:none}
.hero-classic .search .btn:hover{background:#e8d6b2}
.hero-classic .search .form-msg{grid-column:1/-1}
.hero-classic .hero-also{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 12px;margin-top:24px;font-size:13px;color:var(--soft)}
.hero-classic .hero-also i{font-style:normal;color:var(--g);opacity:.7}
.hero-classic .hero-also span{font:italic 400 15px var(--font-display);color:var(--g);width:auto}
.hero-classic .hero-also a{color:var(--soft);text-decoration:none;border-bottom:1px solid rgba(220,197,154,.35);padding-bottom:1px}
.hero-classic .hero-also a:hover{color:var(--ink-h);border-color:var(--ink-h)}
.hero-classic .hero-foot{position:absolute;left:calc(var(--frame) + 28px);right:calc(var(--frame) + 28px);bottom:calc(var(--frame) + 22px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font:400 10px var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:rgba(220,197,154,.75);animation:rise 1.2s .8s cubic-bezier(.2,.7,.2,1) both}
.hero-classic .hero-foot>span:last-child{text-align:right}
@media (max-width:1240px) and (min-width:981px){.hero-classic .search{grid-template-columns:1fr 1fr .55fr}.hero-classic .search .btn{grid-column:1/-1}}
@media (max-width:900px){.hero-classic .hero-foot{display:none}}
@media (max-width:640px){.hero.hero-classic{min-height:100svh;padding-bottom:64px}.hero-classic .hero-frame::before{display:none}.hero-classic .hero-in{padding-inline:30px}.hero-classic .search{grid-template-columns:1fr 1fr;margin-top:30px}.hero-classic .search .field:nth-child(2){border-right:0}.hero-classic .search .field:nth-child(3){grid-column:1/-1;border-top:1px solid #e3d9c7}.hero-classic .search .btn{grid-column:1/-1;padding:16px}}
@media (prefers-reduced-motion:reduce){.hc-comb,.hc-spot{animation:none}}
/* header over the green hero: transparent, light text */
.nav.top:not(.menu-open){background:transparent}
.nav.top:not(.menu-open) .brand{color:#dcc59a}
.nav.top:not(.menu-open) .links a:not(.btn){color:rgba(242,235,222,.78)}
.nav.top:not(.menu-open) .links a:not(.btn):hover{color:#f2ebde}
.nav.top:not(.menu-open) .links .btn{background:transparent;color:#dcc59a;border-color:rgba(220,197,154,.6)}
.nav.top:not(.menu-open) .links .btn:hover{background:#dcc59a;color:#1a2520}
.nav.top:not(.menu-open) .menu span:not(.sr){background:#f2ebde}
.links a:not(.btn){font:400 14px var(--font-body);letter-spacing:normal;text-transform:none}
.hero-classic .search{color-scheme:light}
.hero-classic .hero-dot{width:5px;height:5px;border:1px solid rgba(220,197,154,.8);transform:rotate(45deg);justify-self:center}

/* ===== Hero triptych: London, brunch, home ===== */
.hero.hero-classic{padding-top:calc(68px + clamp(40px,5.5vw,76px));padding-bottom:clamp(36px,4vw,56px);align-items:start;align-content:center}
.hero-classic .search{margin-top:32px}
.hero-tri{position:relative;z-index:1;width:min(1060px,calc(100% - 2*var(--gutter) - 48px));margin:clamp(34px,4.5vh,52px) auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);animation:rise 1.2s .6s cubic-bezier(.2,.7,.2,1) both}
.tri{position:relative;display:block;text-decoration:none;color:#f2ebde;aspect-ratio:16/9;overflow:hidden;box-shadow:0 0 0 1px rgba(220,197,154,.35),0 30px 50px -30px rgba(0,0,0,.7)}
.tri-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.4s ease,transform 6s ease}
.tri-img img.on{opacity:1;transform:scale(1)}
.tri::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,24,20,0) 35%,rgba(16,24,20,.78));transition:background .4s}
.tri::before{content:"";position:absolute;inset:8px;border:1px solid rgba(242,235,222,0);z-index:2;transition:border-color .5s;pointer-events:none}
.tri:hover::before,.tri:focus-visible::before{border-color:rgba(242,235,222,.6)}
.tri-cap{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;display:grid;gap:3px}
.tri-cap small{font:400 9.5px var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:#dcc59a}
.tri-cap b{font:italic 400 clamp(18px,1.6vw,22px)/1.15 var(--font-display)}
.tri-cap b::after{content:" →";font-style:normal;font-size:.8em;opacity:0;transition:opacity .3s}
.tri:hover .tri-cap b::after{opacity:1}
.tri-dots{position:absolute;top:14px;right:14px;z-index:2;display:flex;gap:4px}
.tri-dots b{width:5px;height:5px;border-radius:50%;background:rgba(242,235,222,.45)}
.tri-dots b.on{background:#f2ebde}
.tri:focus-visible{outline:2px solid #dcc59a;outline-offset:3px}
@media (max-width:900px){.hero-tri{grid-template-columns:repeat(3,72%);overflow-x:auto;scroll-snap-type:x mandatory;width:auto;margin-inline:0;padding:0 30px 8px;scrollbar-width:none}.tri{scroll-snap-align:center}}
@media (max-height:820px) and (min-width:901px){.hero-tri{width:min(900px,calc(100% - 96px))}}

/* ===== Navigation that tells you where you are ===== */
.links a:not(.btn){position:relative}
.links a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.links a:not(.btn):hover::after,.links a.is-on::after{transform:scaleX(1)}
.links a.is-on{color:var(--ink)}
.nav.top .links a.is-on::after{transform:scaleX(0)}
@media (max-width:900px){.links a:not(.btn)::after{display:none}.links a.is-on{color:var(--brass-ink)}}
.to-top{position:fixed;right:clamp(16px,2.4vw,32px);bottom:clamp(16px,2.4vw,32px);z-index:40;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 14px 30px -16px rgba(0,0,0,.35);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .35s,transform .35s,background .25s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--ink);color:var(--bg)}
.to-top svg{width:20px;height:20px}
@media (max-width:900px){.to-top{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
/* Footer quick links */
.foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;font:400 11px var(--font-body);letter-spacing:.2em;text-transform:uppercase}
.foot-nav a{color:rgba(242,235,222,.78);text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.foot-nav a:hover{color:#f2ebde;border-color:rgba(220,197,154,.6)}
.foot-nav a:last-child{color:#dcc59a}
/* Calmer section rhythm and a clear end to each section */
.band{scroll-margin-top:68px}
.loc-next{border-style:solid;border-color:color-mix(in srgb,var(--brass) 35%,transparent)}

.statement-q{font-weight:400}
.statement-body{margin-top:18px;max-width:60ch;color:var(--muted);font-size:clamp(15px,1.3vw,16.5px);line-height:1.7;text-wrap:pretty}
#about{scroll-margin-top:68px}

/* Contact, in the footer */
.foot-cta{display:grid;justify-items:center;gap:12px;text-align:center;max-width:560px;padding:28px 0 6px;border-top:1px solid rgba(220,197,154,.18)}
.foot-cta-k{font:italic 400 clamp(24px,2.4vw,30px)/1.1 var(--font-display);color:#f2ebde}
.foot-cta-t{font-size:14.5px;line-height:1.6;color:rgba(242,235,222,.7)}
.foot-cta-b{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}
.foot .btn-ghost{color:#f2ebde;border-color:rgba(242,235,222,.45);background:transparent}
.foot .btn-ghost:hover{background:#f2ebde;color:#1a2520}
.links{gap:28px}
@media (max-width:1120px) and (min-width:901px){.links{gap:18px}.links a:not(.btn){font-size:13px}}
.foot .btn-light{background:#f2ebde;color:#1a2520;border-color:#f2ebde}
.foot .btn-light:hover{background:#dcc59a;border-color:#dcc59a;color:#1a2520}
.statement-more{margin-top:22px}
.links{gap:34px}

/* Apartment sheet: the photo sits on a soft, blurred copy of itself instead of black bars */
.sh-gallery{background:#1b2822}
.hero-shot{background:#1b2822}
.shot-bd{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(32px) saturate(.9) brightness(.8);transform:scale(1.1);transition:background-image .4s}
.hero-shot img{z-index:1;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}
.hero-shot .zoom{z-index:2}
@media (max-width:900px){.shot-bd{display:none}}

/* Wordmark: BEE◆ONE, one name, joined by a small gold diamond */
.wm-dot{display:inline-block;width:.15em;height:.15em;margin:0 .3em 0 0;background:currentColor;transform:rotate(45deg);vertical-align:.3em;opacity:.9}
.brand-word b,.hero-name,.lockup-name{white-space:nowrap}
.hero-name .wm-dot,.lockup-name .wm-dot{color:#dcc59a}
.brand-word .wm-dot{color:inherit}
.hero-classic .hero-name{font-weight:500;letter-spacing:.3em;margin-right:-.3em;text-shadow:0 1px 0 rgba(0,0,0,.25)}
.hero-classic .hero-stays{letter-spacing:.7em;margin-right:-.7em;color:#dcc59a}
.lockup-name{font-weight:500}
.brand-word b i.wm-dot{display:inline-block;max-height:none;overflow:visible;gap:0;font:inherit;letter-spacing:0;margin:0 .3em 0 0;opacity:.9;transition:none}
.brand-word b i.wm-dot::before,.brand-word b i.wm-dot::after{content:none}
.nav.scrolled .brand-word b i.wm-dot{max-height:none;opacity:.9}

/* Footer: same links as the top menu, then contact, then the fine print */
.foot-nav a:last-child{color:rgba(242,235,222,.78)}
.foot-legal a{color:rgba(242,235,222,.75)}
.foot-in{gap:30px}
.links{gap:30px}
@media (max-width:1180px) and (min-width:901px){.links{gap:16px}.links a:not(.btn){font-size:13px}.links .btn{padding-inline:14px}}

/* In every apartment: icon strip */
.incl{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px 36px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.incl-k{font:italic 400 clamp(20px,1.8vw,24px) var(--font-display);color:var(--ink);white-space:nowrap}
.incl ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px 30px}
.incl li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.incl .ico{width:22px;height:22px;color:var(--brass-ink)}
@media (max-width:900px){.incl{grid-template-columns:1fr;gap:16px}.incl ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}}
/* Card: a quiet "Book" cue on the photo */
.card .quick{position:absolute;left:50%;bottom:22px;z-index:3;transform:translate(-50%,8px);opacity:0;background:rgba(250,246,238,.95);color:#1f2b26;font:400 10.5px var(--font-body);letter-spacing:.22em;text-transform:uppercase;padding:11px 18px;transition:opacity .35s,transform .35s;pointer-events:none;white-space:nowrap}
.card:hover .quick{opacity:1;transform:translate(-50%,0)}
@media (hover:none){.card .quick{display:none}}
@media (max-width:900px){.incl .text-link{justify-self:start}}

/* Long-form legal dialogs: booking terms, privacy */
.dlg-legal{max-width:680px}
.dlg-legal .dlg-date{font-size:12px;letter-spacing:.06em;color:var(--muted);margin:-4px 0 14px}
.dlg-legal ul{margin:8px 0 10px;padding-left:18px;color:var(--muted);font-size:15px;line-height:1.6}
.dlg-legal li{margin:4px 0}
.dlg-legal li b,.dlg-legal p b{color:var(--ink);font-weight:500}
.dlg-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.dlg-legal p+p{margin-top:8px}
.dlg-legal .dlg-x{position:sticky;top:-12px;z-index:2}
.dlg-legal .dlg-x button{background:var(--bg);border-radius:50%}

/* ===== Vista: cinematic Fleet Street interlude ===== */
.vista{position:relative;isolation:isolate;overflow:hidden;min-height:min(92vh,860px);display:grid;align-items:end;color:#f3ede2;background:#14201b}
.vista-img{position:absolute;inset:-12% 0;z-index:-2}
.vista-img img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:saturate(.78) contrast(1.06) brightness(.92);transform:translate3d(0,var(--py,0px),0) scale(1.06);will-change:transform}
.vista-shade{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(120% 90% at 50% 20%,transparent 30%,rgba(10,18,14,.55) 100%),
  linear-gradient(180deg,rgba(14,24,19,.25) 0%,rgba(14,24,19,.15) 30%,rgba(14,24,19,.78) 66%,rgba(14,24,19,.96) 100%)}
.vista-shade::after{content:"";position:absolute;inset:0;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.vista::before{content:"";position:absolute;inset:18px;border:1px solid rgba(201,170,120,.28);pointer-events:none;z-index:0}
.vista-in{position:relative;padding-block:clamp(120px,22vh,220px) clamp(56px,8vw,96px)}
.vista-k{color:#cdb289;display:flex;align-items:center;gap:14px}
.vista-k::before{content:"";width:44px;height:1px;background:#c4a77c}
.vista-k i{font-style:normal;color:#c4a77c}
.vista-q{font:400 clamp(40px,6.2vw,92px)/1.02 var(--font-display);letter-spacing:-.015em;color:#f6f0e4;margin:10px 0 0;max-width:15ch;text-wrap:initial}
.vista-q em{font-style:italic;color:#d9bd8c}
.vl{display:block;overflow:hidden;padding-bottom:.08em}
.vl>span{display:inline-block;transition:transform 1.3s cubic-bezier(.19,1,.22,1),opacity 1.3s}
.vl+.vl>span{transition-delay:.14s}
.vista.pre .vl>span{transform:translateY(105%);opacity:0}
.vista-lead{max-width:52ch;margin:22px 0 0;color:rgba(243,237,226,.78);font-size:clamp(15px,1.25vw,17px);line-height:1.7;transition:opacity 1.2s .35s,transform 1.2s .35s cubic-bezier(.19,1,.22,1)}
.vista-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:clamp(40px,6vw,72px) 0 0;border-top:1px solid rgba(201,170,120,.35)}
.vista-stats>div{padding:22px 22px 0 0;transition:opacity 1.1s,transform 1.1s cubic-bezier(.19,1,.22,1)}
.vista-stats>div+div{padding-left:24px;border-left:1px solid rgba(201,170,120,.22)}
.vista-stats dt{display:flex;align-items:baseline;gap:6px;margin:0}
.vista-stats b{font:400 clamp(44px,4.6vw,68px)/1 var(--font-display);color:#f6f0e4;font-variant-numeric:lining-nums tabular-nums}
.vista-stats small{font:400 11px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:#cdb289}
.vista-stats dd{margin:8px 0 0;font-size:14px;line-height:1.5;color:rgba(243,237,226,.72);max-width:24ch}
.vista-link{margin-top:clamp(32px,4vw,44px);color:#f3ede2;border-color:#c4a77c;transition:opacity 1.1s .6s,letter-spacing .4s}
.vista-link:hover{letter-spacing:.26em}
.vista.pre .vista-lead,.vista.pre .vista-link{opacity:0;transform:translateY(16px)}
.vista.pre .vista-stats>div{opacity:0;transform:translateY(22px)}
.vista .vista-stats>div:nth-child(2){transition-delay:.5s}.vista .vista-stats>div:nth-child(3){transition-delay:.62s}.vista .vista-stats>div:nth-child(4){transition-delay:.74s}.vista .vista-stats>div:nth-child(1){transition-delay:.38s}
@media (max-width:900px){
  .vista{min-height:auto}
  .vista::before{inset:10px}
  .vista-in{padding-block:clamp(220px,52vw,320px) 56px}
  .vista-stats{grid-template-columns:1fr 1fr}
  .vista-stats>div{padding:18px 12px 20px 0}
  .vista-stats>div+div{padding-left:0;border-left:0}
  .vista-stats>div:nth-child(even){padding-left:18px;border-left:1px solid rgba(201,170,120,.22)}
  .vista-stats>div:nth-child(n+3){border-top:1px solid rgba(201,170,120,.22)}
  .vista-img{inset:0 0 auto;height:62%}
  .vista-shade{background:linear-gradient(180deg,rgba(14,24,19,.1) 0%,rgba(14,24,19,.35) 30%,rgba(14,24,19,.92) 52%,#14201b 64%)}
}
@media (prefers-reduced-motion:reduce){.vista-img img{transform:none}}

/* ===== Gilded sheen on booking buttons ===== */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;inset:-2px auto -2px -60%;width:45%;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(232,206,150,.38),transparent);transform:skewX(-18deg) translateX(0);transition:transform 0s}
.btn:hover::after{transform:skewX(-18deg) translateX(420%);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.btn::after{display:none}}

/* ===== Reviews: quiet band until real reviews exist ===== */
.tm-band.is-empty{padding-block:clamp(44px,6vw,72px)}
.tm-band.is-empty .tm-head{margin-bottom:6px}
.tm-band.is-empty .tm-empty{padding:0}
.tm-band.is-empty .tm-cta{margin-top:18px}
.hero-classic .search .btn::after{content:""}
/* Vista v2: show the whole street at its natural, panoramic proportion */
.vista{min-height:0;align-items:start}
.vista-img{inset:0 0 auto;height:auto;aspect-ratio:1055/472;overflow:hidden}
.vista-img img{object-position:50% 50%;transform:translate3d(0,var(--py,0px),0) scale(1.08)}
.vista-shade{inset:0 0 auto;height:auto;aspect-ratio:1055/472;background:
  radial-gradient(110% 80% at 50% 30%,transparent 35%,rgba(10,18,14,.45) 100%),
  linear-gradient(180deg,rgba(20,32,27,.30) 0%,rgba(20,32,27,.12) 22%,rgba(20,32,27,.55) 55%,rgba(20,32,27,.94) 86%,#14201b 100%)}
.vista-in{padding-block:clamp(150px,25vw,400px) clamp(64px,8vw,104px)}
.vista-q{max-width:none}
.vista-q .vl{display:inline-block;vertical-align:top}
@media (max-width:900px){
  .vista-img,.vista-shade{aspect-ratio:auto;height:min(78vw,420px)}
  .vista-img img{object-position:58% 50%}
  .vista-shade{background:linear-gradient(180deg,rgba(20,32,27,.2) 0%,rgba(20,32,27,.35) 40%,rgba(20,32,27,.9) 80%,#14201b 100%)}
  .vista-in{padding-block:min(56vw,300px) 56px}
  .vista-q .vl{display:block}
}
.vista-shade::after{content:none}
.vista::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.vista-shade{background:
  radial-gradient(110% 80% at 50% 30%,transparent 35%,rgba(10,18,14,.45) 100%),
  linear-gradient(180deg,rgba(20,32,27,.30) 0%,rgba(20,32,27,.12) 22%,rgba(20,32,27,.6) 55%,#14201b 90%)}
.vista-in{z-index:1}
@media (max-width:900px){.vista-shade{background:linear-gradient(180deg,rgba(20,32,27,.2) 0%,rgba(20,32,27,.35) 40%,rgba(20,32,27,.92) 78%,#14201b 94%)}}
.vista-img,.vista-shade{-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 99%);mask-image:linear-gradient(180deg,#000 62%,transparent 99%)}
.tm-band.is-empty .tm-empty{margin-top:18px}

/* ===== Reservation bar (desktop) ===== */
.rbar{display:none}
@media (min-width:901px){
  .rbar{display:block;position:fixed;left:50%;bottom:22px;z-index:44;width:min(1040px,calc(100% - 220px));transform:translate(-50%,calc(100% + 40px));opacity:0;transition:transform .6s cubic-bezier(.19,1,.22,1),opacity .4s;pointer-events:none}
  .rbar.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
}
.rbar-in{display:grid;grid-template-columns:auto 1fr 1fr .6fr auto;align-items:stretch;background:#14201b;color:#f2ebde;border:1px solid rgba(220,197,154,.35);box-shadow:0 24px 48px -20px rgba(8,14,11,.55),inset 0 0 0 4px #14201b,inset 0 0 0 5px rgba(220,197,154,.14)}
.rbar-k{display:grid;align-content:center;gap:3px;padding:12px 24px;border-right:1px solid rgba(220,197,154,.2)}
.rbar-k b{font:500 15px/1 var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:#dcc59a;white-space:nowrap}
.rbar-k span{font:400 10px/1.3 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:rgba(242,235,222,.6);white-space:nowrap}
.rbar-f{display:grid;align-content:center;gap:2px;padding:10px 18px;border-right:1px solid rgba(220,197,154,.2);cursor:pointer;min-width:0}
.rbar-f span{font:400 9.5px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:#cdb289}
.rbar-f input,.rbar-f select{background:transparent;border:0;padding:2px 0;color:#f2ebde;font:300 15px var(--font-body);color-scheme:dark;width:100%;min-width:0;outline-offset:4px}
.rbar-f select option{color:#1f2b26}
.rbar-f input[aria-invalid="true"]{color:#f0b3a6}
.rbar .btn{border-radius:0;margin:6px;padding:0 26px;background:#dcc59a;border-color:#dcc59a;color:#14201b;white-space:nowrap}
.rbar .btn:hover{background:#e8d6b0}
@media (max-width:1100px){.rbar-k span{display:none}.rbar-k{padding:10px 18px}}

/* ===== Book direct benefits (booking form) ===== */
.direct{list-style:none;margin:4px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:7px}
.direct li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted)}
.direct li::before{content:"";width:14px;height:8px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 8'%3E%3Cpath d='M1 4h11M9 1l3 3-3 3' fill='none' stroke='%239a7b55' stroke-width='1.2'/%3E%3C/svg%3E") center/contain no-repeat}

/* ===== Grand-hotel footer ===== */
.foot-in{display:block;text-align:left;justify-items:stretch}
.foot-top{display:grid;grid-template-columns:1fr minmax(0,460px);gap:48px;align-items:center;padding-bottom:clamp(40px,5vw,56px);border-bottom:1px solid rgba(220,197,154,.18)}
.foot .lockup{justify-items:start;justify-self:start}
.foot .lockup-name{margin-right:0}
.foot-news-k{font:italic 400 clamp(24px,2.4vw,30px)/1.1 var(--font-display);color:#f2ebde;margin:0}
.foot-news-t{font-size:14px;line-height:1.6;color:rgba(242,235,222,.68);margin:8px 0 16px}
.foot-news-row{display:flex;border-bottom:1px solid rgba(220,197,154,.45)}
.foot-news-row input{flex:1;min-width:0;background:transparent;border:0;padding:12px 0;color:#f2ebde;font:300 15px var(--font-body)}
.foot-news-row input::placeholder{color:rgba(242,235,222,.45)}
.foot-news-row .btn{margin:6px 0;align-self:center}
.foot-news .check{margin-top:12px;font-size:12px;color:rgba(242,235,222,.6)}
.foot-news .check span{line-height:1.5}
.foot-news .form-msg{margin-top:6px}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.5fr);gap:32px;padding-block:clamp(40px,5vw,56px)}
.foot-cols nav,.foot-reach{display:grid;align-content:start;justify-items:start;gap:12px}
.foot-h{font:400 10.5px var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:#dcc59a;margin:0 0 6px}
.foot-cols a:not(.btn),.foot-cols .linklike{font:300 15px var(--font-body);color:rgba(242,235,222,.85);text-decoration:none;border:0;padding:0;background:none;cursor:pointer;transition:color .25s}
.foot-cols a:not(.btn):hover,.foot-cols .linklike:hover{color:#dcc59a}
.foot-reach .foot-cta-t{margin:0;max-width:36ch}
.foot .foot-contact{justify-content:flex-start;gap:12px 36px}
.foot-reach .btn{margin-top:6px}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;text-align:left;line-height:1.6}
@media (max-width:900px){
  .foot-top{grid-template-columns:1fr;gap:36px}
  .foot .lockup{justify-items:center;justify-self:center}
  .foot-cols{grid-template-columns:1fr 1fr;gap:32px 20px}
  .foot-reach{grid-column:1/-1}
  .foot-legal{justify-content:center;text-align:center}
}
