: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; scroll-behavior: smooth; 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; }
.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; outline: 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 { width: 100%; min-height: 31px; border: 0; outline: 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; }
.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:1181px){.search-panel-compact:has(select[name="region"]){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-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; }
.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 { position: sticky; top: 1rem; border: 1px solid var(--line); border-radius: 18px; padding: 1.5rem; background: white; box-shadow: var(--shadow-sm); }
.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(4, 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-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); column-gap: clamp(2rem, 6vw, 7rem); align-items: end; }
.catalogue-hero > .section-kicker, .catalogue-hero > h1, .catalogue-hero > p { grid-column: 1; }
.catalogue-search { grid-column: 2; grid-row: 1 / span 3; display: grid; grid-template-columns: 1fr 90px auto; gap: .65rem; align-items: end; padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: var(--shadow-sm); }
.catalogue-search label { min-width: 0; display: grid; gap: .35rem; color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.catalogue-search input { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 9px; padding: .7rem; color: var(--navy); background: var(--surface); font: inherit; text-transform: none; letter-spacing: 0; }
.catalogue-search .button-dark { min-height: 44px; border: 0; }
.catalogue-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 1.8vw, 1.7rem); }
.catalogue-card { min-width: 0; overflow: hidden; display: grid; grid-template-columns: minmax(150px, 40%) minmax(0, 1fr); border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: var(--shadow-sm); }
.catalogue-card > div:last-child { display: grid; align-content: start; gap: .65rem; padding: 1.2rem; }
.catalogue-card h2 { margin: 0; color: var(--navy); font-size: 1.14rem; line-height: 1.2; }
.catalogue-card h2 a { color: inherit; text-decoration: none; }
.catalogue-card p, .catalogue-card small { margin: 0; color: var(--muted); }
.catalogue-card > div > strong { color: var(--navy); font-size: 1.08rem; }
.catalogue-poster, .sold-card-mark { position: relative; min-height: 230px; display: grid; place-content: center; gap: .7rem; padding: 1rem; color: white; text-align: center; text-decoration: none; background: radial-gradient(circle at 25% 20%, #366b94, #0b2b4b 70%); }
.sold-poster, .sold-card-mark { background: linear-gradient(145deg, #273646, #0b2b4b); }
.sold-card-mark strong { padding: .4rem .65rem; border: 2px solid #fff; border-radius: 6px; letter-spacing: .14em; }
.sold-card-mark small, .catalogue-poster small { color: #fff; }
.video-play-mark { display: inline-grid; width: 54px; height: 54px; place-content: center; border-radius: 50%; color: white; background: var(--red); box-shadow: 0 10px 28px rgba(207, 32, 56, .35); }
.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); }
.catalogue-empty { grid-column: 1 / -1; padding: clamp(2rem, 5vw, 5rem); border: 1px dashed #aec0d1; border-radius: 18px; color: var(--muted); text-align: center; background: var(--surface); }
.catalogue-empty h2 { margin-top: 0; color: var(--navy); }
.video-detail, .sold-detail { width: min(1500px, calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: clamp(2rem, 5vw, 6rem); padding: clamp(2rem, 5vw, 5rem) 0; }
.video-detail article { align-self: center; }
.video-detail h1, .sold-detail h1 { margin: .5rem 0 1rem; color: var(--navy); font-size: clamp(2.3rem, 5vw, 4.8rem); line-height: .98; letter-spacing: -.045em; }
.video-detail article > p { color: var(--muted); line-height: 1.7; }
.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 { display: grid; justify-items: center; gap: .9rem; font-size: 1.4rem; font-weight: 900; }
.video-poster > span:last-child > span { color: var(--red); }
.video-load { 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 { color: #d7e1e9; }
.archive-price { display: grid; gap: .2rem; margin: 1rem 0; }
.archive-price span, .archive-price small { color: var(--muted); font-size: .75rem; font-weight: 750; }
.archive-price strong { color: var(--navy); font-size: clamp(1.35rem, 3vw, 2rem); }
.catalogue-source { padding: 1rem 0; border-top: 1px solid var(--line); }
.sold-detail { align-items: end; border-bottom: 1px solid var(--line); }
.sold-detail .archive-price { justify-self: end; min-width: 260px; padding: 1.2rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.sold-seal { display: inline-block; margin-right: .7rem; padding: .35rem .55rem; border: 2px solid #596573; border-radius: 5px; color: #596573; font-size: .72rem; font-weight: 900; letter-spacing: .13em; }
.archive-provenance { display: grid; gap: .7rem; margin-top: 1.5rem; }
.archive-provenance div { display: grid; grid-template-columns: 145px 1fr; gap: 1rem; padding-bottom: .7rem; border-bottom: 1px solid var(--line); }
.archive-provenance dt { color: var(--muted); }
.archive-provenance dd { margin: 0; color: var(--navy); font-weight: 750; }
.archive-video-link { display: flex; align-items: center; gap: 1rem; margin: .8rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: 12px; color: var(--navy); text-decoration: none; background: white; }
.archive-video-link .video-play-mark { flex: 0 0 auto; width: 42px; height: 42px; }
.archive-video-link span:last-child { display: grid; gap: .2rem; }
.archive-video-link small { color: var(--muted); }

@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; }
  .catalogue-hero { grid-template-columns: 1fr; }
  .catalogue-search { grid-column: 1; grid-row: auto; margin-top: 1rem; }
  .catalogue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .video-detail, .sold-detail { grid-template-columns: 1fr; }
  .sold-detail .archive-price { justify-self: start; }
}

@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; }
  .catalogue-search { grid-template-columns: 1fr 80px; }
  .catalogue-search .button-dark { grid-column: 1 / -1; }
  .catalogue-grid { grid-template-columns: 1fr; }
  .catalogue-card { grid-template-columns: 38% 1fr; }
  .catalogue-poster, .sold-card-mark { min-height: 200px; }
  .video-detail, .sold-detail { width: calc(100% - 32px); }
  .archive-provenance div { grid-template-columns: 1fr; gap: .2rem; }
}

@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}.publisher-layout>.agency-contact{position:sticky;top:1rem}
@media(max-width:900px){.publisher-layout{grid-template-columns:1fr}.publisher-layout>.agency-contact{position:static}}
@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; gap:1rem; }
.owner-requests li { 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; }

.sold-card-mark.has-cover{display:block;padding:0;min-height:0}.sold-card-mark.has-cover img{display:block;width:100%;height:auto}.sold-card-mark.has-cover strong{position:absolute;top:16px;left:16px;background:#0b2b4bcc}.sold-card-mark.has-cover small{position:absolute;bottom:10px;left:10px;background:#0b2b4bcc;padding:4px 8px;border-radius:5px}.sold-cover{margin-top:24px;background:#edf1f4;border-radius:20px;overflow:hidden}.sold-cover img{display:block;width:100%;height:auto}

.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}

.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}
