/* Corporate Stays — design system V2.2 (proposal). Concept A / Typography A. */
:root{
  --navy:#14284B;--ivory:#FAF8F4;--stone:#E8E2D6;--slate:#4A5A70;--brass:#B8893E;--deep-brass:#8A6426;--mist:#A9B4C2;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'DM Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --ease-ed:cubic-bezier(.22,1,.36,1);--ease-std:cubic-bezier(.4,0,.2,1);
  --dur-fast:200ms;--dur-base:400ms;--dur-slow:800ms;--dur-hero:1200ms;
  --m:80px;--g:24px;--sec:128px;--sec-xl:160px;--sec-s:96px;--bar:28px;--navh:80px;
}
@media (max-width:1199px){:root{--m:48px;--sec:96px;--sec-xl:112px;--sec-s:72px}}
@media (max-width:767px){:root{--m:16px;--g:16px;--sec:64px;--sec-xl:72px;--sec-s:48px;--navh:64px}}
html{background:var(--navy);scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0}
.cs{font-family:var(--sans);font-size:17px;line-height:1.55;color:var(--navy);background:var(--ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;min-height:100vh;display:flex;flex-direction:column}
.cs *,.cs *::before,.cs *::after{box-sizing:border-box}
.cs img{display:block;max-width:100%}
.cs h1,.cs h2,.cs h3,.cs h4,.cs p,.cs dl,.cs dd,.cs figure,.cs ul,.cs ol,.cs blockquote{margin:0}
.cs ul,.cs ol{padding:0;list-style:none}
:where(.cs) a{color:inherit}
:where(.cs) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.cs :focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.cs .dk :focus-visible,.cs .dk:focus-visible{outline-color:var(--ivory)}
.cs>main{flex:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type (fluid) ---------- */
.t-display,.t-h1,.t-h2,.t-h3,.t-pn{font-family:var(--serif);font-weight:400;letter-spacing:-.012em;text-wrap:balance}
.t-display{font-size:clamp(56px,6.6vw,100px);line-height:.98}
.t-h1{font-size:clamp(42px,5vw,76px);line-height:1}
.t-h2{font-size:clamp(34px,3.7vw,56px);line-height:1.04}
.t-h3{font-size:clamp(27px,2.4vw,36px);line-height:1.08}
.t-pn{font-size:clamp(24px,1.9vw,30px);line-height:1.08}
.t-lead{font-size:clamp(18px,1.4vw,20px);line-height:1.45;text-wrap:pretty}
.t-body{font-size:17px;line-height:1.6;text-wrap:pretty}
.t-small{font-size:15px;line-height:1.5}
.t-fine{font-size:13px;line-height:1.5}
.t-lbl{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}
.t-data{font-family:var(--mono);font-size:14px;letter-spacing:.03em;line-height:1.55}
.it{font-style:italic}
.c-brass{color:var(--brass)}.c-dbrass{color:var(--deep-brass)}.c-slate{color:var(--slate)}.c-stone{color:var(--stone)}.c-ivory{color:var(--ivory)}.c-navy{color:var(--navy)}
@media (max-width:767px){.t-body{font-size:16px}.t-lbl{font-size:11px}.t-data{font-size:13px}}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:1440px;margin:0 auto;padding-inline:var(--m)}
.wrap--narrow{max-width:1120px}
.sec{padding-block:var(--sec)}.sec-xl{padding-block:var(--sec-xl)}.sec-s{padding-block:var(--sec-s)}
.bg-navy{background:var(--navy);color:var(--ivory)}.bg-ivory{background:var(--ivory)}.bg-stone{background:var(--stone)}
.hair{height:1px;background:var(--mist);border:0;margin:0}
.center{text-align:center}
.stack{display:flex;flex-direction:column}
.row{display:flex;align-items:center}
.top-pad{padding-top:calc(var(--bar) + var(--navh))}
.rule{display:block;height:1px;background:var(--mist);border:0}

/* ---------- buttons & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.01em;text-decoration:none;background:var(--navy);color:var(--ivory);border:0;border-radius:0;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-std),color var(--dur-fast) var(--ease-std)}
.btn:hover{background:var(--slate)}
.btn--lt{background:var(--ivory);color:var(--navy)}.btn--lt:hover{background:var(--stone)}
.btn--ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1px currentColor}.btn--ghost:hover{background:var(--stone)}
.dk .btn--ghost{color:var(--ivory)}.dk .btn--ghost:hover{background:var(--ivory);color:var(--navy)}
.btn--full{width:100%;white-space:normal;text-align:center;line-height:1.25;padding-block:12px}
.btn svg{width:16px;height:16px;flex:none}
.lnk{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;text-decoration:none;padding-block:10px;cursor:pointer;min-height:44px}
.lnk::before{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;opacity:.3}
.lnk::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease-ed)}
.lnk:hover::after,.lnk:focus-visible::after,.card:hover .lnk::after,.card:focus-within .lnk::after{transform:scaleX(1)}
.lnk svg{width:14px;height:14px;transition:transform var(--dur-base) var(--ease-ed)}
.lnk:hover svg,.card:hover .lnk svg{transform:translateX(3px)}
.lnk--mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:400}

/* ---------- discreet tags ---------- */
.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;line-height:1;padding:6px 8px;background:rgba(20,40,75,.72);color:var(--ivory);white-space:nowrap}
.tag--line{background:transparent;color:var(--slate);box-shadow:inset 0 0 0 1px var(--mist)}
.dk .tag--line{color:var(--stone);box-shadow:inset 0 0 0 1px rgba(169,180,194,.6)}
.tag--solid{background:var(--navy)}
.note{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.dk .note{color:var(--stone)}
.note::before{content:"";width:6px;height:6px;border:1px solid currentColor;flex:none}

/* ---------- media ---------- */
.media{position:relative;overflow:hidden;background:var(--stone);isolation:isolate}
.dk .media{background:var(--slate)}
.media>img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-ed),opacity var(--dur-slow) var(--ease-ed)}
.media .tag{position:absolute;z-index:2}
.media .tl{top:12px;left:12px}.media .tr{top:12px;right:12px}.media .br{right:12px;bottom:12px}.media .bl{left:12px;bottom:12px}
.r45{aspect-ratio:4/5}.r43{aspect-ratio:4/3}.r32{aspect-ratio:3/2}.r169{aspect-ratio:16/9}.r11{aspect-ratio:1}
.card:hover .media>img,.card:focus-within .media>img{transform:scale(1.03)}

/* ---------- prototype bar + nav ---------- */
.pbar{position:fixed;top:0;left:0;right:0;height:var(--bar);z-index:90;background:var(--navy);color:var(--stone);border-bottom:1px solid rgba(169,180,194,.22)}
.pbar .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:11px;letter-spacing:.08em}
.pbar .dom{color:var(--ivory);display:inline-block;animation:domIn 700ms var(--ease-ed);text-transform:none;letter-spacing:.04em}
.pbar a{color:var(--ivory);text-decoration:none;display:inline-flex;align-items:center;min-height:28px;padding-inline:10px;text-transform:uppercase;border-left:1px solid rgba(169,180,194,.3)}
.pbar a:hover{color:var(--brass)}
@keyframes domIn{0%{opacity:0;transform:translateY(6px)}40%{opacity:0}100%{opacity:1;transform:none}}
.nav{position:fixed;top:var(--bar);left:0;right:0;z-index:80;height:var(--navh);background:var(--ivory);color:var(--navy);border-bottom:1px solid rgba(169,180,194,.7);transition:height var(--dur-base) var(--ease-std),background var(--dur-base) var(--ease-std),color var(--dur-base) var(--ease-std),border-color var(--dur-base) var(--ease-std)}
.nav.is-ov{background:transparent;color:var(--ivory);border-bottom-color:rgba(250,248,244,.18)}
.nav.is-sc{height:64px}
.nav .wrap{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;min-height:44px}
.brand img{height:34px;width:auto;transition:height var(--dur-base) var(--ease-std)}
.nav.is-sc .brand img{height:30px}
.brand .lg-w{display:none}
.nav.is-ov .brand .lg-n{display:none}.nav.is-ov .brand .lg-w{display:block}
.brand .sub{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding-left:14px;border-left:1px solid currentColor;line-height:1.2}
.nav-links{display:flex;gap:2px;align-items:center}
.nav-links a{font-size:14.5px;font-weight:500;letter-spacing:.01em;text-decoration:none;padding:12px 14px;position:relative;min-height:44px;display:inline-flex;align-items:center}
.nav-links a::after{content:"";position:absolute;left:14px;right:14px;bottom:9px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease-ed)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-right{display:flex;justify-content:flex-end;align-items:center;gap:14px}
.nav .contact{font-size:14.5px;font-weight:600;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 18px;box-shadow:inset 0 0 0 1px currentColor;transition:background var(--dur-fast),color var(--dur-fast)}
.nav .contact:hover{background:var(--navy);color:var(--ivory)}
.nav.is-ov .contact:hover{background:var(--ivory);color:var(--navy)}
.menu-btn{display:none;width:44px;height:44px;align-items:center;justify-content:center}
.menu-btn svg{width:24px;height:24px}

