:root {
  --navy: #0b2b4b;
  --navy-deep: #061c31;
  --blue: #1c5ae8;
  --blue-dark: #1748bd;
  --sky: #eaf3ff;
  --sky-strong: #d6e7ff;
  --red: #e33c52;
  --paper: #f7f9fc;
  --white: #ffffff;
  --ink: #172337;
  --muted: #5d6b7c;
  --line: #d8e1ec;
  --success: #14745a;
  --warning: #8b5b10;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shadow-sm: 0 8px 24px rgba(11, 43, 75, .08);
  --shadow: 0 24px 65px rgba(11, 43, 75, .13);
}

* { box-sizing: border-box; }
html { color-scheme: light; overflow-x: clip; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: var(--sans); line-height: 1.5; overflow-x: clip; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, select { font: inherit; }
button, select { cursor: pointer; }
button { color: inherit; }
.page-shell { min-height: 100vh; overflow: clip; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 1rem; top: .5rem; z-index: 100; padding: .7rem 1rem; border-radius: .65rem; background: var(--white); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.icon { width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }

.site-header { width: min(1500px, calc(100% - 48px)); margin: 0 auto; min-height: 76px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 30; border-bottom: 1px solid rgba(216, 225, 236, .82); background: rgba(255, 255, 255, .96); }
.brand { text-decoration: none; }
.wordmark { display: inline-grid; gap: .27rem; color: var(--navy); line-height: 1; }
.domain-mark { display: inline-flex; align-items: baseline; gap: .035em; font: 850 1.5rem/1 var(--sans); letter-spacing: -.055em; }
.domain-mark i { width: .29rem; height: .29rem; border-radius: 50%; background: var(--red); transform: translateY(.18rem); }
.wordmark small { color: var(--muted); font: 780 .56rem/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: clamp(.8rem, 1.8vw, 1.8rem); font-size: .91rem; font-weight: 720; }
.primary-nav > a { text-decoration: none; padding: 1.55rem .05rem; border-bottom: 2px solid transparent; }
.primary-nav > a:hover, .primary-nav > a:focus-visible { color: var(--blue); border-color: var(--blue); }
.primary-nav .nav-agency { padding: .67rem 1rem; border: 1px solid var(--line); border-radius: 99px; }
.primary-nav .nav-agency:hover, .primary-nav .nav-agency:focus-visible { border-color: var(--blue); }
.language-form select { min-height: 38px; border: 0; background: var(--sky); border-radius: 99px; padding: 0 2rem 0 .8rem; color: var(--navy); font-weight: 800; }
.information-languages { display: inline-flex; gap: .75rem; align-items: center; padding: .65rem; font-size: .8rem; }
.information-languages a { text-decoration: none; }
.information-languages a[aria-current="page"] { color: var(--blue); text-decoration: underline; text-underline-offset: .3em; }
@media (min-width:901px) and (max-width:1180px) {
  .information-header { flex-wrap: wrap; justify-content: center; padding-block: .7rem; gap: .3rem 1.5rem; }
  .information-header .primary-nav { flex-wrap: wrap; justify-content: center; gap: .4rem 1.1rem; }
  .information-header .primary-nav > a { padding: .5rem .05rem; }
}
.menu-button { display: none; border: 0; background: transparent; padding: .7rem; }
.menu-button > span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px 0; background: var(--navy); }

.home-hero { width: min(1500px, calc(100% - 48px)); min-height: 700px; margin: 0 auto; padding: clamp(3.5rem, 6vw, 7rem) 0 clamp(3rem, 5vw, 5.5rem); display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(350px, .78fr); gap: clamp(3rem, 6vw, 7rem); align-items: center; position: relative; }
.home-hero::before { content: ""; position: absolute; z-index: -1; left: -18vw; top: -9rem; width: 54vw; height: 54vw; border-radius: 50%; background: radial-gradient(circle, rgba(214, 231, 255, .8), rgba(234, 243, 255, .28) 58%, transparent 70%); }
.signal-pill { width: fit-content; display: inline-flex; align-items: center; gap: .55rem; padding: .48rem .75rem; border: 1px solid #bdd4f8; border-radius: 99px; background: rgba(255, 255, 255, .78); color: var(--blue-dark); font-size: .72rem; font-weight: 830; letter-spacing: .06em; text-transform: uppercase; }
.signal-pill > i { width: .46rem; height: .46rem; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px rgba(227, 60, 82, .1); }
.hero-copy h1 { max-width: 900px; margin: 1.2rem 0 1rem; color: var(--navy); font-size: clamp(3.2rem, 6.5vw, 7.25rem); line-height: .92; letter-spacing: -.065em; font-weight: 830; }
.hero-copy h1 span, .hero-copy h1 em { display: block; }
.hero-copy h1 em { color: var(--blue); font-style: normal; }
.hero-copy > p { max-width: 710px; margin: 0 0 2rem; color: var(--muted); font-size: clamp(1.02rem, 1.5vw, 1.28rem); }

.search-panel { position: relative; border: 1px solid #c7d7eb; border-radius: 20px; background: var(--white); box-shadow: var(--shadow); overflow: hidden; }
.natural-search { padding: .82rem; }
.natural-search > label { display: flex; align-items: center; gap: .42rem; margin: 0 .55rem .55rem; color: var(--blue-dark); font-size: .71rem; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
.natural-search-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .6rem; min-height: 60px; padding-left: .65rem; border: 1px solid var(--line); border-radius: 14px; background: #fbfdff; }
.natural-search-row > .icon { color: #7890aa; font-size: 1.2rem; }
.natural-search-row input { width: 100%; min-width: 0; min-height: 50px; border: 0; background: transparent; color: var(--ink); font-size: 1rem; }
.natural-search-row input::placeholder { color: #7b8797; opacity: 1; }
.search-button { align-self: stretch; min-width: 156px; border: 0; border-radius: 11px; background: var(--blue); color: var(--white); padding: 0 1.1rem; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; font-weight: 820; }
.search-button:hover, .search-button:focus-visible, .button-dark:hover, .button-dark:focus-visible { background: var(--blue-dark); }
.filter-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(150px, 1.35fr); border-top: 1px solid var(--line); background: #f8fbff; }
.filter-control { min-width: 0; padding: .72rem 1rem; border-right: 1px solid var(--line); }
.filter-control:last-child { border-right: 0; }
.filter-control > span { display: block; color: var(--muted); font-size: .63rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.filter-control select,.filter-control input { width: 100%; min-height: 31px; border: 0; background: transparent; color: var(--navy); font-size: .83rem; font-weight: 730; }
.search-suggestions { margin-top: .95rem; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; color: var(--muted); font-size: .78rem; }
.search-suggestions a { padding: .4rem .65rem; border: 1px solid var(--line); border-radius: 99px; background: rgba(255,255,255,.8); text-decoration: none; }
.search-suggestions a:hover { border-color: var(--blue); color: var(--blue-dark); }
.preview-notice { margin-top: .8rem; color: var(--muted); font-size: .76rem; display: flex; gap: .5rem; align-items: center; }
.preview-notice > span { width: .42rem; height: .42rem; border-radius: 50%; background: var(--red); }

.discovery-card { min-width: 0; padding: 1rem; border: 1px solid rgba(255,255,255,.25); border-radius: 28px; background: linear-gradient(145deg, var(--navy) 0%, #123f6d 70%, #195187 100%); box-shadow: var(--shadow); color: white; transform: rotate(1.2deg); }
.discovery-map { position: relative; height: 220px; border-radius: 20px; overflow: hidden; background-color: #dceafb; background-image: linear-gradient(35deg, transparent 40%, rgba(255,255,255,.9) 41%, rgba(255,255,255,.9) 43%, transparent 44%), linear-gradient(120deg, transparent 54%, rgba(255,255,255,.9) 55%, rgba(255,255,255,.9) 57%, transparent 58%), radial-gradient(circle at 25% 36%, #b9d6f7 0 8%, transparent 8.5%), radial-gradient(circle at 78% 67%, #c4def7 0 12%, transparent 12.5%); }
.map-line { position: absolute; height: 4px; border-radius: 9px; background: rgba(255,255,255,.92); transform-origin: left center; }
.line-one { width: 78%; left: 7%; top: 30%; transform: rotate(17deg); }
.line-two { width: 60%; left: 28%; top: 76%; transform: rotate(-32deg); }
.map-pin { position: absolute; width: 17px; height: 17px; border: 4px solid white; border-radius: 50% 50% 50% 0; background: var(--red); transform: rotate(-45deg); box-shadow: 0 5px 12px rgba(11,43,75,.3); }
.pin-one { left: 24%; top: 35%; }
.pin-two { left: 63%; top: 30%; }
.pin-three { left: 70%; top: 70%; }
.discovery-card > a { display: grid; grid-template-columns: 42% 1fr; gap: .85rem; margin-top: .85rem; padding: .6rem; border-radius: 16px; background: rgba(255,255,255,.1); text-decoration: none; }
.discovery-card img { width: 100%; height: 112px; border-radius: 12px; object-fit: cover; }
.discovery-card a > div { min-width: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.discovery-card small { color: #bed7f1; }
.discovery-card strong { margin: .18rem 0; font-size: 1.4rem; }
.discovery-card a span { display: flex; align-items: center; gap: .3rem; font-weight: 750; }

.trust-strip { padding: 1.25rem max(24px, calc((100vw - 1500px) / 2)); display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.trust-strip > div { padding: 1.1rem 1.4rem; display: flex; flex-direction: column; background: var(--white); }
.trust-strip strong { color: var(--navy); font-size: 1rem; }
.trust-strip span { color: var(--muted); font-size: .75rem; }

.section { width: min(1500px, calc(100% - 48px)); margin: 0 auto; padding: clamp(4rem, 7vw, 7.5rem) 0; }
.section-soft { width: 100%; max-width: none; padding-left: max(24px, calc((100vw - 1500px) / 2)); padding-right: max(24px, calc((100vw - 1500px) / 2)); background: var(--paper); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.section-heading h2, .simple-hero h1, .results-hero h1 { margin: .35rem 0 0; color: var(--navy); font-size: clamp(2.35rem, 4.3vw, 5rem); line-height: .98; letter-spacing: -.05em; }
.section-heading p { max-width: 620px; margin: .75rem 0 0; color: var(--muted); }
.section-kicker { color: var(--blue-dark); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.text-link { color: var(--blue-dark); font-weight: 800; display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap; }
.market-recovery .text-link { white-space: normal; }
.property-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 1.8vw, 1.6rem); }
.property-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--white); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.property-card:hover { transform: translateY(-3px); border-color: #b5c7dc; box-shadow: var(--shadow-sm); }
.property-media { position: relative; }
.property-image { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--sky); }
.property-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.property-card:hover .property-image img { transform: scale(1.018); }
.media-placeholder { width: 100%; min-height: 100%; display: grid; place-content: center; gap: .35rem; padding: 1rem; background: linear-gradient(135deg, var(--sky), var(--paper)); color: var(--navy); text-align: center; }
.media-placeholder > span { font-size: 1.2rem; font-weight: 900; letter-spacing: -.04em; }
.media-placeholder > span > span { color: var(--red); }
.media-placeholder small { color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.property-image > .media-placeholder { height: 100%; }
.discovery-card .media-placeholder { min-height: 112px; border-radius: 12px; background: rgba(255,255,255,.92); }
.status { position: absolute; top: .78rem; left: .78rem; z-index: 2; border-radius: 7px; padding: .4rem .58rem; background: var(--navy); color: white; font-size: .64rem; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; box-shadow: 0 3px 12px rgba(0,0,0,.12); }
.status-under_offer { background: var(--warning); }
.status-sold { background: #58616d; }
.save-button { position: absolute; z-index: 3; right: .72rem; top: .72rem; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: rgba(255,255,255,.94); color: var(--navy); box-shadow: 0 5px 18px rgba(0,0,0,.14); }
.save-button:hover, .save-button:focus-visible, .save-button.is-saved { color: var(--red); }
.save-button.is-saved .icon-heart { fill: currentColor; }
.property-content { padding: 1rem 1.05rem 1.05rem; }
.property-price { color: var(--navy); font-size: 1.38rem; line-height: 1.1; font-weight: 850; letter-spacing: -.025em; }
.fact-line { display: flex; flex-wrap: wrap; gap: .35rem .8rem; margin: .45rem 0; color: #33455a; font-size: .8rem; }
.fact-line span + span { position: relative; }
.fact-line span + span::before { content: ""; position: absolute; left: -.45rem; top: .55em; width: 3px; height: 3px; border-radius: 50%; background: #93a4b7; }
.property-content h2 { margin: .55rem 0 .12rem; color: var(--ink); font-size: 1rem; line-height: 1.25; }
.property-content h2 a { text-decoration: none; }
.property-place { margin: 0; color: var(--muted); font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-source { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: .8rem; color: var(--muted); font-size: .69rem; }
.card-source span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.card-source a { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--sky); color: var(--blue-dark); }

.country-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.country-card { min-height: 124px; padding: 1.25rem; border: 1px solid var(--line); border-radius: 17px; background: var(--white); display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.country-card:hover { transform: translateY(-2px); border-color: var(--blue); }
.country-code { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--sky); color: var(--blue-dark); font-weight: 850; }
.country-card strong, .country-card small { display: block; }
.country-card strong { color: var(--navy); font-size: 1.15rem; }
.country-card small { margin-top: .2rem; color: var(--muted); }
.country-card-more { background: var(--navy); color: white; border-color: var(--navy); }
.country-card-more strong { color: white; }
.country-card-more small { color: #bdd0e2; }
.country-card-more .country-code { color: white; background: rgba(255,255,255,.12); }

.ai-band { padding: clamp(4rem, 7vw, 7rem) max(24px, calc((100vw - 1500px) / 2)); display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 7vw, 8rem); align-items: center; background: linear-gradient(135deg, var(--navy-deep), #0b335a 64%, #124c7e); color: white; }
.signal-pill-light { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.08); color: #dfeeff; }
.ai-intro h2 { max-width: 690px; margin: 1rem 0; font-size: clamp(2.4rem, 4.5vw, 5.2rem); line-height: .97; letter-spacing: -.055em; }
.ai-intro > p { max-width: 690px; color: #c2d3e4; font-size: 1.03rem; }
.button-light, .button-dark { min-height: 48px; width: fit-content; display: inline-flex; justify-content: center; align-items: center; gap: .5rem; border: 0; border-radius: 10px; padding: .75rem 1rem; text-decoration: none; font-weight: 800; }
.button-light { margin-top: 1rem; background: var(--white); color: var(--navy); }
.button-dark { background: var(--blue); color: var(--white); }
.button-disabled { opacity: .68; cursor: not-allowed; }
.ai-steps { display: grid; gap: .8rem; }
.ai-steps article { padding: 1.35rem; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: rgba(255,255,255,.055); display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; }
.ai-steps article > span { grid-row: 1 / span 2; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.1); color: #a9cfff; font-weight: 850; }
.ai-steps h3, .ai-steps p { margin: 0; }
.ai-steps h3 { font-size: 1.12rem; }
.ai-steps p { color: #bdd0e2; font-size: .88rem; }

.simple-hero, .results-hero { width: min(1500px, calc(100% - 48px)); margin: 0 auto; padding: clamp(4rem, 7vw, 7rem) 0 clamp(2.5rem, 4vw, 4rem); }
.simple-hero { border-bottom: 1px solid var(--line); }
.simple-hero p, .results-hero p { max-width: 780px; color: var(--muted); font-size: 1.08rem; }
.results-hero { display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.spain-browse { padding: 0; margin-bottom: 1.5rem; }
.spain-navigation { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.spain-navigation a { padding: .65rem 1rem; border: 1px solid var(--line); border-radius: 99px; color: var(--navy); text-decoration: none; font-weight: 750; font-size: .85rem; }
.spain-navigation a[aria-current="page"] { background: var(--navy); border-color: var(--navy); color: white; }
.spain-source { font-size: .9rem !important; }
.spain-empty { min-height: 290px; max-width: 780px; margin: auto; padding: 3rem 0; }
.spain-empty h2 { color: var(--navy); line-height: 1.2; }
.spain-pilot { padding-top: 2rem; border-top: 1px solid var(--line); }
.spain-pilot p { max-width: 780px; color: var(--muted); }
.save-search-button { min-height: 46px; padding: .7rem 1rem; border: 1px solid var(--blue); border-radius: 99px; background: white; color: var(--blue-dark); display: inline-flex; align-items: center; gap: .45rem; font-weight: 800; white-space: nowrap; }
.save-search-button.is-saved { background: var(--sky); }
.search-dock { padding: 1rem max(24px, calc((100vw - 1500px) / 2)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); }
.search-panel-compact { display: grid; grid-template-columns: minmax(350px, 1.5fr) minmax(480px, 1fr); align-items: stretch; box-shadow: none; border-radius: 14px; }
.search-panel-compact .natural-search { padding: .6rem; }
.search-panel-compact .natural-search > label { display: none; }
.search-panel-compact .natural-search-row { min-height: 52px; }
.search-panel-compact .filter-row { border-top: 0; border-left: 1px solid var(--line); }
.search-panel-compact .filter-control { padding: .55rem .7rem; }
.search-dock > .preview-notice { width: min(1500px, 100%); margin: .55rem auto 0; }
.results-section { width: min(1500px, calc(100% - 48px)); margin: 0 auto; padding: 1.5rem 0 6rem; }
.results-toolbar { margin-bottom: 1rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; color: var(--muted); font-size: .82rem; }
.results-toolbar p { margin: 0; }
.results-toolbar span { display: flex; align-items: center; gap: .35rem; color: var(--navy); font-weight: 800; }
.results-note { margin: 0 0 1rem; padding: .8rem 1rem; border: 1px solid #bdd6ef; border-radius: 10px; background: #f2f8ff; color: var(--navy); font-size: .85rem; }
.results-pagination { display: flex; justify-content: center; margin-top: 1.5rem; }
.results-pagination .button-dark { display: inline-flex; align-items: center; gap: .55rem; }
.search-layout { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(350px, .98fr); gap: 1.25rem; align-items: start; }
.results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.map-panel { position: sticky; top: 1rem; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: white; }
.map-top { min-height: 54px; padding: .75rem 1rem; display: flex; justify-content: space-between; align-items: center; }
.map-top span { display: flex; align-items: center; gap: .45rem; color: var(--navy); font-weight: 820; }
.map-top small { color: var(--muted); }
.map-canvas { min-height: 620px; position: relative; overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background-color: #e7f0e7; background-image: linear-gradient(25deg, transparent 48%, rgba(255,255,255,.95) 49%, rgba(255,255,255,.95) 51%, transparent 52%), linear-gradient(118deg, transparent 42%, rgba(255,255,255,.9) 43%, rgba(255,255,255,.9) 45%, transparent 46%), radial-gradient(circle at 15% 20%, #c7ddf1 0 11%, transparent 11.5%), radial-gradient(circle at 88% 82%, #c7ddf1 0 17%, transparent 17.5%), repeating-linear-gradient(70deg, transparent 0 54px, rgba(99,144,102,.1) 55px 56px); }
.price-pin { position: absolute; z-index: 2; padding: .38rem .55rem; border: 2px solid white; border-radius: 8px; background: var(--blue); color: white; box-shadow: 0 5px 14px rgba(11,43,75,.28); text-decoration: none; font-size: .72rem; font-weight: 850; }
.price-pin:hover, .price-pin:focus-visible { z-index: 4; background: var(--navy); transform: scale(1.06); }
.price-pin:nth-child(1) { left: 17%; top: 18%; }
.price-pin:nth-child(2) { left: 56%; top: 27%; }
.price-pin:nth-child(3) { left: 30%; top: 48%; }
.price-pin:nth-child(4) { left: 68%; top: 58%; }
.price-pin:nth-child(5) { left: 13%; top: 73%; }
.price-pin:nth-child(6) { left: 52%; top: 82%; }
.map-label { position: absolute; color: rgba(11,43,75,.62); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.map-label-one { left: 15%; top: 56%; }
.map-label-two { right: 13%; top: 13%; }
.map-panel > p { margin: 0; padding: .75rem 1rem; color: var(--muted); font-size: .72rem; }
.search-map-canvas{height:520px;min-height:320px;display:grid;place-items:center;background:#edf3f7;border-block:1px solid var(--line);isolation:isolate}
.filter-row:has(select[name="region"]){grid-template-columns:repeat(6,minmax(0,1fr))}
@media(min-width:761px){.filter-row:has(select[name="contentLang"]){grid-template-columns:repeat(6,minmax(0,1fr))}.filter-row:has(select[name="region"]):has(select[name="contentLang"]){grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(min-width:1181px){.search-panel-compact:has(select[name="region"]),.search-panel-compact:has(select[name="contentLang"]){grid-template-columns:minmax(350px,.9fr) minmax(680px,1.3fr)}}
.search-map-canvas.leaflet-container{display:block;font-family:inherit;z-index:0}
.map-search-panel .map-top{gap:.75rem;flex-wrap:wrap}.map-search-panel .map-top button{padding:.6rem .8rem;font-size:.78rem}.map-search-panel button:disabled{opacity:.5;cursor:default}
.map-result-marker{display:grid!important;place-items:center;background:var(--blue,#245ee4);color:#fff;border:2px solid #fff;border-radius:50%;font-family:inherit;font-size:13px;font-weight:800;line-height:1;box-shadow:0 2px 8px #0b2b4b66}
.map-result-marker--rent{background:#7435a3;border-radius:8px}.map-result-marker--mixed{background:linear-gradient(90deg,#245ee4 50%,#7435a3 50%)}
.map-pin-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.6rem 0;font-size:.8rem}.map-pin-legend>span{display:inline-flex;align-items:center;gap:.4rem}.map-pin-key{display:inline-block;width:14px;height:14px;flex:none;border:1px solid #fff;box-shadow:0 0 0 1px #516477;border-radius:50%;background:#245ee4}.map-pin-key--rent{background:#7435a3;border-radius:3px}.map-pin-key--mixed{background:linear-gradient(90deg,#245ee4 50%,#7435a3 50%)}
.map-search-panel .leaflet-popup-content a{display:block;padding:.45rem 0;color:var(--navy);font-weight:650}.map-search-panel .leaflet-popup-content p{margin:.5rem 0;color:var(--muted)}
@media(max-width:760px){.search-map-canvas{height:370px}.map-search-panel{width:100%;min-width:0}.filter-row:has(select[name="region"]){grid-template-columns:repeat(2,minmax(0,1fr))}}
.empty-state { min-height: 430px; display: grid; place-items: center; align-content: center; text-align: center; gap: .8rem; }
.empty-state > span { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; background: var(--sky); color: var(--blue); font-size: 1.5rem; }
.empty-state h2, .empty-state p { margin: 0; }
.empty-state p { color: var(--muted); }

.breadcrumbs { width: min(1500px, calc(100% - 48px)); margin: 0 auto; padding: 1.2rem 0 0; display: flex; flex-wrap: wrap; gap: .45rem; color: var(--muted); font-size: .76rem; }
.breadcrumbs a { color: var(--blue-dark); }
.property-hero { width: min(1500px, calc(100% - 48px)); margin: 0 auto; padding: clamp(1.5rem, 3vw, 3rem) 0 clamp(3rem, 5vw, 5rem); display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.property-hero-image { position: relative; border-radius: 22px; overflow: hidden; background: var(--sky); box-shadow: var(--shadow-sm); }
.property-hero-image img { width: 100%; height: auto; }
.property-hero-media.media-placeholder { aspect-ratio: 3 / 2; }
.feed-gallery-open { position:absolute; bottom:1rem; right:1rem; background:#fff; box-shadow:var(--shadow-sm); }
.feed-gallery-dialog { width:min(1000px,calc(100% - 32px)); max-height:95vh; border:0; border-radius:18px; padding:1rem; color:var(--navy); background:#fff; }
.feed-gallery-dialog::backdrop { background:rgb(8 24 42 / .78); }
.feed-gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:.5rem; flex-wrap:wrap; }
.feed-gallery-dialog .feed-gallery-photo { display:block; width:100%; height:auto; max-height:min(70vh,700px); object-fit:contain; }
.feed-gallery-dialog [data-gallery-message] { min-height:1.5em; margin:.5rem 0; }

.save-button-large { top: 1rem; right: 1rem; }
.location-line { display: flex; align-items: center; gap: .4rem; color: var(--blue-dark); font-size: .74rem; font-weight: 820; text-transform: uppercase; letter-spacing: .07em; }
.property-intro h1 { margin: .75rem 0 .7rem; color: var(--navy); font-size: clamp(3rem, 5.5vw, 6.1rem); line-height: .91; letter-spacing: -.06em; }
.property-intro h1.long-title { font-size: clamp(2rem, 3.2vw, 3.5rem); line-height: 1.07; letter-spacing: -.04em; }
.property-subtitle { max-width: 650px; margin: 0; color: var(--muted); font-size: 1.18rem; }
.property-price-large { margin: 1.35rem 0 .65rem; font-size: clamp(2.1rem, 3vw, 3.4rem); }
.fact-line-large { margin-bottom: 1.2rem; font-size: .86rem; }
.source-panel { margin-top: 1.4rem; padding: 1rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr; gap: .2rem 1rem; }
.source-panel span { color: var(--muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.source-panel a { color: var(--blue-dark); font-weight: 820; }
.source-panel small { grid-column: 2; color: var(--muted); }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.fact-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.fact-grid > div { min-width: 0; padding: 1rem; border-right: 1px solid var(--line); }
.fact-grid > div:last-child { border: 0; }
.fact-grid span { display: block; color: var(--muted); font-size: .66rem; font-weight: 820; text-transform: uppercase; }
.fact-grid strong { display: block; margin-top: .35rem; font-size: .92rem; }
.prose { max-width: 820px; padding-top: 2.5rem; }
.prose h2 { margin: .5rem 0 1rem; color: var(--navy); font-size: clamp(2rem, 3.2vw, 3.3rem); line-height: 1.02; letter-spacing: -.04em; }
.prose h3 { margin-top: 2rem; color: var(--navy); }
.prose p, .prose li { color: #405168; }
.prose li { margin: .5rem 0; }
.description-more > summary { width: fit-content; margin: 1rem 0; color: var(--blue-dark); font-weight: 750; cursor: pointer; }
.description-more > summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; border-radius: 3px; }
.description-collapse, .description-more[open] > summary .description-expand { display: none; }
.description-more[open] > summary .description-collapse { display: inline; }
.listing-location { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.prose .listing-location h2 { font-size: 1.7rem; letter-spacing: -.02em; }
.location-precision { font-size: .88rem; }
.listing-map-placeholder { min-height: 300px; display: grid; place-content: center; gap: 1rem; padding: 1rem; text-align: center; border: 1px solid var(--line); border-radius: 14px; background: var(--sky); }
.listing-map-placeholder small, .location-attribution { color: var(--muted); font-size: .75rem; }
.listing-map-placeholder:has(iframe) { display: block; padding: 0; overflow: hidden; }
.listing-map-placeholder iframe { display: block; width: 100%; height: 320px; border: 0; }
.data-note { margin-top: 2rem; padding: 1.2rem; border-left: 4px solid var(--blue); border-radius: 0 12px 12px 0; background: var(--sky); }
.data-note p { margin: .3rem 0 0; font-size: .88rem; }
.agency-contact { border: 1px solid var(--line); border-radius: 18px; padding: 1.5rem; background: white; box-shadow: var(--shadow-sm); }
.listing-sidebar { min-width: 0; display: grid; gap: 1.25rem; }
.listing-area-panel { min-width: 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: 18px; background: var(--sky); overflow-wrap: anywhere; }
.listing-area-panel h2 { margin: .65rem 0 1.15rem; color: var(--navy); font-size: 1.55rem; line-height: 1.1; }
.listing-area-panel h3 { margin: 0 0 .5rem; color: var(--navy); font-size: 1rem; }
.listing-area-panel p { margin: .5rem 0 .85rem; color: #405168; font-size: .9rem; }
.listing-area-panel a { text-underline-offset: .15em; }
.listing-area-fact, .listing-area-news { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.listing-area-fact strong { color: var(--navy); font-size: 1.5rem; }
.listing-area-panel .listing-area-note { color: var(--muted); font-size: .75rem; }
.listing-area-panel .listing-area-edition { margin: 1.25rem 0 0; }
.agency-contact h2 { margin: .65rem 0 .8rem; color: var(--navy); font-size: 1.7rem; line-height: 1; }
.agency-contact p, .agency-contact small { color: var(--muted); }
.agency-contact dl { margin: 1.3rem 0; padding: 1rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.agency-contact dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: .35rem 1rem; margin: .65rem 0; align-items: start; }
.agency-contact dt { min-width: 0; color: var(--muted); font-size: .75rem; overflow-wrap: anywhere; }
.agency-contact dd { min-width: 0; margin: 0; font-weight: 800; overflow-wrap: anywhere; }
.agency-contact .button-dark { width: 100%; margin-bottom: .8rem; }

.agency-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.agency-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 325px; padding: 1.5rem; border: 1px solid var(--line); border-radius: 18px; background: white; }
.agency-monogram { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 16px; background: var(--navy); color: white; font-weight: 850; }
.agency-state { margin-top: 1rem; padding: .34rem .55rem; border-radius: 99px; color: #76500f; background: #fff3cf; font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.agency-state.is-verified { color: var(--success); background: #e4f7ef; }
.agency-card h2 { margin: .75rem 0 .1rem; color: var(--navy); font-size: 1.65rem; line-height: 1; }
.agency-card h2 a { text-decoration: none; }
.agency-card p { color: var(--muted); margin: .45rem 0 1rem; }
.agency-card .text-link { margin-top: auto; }
.claim-ribbon { margin-bottom: 5rem; padding: 2rem; border-radius: 18px; background: var(--sky); display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.claim-ribbon h2 { margin: .4rem 0 0; color: var(--navy); font-size: 2rem; }
.agency-profile { width: min(1200px, calc(100% - 48px)); margin: 0 auto; padding: clamp(4rem, 7vw, 7rem) 0; display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: start; }
.agency-monogram-large { width: 100px; height: 100px; font-size: 1.7rem; border-radius: 24px; }
.agency-profile h1 { margin: .7rem 0 1rem; color: var(--navy); font-size: clamp(3rem, 6vw, 6rem); line-height: .95; letter-spacing: -.05em; }
.agency-profile p { max-width: 750px; color: var(--muted); font-size: 1.08rem; }
.agency-meta { display: flex; flex-wrap: wrap; gap: .8rem; }
.agency-meta span { padding: .45rem .7rem; border: 1px solid var(--line); border-radius: 99px; font-size: .8rem; }
.agency-profile-copy { min-width: 0; }
.agency-tagline { margin: .9rem 0 -.25rem; color: var(--blue) !important; font-size: .78rem !important; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.agency-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.button-outline { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .75rem 1rem; border: 1px solid var(--navy); border-radius: 10px; color: var(--navy); font-weight: 800; text-decoration: none; }
.button-outline:hover, .button-outline:focus-visible { color: white; background: var(--navy); }
.agency-stat-strip { width: min(1200px, calc(100% - 48px)); margin: -2rem auto 4rem; display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: var(--shadow-sm); overflow: hidden; }
.agency-stat-strip > div { padding: 1.25rem 1.4rem; border-right: 1px solid var(--line); }
.agency-stat-strip > div:last-child { border-right: 0; }
.agency-stat-strip strong, .agency-stat-strip span { display: block; }
.agency-stat-strip strong { color: var(--navy); font-size: 1.65rem; line-height: 1; }
.agency-stat-strip span { margin-top: .35rem; color: var(--muted); font-size: .78rem; }
.agency-panel { width: min(1200px, calc(100% - 48px)); margin: 0 auto 4rem; padding: clamp(1.5rem, 4vw, 2.4rem); border-radius: 20px; background: var(--paper); }
.agency-panel h2 { max-width: 680px; margin: .55rem 0 1.3rem; color: var(--navy); font-size: clamp(1.6rem, 3vw, 2.4rem); }
.agency-chip-list { display: flex; flex-wrap: wrap; gap: .65rem; }
.agency-chip-list span { padding: .62rem .8rem; border: 1px solid var(--line); border-radius: 99px; background: white; color: var(--navy); font-size: .82rem; font-weight: 750; }
.agency-service-grid, .agency-team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.agency-service-grid article, .agency-team-grid article { border: 1px solid var(--line); border-radius: 16px; background: white; padding: 1.35rem; }
.agency-service-grid h3, .agency-team-grid h3 { margin: 0 0 .45rem; color: var(--navy); font-size: 1.18rem; }
.agency-service-grid p, .agency-team-grid p { margin: 0; color: var(--muted); }
.agency-team-grid article { display: grid; grid-template-columns: auto 1fr; gap: 1rem; }
.team-monogram { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--navy); color: white; font-weight: 850; }
.agency-team-grid strong, .agency-team-grid small, .team-route { display: block; }
.agency-team-grid strong { margin-bottom: .55rem; color: var(--blue); font-size: .8rem; }
.agency-team-grid small { margin-top: .8rem; color: var(--muted); }
.team-route { width: fit-content; margin-top: .65rem; padding: .3rem .5rem; border-radius: 99px; color: var(--success); background: #e4f7ef; font-size: .66rem; font-weight: 850; text-transform: uppercase; }
.two-column { display: grid; grid-template-columns: 1fr 420px; gap: 5rem; align-items: start; }
.form-placeholder { border: 1px solid var(--line); border-radius: 18px; padding: 1.6rem; background: var(--sky); }
.form-placeholder h2 { color: var(--navy); font-size: 1.8rem; line-height: 1.05; }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.principle-grid article { padding: 2rem; border: 1px solid var(--line); border-radius: 18px; background: white; }
.principle-grid article > span { color: var(--blue); font-weight: 850; }
.principle-grid h2 { margin: 2.5rem 0 .75rem; color: var(--navy); font-size: 2rem; line-height: 1; }
.principle-grid p { color: var(--muted); }
.transparency-panel { margin-bottom: 5rem; padding: 2rem; border-radius: 20px; background: var(--navy); color: white; display: grid; grid-template-columns: .9fr 1.1fr; gap: 4rem; }
.transparency-panel h2 { margin: .5rem 0 0; font-size: 2.6rem; line-height: 1; }
.transparency-panel p { color: #c2d3e4; }

.site-footer { padding: clamp(3rem, 6vw, 5rem) max(24px, calc((100vw - 1500px) / 2)); background: var(--navy-deep); color: #d6e4f1; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem; }
.site-footer .wordmark { color: white; }
.site-footer .wordmark small { color: #9eb4c8; }
.site-footer h2 { color: white; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.site-footer a { display: block; width: fit-content; margin: .45rem 0; }
.site-footer p { max-width: 430px; color: #9fb4c7; }
.footer-status { display: flex; align-items: center; gap: .5rem; color: #9fb4c7; font-size: .75rem; }
.footer-status i { width: .5rem; height: .5rem; border-radius: 50%; background: var(--red); }

:focus-visible { outline: 3px solid #f3a6b0; outline-offset: 3px; }

.catalogue-tabs { display: flex; gap: .5rem; margin-bottom: 1.5rem; }
.catalogue-tabs a { padding: .65rem .9rem; border: 1px solid var(--line); border-radius: 999px; color: var(--navy); text-decoration: none; font-weight: 800; }
.catalogue-tabs a[aria-current="page"] { color: white; border-color: var(--navy); background: var(--navy); }
.video-consent { aspect-ratio:16/9; min-height:0; padding:1rem; display: grid; place-content: center; gap: 1rem; overflow: hidden; position: relative; border-radius: 20px; color: white; background: radial-gradient(circle at 20% 10%, #285b82, #081f36 68%); text-align: center; }
.video-consent iframe { width: 100%; height: 100%; position: absolute; inset: 0; border: 0; }
.video-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.video-load { position:relative; z-index:1; min-height: 46px; padding: .75rem 1.15rem; border: 1px solid rgba(255,255,255,.35); border-radius: 9px; color: var(--navy); background: white; font: inherit; font-weight: 850; cursor: pointer; }
.video-consent small { position:relative; z-index:1; color:#fff; background:#081f36e8; padding:.4rem .6rem; border-radius:6px; }

@media (max-width: 1180px) {
  .home-hero { grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr); gap: 2.5rem; }
  .hero-copy h1 { font-size: clamp(3rem, 6.5vw, 5.4rem); }
  .search-panel-compact { grid-template-columns: 1fr; }
  .search-panel-compact .filter-row { border-left: 0; border-top: 1px solid var(--line); }
  .search-layout { grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); }
  .results-grid { grid-template-columns: 1fr; }
  .map-canvas { min-height: 680px; }
  .fact-grid { grid-template-columns: repeat(3, 1fr); }
  .fact-grid > div { border-bottom: 1px solid var(--line); }
}

@media (max-width: 900px) {
  .site-header { width: calc(100% - 32px); min-height: 70px; }
  .menu-button { display: block; }
  .primary-nav { display: none; position: absolute; left: 0; right: 0; top: 70px; padding: .8rem; background: white; border: 1px solid var(--line); border-radius: 0 0 14px 14px; box-shadow: var(--shadow); flex-direction: column; align-items: stretch; gap: 0; }
  .primary-nav.is-open { display: flex; }
  .primary-nav > a, .primary-nav .nav-agency { padding: .75rem; border: 0; border-radius: 8px; }
  .language-form { padding: .5rem; }
  .language-form select { width: 100%; }
  .home-hero { width: calc(100% - 32px); min-height: auto; grid-template-columns: 1fr; padding-top: 3.5rem; }
  .discovery-card { max-width: 680px; transform: none; }
  .trust-strip { grid-template-columns: repeat(2, 1fr); }
  .section, .simple-hero, .results-hero, .results-section, .breadcrumbs, .property-hero { width: calc(100% - 32px); }
  .property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .country-grid { grid-template-columns: 1fr; }
  .ai-band { grid-template-columns: 1fr; }
  .search-layout { grid-template-columns: 1fr; }
  .results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .map-panel { position: static; order: -1; }
  .map-canvas { min-height: 380px; }
  .property-hero, .detail-layout, .two-column { grid-template-columns: 1fr; }
  .agency-contact { position: static; }
  .agency-grid, .principle-grid { grid-template-columns: 1fr; }
  .agency-profile { width: calc(100% - 32px); }
  .agency-stat-strip, .agency-panel { width: calc(100% - 32px); }
  .agency-stat-strip { grid-template-columns: repeat(2, 1fr); }
  .agency-stat-strip > div:nth-child(2) { border-right: 0; }
  .agency-stat-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .agency-service-grid, .agency-team-grid { grid-template-columns: 1fr; }
  .transparency-panel { grid-template-columns: 1fr; gap: 1rem; }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .site-footer > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .domain-mark { font-size: 1.28rem; }
  .wordmark small { font-size: .51rem; }
  .hero-copy h1 { font-size: clamp(2.9rem, 15vw, 4.5rem); }
  .home-hero { padding-top: 2.8rem; }
  .natural-search { padding: .55rem; }
  .natural-search-row { grid-template-columns: auto minmax(0, 1fr); min-height: 54px; padding-right: .4rem; }
  .search-button { grid-column: 1 / -1; min-height: 46px; }
  .filter-row { grid-template-columns: 1fr 1fr; }
  .filter-control:nth-child(2n) { border-right: 0; }
  .filter-control:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .filter-control:last-child { grid-column: 1 / -1; }
  .search-suggestions a:nth-of-type(n+3) { display: none; }
  .discovery-map { height: 160px; }
  .discovery-card > a { grid-template-columns: 36% 1fr; }
  .discovery-card img { height: 92px; }
  .trust-strip { grid-template-columns: 1fr 1fr; padding-left: 0; padding-right: 0; }
  .trust-strip > div { padding: .9rem 1rem; }
  .section-heading { display: block; }
  .section-heading .text-link { margin-top: 1rem; }
  .property-grid, .results-grid { grid-template-columns: 1fr; }
  .results-hero { display: block; }
  .save-search-button { margin-top: 1rem; }
  .search-dock { padding-left: 16px; padding-right: 16px; }
  .map-canvas { min-height: 320px; }
  .fact-grid { grid-template-columns: 1fr 1fr; }
  .source-panel { grid-template-columns: 1fr; }
  .source-panel small { grid-column: 1; }
  .claim-ribbon { margin-left: 16px; margin-right: 16px; flex-direction: column; align-items: flex-start; }
  .agency-profile { grid-template-columns: 1fr; }
  .agency-stat-strip { margin-top: -1rem; }
  .agency-stat-strip > div { padding: 1rem; }
  .agency-stat-strip strong { font-size: 1.35rem; }
  .agency-actions { display: grid; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer > div:first-child { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

.publisher-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:3rem;align-items:start}.publisher-options{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.publisher-options a{padding:.65rem .85rem;border:1px solid var(--line,#dfe6ef);border-radius:8px;font-size:.85rem;color:inherit;text-decoration:none}.publisher-options a[aria-current]{background:#0b2b4b;color:#fff}.publisher-form{display:grid;gap:1.2rem;margin-top:2rem}.publisher-form label{display:grid;gap:.5rem;font-weight:650;font-size:.9rem}.publisher-form input,.publisher-form select,.publisher-form textarea{width:100%;box-sizing:border-box;padding:.85rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#152c43;font:inherit}.publisher-form textarea{resize:vertical}.publisher-form fieldset{border:1px solid #dfe6ef;border-radius:10px;padding:1.3rem;display:grid;gap:1rem;min-width:0}.publisher-form legend{padding:0 .5rem;font-weight:750}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.publisher-form .form-consent{display:flex;align-items:flex-start;font-weight:400}.publisher-form .form-consent input{width:auto;flex-shrink:0;margin-top:.3rem}.form-privacy{font-size:.85rem;color:#52647a}.form-result{overflow-wrap:anywhere}.form-result.is-success{padding:1rem;border:1px solid #a7d4bb;background:#f1faf5;color:#165e3e}.publisher-form button{justify-self:start;cursor:pointer}.publisher-form button:disabled{opacity:.65;cursor:default}.form-trap{display:none}.saved-searches{list-style:none;padding:0;display:grid;gap:.8rem}.saved-searches li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #dfe6ef;border-radius:10px}.saved-searches a{overflow-wrap:anywhere}.location-links{display:grid;gap:.8rem;padding:1.2rem;list-style:none}.location-links a{display:flex;gap:.7rem;align-items:center;color:#0b2b4b;text-decoration:none}.location-links strong,.location-links small{display:block}.location-links small{color:#52647a}.location-links .icon{flex-shrink:0}.map-panel .map-canvas:has(.location-links){min-height:0}@media(min-width:901px){.publisher-layout>.agency-contact:not(:has([data-owner-cover])){position:sticky;top:1rem}}
@media(max-width:900px){.publisher-layout{grid-template-columns:1fr}}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}.publisher-form fieldset{padding:1rem}.saved-searches li{align-items:flex-start}}
[hidden]{display:none!important}
.owner-toolbar { margin:1rem 0; text-align:right; }
.owner-cover { display:block; width:100%; height:auto; border-radius:16px; margin:1.5rem 0; }
.owner-requests { padding:0; list-style:none; display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
.owner-requests li { min-width:0; padding:1.25rem; border:1px solid var(--line); border-radius:16px; background:white; }
.owner-requests a,.request-reference { overflow-wrap:anywhere; }
.owner-request-heading { display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap; }
.owner-request-heading h2 { margin:0;font-size:1.25rem;line-height:1.45;flex:1 1 280px; }
.owner-request-heading h2 a { color:var(--ink);text-decoration:none; }
.owner-state { display:inline-block;padding:6px 10px;border-radius:9px;font-size:.85rem;line-height:1.5;background:#edf2f7;color:#40566c; }
.owner-state-published { background:#e8f5ef;color:#226147; }
.owner-state-sold { background:#e7eff9;color:#174b7b; }
.owner-state-unavailable,.owner-state-archive_unavailable,.owner-state-changes_requested { background:#fff4de;color:#815a14; }
.owner-listing-meta { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px 28px;margin:20px 0; }
.owner-listing-meta div { min-width:0; }
.owner-listing-meta dt { color:var(--muted);font-size:.875rem;margin-bottom:6px; }
.owner-listing-meta dd { margin:0;font-weight:650;line-height:1.6;overflow-wrap:anywhere; }
.owner-request-actions { display:flex;align-items:center;gap:14px;flex-wrap:wrap; }


.buyer-search-actions{display:grid;gap:.7rem;justify-items:end;flex-shrink:0}.account-searches h3{margin:0}.account-searches>li{align-items:flex-start}.account-searches .owner-request-actions{margin-bottom:0}[data-buyer-save]{max-width:760px;margin-bottom:2rem}

.buyer-saved-section{padding-block:2rem}.buyer-account-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.buyer-account-heading h2{font-size:2rem;line-height:1.2;margin:0}.buyer-saved-section .saved-searches{margin-block:1.5rem}
@media(max-width:600px){[data-saved-searches]>li{flex-wrap:wrap;justify-content:flex-start}[data-saved-searches]>li>a:first-child{flex:1 0 100%;min-width:0}}

.partner-language-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;margin:1rem 0}.partner-language-options label{display:flex;gap:.5rem;align-items:center;font-weight:400}.partner-language-options input{width:auto;margin:0}.publisher-form[data-partner-form] fieldset{min-width:0;margin:1rem 0;padding:1rem;border:1px solid #dfe7ef;border-radius:12px}.publisher-form[data-partner-form] legend{font-weight:650;padding:0 .4rem}.publisher-form[data-partner-form] label{margin-bottom:.7rem}

.buyer-search-actions button.text-link{padding:0;border:0;background:none;cursor:pointer;font:inherit;color:var(--blue-dark);font-weight:800}.buyer-search-actions small{max-width:25rem;text-align:end;color:var(--muted)}

.saved-comparison{padding:1.2rem;border:1px solid var(--line);border-radius:14px;margin-bottom:1.5rem}.saved-comparison h3{margin:0}.saved-comparison button:disabled{opacity:.45;cursor:default}.compare-choice{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.85rem;font-weight:650}.compare-choice input{width:18px;height:18px}.comparison-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.comparison-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:720px;font-size:.9rem}.comparison-table th,.comparison-table td{padding:1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.comparison-table tr>:first-child{width:150px;background:var(--paper,#f5f7fa)}.comparison-table thead th{background:white}.comparison-table tbody tr:last-child>*{border-bottom:0}.comparison-title{display:block;margin:.8rem 0;font-weight:800}.comparison-image{display:block;background:var(--sky);border-radius:10px;overflow:hidden}.comparison-image img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain}.comparison-image .media-placeholder{min-height:150px}

/* Official market snapshots reuse the country page shell. */
.market-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.market-summary>div:first-child strong{font-size:clamp(1.4rem,3vw,2.2rem);color:var(--blue);line-height:1.2}
.market-trend{margin:2rem 0;padding:clamp(1rem,3vw,2.5rem);border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#f0f5ff,#fff)}.market-trend figcaption{color:var(--navy);font-weight:750}
.market-trend-chart{display:block;width:100%;max-width:900px;height:auto;margin:1rem auto 0}
.market-figures table{border-collapse:collapse;width:100%;max-width:900px;margin-top:1rem;text-align:left}
.market-figures th,.market-figures td{padding:.65rem .5rem;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.market-figures caption{text-align:left;color:var(--muted);margin-bottom:.5rem}
.market-context{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(1.5rem,4vw,4rem)}
.market-chart-card,.market-guide-card{min-width:0;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.market-chart-card h2,.market-guide-card h3{margin:.7rem 0 1rem;line-height:1.2}.market-guide-card p{line-height:1.75;color:var(--muted)}
.market-period{display:inline-block;color:var(--blue);font-size:.9rem;font-weight:750}.market-chart-note{color:var(--muted);font-size:.85rem;line-height:1.7}
.market-comparison{margin:1.5rem 0}.market-comparison figcaption{font-weight:750;color:var(--navy);margin-bottom:1.2rem}
.market-bars{display:grid;gap:1.2rem;list-style:none;padding:0;margin:0}.market-bars li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;font-size:.95rem}.market-bars li>span:first-child{overflow-wrap:anywhere}.market-bars strong{white-space:nowrap;color:var(--navy)}
.market-bar-track{grid-column:1/-1;display:block;width:100%;height:14px;overflow:visible}.market-bar-background{fill:#e4eaf2}.market-bar-fill{fill:var(--blue)}.market-bar-fill.is-negative{fill:#c65b69}.market-bar-zero,.market-bar-benchmark{stroke:var(--navy);stroke-width:2px;vector-effect:non-scaling-stroke}.market-bar-zero{stroke:#a6b2c2;stroke-width:1px}
.market-region-details{padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--line);border-radius:18px;background:var(--surface)}.market-region-details>summary{font-weight:750;cursor:pointer}.market-region-details .market-bars{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 3rem}.market-region-details .market-comparison{margin-top:2rem}
@media(max-width:900px){.market-context{grid-template-columns:1fr}.market-region-details .market-bars{grid-template-columns:1fr}}
@media(max-width:600px){.market-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.market-figures table{font-size:.85rem}.market-trend{padding:1rem .25rem}.market-figures th,.market-figures td{padding:.5rem .25rem}}

/* Country information library: one shared English article layout. */
.guide-photo{margin:0 0 2.5rem}.guide-photo img{display:block;width:100%;height:auto;border-radius:18px}.guide-photo figcaption{font-size:.78rem;color:var(--muted);line-height:1.65;margin-top:.65rem}.guide-news-photo{max-width:1100px;padding-top:0;padding-bottom:1rem}.guide-feed-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;list-style:none;padding:0;margin:1.5rem 0 2rem}.guide-feed-status li{padding:1rem;border:1px solid var(--line);border-radius:14px}.guide-feed-status span{display:block;font-size:.8rem;line-height:1.6;margin-top:.5rem}.guide-stale{color:#8b470d}
.country-grid.guide-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:stretch}.guide-cards .country-card{display:block;min-width:0;padding:clamp(1.25rem,3vw,2rem);text-decoration:none;overflow-wrap:break-word}.guide-cards .country-card>div{min-width:0}.guide-cards :is(h2,h3){margin:.7rem 0 1rem;line-height:1.25;font-size:1.4rem;letter-spacing:-.025em;overflow-wrap:break-word}.guide-cards p{font-size:.95rem;line-height:1.7;color:var(--muted);margin-bottom:1.5rem}.guide-cards .text-link{font-size:.9rem;white-space:normal}.guide-cards .section-kicker{white-space:normal}.guide-cards .country-card:nth-child(3n+2){background:#f5f8fd}.guide-cards .country-card:nth-child(3n){background:#f2f8f6}
.guide-update-link{display:flex;align-items:center;justify-content:space-between;gap:2rem}.guide-update-link p{max-width:65ch}.guide-update-link .button-dark{flex-shrink:0}
.guide-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,800px);gap:clamp(2rem,6vw,7rem);padding-top:1rem;justify-content:center;align-items:start}.guide-contents{padding:1.5rem;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.guide-contents h2{font-size:1.25rem;letter-spacing:-.02em}.guide-contents ol{padding-left:1.2rem}.guide-contents li{margin:.85rem 0;line-height:1.5}.guide-contents a,.guide-source-links a{overflow-wrap:anywhere}.guide-takeaway{border-top:1px solid var(--line);padding-top:1.2rem;color:var(--navy);font-weight:650;line-height:1.75}.guide-body{min-width:0}.guide-section{padding-bottom:2.5rem;margin-bottom:2rem;border-bottom:1px solid var(--line);scroll-margin-top:2rem}.guide-section h2{font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.15}.guide-section p{font-size:1.05rem;line-height:1.9}.guide-checklist{padding:1.25rem 1.5rem;background:#f2f8f6;border-radius:16px;margin:1.75rem 0}.guide-checklist h3{margin:.2rem 0 1rem}.guide-checklist ul{padding-left:1.2rem}.guide-section-sources{font-size:.85rem;color:var(--muted)}.guide-section-sources>span{font-weight:750}.guide-source-links{padding-left:1.2rem;line-height:1.7}.guide-source-links li{margin:.5rem 0}.guide-review{background:var(--paper);border:0;border-radius:18px;padding:clamp(1rem,3vw,2rem)}
.guide-process{margin:0 0 3rem}.guide-process ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.guide-process li{display:flex;gap:1rem;align-items:center;padding:1.2rem;border:1px solid var(--line);border-radius:16px}.guide-process li>span{display:grid;place-items:center;width:2rem;height:2rem;flex-shrink:0;background:var(--blue);color:#fff;border-radius:50%;font-weight:750}.guide-process strong{font-size:.95rem;line-height:1.5}.guide-comparison{margin:2rem 0 3rem}.guide-comparison h2{font-size:1.7rem;letter-spacing:-.03em}.guide-table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px}.guide-comparison table{width:100%;border-collapse:collapse;text-align:left;font-size:.95rem;line-height:1.6}.guide-comparison caption{text-align:left;padding:1rem;font-weight:700;color:var(--navy)}.guide-comparison th,.guide-comparison td{padding:1rem;border-top:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.guide-comparison thead{background:var(--paper)}.guide-comparison tbody th{color:var(--navy)}.guide-local-news{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.guide-local-news .guide-photo{max-width:480px;margin-top:1.5rem}.guide-local-news h3{font-size:1.4rem;line-height:1.3;letter-spacing:-.02em}.guide-news{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;padding-top:1rem}.guide-news h2{font-size:1.75rem;letter-spacing:-.03em}.guide-news p{line-height:1.8}.guide-news article:first-child{grid-column:1/-1;background:linear-gradient(135deg,#f0f5ff,#fff)}
@media(max-width:900px){.guide-layout{grid-template-columns:1fr;gap:2.5rem}.guide-contents{position:static}.guide-update-link{align-items:flex-start;flex-direction:column}.guide-news,.guide-local-news{grid-template-columns:1fr}.guide-news article:first-child{grid-column:auto}}
@media(max-width:600px){.guide-process ol{grid-template-columns:1fr}.guide-comparison table{font-size:.8rem}.guide-comparison th,.guide-comparison td{padding:.65rem .45rem}.guide-section p{font-size:1rem}.guide-checklist{padding:1rem}.guide-contents{padding:1.25rem}}
.asking-price-card{min-width:0;padding:1.25rem;border:1px solid var(--line);border-radius:17px;background:var(--white)}
.asking-price-card h3{margin:0;color:var(--navy)}.asking-price-card dl{display:grid;gap:.8rem}.asking-price-card dt{color:var(--muted);font-size:.85rem}.asking-price-card dd{margin:0;font-weight:800;color:var(--navy)}
.asking-price-regions{margin-top:1.5rem}.asking-price-regions .country-grid{margin:1rem 0}

.search-panel>.form-privacy,.search-panel>.search-more{grid-column:1/-1}
.search-panel>.search-scope{margin:0;padding:.7rem 1rem;border-bottom:1px solid var(--line)}
.search-more{border-top:1px solid var(--line)}
.search-more>summary{padding:.75rem 1rem;font-weight:750;color:var(--navy);cursor:pointer}
.search-panel .search-more .filter-row{grid-template-columns:repeat(4,minmax(0,1fr));border-left:0}
.search-more>.form-privacy,.search-panel>.form-privacy:not(.search-scope){margin:0;padding:.65rem 1rem}
@media(max-width:760px){.search-panel .search-more .filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Listing reading controls reuse the portal palette and native form elements. */
.listing-reading{margin:1.25rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.listing-reading>.form-privacy{margin:0}.listing-language-form,.translation-actions{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}
.listing-language-form label,.translation-actions label{display:grid;gap:.35rem;color:var(--navy);font-size:.85rem;font-weight:650;flex:1;min-width:0}
.listing-reading select{width:100%;min-height:44px;padding:.6rem;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font:inherit}
.instant-translation{margin-top:.8rem}.instant-translation>summary{color:var(--blue-dark);font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.5rem;border:1px solid var(--sky-strong);border-radius:8px;background:var(--sky);padding:.65rem .8rem}
.translation-options{padding-top:.5rem}.translation-options>.form-privacy{margin:.5rem 0}.translation-options [data-reading-original]{margin-top:.7rem}
.translation-options [data-reading-help]>summary{cursor:pointer;font-size:.85rem;color:var(--muted);padding:.5rem 0}.translation-options [data-reading-help] p{font-size:.9rem}
.listing-reading button:disabled{opacity:.6;cursor:wait}.translation-actions button{min-height:44px}.listing-reading [hidden]{display:none!important}
@media(max-width:600px){.listing-language-form,.translation-actions{align-items:stretch;flex-direction:column}.listing-language-form button,.translation-actions button{width:100%}}

.listing-video + .listing-video { margin-top: 1.5rem; }
.listing-video .video-consent { gap: .5rem; padding: .75rem; }
.listing-video .video-consent small { font-size: .75rem; line-height: 1.25; }

/* Optional commercial placements reuse the current map and property cards. */
.search-map-column{min-width:0;align-self:start}.search-map-column .map-panel{position:static}.search-advertisement{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:18px;background:white}.search-advertisement small,.featured-label{font-size:.72rem;color:var(--muted);font-weight:650}.search-advertisement h2{font-size:1.05rem;margin:.5rem 0}.search-advertisement p{font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}.search-advertisement a{font-size:.85rem}.search-advertisement.staging-affiliate-space{border:2px solid #bd1919;background:#fff5f5}.staging-affiliate-label{display:block;margin-bottom:.5rem;color:#a31212;font-size:.8rem}.featured-label{display:inline-block;vertical-align:middle;padding:.25rem .45rem;border:1px solid var(--line);border-radius:6px;white-space:nowrap}@media(max-width:1000px){.search-map-column{position:static;order:-1}}

/* School information shares the country guide layout; no third-party assets. */
.school-hero{padding-top:2.5rem;padding-bottom:2rem}
.school-heading,.school-card-heading,.school-area-link{display:flex;align-items:center;gap:1.2rem}
.school-heading{align-items:flex-start}.school-heading h1,.school-heading h2{margin-top:0}.school-heading>div{min-width:0}
.school-icon{flex-shrink:0;color:var(--navy)}.school-icon-wrap{display:inline-flex;flex-shrink:0;padding:.85rem;border-radius:18px;background:#e5f2ed}
.school-card-heading .school-icon{width:34px;height:34px}.school-card h3{font-size:1.35rem;line-height:1.3}.school-card{min-width:0;overflow-wrap:anywhere}
.school-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.school-filters label{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--navy);min-width:0}
.school-filters select,.school-filters input{width:100%;min-width:0;min-height:46px;padding:.65rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font:inherit}
.school-filters .owner-request-actions,.school-filter-help{grid-column:1/-1}.school-filter-help{font-size:.8rem;color:var(--muted);margin:0;line-height:1.6}
.school-facts{margin:1.25rem 0}.school-facts>div{padding:.7rem 0;border-bottom:1px solid var(--line)}.school-facts dt{font-size:.8rem;font-weight:700;color:var(--muted)}.school-facts dd{margin:.35rem 0 0;line-height:1.6;overflow-wrap:anywhere}
.school-tags{display:flex;flex-wrap:wrap;gap:.4rem}.school-tags span{padding:.35rem .6rem;background:var(--sky);border-radius:8px;font-size:.75rem}
.school-area-link{align-items:flex-start;max-width:1100px;margin:0 auto;padding:2rem clamp(1rem,4vw,2rem)}.school-area-link h2{margin:0;font-size:1.5rem}.school-area-link p{line-height:1.7;max-width:65ch}
.listing-school-link{display:flex;align-items:center;gap:.65rem}.listing-school-link .school-icon{width:28px;height:28px}
@media(max-width:700px){.school-filters{grid-template-columns:1fr 1fr;padding:1rem}.school-heading{gap:.85rem}.school-icon-wrap{padding:.55rem}.school-icon-wrap .school-icon{width:36px;height:36px}.school-area-link{gap:.85rem}}
@media(max-width:450px){.school-hero .school-heading{flex-direction:column}.school-filters{grid-template-columns:1fr}.school-heading h1{overflow-wrap:anywhere}.school-area-link .school-icon-wrap{display:none}}

/* Shared relocation module; forms work without client-side JavaScript. */
.move-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.5rem;border:1px solid var(--line);border-radius:12px;background:var(--sky);margin-top:1.75rem;text-align:left}
.move-filters>label{display:grid;align-content:start;gap:.45rem;font-size:.85rem;font-weight:700;min-width:0}.move-filters select{width:100%;min-width:0;min-height:46px;padding:.65rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font:inherit}.move-filters .form-consent{display:flex;align-items:center;gap:.6rem;grid-column:span 2}.move-filters button{justify-self:start;align-self:center;max-width:100%;white-space:normal}
.move-entry{display:flex;align-items:flex-start;gap:1.25rem}.move-entry>div{min-width:0}.move-entry h2{margin-top:0}.move-entry p{max-width:65ch;line-height:1.7}.move-steps{padding-left:1.5rem}.move-steps li{padding:.6rem 0 .6rem .4rem;line-height:1.8}.move-steps li::marker{font-weight:800;color:var(--red)}
.information-language-picker{position:relative}.information-language-picker summary{cursor:pointer;font-weight:700;font-size:.85rem}.information-language-picker>.information-languages{position:absolute;top:1.75rem;right:0;z-index:20;display:grid;grid-template-columns:repeat(3,minmax(6rem,1fr));gap:.25rem;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px #18253d18;max-height:65vh;overflow:auto}.information-language-picker>.information-languages a{padding:.45rem}
@media(max-width:800px){.move-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.move-filters .form-consent{grid-column:1/-1}.information-language-picker>.information-languages{position:static;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:none}.move-entry{gap:.85rem}}
@media(max-width:450px){.move-filters{grid-template-columns:1fr;padding:1rem}.move-filters .form-consent{grid-column:auto}.move-entry>.school-icon-wrap{display:none}.move-entry h2{overflow-wrap:anywhere}}

/* Featured discovery and aggregate reports reuse the shared marketplace scale. */
.featured-card{border:2px solid #b78c35;background:#fffdf7}.featured-card .property-media{position:relative}.featured-card .property-media>.featured-label{position:absolute;left:12px;bottom:12px;background:#0b2b4b;color:#fff;padding:6px 10px;border-radius:6px}
.featured-video-card .property-image{position:relative;aspect-ratio:16/9;background:#102b46}.featured-video-card .property-image img{object-fit:contain;width:100%;height:100%}.featured-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#0b2b4be0;color:#fff;border-radius:50%;padding:13px 17px}
.featured-discovery .section-heading h2{font-size:clamp(22px,3vw,30px)}.featured-discovery .property-content h2{font-size:20px}.featured-discovery .card-source{flex-wrap:wrap;gap:8px}
.traffic-choice{margin:20px auto;padding:12px 20px;max-width:1000px;font-size:14px}.traffic-choice button{font:inherit}.site-footer .traffic-choice{grid-column:1/-1;width:100%;max-width:none;margin:0;padding:1rem 0 0;border-top:1px solid #ffffff30;color:inherit}.site-footer .traffic-choice summary{cursor:pointer}.form-verification{max-width:100%;margin:.5rem 0}[data-seller-enquiry] [role=status]:not(:empty){padding:.85rem;border:1px solid var(--line);border-radius:8px;background:#f3f7fc;overflow-wrap:anywhere}[data-seller-enquiry] [role=status][data-state=saved]{color:#165e3e;background:#eef9f2;border-color:#a7d4bb}[data-seller-enquiry] [role=status][data-state=error]{color:#8b2525;background:#fff3f3;border-color:#e3b5b5}[data-seller-enquiry] [role=status]:focus{outline:2px solid currentColor;outline-offset:3px}.traffic-filters{display:flex;flex-wrap:wrap;align-items:end;gap:1rem}.traffic-filters label,[data-report-preference] label{display:grid;gap:.4rem}.traffic-filters input,.traffic-filters select,[data-report-preference] input[type=email]{font:inherit;padding:.7rem;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:8px}.traffic-filters select{width:22rem}
.traffic-bars{display:grid;gap:6px}.traffic-bars>div{display:grid;grid-template-columns:7rem 1fr 3rem;align-items:center;gap:.7rem}.traffic-bars meter{width:100%;height:20px}.traffic-table{overflow-x:auto}.traffic-table table{width:100%;min-width:30rem;border-collapse:collapse}.traffic-table th,.traffic-table td{text-align:left;padding:.65rem;border-bottom:1px solid var(--line)}
@media(max-width:600px){.featured-discovery .property-grid{grid-template-columns:1fr}.traffic-filters label{width:100%}.traffic-filters input,.traffic-filters select{width:100%}.traffic-bars>div{grid-template-columns:6rem 1fr 2rem}}

/* Shared owner invitation: rendered once on public discovery pages. */
.fsbo-public-entry{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:40px clamp(20px,4vw,64px);padding:clamp(24px,4vw,44px);border:1px solid #dce2eb;border-radius:16px;background:#f4f0fa;color:#182b45}.fsbo-public-entry>div{max-width:760px;min-width:0}.fsbo-public-entry h2{font-size:clamp(24px,3vw,36px);margin:8px 0}.fsbo-public-entry p{line-height:1.6}.fsbo-public-entry small{display:block;line-height:1.6}.fsbo-public-entry .button-dark{flex-shrink:0}.primary-nav .nav-owner{color:#703aa7;font-weight:800}@media(max-width:700px){.fsbo-public-entry{align-items:stretch;flex-direction:column}.fsbo-public-entry .button-dark{text-align:center;white-space:normal}}

/* Property layout: each column flows independently, without a blank second row. */
.property-reading-top,.property-layout{width:min(1500px,calc(100% - 48px));margin:0 auto}.property-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:38px;align-items:start;padding-bottom:40px}.property-main,.property-layout .listing-sidebar{min-width:0}.property-main .prose{margin-top:28px}.property-reading-top .listing-reading{margin:0 0 24px}.listing-reading-heading{font-weight:700;margin-bottom:12px}.listing-reading-heading p{margin:0}.listing-language-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.listing-language-badges>span{font-size:12px;color:var(--muted);margin-right:4px}.listing-language-badges a{display:inline-flex;padding:6px 10px;border:1px solid var(--line);border-radius:20px;font-size:12px;background:var(--white);text-decoration:none}.listing-language-badges a[aria-current]{background:var(--navy);color:white}.listing-reading .instant-translation{margin-top:12px}.seller-enquiry summary{cursor:pointer;display:block;list-style:none;text-align:center}.seller-enquiry summary::-webkit-details-marker{display:none}.seller-enquiry form{display:grid;gap:12px;margin-top:18px}.seller-enquiry label{display:grid;gap:5px;font-size:13px}.seller-enquiry input,.seller-enquiry textarea,.seller-notification-settings :is(input,select){font:inherit;width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--line);border-radius:7px;padding:10px;background:white;color:var(--ink)}.seller-enquiry .form-consent{display:flex;align-items:start;gap:8px}.seller-enquiry input[type=checkbox]{width:18px;min-width:18px;min-height:18px}.seller-enquiry [role=status]{font-size:13px;line-height:1.5}.seller-enquiry [hidden]{display:none!important}.seller-message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.seller-inbox{display:grid;gap:12px}.seller-inbox article{border:1px solid var(--line);padding:18px;border-radius:10px}.seller-inbox article h2{font-size:20px}.seller-notification-settings{max-width:700px}.seller-notification-settings label{display:grid;gap:6px;margin-bottom:16px}.seller-inbox-nav{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
@media(max-width:850px){.property-layout{grid-template-columns:minmax(0,1fr)}.property-reading-top,.property-layout{width:calc(100% - 32px)}}

.property-reading-top .listing-reading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:20px;align-items:start}.property-reading-top .listing-reading-heading{grid-column:1/-1;margin-bottom:10px}.property-reading-top .listing-language-form{grid-column:1;grid-row:2}.property-reading-top .listing-language-badges{grid-column:1;grid-row:3;margin-bottom:0}.property-reading-top .instant-translation{grid-column:2;grid-row:2/4;margin-top:0}.seller-inbox .is-unread{border-left:4px solid var(--purple)}
@media(max-width:700px){.property-reading-top .listing-reading{display:block}.property-reading-top .instant-translation{margin-top:12px}.cityline .cityline-property-flow [data-design-container=property]{display:flex;flex-direction:column;gap:20px}.cityline-property-flow [data-design-container=property]>.cityline-block{display:contents}.cityline-property-flow .cityline-gallery{order:1}.cityline-property-flow .cityline-summary{order:2}.cityline-property-flow .cityline-details{order:3}.cityline-property-flow .listing-sidebar{order:4}.cityline-property-flow .cityline-details,.cityline-property-flow .listing-sidebar{margin-top:0}}

/* Seller enquiries use one compact workspace rather than the marketing-page hero. */
.seller-workspace{width:min(1100px,calc(100% - 40px));margin:0 auto;padding:36px 0 56px}.seller-workspace-header{margin-bottom:24px}.seller-workspace-header h1{font-size:clamp(30px,4vw,44px);line-height:1.15;margin:0 0 14px}.seller-workspace .seller-inbox-nav{margin:0}.seller-workspace details.seller-notification-settings{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:16px;margin:0 0 24px}.seller-workspace details.seller-notification-settings summary{font-weight:700;cursor:pointer}.seller-workspace [data-seller-preference]{margin-top:18px}.seller-workspace .prose{margin-top:24px}
@media(max-width:1000px){.property-reading-top .translation-actions{flex-direction:column;align-items:stretch}.property-reading-top .translation-actions button{width:100%}}

.property-secondary-price{display:block;font-size:.6em;font-weight:600;line-height:1.6}.content-language-label{font-size:.7em;font-weight:500}

/* USA data and school modules: labels stay at readable text size on narrow screens. */
.usa-state-guide .guide-body{min-width:0;container-type:inline-size;container-name:usa-information}.usa-state-guide .fact-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.usa-state-guide .guide-photo img{width:100%;max-height:520px;object-fit:cover}.usa-bars{margin:1.8rem 0;padding:1.4rem;border:1px solid var(--line);border-radius:7px}.usa-bars ol{list-style:none;padding:0;margin:1rem 0}.usa-bars li{margin:.9rem 0}.usa-bars li>div{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem;line-height:1.4}.usa-bars svg{display:block;width:100%;height:12px;background:#f0e9f7;margin-top:.35rem;border-radius:3px;overflow:hidden}.usa-directory-photo{max-width:800px}.usa-directory-photo .guide-photo img{width:100%;max-height:350px;object-fit:cover}.usa-school-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(2,minmax(140px,1fr));gap:1rem;align-items:end;margin:1.5rem 0}.usa-school-filters label{display:grid;gap:.5rem;font-weight:700}.usa-school-filters input,.usa-school-filters select{width:100%;min-width:0;padding:.8rem;border:1px solid var(--line);border-radius:5px;background:#fff;font:inherit}.usa-school-card dl{margin:1rem 0;font-size:.95rem;line-height:1.6}.usa-school-card dt{font-weight:700}.usa-school-card dd{margin:0 0 .8rem;color:var(--muted)}.usa-school-card{overflow-wrap:anywhere}.usa-directory-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin:2rem 0}.usa-state-guide .guide-table-scroll{overflow-x:auto}.usa-state-guide table{width:100%;border-collapse:collapse}.usa-state-guide :is(th,td){text-align:left;vertical-align:top;padding:.8rem;border-bottom:1px solid var(--line)}
@media(max-width:700px){.usa-school-filters{grid-template-columns:1fr}.usa-bars{padding:1rem}.usa-state-guide .guide-photo img{max-height:320px}.usa-state-guide .guide-contents nav ol{columns:1}}

.usa-trend-mobile{display:none}@media(max-width:700px){.usa-trend-desktop{display:none}.usa-trend-mobile{display:block}}

@container usa-information (max-width:600px){.usa-trend-desktop{display:none}.usa-trend-mobile{display:block}}

/* USA local information uses existing Cityline cards, figures and mobile chart variants. */
.usa-area-thumb{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px;margin-bottom:1rem}.usa-local-guide .guide-photo img{object-fit:contain}.usa-local-guide .guide-body>details{max-width:100%}

.usa-local-guide .guide-section{scroll-margin-top:110px}

/* Unloaded map preview */
.listing-map-placeholder:not(:has(iframe)),.search-map-canvas:has(>[data-open-search-map]){position:relative;isolation:isolate;overflow:hidden}
.listing-map-placeholder:not(:has(iframe))::before,.search-map-canvas:has(>[data-open-search-map])::before{content:"";position:absolute;inset:-4px;z-index:-2;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20960%20600%22%3E%3Crect%20width%3D%22960%22%20height%3D%22600%22%20fill%3D%22%23e5e9df%22%2F%3E%3Cg%20fill%3D%22%23d0dcc7%22%3E%3Cpath%20d%3D%22M0%200h260l-35%20160-180%2055H0z%22%2F%3E%3Cpath%20d%3D%22M635%200h325v205l-145-32-82-98z%22%2F%3E%3Cpath%20d%3D%22M590%20395l165-70%20205%2088v187H645z%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M-40%20520C155%20390%20165%20250%20350%20240S640%20290%20700%20125%20850%2020%201010-40%22%20stroke%3D%22%23b8d2df%22%20stroke-width%3D%2266%22%20fill%3D%22none%22%2F%3E%3Cg%20stroke%3D%22%23c9d0c3%22%20stroke-width%3D%223%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M60%200l105%20600M260%200l-30%20600M450%200l70%20600M655%200l-20%20600M860%200l-75%20600M0%20100l960%2070M0%20310l960-60M0%20480l960%2050%22%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D%22%23fff%22%20stroke-width%3D%2218%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M-20%20210L980%20450M100-20L665%20620M-20%20470L965%2090%22%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D%22%23efe2b2%22%20stroke-width%3D%228%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M-20%20210L980%20450M100-20L665%20620M-20%20470L965%2090%22%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D%22%23f9faf6%22%20stroke-width%3D%229%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M0%2085l960%2065M0%20350l960-70M95%200l95%20600M415%200l65%20600M835%200l-75%20600%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/cover no-repeat;filter:blur(1px);pointer-events:none}
.listing-map-placeholder:not(:has(iframe))::after,.search-map-canvas:has(>[data-open-search-map])::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(249,251,252,.62);pointer-events:none}
.listing-map-placeholder>[data-load-map],.search-map-canvas>[data-open-search-map]{position:relative;z-index:1;box-shadow:0 4px 18px #102b4530}
.listing-map-placeholder:not(:has(iframe)) small{max-width:38ch;margin-inline:auto;padding:.45rem .65rem;background:rgba(255,255,255,.8);border-radius:8px;line-height:1.5}
