:root {
  --hp-navy-950: #041326;
  --hp-navy-900: #06172c;
  --hp-navy-800: #102238;
  --hp-navy-700: #203a55;
  --hp-gold: #d3a343;
  --hp-gold-soft: #f2dfb7;
  --hp-cream: #f7f5ef;
  --hp-paper: #fffdf8;
  --hp-white: #fff;
  --hp-ink: #102238;
  --hp-muted: #657588;
  --hp-line: #dedbd2;
  --hp-success: #176b52;
  --hp-danger: #a63f3f;
  --hp-shadow: 0 16px 50px rgba(6, 23, 44, .1);
  --hp-radius: 14px;
  --hp-shell: 1200px;
}

body.hp-app {
  margin: 0;
  background: var(--hp-cream) !important;
  color: var(--hp-ink);
  font-family: "DM Sans", sans-serif !important;
  font-size: 15px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

.hp-app *, .hp-app *::before, .hp-app *::after { box-sizing: border-box; }
.hp-app [hidden] { display: none !important; }
.hp-app a { color: inherit; text-decoration: none; }
.hp-app button, .hp-app input, .hp-app select { font: inherit; }
.hp-app button { cursor: pointer; }
.hp-app img { display: block; max-width: 100%; }
.hp-no-scroll { overflow: hidden; }
.hp-shell { width: min(100% - 32px, var(--hp-shell)); margin-inline: auto; }
.hp-main { min-height: 65vh; }
.hp-skip-link { position: fixed; left: 16px; top: -60px; z-index: 10000; background: var(--hp-white); padding: 10px 14px; border-radius: 6px; }
.hp-skip-link:focus { top: 12px; }

.hp-header { position: sticky; top: 0; z-index: 800; background: rgba(6,23,44,.96); color: var(--hp-white); border-bottom: 1px solid rgba(255,255,255,.06); backdrop-filter: blur(15px); box-shadow: 0 8px 28px rgba(0,0,0,.12); }
.admin-bar .hp-header { top: 32px; }
.hp-header__inner { min-height: 86px; position: relative; display: flex; align-items: center; gap: 24px; }
.hp-brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; color: var(--hp-white) !important; font-family: "Manrope", sans-serif; white-space: nowrap; }
.hp-brand__mark { width: 43px; height: 43px; display: grid; place-items: center; position: relative; border: 1px solid rgba(211,163,67,.65); border-radius: 2px 12px 2px 2px; background: linear-gradient(135deg,rgba(211,163,67,.17),rgba(211,163,67,.03)); transform: rotate(45deg); }
.hp-brand__mark > span { color: #efd38b; font-size: 10px; font-weight: 800; letter-spacing: -.05em; transform: rotate(-45deg); }
.hp-brand__copy { display: flex; align-items: baseline; line-height: 1; }
.hp-brand__copy strong { color: #fff; font-size: 20px; font-weight: 800; letter-spacing: -.03em; }
.hp-brand__copy strong span, .hp-brand__copy small { color: var(--hp-gold); }
.hp-brand__copy small { font-size: 13px; font-weight: 700; }
.hp-nav { position: absolute; left: 50%; display: flex; align-items: center; gap: 24px; color: #d9e2ec; font: 600 12px/1 "Manrope",sans-serif; transform: translateX(-50%); }
.hp-nav > a { position: relative; padding: 35px 0; color: #d9e2ec; white-space: nowrap; }
.hp-nav > a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 24px; height: 2px; background: var(--hp-gold); transition: right .25s; }
.hp-nav > a:hover, .hp-nav > a.is-active { color: #fff; }
.hp-nav > a:hover::after, .hp-nav > a.is-active::after { right: 0; }
.hp-shortlist-trigger { min-height: 40px; display: inline-flex; align-items: center; gap: 5px; padding: 0 10px; border: 1px solid rgba(211,163,67,.48); border-radius: 999px; background: rgba(211,163,67,.12); color: #fff; font-size: 10px; font-weight: 800; }
.hp-shortlist-trigger b { font-size: 10px; }
.hp-shortlist-trigger span { color: var(--hp-gold); font-size: 16px; }
.hp-shortlist-trigger em { min-width: 18px; height: 18px; display: grid; place-items: center; padding: 0 4px; border-radius: 99px; background: var(--hp-gold); color: var(--hp-navy-950); font-size: 9px; font-style: normal; }
.hp-header-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.hp-header-contact { height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; border-radius: 7px; color: #fff !important; font: 700 11px/1 "Manrope",sans-serif; box-shadow: 0 10px 24px rgba(0,0,0,.15); transition: transform .2s ease,filter .2s ease; }
.hp-header-contact:hover { color: #fff; transform: translateY(-2px); filter: brightness(1.06); }
.hp-header-contact svg { width: 19px; height: 19px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; }
.hp-header-call { background: linear-gradient(135deg,#cf8f16,#dfa82e); }
.hp-header-call span { display: grid; line-height: 1.05; }
.hp-header-call small { font-size: 7px; text-transform: uppercase; letter-spacing: .08em; opacity: .78; }
.hp-header-call strong { font-size: 11px; }
.hp-header-whatsapp { background: #168f45; }
.hp-header-whatsapp svg { fill: currentColor; stroke: none; }
.hp-agent-login-button { min-height: 40px; display: inline-flex; align-items: center; gap: 7px; padding: 0 13px; border: 1px solid rgba(211,163,67,.55); border-radius: 999px; background: rgba(211,163,67,.1); color: #fff !important; font-size: 10px; font-weight: 800; white-space: nowrap; }
.hp-agent-login-button span { color: var(--hp-gold); font-size: 15px; }
.hp-agent-login-button:hover { background: var(--hp-gold); color: var(--hp-navy-950) !important; }
.hp-agent-tabs { border-top: 1px solid rgba(255,255,255,.08); background: #031020; }
.hp-agent-tabs .hp-shell { display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: thin; }
.hp-agent-tabs a, .hp-agent-tabs span { min-height: 43px; display: inline-flex; align-items: center; flex: 0 0 auto; gap: 5px; padding: 0 15px; border-bottom: 3px solid transparent; color: #bcc8d5; font-size: 11px; font-weight: 750; white-space: nowrap; }
.hp-agent-tabs a:hover, .hp-agent-tabs a.is-active { border-bottom-color: var(--hp-gold); background: rgba(255,255,255,.05); color: #fff; }
.hp-agent-tabs span { color: rgba(255,255,255,.42); }
.hp-agent-tabs small { color: var(--hp-gold); font-size: 7px; text-transform: uppercase; }
.hp-agent-tabs .hp-agent-tabs__logout { margin-left: auto; color: #e2c8c1; }
.hp-menu-toggle { display: none; align-items: center; gap: 10px; margin-left: auto; padding: 8px; border: 0; background: transparent; color: #fff; font: 800 9px "Manrope",sans-serif; letter-spacing: .1em; }
.hp-menu-toggle i { width: 22px; display: grid; gap: 5px; }
.hp-menu-toggle i b { height: 2px; display: block; background: #fff; transition: .2s ease; }
.hp-menu-toggle.is-open i b:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hp-menu-toggle.is-open i b:nth-child(2) { opacity: 0; }
.hp-menu-toggle.is-open i b:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.hp-referral-bar { padding: 7px 0; background: var(--hp-gold); color: var(--hp-navy-950); font-size: 12px; text-align: center; }
.hp-preview-bar { padding: 8px 0; background: #ead9ad; color: var(--hp-navy-950); font-size: 11px; }
.hp-preview-bar .hp-shell { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hp-preview-bar__note { display: flex; align-items: center; gap: 12px; }
.hp-catalog-mode-bar { padding: 7px 0; border-bottom: 1px solid #dfd5b8; background: #f3e7c4; }
.hp-catalog-mode-bar .hp-shell { display: flex; justify-content: flex-end; }
.hp-preview-bar b { padding: 3px 8px; border-radius: 999px; background: rgba(6,23,44,.1); font-size: 10px; text-transform: uppercase; }
.hp-view-switcher { display: inline-flex; flex: 0 0 auto; gap: 3px; padding: 3px; border-radius: 999px; background: rgba(6,23,44,.1); }
.hp-view-switcher a { min-height: 28px; display: inline-flex; align-items: center; padding: 0 11px; border-radius: 999px; color: rgba(4,19,38,.68); font-size: 10px; font-weight: 800; }
.hp-view-switcher a.is-active { background: var(--hp-navy-950); color: #fff; box-shadow: 0 3px 10px rgba(4,19,38,.16); }
.hp-admin-view .hp-view-switcher a.is-active { background: #7c351f; }

.hp-eyebrow { display: block; margin-bottom: 6px; color: var(--hp-gold); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hp-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 17px; border: 1px solid transparent; border-radius: 7px; font-size: 13px; font-weight: 800; transition: .18s ease; }
.hp-button:hover { transform: translateY(-1px); }
.hp-button--gold { background: var(--hp-gold); color: var(--hp-navy-950) !important; box-shadow: 0 8px 22px rgba(211,163,67,.22); }
.hp-button--outline { border-color: var(--hp-line); background: var(--hp-white); color: var(--hp-ink) !important; }
.hp-button--wide { width: 100%; }
.hp-icon-button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--hp-line); border-radius: 50%; background: var(--hp-white); color: var(--hp-ink); font-size: 26px; }

.hp-archive-hero { padding: 22px 0; color: var(--hp-white); background: radial-gradient(circle at 80% 20%, rgba(211,163,67,.18), transparent 30%), linear-gradient(135deg, var(--hp-navy-950), var(--hp-navy-700)); }
.hp-archive-hero h1 { max-width: 760px; margin: 0; color: var(--hp-white); font: 700 clamp(42px, 6vw, 68px)/.98 "Cormorant Garamond", Georgia, serif; letter-spacing: -.035em; }
.hp-archive-hero p { max-width: 600px; margin: 18px 0 0; color: rgba(255,255,255,.7); }
.hp-archive-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 34px; align-items: start; padding-block: 38px 70px; }
.hp-filter { position: sticky; top: 92px; display: grid; gap: 17px; padding: 22px; border: 1px solid var(--hp-line); border-radius: var(--hp-radius); background: var(--hp-paper); box-shadow: 0 10px 35px rgba(6,23,44,.05); }
.hp-filter__head { display: flex; justify-content: space-between; align-items: center; font-size: 17px; }
.hp-filter__close { display: none; background: none; border: 0; color: var(--hp-ink); font-size: 28px; }
.hp-filter label { display: grid; gap: 6px; }
.hp-filter label > span { color: var(--hp-muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hp-filter input, .hp-filter select { width: 100%; min-height: 45px; padding: 0 11px; border: 1px solid var(--hp-line); border-radius: 7px; background: var(--hp-white); color: var(--hp-ink); }
.hp-filter input:focus, .hp-filter select:focus { outline: 2px solid rgba(211,163,67,.5); outline-offset: 1px; border-color: var(--hp-gold); }
.hp-filter__row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.hp-filter__reset { padding: 0; border: 0; background: transparent; text-align: center; color: var(--hp-muted) !important; font: inherit; font-size: 12px; text-decoration: underline !important; cursor: pointer; }
.hp-filter--hero { position: relative; top: auto; display: block; padding: 16px; color: var(--hp-ink); }
.hp-filter--hero .hp-filter__head { margin-bottom: 12px; }
.hp-filter--hero .hp-filter__head > div { display: flex; align-items: baseline; gap: 10px; }
.hp-filter--hero .hp-filter__head .hp-eyebrow { margin: 0; }
.hp-filter__primary { display: grid; grid-template-columns: minmax(230px,1.7fr) repeat(4,minmax(125px,1fr)) auto; gap: 10px; align-items: end; }
.hp-filter__secondary { display: grid; grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); gap: 10px; align-items: end; margin-top: 10px; padding-top: 10px; border-top: 1px solid #ece8df; }
.hp-filter__secondary .hp-filter__reset { align-self: center; padding: 10px 6px; }
.hp-filter__advanced { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; align-items: end; margin-top: 10px; padding-top: 10px; border-top: 1px solid #ece8df; }
.hp-hide-sold { min-height: 45px; display: flex !important; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--hp-line); border-radius: 7px; background: #fff; }
.hp-hide-sold input { width: 17px; min-height: 17px; accent-color: var(--hp-gold); }
.hp-filter .hp-hide-sold > span { color: var(--hp-ink); font-size: 11px; letter-spacing: 0; text-transform: none; }
.hp-multiselect { position: relative; align-self: end; }
.hp-multiselect summary { min-height: 45px; display: grid; align-content: center; gap: 1px; padding: 6px 34px 6px 11px; border: 1px solid var(--hp-line); border-radius: 7px; background: var(--hp-white); list-style: none; cursor: pointer; }
.hp-multiselect summary::-webkit-details-marker { display: none; }
.hp-multiselect summary::after { content: ""; position: absolute; right: 15px; top: 50%; width: 7px; height: 7px; border-right: 2px solid #657586; border-bottom: 2px solid #657586; transform: translateY(-65%) rotate(45deg); transition: transform .18s ease, border-color .18s ease; }
.hp-multiselect[open] summary::after { border-color: #9b6d16; transform: translateY(-20%) rotate(225deg); }
.hp-multiselect summary > span { color: var(--hp-muted); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hp-multiselect summary strong { overflow: hidden; color: var(--hp-ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.hp-multiselect > div { position: absolute; z-index: 40; top: calc(100% + 6px); left: 0; width: max(100%,210px); max-height: 260px; overflow-y: auto; padding: 7px; border: 1px solid var(--hp-line); border-radius: 9px; background: #fff; box-shadow: 0 16px 36px rgba(4,19,38,.17); }
.hp-multiselect > div label { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 8px; padding: 8px; border-radius: 6px; font-size: 11px; cursor: pointer; }
.hp-multiselect > div label:hover { background: var(--hp-cream); }
.hp-filter .hp-multiselect > div label > span { color: var(--hp-ink); font-size: 11px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.hp-multiselect input { width: 16px; min-height: 16px; height: 16px; margin: 0; accent-color: var(--hp-gold); }

/* Branded property search */
.hp-archive-hero { padding: 34px 0 30px; background: radial-gradient(circle at 92% 0,rgba(211,163,67,.2),transparent 34%),linear-gradient(145deg,#06172c 0%,#0b2949 100%); }
.hp-filter--hero { padding: 28px; border: 1px solid rgba(211,163,67,.28); border-radius: 18px; background: rgba(255,253,248,.985); box-shadow: 0 24px 65px rgba(1,12,25,.25); }
.hp-filter--hero .hp-filter__head { margin-bottom: 20px; }
.hp-filter--hero .hp-filter__head > div { display: block; }
.hp-filter__head strong { display: block; color: var(--hp-navy-950); font: 800 28px/1.05 "Manrope",sans-serif; letter-spacing: -.035em; }
.hp-filter__head p { margin: 6px 0 0; color: #6d7985; font-size: 12px; }
.hp-filter__query-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; align-items: end; margin-bottom: 18px; }
.hp-filter__query-row > * { width: 100%; min-width: 0; box-sizing: border-box; }
.hp-filter__query-row .hp-filter__keyword { display: grid; gap: 7px; }
.hp-filter__query-row .hp-filter__keyword input { box-sizing: border-box !important; width: 100% !important; min-height: 58px; margin: 0 !important; padding: 0 18px; border-color: #cdd5dd; border-radius: 10px; background: #fff; font: 600 14px/1 "DM Sans",sans-serif; box-shadow: inset 0 1px 2px rgba(4,19,38,.025); }
.hp-filter__query-row .hp-filter__keyword input::placeholder { color: #687583; opacity: .58; }
.hp-filter__submit { position: static; min-height: 58px; border-radius: 10px; font-size: 12px; letter-spacing: .01em; }
.hp-filter__query-row .hp-filter__submit { inset: auto !important; margin: 0 !important; transform: none !important; }
.hp-filter__submit b { font-size: 18px; }
.hp-filter__primary { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 10px; align-items: end; }
.hp-filter__primary > .hp-multiselect { grid-column: span 3; }
.hp-filter__primary > .hp-price-field:nth-last-child(2) { grid-column: 4 / 7; }
.hp-filter__primary > .hp-price-field:last-child { grid-column: 7 / 10; }
.hp-filter__primary > * { min-width: 0; }
.hp-filter__primary .hp-multiselect summary { min-height: 56px; }
.hp-filter label > span, .hp-multiselect summary > span { color: #687583; font: 800 9px/1.2 "Manrope",sans-serif; letter-spacing: .085em; text-transform: uppercase; }
.hp-multiselect summary { padding: 8px 36px 8px 13px; border-color: #d5dce2; border-radius: 9px; }
.hp-multiselect summary::after { top: 50%; }
.hp-multiselect summary strong { margin-top: 3px; color: #0b2039; font: 750 11px/1.2 "Manrope",sans-serif; }
.hp-multiselect[open] summary { border-color: var(--hp-gold); box-shadow: 0 0 0 3px rgba(211,163,67,.13); }
.hp-multiselect > div { top: calc(100% + 8px); width: max(100%,260px); max-height: 330px; padding: 8px; border-radius: 12px; box-shadow: 0 20px 52px rgba(4,19,38,.2); }
.hp-multiselect > div label { min-height: 40px; padding: 8px 10px; }
.hp-taxonomy-choice[hidden], [data-hp-search-choice][hidden], [data-hp-location-heading][hidden], .hp-search-empty[hidden] { display: none !important; }
.hp-filter .hp-taxonomy-choice > span { display: grid; gap: 2px; text-transform: none; }
.hp-filter .hp-taxonomy-choice > span b { color: #10243d; font-size: 11px; font-weight: 750; }
.hp-filter .hp-taxonomy-choice > span small { color: #8a96a3; font-size: 9px; font-weight: 600; }
.hp-taxonomy-choice.depth-1, .hp-taxonomy-choice.depth-2, .hp-taxonomy-choice.depth-3 { margin-left: 12px; border-left: 2px solid #ead9aa; border-radius: 0 7px 7px 0 !important; background: #fffdf8; }
.hp-taxonomy-choice.depth-2 { margin-left: 20px; }
.hp-taxonomy-choice.depth-3 { margin-left: 28px; }
.hp-location-group { margin-top: 5px; background: #f5f7f7 !important; }
.hp-location-group > span b { font-weight: 850 !important; }
.hp-dropdown-search { position: sticky; z-index: 2; top: -8px; display: block !important; min-height: auto !important; padding: 8px 4px 10px !important; background: #fff; }
.hp-filter details.hp-multiselect > div > label.hp-dropdown-search > input[type="search"] { box-sizing: border-box !important; display: block !important; width: 100% !important; min-width: 0 !important; max-width: none !important; min-height: 42px; height: 42px !important; margin: 0 !important; padding: 0 12px 0 34px !important; border: 1px solid #d5dce2 !important; border-radius: 8px !important; background: #f8f9f9 !important; color: #10243d; font: 650 11px "Manrope",sans-serif; appearance: none; }
.hp-dropdown-search::before { content: "\2315"; position: absolute; top: 20px; left: 16px; color: #788592; font-size: 16px; transform: rotate(-18deg); }
.hp-filter .hp-dropdown-search input::placeholder { color: #687583; opacity: .58; }
.hp-dropdown-actions { position: sticky; z-index: 8; top: -8px; display: flex; align-items: center; justify-content: flex-end; gap: 7px; margin: -8px -8px 7px; padding: 9px 10px 8px; border-bottom: 1px solid #e3e8ec; border-radius: 12px 12px 0 0; background: rgba(255,255,255,.98); box-shadow: 0 5px 12px rgba(16,36,61,.07); backdrop-filter: blur(8px); }
.hp-dropdown-actions button { min-height: 32px; margin: 0; border-radius: 8px; font: 800 10px "Manrope",sans-serif; cursor: pointer; }
.hp-dropdown-select-all { padding: 0 11px; border: 1px solid #d5dce2; background: #fff; color: #405269; }
.hp-dropdown-done { width: 34px; border: 1px solid #bd8b27; background: var(--hp-gold); color: #10243d; font-size: 15px !important; box-shadow: 0 5px 12px rgba(181,130,31,.2); }
.hp-location-state-heading { margin: 9px 3px 5px; padding: 8px 10px; border-radius: 7px; background: #10243d; color: #fff; font: 850 10px/1.2 "Manrope",sans-serif; letter-spacing: .14em; text-align: center; text-transform: uppercase; }
[data-hp-no-listings] { opacity: .4; cursor: not-allowed !important; }
[data-hp-no-listings] input, [data-hp-no-listings] span { cursor: not-allowed !important; }
[data-hp-no-listings] small { color: #7f8993 !important; font-style: italic; }
.hp-location-unmapped-heading { margin: 12px 5px 5px; padding: 8px 10px; border-top: 1px solid #e3e8ec; color: #687583; font: 800 9px/1.2 "Manrope",sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.hp-location-empty { margin: 0; padding: 18px 12px; color: #788592; font-size: 11px; line-height: 1.5; text-align: center; }
.hp-location-empty[hidden] { display: none; }
.hp-search-empty { margin: 0; padding: 18px 12px; color: #788592; font-size: 11px; line-height: 1.5; text-align: center; }
.hp-location-select.is-disabled summary, .hp-district-select.is-disabled summary { background: #f7f8f8; color: #8b949c; }
.hp-price-field { gap: 7px; }
.hp-price-field > div { min-height: 56px; display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; overflow: hidden; border: 1px solid #d5dce2; border-radius: 9px; background: #fff; }
.hp-price-field > div:focus-within { border-color: var(--hp-gold); box-shadow: 0 0 0 3px rgba(211,163,67,.13); }
.hp-price-field i { padding-left: 12px; color: #8a641c; font: 800 10px "Manrope",sans-serif; text-align: left; font-style: normal; }
.hp-price-field input { width: 100% !important; min-width: 0; min-height: 54px; padding: 0 12px 0 4px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: #0b2039; font: 750 11px/1.2 "Manrope",sans-serif; }
.hp-price-field input::placeholder { color: #7b8793; opacity: .48; }
body.hp-app input::placeholder,
body.hp-app textarea::placeholder {
	color: #6f7b87 !important;
	opacity: .42 !important;
	font-weight: 400 !important;
}
.hp-price-field input:focus { outline: 0; }
.hp-advanced-filter { margin-top: 16px; border: 1px solid #dbe1e5; border-radius: 12px; background: #f7f8f7; }
.hp-advanced-filter > summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 16px; list-style: none; cursor: pointer; }
.hp-advanced-filter > summary::-webkit-details-marker { display: none; }
.hp-advanced-filter > summary span { display: grid; gap: 3px; }
.hp-advanced-filter > summary b { color: #13283f; font: 800 12px "Manrope",sans-serif; }
.hp-advanced-filter > summary small { color: #7c8994; font-size: 10px; }
.hp-advanced-filter > summary em { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: transparent; font-size: 0; font-style: normal; transition: transform .2s ease; }
.hp-advanced-filter > summary em::before { content: ""; width: 7px; height: 7px; border-right: 2px solid #8d671d; border-bottom: 2px solid #8d671d; transform: translateY(-2px) rotate(45deg); }
.hp-advanced-filter[open] > summary em { transform: rotate(180deg); }
.hp-filter__advanced-body { padding: 0 16px 16px; border-top: 1px solid #e2e6e8; }
.hp-filter__secondary { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 14px; padding-top: 0; border-top: 0; }
.hp-filter__secondary > .hp-multiselect { min-width: 0; }
.hp-filter__advanced { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 10px; padding-top: 10px; }
.hp-filter__advanced .hp-filter__row { display: contents; }
.hp-filter__bottom-row { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; align-items: end; }
.hp-filter__bottom-row > .hp-multiselect, .hp-filter__bottom-row > .hp-hide-sold { min-width: 0; min-height: 56px; }
.hp-hide-sold { min-height: 56px; display: flex; align-items: center; gap: 9px; padding: 7px 12px; border: 1px solid #d5dce2; border-radius: 9px; background: #fff; }
.hp-filter .hp-hide-sold > span { display: grid; gap: 2px; text-transform: none; }
.hp-filter .hp-hide-sold > span b { color: #13283f; font-size: 10px; }
.hp-filter .hp-hide-sold > span small { color: #8a96a3; font-size: 8px; font-weight: 600; }
.hp-filter__footer { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #e6e1d7; }
.hp-filter__footer .hp-filter__reset { margin-right: auto; color: #72551b !important; font-weight: 800; text-decoration: none !important; }
.hp-filter__footer .hp-filter__reset::before { content: "× "; font-size: 15px; }
.hp-filter__footer .hp-filter__reset.is-loading { opacity: .55; cursor: wait; }
.hp-results[aria-busy="true"] { opacity: .45; pointer-events: none; transition: opacity .15s ease; }
.hp-archive-layout--wide { display: block; }
.hp-agent-login-link { display: inline-block; margin-top: 4px; color: #7b5818 !important; font-size: 10px; font-weight: 700; text-decoration: underline !important; }
.hp-admin-feedback { grid-column: 1 / -1; min-height: 16px; color: var(--hp-muted); font-size: 10px; font-weight: 700; }
.hp-admin-feedback.is-success { color: #157347; }
.hp-admin-feedback.is-error { color: #b42318; }
.hp-admin-price-control.is-saving,.hp-admin-status-control.is-saving { opacity: .72; }
.hp-results { min-width: 0; }
.hp-results__bar { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.hp-results__bar .hp-eyebrow { margin: 0; }
.hp-results__bar strong { display: block; font-size: 20px; }
.hp-filter-trigger { display: none; }
.hp-property-grid { width: 100% !important; min-width: 0; display: grid !important; grid-template-columns: repeat(3, minmax(280px,1fr)) !important; gap: 20px; }

.hp-property-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--hp-line); border-radius: var(--hp-radius); background: var(--hp-paper); box-shadow: 0 8px 24px rgba(6,23,44,.045); transition: transform .2s ease, box-shadow .2s ease; }
.hp-property-card:hover { transform: translateY(-3px); box-shadow: var(--hp-shadow); }
.hp-property-card__media { position: relative; aspect-ratio: 4 / 3; display: block; overflow: hidden; background: #dfe4e8; }
.hp-property-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.hp-property-card:hover .hp-property-card__media img { transform: scale(1.025); }
.hp-property-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--hp-muted); background: linear-gradient(145deg,#eef0ed,#dce2e4); font: 700 22px "Cormorant Garamond",serif; }
.hp-status { display: inline-flex; align-items: center; min-height: 25px; padding: 0 9px; border-radius: 99px; background: var(--hp-success); color: var(--hp-white); font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hp-property-card__media .hp-status { position: absolute; top: 12px; left: 12px; box-shadow: 0 3px 12px rgba(0,0,0,.16); }
.hp-status--sold { background: var(--hp-danger); }
.hp-favourite { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid var(--hp-line); border-radius: 50%; background: rgba(255,255,255,.94); color: var(--hp-navy-800); font-size: 22px; line-height: 1; transition: .18s ease; }
.hp-property-card > .hp-favourite { position: absolute; z-index: 2; top: 10px; right: 10px; }
.hp-card-share { position: absolute; z-index: 3; top: 56px; right: 10px; min-height: 36px; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; border: 1px solid rgba(255,255,255,.72); border-radius: 999px; background: rgba(6,23,44,.84); color: #fff; box-shadow: 0 6px 18px rgba(4,19,38,.2); backdrop-filter: blur(9px); font-size: 10px; font-weight: 800; }
.hp-card-share svg, .hp-round-action svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hp-agent-view .hp-card-share { background: var(--hp-gold); color: var(--hp-navy-950); border-color: rgba(255,255,255,.35); }
.hp-favourite.is-active { color: var(--hp-danger); background: #fff5f5; border-color: #e8caca; }
.hp-property-card__body { padding: 17px; }
.hp-property-card__topline { display: flex; justify-content: space-between; gap: 12px; color: var(--hp-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hp-property-card h2 { margin: 8px 0 7px; color: var(--hp-ink); font: 700 23px/1.05 "Cormorant Garamond", Georgia, serif; }
.hp-property-card h2 a:hover { color: #8a641c; }
.hp-location { margin: 0; color: var(--hp-muted); font-size: 12px; }
.hp-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 9px; margin-top: 13px; color: var(--hp-ink); font-size: 18px; font-weight: 800; }
.hp-price del { color: #7b8794; font-size: 11px; font-weight: 600; }
.hp-price small, .hp-detail-price small { padding: 4px 7px; border-radius: 999px; background: #eaf7ef; color: #137340; font-size: 8px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.hp-facts { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--hp-line); color: var(--hp-muted); font-size: 11px; }
.hp-facts b { color: var(--hp-ink); }
.hp-points { display: flex; flex-wrap: wrap; gap: 5px; margin: 12px 0 0; padding: 0; list-style: none; }
.hp-points li { padding: 3px 7px; border-radius: 4px; background: #f0eee7; color: var(--hp-muted); font-size: 10px; }
.hp-points li::before { content: "✓ "; color: var(--hp-success); font-weight: 800; }
.hp-internal-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 12px -17px -17px; padding: 9px 17px; border-top: 1px solid #d8c28e; background: #fff8e6; color: #775b25; font-size: 9px; font-weight: 800; }
.hp-internal-meta b { padding: 2px 7px; border-radius: 999px; background: #7c351f; color: #fff; text-transform: uppercase; }
.hp-internal-meta--detail { justify-content: flex-start; width: fit-content; margin: 14px 0 0; padding: 7px 10px; border: 1px solid #d8c28e; border-radius: 7px; }

.hp-pagination { margin-top: 30px; }
.hp-pagination ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.hp-pagination a, .hp-pagination span { min-width: 42px; min-height: 42px; display: grid; place-items: center; padding: 0 12px; border: 1px solid var(--hp-line); border-radius: 7px; background: var(--hp-white); font-size: 12px; font-weight: 800; }
.hp-pagination .current { background: var(--hp-navy-900); color: var(--hp-white); border-color: var(--hp-navy-900); }
.hp-empty-state { padding: 70px 24px; border: 1px dashed #c8c5bb; border-radius: var(--hp-radius); text-align: center; background: rgba(255,255,255,.45); }
.hp-empty-state h2 { margin: 0; font: 700 38px "Cormorant Garamond",serif; }

.hp-breadcrumb { display: flex; align-items: center; gap: 8px; padding-block: 20px; color: var(--hp-muted); font-size: 12px; }
.hp-breadcrumb a:hover { color: var(--hp-gold); }
.hp-property-detail { padding-bottom: 80px; }
.hp-gallery { min-width: 0; max-width: 100%; margin-bottom: 30px; }
.hp-gallery__stage { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border-radius: 16px; background: #dfe4e8; box-shadow: var(--hp-shadow); }
.hp-gallery__slide { position: absolute; inset: 0; width: 100%; height: 100%; display: none; padding: 0; border: 0; background: transparent; }
.hp-gallery__slide.is-active { display: block; }
.hp-gallery__slide img { width: 100%; height: 100%; object-fit: cover; }
.hp-gallery__empty { width: 100%; height: 100%; display: grid; place-items: center; color: var(--hp-muted); }
.hp-gallery__arrow { position: absolute; z-index: 3; top: 50%; width: 45px; height: 45px; transform: translateY(-50%); display: grid; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: var(--hp-white); background: rgba(4,19,38,.62); font-size: 30px; }
.hp-gallery__arrow--prev { left: 14px; }
.hp-gallery__arrow--next { right: 14px; }
.hp-gallery__count { position: absolute; z-index: 3; right: 14px; bottom: 14px; padding: 6px 10px; border-radius: 99px; background: rgba(4,19,38,.7); color: var(--hp-white); font-size: 11px; font-weight: 800; }
.hp-gallery__thumbs { width: 100%; min-width: 0; max-width: 100%; display: flex; gap: 8px; margin-top: 10px; padding-bottom: 4px; overflow-x: auto; contain: layout paint; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.hp-gallery__thumb { flex: 0 0 82px; aspect-ratio: 4/3; overflow: hidden; padding: 0; border: 2px solid transparent; border-radius: 7px; background: #ddd; opacity: .68; }
.hp-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.hp-gallery__thumb.is-active { border-color: var(--hp-gold); opacity: 1; }
.hp-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 42px; align-items: start; }
.hp-detail-heading { position: relative; padding: 0 0 25px; border-bottom: 1px solid var(--hp-line); }
.hp-detail-heading > div:first-child { display: flex; align-items: center; gap: 10px; }
.hp-detail-id { color: var(--hp-muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.hp-detail-heading h1 { max-width: 850px; margin: 12px 60px 10px 0; color: var(--hp-ink); font: 700 clamp(36px,5vw,58px)/.98 "Cormorant Garamond", Georgia, serif; letter-spacing: -.025em; }
.hp-detail-actions { position: absolute; top: 0; right: 0; display: flex; gap: 8px; }
.hp-favourite--detail { position: static; width: auto; min-width: 82px; height: 39px; display: inline-flex; align-items: center; justify-content: center; padding: 0 13px; border-radius: 99px; gap: 6px; font-size: 18px; white-space: nowrap; }
.hp-favourite--detail span { display: inline-block; font-size: 11px; font-weight: 800; line-height: 1; }
.hp-round-action { min-height: 39px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid var(--hp-line); border-radius: 999px; background: #fff; color: var(--hp-ink); font-size: 11px; font-weight: 800; }
.hp-agent-view .hp-share-action { color: var(--hp-navy-950); border-color: #c99835; background: var(--hp-gold); box-shadow: 0 7px 20px rgba(211,163,67,.25); }
.hp-detail-price { display: flex; align-items: baseline; gap: 12px; margin-top: 18px; color: var(--hp-navy-900); font-size: 28px; font-weight: 800; }
.hp-detail-price del { color: var(--hp-muted); font-size: 15px; font-weight: 500; }
.hp-detail-price small { align-self: center; }
.hp-sold-notice { display: flex; flex-direction: column; gap: 2px; margin-top: 24px; padding: 16px 18px; border-left: 4px solid var(--hp-danger); border-radius: 0 8px 8px 0; background: #fff2f0; }
.hp-sold-notice span { color: var(--hp-muted); font-size: 13px; }
.hp-sold-notice .hp-button { align-self: flex-start; margin-top: 10px; }
.hp-sold-card-cta { display: inline-flex; align-items: center; margin-top: 13px; color: #7b5818; font-size: 11px; font-weight: 800; line-height: 1.35; }
.hp-sold-card-cta:hover { color: var(--hp-navy-900); }
.hp-section { padding: 30px 0; border-bottom: 1px solid var(--hp-line); }
.hp-section h2 { margin: 0 0 12px; color: var(--hp-ink); font: 700 27px/1.05 "Cormorant Garamond", Georgia, serif; }
.hp-section-intro { max-width: 650px; margin: -5px 0 14px; color: var(--hp-muted); font-size: 11px; }
.hp-spec-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.hp-spec-grid > div { min-height: 66px; display: flex; flex-direction: column; justify-content: center; padding: 10px 12px; border: 1px solid var(--hp-line); border-radius: 8px; background: var(--hp-paper); }
.hp-spec-grid span { color: var(--hp-muted); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.hp-spec-grid strong { margin-top: 2px; font-size: 13px; }
.hp-highlight-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.hp-highlight-grid li { display: flex; gap: 9px; padding: 14px; border-radius: 8px; background: #eeeee6; font-weight: 600; }
.hp-highlight-grid li span { color: var(--hp-success); font-weight: 900; }
.hp-description { color: #34495e; }
.hp-description p:first-of-type { margin-top: 0; }
.hp-description a { color: #7b5818; text-decoration: underline; }
.hp-feature-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.hp-feature-list li { padding: 8px 11px; border: 1px solid var(--hp-line); border-radius: 7px; background: var(--hp-paper); font-size: 12px; }
.hp-contact-card { position: sticky; top: 98px; padding: 25px; border-radius: var(--hp-radius); background: var(--hp-navy-900); color: var(--hp-white); box-shadow: var(--hp-shadow); }
.hp-contact-card h2 { margin: 0; color: var(--hp-white); font: 700 34px/1 "Cormorant Garamond", Georgia, serif; }
.hp-contact-card p { margin: 12px 0 20px; color: rgba(255,255,255,.7); font-size: 13px; }
.hp-contact-card .hp-button + .hp-button { margin-top: 9px; background: transparent; color: var(--hp-white) !important; border-color: rgba(255,255,255,.27); }
.hp-contact-card small { display: block; margin-top: 15px; color: rgba(255,255,255,.5); text-align: center; font-size: 10px; }
.hp-mobile-cta { display: none; }
.hp-similar { padding-bottom: 80px; }
.hp-similar__head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.hp-similar__head h2 { margin: 0; font: 700 42px/1 "Cormorant Garamond", Georgia, serif; }
.hp-similar__head > a { color: #7b5818; font-size: 12px; font-weight: 800; }

.hp-lightbox { position: fixed; inset: 0; z-index: 5000; display: grid; place-items: center; padding: 42px; overflow: hidden; contain: layout paint; background: rgba(1,8,17,.96); transition: opacity .2s ease; }
.hp-lightbox[aria-hidden="true"] { visibility: hidden; opacity: 0; pointer-events: none; }
.hp-lightbox img { max-width: min(94vw,1500px); max-height: 90vh; object-fit: contain; }
.hp-lightbox__close, .hp-lightbox__arrow { position: absolute; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(255,255,255,.08); color: var(--hp-white); }
.hp-lightbox__close { top: 18px; right: 18px; width: 45px; height: 45px; font-size: 28px; }
.hp-lightbox__arrow { top: 50%; width: 50px; height: 50px; transform: translateY(-50%); font-size: 34px; }
.hp-lightbox__arrow--prev { left: 18px; }
.hp-lightbox__arrow--next { right: 18px; }

.hp-shortlist { position: fixed; inset: 0; z-index: 4000; overflow: hidden; contain: layout paint; }
.hp-shortlist[aria-hidden="true"] { visibility: hidden; pointer-events: none; }
.hp-shortlist[aria-hidden="true"] .hp-shortlist__panel { display: none; }
.hp-shortlist__backdrop { position: absolute; inset: 0; background: rgba(4,19,38,.68); opacity: 1; }
.hp-shortlist__panel { position: absolute; top: 0; right: 0; width: min(420px,100%); height: 100%; display: flex; flex-direction: column; padding: 22px; background: var(--hp-paper); box-shadow: -20px 0 60px rgba(0,0,0,.18); transform: translateX(0); overflow-y: auto; }
.hp-shortlist[aria-hidden="true"] .hp-shortlist__backdrop { opacity: 0; }
.hp-shortlist[aria-hidden="true"] .hp-shortlist__panel { transform: translateX(100%); }
.hp-shortlist__panel, .hp-shortlist__backdrop { transition: .22s ease; }
.hp-shortlist__head { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 15px; border-bottom: 1px solid var(--hp-line); }
.hp-shortlist__head h2 { margin: 0; font: 700 38px/1 "Cormorant Garamond",serif; }
.hp-shortlist__items { flex: 1; }
.hp-shortlist-item { padding: 12px 0; border-bottom: 1px solid var(--hp-line); }
.hp-shortlist-item, .hp-shortlist-item a { display: flex; align-items: center; gap: 11px; }
.hp-shortlist-item a { flex: 1; min-width: 0; }
.hp-shortlist-item img { width: 70px; height: 54px; flex: 0 0 auto; object-fit: cover; border-radius: 6px; }
.hp-shortlist-item span { display: grid; min-width: 0; }
.hp-shortlist-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.hp-shortlist-item small { color: var(--hp-muted); font-size: 11px; }
.hp-shortlist-item button { width: 32px; height: 32px; border: 0; background: transparent; color: var(--hp-muted); font-size: 21px; }
.hp-shortlist__empty { flex: 1; display: grid; place-items: center; color: var(--hp-muted); text-align: center; }
.hp-shortlist__empty[hidden] { display: none; }

.hp-share-sheet { position: fixed; inset: 0; z-index: 5100; overflow: hidden; contain: layout paint; }
.hp-share-sheet[aria-hidden="true"] { visibility: hidden; pointer-events: none; }
.hp-share-sheet[aria-hidden="true"] .hp-share-sheet__panel { display: none; }
.hp-share-sheet__backdrop { position: absolute; inset: 0; background: rgba(2,12,25,.74); opacity: 1; backdrop-filter: blur(5px); transition: opacity .2s ease; }
.hp-share-sheet__panel { position: absolute; top: 0; right: 0; width: min(590px,100%); height: 100%; padding: 24px; overflow-y: auto; background: var(--hp-paper); box-shadow: -24px 0 70px rgba(0,0,0,.23); transform: translateX(0); transition: transform .24s ease; }
.hp-share-sheet[aria-hidden="true"] .hp-share-sheet__backdrop { opacity: 0; }
.hp-share-sheet[aria-hidden="true"] .hp-share-sheet__panel { transform: translateX(105%); }
.hp-share-sheet__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--hp-line); }
.hp-share-sheet__head h2 { margin: 0; color: var(--hp-ink); font: 700 40px/1 "Cormorant Garamond",serif; }
.hp-share-summary { display: grid; gap: 3px; margin-bottom: 18px; padding: 15px; border-radius: 10px; background: var(--hp-navy-900); color: #fff; }
.hp-share-summary strong { font: 700 21px/1.08 "Cormorant Garamond",serif; }
.hp-share-summary span { color: var(--hp-gold-soft); font-size: 13px; font-weight: 800; }
.hp-share-photos-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 9px; }
.hp-share-photos-head > div { display: flex; align-items: baseline; gap: 8px; }
.hp-share-photos-head small { color: var(--hp-muted); }
.hp-share-photos-head button { padding: 5px 0; border: 0; background: transparent; color: #7b5818; font-size: 11px; font-weight: 800; }
.hp-share-photos { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; max-height: 310px; margin: 0 0 18px; padding: 0 4px 5px 0; overflow-y: auto; }
.hp-share-photo { position: relative; aspect-ratio: 4/3; overflow: hidden; border-radius: 8px; background: #dce2e4; scroll-snap-align: start; cursor: pointer; }
.hp-share-photo input { position: absolute; opacity: 0; pointer-events: none; }
.hp-share-photo img { width: 100%; height: 100%; object-fit: cover; }
.hp-share-photo span { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; background: rgba(6,23,44,.55); color: transparent; }
.hp-share-photo input:checked ~ span { background: var(--hp-gold); color: var(--hp-navy-950); }
.hp-share-photo b { position: absolute; left: 6px; bottom: 6px; min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 99px; background: rgba(6,23,44,.7); color: #fff; font-size: 10px; }
.hp-copy-controls { display: grid; grid-template-columns: minmax(0,1fr) minmax(170px,auto); gap: 8px 12px; align-items: end; margin: 15px 0 10px; padding: 13px; border: 1px solid var(--hp-line); border-radius: 10px; background: #f7f5ef; }
.hp-copy-controls label { display: grid; gap: 4px; }
.hp-copy-controls label span { color: var(--hp-muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hp-copy-controls select { min-height: 42px; padding: 0 10px; border: 1px solid var(--hp-line); border-radius: 7px; background: #fff; }
.hp-copy-controls__actions { display: grid; gap: 6px; align-self: end; }
.hp-copy-controls .hp-button { width: 100%; align-self: end; }
.hp-copy-original { justify-self: center; padding: 0; border: 0; background: transparent; color: #7b5818; font-size: 10px; font-weight: 800; text-decoration: underline; }
.hp-ai-connection { grid-column: 1 / -1; color: var(--hp-muted); font-size: 9px; }
.hp-copy-tabs { display: flex; gap: 6px; margin-bottom: 10px; overflow-x: auto; }
.hp-copy-tabs button { flex: 0 0 auto; min-height: 34px; padding: 0 10px; border: 1px solid var(--hp-line); border-radius: 999px; background: #fff; color: var(--hp-muted); font-size: 10px; font-weight: 800; }
.hp-copy-tabs button.is-active { border-color: var(--hp-gold); background: var(--hp-gold-soft); color: var(--hp-navy-950); }
.hp-copy-editor { display: grid; gap: 6px; }
.hp-copy-editor > span { color: var(--hp-muted); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.hp-copy-editor textarea { width: 100%; resize: vertical; padding: 13px; border: 1px solid var(--hp-line); border-radius: 9px; background: #fff; color: var(--hp-ink); font: 12px/1.55 "DM Sans",sans-serif; }
.hp-copy-toolbar { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 7px; }
.hp-copy-toolbar button { min-height: 32px; padding: 0 11px; border: 1px solid #c99835; border-radius: 7px; background: #fff8e6; color: #6e4c0e; font-size: 10px; font-weight: 800; }
.hp-copy-toolbar span { color: var(--hp-success); font-size: 10px; font-weight: 700; text-align: right; }
.hp-agent-share-actions { display: grid; gap: 8px; margin-top: 15px; }
.hp-share-choice { width: 100%; min-height: 64px; display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid var(--hp-line); border-radius: 10px; background: #fff; color: var(--hp-ink); text-align: left; }
.hp-share-choice svg { width: 23px; height: 23px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hp-share-choice span { display: grid; gap: 1px; }
.hp-share-choice strong { font-size: 12px; }
.hp-share-choice small { color: var(--hp-muted); font-size: 10px; }
.hp-share-choice--primary { border-color: #c99835; background: var(--hp-gold); color: var(--hp-navy-950); box-shadow: 0 9px 24px rgba(211,163,67,.22); }
.hp-share-choice--primary small { color: rgba(4,19,38,.7); }
.hp-share-choice.is-loading { opacity: .6; cursor: wait; }
.hp-download-progress { display: grid; gap: 9px; margin-top: 12px; padding: 13px 14px; border: 1px solid #d8c28e; border-radius: 10px; background: #fffaf0; }
.hp-download-progress[hidden] { display: none!important; }
.hp-download-progress > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.hp-download-progress strong { color: var(--hp-ink); font-size: 11px; }
.hp-download-progress [data-hp-download-progress-count] { color: #7b5818; font-size: 10px; font-weight: 800; }
.hp-download-progress__track { height: 9px; overflow: hidden; border-radius: 999px; background: #e8e4da; }
.hp-download-progress__track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#c48a1c,var(--hp-gold)); transition: width .22s ease; }
.hp-download-progress small { color: var(--hp-muted); font-size: 10px; line-height: 1.45; }
.hp-download-progress.is-complete { border-color: #92c6a3; background: #f1fbf4; }
.hp-download-progress.is-complete .hp-download-progress__track span { background: var(--hp-success); }
.hp-download-progress.is-error { border-color: #dfaca5; background: #fff5f3; }
.hp-download-progress.is-error .hp-download-progress__track span { background: #b94f44; }
.hp-share-note { margin: 11px 0 0; color: var(--hp-muted); font-size: 10px; }
.hp-public-share { padding: 4px 0; }
.hp-public-share p { margin-top: 0; }
.hp-public-share .hp-button + .hp-button { margin-top: 8px; }
.hp-public-share small { display: block; margin-top: 12px; color: var(--hp-muted); text-align: center; }
.hp-share-fallback { margin-top: 18px; padding: 15px; border: 1px solid #d8c28e; border-radius: 10px; background: #fff8e6; }
.hp-share-fallback p { margin: 4px 0 10px; color: var(--hp-muted); font-size: 11px; }
.hp-share-fallback > div { display: flex; flex-wrap: wrap; gap: 6px; }
.hp-download-photo { padding: 7px 9px; border: 1px solid var(--hp-line); border-radius: 6px; background: #fff; font-size: 10px; font-weight: 800; }

.hp-agent-hero { padding: 45px 0; background: radial-gradient(circle at 82% 20%,rgba(211,163,67,.2),transparent 30%),var(--hp-navy-900); color: #fff; }
.hp-agent-hero h1 { margin: 0; color: #fff; font: 700 clamp(38px,5vw,60px)/1 "Cormorant Garamond",serif; }
.hp-agent-hero p { max-width: 680px; margin: 10px 0 0; color: rgba(255,255,255,.68); }
body.hp-app .hp-agent-login-stage { width: 100%; min-height: 680px; display: grid; place-items: center; padding: 70px 20px 90px; background: #f1f5fa; }
body.hp-app .hp-agent-login-wrap { width: 100%; display: grid; place-items: center; }
body.hp-app .hp-agent-login-card { box-sizing: border-box; width: min(100%,574px); max-width: 574px; display: grid; gap: 17px; margin: 0; padding: 46px 48px; border: 1px solid #dce4ed; border-radius: 28px; background: #fff; box-shadow: 0 22px 60px rgba(14,42,78,.09); }
body.hp-app .hp-login-brand { display: grid; justify-items: center; margin: 0 0 8px; text-align: center; }
body.hp-app .hp-login-brand > span { box-sizing: border-box; width: 52px; height: 52px; display: grid; place-items: center; margin: 0 0 19px; border-radius: 15px; background: linear-gradient(145deg,#38cbed,#1776ee); color: #07224b; font-size: 25px; font-weight: 900; line-height: 1; box-shadow: 0 10px 25px rgba(28,126,235,.2); }
body.hp-app .hp-login-brand small { color: #8494ad; font-size: 10px; font-weight: 800; letter-spacing: .24em; line-height: 1.4; text-transform: uppercase; }
body.hp-app .hp-login-brand h1 { margin: 9px 0 4px; color: #082047; font: 800 35px/1.1 "Manrope",sans-serif; }
body.hp-app .hp-login-brand p { margin: 5px 0 0; color: #74849e; font-size: 16px; }
body.hp-app .hp-agent-login-card p { margin: 7px 0 0; color: var(--hp-muted); }
body.hp-app .hp-agent-login-card label, .hp-agent-password-form label, .hp-agent-listing-form label { display: grid; gap: 6px; margin: 0; }
body.hp-app .hp-agent-login-card label > span, .hp-agent-password-form label > span, .hp-agent-listing-form label > span { color: var(--hp-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
body.hp-app .hp-agent-login-card input, body.hp-app .hp-agent-login-card select, .hp-agent-password-form input, .hp-agent-listing-form input, .hp-agent-listing-form select, .hp-agent-listing-form textarea { box-sizing: border-box; width: 100%; min-height: 52px; margin: 0; padding: 10px 14px; border: 1px solid #d7e0eb; border-radius: 11px; background: #fbfcfe; color: var(--hp-ink); font: 500 15px/1.3 "DM Sans",sans-serif; }
body.hp-app .hp-agent-login-card .hp-button--portal { width: 100%; min-height: 50px; margin: 0; border: 0; border-radius: 11px; background: linear-gradient(135deg,#1765ed,#218eee); color: #fff !important; font-weight: 800; box-shadow: 0 12px 24px rgba(24,111,236,.2); }
body.hp-app .hp-agent-login-card .hp-login-remember { display: flex; align-items: center; gap: 8px; margin: 0; }
body.hp-app .hp-agent-login-card .hp-login-remember input { flex: 0 0 16px; width: 16px; min-height: 16px; }
body.hp-app .hp-agent-login-card .hp-login-remember span { letter-spacing: 0; text-transform: none; }
body.hp-app .hp-agent-login-card > small { color: var(--hp-muted); text-align: center; }
.hp-form-alert { padding: 10px 12px; border-radius: 7px; font-size: 11px; }
.hp-form-alert.is-error { background: #fff0ed; color: #8e302b; }
.hp-agent-workspace { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 25px; align-items: start; padding: 38px 0 80px; }
.hp-agent-workspace--full { display: block; }
.hp-agent-panel { min-height: 440px; padding: 28px; border: 1px solid var(--hp-line); border-radius: 14px; background: var(--hp-paper); box-shadow: 0 10px 35px rgba(6,23,44,.05); }
.hp-agent-panel__head { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 20px; }
.hp-agent-panel__head h2 { margin: 0; font: 700 38px/1 "Cormorant Garamond",serif; }
.hp-agent-panel__intro { margin-top: -7px; color: var(--hp-muted); }
.hp-agent-quick-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.hp-agent-quick-grid a { display: grid; grid-template-columns: 42px 1fr; gap: 0 12px; padding: 17px; border: 1px solid var(--hp-line); border-radius: 10px; background: #fff; }
.hp-agent-quick-grid b { grid-row: span 2; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 9px; background: #fff5dd; color: #7b5818; font-size: 20px; }
.hp-agent-quick-grid strong { align-self: end; font-size: 13px; }
.hp-agent-quick-grid span { color: var(--hp-muted); font-size: 10px; }
.hp-agent-phase-note { display: grid; gap: 3px; margin-top: 18px; padding: 15px; border-left: 3px solid var(--hp-gold); background: #fff8e6; }
.hp-agent-phase-note span { color: var(--hp-muted); font-size: 11px; }
.hp-status-pill { padding: 4px 9px; border-radius: 99px; background: #fff1cb; color: #73510e; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.hp-audit-summary { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; margin: 22px 0; }
.hp-audit-summary > div { display: grid; gap: 4px; padding: 18px; border: 1px solid var(--hp-line); border-radius: 12px; background: #fff; }
.hp-audit-summary strong { color: var(--hp-navy-950); font-size: 27px; }
.hp-audit-summary span { color: var(--hp-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.hp-audit-summary .is-good { border-top: 3px solid #209263; }
.hp-audit-summary .is-warn { border-top: 3px solid var(--hp-gold); }
.hp-audit-summary .is-bad { border-top: 3px solid #bc3f3f; }
.hp-audit-table-wrap { overflow-x: auto; border: 1px solid var(--hp-line); border-radius: 12px; background: #fff; }
.hp-audit-table { width: 100%; min-width: 860px; border-collapse: collapse; }
.hp-audit-table th,.hp-audit-table td { padding: 12px 14px; border-bottom: 1px solid var(--hp-line); text-align: left; vertical-align: top; font-size: 12px; }
.hp-audit-table th { background: #f4f6f8; color: var(--hp-muted); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.hp-audit-table td:first-child { width: 37%; }
.hp-audit-table td a { display: grid; gap: 3px; color: var(--hp-ink); }
.hp-audit-table td small { color: var(--hp-muted); }
.hp-audit-table tr.needs-action td:last-child { color: #8b3b27; font-weight: 700; }
.hp-audit-footnote { color: var(--hp-muted); font-size: 11px; }
.hp-audit-migrate-form { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 22px 0; padding: 18px 20px; border: 1px solid #ead9a9; border-radius: 16px; background: #fffaf0; }
.hp-audit-migrate-form div { display: grid; gap: 4px; }
.hp-audit-migrate-form span { color: #64748b; font-size: 13px; }
.hp-form-alert.is-success { border: 1px solid #b9e4ca; background: #effbf4; color: #17643a; }
.hp-agent-listing-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.hp-agent-listing-form .is-wide, .hp-agent-form-action { grid-column: 1 / -1; }
.hp-agent-listing-form textarea { resize: vertical; }
.hp-admin-field { min-width: 0; display: grid; align-content: start; gap: 6px; }
.hp-admin-field > span { color: var(--hp-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hp-admin-field > small { color: var(--hp-muted); font-size: 10px; }
.hp-admin-picker { position: relative; min-width: 0; }
.hp-admin-picker > summary { box-sizing: border-box; width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border: 1px solid #d7e0eb; border-radius: 11px; background: #fbfcfe; color: var(--hp-ink); cursor: pointer; list-style: none; }
.hp-admin-picker > summary::-webkit-details-marker { display: none; }
.hp-admin-picker > summary strong { overflow: hidden; font: 700 14px/1.3 "DM Sans",sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.hp-admin-picker > summary i { flex: 0 0 9px; width: 9px; height: 9px; border-right: 2px solid #53677e; border-bottom: 2px solid #53677e; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.hp-admin-picker[open] > summary { border-color: #c79a36; box-shadow: 0 0 0 3px rgba(211,163,67,.14); }
.hp-admin-picker[open] > summary i { transform: rotate(225deg) translate(-2px,-2px); }
.hp-admin-picker__panel { position: absolute; z-index: 90; top: calc(100% + 7px); left: 0; right: 0; min-width: 310px; overflow: hidden; border: 1px solid #d6dfe9; border-radius: 14px; background: #fff; box-shadow: 0 18px 45px rgba(8,31,58,.16); }
.hp-admin-picker__panel .hp-dropdown-search { position: sticky; z-index: 2; top: 0; padding: 11px; background: #fff; border-bottom: 1px solid #e7ecf1; }
.hp-admin-picker__panel .hp-dropdown-search input { min-height: 42px; background: #f7f9fc; }
.hp-admin-picker__options { max-height: 320px; overflow-y: auto; padding: 7px; }
.hp-admin-choice { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 10px !important; padding: 10px 11px; border-radius: 8px; cursor: pointer; }
.hp-admin-choice:hover { background: #f4f7fa; }
.hp-admin-choice input { flex: 0 0 17px; width: 17px !important; min-height: 17px !important; margin: 0 !important; accent-color: var(--hp-gold); }
.hp-admin-choice > span { min-width: 0; display: grid; gap: 2px; color: var(--hp-ink) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; }
.hp-admin-choice small { color: var(--hp-muted); font-size: 9px; font-weight: 500; }
.hp-admin-location-group { margin: 6px 2px 11px; overflow: hidden; border: 1px solid #e0e7ef; border-radius: 11px; background: #fff; }
.hp-admin-location-group .hp-admin-choice--district { margin: 0; border-radius: 0; background: #eef3f8; }
.hp-admin-location-group .hp-admin-choice--district:hover { background: #e4ebf2; }
.hp-admin-choice--district > span b { color: #132b45; font-size: 13px; }
.hp-admin-location-group .hp-admin-choice--location { position: relative; margin: 0 7px 0 20px; padding-left: 17px; border-left: 2px solid #d7b85f; border-radius: 0 8px 8px 0; }
.hp-admin-location-group .hp-admin-choice--location::before { content: ""; position: absolute; top: 50%; left: -2px; width: 10px; border-top: 2px solid #d7b85f; }
.hp-admin-choice--location { margin-left: 22px; border-left: 2px solid #e5c778; border-radius: 0 8px 8px 0; }
.hp-admin-location-state > p, .hp-admin-picker__heading { position: sticky; z-index: 1; top: 0; margin: 4px 0 2px; padding: 8px 10px; background: #eef3f8; color: #53677e; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hp-admin-picker__actions { position: sticky; z-index: 3; bottom: 0; display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 9px 11px; border-top: 1px solid #e1e7ed; background: rgba(255,255,255,.98); }
.hp-admin-picker__actions > span { margin-right: auto; color: #607187; font-size: 12px; font-weight: 800; }
.hp-admin-picker__done { width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--hp-navy-900); color: #fff; font-size: 20px; font-weight: 900; cursor: pointer; box-shadow: 0 7px 16px rgba(9,34,62,.2); }
.hp-admin-selected { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.hp-admin-selected:empty { display: none; }
.hp-admin-selected button { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 6px 9px 6px 12px; border: 1px solid #d5aa4b; border-radius: 999px; background: #fff8e7; color: #142b45; font: 800 12px/1.2 "DM Sans",sans-serif; cursor: pointer; }
.hp-admin-selected button b { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: rgba(20,43,69,.1); font-size: 15px; line-height: 1; }
.hp-lister-add { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px; padding: 10px 11px; border-top: 1px solid #e1e7ed; background: #f8fafc; }
.hp-lister-add input { min-height: 41px !important; }
.hp-lister-add button { padding: 0 13px; border: 0; border-radius: 8px; background: #d7a73d; color: #11243a; font: 800 11px "DM Sans",sans-serif; cursor: pointer; }
.hp-agent-upload-box { padding: 16px; border: 1px dashed #c7a24f; border-radius: 10px; background: #fffaf0; }
.hp-agent-upload-box input { padding: 10px; }
.hp-agent-upload-box small, .hp-agent-form-action small { color: var(--hp-muted); font-size: 10px; }
.hp-admin-image-uploader { display: grid; gap: 13px; padding: 18px; border: 1px solid #d9e1e9; border-radius: 14px; background: #f8fafc; }
.hp-admin-image-uploader__head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.hp-admin-image-uploader__head > div { display: grid; gap: 4px; }
.hp-admin-image-uploader__head span { color: var(--hp-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hp-admin-image-uploader__head small { color: var(--hp-muted); font-size: 11px; }
.hp-admin-image-uploader__head > strong { flex: 0 0 auto; padding: 6px 10px; border-radius: 999px; background: #e9eef4; color: #42566d; font-size: 11px; }
.hp-admin-image-dropzone { min-height: 138px; display: grid !important; place-items: center; align-content: center; gap: 4px !important; padding: 22px; border: 2px dashed #c9a34d; border-radius: 13px; background: #fffaf0; text-align: center; cursor: pointer; transition: .18s ease; }
.hp-admin-image-dropzone:hover, .hp-admin-image-dropzone.is-dragover { border-color: #a87813; background: #fff4d8; box-shadow: 0 0 0 4px rgba(211,163,67,.12); }
.hp-admin-image-dropzone input { position: absolute; width: 1px !important; height: 1px; min-height: 0 !important; overflow: hidden; padding: 0 !important; opacity: 0; }
.hp-admin-image-dropzone__icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--hp-navy-900); color: #fff; font-size: 23px; }
.hp-admin-image-dropzone strong { color: var(--hp-navy-950); font-size: 14px; }
.hp-admin-image-dropzone small { color: var(--hp-muted); font-size: 11px; }
.hp-admin-image-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 11px; }
.hp-admin-image-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid #d8e0e9; border-radius: 11px; background: #fff; box-shadow: 0 5px 15px rgba(8,31,58,.06); cursor: grab; }
.hp-admin-image-card.is-dragging { opacity: .42; }
.hp-admin-image-card img { width: 100%; aspect-ratio: 4/3; display: block; object-fit: cover; background: #e9eef3; }
.hp-admin-image-card__meta { min-width: 0; display: flex; align-items: center; gap: 6px; padding: 7px 8px; }
.hp-admin-image-card__meta span { min-width: 0; overflow: hidden; color: #40556c; font-size: 9px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.hp-admin-image-card__order { flex: 0 0 22px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; background: #edf2f7; color: #25415f; font-size: 10px; font-weight: 900; }
.hp-admin-image-card__cover { position: absolute; top: 7px; left: 7px; padding: 5px 7px; border-radius: 999px; background: #d9a638; color: #10243a; font-size: 8px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.hp-admin-image-card__actions { position: absolute; top: 6px; right: 6px; display: flex; gap: 4px; }
.hp-admin-image-card__actions button { width: 29px; height: 29px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; background: rgba(8,30,54,.88); color: #fff; font-size: 13px; cursor: pointer; }
.hp-admin-image-card__actions button:hover { background: #b02f2f; }
.hp-agent-form-action { display: flex; align-items: center; gap: 12px; }
.hp-agent-form-action button:disabled { opacity: .55; cursor: not-allowed; }
.hp-admin-watermark-note { grid-column: 1 / -1; display: grid; gap: 4px; padding: 14px 16px; border: 1px solid #d9e1e9; border-radius: 10px; background: #f7f9fb; }
.hp-admin-watermark-note strong { color: var(--hp-ink); font-size: 12px; }
.hp-admin-watermark-note span { color: var(--hp-muted); font-size: 11px; }
.hp-admin-edit-link { display: inline-flex; align-items: center; justify-content: center; width: fit-content; margin-top: 12px; padding: 9px 13px; border: 1px solid #c9962e; border-radius: 8px; color: #76520b; background: #fff8e8; font-size: 11px; font-weight: 800; text-decoration: none; }
.hp-admin-edit-link:hover { color: #071a31; background: #f2d892; }
.hp-admin-price-control { display: grid; grid-template-columns: minmax(0,1fr) minmax(96px,auto); align-items: end; gap: 8px; margin-top: 9px; }
.hp-admin-price-control label { display: grid; gap: 4px; margin: 0; }
.hp-admin-price-control label > span { color: #64748b; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hp-app .hp-admin-price-control input[type="number"] { box-sizing: border-box; width: 100%; height: 40px; min-height: 40px; margin: 0 !important; padding: 0 10px !important; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: var(--hp-ink); font: 700 11px "DM Sans",sans-serif; line-height: 40px; }
.hp-app .hp-admin-price-control button[type="submit"] { box-sizing: border-box; width: 100%; height: 40px; min-height: 40px; margin: 0 !important; padding: 0 11px !important; border: 0; border-radius: 8px; background: #102a46; color: #fff; font-size: 10px; font-weight: 800; line-height: 40px; white-space: nowrap; cursor: pointer; }
.hp-admin-price-control--detail { width: min(100%,460px); padding: 13px; border: 1px solid #d9e1e9; border-radius: 10px; background: #f5f8fb; }
.hp-field-with-unit > span:last-child { display: grid; grid-template-columns: minmax(0,1fr) 92px; gap: 8px; }
.hp-admin-status-control { margin: 12px -17px -17px; padding: 11px 17px 15px; border-top: 1px solid #d9e1e9; background: #f5f8fb; }
.hp-admin-status-control label { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 10px; margin: 0; }
.hp-admin-status-control label > span { color: #64748b; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hp-admin-status-control select { box-sizing: border-box; width: 100%; min-height: 38px; padding: 7px 32px 7px 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: var(--hp-ink); font: 700 11px "DM Sans",sans-serif; cursor: pointer; }
.hp-admin-status-control select:disabled { opacity: .65; cursor: wait; }
.hp-admin-status-control--detail { width: min(100%,460px); margin: 15px 0 0; padding: 13px; border: 1px solid #d9e1e9; border-radius: 10px; }
.hp-admin-status-control--detail small { display: block; margin-top: 7px; color: var(--hp-muted); font-size: 10px; }
.hp-agent-profile { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; padding: 15px; border-radius: 10px; background: #f3f1e9; }
.hp-agent-profile > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--hp-navy-900); color: var(--hp-gold); font-weight: 800; }
.hp-agent-profile > div { display: grid; }
.hp-agent-profile small { color: var(--hp-muted); }
.hp-agent-password-form { max-width: 520px; display: grid; gap: 13px; }
.hp-agent-profile-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin: 0 0 34px; padding: 22px; border: 1px solid var(--hp-line); border-radius: 14px; background: #fbfaf6; }
.hp-agent-profile-form label { display: grid; gap: 6px; }
.hp-agent-profile-form label > span { color: var(--hp-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hp-agent-profile-form input,.hp-agent-profile-form textarea { box-sizing: border-box; width: 100%; min-height: 52px; padding: 11px 14px; border: 1px solid #d7e0eb; border-radius: 11px; background: #fff; color: var(--hp-ink); font: 500 15px/1.45 "DM Sans",sans-serif; }
.hp-agent-profile-form .is-wide,.hp-agent-profile-form .hp-agent-form-section,.hp-agent-profile-form .hp-agent-form-action { grid-column: 1/-1; }
.hp-agent-form-section h3 { margin: 5px 0 3px; color: var(--hp-ink); font-size: 22px; }
.hp-agent-form-section p { margin: 0; color: var(--hp-muted); }
.hp-agent-form-section--password { max-width: 520px; margin: 0 0 14px; }
.hp-agent-login-note { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0; padding: 12px 14px; border-radius: 10px; background: #f3f1e9; }
.hp-agent-login-note a { color: var(--hp-navy-900); font-weight: 800; }
[data-hp-auth-only][hidden],.hp-agent-login-note[hidden] { display: none!important; }
@media(max-width:700px){.hp-agent-profile-form{grid-template-columns:1fr;padding:17px}.hp-agent-profile-form label,.hp-agent-profile-form .is-wide,.hp-agent-profile-form .hp-agent-form-section,.hp-agent-profile-form .hp-agent-form-action{grid-column:1}}

.hp-footer { padding: 42px 0; background: var(--hp-navy-950); color: #aebccc; }
.hp-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.hp-brand--footer { margin-bottom: 10px; }
.hp-footer p { margin: 0; font-size: 12px; }
.hp-footer__inner > div:last-child { text-align: right; font-size: 12px; }
.hp-footer a:hover { color: var(--hp-gold); }
.hp-professional-note { padding: 24px 0; border-top: 1px solid #dce2e8; background: #f7f8f9; color: #4c5c6e; }
.hp-professional-note .hp-shell { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 7px 18px; text-align: center; font-size: 12px; }
.hp-professional-note strong { width: 100%; color: var(--hp-navy-900); font-size: 15px; }
.hp-professional-note a { color: #8a641b; font-weight: 700; }

@media (max-width: 1180px) {
  .hp-header__inner { min-height: 72px; }
  .hp-header-call { display: none; }
  .hp-menu-toggle { display: flex; z-index: 3; order: 3; margin-left: 0; }
  .hp-nav { position: absolute; z-index: 2; top: 100%; left: -12px; right: -12px; display: grid; gap: 0; padding: 10px 20px 20px; background: var(--hp-navy-950); border-top: 1px solid rgba(255,255,255,.08); box-shadow: 0 20px 30px rgba(0,0,0,.2); opacity: 0; pointer-events: none; transform: translateY(-12px); transition: .25s ease; }
  .hp-nav.is-open { opacity: 1; pointer-events: auto; transform: none; }
  .hp-nav > a { padding: 13px; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 12px; }
  .hp-nav > a::after { display: none; }
  .hp-shortlist-trigger { margin-top: 0; }
}

@media (max-width: 1050px) {
  .hp-filter__primary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hp-filter__primary > .hp-multiselect, .hp-filter__primary > .hp-price-field { grid-column: auto; }
  .hp-filter__primary > .hp-price-field:nth-last-child(2), .hp-filter__primary > .hp-price-field:last-child { grid-column: auto; }
  .hp-filter__secondary { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.hp-filter__advanced { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.hp-filter__bottom-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.hp-filter__bottom-row > .hp-hide-sold { grid-column: 1 / -1; }
  .hp-property-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .hp-detail-grid { grid-template-columns: minmax(0,1fr) 290px; gap: 28px; }
}

@media (max-width: 782px) {
	.hp-admin-image-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.hp-audit-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.hp-audit-migrate-form { align-items: stretch; flex-direction: column; }
	.hp-audit-migrate-form .hp-button { width: 100%; }
  .admin-bar .hp-header { top: 46px; }
  .hp-shell { width: min(100% - 24px, var(--hp-shell)); }
  .hp-header__inner { min-height: 68px; }
  .hp-brand__mark { width: 37px; height: 37px; }
  .hp-brand__copy strong { font-size: 17px; }
  .hp-brand__copy small { font-size: 11px; }
  .hp-archive-hero { padding: 0; }
  .hp-archive-hero h1 { font-size: 43px; }
  .hp-archive-layout { display: block; padding-top: 22px; }
  .hp-filter { position: fixed; z-index: 1800; inset: 0 0 0 auto; top: 0; width: min(360px,92vw); max-height: 100vh; overflow-y: auto; border: 0; border-radius: 0; transform: translateX(105%); transition: transform .22s ease; }
  .hp-filter--hero { padding: 22px; }
	.hp-filter__head strong { font-size: 23px; }
	.hp-filter__query-row { grid-template-columns: 1fr; }
  .hp-filter__primary, .hp-filter__secondary { display: grid; grid-template-columns: 1fr; gap: 14px; }
	.hp-filter__submit { width: 100%; }
	.hp-filter__secondary > *, .hp-filter__advanced > * { grid-column: 1 / -1; }
  .hp-filter__advanced { grid-template-columns: 1fr; }
	.hp-filter__bottom-row { grid-template-columns: 1fr; }
	.hp-filter__bottom-row > .hp-hide-sold { grid-column: auto; }
	.hp-filter__footer { align-items: stretch; flex-direction: column-reverse; }
	.hp-filter__footer .hp-filter__reset { margin: 0; padding: 10px; text-align: center; }
  .hp-multiselect > div { position: relative; top: 5px; width: 100%; }
  .hp-filter-open .hp-filter { transform: translateX(0); }
  .hp-filter-open::before { content: ""; position: fixed; z-index: 1700; inset: 0; background: rgba(4,19,38,.68); }
  .hp-filter__close, .hp-filter-trigger { display: inline-flex; }
  .hp-results__bar { margin-bottom: 14px; }
  .hp-property-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px; }
  .hp-property-card__body { padding: 14px; }
  .hp-property-card h2 { font-size: 21px; }
  .hp-gallery__stage { aspect-ratio: 4/3; margin-inline: -12px; border-radius: 0; }
  .hp-gallery__arrow { width: 39px; height: 39px; }
  .hp-detail-grid { display: block; }
  .hp-contact-card { display: none; }
  .hp-detail-heading h1 { margin-right: 0; font-size: 39px; }
  .hp-detail-actions { position: static; margin-top: 13px; }
  .hp-spec-grid { grid-template-columns: repeat(2,1fr); }
  .hp-highlight-grid { grid-template-columns: 1fr; }
  .hp-mobile-cta { position: fixed; z-index: 1000; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: .7fr 1.3fr; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,253,248,.96); border-top: 1px solid var(--hp-line); backdrop-filter: blur(12px); }
  .hp-property-detail { padding-bottom: 105px; }
  .hp-similar { padding-bottom: 125px; }
  .hp-footer { padding-bottom: 100px; }
  .hp-agent-workspace { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .hp-header-actions { display: flex; gap: 5px; }
  .hp-header-contact { width: 38px; height: 38px; padding: 0; }
  .hp-header-whatsapp strong, .hp-shortlist-trigger b, .hp-agent-login-button b, .hp-menu-toggle > span { display: none; }
  .hp-shortlist-trigger { min-width: 47px; min-height: 38px; padding: 0 6px; }
  .hp-agent-login-button { width: 38px; min-height: 38px; justify-content: center; padding: 0; }
  .hp-menu-toggle { margin-left: 0; padding-inline: 3px; }
}

.hp-agent-admin-grid { display: grid; grid-template-columns: minmax(300px,.78fr) minmax(440px,1.22fr); gap: 24px; align-items: start; }
.hp-agent-create-form, .hp-agent-account-list { display: grid; gap: 15px; padding: 24px; border: 1px solid var(--hp-line); border-radius: 18px; background: #fff; }
.hp-agent-create-form label { display: grid; gap: 7px; }
.hp-agent-create-form label > span { color: var(--hp-muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hp-agent-create-form input, .hp-agent-reset-pin input { width: 100%; min-height: 48px; padding: 10px 13px; border: 1px solid var(--hp-line); border-radius: 10px; background: #fbfcfe; color: var(--hp-ink); font: inherit; }
.hp-agent-account-row { display: grid; grid-template-columns: minmax(180px,1fr) auto; gap: 12px 16px; align-items: center; padding: 17px 0; border-top: 1px solid var(--hp-line); }
.hp-agent-account-row > div { display: grid; gap: 3px; }
.hp-agent-account-row > div span, .hp-agent-account-row > div small { color: var(--hp-muted); }
.hp-agent-account-row .hp-status-pill.is-inactive { background: #f1f3f6; color: #667085; }
.hp-agent-account-row form:not(.hp-agent-reset-pin) { justify-self: end; }
.hp-agent-reset-pin { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(150px,1fr) auto; gap: 10px; }
.hp-agent-empty { margin: 0; padding: 20px; border-radius: 12px; background: #f6f8fb; color: var(--hp-muted); text-align: center; }

@media (max-width: 900px) {
  .hp-agent-admin-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
	.hp-admin-image-uploader { padding: 13px; }
	.hp-admin-image-uploader__head { align-items: flex-start; }
	.hp-admin-image-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hp-agent-login-stage { min-height: 590px; padding: 34px 0 60px; }
  .hp-agent-login-card { padding: 28px 22px; border-radius: 20px; }
  .hp-login-brand h1 { font-size: 29px; }
  .hp-property-grid { grid-template-columns: 1fr !important; }
  .hp-property-card { display: grid; grid-template-columns: 42% 58%; min-height: 164px; }
  .hp-property-card__media { height: 100%; min-height: 164px; aspect-ratio: auto; }
  .hp-property-card__body { display: flex; flex-direction: column; }
  .hp-property-card__topline { font-size: 8px; }
  .hp-property-card h2 { margin: 5px 0; font-size: 18px; }
  .hp-location { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
  .hp-price { margin-top: auto; padding-top: 8px; font-size: 15px; }
  .hp-facts { gap: 5px 8px; margin-top: 6px; padding-top: 7px; font-size: 9px; }
  .hp-points { display: none; }
  .hp-property-card > .hp-favourite { width: 34px; height: 34px; }
  .hp-card-share { top: auto; right: auto; left: 8px; bottom: 8px; min-height: 32px; padding: 0 8px; }
  .hp-property-card__media .hp-status { top: 9px; left: 8px; }
  .hp-filter__row { grid-template-columns: 1fr; }
  .hp-detail-heading h1 { font-size: 35px; }
  .hp-detail-price { font-size: 24px; }
  .hp-lightbox { padding: 10px; }
  .hp-lightbox__arrow { width: 42px; height: 42px; }
  .hp-lightbox__arrow--prev { left: 8px; }
  .hp-lightbox__arrow--next { right: 8px; }
  .hp-footer__inner { align-items: flex-start; flex-direction: column; }
  .hp-footer__inner > div:last-child { text-align: left; }
	.hp-professional-note .hp-shell { align-items: flex-start; flex-direction: column; text-align: left; }
  .hp-preview-bar .hp-shell { justify-content: space-between; overflow-x: auto; white-space: nowrap; }
  .hp-preview-bar__note span { display: none; }
  .hp-view-switcher a { padding-inline: 10px; }
  .hp-share-sheet__panel { top: auto; bottom: 0; width: 100%; height: min(92vh,820px); padding: 18px; border-radius: 18px 18px 0 0; transform: translateY(0); }
  .hp-share-sheet[aria-hidden="true"] .hp-share-sheet__panel { transform: translateY(105%); }
  .hp-share-photos { grid-template-columns: repeat(3,minmax(0,1fr)); margin-inline: 0; padding-inline: 0 4px; }
  .hp-share-sheet__head h2 { font-size: 34px; }
  .hp-copy-controls { grid-template-columns: 1fr; }
  .hp-copy-controls__actions, .hp-ai-connection { grid-column: 1; }
  .hp-agent-panel { padding: 20px; }
  .hp-agent-quick-grid, .hp-agent-listing-form { grid-template-columns: 1fr; }
  .hp-agent-listing-form .is-wide, .hp-agent-form-action { grid-column: 1; }
  .hp-admin-picker__panel { position: fixed; z-index: 2200; inset: auto 12px 12px; min-width: 0; max-height: min(78vh,620px); border-radius: 18px; }
  .hp-admin-picker__options { max-height: calc(min(78vh,620px) - 130px); }
	.hp-admin-status-control { margin: 10px -14px -14px; padding-inline: 14px; }
	.hp-agent-create-form, .hp-agent-account-list { padding: 17px; }
	.hp-agent-account-row { grid-template-columns: 1fr; }
	.hp-agent-account-row form:not(.hp-agent-reset-pin) { justify-self: stretch; }
	.hp-agent-account-row form:not(.hp-agent-reset-pin) button { width: 100%; }
	.hp-agent-reset-pin { grid-template-columns: 1fr; }
}

@media (max-width: 440px) {
  .hp-brand__mark { display: none; }
  .hp-header__inner { gap: 7px; }
  .hp-agent-tabs a, .hp-agent-tabs span { padding-inline: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .hp-app *, .hp-app *::before, .hp-app *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