/* ecosystem switch */
.es{display:flex;align-items:stretch}
.es-i{position:relative}
.es-i>a{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 14px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;box-shadow:inset 0 0 0 1px currentColor;transition:background var(--dur-fast),color var(--dur-fast)}
.es-i+.es-i>a{margin-left:-1px}
.es-i>a[aria-current="page"]{background:var(--navy);color:var(--ivory);box-shadow:inset 0 0 0 1px var(--navy)}
.es-i>a[aria-current="page"]::before{content:"";width:5px;height:5px;background:var(--brass)}
.dk .es-i>a[aria-current="page"],.nav.is-ov .es-i>a[aria-current="page"]{background:var(--ivory);color:var(--navy);box-shadow:inset 0 0 0 1px var(--ivory)}
.es-i>a:not([aria-current]):hover{background:var(--stone)}
.dk .es-i>a:not([aria-current]):hover{background:rgba(250,248,244,.12)}
.peek{position:absolute;top:calc(100% + 12px);right:0;width:320px;background:var(--ivory);color:var(--navy);border:1px solid var(--mist);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity var(--dur-base) var(--ease-ed),transform var(--dur-base) var(--ease-ed),visibility 0s linear var(--dur-base);z-index:5}
.es-i:hover .peek,.es-i:focus-within .peek{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.peek .media{aspect-ratio:16/10}
.peek-b{padding:16px 18px 8px;display:flex;flex-direction:column;gap:4px}
.peek-b p{font-size:14.5px;line-height:1.45}

/* mobile sheet */
.sheet{position:fixed;inset:0;z-index:95;background:var(--navy);color:var(--ivory);display:flex;flex-direction:column;animation:fadeIn var(--dur-base) var(--ease-ed)}
.sheet-top{display:flex;align-items:center;justify-content:space-between;height:64px;padding-inline:16px;border-bottom:1px solid rgba(169,180,194,.3)}
.sheet-top img{height:28px;width:auto}
.sheet .es{padding:16px}.sheet .es-i{flex:1}.sheet .es-i>a{width:100%;height:52px}
.sheet nav{flex:1;overflow:auto;padding:8px 16px}
.sheet nav a{display:block;font-family:var(--serif);font-size:28px;line-height:1.1;padding:14px 0;text-decoration:none;border-bottom:1px solid rgba(169,180,194,.3)}
.sheet-foot{padding:16px;border-top:1px solid rgba(169,180,194,.3)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* cross-site wipe */
.wipe{position:fixed;left:0;right:0;top:var(--bar);bottom:0;z-index:85;pointer-events:none;animation:wipe 700ms forwards}
.wipe--navy{background:var(--navy)}.wipe--ivory{background:var(--ivory)}
@keyframes wipe{0%{transform:translateY(100%);animation-timing-function:cubic-bezier(.6,0,.4,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(.22,1,.36,1)}100%{transform:translateY(-100%)}}
@keyframes xfade{0%{opacity:0}50%{opacity:1}100%{opacity:0}}

/* ---------- reveal ---------- */
.cs-js .cs .rv{opacity:0;transform:translateY(16px);transition:opacity var(--dur-slow) var(--ease-ed),transform var(--dur-slow) var(--ease-ed)}
.cs-js .cs .rv.in{opacity:1;transform:none}
.rl{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.rl>span{display:inline-block;opacity:0;transform:translateY(24px);animation:rise 900ms var(--ease-ed) forwards}
.rl:nth-child(2)>span{animation-delay:120ms}.rl:nth-child(3)>span{animation-delay:240ms}
@keyframes rise{to{opacity:1;transform:none}}
.fu{opacity:0;animation:fu 900ms var(--ease-ed) forwards}
.fu1{animation-delay:300ms}.fu2{animation-delay:520ms}.fu3{animation-delay:760ms}.fu4{animation-delay:1000ms}
@keyframes fu{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.view{animation:viewIn 600ms var(--ease-ed)}
@keyframes viewIn{from{opacity:0}to{opacity:1}}
.xfa{animation:xa 300ms var(--ease-std)}.xfb{animation:xb 300ms var(--ease-std)}
@keyframes xa{from{opacity:0}to{opacity:1}}@keyframes xb{from{opacity:0}to{opacity:1}}

/* ---------- HERO (centered INVEST / STAY) ---------- */
.hero{position:relative;height:min(100svh,1000px);min-height:680px;overflow:hidden;background:var(--navy);color:var(--ivory)}
.hero-bg{position:absolute;inset:0}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02);transition:opacity 900ms var(--ease-ed),transform 1400ms var(--ease-ed)}
.hero-bg img.on{opacity:1;transform:scale(1)}
.hero-ov{position:absolute;inset:0;background:var(--navy);opacity:.42;pointer-events:none}
.hero-c{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--bar) + var(--navh)) var(--m) 72px}
.hero-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--ivory);opacity:.9}
.hero-h{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.2vw,62px);line-height:1.02;letter-spacing:-.01em;margin-top:22px}
.hero-pick{display:flex;align-items:stretch;justify-content:center;margin-top:clamp(40px,6vh,72px)}
.hero-pick .sep{width:1px;background:rgba(250,248,244,.45);margin:10px clamp(28px,4.5vw,72px)}
.choice{display:flex;flex-direction:column;align-items:center;gap:14px;text-decoration:none;color:var(--ivory);padding:6px 8px;min-width:clamp(200px,20vw,300px);transition:opacity var(--dur-base) var(--ease-ed)}
.choice .w{position:relative;font-family:var(--serif);font-size:clamp(60px,6.4vw,92px);line-height:.95;letter-spacing:-.01em}
.choice .w::after{content:"";position:absolute;left:2%;right:2%;bottom:-6px;height:1px;background:var(--ivory);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease-ed)}
.choice .mc{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.92}
.choice .mc svg{width:14px;height:14px;transition:transform var(--dur-base) var(--ease-ed)}
.hero-pick:hover .choice,.hero-pick:focus-within .choice{opacity:.5}
.hero-pick .choice:hover,.hero-pick .choice:focus-visible{opacity:1}
.choice:hover .w::after,.choice:focus-visible .w::after{transform:scaleX(1)}
.choice:hover .mc svg,.choice:focus-visible .mc svg{transform:translateX(4px)}
.choice:focus-visible{outline:2px solid var(--ivory);outline-offset:8px}
.hero-meta{position:absolute;left:var(--m);right:var(--m);bottom:28px;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:16px}
.hero-meta .t-lbl{color:var(--ivory);opacity:.8}
.cue{display:flex;align-items:center;gap:12px}
.cue-line{position:relative;width:1px;height:36px;background:rgba(250,248,244,.3);overflow:hidden}
.cue-line::after{content:"";position:absolute;left:0;top:0;width:1px;height:100%;background:var(--ivory);animation:cue 2.4s var(--ease-ed) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.01%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:767px){
  .hero{height:min(100svh,900px);min-height:620px}
  .hero-c{justify-content:center;padding-bottom:64px}
  .hero-eyebrow{font-size:11px;letter-spacing:.26em}
  .hero-pick{flex-direction:column;align-items:center;gap:6px;margin-top:36px}
  .hero-pick .sep{width:56px;height:1px;margin:18px auto}
  .choice{min-width:0}
  .choice .w{font-size:58px}
  .hero-pick:hover .choice,.hero-pick:focus-within .choice{opacity:1}
  .hero-meta .cue{display:none}
}

/* ---------- section heads ---------- */
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:56px}
.shead>div{display:flex;flex-direction:column;gap:16px;max-width:820px}
@media (max-width:767px){.shead{margin-bottom:32px}}

/* ---------- two experiences ---------- */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.duo-i{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.duo-i .media{height:clamp(420px,46vw,700px);background:var(--slate)}
.duo-i .media>img{transition:transform 1200ms var(--ease-ed)}
.duo-i:hover .media>img,.duo-i:focus-visible .media>img{transform:scale(1.04)}
.duo-cap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:36px 48px 44px}
.duo-i--inv .duo-cap{background:var(--navy);color:var(--ivory)}
.duo-i--stay .duo-cap{background:var(--stone);color:var(--navy)}
.duo-cap .stack{gap:10px}
@media (max-width:1199px){.duo-cap{padding:28px 32px 32px}}
@media (max-width:767px){.duo{grid-template-columns:1fr}.duo-i .media{height:62svh;max-height:560px}.duo-cap{grid-template-columns:1fr;padding:24px 16px 28px}}

