/* Second reference pass: extend the approved public design across the working app.
   Integrated with the reference-match pass: header sizing lives in reference-shell.css
   and listing location maps in reference-layout.css, so those rules are not repeated here. */
html { scrollbar-gutter:stable; scroll-behavior:auto; }
/* Query controls should update immediately, without overlapping page snapshots. */
@view-transition { navigation:none; }
::view-transition-old(root),::view-transition-new(root) { animation:none!important;mix-blend-mode:normal!important; }
::view-transition-old(root) { display:none; }
html[data-aw-theme] body { font-family:'Source Sans 3',system-ui,sans-serif; }
html[data-aw-theme] :is(button,input,select,textarea) { font-family:inherit; }
html[data-aw-theme] :is(.pm-workspace,.aw-auth-layout,.aw-professionals-page,.aw-discovery-page) :is(h1,h2,h3) { font-family:'Source Sans 3',system-ui,sans-serif!important; letter-spacing:-.018em; }
html[data-aw-theme] :is(.aw-solid-button,.aw-outline-button,.aw-ghost-button,.native-actions button) { transform:none!important; transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s!important; }
html[data-aw-theme] :is(.aw-auth-audience a,.aw-professional-tabs a,.aw-metric-tabs button,.aw-status-tabs button,.native-nav) { font-weight:600!important; transform:none!important; transition:color .14s,background-color .14s,border-color .14s!important; }
.aw-theme-toggle>img { width:18px;height:18px;flex:none; }
[data-aw-theme=dark] .aw-theme-toggle>img { filter:invert(1); }

/* Anchor menus to the shared header, independent of each route's CSS and scrolling. */
html[data-aw-theme] body header.aw-centered-header { z-index:100; transform:none!important; filter:none!important; contain:none!important; }
html[data-aw-theme] body header.aw-centered-header .premium-menu[open] .premium-dropdown { opacity:1!important; transform:none!important; animation:none!important; transition:none!important; }
html[data-aw-theme] body :is(.pm-workspace-content,.aw-auth-form-area,.aw-professionals-page) { animation:none!important; transform:none!important; }
html[data-aw-theme] body header.aw-centered-header .aw-mega { position:absolute!important; inset:100% 0 auto!important; width:100%!important; max-height:calc(100dvh - 88px)!important; overflow:auto!important; border-top:1px solid var(--sq-line)!important; }
html[data-aw-theme] body header.aw-centered-header .aw-mega { margin-top:0!important; }
html[data-aw-theme] body header.aw-centered-header .aw-mega-inner.aw-mega-three { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr)!important; align-items:start!important; width:100%!important; max-width:1280px!important; min-height:0!important; margin:0 auto!important; padding:26px 32px 30px!important; gap:36px!important; animation:none!important; transform:none!important; }
html[data-aw-theme] body header.aw-centered-header .aw-mega-feature { display:block!important; border:0!important; border-radius:0!important; margin:0!important; min-width:0!important; color:var(--sq-ink)!important; line-height:1.35!important; }
html[data-aw-theme] body header.aw-centered-header .aw-mega-feature>img { display:block!important; width:100%!important; height:160px!important; max-height:none!important; margin:0 0 12px!important; padding:0!important; object-fit:cover!important; border-radius:6px!important; }
html[data-aw-theme] body header.aw-centered-header .aw-mega-feature>strong { display:block!important; font-size:20px!important; line-height:1.25!important; }
html[data-aw-theme] body header.aw-centered-header .aw-mega-feature>span { display:block!important; margin-top:6px!important; font-size:15px!important; }

