:root{--navy:#0c1247;--deep:#080d31;--paper:#fffafa;--cream:#f5f3f1;--white:#fff;--ink:#0c1247;--muted:#53566c;--line:#dedde3;--max:1320px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,"Segoe UI",sans-serif}body:has(dialog[open]){overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #6574fc;outline-offset:4px}img{display:block;max-width:100%;object-fit:cover}.wrap,.bar{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.skip{position:absolute;z-index:20;top:0;left:0;padding:10px;background:white;transform:translateY(-120%)}.skip:focus{transform:none}.mast{position:absolute;z-index:2;width:100%;color:white}.bar{display:flex;align-items:center;justify-content:space-between;min-height:89px;border-bottom:1px solid #ffffff4d;gap:24px}.brand{display:flex;flex-direction:column;font-size:1.08rem;font-weight:800;letter-spacing:.14em;line-height:1.05;white-space:nowrap}.brand-num{margin-left:.18em;font-weight:350}.brand small{margin-top:7px;font-size:.57rem;letter-spacing:.19em;font-weight:650}.nav,.controls,.actions{display:flex;align-items:center;gap:24px}.nav a{font-size:.83rem;font-weight:600;opacity:.9}.nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:5px}.controls{gap:18px}.languages{display:flex;align-items:center;gap:7px}.languages span{height:13px;width:1px;background:#ffffff63}.languages button{border:0;background:none;color:#fff;padding:6px 3px;font-size:.69rem;font-weight:700;opacity:.7}.languages button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:5px}.pill{display:inline-flex;justify-content:center;align-items:center;gap:13px;white-space:normal;border:1px solid transparent;border-radius:100px;padding:13px 20px;min-height:48px;background:none;font-size:.84rem;font-weight:720;line-height:1.25;transition:background .3s,color .3s,border-color .3s,transform .35s var(--ease)}.pill:hover{transform:translateY(-2px)}.nav-advisor{color:white;border-color:#ffffff73;min-height:39px;padding:9px 14px;font-size:.75rem}.nav-advisor:hover,.outline:hover{background:#ffffff26}.spark{font-size:1em}.primary{background:var(--paper);color:var(--navy)}.primary:hover{background:#eeedf9}.outline{color:white;border-color:#ffffff92}.navy{background:var(--navy);color:white}.navy:hover{background:#252f76}.secondary{background:transparent;border-color:#a1a2b3}.secondary:hover{background:#eeeefa}
.hero{position:relative;isolation:isolate;min-height:max(690px,min(880px,92svh));display:grid;align-items:end;color:white;background:var(--deep);overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center 57%;animation:hero-image 1.3s var(--ease) both}.hero:after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(0deg,#080d32bd 0%,transparent 24%),linear-gradient(180deg,#080d3299 0%,transparent 28%),linear-gradient(90deg,#080d32ea 0%,#080d32b8 34%,#080d3230 70%,#080d3208 100%);pointer-events:none}.hero-content,.hero-bottom{position:relative;z-index:1}.hero-content{padding-top:153px;padding-bottom:122px;align-self:center}.eyebrow{font-size:.67rem;font-weight:780;letter-spacing:.17em;text-transform:uppercase}.hero-kicker{display:flex;gap:12px;align-items:center;color:#f0f0f8}.line{height:1px;width:30px;background:#efeff6}.hero h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em;line-height:.99}.hero h1{font-size:clamp(4rem,8.2vw,8.4rem);max-width:12ch;margin:18px 0 23px}.hero h1 em,h2 em{font-weight:400}.hero h1 em{color:#f1edeb}.hero-content>p{color:#f4f3f5;max-width:40ch;font-size:clamp(1rem,1.6vw,1.2rem);margin:0 0 29px}.hero-content>*{animation:in .9s var(--ease) both}.hero-content>h1{animation-delay:.06s}.hero-content>p{animation-delay:.13s}.hero-content>.actions{animation-delay:.19s}.actions{gap:12px;flex-wrap:wrap}.hero-bottom{display:flex;position:absolute;bottom:24px;left:0;right:0;align-items:center;justify-content:space-between;gap:14px;color:#f1edf2;font-size:.69rem;letter-spacing:.04em}.scroll-note{display:flex;gap:10px;align-items:center}.scroll-note span:first-child{border:1px solid #ffffff73;border-radius:50%;width:31px;height:31px;display:grid;place-items:center}
.collection{padding:92px 0 94px}.section-head{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:30px;margin-bottom:32px}.section-kicker{display:flex;gap:10px;color:var(--muted)}.section-kicker span:first-child{color:var(--navy);font-weight:800}.section-head h2,.approach h2{font-size:clamp(3rem,6.4vw,6.1rem);margin:10px 0 0}.section-head p,.approach p{margin:0 0 15px;color:var(--muted);max-width:41ch}.text-button{display:inline-flex;gap:14px;align-items:center;padding:0 0 5px;background:none;border:0;border-bottom:1px solid currentColor;font-size:.87rem;font-weight:720}.text-button:hover{color:#454d8b}.cards{display:grid;grid-template-columns:1fr 1fr;gap:26px}.property{padding:0;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;display:block}.property-photo{position:relative;overflow:hidden;background:#e9e7e8;aspect-ratio:1.49}.property-photo img{height:100%;width:100%;transition:transform .85s var(--ease)}.property:hover img{transform:scale(1.045)}.badge{position:absolute;left:14px;top:14px;border-radius:99px;background:var(--paper);color:var(--navy);padding:5px 10px;font-size:.63rem;font-weight:750;letter-spacing:.05em}.prop-meta{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:16px 0}.prop-meta small{grid-column:1/-1;color:var(--muted);font-size:.67rem;letter-spacing:.11em;text-transform:uppercase}.prop-meta strong{font:400 clamp(1.65rem,3.6vw,2.9rem)/1.15 Georgia,serif;letter-spacing:-.04em}.prop-meta .arrow{grid-column:2;grid-row:2/4;font-size:1.24rem;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transition:background .3s,color .3s}.property:hover .arrow{background:var(--navy);color:white}.prop-meta .sub{grid-column:1;color:var(--muted);font-size:.87rem}
.approach{background:#ececf2;padding:70px 0 77px}.approach-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:end}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 0;color:var(--muted);font-size:.76rem}footer strong{color:var(--navy)}footer p{margin:3px 0 0}footer img{width:76px;height:auto}
dialog{width:min(1050px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:14px;color:var(--ink);background:var(--paper);overscroll-behavior:contain;box-shadow:0 20px 80px #080d3244}dialog[open]{animation:dialog-in .48s var(--ease) both}dialog::backdrop{background:#090e35b8;backdrop-filter:blur(5px)}.dialog-bar{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--paper);padding:13px 20px;border-bottom:1px solid var(--line)}.close{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:none;border:1px solid var(--line);border-radius:50%;font-size:1.45rem;line-height:1}.close:hover{background:#ececf2}.detail{display:grid;grid-template-columns:1.12fr 1fr;gap:26px;padding:20px}.gallery{align-self:start;min-width:0}.gallery-image{width:100%;aspect-ratio:1.28;background:#e7e5e4}.gallery-image.swap{animation:fade-in .38s var(--ease) both}.gallery-controls{display:flex;align-items:center;gap:8px;padding-top:9px}.thumb{width:82px;height:55px;border:1px solid transparent;padding:3px;background:none;border-radius:3px}.thumb[aria-pressed=true]{border-color:var(--navy)}.thumb img{width:100%;height:100%}.photo-count{margin-left:auto;font-size:.74rem;color:var(--muted)}.detail-copy h2,.panel h2{font-size:clamp(2.3rem,5.6vw,4rem);margin:7px 0 12px}.detail-copy p,.panel p{color:var(--muted);margin:0 0 14px}.detail-price{font-size:1.04rem;font-weight:740;margin-bottom:14px}.facts{display:flex;gap:13px;font-size:.81rem;margin-bottom:18px;flex-wrap:wrap}.facts span{padding:4px 8px;background:#ececf2}.tab-list{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px}.tab{border:0;border-bottom:2px solid transparent;background:none;padding:9px 6px;font-size:.72rem;font-weight:680;white-space:nowrap}.tab[aria-pressed=true]{border-bottom-color:var(--navy)}.tab-copy{min-height:100px}.tab-copy p{font-size:.88rem;margin:0 0 8px}.tab-copy ul{padding-left:17px;margin:0;color:var(--muted);font-size:.84rem}.panel{padding:24px;max-width:760px;margin:auto}.panel .eyebrow{color:var(--muted)}.scope{font-size:.78rem!important}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.chip{border:1px solid #b8b8c7;border-radius:99px;background:white;padding:7px 11px;font-size:.77rem;font-weight:650}.chip:hover{background:#eaeaf3}.response{border-left:2px solid var(--navy);background:#eeedf4;padding:13px 15px;margin:15px 0;animation:in .4s var(--ease) both}.response strong{display:block;margin-bottom:5px}.response p{font-size:.9rem;margin:0 0 6px}.field{display:grid;gap:5px;font-weight:700;font-size:.78rem}.field input,.field select{min-width:0;width:100%;border:1px solid #b8b8c7;padding:10px;border-radius:5px;background:white}.ask{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.ask .pill{min-height:43px}.profile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}.compare-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.compare-card{border:1px solid var(--line);padding:13px}.compare-card p{font-size:.82rem;margin-bottom:8px}.compare-card strong{display:block;margin-bottom:4px}.compare-card .text-button{font-size:.78rem}.plan{margin:14px 0;padding-left:20px;font-size:.86rem}.plan li{margin:0 0 5px}.status{font-size:.8rem;margin-top:8px!important}.empty{color:var(--muted)}.reveal.wait{opacity:0;transform:translateY(18px);transition:opacity .72s var(--ease),transform .72s var(--ease)}.reveal.wait.visible{opacity:1;transform:none}@keyframes in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:.38}to{opacity:1}}@keyframes hero-image{from{transform:scale(1.035);opacity:.64}to{transform:scale(1);opacity:1}}@keyframes dialog-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:880px){.wrap,.bar{width:calc(100% - 48px)}.nav{gap:15px}.hero{min-height:max(655px,84svh)}.hero-content{padding-bottom:100px}.section-head,.approach-inner{grid-template-columns:1fr;gap:15px}.collection{padding:65px 0}.approach{padding:55px 0}.detail{gap:18px}.detail-copy h2{font-size:2.65rem}}
@media(max-width:620px){.wrap,.bar{width:calc(100% - 36px)}.bar{min-height:65px;gap:8px}.nav{display:none}.controls{gap:9px}.brand{font-size:.88rem}.brand small{font-size:.48rem}.nav-advisor{padding:8px 10px;min-height:34px;font-size:.65rem}.hero{min-height:max(610px,85svh)}.hero>img{object-position:62% 50%}.hero:after{background:linear-gradient(180deg,#080d32a1 0%,#080d3226 26%,#080d32e0 82%,#080d32ec 100%),linear-gradient(90deg,#080d3266,transparent 70%)}.hero-content{align-self:end;padding-top:155px;padding-bottom:96px}.hero h1{font-size:clamp(3.3rem,11vw,5rem);margin:15px 0 16px}.hero-kicker{font-size:.59rem}.hero-content>p{margin-bottom:20px}.hero-bottom{bottom:16px;font-size:.61rem}.hero-bottom>span{text-align:right}.hero .pill{padding:11px 13px;min-height:42px;font-size:.76rem}.cards{grid-template-columns:1fr;gap:25px}.section-head{margin-bottom:23px}.collection{padding:47px 0 51px}.approach{padding:43px 0 48px}dialog{width:100%;max-height:calc(100dvh - 14px);margin:auto 0 0;border-radius:14px 14px 0 0}.dialog-bar{padding:9px 14px}.detail{grid-template-columns:1fr;gap:12px;padding:12px 15px 20px}.gallery-image{aspect-ratio:1.48}.detail-copy h2{margin-top:7px}.panel{padding:16px 15px 20px}.profile{grid-template-columns:1fr}.ask{grid-template-columns:1fr}.ask .pill{justify-self:start}.compare-list{grid-template-columns:1fr}.tab-copy{min-height:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal.wait{opacity:1;transform:none}}
dialog.mode-advisor{margin:10px 10px 10px auto;width:min(535px,calc(100% - 20px));height:calc(100dvh - 20px);max-height:none}dialog.mode-advisor[open]{animation:drawer-in .48s var(--ease) both}.tour-stage{position:relative;display:grid;place-items:center;min-height:0;background:#e4e5eb;overflow:hidden;border-radius:7px}.tour-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:grab;touch-action:none}.tour-stage canvas.dragging{cursor:grabbing}.tour-stage #tour-fallback{padding:0 15px;text-align:center;font-size:.9rem}.tour-stage[data-ready=true] #tour-fallback{display:none}.tour-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.move{display:flex;gap:5px}.move button{width:39px;height:39px;padding:0;touch-action:none;font-size:1rem}.rooms .chip[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}@keyframes drawer-in{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}@media(max-width:620px){dialog.mode-advisor{width:100%;height:auto;max-height:calc(100dvh - 14px);margin:auto 0 0}dialog.mode-advisor[open]{animation-name:dialog-in}.tour-controls .actions{gap:5px}}@media(prefers-reduced-motion:reduce){dialog.mode-advisor[open]{animation:none}}
.tour-location{position:absolute;top:12px;left:12px;pointer-events:none;background:#0c1247dd;color:white;font-size:.72rem;font-weight:740;letter-spacing:.06em;padding:6px 11px;border-radius:100px}.tour-location:empty{display:none}
.gallery-image{height:auto}.property-photo{border-radius:6px}.gallery-image{border-radius:5px}.experience-tag{position:absolute;left:14px;bottom:14px;background:#0c1247e8;color:white;padding:6px 10px;border-radius:99px;font-size:.69rem;font-weight:700}
@media screen and (prefers-reduced-motion:no-preference){
 .hero>img{translate:0 var(--media-y,0px);scale:1.1}
 .reveal.wait{opacity:0;transform:translate3d(0,24px,0) scale(.99);transition:opacity 800ms var(--ease),transform 800ms var(--ease);transition-delay:var(--reveal-delay,0ms)}
 .reveal.wait.visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
 .reveal.wait:focus-within{opacity:1;transform:none;transition-delay:0ms}
}
@media screen and (max-width:700px) and (prefers-reduced-motion:no-preference){
 .reveal.wait{transition-duration:650ms;transition-delay:min(var(--reveal-delay,0ms),80ms)}
 .reveal.wait:not(.visible){transform:translate3d(0,16px,0) scale(.995)}
}
@media print{
 .hero>img{transform:none!important;translate:none!important;scale:1!important}
 .reveal.wait{opacity:1!important;transform:none!important;transition:none!important}
}
.property-contact{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.contact-link{gap:18px}
dialog.mode-tour {
 width:min(1080px, calc(100% - 32px));
 height:min(740px, calc(100dvh - 32px));
 max-height:none;
}
.mode-tour #dialog-content {
 min-height:100%;
 height:100%;
 display:grid;
 grid-template-rows:auto minmax(0, 1fr);
}
.mode-tour .dialog-bar {
 position:static;
 padding:9px 18px;
}
.mode-tour .dialog-bar .eyebrow {color:var(--muted)}
.mode-tour .dialog-bar h2 {
 font-size:clamp(1.5rem, 3vw, 2.25rem);
 letter-spacing:-.035em;
 line-height:1.06;
 margin:2px 0 0;
}
.tour-panel {
 display:grid;
 grid-template-rows:auto minmax(145px, 1fr) auto auto;
 gap:8px;
 min-width:0;
 padding:8px 18px 12px;
}
#tour-intro {
 margin:0;
 color:var(--muted);
 font-size:.83rem;
}
.tour-controls .rooms {gap:6px}
.tour-controls button {min-height:38px}
.tour-end {
 justify-content:space-between;
 gap:8px;
 padding-top:8px;
 border-top:1px solid var(--line);
}
.tour-end .contact-link {
 min-height:42px;
 padding:9px 14px;
 gap:8px;
}
@media(max-width:620px) {
 dialog.mode-tour {
  width:100%;
  height:calc(100dvh - 10px);
  height:calc(100dvh - 10px - env(safe-area-inset-top, 0px));
 }
 .mode-tour .dialog-bar {padding:8px 12px}
 .tour-panel {padding:8px 12px max(10px, env(safe-area-inset-bottom))}
}