/* ---------- invest editorial grid ---------- */
.opp-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:56px var(--g)}
.opp-g>.card:nth-child(1){grid-column:1 / 7;grid-row:1 / 3}
.opp-g>.card:nth-child(2){grid-column:7 / 10}
.opp-g>.card:nth-child(3){grid-column:10 / 13}
.opp-g>.card:nth-child(4){grid-column:7 / 13;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--g);align-items:end}
.opp-g>.card:nth-child(1) .media{aspect-ratio:4/4.6}
.card{display:flex;flex-direction:column;gap:18px;text-decoration:none;color:inherit;cursor:pointer;text-align:left}
.card-b{display:flex;flex-direction:column;gap:8px}
.card .meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.dl{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:2px}
.dl span:not(:last-child)::after{content:"·";margin-left:12px;opacity:.55}
.opp-g .card:nth-child(1) .t-pn{font-size:clamp(28px,2.6vw,40px)}
.disc{margin-top:56px;padding-top:18px;border-top:1px solid rgba(169,180,194,.4)}
@media (max-width:1199px){.opp-g>.card:nth-child(n){grid-column:span 6;grid-row:auto;display:flex}.opp-g>.card:nth-child(1) .media{aspect-ratio:4/5}}
@media (max-width:767px){
  .snap{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--m);gap:16px!important;margin-inline:calc(var(--m) * -1);padding-inline:var(--m);scrollbar-width:none}
  .snap::-webkit-scrollbar{display:none}
  .snap>.card{flex:0 0 84%!important;scroll-snap-align:start;grid-column:auto!important}
}

/* ---------- stay search ---------- */
.sbar{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;background:var(--ivory);border:1px solid var(--mist);min-height:84px;position:relative}
.sbar>.f{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 22px;border-right:1px solid var(--mist);min-width:0}
.sbar label,.sbar .flbl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.sbar select,.sbar input[type=date]{font:500 16px/1.2 var(--sans);color:var(--navy);background:transparent;border:0;padding:6px 0;min-height:34px;width:100%;appearance:none;-webkit-appearance:none;border-radius:0}
.sbar select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2314284B' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:22px;cursor:pointer}
.sbar .go{display:flex;align-items:stretch;padding:10px}
.sbar .go .btn{min-height:0;height:100%;padding:0 34px}
.guests{display:flex;align-items:center;gap:10px;font:500 16px var(--sans);min-height:34px;background:none;border:0;padding:0;cursor:pointer;color:var(--navy);text-align:left;width:100%}
.gpop{position:absolute;top:calc(100% + 8px);z-index:20;width:340px;background:var(--ivory);border:1px solid var(--mist);padding:20px;display:flex;flex-direction:column;gap:16px;color:var(--navy)}
.step{display:flex;align-items:center;justify-content:space-between;gap:12px}
.step .ctl{display:flex;align-items:center;gap:12px}
.step button{width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--slate);display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.step button:disabled{opacity:.35;cursor:not-allowed}
.step output{font-family:var(--mono);min-width:20px;text-align:center}
.tog{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer}
.tog input{width:20px;height:20px;accent-color:var(--navy)}
.where{display:none}
.sdemo{display:flex;justify-content:flex-end;margin-top:10px}
@media (max-width:1199px){.sbar{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.sbar>.f:first-child{grid-column:1 / -1;border-right:0;border-bottom:1px solid var(--mist)}}
@media (max-width:767px){
  .sbar{display:none}.sbar.open{display:flex;flex-direction:column;position:fixed;inset:0;z-index:96;overflow:auto;padding-top:64px;border:0}
  .sbar.open>.f{border-right:0;border-bottom:1px solid var(--mist);padding:16px}
  .sbar.open .go{padding:16px}.sbar.open .go .btn{width:100%;height:56px}
  .sbar .close-sheet{display:inline-flex!important}
  .where{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 16px;background:var(--ivory);border:1px solid var(--mist);font:600 16px var(--sans);color:var(--navy)}
  .gpop{position:static;width:auto;border:0;padding:12px 0 0}
}
.close-sheet{display:none;position:absolute;top:10px;right:10px;width:44px;height:44px;align-items:center;justify-content:center}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{min-height:42px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;box-shadow:inset 0 0 0 1px var(--mist);background:transparent;color:var(--navy);transition:background var(--dur-fast),box-shadow var(--dur-fast)}
.chip:hover{box-shadow:inset 0 0 0 1px var(--navy)}
.chip[aria-pressed="true"]{background:var(--navy);color:var(--ivory);box-shadow:inset 0 0 0 1px var(--navy)}

/* stay cards */
.stay-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px var(--g)}
.res-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:56px var(--g)}
.rate{display:flex;align-items:baseline;gap:6px}
.rate b{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.01em}
@media (max-width:1199px){.stay-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
.corp{margin-top:64px;padding-top:24px;border-top:1px solid var(--mist);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 28px}

/* ---------- journeys (the group) ---------- */
.jr{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:stretch}
.jr-media{grid-column:1 / 7;position:relative;min-height:620px;background:var(--slate);overflow:hidden}
.jr-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 900ms var(--ease-ed),transform 6s linear;transform:scale(1.05)}
.jr-media img.on{opacity:1;transform:scale(1)}
.jr-media .tag{position:absolute;z-index:2}
.jr-cap{position:absolute;left:0;bottom:0;z-index:2;background:var(--navy);color:var(--ivory);padding:18px 22px;display:flex;flex-direction:column;gap:4px;max-width:70%}
.jr-body{grid-column:8 / 13;display:flex;flex-direction:column}
.seg{display:inline-flex;box-shadow:inset 0 0 0 1px var(--navy);align-self:flex-start}
.seg button{min-height:48px;padding:0 24px;font-size:15px;font-weight:600;transition:background var(--dur-base),color var(--dur-base)}
.seg button[aria-pressed="true"]{background:var(--navy);color:var(--ivory)}
.jr-who{margin-top:28px;display:flex;align-items:baseline;gap:12px}
.jr-steps{margin-top:20px;border-top:1px solid var(--slate)}
.jr-step{width:100%;display:grid;grid-template-columns:64px 1fr 24px;gap:16px;align-items:start;text-align:left;padding:22px 0;border-bottom:1px solid rgba(74,90,112,.35);cursor:pointer;color:var(--navy)}
.jr-step .n{font-family:var(--mono);font-size:13px;letter-spacing:.06em;padding-top:8px;color:var(--slate)}
.jr-step .t{font-family:var(--serif);font-size:clamp(26px,2.2vw,32px);line-height:1.1;transition:opacity var(--dur-base)}
.jr-step .d{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-slow) var(--ease-ed),opacity var(--dur-base);opacity:0}
.jr-step .d>div{overflow:hidden}
.jr-step .d p{padding-top:10px;font-size:16px;line-height:1.55;color:var(--slate);max-width:460px}
.jr-step .pm{width:20px;height:20px;margin-top:10px;position:relative}
.jr-step .pm::before,.jr-step .pm::after{content:"";position:absolute;left:3px;right:3px;top:9px;height:1.5px;background:currentColor;transition:transform var(--dur-base) var(--ease-ed)}
.jr-step .pm::after{transform:rotate(90deg)}
.jr-step[aria-expanded="true"] .pm::after{transform:rotate(0)}
.jr-step[aria-expanded="true"] .d{grid-template-rows:1fr;opacity:1}
.jr-step[aria-expanded="false"] .t{opacity:.62}
.jr-step:hover .t{opacity:1}
.jr-foot{margin-top:32px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.jr-swap{animation:jrIn 520ms var(--ease-ed)}
@keyframes jrIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:1199px){.jr-media{grid-column:1 / -1;min-height:420px;margin-bottom:40px}.jr-body{grid-column:1 / -1}}
@media (max-width:767px){.jr-media{min-height:300px;margin-bottom:28px}.jr-step{grid-template-columns:40px 1fr 20px}.seg{align-self:stretch}.seg button{flex:1;padding:0 12px}}

/* ---------- close ---------- */
.close2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.close2>div{padding:72px 80px;display:flex;flex-direction:column;gap:22px;min-height:400px;justify-content:flex-end}
.close2 .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
@media (max-width:1199px){.close2>div{padding:48px}}
@media (max-width:767px){.close2{grid-template-columns:1fr}.close2>.close-stay{order:-1}.close2>div{padding:40px 16px;min-height:0}.close2 .btn{width:100%}}