/* More room for the location section, with larger controls and the same card system. */
html[data-aw-theme] body .native-map-tools { display:flex;flex-wrap:wrap;align-items:center;gap:8px;top:16px;left:16px;right:64px;pointer-events:none; }
html[data-aw-theme] body .native-map-tools>* { pointer-events:auto; }
html[data-aw-theme] body .native-map-tools :is(button,select,a) { display:inline-flex!important; align-items:center; justify-content:center; gap:7px; min-height:42px!important; padding:9px 13px!important; font:600 14px/1.2 'Source Sans 3',sans-serif!important; color:var(--sq-ink)!important; border:1px solid var(--sq-line)!important; background:var(--sq-surface)!important; border-radius:7px!important; box-shadow:0 2px 8px #15203012; }
.aw-map-control-icon { width:18px!important;height:18px!important;flex:none; }
[data-aw-theme=dark] .aw-map-control-icon { filter:invert(1); }
html[data-aw-theme] .native-map .mapboxgl-ctrl-group { border:1px solid #dbe1e8; border-radius:8px; box-shadow:0 3px 12px #1520301c; overflow:hidden; background:#fff; }
html[data-aw-theme] .native-map .mapboxgl-ctrl-group button { width:42px;height:42px;border-color:#e6eaf0; }
.native-map .mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon { background-image:url('/assets/icons/plus.svg'); background-size:22px; }
.native-map .mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon { background-image:url('/assets/icons/minus.svg'); background-size:22px; }
.native-map .mapboxgl-ctrl-top-right { top:6px;right:6px; }
.native-map .mapboxgl-ctrl-bottom-right { right:6px;bottom:6px; }
.native-map .mapboxgl-ctrl-attrib { font-size:11px;box-shadow:none; }
/* The global 42px button minimum must not stretch Mapbox's compact attribution toggle. */
html[data-aw-theme] .native-map .mapboxgl-ctrl-attrib-button { min-height:0!important;height:24px!important;width:24px!important;background-repeat:no-repeat!important; }
html[data-aw-theme] .native-map .mapboxgl-popup-close-button { min-height:0!important; }
.native-map-note { display:none; }
html[data-aw-theme] body .aw-discovery-page .native-search { grid-template-columns:minmax(0,1fr) minmax(410px,43%); height:calc(100dvh - 170px); min-height:570px; }
html[data-aw-theme] body .aw-discovery-page .native-search-results { padding:20px; background:var(--sq-surface); scroll-behavior:auto; scrollbar-gutter:stable; }
html[data-aw-theme] body .aw-discovery-page .native-search-results .premium-property-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important; }
/* Result cards use the homepage card design: fine border, white status chip, middot specs. */
html[data-aw-theme] body .native-search-results .aw-listing-card { display:flex!important;flex-direction:column;border:1px solid var(--sq-line)!important; border-radius:4px!important; box-shadow:none!important; background:var(--sq-surface)!important; overflow:hidden; transform:none!important; }
html[data-aw-theme] body .native-search-results .aw-listing-media { aspect-ratio:2.1!important; min-height:0!important; height:auto!important; margin:0!important; border-radius:0!important; }
html[data-aw-theme] body .native-search-results .aw-listing-media img { width:100%!important;height:100%!important;object-fit:cover;border-radius:0!important;transform:none!important; }
html[data-aw-theme] body .native-search-results .aw-listing-information { display:flex!important;flex-direction:column;padding:9px 14px 11px!important; gap:1px!important; }
html[data-aw-theme] body .native-search-results .aw-listing-price { font-size:21px!important; line-height:1.15!important; font-weight:700!important; margin:0 0 2px!important; }
html[data-aw-theme] body .native-search-results .aw-listing-specs { display:flex!important;flex-wrap:wrap;gap:0!important;font-size:14px!important;line-height:1.35!important;color:var(--sq-muted)!important; }
html[data-aw-theme] body .native-search-results .aw-listing-specs strong { font-weight:400!important;color:inherit!important; }
html[data-aw-theme] body .native-search-results .aw-listing-specs>span+span::before { content:"·"!important;margin:0 8px!important; }
html[data-aw-theme] body .native-search-results .aw-listing-address { font-size:15px!important;font-weight:500!important;line-height:1.35!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
html[data-aw-theme] body .native-search-results .aw-listing-locality { font-size:14px!important;line-height:1.35!important;color:var(--sq-muted)!important; }
html[data-aw-theme] body .native-search-results .aw-listing-badges>span { min-height:0!important;height:24px;padding:0 10px!important;border:0!important;border-radius:4px!important;background:#fff!important;color:#151b25!important;box-shadow:0 1px 3px #00000024!important;font:600 12.5px/24px "Source Sans 3",system-ui,sans-serif!important; }
html[data-aw-theme] body .native-search-results .aw-listing-badges>span:is([data-status=active],[data-status=under],[data-status=sold],[data-sponsored]) { background:#1f2733!important;color:#fff!important; }
html[data-aw-theme] body .native-search-results .aw-results-heading { padding:0 0 18px; gap:16px; }
html[data-aw-theme] body .native-search-results .aw-results-heading h1 { font-size:30px!important;line-height:1.15!important; }
html[data-aw-theme] body .native-search-results .aw-results-actions { flex-wrap:wrap;gap:10px; }
.aw-card-slot.aw-card-hot .aw-listing-card { outline:2px solid #075cf1;outline-offset:1px; }
.aw-property-map-layout { grid-template-columns:minmax(0,1fr) 350px; }
.aw-property-map-stage .native-map { min-height:650px; }

/* A fixed viewport-sized stage keeps every photo and every control in the same place. */
html[data-aw-theme] body.pm-public dialog.native-gallery-dialog[open] { display:grid!important; grid-template-rows:auto minmax(0,1fr) auto 82px!important; align-content:stretch!important; align-items:stretch!important; width:calc(100vw - 32px)!important; max-width:1720px!important; height:calc(100dvh - 32px)!important; max-height:calc(100dvh - 32px)!important; min-height:0!important; padding:18px!important; gap:14px!important; overflow:hidden!important; border-radius:10px!important; }
html[data-aw-theme] body.pm-public .native-gallery-dialog .aw-gallery-stage { display:flex!important;align-items:center!important;justify-content:center!important; align-self:stretch!important; width:100%!important;height:100%!important; max-height:none!important;min-height:0!important;aspect-ratio:auto!important; margin:0!important;overflow:hidden!important;background:#0b1017!important; }
html[data-aw-theme] body.pm-public .native-gallery-dialog .aw-gallery-stage>img { display:block!important; width:100%!important; height:100%!important; max-height:100%!important; max-width:100%!important; object-fit:contain!important; }
html[data-aw-theme] body.pm-public .native-gallery-dialog .aw-gallery-stage.is-enlarged { display:block!important; overflow:auto!important; }
html[data-aw-theme] body.pm-public .native-gallery-dialog .aw-gallery-stage.is-enlarged>img { width:max(140%,1200px)!important; min-width:100%!important; height:auto!important; max-height:none!important; max-width:none!important; object-fit:initial!important; }
html[data-aw-theme] body.pm-public .native-gallery-dialog .native-gallery-caption { display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:12px!important; }
html[data-aw-theme] body.pm-public .native-gallery-dialog .native-gallery-caption>span { font-size:14px;line-height:1.3; }
html[data-aw-theme] body.pm-public .native-gallery-dialog .native-gallery-thumbs { height:82px!important;max-height:82px!important; }
html:has(dialog.native-gallery-dialog[open]) { overflow:hidden; }
/* No inherited padding inside the photo stage, so the photo uses all of it. */
html[data-aw-theme] body.pm-public .native-gallery-dialog .aw-gallery-stage { padding:0!important; }
html[data-aw-theme] body.pm-public .native-gallery-dialog .aw-gallery-stage>img,html[data-aw-theme] body.pm-public .native-gallery-dialog .native-gallery-thumbs img { padding:0!important; margin:0!important; border:0!important; }

/* Professional directory: compact editorial heading and cards aligned to the public frame. */
html[data-aw-theme] body.pm-public main .aw-professionals-page { max-width:1760px!important;width:calc(100% - clamp(32px,5vw,120px));padding:0!important;margin:28px auto 48px!important; }
html[data-aw-theme] body.pm-public main .aw-directory-hero { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:40px;align-items:center;padding:0 0 26px;margin:0; border-bottom:1px solid var(--sq-line); }
html[data-aw-theme] body.pm-public main .aw-directory-hero h1 { font-size:40px!important;line-height:1.1!important;font-weight:700!important;margin:0 0 16px!important; }
html[data-aw-theme] body.pm-public main .aw-directory-hero>div>p:not(.aw-eyebrow) { max-width:50ch; font-size:17px!important;line-height:1.45!important; margin:0 0 20px!important; }
html[data-aw-theme] body.pm-public main .aw-directory-hero figure { height:260px; border-radius:6px; }
html[data-aw-theme] body.pm-public main .aw-directory-hero figure>img { height:100%!important; object-position:50% 40%; }
.aw-directory-search { max-width:580px;min-height:52px; }
html[data-aw-theme] body .aw-professional-tabs { margin:20px 0 24px!important;gap:8px;flex-wrap:wrap; }
html[data-aw-theme] body .aw-professional-tabs>a { font-size:15px!important;line-height:1.3;min-height:42px!important;padding:10px 15px!important; border:1px solid var(--sq-line)!important;border-radius:5px!important;background:var(--sq-surface)!important; }
html[data-aw-theme] body .aw-professional-tabs>a[aria-current=page] { border-color:#075cf1!important; background:#edf4ff!important; color:#075cf1!important; }
html[data-aw-theme] body .aw-professional-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
html[data-aw-theme] body .aw-professional-card { display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;padding:22px;border:1px solid var(--sq-line)!important;border-radius:6px!important;box-shadow:none!important;transform:none!important;align-items:start; }
html[data-aw-theme] body .aw-professional-avatar { width:96px;height:112px;border-radius:5px;overflow:hidden; }
html[data-aw-theme] body .aw-professional-avatar img { width:100%;height:100%;object-fit:cover;object-position:50% 20%; }
html[data-aw-theme] body .aw-professional-info h3 { font-size:25px!important;line-height:1.2!important;margin:4px 0 6px!important; }
html[data-aw-theme] body .aw-professional-info>p { font-size:15px!important;line-height:1.4; }
html[data-aw-theme] body .aw-professional-info .aw-eyebrow { font-size:12px!important; }
html[data-aw-theme] body .aw-professional-area { font-size:14px!important;line-height:1.4; }
html[data-aw-theme] body .aw-professional-area img { width:20px;height:20px; }
html[data-aw-theme] body .aw-agent-section-nav>a { font-weight:600!important; }

/* Sign-in keeps its geometry while changing the buyer/professional destination. */
html[data-aw-theme] body .aw-auth-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1120px;gap:64px;margin:40px auto 56px;align-items:start; }
html[data-aw-theme] body .aw-auth-story { position:relative;top:auto;height:650px;min-height:650px;border-radius:7px; }
html[data-aw-theme] body .aw-auth-story>div { padding:32px; }
html[data-aw-theme] body .aw-auth-story h2 { min-height:144px!important;font-size:40px!important;line-height:1.15!important;margin:0 0 18px!important; }
html[data-aw-theme] body .aw-auth-story p:not(.aw-eyebrow) { min-height:96px;font-size:17px!important;line-height:1.45!important;margin:0; }
html[data-aw-theme] body .aw-auth-story>div>span { min-height:62px;margin-top:20px; }
html[data-aw-theme] body .aw-auth-form-area { padding-top:8px; }
html[data-aw-theme] body .aw-auth-form-area>.aw-back-link { margin-bottom:28px; }
html[data-aw-theme] body .aw-auth-form-area h1 { font-size:34px!important;line-height:1.12!important;min-height:78px!important;margin:0 0 12px!important;font-weight:700!important; }
html[data-aw-theme] body .aw-auth-description { min-height:72px;margin:0 0 20px!important;font-size:16px!important;line-height:1.5!important; }
html[data-aw-theme] body .aw-auth-audience { min-height:52px;margin:0 0 24px!important;border-radius:6px; }
html[data-aw-theme] body .aw-auth-audience>a { min-height:42px;line-height:1.35;font-size:15px;border-radius:4px; }
html[data-aw-theme] body .aw-password-field { display:flex;align-items:center; }
html[data-aw-theme] body .aw-password-field>input { min-width:0; }
html[data-aw-theme] body .aw-password-field>button { width:60px;flex:0 0 60px; }
html[data-aw-theme] body .aw-auth-form .aw-solid-button { min-height:48px; }

/* Working dashboards inherit the listing pages' type, spacing, icons, and fine borders. */
html[data-aw-theme] body .pm-workspace { grid-template-columns:236px minmax(0,1fr);max-width:1760px; }
html[data-aw-theme] body .pm-workspace-content { min-width:0;padding:28px 34px 48px; }
html[data-aw-theme] body .pm-workspace .native-nav { display:flex;align-items:center;gap:12px;min-height:46px; font-size:15px!important;line-height:1.3;border-radius:5px; }
html[data-aw-theme] body .pm-workspace .native-nav img { width:23px!important;height:23px!important;flex:none; }
html[data-aw-theme] body .pm-workspace .aw-page-heading { margin-bottom:24px; }
html[data-aw-theme] body .pm-workspace .aw-page-heading h1 { font-size:34px!important;line-height:1.1!important;font-weight:700!important; }
html[data-aw-theme] body .pm-workspace :is(.native-panel,.aw-buyer-tools>a) { border:1px solid var(--sq-line)!important;border-radius:6px!important;box-shadow:none!important; }
html[data-aw-theme] body .pm-workspace .native-panel { padding:24px!important; }
html[data-aw-theme] body .pm-workspace .native-panel h2 { font-size:25px!important;line-height:1.15!important; }
html[data-aw-theme] body .pm-workspace :is(.native-table,.native-table select,.native-results-count) { font-size:14px;line-height:1.4; }
html[data-aw-theme] body .pm-workspace .aw-managed-property img { width:104px!important;height:72px!important;margin-right:14px;object-fit:cover;border-radius:5px!important;flex:none; }
html[data-aw-theme] body .pm-workspace .aw-managed-property strong { font-size:17px;line-height:1.3; }
html[data-aw-theme] body .pm-workspace :is(.aw-status-tabs,.aw-metric-tabs) button { min-height:44px; }
html[data-aw-theme] body .pm-workspace .aw-snapshot-grid { gap:18px; }
html[data-aw-theme] body .pm-workspace .aw-snap-cell>strong { font-size:36px;line-height:1.1; font-variant-numeric:tabular-nums; }
html[data-aw-theme] body .pm-workspace .aw-interest-summary { min-height:72px; }
html[data-aw-theme] body .pm-workspace .aw-interest-summary>strong { min-width:90px;font-variant-numeric:tabular-nums; }
html[data-aw-theme] body .pm-workspace .aw-interest-summary>span { min-width:125px; }
.aw-workspace-intro { position:relative;padding:24px;background:var(--sq-soft);border:1px solid var(--sq-line);border-radius:6px;margin-bottom:24px;min-height:160px;overflow:hidden; }
html[data-aw-theme] body .aw-workspace-intro>.aw-page-heading { position:relative;z-index:1;width:calc(100% - 270px);margin:0!important;align-items:start;flex-direction:column;gap:18px; }
.aw-workspace-intro figure { position:absolute;inset:0 0 0 auto;width:250px;margin:0; }
.aw-workspace-intro figure>img { width:100%;height:100%;object-fit:cover; }
.aw-workspace-intro figcaption { position:absolute;right:8px;bottom:6px;font-size:10px;background:#fff;color:#404854;padding:2px 5px;border-radius:3px; }
html[data-aw-theme] body .aw-buyer-welcome { border-radius:7px!important;min-height:280px; }
html[data-aw-theme] body .aw-buyer-tools>a>img { width:32px;height:32px; }

@media(min-width:769px) and (max-width:1150px) {
 html[data-aw-theme] body .aw-discovery-page .native-search { grid-template-columns:minmax(0,1fr) 390px; }
 html[data-aw-theme] body .aw-discovery-page .native-search-results .premium-property-grid { grid-template-columns:1fr!important; }
 html[data-aw-theme] body .aw-professional-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 html[data-aw-theme] body .aw-auth-layout { gap:36px; }
}
@media(max-width:900px) {
 html[data-aw-theme] body .pm-workspace { grid-template-columns:1fr; }
 html[data-aw-theme] body .pm-workspace-content { padding:22px 20px 36px; }
 html[data-aw-theme] body .aw-auth-layout { gap:28px; }
 .aw-workspace-intro figure { width:190px; }
 html[data-aw-theme] body .aw-workspace-intro>.aw-page-heading { width:calc(100% - 210px); }
 html[data-aw-theme] body .aw-professional-card { padding:18px;grid-template-columns:76px minmax(0,1fr);gap:14px; }
 html[data-aw-theme] body .aw-professional-avatar { width:76px;height:96px; }
}
@media(max-width:768px) {
 html[data-aw-theme] body .aw-discovery-page .native-search { display:flex;flex-direction:column;height:auto;min-height:0; }
 html[data-aw-theme] body .aw-discovery-page .native-search>.native-map { height:440px!important;min-height:440px!important; }
 html[data-aw-theme] body .aw-discovery-page .native-search-results { padding:18px;overflow:visible;scrollbar-gutter:auto; }
 html[data-aw-theme] body .aw-discovery-page .native-search-results .premium-property-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important; }
 html[data-aw-theme] body .aw-directory-hero { grid-template-columns:1fr!important;gap:0;padding-bottom:24px!important; }
 html[data-aw-theme] body .aw-directory-hero figure { display:none!important; }
 html[data-aw-theme] body .aw-directory-hero h1 { font-size:34px!important; }
 html[data-aw-theme] body .aw-professional-tabs { flex-wrap:nowrap;overflow:auto;padding-bottom:6px; }
 html[data-aw-theme] body .aw-professional-tabs>a { flex:none;white-space:nowrap; }
 html[data-aw-theme] body .aw-professional-grid { grid-template-columns:1fr; }
 html[data-aw-theme] body .aw-auth-layout { display:block;max-width:540px;margin:28px auto 42px;padding:0 22px; }
 html[data-aw-theme] body .aw-auth-form-area h1 { font-size:32px!important;min-height:74px!important; }
 html[data-aw-theme] body .aw-auth-story { display:none; }
 html[data-aw-theme] body.pm-public dialog.native-gallery-dialog[open] { width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important;padding:12px!important;gap:10px!important;grid-template-rows:auto minmax(0,1fr) auto 70px!important; }
 html[data-aw-theme] body.pm-public .native-gallery-dialog .native-gallery-caption { flex-wrap:wrap!important; }
 html[data-aw-theme] body.pm-public .native-gallery-dialog .native-gallery-thumbs { height:70px!important;max-height:70px!important; }
 html[data-aw-theme] body.pm-public .native-gallery-dialog .native-gallery-thumbs button { height:62px!important;flex-basis:78px!important;width:78px!important; }
 .aw-property-map-layout { grid-template-columns:1fr; }
 .aw-property-map-stage .native-map { min-height:440px; }
}
@media(max-width:480px) {
 html[data-aw-theme] body .aw-discovery-page .native-search-results .premium-property-grid { grid-template-columns:1fr!important; }
 html[data-aw-theme] body .native-map-tools { left:10px;top:10px;right:60px;gap:6px; }
 html[data-aw-theme] body .native-map-tools :is(button,select,a) { min-height:40px!important;padding:8px 10px!important;font-size:13px!important; }
 html[data-aw-theme] body .aw-workspace-intro>.aw-page-heading { width:100%; }
 .aw-workspace-intro figure { display:none; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; } }

@media(min-width:1151px){html[data-aw-theme] body .aw-auth-form-area h1{min-height:44px!important}html[data-aw-theme] body .aw-auth-description{min-height:48px}}
