/* Shared liquid-glass surfaces; photography, logos and text retain their colors. */
:root {
 --canvas:#eaf0f4;
 --surface:#f8fafc;
 --surface-alt:#e8eff3;
 --ink:#172730;
 --muted:#536975;
 --line:#c7d5df;
 --control-border:#738995;
 --liquid-border:rgba(255,255,255,.92);
 --liquid-surface:#f5f8fa;
 --liquid-reading:#f8fafc;
 --liquid-edge:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.06) 46%,rgba(159,193,207,.09));
 --liquid-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(255,255,255,.55),0 8px 30px rgba(41,72,90,.075),0 1px 3px rgba(41,72,90,.08);
 --liquid-canvas:radial-gradient(ellipse at 4% 8%,rgba(124,178,197,.25),transparent 52%),radial-gradient(ellipse at 100% 55%,rgba(168,181,214,.24),transparent 55%),linear-gradient(155deg,#f3f7fa,#e7eff3 55%,#eef2f7);
 --glass-filter:blur(24px) saturate(155%);
 --glass-fill:rgba(249,252,255,.65);
 --glass-sheen:var(--liquid-edge);
 --glass-border:var(--control-border);
 --glass-shadow:var(--liquid-shadow);
 --action-bg:#176970;
 --action-ink:#fff;
 --action-sheen:linear-gradient(150deg,rgba(255,255,255,.2),transparent 64%);
}
html[data-theme=dark] {
 --canvas:#101b25;
 --surface:#1b2a36;
 --surface-alt:#233643;
 --ink:#edf5fa;
 --muted:#b5c8d5;
 --line:#405564;
 --control-border:#78919f;
 --liquid-border:rgba(167,199,219,.32);
 --liquid-surface:#1a2a36;
 --liquid-reading:#1b2b37;
 --liquid-edge:linear-gradient(135deg,rgba(212,237,255,.14),rgba(212,237,255,.015) 46%,rgba(128,177,210,.065));
 --liquid-shadow:inset 0 1px 0 rgba(230,245,255,.24),inset 0 -1px 0 rgba(210,238,255,.035),0 10px 32px rgba(0,8,18,.16),0 1px 3px rgba(0,0,0,.14);
 --liquid-canvas:radial-gradient(ellipse at 2% 5%,rgba(64,112,141,.36),transparent 54%),radial-gradient(ellipse at 100% 60%,rgba(72,91,132,.26),transparent 58%),linear-gradient(155deg,#111e29,#12232e 55%,#121c28);
 --glass-fill:rgba(27,45,58,.7);
 --glass-sheen:var(--liquid-edge);
 --glass-border:var(--control-border);
 --glass-shadow:var(--liquid-shadow);
 --action-bg:#a7ddd8;
 --action-ink:#102e33;
 --action-sheen:linear-gradient(150deg,rgba(255,255,255,.34),transparent 64%);
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 :root {--liquid-surface:rgba(250,253,255,.58);--liquid-reading:rgba(250,253,255,.82)}
 html[data-theme=dark] {--liquid-surface:rgba(28,46,60,.62);--liquid-reading:rgba(26,43,56,.86)}
}
body,html[data-theme=dark] body {
 background:var(--liquid-canvas);
 background-color:var(--canvas);
 background-attachment:fixed;
}

/* One material across the collection, leasing details, and private portal. */
html[data-theme] :is(.card,.portal-panel,.application-section,.detail-summary,.detail-location,.detail-retailers,.inbox-row,.privacy-content) {
 background:var(--liquid-edge),var(--liquid-surface);
 border:1px solid var(--liquid-border);
 border-radius:24px;
 box-shadow:var(--liquid-shadow);
 -webkit-backdrop-filter:var(--glass-filter);
 backdrop-filter:var(--glass-filter);
}
html[data-theme] :is(.portal-panel,.privacy-content) {background:var(--liquid-edge),var(--liquid-reading)}
html[data-theme] .card:hover {
 border-color:var(--control-border);
 box-shadow:var(--liquid-shadow),0 12px 30px rgba(25,55,72,.08);
}
.listings-page .card-body {padding:21px 22px 0}
.listings-page .card h3 {font-size:22px;line-height:1.3}
html[data-theme] .availability-kind {border-radius:999px;padding:5px 10px}
html[data-theme] .availability-kind.is-lease {background:var(--surface-alt);color:var(--teal)}
html[data-theme] .listings-page .section-heading {padding-bottom:20px}
html[data-theme] .broker-section {
 background:var(--liquid-edge),var(--liquid-surface);
 border:1px solid var(--liquid-border);
 border-radius:24px;
 padding:26px;
 box-shadow:var(--liquid-shadow);
 -webkit-backdrop-filter:var(--glass-filter);
 backdrop-filter:var(--glass-filter);
}
html[data-theme] .application-section {padding:34px 36px}
html[data-theme] .application-section .application-help {color:var(--muted)}

/* Soft capsule controls with a clear selected state and a crisp focus ring. */
html[data-theme] .listings-page :is(.search-input-wrap,#toggle-filters,.browse-toolbar .view-toggle),
html[data-theme] .theme-control select {border-radius:999px}
html[data-theme] .listings-page .browse-toolbar .view-toggle button {border-radius:999px!important}
html[data-theme] #filter-panel {
 background:var(--liquid-edge),var(--liquid-reading);
 border-color:var(--liquid-border);
 border-radius:24px;
 box-shadow:var(--liquid-shadow);
}
html[data-theme] :is(.filter-bar select,.location-controls input,.location-tools button) {border-radius:14px}
html[data-theme] #filter-panel .location-tools {border-radius:18px;background:var(--surface-alt)}
html[data-theme] :is(.portal-button,button.portal-button,.application-primary),
html[data-theme] #done-filters,
html[data-theme] .location-tools #use-location {
 background:var(--action-sheen),var(--action-bg);
 border:1px solid var(--action-bg);
 border-radius:999px;
 color:var(--action-ink);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 3px 9px rgba(13,57,67,.09);
}
html[data-theme] :is(.portal-button.secondary,button.portal-button.secondary,.application-link) {
 background:var(--liquid-edge),var(--liquid-surface);
 border:1px solid var(--control-border);
 border-radius:999px;
 color:var(--ink);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 6px rgba(20,45,60,.035);
 -webkit-backdrop-filter:var(--glass-filter);
 backdrop-filter:var(--glass-filter);
}
html[data-theme] .portal-button:hover,
html[data-theme] .application-primary:hover {opacity:1;border-color:var(--teal)}
html[data-theme] .portal-button {transition:border-color .2s,box-shadow .2s}
html[data-theme] .portal-steps li {display:flex;min-width:0}
html[data-theme] .portal-steps button {flex:1}
html[data-theme] .portal-steps button.portal-button.secondary {border-radius:999px;padding:11px 16px}
html[data-theme] .portal-steps button.portal-button[aria-current=step] {background:var(--ink);color:var(--canvas);border-color:var(--ink)}
html[data-theme] :is(a,button,input,select,textarea):focus-visible {outline:2px solid var(--teal);outline-offset:4px}
html[data-theme] :is(.portal-field input,.portal-field select,.portal-field textarea,.portal-code) {
 background:var(--surface);
 border:1px solid var(--control-border);
 border-radius:13px;
 color:var(--ink);
 box-shadow:inset 0 1px 2px rgba(18,44,62,.045);
}
html[data-theme] .portal-field input[type=checkbox] {box-shadow:none;border-radius:5px}
html[data-theme] .portal-banner {background:var(--liquid-reading);border-radius:20px;border-color:var(--teal)}
html[data-theme] .portal-panel {padding:30px}
html[data-theme] .portal-error {border-radius:14px}
.privacy-content {padding:32px 36px;margin-top:8px}
.privacy-content>h1 {margin-top:0}
.privacy-content>h2 {margin-top:30px}
.privacy-content p {line-height:1.8}