/* ---------- footer ---------- */
.foot{background:var(--navy);color:var(--ivory);padding:104px 0 36px;flex:1 0 auto}
.foot-top{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr));gap:48px var(--g);padding-bottom:72px}
.foot-top img{height:40px;width:auto}
.foot-top h3{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:18px}
.foot-top a,.foot-top p{display:block;text-decoration:none;font-size:14.5px;line-height:1.4;padding:7px 0;color:var(--stone)}
.foot-top a:hover{color:var(--ivory);text-decoration:underline;text-underline-offset:4px}
.foot-b{border-top:1px solid rgba(169,180,194,.35);padding-top:28px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:center}
.foot-b p{font-size:13px;line-height:1.5;color:var(--stone)}
@media (max-width:1199px){.foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-top>div:first-child{grid-column:1 / -1}}
@media (max-width:767px){.foot{padding-top:64px}.foot-top{grid-template-columns:1fr;gap:32px}.foot-b{grid-template-columns:1fr}}

/* ---------- page heads, filters ---------- */
.phead{padding:calc(var(--bar) + var(--navh) + 104px) 0 80px}
.phead .g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g)}
.phead .g12>div{grid-column:1 / span 9;display:flex;flex-direction:column;gap:22px}
.phead--img{position:relative;overflow:hidden}
.phead--img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phead--img::before{content:"";position:absolute;inset:0;background:var(--navy);opacity:.45;z-index:1}
.phead--img>.wrap{position:relative;z-index:2}
@media (max-width:767px){.phead{padding:calc(var(--bar) + 64px + 56px) 0 48px}.phead .g12>div{grid-column:1 / -1}}
.fbar{position:sticky;top:calc(var(--bar) + 64px);z-index:30;background:var(--stone);border-bottom:1px solid var(--mist)}
.fbar .wrap{display:flex;align-items:stretch;flex-wrap:wrap}
.fbar .f{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:12px 24px 12px 0;margin-right:24px;border-right:1px solid var(--mist);min-width:170px}
.fbar label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.fbar select{font:500 15.5px/1.2 var(--sans);color:var(--navy);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2314284B' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 0 center;border:0;padding:8px 24px 8px 0;min-height:40px;appearance:none;-webkit-appearance:none;cursor:pointer;border-radius:0}
.fbar .count{margin-left:auto;display:flex;align-items:center;gap:16px}
.fbtn{display:none}
@media (max-width:767px){.fbtn{display:flex;min-height:52px;align-items:center;justify-content:space-between;width:100%;font-weight:600}.fbar .f{display:none;border-right:0;margin:0;padding:10px 0;width:100%;border-top:1px solid var(--mist)}.fbar.open .f{display:flex}.fbar .count{margin:0;padding:10px 0;width:100%;justify-content:space-between}}
.empty{padding:80px 0;display:flex;flex-direction:column;gap:18px;align-items:flex-start;max-width:640px}

/* ---------- gallery mosaic + lightbox ---------- */
.mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;height:clamp(380px,40vw,600px)}
.mosaic>button{position:relative;overflow:hidden;padding:0;background:var(--stone);cursor:zoom-in}
.mosaic>button:first-child{grid-row:1 / 3}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-ed),opacity var(--dur-base)}
.mosaic>button:hover img{transform:scale(1.03)}
.mosaic-wrap{position:relative}
.mosaic-wrap .all{position:absolute;right:16px;bottom:16px;z-index:3;background:var(--ivory);color:var(--navy);min-height:44px;padding:0 18px;display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;box-shadow:inset 0 0 0 1px var(--navy)}
.mosaic-wrap .all:hover{background:var(--stone)}
.mosaic-wrap .tag{position:absolute;left:16px;top:16px;z-index:3}
@media (max-width:767px){.mosaic{grid-template-columns:1fr;grid-template-rows:none;height:auto}.mosaic>button{display:none}.mosaic>button:first-child{display:block;aspect-ratio:4/3}}
.lb{position:fixed;inset:0;z-index:99;background:var(--navy);color:var(--ivory);display:grid;grid-template-rows:auto 1fr auto;animation:fadeIn var(--dur-base) var(--ease-ed)}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:16px var(--m);gap:16px}
.lb-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:0 88px;min-height:0;touch-action:pan-y}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;animation:fadeIn var(--dur-base) var(--ease-ed)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(250,248,244,.5);color:var(--ivory)}
.lb-nav:hover{background:rgba(250,248,244,.12)}
.lb-prev{left:20px}.lb-next{right:20px}
.lb-nav svg,.lb-x svg{width:20px;height:20px}
.lb-x{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(250,248,244,.5)}
.lb-strip{display:flex;gap:8px;justify-content:center;padding:16px var(--m) 20px;overflow-x:auto}
.lb-strip button{flex:0 0 auto;width:88px;height:60px;opacity:.5;padding:0;transition:opacity var(--dur-fast)}
.lb-strip button[aria-current="true"]{opacity:1;outline:1px solid var(--ivory);outline-offset:2px}
.lb-strip img{width:100%;height:100%;object-fit:cover}
@media (max-width:767px){.lb-stage{padding:0 8px}.lb-nav{top:auto;bottom:-4px;transform:none}.lb-prev{left:16px}.lb-next{right:16px}.lb-strip{display:none}.lb{grid-template-rows:auto 1fr 72px}}

/* ---------- detail pages ---------- */
.det{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:start;margin-top:56px}
.det-main{grid-column:1 / 8;display:flex;flex-direction:column}
.det-side{grid-column:9 / 13;position:sticky;top:calc(var(--bar) + 64px + 28px)}
.dsec{padding-block:56px;border-top:1px solid var(--mist);display:flex;flex-direction:column;gap:24px}
.dsec:first-child{border-top:0;padding-top:0}
.dsec-h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.spec{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--mist);border-bottom:1px solid var(--mist)}
.spec>div{flex:1 1 120px;padding:16px 20px 16px 0;display:flex;flex-direction:column;gap:4px}
.spec>div+div{padding-left:20px;border-left:1px solid var(--mist)}
.spec b{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1}
.hl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px var(--g)}
.hl>div{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start}
.hl svg{width:24px;height:24px;stroke:var(--navy)}
.facts{display:flex;flex-direction:column}
.facts>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:16px;padding:16px 0;border-top:1px solid rgba(169,180,194,.45)}
.facts>div:last-child{border-bottom:1px solid rgba(169,180,194,.45)}
.facts dt{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}
.facts dd{font-family:var(--mono);font-size:14.5px;letter-spacing:.02em}
.fpanel{padding:44px}
.utab{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:14.5px}
.utab th{font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);text-align:left;padding:12px 16px 12px 0;border-bottom:1px solid var(--navy)}
.utab td{padding:18px 16px 18px 0;border-bottom:1px solid var(--mist);vertical-align:top}
.utab td:first-child{font-family:var(--sans);font-size:16px;font-weight:500}
@media (max-width:767px){.utab thead{display:none}.utab,.utab tbody,.utab tr,.utab td{display:block;width:100%}.utab tr{padding:14px 0;border-bottom:1px solid var(--mist)}.utab td{border:0;padding:4px 0;display:flex;justify-content:space-between;gap:16px}.utab td::before{content:attr(data-l);font-size:11px;text-transform:uppercase;color:var(--slate);letter-spacing:.08em}.utab td:first-child::before{content:none}}
.chk>li{display:grid;grid-template-columns:24px 1fr auto;gap:16px;align-items:center;padding:15px 0;border-top:1px solid var(--mist)}
.chk>li:last-child{border-bottom:1px solid var(--mist)}
.chk svg{width:18px;height:18px}
.quote{font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);line-height:1.2;letter-spacing:-.01em;max-width:760px}
.xlink{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);background:var(--stone);text-decoration:none;color:inherit;overflow:hidden}
.xlink .media{min-height:260px}
.xlink>div:last-child{padding:40px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.xlink:hover .media>img{transform:scale(1.03)}
@media (max-width:767px){.xlink{grid-template-columns:1fr}.xlink>div:last-child{padding:24px}}
.amen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px var(--g)}
.amen>div{display:flex;flex-direction:column;gap:10px}
.amen h3{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--deep-brass);padding-bottom:10px;border-bottom:1px solid var(--mist)}
.amen li{font-size:15.5px;padding:3px 0}
@media (max-width:1199px){.det-main{grid-column:1 / -1}.det-side{grid-column:1 / -1;position:static;margin-top:48px}.amen{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.det{margin-top:32px}.dsec{padding-block:40px}.fpanel{padding:28px 16px}.facts>div{grid-template-columns:1fr;gap:4px}.amen,.hl{grid-template-columns:1fr}.det-side{display:none}.spec>div{flex:1 1 40%}.spec>div:nth-child(3){border-left:0;padding-left:0}}

/* ---------- booking panel ---------- */
.bk{border:1px solid var(--mist);background:var(--ivory);padding:28px;display:flex;flex-direction:column;gap:18px}
.bk-rate{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.bk-rate b{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1}
.bk-mode{display:grid;grid-template-columns:1fr 1fr;box-shadow:inset 0 0 0 1px var(--navy)}
.bk-mode button{min-height:44px;font-size:13.5px;font-weight:600;padding:0 10px}
.bk-mode button[aria-pressed="true"]{background:var(--navy);color:var(--ivory)}
.bk-dates{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--slate)}
.bk-dates>label,.bk-g{display:flex;flex-direction:column;gap:2px;padding:10px 14px;cursor:pointer}
.bk-dates>label+label{border-left:1px solid var(--slate)}
.bk-dates span,.bk-g span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.bk-dates input,.bk-g select{font:500 15px var(--sans);color:var(--navy);border:0;background:transparent;padding:4px 0;min-height:30px;width:100%;appearance:none;-webkit-appearance:none;border-radius:0}
.bk-g{border:1px solid var(--slate);border-top:0}
.bk-status{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;padding:12px 14px;background:var(--stone)}
.bk-status i{flex:none;width:8px;height:8px;margin-top:6px;background:var(--navy)}
.bk-status.req i{background:transparent;box-shadow:inset 0 0 0 1.5px var(--navy)}
.bk-sum{display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.bk-sum>div{display:flex;justify-content:space-between;gap:12px}
.bk-sum .tot{padding-top:10px;border-top:1px solid var(--mist);font-weight:600;font-size:16px}
.bk .demo{display:flex;justify-content:space-between;gap:8px;align-items:center}
.mbar{display:none}
@media (max-width:767px){.mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--ivory);border-top:1px solid var(--mist);padding:12px 16px;gap:12px;align-items:center;justify-content:space-between}}
.bsheet{position:fixed;inset:0;z-index:97;background:rgba(20,40,75,.4);display:flex;align-items:flex-end;animation:fadeIn var(--dur-base)}
.bsheet>div{width:100%;max-height:92svh;overflow:auto;background:var(--ivory);animation:sheetUp 500ms var(--ease-ed)}
.bsheet .bk{border:0}
.bsheet-h{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 0}
@keyframes sheetUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}

