/* BelowMarket discovery: motion enhances navigation, never blocks it. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.experience-modal-open{overflow:hidden}.editorial-nav a[aria-current=page]{color:#adc0ff}
body{padding-top:104px}.site-header{position:fixed;inset:16px 24px auto;z-index:40;border:0;background:none;pointer-events:none}.site-header .header{pointer-events:auto;height:72px;padding:12px 22px;max-width:1376px;border:1px solid #e3e7ef;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 8px 30px #101b2c08;transition:height .25s,box-shadow .25s;gap:25px}.site-header.is-scrolled .header{height:64px;box-shadow:0 9px 35px #101b2c16;backdrop-filter:blur(16px)}.site-header .brand img{width:165px}.site-header .brand small{display:none}.quick-nav{display:flex;gap:25px;font-size:12px;font-weight:600;margin-left:auto;position:static;background:none;padding:0;box-shadow:none}.header-actions{display:flex;align-items:center;gap:10px}.site-header .button{font-size:12px;min-height:44px;padding:10px 16px;display:inline-flex}.saved-trigger{border:0;background:transparent;display:flex;align-items:center;gap:7px;font:600 12px 'DM Sans';color:var(--navy);padding:10px;min-height:44px;cursor:pointer}.saved-trigger svg{width:18px;height:18px}.saved-count{display:inline-grid;place-items:center;background:#eef2ff;color:var(--blue);min-width:20px;height:20px;border-radius:50%;font-size:10px}.site-header .menu-button{display:flex;align-items:center;gap:12px;background:var(--navy);color:white;font:600 12px 'DM Sans';padding:12px 16px;border-radius:6px;min-height:44px;cursor:pointer}.menu-bars{width:17px;display:grid;gap:5px}.menu-bars i{display:block;background:currentColor;height:1px;width:17px;transition:transform .2s}.menu-button[aria-expanded=true] .menu-bars i:first-child{transform:translateY(3px) rotate(45deg)}.menu-button[aria-expanded=true] .menu-bars i:last-child{transform:translateY(-3px) rotate(-45deg)}.reading-progress{position:absolute;bottom:-1px;left:16px;right:16px;height:2px;pointer-events:none;max-width:1344px;margin:auto;overflow:hidden}.reading-progress span{display:block;background:var(--blue);height:100%;transform-origin:left;transform:scaleX(0)}
dialog{padding:0;border:0;color:var(--navy);box-sizing:border-box}dialog::backdrop{background:#101b2c80;backdrop-filter:blur(4px)}.editorial-menu{width:100%;max-width:none;height:100svh;max-height:100svh;margin:0;background:var(--navy);color:white;overflow-y:auto}.editorial-menu[open]{animation:menu-arrive .3s cubic-bezier(.22,.8,.22,1)}.menu-shell{max-width:1500px;margin:auto;padding:28px 56px 30px;min-height:100%;display:flex;flex-direction:column}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid #ffffff20}.menu-top .brand{display:block;padding:7px 10px;border-radius:4px;background:white}.menu-top .brand img{width:175px}.dialog-close{border:1px solid #ffffff40;border-radius:5px;background:none;color:inherit;min-height:44px;padding:10px 17px;font:600 12px 'DM Sans';cursor:pointer}.dialog-close:hover{background:#ffffff12}.menu-eyebrow{font-size:10px;letter-spacing:2px;color:#a8bbff;margin:28px 0 20px}.menu-layout{display:grid;grid-template-columns:1.8fr 1fr;gap:65px;align-items:start;flex:1}.editorial-nav{display:grid!important;grid-template-columns:1fr 1fr;gap:0 40px;position:static!important;padding:0!important;background:none!important;box-shadow:none!important;align-items:start!important;font-size:inherit!important;top:auto!important}.editorial-nav a{padding:20px 0;display:flex;align-items:center;gap:13px;border-top:1px solid #ffffff25;font:500 clamp(24px,2.5vw,40px)/1.2 var(--display);letter-spacing:-.05em;white-space:normal;transition:color .2s,padding .2s}.editorial-nav a:hover{color:#adc0ff;padding-left:6px}.editorial-nav a small{font:10px 'DM Sans';color:#9cacc5;letter-spacing:0;align-self:start;margin-top:7px}.editorial-nav a>span{margin-left:auto;font:22px 'DM Sans';color:#8ca8ff}.editorial-menu[open] .editorial-nav a{animation:menu-link .4s both;animation-delay:calc(var(--i)*35ms)}.menu-featured{border-radius:6px;overflow:hidden}.menu-featured img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.menu-featured-body{padding:18px 0}.menu-featured-body h3{font-size:23px;line-height:1.3;margin:10px 0}.menu-featured-body p{font-size:13px;color:#b8c5d8;margin:5px 0}.menu-featured-body .eyebrow{color:#a8bbff}.menu-featured-body a{color:white}.menu-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:24px;border-top:1px solid #ffffff20;margin-top:30px;font-size:11px;color:#c2ccdb}.menu-bottom a{color:white;font-weight:600}.menu-bottom span{max-width:470px}
.experience-dialog{width:min(1080px,calc(100% - 48px));max-height:calc(100svh - 48px);border-radius:12px;background:#fff;overflow-y:auto}.experience-dialog[open]{animation:dialog-arrive .25s ease-out}.experience-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 32px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.experience-top h2{font-size:27px;margin:4px 0 0}.experience-top .eyebrow{font-size:9px}.experience-top .dialog-close{border-color:var(--line);color:var(--navy)}.experience-top .dialog-close:hover{background:#f2f4f7}.experience-body{padding:28px 32px}.experience-dialog .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.experience-empty{padding:35px 15px 50px;text-align:center;max-width:560px;margin:auto}.experience-empty h3{font-size:29px}.experience-empty p{font-size:16px}.experience-empty .button{margin-top:15px}.experience-note{font-size:12px;line-height:1.6;color:var(--muted);margin:18px 0 0}.shortlist-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;font-size:13px}.text-button{border:0;background:none;font:600 12px 'DM Sans';color:var(--blue);cursor:pointer;padding:10px;min-height:42px}.text-button:hover{text-decoration:underline}
.card-media{position:relative}.save-property{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid #e3e7ee;background:#fffffff5;display:grid;place-items:center;cursor:pointer;color:var(--navy);transition:color .2s,transform .2s,background .2s;box-shadow:0 4px 12px #101b2c10}.save-property svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.save-property:hover{transform:scale(1.06);color:var(--blue)}.save-property[aria-pressed=true]{color:var(--blue);background:#edf2ff;border-color:#ccd9ff}.save-property[aria-pressed=true] svg{fill:currentColor;animation:heart-pop .25s ease-out}.card-tools{display:flex;align-items:center;justify-content:space-between;margin-top:13px;padding-top:12px;border-top:1px solid var(--line);gap:12px}.compare-property{border:0;background:none;color:var(--muted);font:500 11px 'DM Sans';display:inline-flex;align-items:center;gap:8px;padding:8px 0;min-height:40px;cursor:pointer}.compare-property:before{content:'+';width:16px;height:16px;display:grid;place-items:center;border:1px solid #aab6c9;font:14px 'DM Sans';border-radius:3px}.compare-property[aria-pressed=true]{color:var(--blue)}.compare-property[aria-pressed=true]:before{content:'✓';background:var(--blue);color:#fff;border-color:var(--blue)}.detail-tools{display:flex;gap:12px;margin-top:20px}.detail-tools .save-property{position:static;width:auto;min-height:44px;border-radius:5px;padding:10px 14px;display:flex;gap:9px;font:600 12px 'DM Sans';box-shadow:none}.detail-tools .compare-property{border:1px solid var(--line);border-radius:5px;padding:10px 14px;min-height:44px}
.compare-tray{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:35;width:min(640px,calc(100% - 32px));padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--navy);color:white;box-shadow:0 8px 40px #101b2c30;border:1px solid #ffffff20;border-radius:8px;animation:tray-arrive .25s ease-out}.compare-tray strong{font:600 13px 'DM Sans';display:block}.compare-tray small{display:block;font:10px 'DM Sans';color:#b8c8df;margin-top:3px}.compare-tray .button{min-height:42px;padding:9px 14px;font-size:12px;background:#fff;color:var(--navy);border-color:#fff}.compare-tray .button:disabled{opacity:.6;cursor:default;transform:none}.compare-tray .text-button{color:#cbd8ff;min-height:36px;padding:6px}.tray-actions{display:flex;gap:6px;align-items:center}.has-compare-tray{padding-bottom:90px}.compare-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:6px}.compare-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;table-layout:fixed;min-width:690px}.compare-table th,.compare-table td{padding:16px;vertical-align:top;border-bottom:1px solid var(--line);border-right:1px solid var(--line);line-height:1.6}.compare-table tr:last-child>*{border-bottom:0}.compare-table tr>*:last-child{border-right:0}.compare-table thead th{background:#f6f7fa;font-weight:500}.compare-table thead th:first-child{width:145px}.compare-table tbody th{font-weight:600;background:#fafbfc;color:#506078}.compare-table img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;display:block;margin-bottom:14px}.compare-table h3{font-size:17px;line-height:1.4;margin:5px 0 8px}.compare-table .price{font-size:21px}.compare-table .text-button{padding:8px 0;color:#6d7582}.compare-table .button{font-size:11px;padding:10px 12px;min-height:42px;width:100%}.compare-hint{display:none;font-size:12px;color:var(--muted);margin-bottom:15px}
.suggestion-host{position:relative}.suggestions{position:absolute;left:-10px;right:-10px;top:100%;z-index:15;max-height:330px;overflow-y:auto;background:white;border:1px solid var(--line);border-radius:6px;box-shadow:0 14px 40px #101b2c20;padding:7px;min-width:250px;margin-top:8px;text-transform:none;letter-spacing:0}.suggestion{display:flex;width:100%;align-items:start;gap:12px;border:0;background:white;padding:12px;text-align:left;cursor:pointer;color:var(--navy);border-radius:4px;font:500 13px 'DM Sans';min-height:48px}.suggestion:hover,.suggestion[aria-selected=true]{background:#edf2ff}.suggestion small{font-size:10px;color:var(--muted);display:block;margin-top:3px;font-weight:400}.suggestion-icon{display:grid;place-items:center;width:25px;height:25px;background:#f0f3f9;flex-shrink:0;color:var(--blue);font-size:14px}.suggestion-copy{flex:1}.suggestion-name{display:block;font-weight:600}.suggestion-type{font-size:9px;color:#708097;white-space:nowrap;margin-top:3px}.experience-toast{position:fixed;bottom:108px;left:50%;transform:translateX(-50%);z-index:80;background:var(--navy);color:white;border-radius:5px;padding:12px 18px;max-width:calc(100% - 40px);font:12px 'DM Sans';box-shadow:0 8px 30px #101b2c20;pointer-events:none}
.reveal-target{transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal-target:not(.is-visible){opacity:0;transform:translateY(22px)}.hero-editorial h1{animation:none}.hero-editorial h1 span{animation:word-arrive .65s both;display:block}.hero-editorial h1 span:nth-child(2){animation-delay:.08s}.hero-editorial h1 span:nth-child(3){animation-delay:.16s}.hero-editorial>p{animation:word-arrive .6s .2s both}.hero-architecture{will-change:transform}.filters.is-expanded .advanced-fields{animation:panel-arrive .2s ease-out}.filters.mobile-open{animation:drawer-arrive .25s ease-out}html{scroll-padding-top:110px}
@keyframes menu-arrive{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:none}}@keyframes menu-link{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes dialog-arrive{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes word-arrive{from{opacity:0;transform:translateY(20px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes heart-pop{50%{transform:scale(1.16)}}@keyframes panel-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes drawer-arrive{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}@keyframes tray-arrive{from{opacity:0;margin-bottom:-10px}to{opacity:1;margin-bottom:0}}
@media(min-width:951px){.hero-stage{height:calc(100svh - 260px);min-height:520px;max-height:660px}.hero-editorial{padding-top:34px;padding-bottom:18px}.hero-editorial h1{font-size:clamp(48px,min(4.8vw,8.3svh),72px);margin:18px 0;max-width:750px}.hero-editorial>p{font-size:16px;line-height:1.55;max-width:410px;margin-bottom:14px}}
@media(max-width:1100px){.quick-nav{display:none}.header-actions{margin-left:auto}.menu-layout{gap:40px}.menu-shell{padding-inline:36px}.editorial-nav{gap:0 25px}.editorial-nav a{font-size:30px}.experience-dialog{width:calc(100% - 32px)}}
@media(max-width:750px){body{padding-top:86px}.site-header{inset:10px 12px auto}.site-header .header{height:64px;padding:9px 12px;gap:10px;border-radius:8px}.site-header.is-scrolled .header{height:60px}.site-header .brand img{width:145px}.header-actions{gap:4px}.site-header .header-actions>.button{display:none}.saved-trigger{font-size:0;padding:8px 7px;gap:4px}.saved-trigger svg{width:17px}.site-header .menu-button{padding:10px 12px;gap:9px}.menu-shell{padding:20px 24px 24px}.menu-top{padding-bottom:18px}.menu-top .brand img{width:155px}.menu-eyebrow{margin:23px 0 15px;font-size:9px}.menu-layout{grid-template-columns:1fr;gap:20px}.editorial-nav{grid-template-columns:1fr!important;gap:0}.editorial-nav a{font-size:28px;padding:13px 0}.editorial-nav a small{font-size:9px}.menu-featured{display:none}.menu-bottom{display:block;margin-top:18px;padding-top:18px;font-size:10px}.menu-bottom span{display:block;margin-top:10px}.experience-dialog{width:calc(100% - 20px);max-height:calc(100svh - 20px);border-radius:8px}.experience-top{padding:20px;gap:15px}.experience-top h2{font-size:24px}.experience-body{padding:20px}.experience-dialog .cards{grid-template-columns:1fr}.experience-top .dialog-close{font-size:0;width:44px;padding:8px}.experience-top .dialog-close span{font-size:20px}.shortlist-tools{font-size:12px;align-items:start}.shortlist-tools .text-button{padding:5px 0}.experience-empty{padding:25px 0 35px}.experience-empty h3{font-size:26px}.compare-tray{bottom:10px;padding:10px 12px;gap:8px;width:calc(100% - 24px)}.compare-tray strong{font-size:11px}.compare-tray small{font-size:9px}.compare-tray .button{font-size:11px;min-height:40px;padding:9px 10px}.compare-tray .text-button{font-size:10px}.compare-hint{display:block}.compare-table{min-width:740px}.compare-table thead th:first-child{width:120px}.compare-table th,.compare-table td{padding:12px}.has-compare-tray .mobile-sticky{bottom:78px}.experience-toast{bottom:98px;width:max-content;max-width:calc(100% - 30px);text-align:center}.suggestions{left:0;right:0;min-width:0}.hero-editorial h1 span{display:block}.hero-architecture{transform:none!important;will-change:auto}.detail-tools{gap:8px;flex-wrap:wrap}.detail-tools .save-property,.detail-tools .compare-property{font-size:11px}html{scroll-padding-top:92px}}
@media(max-width:380px){.site-header .brand img{width:124px}.site-header .menu-button{padding:10px}.saved-trigger{padding:8px 3px}.site-header .header{gap:5px}.header-actions{gap:2px}}
@media(min-width:651px) and (max-width:950px){.hero-editorial h1{font-size:clamp(43px,5.8vw,55px);max-width:520px}.hero-stage:after{background:linear-gradient(90deg,var(--ivory) 0%,var(--ivory) 44%,rgba(245,244,239,.96) 52%,rgba(245,244,239,0) 77%)}}
@media(max-width:750px) and (max-height:700px){.hero-editorial{padding-top:20px;padding-bottom:15px}.hero-editorial h1{font-size:clamp(32px,9.4vw,44px);margin:13px 0}.hero-editorial>p{font-size:13px;line-height:1.45;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal-target:not(.is-visible){opacity:1;transform:none}.hero-architecture{transform:none!important}.card:hover img,.save-property:hover,.button:hover{transform:none!important}}

/* Final interaction polish: clear focus, comfortable controls, safe-area spacing. */
.skip-link{position:fixed;top:10px;left:24px;z-index:100;background:var(--navy);color:#fff;padding:12px 20px;border-radius:6px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.editorial-menu :focus-visible{outline-color:#adc0ff}
main:focus{outline:none}
.editorial-menu,.experience-dialog,.suggestions,.compare-scroll{overscroll-behavior:contain}
.card-address,.menu-featured-body h3,.compare-table h3{overflow-wrap:anywhere}
@media(pointer:coarse){.compare-property,.card-detail,.text-button{min-height:44px}.card-detail{min-width:44px}input,select,textarea{font-size:16px!important}.button:hover{transform:none}}
@media(max-width:750px){.compare-tray{bottom:calc(10px + env(safe-area-inset-bottom,0px))}.has-compare-tray{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.has-compare-tray .mobile-sticky{bottom:calc(78px + env(safe-area-inset-bottom,0px))}.experience-toast{bottom:calc(98px + env(safe-area-inset-bottom,0px))}.menu-shell{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.experience-body{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}}