/* Property information floats alongside the photograph, with matching map and retailer panes. */
.property-page .detail-primary,.property-page .detail-context {gap:24px}
.property-page .detail-context {margin-top:24px;align-items:stretch}
.property-page .detail-photo {border-radius:24px;border:1px solid var(--liquid-border);box-shadow:var(--liquid-shadow)}
html[data-theme] .property-page :is(.detail-summary,.detail-location,.detail-retailers) {padding:24px;min-width:0}
.property-page .detail-facts {gap:18px;padding-bottom:20px;margin-bottom:20px}
.property-page .detail-facts .fact+.fact {padding-left:18px}
.property-page .detail-facts strong {font-size:clamp(19px,1.7vw,23px);overflow-wrap:anywhere}
.property-page .detail-facts .fact-label {font-size:14px}
html[data-theme] .property-page .detail-actions>a.portal-button {border-radius:999px;font-size:14px;min-height:50px;padding:12px 10px}
html[data-theme] .property-page .detail-section-heading>.portal-button.secondary {border-radius:999px;background:var(--liquid-edge),var(--liquid-surface)}
.property-page .detail-actions {gap:10px;margin-bottom:22px}
html[data-theme] .property-page .detail-spaces {background:var(--surface-alt);border:1px solid var(--line);border-radius:16px;padding:16px}
.property-page .detail-map {border-radius:18px;height:255px}
.property-page .retailer-heading {margin-bottom:24px}
.property-page .retailer-rail {gap:22px}
html[data-theme] .property-page .retailer {background:transparent;border:0;box-shadow:none}
html[data-theme] .leaflet-control-zoom {border:1px solid var(--control-border);border-radius:14px;overflow:hidden;box-shadow:var(--liquid-shadow)}
html[data-theme] .leaflet-control-zoom a,
html[data-theme] .leaflet-control-zoom a:hover {background:var(--liquid-reading);color:var(--ink);border-color:var(--line);text-shadow:none}
html[data-theme] .leaflet-control-zoom a.leaflet-disabled {color:var(--muted)}
html[data-theme] .leaflet-control-zoom a:focus-visible {outline-offset:-4px}