/* ---------- calendar + rates ---------- */
.cal-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cal-nav{display:flex;gap:8px}
.cal-nav button{width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--mist);display:inline-flex;align-items:center;justify-content:center}
.cal-nav button:disabled{opacity:.35}
.cal-nav svg{width:16px;height:16px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.cal .dow{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);text-align:center;padding:6px 0}
.cal .d{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:14px;background:var(--ivory);box-shadow:inset 0 0 0 1px rgba(169,180,194,.35);cursor:pointer;transition:background var(--dur-fast)}
.cal .d small{font-family:var(--mono);font-size:10px;color:var(--slate)}
.cal .d:hover{background:var(--stone)}
.cal .d.x{cursor:not-allowed;color:var(--mist);background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(169,180,194,.18) 6px 7px)}
.cal .d.x small{color:var(--mist);text-decoration:line-through}
.cal .d.p{cursor:default;color:var(--mist);background:transparent;box-shadow:none}
.cal .d.e{visibility:hidden}
.cal .d.in{background:var(--stone)}
.cal .d.s{background:var(--navy);color:var(--ivory)}
.cal .d.s small{color:var(--stone)}
.legend{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:var(--slate);margin-top:14px}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{width:14px;height:14px;display:inline-block;box-shadow:inset 0 0 0 1px var(--mist)}
.legend .lx{background:repeating-linear-gradient(135deg,transparent 0 3px,rgba(169,180,194,.6) 3px 4px)}
.legend .ls{background:var(--navy);box-shadow:none}
.rtab{width:100%;border-collapse:collapse;font-size:15px}
.rtab th{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--navy)}
.rtab td{padding:14px 12px 14px 0;border-bottom:1px solid var(--mist);vertical-align:top}
.rtab td.num{font-family:var(--mono);font-size:14px;white-space:nowrap}
@media (max-width:767px){.cal-wrap{grid-template-columns:1fr}.cal-wrap>div:nth-child(2){display:none}.cal .d{min-height:46px}}

/* ---------- video ---------- */
.vid{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;padding:0;background:var(--navy);cursor:pointer}
.vid img{width:100%;height:100%;object-fit:cover;transition:transform 1200ms var(--ease-ed)}
.vid::before{content:"";position:absolute;inset:0;background:var(--navy);opacity:.28;z-index:1;transition:opacity var(--dur-base)}
.vid:hover img{transform:scale(1.03)}.vid:hover::before{opacity:.18}
.vid .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:88px;height:88px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ivory);display:flex;align-items:center;justify-content:center;color:var(--ivory);transition:background var(--dur-base),transform var(--dur-base) var(--ease-ed)}
.vid:hover .play{background:rgba(250,248,244,.14);transform:translate(-50%,-50%) scale(1.05)}
.vid .play svg{width:26px;height:26px;margin-left:4px}
.vid .vcap{position:absolute;left:24px;bottom:22px;z-index:2;color:var(--ivory);text-align:left;display:flex;flex-direction:column;gap:4px}
.vm{position:fixed;inset:0;z-index:99;background:rgba(20,40,75,.94);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn var(--dur-base)}
.vm-box{width:min(1100px,100%);display:flex;flex-direction:column;gap:14px;color:var(--ivory)}
.vm-stage{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0b1830}
.vm-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:vmSlide 16s infinite}
.vm-stage img:nth-child(2){animation-delay:4s}.vm-stage img:nth-child(3){animation-delay:8s}.vm-stage img:nth-child(4){animation-delay:12s}
@keyframes vmSlide{0%{opacity:0;transform:scale(1)}6%{opacity:1}25%{opacity:1}31%{opacity:0;transform:scale(1.06)}100%{opacity:0}}
.vm-bar{display:flex;align-items:center;gap:14px}
.vm-bar .prog{flex:1;height:2px;background:rgba(250,248,244,.25);position:relative;overflow:hidden}
.vm-bar .prog::after{content:"";position:absolute;inset:0;background:var(--ivory);transform-origin:left;animation:prog 16s linear infinite}
@keyframes prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.vm .paused .vm-stage img,.vm .paused .prog::after{animation-play-state:paused}

/* ---------- reviews ---------- */
.rv-sum{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.rv-sum b{font-family:var(--serif);font-weight:400;font-size:48px;line-height:1}
.stars{display:inline-flex;gap:3px}
.stars svg{width:15px;height:15px}
.revs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--g)}
.rev{padding:28px 0;border-top:1px solid var(--mist);display:flex;flex-direction:column;gap:12px}
.rev-h{display:flex;justify-content:space-between;gap:12px;align-items:center}
.rev-who{display:flex;align-items:center;gap:12px}
.rev-av{width:40px;height:40px;border-radius:50%;background:var(--stone);display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:18px}
.rev p{font-size:15.5px;line-height:1.6}
.rev .more{align-self:flex-start;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px;min-height:32px}
@media (max-width:767px){.revs{grid-template-columns:1fr}}

