.property-filters-dialog{width:min(1120px,calc(100vw - 48px));height:min(820px,calc(100dvh - 48px));max-width:none;max-height:none;padding:0;border:1px solid #e8e5df;border-radius:26px;background:#fff;color:#252525;box-shadow:0 28px 100px #0005}
.property-filters-dialog::backdrop{background:rgba(16,17,18,.58)}
.property-filters-dialog:not([open]){display:none}
.property-filters-dialog form{display:flex;flex-direction:column;height:100%;margin:0}
.af-header{display:flex;align-items:center;justify-content:space-between;padding:19px 26px;border-bottom:1px solid #ebe8e1;flex:none}
.af-header h2{font-size:21px;font-weight:650;line-height:1.3;margin:3px 0 0}
.af-eyebrow{font-size:9px;letter-spacing:.16em;font-weight:700;color:#a08948;margin:0}
.af-close{display:grid;place-items:center;width:38px;height:38px;flex:none;border:0;border-radius:50%;background:#f3f2ef;cursor:pointer}
.af-close svg{width:19px;height:19px}
.af-scroll{overflow-y:auto;overscroll-behavior:contain;padding:20px 24px;min-height:0;flex:1;background:#f8f7f4;display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-content:start;align-items:start}
[data-af-fields],[data-af-loading],[data-af-error]{grid-column:1/-1}
.af-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.af-card{box-sizing:border-box;height:100%;align-self:stretch;border:1px solid #e5e1d8;border-radius:16px;padding:16px;background:#fff;min-width:0;min-height:110px}
.af-card[hidden]{display:none!important}
.af-card.is-disabled{background:#f1f0ec;border-color:#e5e2db;color:#9a958b;box-shadow:none}
.af-card.is-disabled h3,.af-card.is-disabled h3 svg{color:#aaa59b}
.af-card.is-disabled summary{background:#e9e7e2;color:#a29d93;border-color:#dfdcd5;cursor:not-allowed;pointer-events:none}
.af-card h3{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#565246;margin:0 0 14px;line-height:18px}
.af-card h3 svg{width:16px;height:16px;stroke-width:1.6;color:#a28b49;flex:none}
.af-field{display:block;position:relative;font-size:12px;font-weight:450;min-width:0}
.af-field input{width:100%;min-width:0;border:1px solid #e2dfd6;border-radius:9px;background:#fcfbf9;padding:10px 11px;height:41px;font:inherit;color:#35332d}
.af-field input:focus{outline:2px solid #b7a15d;outline-offset:2px}
.af-field input::placeholder{color:#8a8477;font-weight:400}
.af-ranges{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.af-ranges .af-field>span{position:absolute;top:-7px;left:10px;background:#fff;padding:0 3px;font-size:9px;color:#8a8170;line-height:12px;z-index:1}
.af-ranges .af-field:has(small) input{padding-right:29px}
.af-ranges small{position:absolute;right:10px;top:15px;font-size:9px;font-weight:400;color:#8a8477;pointer-events:none}
.af-date-field{position:relative;display:grid;gap:6px;min-width:0}
.af-date-label{color:#80796d;font-size:9px;font-weight:600;line-height:1.2;text-transform:uppercase;letter-spacing:.05em}
.af-date-trigger{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;height:43px;border:1px solid #ddd8ce;border-radius:10px;padding:0 10px;background:#fcfbf8;color:#6f695e;font:inherit;font-size:12px;font-weight:550;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.af-date-trigger:hover{border-color:#bda75f;background:#fff}
.af-date-trigger:focus-visible,.af-date-field.is-open .af-date-trigger{outline:0;border-color:#aa9148;box-shadow:0 0 0 3px rgba(183,161,93,.2);background:#fff}
.af-date-trigger.has-selection{color:#35332d;background:#faf5e8;border-color:#cab774}
.af-date-trigger svg{width:16px;height:16px;color:#9a8140}
.af-date-trigger svg:last-child{width:13px;height:13px;color:#777166;transition:transform .15s ease}
.af-date-field.is-open .af-date-trigger svg:last-child{transform:rotate(180deg)}
.af-date-popover{position:fixed;z-index:8;padding:12px;border:1px solid #dfd9ca;border-radius:15px;background:#fff;box-shadow:0 18px 45px rgba(35,31,23,.22)}
.af-date-popover[hidden]{display:none}
.af-date-nav{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:6px;margin-bottom:8px}
.af-date-nav strong{color:#302d26;font-size:12px;font-weight:700;text-align:center;text-transform:capitalize}
.af-date-nav button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:#f5f3ee;color:#5d574b;cursor:pointer}
.af-date-nav button:hover{background:#ece6d4;color:#5c491b}
.af-date-nav svg{width:15px;height:15px}
.af-date-weekdays,.af-date-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.af-date-weekdays{margin-bottom:3px}
.af-date-weekdays span{padding:5px 0;color:#918978;font-size:8px;font-weight:700;text-align:center;text-transform:uppercase}
.af-date-days button,.af-date-blank{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:9px;background:transparent;color:#3f3a32;font:inherit;font-size:11px;cursor:pointer}
.af-date-days button:hover:not(:disabled){background:#eee8d7;color:#4e3d14}
.af-date-days button[aria-selected=true]{background:#252525;color:#fff;font-weight:700}
.af-date-days button.is-today:not([aria-selected=true]){box-shadow:inset 0 0 0 1px #b1984f;color:#6c571e;font-weight:700}
.af-date-days button:disabled{color:#d1cdc4;cursor:not-allowed}
.af-date-actions{display:flex;justify-content:space-between;gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid #eeeae1}
.af-date-actions button{min-height:31px;border:0;border-radius:9px;padding:0 10px;background:transparent;color:#746d60;font:inherit;font-size:10px;font-weight:600;cursor:pointer}
.af-date-actions button:hover{background:#f3f0e8;color:#312b1e}
.af-select>summary,.af-range-select>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;height:41px;list-style:none;border:1px solid #e2dfd6;border-radius:9px;background:#fcfbf9;padding:10px 11px;cursor:pointer;font-size:12px;font-weight:450;color:#8a8477}
.af-select>summary::-webkit-details-marker,.af-range-select>summary::-webkit-details-marker,.af-type-group>summary::-webkit-details-marker{display:none}
.af-select>summary svg,.af-range-select>summary svg{width:14px;height:14px;flex:none;color:#767061}
.af-select>summary span,.af-range-select>summary span{min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.af-range-select>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
.af-range-select>summary svg:first-child{color:#a28b49}
.af-select.has-selection>summary,.af-range-select.has-selection>summary{color:#57451d;background:#faf5e8;border-color:#cab774}
.af-select[open]>summary,.af-range-select[open]>summary{outline:2px solid #b7a15d;outline-offset:2px}
.af-popover{position:fixed;z-index:5;overflow-y:auto;overscroll-behavior:contain;padding:12px;background:#fff;border:1px solid #e4dfd3;border-radius:14px;box-shadow:0 12px 35px #302b242e}
.af-options,.af-type-choices{display:grid;gap:3px}
.af-range-popover{display:flex;flex-direction:column;overflow:hidden;padding:0}
.af-range-options{display:grid;min-height:0;overflow-y:auto;padding:8px}
.af-range-option{min-height:39px;border:0;border-radius:9px;padding:8px 12px;background:transparent;color:#35332d;font:inherit;font-size:12px;text-align:left;cursor:pointer}
.af-range-option:hover,.af-range-option[aria-pressed=true]{background:#f2f0eb;color:#211e15}
.af-range-option[aria-pressed=true]{font-weight:650}
.af-range-custom{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:7px;border-top:1px solid #e8e4dc;padding:8px;background:#fff}
.af-range-custom input{width:100%;min-width:0;height:36px;border:1px solid #ddd8ce;border-radius:10px;padding:8px 10px;background:#fff;color:#35332d;font:inherit;font-size:12px}
.af-range-custom input:focus{outline:2px solid #b7a15d;outline-offset:1px}
.af-range-custom button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:#252525;color:#fff;cursor:pointer}
.af-range-custom button:hover{background:#a28b49}
.af-range-custom button svg{width:15px;height:15px}
.af-type-group{border-bottom:1px solid #efede8;padding:5px 0}
.af-type-group:last-child{border-bottom:0}
.af-type-group>summary{font-size:13px;font-weight:600;padding:8px 6px;cursor:pointer;display:flex;align-items:center;gap:9px;list-style:none}
.af-type-group>summary::after{content:'⌄';margin-left:auto;color:#8b8577}
.af-type-group>summary small{font-size:10px;font-weight:400;color:#8b8577}
.af-type-choices{padding-left:5px;padding-bottom:5px}
.af-choice{position:relative;display:flex;align-items:center;gap:9px;cursor:pointer;min-width:0;padding:8px;border-radius:7px;line-height:1.4}
.af-choice:hover{background:#f8f5ee}
.af-choice:has(input:checked){background:#faf3df}
.af-choice input{accent-color:#a18b4b;width:16px;height:16px;flex:none}
.af-choice span{font-size:12px;font-weight:450}
.af-mobile-location[hidden]{display:none}
.af-mobile-location{border:1px solid #e5e1d8;border-radius:16px;padding:16px;background:#fff}
.af-mobile-location>h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#565246;font-size:12px;font-weight:600}
.af-mobile-location>h3 svg{width:16px;height:16px;color:#a28b49}
.af-retained{margin:0 0 14px}
.af-retained h3{font-size:12px;font-weight:500;margin:0 0 8px}
.af-choices{display:flex;flex-wrap:wrap;gap:6px}
.af-chip{border:1px solid #d9c996;background:#fbf5e4}
.af-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 24px;background:white;border-top:1px solid #ebe8e1;flex:none}
.af-submit-area{display:flex;gap:18px;align-items:center}
.af-count{font-size:12px;font-weight:450;color:#766f61}
.af-submit,.af-reset{display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;border-radius:12px;padding:12px 18px;height:44px}
.af-submit{border:1px solid #c8b573;background:#cbbb79;color:#211e15;min-width:155px}
.af-submit:hover{background:#d7c68a}.af-submit:disabled{opacity:.55;cursor:wait}
.af-reset{background:white;border:1px solid #e3dfd5;color:#766f61;font-weight:450}
.af-submit svg,.af-reset svg{width:16px;height:16px}
.af-error{color:#a42d29;background:#fff0ef;padding:12px;border-radius:12px;font-size:13px}
.af-selection-note{font-size:13px;color:#70695d;margin:20px 0}
.af-choice[hidden]{display:none}
.property-type-group>strong{display:block;padding:12px 10px 5px;font-size:11px;color:#8e7942;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:900px){.af-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.af-scroll{gap:14px}}
@media(max-width:560px){.property-filters-dialog{width:100%;height:100dvh;border:0;border-radius:0;margin:0}.af-header{padding:16px 18px}.af-header h2{font-size:20px}.af-scroll{padding:16px;gap:14px}.af-grid{grid-template-columns:1fr;gap:10px}.af-card{padding:14px;min-height:102px}.af-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom));gap:10px}.af-submit-area{flex:1;flex-direction:column;gap:5px;align-items:stretch}.af-submit{min-width:0}.af-count{text-align:center;font-size:10px}.af-reset{padding:12px 10px;font-size:11px}.af-date-trigger{font-size:12px}}

/* Portfolio masthead and search form one visual composition. The page keeps
   the home search language without repeating the full-height home hero. */
.portfolio-index-hero{min-height:380px;align-items:center;background-position:center 58%!important}
.portfolio-index-hero::after{background:linear-gradient(180deg,rgba(8,8,8,.48),rgba(8,8,8,.62)),linear-gradient(90deg,rgba(8,8,8,.24),rgba(8,8,8,.08))}
.portfolio-index-hero .page-hero-inner{display:grid;justify-items:center;padding:72px 0 116px;text-align:center}
.portfolio-index-hero .eyebrow{margin:0 0 12px;color:#d7c47f}
.portfolio-index-hero h1{max-width:780px;font-size:clamp(38px,4.2vw,62px);line-height:1.02;text-transform:none}
.portfolio-index-hero .page-hero-inner>p:not(.eyebrow){max-width:520px;margin:14px 0 0;color:rgba(255,255,255,.88);font-size:15px}
.property-search-section--compact{width:min(1120px,calc(100vw - 48px));margin-top:-76px}
.property-search-section--compact:has(.home-location-field.is-open){z-index:30}
.property-filter-card--compact{padding:14px;border-color:rgba(169,139,69,.28);border-radius:var(--radius-panel,24px);box-shadow:0 22px 54px rgba(24,22,18,.14),0 1px 0 rgba(255,255,255,.96) inset}
.property-filter-compact-head{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:14px}
.property-filter-compact-search{display:grid;grid-template-columns:minmax(0,1fr) 142px;gap:8px;align-items:stretch}
.property-filter-card--compact .property-keyword-search{min-height:56px;margin:0;padding:7px 12px 7px 16px;border-color:#dedbd3;border-radius:13px;background:#fbfaf8}
.property-filter-card--compact .property-keyword-search>svg{width:20px;height:20px}
.property-filter-card--compact .property-keyword-search label>span{font-size:8px;letter-spacing:.13em}
.property-filter-card--compact .property-keyword-search input{font-size:15px;font-weight:600}
.property-filter-card--compact .property-keyword-clear{width:34px;height:34px}
.property-filter-search-submit{min-width:0;min-height:56px;justify-content:center;border-radius:13px}
.property-filter-search-submit svg{width:18px;height:18px}
.property-filter-card--compact.is-live-filtering [data-property-filter-submit]{display:inline-flex}
.property-filter-compact-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 142px;gap:8px;align-items:stretch;margin-top:8px}
.property-filter-card--compact .home-location-cascade{min-height:48px}
.property-filter-card--compact .home-location-trigger{min-height:48px}
.property-filter-card--compact .multi-select{margin:0;padding:0;border:0}
.property-filter-card--compact .multi-select-trigger{min-height:52px;padding:0 13px;border:1px solid #e0ddd5;border-radius:12px;background:#fff}
.property-filter-card--compact .multi-select-trigger:hover{border-color:rgba(169,139,69,.62);background:#fcfaf5}
.property-filter-card--compact .multi-select-trigger>span{font-size:8px;letter-spacing:.12em}
.property-filter-card--compact .multi-select-trigger strong{font-size:13px;font-weight:700}
.property-filter-card--compact .multi-select-trigger svg{width:15px;height:15px;color:#777167}
.property-filter-card--compact .multi-select-menu{top:calc(100% + 8px)}
.property-filter-more{min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin:0;border:1px solid #ded8c9;border-radius:var(--radius-control,12px);padding:6px 12px;color:#595959;background:#f8f5ed;font:inherit;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.property-filter-more:hover,.property-filter-more:focus-visible{border-color:#c5b888;background:#f5f3ed;transform:translateY(-1px)}
.property-filter-more:focus-visible{outline:2px solid #a98b45;outline-offset:2px}
.property-filter-more svg{width:17px;height:17px;color:#8e7438}
.property-filter-more strong{min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;padding:0 5px;color:#fff;background:#25231f;font-size:10px}
.property-filter-more strong[hidden]{display:none}
.property-active-filters{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #ece9e2;min-width:0}
.property-active-filters[hidden]{display:none}
.property-active-filters-label{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;color:#756e60;font-size:10px;font-weight:750;letter-spacing:.055em;text-transform:uppercase}
.property-active-filters-label svg{width:14px;height:14px;color:#a98b45}
.property-active-filter-list{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto;overflow-x:auto;scrollbar-width:none}
.property-active-filter-list::-webkit-scrollbar{display:none}
.property-active-filter-chip{min-height:32px;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;border:1px solid #dcd5c5;border-radius:999px;padding:0 9px 0 11px;color:#403c33;background:#f8f5ec;font:inherit;font-size:11px;font-weight:650;cursor:pointer}
.property-active-filter-chip:hover,.property-active-filter-chip:focus-visible{border-color:#bca35c;background:#f2e8cb}
.property-active-filter-chip svg{width:13px;height:13px;color:#8e7438}
.property-filter-card--compact .property-filter-clear-all{min-height:32px;flex:0 0 auto;padding:0 4px;color:#766f63;font-size:11px}
.property-filter-card--compact .property-filter-clear-all svg{width:14px;height:14px}

@media(max-width:900px){
  .portfolio-index-hero{min-height:340px}
  .portfolio-index-hero .page-hero-inner{padding:64px 0 102px}
  .property-search-section--compact{width:min(100% - 40px,1120px);margin-top:-66px}
  .property-filter-more{min-width:132px;padding-inline:12px}
}

@media(max-width:820px){
  .portfolio-index-hero{min-height:270px;align-items:center}
  .portfolio-index-hero .page-hero-inner{padding:42px 0 74px}
  .portfolio-index-hero .eyebrow{margin-bottom:9px;font-size:9px}
  .portfolio-index-hero h1{max-width:520px;font-size:clamp(28px,7.5vw,40px)}
  .portfolio-index-hero .page-hero-inner>p:not(.eyebrow){margin-top:10px;font-size:13px}
  .property-search-section--compact{width:calc(100% - 24px);margin-top:-48px}
  .property-filter-card--compact{padding:14px;border-radius:20px}
  .property-filter-compact-head{display:block;margin-bottom:10px}
  .property-filter-compact-search{grid-template-columns:minmax(0,1fr) 50px;gap:7px}
  .property-filter-card--compact .property-keyword-search{min-height:54px;padding:7px 10px 7px 14px;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;border-radius:14px}
  .property-filter-card--compact .property-keyword-search label>span{display:block}
  .property-filter-card--compact .property-keyword-search input{font-size:16px}
  .property-filter-search-submit{min-width:50px;min-height:54px;padding:0;border-radius:14px}
  .property-filter-search-submit span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .property-filter-compact-toolbar{grid-template-columns:minmax(0,1fr) 112px;margin-top:8px;gap:7px}
  .property-filter-compact-toolbar.has-deep-location{grid-template-columns:1fr}
  .property-filter-compact-toolbar.has-deep-location .property-filter-more{width:100%;min-height:42px}
  .property-filter-card--compact .home-location-cascade{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border:0;background:transparent}
  .property-filter-card--compact .home-location-field[data-home-location-level="market"],
  .property-filter-card--compact .home-location-field.is-last-visible[data-home-location-level="level1"],
  .property-filter-card--compact .home-location-field.is-last-visible[data-home-location-level="level3"]{grid-column:auto}
  .property-filter-card--compact .home-location-field .home-location-trigger{min-height:50px;border:1px solid #e0ddd5;border-radius:14px;background:#fff}
  .property-filter-card--compact .home-location-field.has-selection .home-location-copy strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;text-overflow:clip}
  .property-filter-card--compact .home-location-field:not(.is-first-visible)::before{display:none}
  .property-filter-card--compact .home-location-field[data-home-location-level="level1"] .home-location-menu{right:0;left:auto;width:calc(200% + 7px)}
  .property-filter-more{width:112px;min-width:0;min-height:50px;padding-inline:8px;font-size:10px;gap:5px}
  .property-filter-more svg{width:15px;height:15px}
  .property-filter-more strong{min-width:18px;height:18px}
  .property-active-filters{gap:7px;margin-top:9px;padding-top:9px}
  .property-active-filters-label{display:none}
  .property-active-filter-chip{min-height:30px;font-size:10px}
  .property-filter-card--compact .property-filter-clear-all span{display:none}
  .property-filter-card--compact .property-filter-clear-all{width:30px;padding:0}
}

@media(max-width:520px){
  .portfolio-index-hero{min-height:238px}
  .portfolio-index-hero .page-hero-inner{padding:32px 0 64px}
  .portfolio-index-hero h1{max-width:310px;font-size:29px;line-height:1.08}
  .portfolio-index-hero .page-hero-inner>p:not(.eyebrow){max-width:290px;font-size:12px}
  .property-search-section--compact{margin-top:-40px}
  .property-filter-card--compact{padding:10px}
}

@media(max-width:360px){
  .property-filter-compact-toolbar{grid-template-columns:1fr}
  .property-filter-more{width:100%;min-height:42px}
}