@media(min-width:701px) and (max-width:1000px) {
 html[data-theme] .property-page :is(.detail-summary,.detail-location,.detail-retailers) {padding:18px}
 .property-page .detail-primary,.property-page .detail-context {gap:18px}
 .property-page .detail-facts {gap:12px}
 .property-page .detail-facts .fact+.fact {padding-left:12px}
 .property-page .detail-facts strong {font-size:19px}
 .property-page .retailer-rail {gap:18px 12px}
 .property-page .retailer-mark {max-width:100%}
}
@media(max-width:700px) {
 body,html[data-theme=dark] body {background-attachment:scroll}
 .listings-page .card-body {padding:20px 20px 0}
 html[data-theme] :is(.card,.portal-panel,.application-section,.detail-summary,.detail-location,.detail-retailers,.privacy-content) {border-radius:22px}
 .property-page .portal-shell {padding-left:16px;padding-right:16px}
 .property-page .detail-photo {border-radius:22px}
 .property-page .detail-primary {gap:18px}
 .property-page .detail-context {gap:18px;margin-top:18px}
 html[data-theme] .property-page :is(.detail-summary,.detail-location,.detail-retailers) {padding:18px}
 .property-page .detail-facts {gap:16px}
 .property-page .detail-facts .fact+.fact {padding-left:16px}
 .property-page .detail-facts strong {font-size:20px}
 html[data-theme] .property-page .detail-actions>a.portal-button {min-height:50px;font-size:14px;padding:12px 8px}
 .property-page .detail-map {height:240px;border-radius:16px}
 .property-page .retailer-heading {margin-bottom:22px}
 .property-page .retailer-rail {gap:22px 16px}
 .property-page .retailer-mark {max-width:100%}
 html[data-theme] .portal-panel {padding:24px 20px}
 html[data-theme] .portal-steps button.portal-button.secondary {padding:11px 10px;font-size:13px}
 html[data-theme] .application-section {padding:28px 24px}
 html[data-theme] .broker-section {padding:24px}
 .privacy-content {padding:24px 22px}
}
@media(max-width:370px) {
 html[data-theme] .property-page :is(.detail-summary,.detail-location,.detail-retailers) {padding:15px}
 .property-page .detail-facts strong {font-size:18px}
 .property-page .detail-facts .fact-label {font-size:14px}
 .property-page .detail-facts,.property-page .retailer-rail {column-gap:12px}
 .property-page .detail-facts .fact+.fact {padding-left:12px}
 html[data-theme] .property-page .detail-actions>a.portal-button {padding:12px 6px;font-size:13px}
}
@media(prefers-reduced-transparency:reduce),(forced-colors:active) {
 :root,html[data-theme=dark] {
  --liquid-surface:var(--surface);--liquid-reading:var(--surface);
  --liquid-edge:linear-gradient(transparent,transparent);--liquid-canvas:linear-gradient(var(--canvas),var(--canvas));
  --liquid-border:var(--line);--liquid-shadow:none;--glass-filter:none;
  --glass-fill:var(--surface);--glass-sheen:linear-gradient(transparent,transparent);--glass-shadow:none;
  --action-sheen:linear-gradient(transparent,transparent);
 }
}
@media(prefers-reduced-motion:reduce) {
 html[data-theme] :is(.portal-button,.card) {transition:none}
}
@media print {
 :root,html[data-theme=dark] {
  --canvas:#fff;--surface:#fff;--surface-alt:#f1f1f1;--ink:#111;--muted:#444;--teal:#174e55;
  --line:#aaa;--control-border:#666;--action-bg:#111;--action-ink:#fff;
  --liquid-surface:#fff;--liquid-reading:#fff;--liquid-edge:none;--liquid-shadow:none;--glass-filter:none;
  --glass-fill:#fff;--glass-sheen:none;--glass-shadow:none;--action-sheen:none;
 }
 body,html[data-theme=dark] body {background:#fff!important}
 html[data-theme] :is(.portal-panel,.detail-summary,.detail-location,.detail-retailers,.privacy-content) {box-shadow:none;border:0;backdrop-filter:none}
}

/* Audit refinements: clear focus, consistent small-screen facts, reachable contact. */
html[data-theme] .listings-page .browse-toolbar .view-toggle button:focus-visible {outline-offset:-4px}
.listing-freshness {font-size:14px;line-height:1.5;color:var(--muted);margin:-8px 0 22px}
.return-code {padding:18px 0;overflow-wrap:anywhere}
.return-code summary {cursor:pointer;font-weight:600;padding:8px 0}
.return-code .portal-button {margin:8px 8px 0 0}
.portal-file {flex-wrap:wrap;overflow-wrap:anywhere}
[aria-busy=true] {cursor:progress}
.portal-button:disabled {opacity:.65;cursor:wait}
.retailer-name-fallback {color:var(--ink);font-weight:600;font-size:16px}
.mobile-contact {display:none}
@media(max-width:700px) {
 html[data-theme] .listings-page .property-facts strong {font-size:18px}
 .property-page {padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .property-page .mobile-contact {position:fixed;z-index:1100;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--liquid-reading);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);border-top:1px solid var(--liquid-border);box-shadow:0 -4px 24px rgba(0,0,0,.08)}
 .mobile-contact .portal-button {min-height:48px;font-size:14px;padding:12px 8px;text-align:center}
 .property-page :is(a,button,summary) {scroll-margin-bottom:100px}
}
@media print {.mobile-contact {display:none!important}}

.marketing-image {background:var(--surface-alt)}
html[data-theme] .marketing-image img {object-fit:contain}
.detail-photo,.media {position:relative}
.image-caption {position:absolute;bottom:12px;right:12px;z-index:1;padding:6px 10px;border-radius:999px;background:rgba(15,28,35,.84);color:#fff;font-size:12px;line-height:1.4}

.refresh-listings {color:var(--teal);background:transparent;border:0;text-decoration:underline;font:inherit;padding:8px;cursor:pointer}

@media(max-width:700px){.property-page .detail-facts{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.property-page .detail-facts strong{font-size:18px}}