/* ---------- map ---------- */
.map{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--stone)}
.map img{width:100%;height:100%;object-fit:cover}
.map .area{position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(20,40,75,.12);box-shadow:inset 0 0 0 1px rgba(20,40,75,.5);transform:translate(-50%,-50%)}
.map .pin{position:absolute;width:16px;height:16px;background:var(--navy);box-shadow:0 0 0 4px var(--ivory);transform:translate(-50%,-50%) rotate(45deg)}
.map .mlbl{position:absolute;transform:translate(14px,-120%);background:var(--navy);color:var(--ivory);padding:8px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.map .attr{position:absolute;right:0;bottom:0;background:rgba(250,248,244,.85);font-size:10.5px;padding:3px 8px;color:var(--slate)}
.near{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px var(--g)}
.near>div{display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:1px solid var(--mist)}
@media (max-width:767px){.near{grid-template-columns:1fr}.map{aspect-ratio:4/3}}

/* ---------- forms ---------- */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px var(--g)}
.form .full{grid-column:1 / -1}
.fld{display:flex;flex-direction:column;gap:8px}
.fld>label,.fld>.flbl,.fld legend{font-size:14.5px;font-weight:500;color:var(--navy);padding:0}
.fld .opt{font-weight:400;color:var(--slate)}
.fld input[type=text],.fld input[type=email],.fld input[type=tel],.fld input[type=date],.fld input[type=number],.fld select,.fld textarea{font:400 16.5px/1.4 var(--sans);color:var(--navy);background:var(--ivory);border:1px solid var(--slate);border-radius:0;padding:13px 16px;min-height:52px;width:100%;appearance:none;-webkit-appearance:none}
.fld textarea{min-height:120px;resize:vertical}
.fld [aria-invalid="true"]{border:2px solid var(--navy);background:var(--stone)}
.err{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:600;color:var(--navy)}
.err svg{width:16px;height:16px;flex:none;margin-top:2px}
.fld fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{position:relative}
.pill input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pill span{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;font-size:14.5px;font-weight:500;box-shadow:inset 0 0 0 1px var(--slate);transition:background var(--dur-fast),color var(--dur-fast)}
.pill input:checked+span{background:var(--navy);color:var(--ivory);box-shadow:inset 0 0 0 1px var(--navy)}
.pill input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}
.cbx{display:flex;gap:14px;align-items:flex-start;cursor:pointer;font-size:14.5px;line-height:1.5}
.cbx input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--navy)}
.done{background:var(--stone);padding:52px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.done svg{width:40px;height:40px}
.mode{display:flex;box-shadow:inset 0 0 0 1px var(--navy);width:max-content;max-width:100%;flex-wrap:wrap}
.mode button{min-height:46px;padding:0 20px;font-size:14.5px;font-weight:600}
.mode button[aria-pressed="true"]{background:var(--navy);color:var(--ivory)}
.pay{border:1px dashed var(--slate);padding:24px;display:flex;flex-direction:column;gap:10px;background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(169,180,194,.12) 10px 11px)}
@media (max-width:767px){.form{grid-template-columns:1fr}.done{padding:32px 20px}}
.ctx{border:1px solid var(--mist);display:flex;flex-direction:column}
.ctx .media{aspect-ratio:16/10}
.ctx-b{padding:24px;display:flex;flex-direction:column;gap:10px}

/* ---------- scope / register ---------- */
.fnote{background:var(--stone);padding:56px;max-width:980px}
.sc-tab{width:100%;border-collapse:collapse}
.sc-tab th{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:14px 24px 14px 0;border-bottom:1px solid var(--navy);color:var(--slate);width:50%}
.sc-tab td{padding:16px 24px 16px 0;border-bottom:1px solid var(--mist);vertical-align:top;font-size:16px}
@media (max-width:767px){.fnote{padding:28px 20px}.sc-tab th,.sc-tab td{font-size:14.5px;padding-right:12px}}

/* ---------- responsive nav ---------- */
@media (max-width:1199px){.nav-links{display:none}.nav .wrap{grid-template-columns:auto 1fr}}
@media (max-width:767px){
  .nav .contact{display:none}.menu-btn{display:inline-flex}
  .brand img{height:26px}.nav.is-sc .brand img{height:24px}.brand .sub{font-size:10px;letter-spacing:.12em;padding-left:10px}
  .nav .wrap{gap:8px}.nav-right{gap:4px}.nav .es-i>a{padding:0 9px;font-size:10px;height:36px}.nav .es-i>a[aria-current="page"]::before{display:none}.nav .peek{display:none}
}
@media (max-width:420px){.pbar .row:first-child>span:nth-child(-n+2){display:none}.brand .sub{display:none}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .cs *,.cs *::before,.cs *::after{transition-duration:150ms!important;animation-duration:150ms!important;animation-iteration-count:1!important;animation-delay:0ms!important}
  .rl>span,.fu{opacity:1;transform:none;animation:fadeIn 150ms}
  .cs-js .cs .rv{transform:none}
  .card:hover .media>img,.duo-i:hover .media>img,.mosaic>button:hover img,.vid:hover img{transform:none}
  .hero-bg img,.jr-media img{transform:none}
  .wipe{animation:xfade 150ms forwards}
  .cue-line::after{animation:none;transform:none}
  .vm-stage img{animation:none}.vm-stage img:first-child{opacity:1}
}

.cap{display:flex;flex-direction:column;gap:2px}
.jr-media .jr-cap .t-lbl{color:var(--brass)}
.kv{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--mist);font-size:15px}
.kv:last-child{border-bottom:1px solid var(--mist)}
.terms li{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:6px 0;font-size:15px}
.terms li::before{content:"";width:6px;height:6px;background:var(--navy);margin-top:9px}
.hero-ov{transition:opacity var(--dur-slow) var(--ease-ed)}
.dl{font-size:13px;letter-spacing:0;column-gap:9px}
.dl span{white-space:nowrap}
.dl span:not(:last-child)::after{margin-left:9px}
.jr-step .d>*{overflow:hidden;min-height:0}
.bk-dates{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.bk-dates>label{min-width:0;padding:10px 12px}
.bk-dates input{min-width:0;font-size:14px}
.bk-dates input::-webkit-calendar-picker-indicator{margin:0;padding:0;width:13px;height:13px;opacity:.7}
.bk-dates input::-webkit-datetime-edit{padding:0}
@media (max-width:767px){.vid{aspect-ratio:4/3}.vid .play{top:42%;width:60px;height:60px}.vid .play svg{width:20px;height:20px}.vid .vcap{left:16px;bottom:14px}}
.rev-h time,.rev-h>span:last-child{white-space:nowrap}
@media (max-width:1199px){.menu-btn{display:inline-flex}}

/* =====================================================================
   V2.2
   ===================================================================== */
/* hero — Option A editorial underline */
.hero-ov{opacity:.36}
.hero-sh{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 44% 40% at 50% 56%,rgba(20,40,75,.46) 0%,rgba(20,40,75,.22) 55%,rgba(20,40,75,0) 100%)}
.hero-bg .b-base{opacity:1;transform:scale(1.0);transition:transform 1800ms var(--ease-ed),filter 900ms var(--ease-ed)}
.hero:has(.choice:hover) .b-base,.hero:has(.choice:focus-visible) .b-base{transform:scale(1.012);filter:brightness(1.07)}
.hero-h{font-size:clamp(40px,4.8vw,70px);line-height:1}
.hero-pick{margin-top:clamp(36px,5.4vh,64px)}
.choice{gap:16px}
.choice .w{font-size:clamp(64px,7.5vw,108px);line-height:.92;padding-bottom:6px}
.choice .w::after{bottom:-4px;left:0;right:0;height:1px;background:var(--ivory);transition:transform 900ms var(--ease-ed)}
.choice .mc{font-size:14px;letter-spacing:.14em;opacity:.8;transition:opacity var(--dur-base) var(--ease-ed)}
.choice:hover .mc,.choice:focus-visible .mc{opacity:1}
.hero-pick:hover .choice,.hero-pick:focus-within .choice{opacity:.66}
.hero-pick .choice:hover,.hero-pick .choice:focus-visible{opacity:1}
.hero-pick .sep{background:rgba(250,248,244,.38)}
@media (max-width:767px){.choice .w{font-size:clamp(58px,17vw,72px)}.hero-h{font-size:clamp(34px,9.6vw,44px)}.hero-pick:hover .choice,.hero-pick:focus-within .choice{opacity:1}}
@media (hover:none){.choice:active .w::after{transform:scaleX(1)}}

/* card hierarchy */
.card .meta{align-items:flex-start}
.card .meta .tag{margin-top:6px}
.price{font-family:var(--mono);font-size:16px;letter-spacing:.02em;line-height:1.4}
.dk .price{color:var(--ivory)}
.card-b{gap:6px}
.card-b .t-pn{margin-bottom:2px}
.card-b .lnk{margin-top:6px}
.media>img{background:var(--stone)}

/* group intro */
.gi{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:center}
.gi-t{grid-column:1 / 6;display:flex;flex-direction:column;gap:22px}
.gi-f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--mist);margin-top:8px}
.gi-f>div{padding:16px 0;border-bottom:1px solid var(--mist);display:flex;flex-direction:column;gap:4px}
.gi-f>div:nth-child(odd){padding-right:16px}
.gi-f dd{font-size:16px;font-weight:500}
.gi-m{grid-column:7 / 13;position:relative;padding-bottom:18%}
.gi-a{aspect-ratio:4/3;width:82%;margin:0}
.gi-b{position:absolute;right:0;bottom:0;width:44%;aspect-ratio:4/5;margin:0;outline:10px solid var(--ivory)}
.gi figcaption.tag{position:absolute;left:12px;bottom:12px;z-index:2}

/* closing — two paths */
.paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.path{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:clamp(56px,7vw,112px) var(--m);min-height:520px;justify-content:flex-end;text-decoration:none;color:inherit}
.path--inv{background:var(--navy);color:var(--ivory)}
.path--stay{background:var(--stone);color:var(--navy)}
.path-w{position:relative;font-family:var(--serif);font-size:clamp(64px,7vw,104px);line-height:.92;letter-spacing:-.012em;padding-bottom:6px}
.path-w::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 900ms var(--ease-ed)}
.path:hover .path-w::after,.path:focus-visible .path-w::after{transform:scaleX(1)}
.path-q{font-family:var(--serif);font-size:clamp(26px,2.3vw,34px);line-height:1.1}
.path .btn{margin-top:10px;pointer-events:none}
.path--inv:hover .btn{background:var(--stone)}.path--stay:hover .btn{background:var(--slate)}
.path:focus-visible{outline-offset:-6px}

