.eyebrow { margin: 0 0 7px; color: #8a7013; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.ui-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 18px; border: 1px solid transparent; border-radius: 999px; font: inherit; font-size: 12px; font-weight: 750; text-decoration: none; transition: transform .18s var(--ease), background .18s, box-shadow .18s; }
.ui-button:hover { transform: translateY(-1px); }
.ui-button:active { transform: scale(.98); }
.ui-button-primary { border-color: var(--navy); background: var(--navy); color: #fff; box-shadow: 0 7px 18px rgba(15,23,42,.14); }
.ui-button-primary:hover { background: var(--navy-soft); }
.ui-button-secondary { border-color: var(--line-strong); background: #fff; color: var(--navy); }
.ui-button-block { width: 100%; }
.ui-button .premium-icon { width: 17px; height: 17px; }
.ui-button.is-loading { pointer-events: none; opacity: .75; }
.ui-button.is-loading::before { content: ""; width: 15px; height: 15px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: actionSpin .7s linear infinite; }
.form-alert { margin: 0 0 14px; padding: 11px 13px; border-radius: 10px; font-size: 12px; line-height: 1.45; }
.form-alert-error { border: 1px solid #fecaca; background: #fef2f2; color: #b42318; }
.app-form { display: grid; gap: 15px; }
.app-form label { display: grid; gap: 7px; color: #344054; font-size: 11px; font-weight: 700; }
.app-form label > span:first-child { display: flex; justify-content: space-between; align-items: center; }
.app-form label small { color: var(--muted); font-size: 9px; font-weight: 500; }
.app-form input, .app-form textarea, .app-form select { width: 100%; min-width: 0; border: 1px solid var(--line-strong); border-radius: 11px; outline: 0; background: #fff; color: var(--navy); font: inherit; font-size: 12px; transition: border-color .18s, box-shadow .18s, background .18s; }
.app-form input, .app-form select { min-height: 44px; padding: 0 12px; }
.app-form textarea { padding: 11px 12px; resize: vertical; line-height: 1.55; }
.app-form input:focus, .app-form textarea:focus, .app-form select:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(15,23,42,.08); }
.app-form input:disabled { background: #f5f6f8; color: var(--muted); }
.page-toast { position: fixed; z-index: 120; right: 24px; bottom: 24px; min-width: 260px; max-width: 380px; align-items: center; gap: 10px; padding: 13px 15px; border: 1px solid #d8e6dc; border-radius: 13px; background: #fff; color: #166534; box-shadow: var(--shadow-float); font-size: 12px; font-weight: 650; }
.page-toast:not([hidden]) { display: flex; animation: toastUp .25s var(--ease) both; }
@keyframes toastUp { from { opacity: 0; transform: translateY(10px); } }

/* Authentication */
.auth-layout { min-height: calc(100vh - 92px); display: grid; grid-template-columns: minmax(520px, 1.15fr) minmax(460px, .85fr); padding: 18px; gap: 18px; }
.auth-spotlight { position: relative; min-height: 700px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 54px; border-radius: 22px; background-image: linear-gradient(180deg,rgba(15,23,42,.62),rgba(15,23,42,.44) 46%,rgba(15,23,42,.95)), var(--spotlight-image); background-size: cover; background-position: center; color: #fff; }
.auth-spotlight-copy, .spotlight-property { position: relative; z-index: 1; }
.auth-spotlight .eyebrow { margin-bottom: 30px; color: var(--gold-light); }
.auth-spotlight h2 { max-width: 680px; margin: 0; font-size: clamp(38px,4.6vw,68px); line-height: .98; letter-spacing: -.03em; }
.auth-spotlight-copy > p { max-width: 540px; margin: 22px 0 0; color: rgba(255,255,255,.84); font-size: 15px; line-height: 1.65; }
.spotlight-property { display: grid; grid-template-columns: 1fr auto 40px; align-items: center; gap: 22px; padding: 18px 20px; border-radius: 16px; background: rgba(15,23,42,.88); color: #fff; text-decoration: none; box-shadow: 0 14px 34px rgba(2,6,23,.32); transition: background .2s; }
.spotlight-property:hover { background: rgba(15,23,42,1); }
.spotlight-property span { display: grid; gap: 4px; }
.spotlight-property small { color: var(--gold-light); font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.spotlight-property strong { font-size: 15px; }
.spotlight-property em { display: flex; align-items: center; gap: 5px; color: rgba(255,255,255,.72); font-size: 10px; font-style: normal; }
.spotlight-property em .premium-icon { width: 13px; height: 13px; }
.spotlight-property b { font-size: 17px; }
.auth-panel { display: grid; place-items: center; padding: 50px 8%; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.auth-panel-inner { width: min(100%, 450px); }
.auth-panel-compact { max-width: 410px; }
.auth-panel h1 { margin: 0; color: var(--navy); font-size: clamp(32px,3vw,48px); line-height: 1.04; letter-spacing: -.045em; }
.auth-lead { margin: 15px 0 28px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.auth-form { gap: 18px; }
.auth-form label > span:first-child a { color: #765f0b; font-size: 10px; text-decoration: none; }
.input-shell { height: 50px; display: grid!important; grid-template-columns: 20px minmax(0,1fr) 32px; align-items: center!important; gap: 10px; padding: 0 11px 0 15px; background: #fff; border: 1px solid var(--line-strong); border-radius: 999px; transition: border-color .2s, box-shadow .2s; }
.input-shell:focus-within { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(15,23,42,.08); }
.input-shell > .premium-icon { width: 18px; height: 18px; color: var(--navy); }
.input-shell input { min-height: 0; height: 46px; padding: 0; border: 0; box-shadow: none!important; }
.property-app .input-shell input:focus-visible { outline: 0; }
.input-shell button { width: 31px; height: 31px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: #f5f6f8; color: var(--muted); }
.input-shell button .premium-icon { width: 15px; height: 15px; }
.password-meter { display: grid!important; grid-template-columns: repeat(4,1fr); gap: 5px; margin-top: 2px; }
.password-meter i { height: 3px; border-radius: 99px; background: var(--line); }
.password-meter[data-strength="1"] i:nth-child(-n+1) { background: #ef4444; }
.password-meter[data-strength="2"] i:nth-child(-n+2) { background: #f59e0b; }
.password-meter[data-strength="3"] i:nth-child(-n+3), .password-meter[data-strength="4"] i { background: #16a34a; }
.password-hint { margin-top: -2px; }
.auth-alt { margin: 24px 0 0; color: var(--muted); font-size: 11px; text-align: center; }
.auth-alt a { display: inline-flex; align-items: center; gap: 5px; color: #765f0b; font-weight: 750; text-decoration: none; }
.auth-alt .premium-icon { width: 14px; height: 14px; }
.auth-fineprint { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 22px 0 0; color: #98a2b3; font-size: 9px; }
.auth-fineprint .premium-icon { width: 14px; height: 14px; }
.auth-icon { width: max-content; display: block; margin-bottom: 22px; color: #765f0b; }
.auth-icon .premium-icon { width: 28px; height: 28px; }

/* Listing dossier */
.listing-page { width: min(1560px,100%); margin: 0 auto; padding: 24px 28px 70px; }
.listing-breadcrumb { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; color: var(--muted); font-size: 10px; font-weight: 650; }
.listing-breadcrumb a { display: inline-flex; align-items: center; gap: 7px; color: var(--navy); text-decoration: none; }
.listing-breadcrumb .premium-icon { width: 15px; height: 15px; }
.listing-gallery { position: relative; height: min(520px,52vw); min-height: 390px; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 10px; overflow: hidden; padding: 10px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.gallery-cell { min-width: 0; min-height: 0; overflow: hidden; padding: 0; border: 0; border-radius: 13px; background: #e8eaee; }
.gallery-cell-1 { grid-row: 1 / 3; }
.listing-gallery:where(.gallery-count-1) { grid-template-columns: 1fr; }
.listing-gallery:where(.gallery-count-2, .gallery-count-3) { grid-template-columns: 2fr 1fr; }
.gallery-count-2 .gallery-cell-2 { grid-row: 1 / 3; }
.gallery-count-4 .gallery-cell-4 { grid-column: 2 / 4; }
.gallery-cell img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.gallery-cell:hover img { transform: scale(1.025); }
.gallery-fill { grid-column: 2 / 4; grid-row: 1 / 3; background: linear-gradient(135deg,#eceef1,#dfe3e8); }
.gallery-top-actions { position: absolute; top: 25px; right: 25px; display: flex; gap: 8px; }
.gallery-top-actions button, .view-gallery { min-height: 39px; display: inline-flex; align-items: center; gap: 7px; padding: 0 13px; border: 1px solid rgba(15,23,42,.18); border-radius: 999px; background: rgba(255,255,255,.98); color: var(--navy); box-shadow: 0 2px 5px rgba(15,23,42,.14), 0 10px 28px rgba(15,23,42,.26); font-size: 10px; font-weight: 750; cursor: pointer; backdrop-filter: blur(10px); transition: background .18s, color .18s, transform .18s var(--ease), box-shadow .18s; }
.gallery-top-actions button:hover, .view-gallery:hover { background: #fff; box-shadow: 0 3px 7px rgba(15,23,42,.18), 0 13px 32px rgba(15,23,42,.3); transform: translateY(-1px); }
.gallery-top-actions button:active, .view-gallery:active { transform: scale(.97); }
.gallery-top-actions button.is-active { border-color: var(--gold); background: var(--gold); color: var(--navy); }
.gallery-top-actions .premium-icon, .view-gallery .premium-icon { width: 15px; height: 15px; }
.view-gallery { position: absolute; right: 25px; bottom: 25px; }
.listing-content-grid { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 36px; padding: 34px 10px 0; }
.listing-dossier { min-width: 0; }
.listing-title-row { display: flex; justify-content: space-between; gap: 30px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.listing-status { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; color: #856d11; font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.listing-title-row h1 { margin: 0 0 9px; color: var(--navy); font-size: clamp(30px,3vw,48px); line-height: 1.03; letter-spacing: -.03em; }
.listing-title-row p { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--muted); font-size: 12px; }
.listing-title-row p .premium-icon { width: 16px; height: 16px; color: #8a7013; }
.listing-price { align-self: center; display: flex; align-items: baseline; white-space: nowrap; }
.listing-price strong { color: var(--navy); font-size: 30px; letter-spacing: -.03em; }
.listing-price small { color: var(--muted); font-size: 11px; }
.listing-facts { display: flex; flex-wrap: wrap; gap: 10px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.listing-facts span { min-height: 42px; display: inline-flex; align-items: center; gap: 6px; padding: 0 13px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: #475467; font-size: 10px; }
.listing-facts .premium-icon { width: 17px; height: 17px; color: var(--navy); }
.dossier-section { padding: 34px 0; border-bottom: 1px solid var(--line); }
.dossier-section h2 { margin: 0 0 17px; color: var(--navy); font-size: 24px; letter-spacing: -.03em; }
.listing-description { margin: 0; color: #596273; font-size: 13px; line-height: 1.8; }
.amenity-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.amenity-grid span { min-height: 50px; display: flex; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: #344054; font-size: 11px; font-weight: 650; }
.amenity-grid .premium-icon { width: 18px; height: 18px; color: #8a7013; }
.section-heading-split { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.section-heading-split a { display: inline-flex; align-items: center; gap: 5px; margin-bottom: 17px; color: #765f0b; font-size: 10px; font-weight: 750; text-decoration: none; }
.section-heading-split .premium-icon { width: 14px; height: 14px; }
.real-map-frame { position: relative; height: 380px; overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: #e8ece6; }
.real-map-frame iframe { width: 100%; height: 100%; border: 0; filter: saturate(.68) contrast(.96); }
.map-listing-label { position: absolute; top: 50%; left: 50%; min-width: 210px; display: grid; gap: 3px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.8); border-radius: 12px; background: rgba(255,255,255,.95); box-shadow: 0 10px 25px rgba(15,23,42,.15); transform: translate(22px,-50%); pointer-events: none; }
.map-listing-label::before { content: ""; position: absolute; top: 50%; left: -25px; width: 25px; height: 2px; background: var(--gold); }
.map-listing-label strong { color: var(--navy); font-size: 11px; }
.map-listing-label small { color: var(--muted); font-size: 9px; }
.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.related-grid a { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--navy); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.related-grid a:hover { transform: translateY(-3px); box-shadow: 0 12px 25px rgba(15,23,42,.1); }
.related-grid img { width: 100%; height: 135px; object-fit: cover; }
.related-grid span { display: grid; gap: 4px; padding: 12px; }
.related-grid strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.related-grid small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.related-grid b { margin-top: 5px; font-size: 12px; }
.listing-contact-card { position: sticky; top: 112px; align-self: start; padding: 25px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 18px 45px rgba(15,23,42,.1); }
.advisor-mark { width: max-content; display: block; margin-bottom: 19px; color: #765f0b; }
.advisor-mark .premium-icon { width: 29px; height: 29px; stroke-width: 1.65; }
.listing-contact-card h2 { margin: 0 0 9px; color: var(--navy); font-size: 23px; letter-spacing: -.03em; }
.listing-contact-card > p:not(.eyebrow):not(.contact-trust) { margin: 0 0 19px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.contact-tabs { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 16px; padding: 4px; border-radius: 11px; background: var(--canvas); }
.contact-tabs::before { content: ""; position: absolute; z-index: 0; top: 4px; left: 4px; width: calc(50% - 6px); height: calc(100% - 8px); border-radius: 8px; background: #fff; box-shadow: 0 3px 9px rgba(15,23,42,.08); transform: translateX(0); transition: transform .3s var(--ease); }
.contact-tabs[data-active="viewing"]::before { transform: translateX(calc(100% + 4px)); }
.contact-tabs button { position: relative; z-index: 1; min-height: 37px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 700; cursor: pointer; transition: color .22s var(--ease); }
.contact-tabs button.is-active { color: var(--navy); }
.contact-panel:not(.is-active) { display: none; }
.contact-panel.is-active { animation: panelIn .26s var(--ease) both; }
@keyframes panelIn { from { opacity: 0; transform: translateY(6px); } }
.inline-notice { display: flex; align-items: center; gap: 7px; margin: 0!important; padding: 10px; border-radius: 10px; background: #f6f3e9; color: #765f0b!important; }
.inline-notice .premium-icon { width: 15px; height: 15px; }
.compare-button { width: 100%; min-height: 43px; display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--navy); font-size: 10px; font-weight: 700; }
.compare-button.is-active { border-color: var(--gold); background: #f7f2dd; }
.compare-button .premium-icon { width: 16px; height: 16px; }
.contact-trust { display: flex; align-items: center; gap: 6px; margin: 15px 0 0!important; color: #98a2b3!important; font-size: 8px!important; }
.contact-trust .premium-icon { width: 13px; height: 13px; }
.gallery-lightbox { width: min(1100px,calc(100vw - 40px)); max-width: none; height: min(780px,calc(100vh - 40px)); padding: 18px; border: 0; border-radius: 20px; background: var(--navy); color: #fff; }
.gallery-lightbox::backdrop { background: rgba(15,23,42,.82); backdrop-filter: blur(8px); }
.gallery-lightbox > button { position: absolute; z-index: 2; top: 16px; right: 16px; width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #fff; color: var(--navy); }
.gallery-lightbox > img { width: 100%; height: calc(100% - 92px); object-fit: contain; }
.gallery-lightbox > div { height: 72px; display: flex; justify-content: center; gap: 8px; padding-top: 10px; }
.gallery-lightbox > div button { width: 90px; overflow: hidden; padding: 0; border: 2px solid transparent; border-radius: 8px; background: #fff; }
.gallery-lightbox > div img { width: 100%; height: 100%; object-fit: cover; }

/* Portals */
.portal-page { width: min(1480px,100%); margin: 0 auto; padding: 34px 32px 70px; }
.portal-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 30px; padding: 14px 2px 27px; border-bottom: 1px solid var(--line); }
.portal-hero h1 { margin: 0; color: var(--navy); font-size: clamp(30px, 3vw, 44px); letter-spacing: -.04em; line-height: 1.03; }
.portal-hero p:not(.eyebrow) { max-width: 620px; margin: 13px 0 0; color: var(--muted); font-size: 12.5px; line-height: 1.65; }
.hero-actions { display: flex; gap: 9px; }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; overflow: hidden; }
.metric-grid article { min-height: 104px; display: flex; align-items: center; gap: 15px; padding: 20px 22px; border-left: 1px solid var(--line); }
.metric-grid article:first-child { border-left: 0; }
.metric-grid article > .premium-icon { width: 23px; height: 23px; flex: 0 0 23px; color: #765f0b; stroke-width: 1.65; }
.metric-grid span { display: grid; gap: 3px; }
.metric-grid .metric-link { margin-left: auto; align-self: flex-start; color: var(--muted); transition: color .18s ease, transform .18s ease; }
.metric-grid .metric-link:hover { color: var(--navy); transform: translate(2px,-2px); }
.metric-grid strong { color: var(--navy); font-size: 25px; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.metric-grid small { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.portal-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(330px,.7fr); gap: 18px; }
.portal-main, .portal-side { display: grid; align-content: start; gap: 18px; }
.portal-card { padding: 23px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .03); }
.portal-card-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.portal-card-heading h2, .portal-card > h2 { margin: 0; color: var(--navy); font-size: 18px; letter-spacing: -.025em; }
.portal-card-heading a { color: #765f0b; font-size: 10px; font-weight: 750; text-decoration: none; }
.compact-empty { min-height: 230px; display: grid; place-items: center; align-content: center; padding: 25px; text-align: center; color: var(--muted); }
.compact-empty > .premium-icon { width: 28px; height: 28px; color: #765f0b; stroke-width: 1.65; }
.compact-empty h3 { margin: 13px 0 5px; color: var(--navy); font-size: 14px; }
.compact-empty p { max-width: 380px; margin: 0 0 16px; font-size: 10px; line-height: 1.6; }
.compact-empty-row { min-height: 120px; grid-template-columns: auto 1fr; place-items: center start; gap: 13px; text-align: left; }
.compact-empty-row h3 { margin-top: 0; }
.saved-property-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 11px; }
.saved-property-grid a { position: relative; height: 250px; overflow: hidden; border-radius: 13px; background: var(--navy); color: #fff; text-decoration: none; }
.saved-property-grid a::after { content: ""; position: absolute; inset: 25% 0 0; background: linear-gradient(transparent,rgba(15,23,42,.94)); }
.saved-property-grid img { width: 100%; height: 100%; object-fit: cover; }
.saved-property-grid span { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: grid; gap: 4px; padding: 14px; }
.saved-property-grid small { color: var(--gold-light); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.saved-property-grid strong { font-size: 12px; }
.saved-property-grid em { display: flex; align-items: center; gap: 4px; overflow: hidden; color: #c8cfda; font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.saved-property-grid em .premium-icon { width: 11px; height: 11px; }
.saved-property-grid b { margin-top: 4px; font-size: 13px; }
.activity-list { display: grid; }
.compare-list { display: grid; }
.compare-list a { min-height: 66px; display: grid; grid-template-columns: 48px minmax(0,1fr) auto 18px; align-items: center; gap: 11px; padding: 9px 0; border-top: 1px solid var(--line); color: var(--navy); text-decoration: none; }
.compare-list a:first-child { border-top: 0; }
.compare-list img { width: 48px; height: 48px; border-radius: 9px; object-fit: cover; }
.compare-list span { min-width: 0; display: grid; gap: 4px; }
.compare-list strong { font-size: 11px; }
.compare-list small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.compare-list b { font-size: 11px; white-space: nowrap; }
.compare-list > a > .premium-icon { width: 15px; height: 15px; color: #8a7013; }
.activity-list article { min-height: 67px; display: grid; grid-template-columns: 45px 1fr auto; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.activity-list article:first-child { border-top: 0; }
.activity-list img { width: 45px; height: 45px; border-radius: 10px; object-fit: cover; }
.activity-icon { width: 45px; height: 45px; display: grid; place-items: center; color: #765f0b; }
.activity-icon .premium-icon { width: 22px; height: 22px; stroke-width: 1.65; }
.activity-list article > span:nth-child(2) { display: grid; gap: 4px; }
.activity-list strong { color: var(--navy); font-size: 11px; }
.activity-list small { color: var(--muted); font-size: 9px; }
.status-badge { width: max-content; display: inline-flex; align-items: center; padding: 6px 9px; border-radius: 999px; background: #f2f4f7; color: #475467; font-size: 8px; font-style: normal; font-weight: 800; text-transform: capitalize; }
.status-live, .status-active, .status-approved, .status-confirmed, .status-completed { background: #ecfdf3; color: #047857; }
.status-pending, .status-requested, .status-new { background: #fff7df; color: #8a6500; }
.status-declined, .status-suspended, .status-cancelled { background: #fef2f2; color: #b42318; }
.publisher-callout { background: linear-gradient(145deg,#fff,#fbf8ed); }
.publisher-callout > p:not(.eyebrow) { color: var(--muted); font-size: 10px; line-height: 1.6; }
.publisher-application { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.notification-list { display: grid; gap: 12px; }
.notification-list p { display: flex; gap: 8px; margin: 0; }
.notification-list p > .premium-icon { width: 15px; height: 15px; color: #16834a; }
.notification-list span { display: grid; gap: 3px; }
.notification-list strong { color: var(--navy); font-size: 10px; }
.notification-list small { color: var(--muted); font-size: 8px; line-height: 1.4; }
.table-card { overflow: hidden; padding: 0; }
.table-card > .portal-card-heading, .admin-panel > .portal-card-heading { padding: 22px 23px 0; }
.table-search { width: min(260px,100%); height: 40px; display: grid; grid-template-columns: 18px 1fr; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid var(--line); border-radius: 999px; }
.table-search-form { width: min(260px,100%); margin: 0; }
.table-search-form .table-search { width: 100%; }
.table-search .premium-icon { width: 15px; height: 15px; color: var(--muted); }
.table-search input { width: 100%; border: 0; outline: 0; font-size: 10px; }
.data-table { width: 100%; overflow-x: auto; }
.data-row { min-width: 850px; display: grid; grid-template-columns: minmax(250px,1.5fr) .8fr .6fr .7fr 120px; align-items: center; gap: 14px; min-height: 74px; padding: 10px 23px; border-top: 1px solid var(--line); color: #475467; font-size: 10px; transition: background .16s; }
.data-row:hover { background: #fafbfc; }
.data-head { min-height: 40px; background: transparent; color: #98a2b3; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.data-head:hover { background: transparent; }
.table-card .data-head { border-top: 0; }
.data-head { min-height: 40px; background: #f8f9fb; color: #98a2b3; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.property-cell, .user-cell { display: flex; align-items: center; gap: 11px; min-width: 0; }
.property-cell img { width: 54px; height: 47px; border-radius: 9px; object-fit: cover; }
.property-cell b, .user-cell em { min-width: 0; display: grid; gap: 4px; color: var(--navy); font-style: normal; }
.property-cell small, .user-cell small, .data-row > span > small { color: var(--muted); font-size: 8px; font-weight: 500; }
.row-actions { display: flex; justify-content: flex-end; gap: 5px; }
.row-actions a, .row-actions button { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--navy); }
.row-actions form { margin: 0; }
.row-actions .premium-icon { width: 15px; height: 15px; }
.row-actions .danger-action { color: #b42318; }
.form-page { max-width: 1320px; }
.editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 18px; }
.editor-main { display: grid; gap: 18px; }
.editor-side { min-width: 0; }
.editor-publish { position: sticky; top: 112px; }
.publish-state { min-width: 0; display: block; margin: 0; padding: 0; border: 0; }
.publish-state legend { display: block; width: 100%; margin-bottom: 7px; padding: 0; color: #344054; font-size: 10px; font-weight: 700; }
.publish-state-options { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--canvas); }
.publish-state label { min-width: 0; cursor: pointer; }
.publish-state input { position: absolute; opacity: 0; pointer-events: none; }
.publish-state label > span { min-height: 42px; display: grid; justify-items: center; align-content: center; gap: 3px; padding: 5px 3px; border-radius: 8px; color: #667085; font-size: 8px; font-weight: 750; transition: background-color .16s var(--ease), color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease); }
.publish-state label > span .premium-icon { width: 14px; height: 14px; }
.publish-state label:hover > span { background: #fff; color: var(--navy); }
.publish-state label:active > span { transform: scale(.96); }
.publish-state input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }
.publish-state input:checked + span { color: #fff; }
.form-grid { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
.form-grid .span-2 { grid-column: 1 / -1; }
.editor-image-preview { position: relative; height: 250px; overflow: hidden; margin-top: 18px; border-radius: 13px; background: var(--canvas); }
.editor-image-preview img { width: 100%; height: 100%; object-fit: cover; }
.editor-image-preview img[src=""] { visibility: hidden; }
.editor-image-preview > span { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--navy); font-size: 9px; font-weight: 700; }

/* Media editor (image uploads) */
.media-editor { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 22px; }
.media-editor-block { display: grid; align-content: start; gap: 11px; }
.media-editor-label { color: #344054; font-size: 11px; font-weight: 700; }
.upload-zone { position: relative; display: grid; place-items: center; overflow: hidden; border: 1.5px dashed var(--line-strong); border-radius: 14px; background: var(--canvas); cursor: pointer; transition: border-color .2s, background .2s; }
.upload-zone:hover, .upload-zone:focus-within { border-color: var(--gold); background: #faf8f0; }
.upload-zone input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.upload-zone-cover { min-height: 210px; }
.upload-zone-cover img { width: 100%; height: 100%; min-height: 210px; object-fit: cover; }
.upload-zone-cover img[src=""] { display: none; }
.upload-zone-gallery { min-height: 96px; padding: 18px; }
.upload-zone-hint { display: grid; justify-items: center; gap: 5px; color: var(--muted); text-align: center; pointer-events: none; }
.upload-zone-hint .premium-icon { width: 24px; height: 24px; color: var(--gold-dark); }
.upload-zone-hint strong { color: var(--navy); font-size: 12px; }
.upload-zone-hint small { font-size: 10px; }
.upload-zone-cover.has-image .upload-zone-hint { position: absolute; right: 12px; bottom: 12px; grid-auto-flow: column; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.94); }
.upload-zone-cover.has-image .upload-zone-hint small { display: none; }
.media-url-row { display: grid; gap: 6px; color: #344054; font-size: 11px; font-weight: 700; }
.gallery-edit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.gallery-edit-grid:empty { display: none; }
.gallery-edit-grid figure { position: relative; margin: 0; overflow: hidden; aspect-ratio: 4/3; border-radius: 10px; background: #dfe3e8; }
.gallery-edit-grid img { width: 100%; height: 100%; object-fit: cover; }
.gallery-edit-grid button { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: rgba(15,23,42,.72); color: #fff; cursor: pointer; }
.gallery-edit-grid button .premium-icon { width: 12px; height: 12px; }
.gallery-edit-thumb.is-new { outline: 2px solid rgba(212,175,55,.5); }
.toggle-field { display: flex!important; align-items: center; gap: 10px!important; }
.toggle-field > input { position: absolute; opacity: 0; pointer-events: none; }
.toggle-field > span { width: 42px; height: 24px; display: block!important; padding: 3px; border-radius: 999px; background: #dfe3e8; transition: background .2s; }
.toggle-field > span i { width: 18px; height: 18px; display: block; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px rgba(15,23,42,.18); transition: transform .2s; }
.toggle-field > input:checked + span { background: var(--navy); }
.toggle-field > input:checked + span i { transform: translateX(18px); }
.toggle-field > b { display: grid; color: var(--navy); font-size: 10px; }
.toggle-field > b small { margin-top: 3px; }
.editor-note { display: flex; align-items: start; gap: 6px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.editor-note .premium-icon { width: 13px; height: 13px; color: #16834a; }

/* Admin */
.admin-tabs-card { padding: 0; overflow: hidden; }
.admin-tabs { display: flex; gap: 4px; padding: 12px 14px 0; border-bottom: 1px solid var(--line); }
.admin-tabs button { position: relative; min-height: 47px; display: inline-flex; align-items: center; gap: 7px; padding: 0 15px; border: 0; background: transparent; color: var(--muted); font-size: 10px; font-weight: 750; }
.admin-tabs button::after { content: ""; position: absolute; right: 15px; bottom: -1px; left: 15px; height: 2px; background: transparent; }
.admin-tabs button.is-active { color: var(--navy); }
.admin-tabs button.is-active::after { background: var(--gold); }
.admin-tabs button span { min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 5px; border-radius: 999px; background: #f5f0df; color: #765f0b; font-size: 8px; }
.admin-panel:not(.is-active) { display: none; }
.admin-user-table .data-row { min-width: 1080px; grid-template-columns: minmax(230px,1fr) minmax(250px,1fr) minmax(190px,.72fr) 100px 56px; }
.user-avatar { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 50%; background: var(--navy); color: var(--gold-light); }
.user-avatar .premium-icon { width: 18px; height: 18px; stroke-width: 1.8; }
.admin-segmented { min-width: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 3px; margin: 0; padding: 3px; border: 1px solid var(--line); border-radius: 11px; background: var(--canvas); }
.admin-segmented label { min-width: 0; cursor: pointer; }
.admin-segmented input { position: absolute; opacity: 0; pointer-events: none; }
.admin-segmented label > span { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 0 7px; border-radius: 8px; color: #667085; font-size: 8.5px; font-weight: 750; white-space: nowrap; transition: background-color .16s var(--ease), color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease); }
.admin-segmented label:hover > span { background: #fff; color: var(--navy); box-shadow: 0 2px 7px rgba(15,23,42,.07); }
.admin-segmented label:active > span { transform: scale(.96); }
.admin-segmented input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 1px; }
.admin-segmented input:checked + span { color: #fff; }
.admin-segmented .premium-icon { width: 13px; height: 13px; }
.admin-segmented:disabled { opacity: .62; }
.admin-segmented:disabled label { cursor: not-allowed; }
.data-row.is-updating .admin-segmented { pointer-events: none; opacity: .58; }
.data-row.is-updating .admin-segmented:has(input:checked) input:checked + span { opacity: 1; }
.locked-action { width: 34px; height: 34px; display: grid; place-items: center; color: #98a2b3; }
.data-row select { width: 100%; min-height: 35px; padding: 0 25px 0 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--navy); font: inherit; font-size: 9px; }
.inline-admin-form { display: contents; }
.application-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; padding: 0 23px 23px; }
.application-grid article { padding: 17px; border: 1px solid var(--line); border-radius: 13px; }
.application-grid article > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.application-grid h3 { margin: 16px 0 6px; color: var(--navy); font-size: 12px; }
.application-grid p { min-height: 50px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.application-grid article > div:last-child { display: flex; justify-content: flex-end; gap: 7px; margin-top: 15px; }
.application-grid form { margin: 0; }
.application-grid .ui-button { min-height: 38px; font-size: 9px; }
.contacts-table .data-row { grid-template-columns: minmax(180px,.75fr) minmax(250px,1.05fr) minmax(250px,.9fr) 100px 80px; }
.viewings-table .data-row { min-width: 1160px; grid-template-columns: minmax(180px,.72fr) minmax(250px,1fr) minmax(360px,1.25fr) 100px 80px; }
.message-cell { min-width: 0; display: grid; gap: 5px; }
.message-cell small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inquiry-workflow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius: 12px; background: var(--canvas); }
.workflow-step { min-width: 0; min-height: 42px; display: grid; grid-template-columns: 14px minmax(0, 1fr); align-items: center; justify-content: center; gap: 5px; padding: 0 7px; border: 0; border-radius: 8px; background: transparent; color: #667085; font: inherit; font-size: 8.5px; font-weight: 750; cursor: pointer; transition-property: background-color, color, box-shadow, transform; transition-duration: .16s; transition-timing-function: var(--ease); }
.workflow-step .premium-icon { width: 14px; height: 14px; justify-self: end; stroke-width: 1.8; }
.workflow-step span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workflow-step:hover:not(:disabled) { background: #fff; color: var(--navy); box-shadow: 0 2px 7px rgba(15,23,42,.08); }
.workflow-step:active:not(:disabled) { transform: scale(.96); }
.workflow-step.is-complete { background: #f7f2dd; color: #765f0b; }
.workflow-step.is-current { background: transparent; color: #fff; box-shadow: none; cursor: default; opacity: 1; }
.inquiry-workflow.is-updating .workflow-step { pointer-events: none; opacity: .55; }
.inquiry-workflow.is-updating .workflow-step.is-submitting { opacity: 1; }
.inquiry-workflow.is-updating .workflow-step.is-submitting .premium-icon { animation: actionSpin .7s linear infinite; }
.viewing-workflow { display: grid; grid-template-columns: minmax(0,1fr) 72px; gap: 5px; }
.viewing-progress { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius: 12px; background: var(--canvas); }
.viewing-cancel { min-height: 48px; display: grid; justify-items: center; align-content: center; gap: 3px; padding: 4px; border: 1px solid #f1c5c1; border-radius: 11px; background: #fff; color: #b42318; font: inherit; font-size: 8px; font-weight: 750; cursor: pointer; transition: background-color .16s var(--ease), color .16s var(--ease), transform .16s var(--ease); }
.viewing-cancel .premium-icon { width: 14px; height: 14px; }
.viewing-cancel:hover:not(:disabled) { background: #fff1f0; }
.viewing-cancel:active:not(:disabled) { transform: scale(.96); }
.viewing-cancel:disabled { border-color: #b42318; background: #b42318; color: #fff; cursor: default; }
.viewing-workflow.is-updating button { pointer-events: none; opacity: .55; }
.viewing-workflow.is-updating button.is-submitting { opacity: 1; }

/* Shared sliding selection layer: mirrors the header mode switch. */
[data-motion-switch] { position: relative; isolation: isolate; }
[data-motion-switch]::before { content: ""; position: absolute; z-index: 0; top: 0; left: 0; width: var(--motion-w, 0px); height: var(--motion-h, 0px); border-radius: var(--motion-radius, 8px); background: var(--motion-bg, var(--navy)); box-shadow: 0 4px 11px rgba(15,23,42,.17); opacity: var(--motion-ready, 0); transform: translate3d(var(--motion-x, 0px), var(--motion-y, 0px), 0); transition: transform .34s cubic-bezier(.22,1,.36,1), opacity .18s ease; pointer-events: none; }
[data-motion-switch].is-motion-initializing::before { transition: none; }
[data-motion-switch] > * { position: relative; z-index: 1; }
.admin-sidebar nav[data-motion-switch] { --motion-radius: 10px; }
.admin-segmented[data-motion-switch], .publish-state-options[data-motion-switch], .inquiry-workflow[data-motion-switch], .viewing-progress[data-motion-switch] { --motion-radius: 8px; }
.admin-segmented label:hover:has(input:checked) > span, .publish-state label:hover:has(input:checked) > span { background: transparent; color: #fff; box-shadow: none; }
.workflow-step.is-current:hover { background: transparent; color: #fff; box-shadow: none; }

.admin-modal { width: min(520px, calc(100vw - 28px)); max-height: calc(100vh - 32px); padding: 0; overflow: visible; border: 0; border-radius: 20px; background: transparent; color: var(--ink); box-shadow: 0 30px 80px rgba(15,23,42,.28); }
.admin-modal[open] { animation: adminModalIn .22s var(--ease) both; }
.admin-modal::backdrop { background: rgba(15,23,42,.52); backdrop-filter: blur(5px); animation: adminBackdropIn .2s ease both; }
.admin-modal-card { position: relative; overflow-y: auto; max-height: calc(100vh - 32px); padding: 30px; border: 1px solid rgba(255,255,255,.7); border-radius: 20px; background: #fff; }
.admin-modal-card h2 { margin: 4px 0 7px; color: var(--navy); font-size: 25px; letter-spacing: -.025em; }
.admin-modal-copy { margin: 0 36px 22px 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.admin-modal-close { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--navy); cursor: pointer; transition: background-color .16s var(--ease), transform .16s var(--ease); }
.admin-modal-close:hover { background: var(--canvas); }
.admin-modal-close:active { transform: scale(.96); }
.admin-modal-close .premium-icon { width: 17px; height: 17px; }
.admin-modal .invite-form { gap: 15px; }
@keyframes adminModalIn { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes adminBackdropIn { from { opacity: 0; } to { opacity: 1; } }
.system-layout { display: block; transition: opacity .2s ease, transform .3s var(--ease); }
.system-layout.is-leaving { opacity: 0; transform: translateY(7px); }
.system-layout > .portal-card:first-child { padding: 28px; }
.system-layout > .portal-card:first-child > .ui-button { justify-self: start; margin-top: 4px; }
.settings-nav { --motion-radius: 13px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; padding: 5px; border: 1px solid var(--line); border-radius: 17px; background: #eceff3; }
.settings-nav a { min-width: 0; min-height: 62px; display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: center; gap: 10px; padding: 8px 12px; border-radius: 13px; color: #475467; text-decoration: none; transition: color .25s var(--ease), transform .16s var(--ease); }
.settings-nav a:hover:not(.is-active) { color: var(--navy); background: rgba(255,255,255,.55); }
.settings-nav a:active { transform: scale(.985); }
.settings-nav a > .premium-icon { width: 19px; height: 19px; justify-self: center; stroke-width: 1.7; }
.settings-nav a span { min-width: 0; display: grid; gap: 3px; }
.settings-nav a b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.settings-nav a small { overflow: hidden; color: #7d8799; font-size: 8.5px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; transition: color .25s var(--ease); }
.settings-nav a.is-active, .settings-nav a.is-active small { color: #fff; }
.settings-card { gap: 17px; }
.settings-card .portal-card-heading { align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.settings-card .portal-card-heading p:not(.eyebrow) { max-width: 600px; margin: 7px 0 0; color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.55; }
.settings-card > .ui-button { justify-self: start; margin-top: 3px; }
.settings-grid { display: grid; grid-template-columns: minmax(0,1fr) 290px; align-items: start; gap: 18px; }
.settings-status { flex: 0 0 auto; min-height: 32px; display: inline-flex; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid #ead7a5; border-radius: 999px; background: #fffbeb; color: #8a6500; font-size: 8.5px; font-weight: 800; white-space: nowrap; }
.settings-status.is-ready { border-color: #c9ead8; background: #ecfdf3; color: #047857; }
.settings-status .premium-icon { width: 14px; height: 14px; }
.app-form label.settings-remove { display: flex; align-items: center; gap: 9px; width: max-content; max-width: 100%; padding: 9px 11px; border: 1px solid #f1c5c1; border-radius: 10px; background: #fffafa; color: #9f2d26; cursor: pointer; }
.app-form label.settings-remove input { width: 15px; min-height: 15px; height: 15px; flex: 0 0 15px; margin: 0; accent-color: #b42318; }
.app-form label.settings-remove > span:first-of-type { display: inline-flex; justify-content: flex-start; gap: 7px; font-size: 9px; }
.settings-remove .premium-icon { width: 13px; height: 13px; }
.system-hint { display: flex; align-items: flex-start; gap: 8px; }
.system-hint > .premium-icon { width: 15px; height: 15px; flex: 0 0 15px; margin-top: 1px; color: #8a7013; }
.mail-test-card { position: sticky; top: 106px; }
.mail-test-card h2 { margin: 0; }
.mail-test-card > p:not(.eyebrow) { margin: 9px 0 18px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.settings-card-icon { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 18px; border: 1px solid #eadfbd; border-radius: 13px; background: #fffbeb; color: #8a7013; }
.settings-card-icon .premium-icon { width: 21px; height: 21px; }

.page-empty-state { min-height: calc(100vh - 92px); display: grid; place-items: center; align-content: center; padding: 40px; text-align: center; }
.page-empty-state > span { width: max-content; display: block; margin-bottom: 14px; color: #765f0b; }
.page-empty-state > span .premium-icon { width: 35px; height: 35px; stroke-width: 1.6; }
.page-empty-state h1 { margin: 0; color: var(--navy); font-size: 32px; }
.page-empty-state > p:not(.eyebrow) { margin: 10px 0 20px; color: var(--muted); }

@media (max-width: 1100px) {
  .auth-layout { grid-template-columns: .9fr 1fr; }
  .auth-spotlight { padding: 36px; }
  .listing-content-grid { grid-template-columns: minmax(0,1fr) 340px; }
  .portal-layout { grid-template-columns: 1fr; }
  .portal-side { grid-template-columns: repeat(2,1fr); }
  .metric-grid { grid-template-columns: repeat(2,1fr); }
  .metric-grid article:nth-child(odd) { border-left: 0; }
  .metric-grid article:nth-child(n+3) { border-top: 1px solid var(--line); }
  .editor-layout { grid-template-columns: 1fr; }
  .editor-publish { position: static; }
  .settings-grid { grid-template-columns: 1fr; }
  .mail-test-card { position: static; }
  .application-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 820px) {
  .auth-layout { min-height: calc(100vh - 76px); grid-template-columns: 1fr; padding: 10px; }
  .auth-spotlight { min-height: 330px; padding: 28px; }
  .auth-spotlight h2 { font-size: 38px; }
  .auth-spotlight-copy > p { display: none; }
  .spotlight-property { padding: 13px; }
  .auth-panel { padding: 42px 24px; }
  .listing-page { padding-inline: 15px; }
  .listing-gallery { height: 430px; grid-template-columns: 1.6fr 1fr; }
  .gallery-cell-4, .gallery-cell-5 { display: none; }
  .listing-content-grid { grid-template-columns: 1fr; padding-inline: 0; }
  .listing-contact-card { position: static; }
  .listing-title-row { display: grid; }
  .listing-price { justify-self: start; }
  .portal-page { padding: 24px 15px 50px; }
  .portal-hero { align-items: start; flex-direction: column; padding: 25px; }
  .portal-side { grid-template-columns: 1fr; }
  .saved-property-grid { grid-template-columns: repeat(2,1fr); }
  .application-grid { grid-template-columns: 1fr; }
  .settings-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .settings-card .portal-card-heading { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .auth-layout { min-height: calc(100vh - 68px); }
  .auth-spotlight { min-height: 260px; }
  .auth-spotlight h2 { font-size: 31px; }
  .spotlight-property b, .spotlight-property > .premium-icon { display: none; }
  .spotlight-property { grid-template-columns: 1fr; }
  .listing-gallery { height: 330px; min-height: 330px; grid-template-columns: 1fr; }
  .settings-nav a { min-height: 54px; grid-template-columns: 25px minmax(0,1fr); padding-inline: 8px; }
  .settings-nav a small { display: none; }
  .gallery-cell-1 { grid-row: 1/3; }
  .gallery-cell:not(.gallery-cell-1) { display: none; }
  .gallery-top-actions { top: 20px; right: 20px; gap: 6px; }
  .gallery-top-actions button { width: 38px; min-height: 38px; justify-content: center; padding: 0; }
  .gallery-top-actions button span { display: none; }
  .view-gallery { right: 20px; bottom: 20px; }
  .listing-title-row h1 { font-size: 30px; }
  .listing-price strong { font-size: 24px; }
  .amenity-grid, .related-grid { grid-template-columns: 1fr 1fr; }
  .map-listing-label { display: none; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .metric-grid article { min-height: 88px; padding: 13px 15px; }
  .metric-grid article > .premium-icon { display: none; }
  .saved-property-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .span-2 { grid-column: auto; }
  .admin-tabs { overflow-x: auto; }
  .admin-tabs button { flex: 0 0 auto; }
  .hero-actions { width: 100%; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-cell img, .related-grid a, .spotlight-property, .ui-button, .page-toast:not([hidden]), .admin-modal[open], .admin-modal::backdrop { transition: none; animation: none; }
  [data-motion-switch]::before, .admin-sidebar nav a, .admin-segmented label > span, .publish-state label > span, .workflow-step { transition: none; }
  .admin-content { animation: none; transition: none; }
}

/* ===== Administration shell ===== */
.admin-shell { display: grid; grid-template-columns: 252px minmax(0, 1fr); gap: 22px; align-items: start; padding: 24px 26px 60px; }
.admin-content { min-width: 0; display: grid; gap: 20px; transform-origin: 50% 0; transition: opacity .16s ease, transform .2s var(--ease); }
.admin-content.is-leaving { opacity: 0; transform: translateY(5px); }

.admin-sidebar { position: sticky; top: 112px; display: grid; gap: 5px; padding: 13px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 32px rgba(15, 23, 42, .05); }
.admin-sidebar-head { display: flex; align-items: center; gap: 11px; margin-bottom: 7px; padding: 5px 7px 14px; border-bottom: 1px solid var(--line); }
.admin-sidebar-mark { width: 24px; height: 24px; display: grid; place-items: center; color: #765f0b; }
.admin-sidebar-mark .premium-icon { width: 22px; height: 22px; stroke-width: 1.65; }
.admin-sidebar-head strong { display: block; color: var(--navy); font-size: 13px; }
.admin-sidebar-head small { color: var(--muted); font-size: 10px; }
.admin-sidebar nav { display: grid; gap: 3px; }
.admin-sidebar nav a { min-height: 40px; display: flex; align-items: center; gap: 11px; padding: 0 11px; border-radius: 10px; color: #475467; font-size: 12px; font-weight: 650; text-decoration: none; transition: background-color .2s var(--ease), color .24s var(--ease), transform .16s var(--ease); }
.admin-sidebar nav a:hover { background: var(--canvas); color: var(--navy); }
.admin-sidebar nav a:active { transform: scale(.98); }
.admin-sidebar nav a.is-active, .admin-sidebar nav a.is-active:hover { background: transparent; color: #fff; }
.admin-sidebar nav a .premium-icon { width: 17px; height: 17px; }
.side-count { margin-left: auto; min-width: 20px; height: 20px; display: grid; place-items: center; padding: 0 6px; border-radius: 999px; background: var(--gold); color: var(--navy); font-size: 10px; font-weight: 800; }
.admin-sidebar nav a.is-active .side-count { background: var(--gold-light); }
.admin-sidebar-foot { margin-top: 7px; padding: 9px 7px 2px; border-top: 1px solid var(--line); }
.admin-sidebar-foot a { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 11px; font-weight: 650; text-decoration: none; }
.admin-sidebar-foot a:hover { color: var(--navy); }
.admin-sidebar-foot .premium-icon { width: 15px; height: 15px; }

.admin-page-head { display: flex; align-items: end; justify-content: space-between; gap: 22px; }
.admin-page-head h1 { margin: 0; color: var(--navy); font-size: clamp(26px, 2.6vw, 38px); line-height: 1.05; letter-spacing: -.03em; }
.admin-page-head p:not(.eyebrow) { max-width: 600px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.admin-dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.card-link { display: inline-flex; align-items: center; gap: 6px; color: var(--gold-dark); font-size: 11px; font-weight: 700; text-decoration: none; }
.card-link .premium-icon { width: 14px; height: 14px; }

.property-cell { display: flex; align-items: center; gap: 10px; min-width: 0; }
.property-cell img { width: 54px; height: 44px; flex: 0 0 54px; border-radius: 8px; object-fit: cover; }
.property-cell em { display: grid; gap: 2px; min-width: 0; }
.property-cell strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.property-cell small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }

/* Property catalogue: one deliberate row, with actions anchored to the listing. */
.admin-property-table .data-row { min-width: 1010px; grid-template-columns: minmax(300px, 1.55fr) 92px 150px 100px 118px 152px; gap: 18px; min-height: 88px; padding: 14px 20px; }
.admin-property-table .data-head { min-height: 42px; padding-block: 0; }
.admin-property-table .property-catalogue-row { position: relative; transition: background-color .2s var(--ease), box-shadow .2s var(--ease); }
.admin-property-table .property-catalogue-row:hover { z-index: 1; background: #fbfcfd; box-shadow: inset 3px 0 0 var(--gold); }
.admin-property-table .property-identity { color: inherit; text-decoration: none; }
.admin-property-table .property-identity img { width: 72px; height: 56px; flex: 0 0 72px; border-radius: 10px; box-shadow: 0 5px 14px rgba(15,23,42,.11); transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease; }
.admin-property-table .property-identity:hover img { transform: scale(1.035); box-shadow: 0 8px 20px rgba(15,23,42,.16); }
.admin-property-table .property-identity em { gap: 6px; }
.admin-property-table .property-identity strong { color: var(--navy); font-size: 11.5px; font-weight: 780; }
.admin-property-table .property-identity small { display: flex; align-items: center; gap: 4px; font-size: 8.5px; }
.admin-property-table .property-identity small .premium-icon { width: 12px; height: 12px; flex: 0 0 12px; color: #9a7d10; }
.property-kind, .property-price, .property-status, .property-updated { min-width: 0; display: grid; align-content: center; gap: 3px; }
.property-kind strong { color: #475467; font-size: 9.5px; font-weight: 700; }
.property-price strong { color: var(--navy); font-size: 12px; font-weight: 800; letter-spacing: -.01em; }
.property-price > small:not(.mobile-column-label) { color: var(--muted); font-size: 8px; }
.property-updated time { color: #475467; font-size: 9px; font-weight: 650; white-space: nowrap; }
.mobile-column-label { display: none; color: #98a2b3; font-size: 7.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.property-row-actions { align-items: center; justify-content: flex-end; gap: 6px; }
.property-row-actions a, .property-row-actions button { width: 38px; height: 38px; border-radius: 10px; transition: border-color .18s var(--ease), background-color .18s var(--ease), color .18s var(--ease), transform .16s var(--ease), box-shadow .18s var(--ease); }
.property-row-actions a:hover, .property-row-actions button:hover { border-color: #aeb5c0; background: var(--canvas); box-shadow: 0 4px 10px rgba(15,23,42,.07); }
.property-row-actions a:active, .property-row-actions button:active { transform: scale(.95); }
.property-row-actions .property-edit-action { width: auto; min-width: 68px; display: flex; gap: 7px; padding: 0 12px; border-color: var(--navy); background: var(--navy); color: #fff; font-size: 9px; font-weight: 750; text-decoration: none; }
.property-row-actions .property-edit-action:hover { border-color: #1f2c43; background: #1f2c43; color: #fff; }

@media (max-width: 1100px) {
  .admin-shell { grid-template-columns: 1fr; padding: 18px 16px 50px; }
  .admin-sidebar { position: static; grid-auto-flow: column; justify-content: start; overflow-x: auto; padding: 10px; }
  .admin-sidebar-head, .admin-sidebar-foot { display: none; }
  .admin-sidebar nav { grid-auto-flow: column; grid-auto-columns: max-content; }
  .admin-dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .admin-property-table { overflow: visible; }
  .admin-property-table .data-head { display: none; }
  .admin-property-table .property-catalogue-row { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; min-height: 0; padding: 18px 16px; }
  .admin-property-table .property-identity { grid-column: 1 / -1; }
  .admin-property-table .property-kind, .admin-property-table .property-price, .admin-property-table .property-status, .admin-property-table .property-updated { padding-left: 2px; }
  .admin-property-table .mobile-column-label { display: block; }
  .admin-property-table .property-row-actions { grid-column: 1 / -1; justify-content: flex-start; padding-top: 2px; }
  .admin-property-table .property-row-actions .property-edit-action { order: -1; }
  .admin-page-head { flex-wrap: wrap; }
  .contacts-table, .admin-user-table { overflow: visible; }
  .contacts-table .data-head, .admin-user-table .data-head { display: none; }
  .contacts-table .data-row, .admin-user-table .data-row { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; min-height: 0; padding: 18px 16px; }
  .contacts-table .data-row > span:first-child, .contacts-table .message-cell, .admin-user-table .user-cell { grid-column: 1 / -1; }
  .contacts-table .data-row > span:nth-child(3), .admin-user-table .admin-role-control, .admin-user-table .admin-status-control { grid-column: 1 / -1; }
  .contacts-table .row-actions, .admin-user-table .row-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .admin-content { animation: none; transition: none; }
}

/* ===== Inquiry chat ===== */
.thread-card { padding: 22px 24px; }
.thread-meta { color: var(--muted); font-size: 11px; font-weight: 600; }
.chat-thread { display: grid; gap: 10px; max-height: 480px; overflow-y: auto; padding: 8px 2px 18px; }
.chat-bubble { max-width: 78%; display: grid; gap: 4px; padding: 11px 14px; border-radius: 14px; }
.chat-bubble p { margin: 0; font-size: 12px; line-height: 1.6; }
.chat-bubble small { color: var(--muted); font-size: 9px; }
.chat-bubble.is-mine { justify-self: end; background: var(--navy); color: #fff; }
.chat-bubble.is-mine small { color: #d8dee9; }
.chat-bubble.is-theirs { justify-self: start; background: var(--canvas); border: 1px solid var(--line); color: var(--ink); }
.chat-compose { display: grid; gap: 10px; padding-top: 16px; border-top: 1px solid var(--line); }
.chat-compose textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: 12px; font: inherit; font-size: 12px; resize: vertical; }
.chat-compose textarea:focus { outline: 0; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(15, 23, 42, .08); }
.chat-compose > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.chat-compose small { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 10px; }
.chat-compose small .premium-icon { width: 14px; height: 14px; color: var(--gold-dark); }
.form-alert-success { border: 1px solid #a7f3d0; background: #ecfdf3; color: #047857; }
.activity-link { width: 30px; height: 30px; display: grid; place-items: center; margin-left: auto; border-radius: 50%; background: var(--canvas); color: var(--muted); text-decoration: none; }
.activity-link:hover { background: var(--navy); color: #fff; }
.activity-link .premium-icon { width: 14px; height: 14px; }

/* ===== Professional selects ===== */
.app-form select, .data-row select, .inline-admin-form select, .sort-control select {
  appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E"), linear-gradient(#e5e7eb,#e5e7eb);
  background-repeat: no-repeat;
  background-position: right 11px center, right 35px center;
  background-size: 15px 15px, 1px 22px;
  box-shadow: 0 1px 2px rgba(15,23,42,.035), inset 0 1px 0 rgba(255,255,255,.9);
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease), background-color .2s var(--ease);
  cursor: pointer;
}
.app-form select { min-height: 44px; padding: 0 43px 0 13px; }
.app-form select:hover, .data-row select:hover, .inline-admin-form select:hover, .sort-control select:hover { border-color: #aab1bd; background-color: #fbfcfd; box-shadow: 0 3px 9px rgba(15,23,42,.07); }
.app-form select:focus, .data-row select:focus, .inline-admin-form select:focus, .sort-control select:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(15,23,42,.09), 0 3px 10px rgba(15,23,42,.07); outline: 0; }
.data-row select { min-height: 40px; padding: 0 42px 0 11px; border-radius: 10px; font-weight: 650; }
.data-row select:disabled { opacity: .55; cursor: not-allowed; background-color: var(--canvas); }

/* ===== Google OAuth button ===== */
.google-auth-button { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 0 16px; min-height: 46px; border: 1px solid var(--line-strong); border-radius: 11px; background: #fff; color: var(--navy); font: inherit; font-size: 12px; font-weight: 700; text-decoration: none; transition: border-color .18s, box-shadow .18s, background .18s; }
.google-auth-button:hover { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(15,23,42,.06); }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 16px 0; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--line); }
.system-hint { margin-top: -2px; font-size: 11px; line-height: 1.55; color: var(--muted); }
.system-hint code { display: inline-block; margin-top: 4px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--canvas); color: var(--navy); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10.5px; word-break: break-all; }

/* ===== Google address autocomplete (property form) ===== */
.address-autocomplete { display: grid; gap: 0; }
.address-autocomplete gmp-place-autocomplete { width: 100%; font: inherit; }
.address-autocomplete gmp-place-autocomplete::part(input) { min-height: 44px; }
.address-map-preview { position: relative; height: 240px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--canvas); }
.address-map-preview[hidden] { display: none; }
.address-map-preview iframe { width: 100%; height: 100%; border: 0; }
.address-map-note { position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; background: rgba(255,255,255,.95); color: var(--navy); font-size: 9px; font-weight: 750; box-shadow: 0 6px 16px rgba(15,23,42,.16); }
.address-map-note .premium-icon { width: 14px; height: 14px; color: #8a7013; }

/* ===== Listing map (Google embed) ===== */
.real-map-frame.is-google { background: #e8eaee; }
.real-map-frame.is-google iframe { filter: none; }
.location-coordinates { display: flex; align-items: center; gap: 7px; margin: 12px 0 0; color: var(--muted); font-size: 10px; font-weight: 600; }
.location-coordinates .premium-icon { width: 15px; height: 15px; color: #8a7013; }

/* ===== Info pages (about / contact / legal) ===== */
.info-page { width: min(1120px, 100%); margin: 0 auto; padding: 44px 28px 84px; }
.info-masthead { display: grid; gap: 0; padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.info-masthead h1 { max-width: 780px; margin: 0; color: var(--navy); font-size: clamp(34px, 5vw, 62px); font-weight: 800; letter-spacing: -.045em; line-height: .99; }
.info-masthead .info-lead { max-width: 640px; margin: 22px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.info-masthead .info-meta { display: flex; align-items: center; gap: 8px; margin: 26px 0 0; color: #98a2b3; font-size: 10.5px; font-weight: 600; }
.info-masthead .info-meta i { width: 14px; height: 14px; color: var(--gold-dark); }
.info-masthead .info-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.info-section { padding: 46px 0 44px; border-bottom: 1px solid var(--line); }
.info-section:last-of-type { border-bottom: 0; padding-bottom: 30px; }
.info-section-head { display: flex; align-items: baseline; gap: 18px; margin-bottom: 14px; }
.info-index { color: #b9a24a; font-size: 12px; font-weight: 800; letter-spacing: .06em; font-variant-numeric: tabular-nums; }
.info-section-head .eyebrow { margin: 0; }
.info-section h2 { margin: 0 0 16px; color: var(--navy); font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -.03em; line-height: 1.15; }
.info-section p.lead { max-width: 680px; margin: 0 0 16px; color: #596273; font-size: 13px; line-height: 1.8; }

/* Editorial story split with staggered imagery */
.info-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 44px; align-items: center; }
.info-figure { display: grid; gap: 14px; margin: 0; }
.info-figure img { width: 100%; height: 232px; object-fit: cover; border-radius: 16px; }
.info-figure img + img { width: 82%; height: 196px; justify-self: end; }

/* Ruled editorial rows (values, services) */
.editorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; }
.editorial-row { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding: 20px 0; border-top: 1px solid var(--line); }
.editorial-row:first-child { border-top: 0; }
.editorial-row > span:first-child { color: #b9a24a; font-size: 11px; font-weight: 800; font-variant-numeric: tabular-nums; padding-top: 3px; }
.editorial-row h3 { display: flex; align-items: center; gap: 9px; margin: 0 0 7px; color: var(--navy); font-size: 14px; letter-spacing: -.015em; }
.editorial-row h3 .premium-icon { width: 17px; height: 17px; color: #8a7013; }
.editorial-row p { margin: 0; color: var(--muted); font-size: 11.5px; line-height: 1.7; }

/* Team */
.team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.team-card { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.team-card img { width: 100%; height: 224px; object-fit: cover; filter: saturate(.92); }
.team-card > div { display: grid; gap: 4px; padding: 17px 19px 19px; }
.team-card strong { color: var(--navy); font-size: 13.5px; }
.team-card small { color: #8a7013; font-size: 9.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.team-card p { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; }

/* Pull quote testimonial */
.pull-quote { max-width: 820px; margin: 0; }
.pull-quote > i { width: 30px; height: 30px; color: var(--gold); }
.pull-quote blockquote { margin: 18px 0 22px; color: var(--navy); font-size: clamp(18px, 2.2vw, 26px); font-weight: 600; letter-spacing: -.02em; line-height: 1.42; }
.pull-quote figcaption { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 11px; font-weight: 600; }
.pull-quote figcaption img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.pull-quote figcaption span { display: grid; }
.pull-quote figcaption strong { color: var(--navy); font-size: 12px; }
.pull-quote figcaption small { color: var(--muted); font-size: 10px; }

/* Navy closing band */
.info-cta { margin-top: 46px; padding: 40px 44px; border-radius: 20px; background: var(--navy); color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.info-cta .eyebrow { color: var(--gold-light); }
.info-cta h2 { margin: 0 0 9px; color: #fff; font-size: clamp(22px, 2.6vw, 32px); letter-spacing: -.035em; }
.info-cta p { margin: 0; max-width: 460px; color: #aeb7c8; font-size: 12px; line-height: 1.65; }
.info-cta .ui-button-primary { border-color: var(--gold); background: var(--gold); color: var(--navy); box-shadow: none; }
.info-cta .ui-button-primary:hover { background: var(--gold-light); }
.info-cta .ui-button-secondary { border-color: rgba(255,255,255,.94); background: rgba(255,255,255,.94); color: var(--navy); }

/* Contact page */
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .8fr); gap: 44px; align-items: start; padding-top: 46px; }
.contact-form-card { padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .03); }
.contact-form-card h2 { margin: 0 0 20px; color: var(--navy); font-size: 20px; letter-spacing: -.03em; }
.contact-form-card .ui-button { margin-top: 4px; }
.contact-form-note { display: flex; align-items: center; gap: 7px; margin: 15px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.contact-form-note .premium-icon { width: 14px; height: 14px; flex: 0 0 auto; }
.contact-form-note a { color: #765f0b; font-weight: 700; text-decoration: none; }
.contact-form-note a:hover { text-decoration: underline; }
.contact-aside { display: grid; }
.contact-aside-row { display: grid; gap: 8px; padding: 22px 0; border-top: 1px solid var(--line); }
.contact-aside-row:first-child { border-top: 0; padding-top: 4px; }
.contact-aside-row .eyebrow { margin: 0; }
.contact-aside-row > a { color: var(--navy); font-size: 13.5px; font-weight: 700; text-decoration: none; }
.contact-aside-row > a:hover { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; }
.contact-aside-row p { margin: 0; color: var(--muted); font-size: 11.5px; line-height: 1.7; }
.contact-aside-row .card-link { justify-self: start; margin-top: 4px; }
.contact-faq { display: grid; grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr); gap: 72px; margin-top: 72px; padding: 58px 0 24px; border-top: 1px solid var(--line); }
.contact-faq-intro h2 { max-width: 360px; margin: 0; color: var(--navy); font-size: clamp(26px, 3vw, 38px); line-height: 1.08; letter-spacing: -.04em; }
.contact-faq-intro p { max-width: 370px; margin: 16px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.faq-list { border-top: 1px solid var(--line-strong); }
.faq-item { border-bottom: 1px solid var(--line-strong); }
.faq-item h3 { margin: 0; }
.faq-item button { width: 100%; min-height: 70px; display: grid; grid-template-columns: minmax(0, 1fr) 24px; align-items: center; gap: 22px; padding: 18px 2px; border: 0; background: transparent; color: var(--navy); font: inherit; font-size: 14px; font-weight: 750; line-height: 1.35; text-align: left; cursor: pointer; }
.faq-item button:hover { color: #765f0b; }
.faq-item button .premium-icon { width: 20px; height: 20px; justify-self: end; color: #8a7013; transition: transform .32s var(--ease), color .2s; }
.faq-item.is-open button .premium-icon { color: var(--navy); transform: rotate(45deg); }
.faq-panel { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .38s var(--ease), opacity .24s ease; }
.faq-panel > div { overflow: hidden; }
.faq-panel p { max-width: 650px; margin: 0; padding: 0 50px 22px 2px; color: var(--muted); font-size: 12px; line-height: 1.75; }
.faq-item.is-open .faq-panel { grid-template-rows: 1fr; opacity: 1; }

/* Legal prose */
.legal-prose { padding: 40px 0 8px; max-width: 780px; }
.legal-prose h2 { display: flex; align-items: baseline; gap: 14px; margin: 34px 0 12px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--navy); font-size: 16.5px; letter-spacing: -.015em; }
.legal-prose h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.legal-prose h2 .info-index { flex: 0 0 auto; }
.legal-prose p, .legal-prose li { color: #3f4656; font-size: 12.5px; line-height: 1.85; }
.legal-prose ul { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
.legal-prose a { color: #765f0b; font-weight: 700; text-decoration: none; }
.legal-prose a:hover { text-decoration: underline; }

/* Notifications page */
.notifications-list-card { padding: 6px 10px; }
.notifications-row { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 15px; min-height: 74px; padding: 12px 14px; border-radius: 12px; color: #475467; text-decoration: none; transition: background .16s; }
.notifications-row:hover { background: var(--canvas); }
.notifications-row-icon { width: 24px; height: 24px; display: grid; place-items: center; color: #765f0b; }
.notifications-row-icon .premium-icon { width: 22px; height: 22px; stroke-width: 1.65; }
.notifications-row-body { min-width: 0; display: grid; gap: 4px; }
.notifications-row-body strong { color: var(--navy); font-size: 12.5px; }
.notifications-row-body small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.notifications-row-meta { display: flex; align-items: center; gap: 10px; }
.notifications-row-meta time { color: #98a2b3; font-size: 9.5px; font-weight: 650; white-space: nowrap; }
.unread-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }

@media (max-width: 1000px) {
  .contact-layout { grid-template-columns: 1fr; gap: 30px; }
  .contact-faq { grid-template-columns: 1fr; gap: 34px; margin-top: 56px; padding-top: 46px; }
  .contact-faq-intro h2, .contact-faq-intro p { max-width: 620px; }
  .info-split { grid-template-columns: 1fr; gap: 28px; }
  .editorial-grid { grid-template-columns: 1fr; }
  .editorial-row:first-child { border-top: 1px solid var(--line); }
}
@media (max-width: 820px) {
  .info-page { padding: 28px 15px 64px; }
  .info-masthead h1 { font-size: clamp(30px, 8.4vw, 40px); }
  .info-section { padding: 34px 0 32px; }
  .info-cta { padding: 30px 24px; }
  .contact-form-card { padding: 22px; }
  .contact-faq { margin-top: 44px; padding-top: 38px; }
  .faq-item button { min-height: 64px; gap: 14px; font-size: 13px; }
  .faq-panel p { padding-right: 34px; }
  .notifications-row { grid-template-columns: 24px minmax(0, 1fr); }
  .notifications-row-meta { grid-column: 2; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  .faq-item button .premium-icon, .faq-panel { transition: none; }
}
@media (max-width: 560px) {
  .info-masthead .info-hero-actions .ui-button { width: 100%; }
  .editorial-grid { gap: 0; }
}