/* dropdown (Realty opportunities) */
.dd{position:relative}
.dd-b{font-size:14.5px;font-weight:500;letter-spacing:.01em;padding:12px 14px;min-height:44px;display:inline-flex;align-items:center;gap:8px;position:relative}
.dd-b::after{content:"";position:absolute;left:14px;right:28px;bottom:9px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease-ed)}
.dd-b:hover::after,.dd-b[aria-current="page"]::after{transform:scaleX(1)}
.dd-b svg{transition:transform var(--dur-base) var(--ease-ed)}
.dd.open .dd-b svg{transform:rotate(180deg)}
.dd-p{position:absolute;top:calc(100% + 18px);left:50%;width:min(720px,calc(100vw - 2 * var(--m)));transform:translate(-50%,-6px);background:var(--ivory);color:var(--navy);border:1px solid var(--mist);padding:28px;opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-ed),transform var(--dur-base) var(--ease-ed),visibility 0s linear var(--dur-base);z-index:6}
.dd-p::before{content:"";position:absolute;left:0;right:0;top:-19px;height:19px}
.dd:hover .dd-p,.dd:focus-within .dd-p,.dd.open .dd-p{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.dd-g{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}
.dd-c{display:flex;flex-direction:column;gap:2px}
.dd-c>.t-lbl{margin-bottom:10px}
.dd-c>a:not(.lnk):not(.dd-all){display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:40px;text-decoration:none;font-size:15px;border-bottom:1px solid rgba(169,180,194,.5)}
.dd-c>a:not(.lnk):not(.dd-all):hover{color:var(--slate)}
.dd-all{display:flex;flex-direction:column;gap:6px;padding:18px;background:var(--stone);text-decoration:none;margin-bottom:12px}
.dd-all:hover{background:#e0d9cb}
.dd-note{margin-top:22px;padding-top:14px;border-top:1px solid var(--mist)}
.nav.is-ov .dd-p{color:var(--navy)}

/* breadcrumbs */
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"/";margin:0 10px;opacity:.5}
.crumbs a{text-decoration:none;min-height:32px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}
.crumbs a:hover{border-bottom-color:currentColor}
.crumbs [aria-current]{opacity:.75}
.dk .crumbs{color:var(--stone)}.dk .crumbs a{color:var(--ivory)}

/* Realty homepage */
.rh-hero{position:relative;min-height:min(100svh,940px);display:flex;align-items:flex-end;overflow:hidden;background:var(--navy);color:var(--ivory)}
.rh-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroIn 1800ms var(--ease-ed)}
@keyframes heroIn{from{transform:scale(1.04)}to{transform:none}}
.rh-ov{position:absolute;inset:0;background:var(--navy);opacity:.56}
.rh-c{position:relative;z-index:2;padding-top:calc(var(--bar) + var(--navh) + 80px);padding-bottom:120px;display:flex;flex-direction:column;gap:22px}
.rh-c .t-display{max-width:920px;font-size:clamp(52px,6.8vw,100px)}
.rh-hero .hero-meta{bottom:32px}
.opp-g--lt .card .t-pn{color:var(--navy)}
.ra{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:center}
.ra-m{grid-column:1 / 6}.ra-m .media{aspect-ratio:4/5}
.ra-t{grid-column:7 / 13;display:flex;flex-direction:column;gap:36px}
.ra-l{border-top:1px solid rgba(169,180,194,.45)}
.ra-l li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid rgba(169,180,194,.45)}
.ra-l h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,1.9vw,28px);line-height:1.15;margin-bottom:6px}
.ra-l p{color:var(--stone);font-size:16px;line-height:1.55;max-width:520px}
.ra-l .t-data{padding-top:6px}
.mk-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g)}
.mk-b{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:4px;border-top:1px solid var(--mist);padding-top:16px}
.rcons{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px var(--g);align-items:end}

/* Stay homepage */
.sh-hero{padding:calc(var(--bar) + var(--navh) + 64px) 0 0}
.sh-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:end}
.sh-t{grid-column:1 / 7;display:flex;flex-direction:column;gap:22px;padding-bottom:96px}
.sh-m{grid-column:7 / 13}.sh-m .media{aspect-ratio:5/4}
.sh-s{position:relative;z-index:3;margin-top:-56px;width:min(100%,1120px)}
.sh-s .sbar{background:var(--ivory)}
.dest-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g)}
.dest-b{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--mist);padding-top:16px}
.dest-more{margin-top:40px;padding:20px 0;border-top:1px solid var(--mist);border-bottom:1px solid var(--mist);display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;font-size:15.5px;color:var(--slate)}
.dest-more .t-lbl{flex:none}
.dest-more span:nth-child(2){flex:1 1 380px}
.ch{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:center}
.ch-m{grid-column:1 / 7}.ch-m .media{aspect-ratio:4/3}
.ch-t{grid-column:8 / 13;display:flex;flex-direction:column;gap:32px}
.ch-l{display:flex;flex-direction:column;border-top:1px solid var(--mist)}
.ch-l>div{padding:18px 0;border-bottom:1px solid var(--mist)}
.ch-l h3{font-size:16px;font-weight:600;margin-bottom:4px}
.ch-l p{font-size:15.5px;color:var(--slate)}
.why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--g)}
.why>div{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--navy)}
.why h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,1.9vw,28px);line-height:1.15}
.why p{font-size:15.5px;color:var(--slate);line-height:1.55}
.sh-cta{padding-block:var(--sec)}
.sh-cta .wrap{display:flex;flex-direction:column;align-items:center;gap:26px}

/* compact property file + related */
.feat{display:flex;flex-wrap:wrap;gap:10px}
.feat li{font-size:15px;padding:10px 14px;box-shadow:inset 0 0 0 1px var(--mist)}
.rel-i{margin-top:96px;padding-top:56px;border-top:1px solid var(--mist)}
.rel-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g)}
.ctx--c{border:0}
.kv--dk{border-top-color:rgba(169,180,194,.45)!important;color:var(--ivory)}
.kv--dk:last-of-type{border-bottom:1px solid rgba(169,180,194,.45)}
.kv a{text-decoration:none}

/* tablet */
@media (max-width:1199px){
  .gi-t{grid-column:1 / -1;margin-bottom:56px}.gi-m{grid-column:1 / -1}
  .ra-m{grid-column:1 / -1;margin-bottom:48px}.ra-m .media{aspect-ratio:16/10}.ra-t{grid-column:1 / -1}
  .sh-t{grid-column:1 / -1;padding-bottom:40px}.sh-m{grid-column:1 / -1}.sh-s{margin-top:-40px}
  .ch-m{grid-column:1 / -1;margin-bottom:48px}.ch-t{grid-column:1 / -1}
  .why{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .rcons{grid-template-columns:1fr}
  .path{min-height:440px}
}
/* mobile */
@media (max-width:767px){
  .gi-f{grid-template-columns:1fr}.gi-f>div:nth-child(odd){padding-right:0}
  .gi-a{width:88%}.gi-b{width:52%;outline-width:6px}
  .paths{grid-template-columns:1fr}
  .path--stay{order:-1}
  .path{min-height:0;padding:64px var(--m)}
  .mk-g,.dest-g,.rel-g{grid-template-columns:1fr;gap:40px}
  .mk-g .media,.dest-g .media{aspect-ratio:4/3}
  .why{grid-template-columns:1fr}
  .rh-c{padding-bottom:96px}
  .rh-c .t-display{font-size:clamp(46px,12.5vw,60px)}
  .sh-hero{padding-top:calc(var(--bar) + var(--navh) + 40px)}
  .sh-s{margin-top:24px}
  .sh-m .media{aspect-ratio:4/3}
  .crumbs ol{font-size:11px}
}
.shead>.row{flex:none;justify-content:flex-end}
.opp-g+.disc{margin-top:56px}
.dd-p .note,.nav.is-ov .dd-p .note{color:var(--slate)}
.dd-p :focus-visible{outline-color:var(--navy)}
.gi figcaption.tag{white-space:normal;line-height:1.35;max-width:calc(100% - 24px)}
@media (max-width:767px){
  .gi-m{display:grid;grid-template-columns:1.25fr 1fr;gap:8px;padding:0;align-items:end}
  .gi-a,.gi-b{position:relative;width:100%;outline:0}
  .gi-a{aspect-ratio:4/5}.gi-b{aspect-ratio:4/5.6}
}
/* v2.2.1 — darker gateway hero, cinematic Stay hero */
.hero-ov{opacity:.56}
.hero-sh{background:radial-gradient(ellipse 46% 42% at 50% 56%,rgba(20,40,75,.5) 0%,rgba(20,40,75,.24) 55%,rgba(20,40,75,0) 100%)}
.hero:has(.choice:hover) .b-base,.hero:has(.choice:focus-visible) .b-base{filter:brightness(1.1)}
.sh-hero2 .rh-ov{opacity:.52}
.sh-hero2 .rh-c{padding-bottom:168px}
.sh-hero2 .hero-meta{bottom:92px}
.sh-sbar{padding:0}
.sh-sbar .sh-s{margin-top:-56px}
@media (max-width:767px){.sh-hero2 .rh-c{padding-bottom:120px}.sh-hero2 .hero-meta{bottom:72px}.sh-sbar .sh-s{margin-top:-30px}.sh-sbar .where{background:var(--ivory)}}

/* =====================================================================
   V2.3 · approved refinements (13 Nov 2026)
   ===================================================================== */
/* 2 · gateway hero: calmer photograph, lighter flat Navy, stronger centre shade */
.hero-bg .b-base{filter:saturate(.72) brightness(.86) contrast(1.06)}
.hero-ov{opacity:.4}
.hero-sh{background:radial-gradient(ellipse 54% 52% at 50% 55%,rgba(20,40,75,.72) 0%,rgba(20,40,75,.4) 50%,rgba(20,40,75,0) 100%)}
.hero:has(.choice:hover) .b-base,.hero:has(.choice:focus-visible) .b-base{transform:scale(1.012);filter:saturate(.8) brightness(.95) contrast(1.06)}
.choice .w::after{height:1.5px;transition:transform 700ms var(--ease-ed)}
.hero-pick:hover .choice,.hero-pick:focus-within .choice{opacity:.5}
.hero-pick .choice:hover,.hero-pick .choice:focus-visible{opacity:1}

/* 1A · group introduction */
.gi2{padding-top:var(--sec)}
.gi2-t{display:flex;flex-direction:column;gap:24px}
.gi2-row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);column-gap:clamp(40px,6vw,112px);row-gap:24px;align-items:end}
.gi2-row .t-h1{max-width:17ch}
.gi2-s{display:flex;flex-direction:column;gap:22px;align-items:flex-start;padding-bottom:8px}
.cs .gi2-m{margin:clamp(56px,7vw,104px) 0 0;width:100%;aspect-ratio:21/8;max-height:620px}
.gi2-m>img{object-position:50% 58%;filter:saturate(.9) contrast(1.03)}
.gi2-m .tag{left:var(--m);bottom:20px}

/* 3.1 · Realty hero: Navy weighted to the text, courtyard kept clear */
.rh-hero:not(.sh-hero2) .rh-img{object-position:50% 66%;filter:saturate(.88) contrast(1.05)}
.rh-hero:not(.sh-hero2) .rh-ov{opacity:.44}
.rh-sh{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 72% 90% at 8% 92%,rgba(20,40,75,.86) 0%,rgba(20,40,75,.5) 50%,rgba(20,40,75,0) 100%)}
.rh-facts{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--ivory);margin:0}
.rh-facts span{opacity:.86}

/* 4.1 · Realty featured: four equal 4:5 cards */
.opp-g--eq{grid-template-columns:repeat(4,minmax(0,1fr));gap:48px var(--g)}
.opp-g--eq>.card:nth-child(n){grid-column:auto;grid-row:auto;display:flex;gap:18px;align-items:stretch}
.opp-g--eq>.card:nth-child(n) .media{aspect-ratio:4/5}
.opp-g--eq .card:nth-child(n) .t-pn{font-size:clamp(22px,1.8vw,28px)}
.opp-g--eq .card .meta .tag{display:none}

/* 3.3 · per-image focal points on investment cards */
.card .media img[src*="c2610126852c2a4000edd27c6d7e5f66"],.card .media img[data-b="c2610126852c2a4000edd27c6d7e5f66"]{object-position:50% 18%}
.card .media img[src*="ad86ecc13127f75bc6d4988082a37ab5"],.card .media img[data-b="ad86ecc13127f75bc6d4988082a37ab5"]{object-position:40% 55%}

/* 3.2 · Stay hero: natural light, Ivory panel */
.sh-hero2 .rh-img{filter:brightness(1.05) saturate(1.02)}
.sh-hero2 .rh-ov{opacity:.16}
.sh-hero2::before{content:"";position:absolute;inset:0 0 auto;height:200px;z-index:1;pointer-events:none;background:linear-gradient(rgba(20,40,75,.5),rgba(20,40,75,0))}
.sh-panel{background:var(--ivory);color:var(--navy);padding:clamp(28px,3.4vw,52px) clamp(28px,3.6vw,56px);max-width:640px;display:flex;flex-direction:column;gap:18px}
.sh-panel .t-h1{font-size:clamp(40px,4.4vw,66px)}
.sh-panel .btn--ghost{color:var(--navy)}
.sh-panel .btn--ghost:hover{background:var(--stone);color:var(--navy)}
.cs .sh-panel :focus-visible{outline-color:var(--navy)}
.sh-hero2 .rh-c{padding-bottom:150px}

/* 4.2 · Stay search label + apartment cards */
.sh-sl{display:flex;justify-content:space-between;gap:16px;background:var(--navy);color:var(--ivory);padding:9px 16px}
.sh-sl .t-lbl{color:var(--ivory)}
.sh-sl .t-lbl+.t-lbl{color:var(--mist)}
.stay-g--v .rate{border-top:1px solid var(--mist);padding-top:12px;margin-top:4px}
.stay-g--v .card-b .lnk{margin-top:4px}
.dest-credit{margin-top:14px;font-size:12px}

/* 5 · property galleries: a little taller, lead image focused lower */
.mosaic{height:clamp(400px,43vw,640px)}
.mosaic>button:first-child img{object-position:50% 62%}

/* 6 · motion */
.jr-swap{animation:jrIn 560ms var(--ease-ed) both}
@keyframes jrIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .cs-js .cs .rv .media>img,.cs-js .cs .rv.media>img{clip-path:inset(0 0 100% 0);transition:clip-path 1200ms var(--ease-ed),transform var(--dur-slow) var(--ease-ed),opacity var(--dur-slow) var(--ease-ed)}
  .cs-js .cs .rv.in .media>img,.cs-js .cs .rv.media.in>img{clip-path:inset(0 0 0 0)}
  .cs-js .cs .rv .card-b,.cs-js .cs .rv .dest-b,.cs-js .cs .rv .mk-b{opacity:0;transition:opacity 900ms var(--ease-ed) 300ms}
  .cs-js .cs .rv.in .card-b,.cs-js .cs .rv.in .dest-b,.cs-js .cs .rv.in .mk-b{opacity:1}
}
@media (prefers-reduced-motion:reduce){.jr-swap{animation:none}}

@media (max-width:1199px){
  .opp-g--eq{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gi2-row{grid-template-columns:1fr}
  .gi2-s{max-width:620px}
}
@media (max-width:767px){
  .hero-pick:hover .choice,.hero-pick:focus-within .choice{opacity:1}
  .gi2-row{grid-template-columns:1fr}
  .gi2-m{aspect-ratio:4/3}
  .gi2-m .tag{left:16px;bottom:12px}
  .rh-facts{display:none}
  .sh-panel{padding:24px 22px}
  .sh-panel .btn{width:auto;height:auto;min-height:48px;padding:0 20px}
  .sh-hero2 .rh-c{padding-bottom:96px}
  .mosaic{height:auto}
}
.sh-hero2 .hero-meta .cue{visibility:hidden}

/* closing section: two actions per path (approved 13 Nov) */
.path-b{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.path .path-b .btn{margin-top:0;pointer-events:auto}
.path:focus-within .path-w::after{transform:scaleX(1)}
.path--inv:hover .btn--lt:not(:hover){background:var(--ivory)}
.path--inv:hover .btn--ghost:not(:hover){background:transparent}
.path--stay:hover .btn:not(.btn--ghost):not(:hover){background:var(--navy)}
.path--stay .btn--ghost{color:var(--navy);background:transparent}
.path--stay .btn--ghost:hover{background:var(--navy);color:var(--ivory)}
@media (max-width:767px){.path-b{flex-direction:column;align-items:stretch;width:100%}.path-b .btn{width:100%;height:auto;min-height:52px}}

/* hairline between the closing paths and the footer */
.paths{border-bottom:1px solid rgba(169,180,194,.32)}
