@import url('../shared/home-discovery.css');
/* Shared enhancements inherit the Warm Ibiza Boutique palette. */
:root{--price-accent:#66705c;--price-track:#d7cbbb;--price-ink:#332b26;--price-error:#933d32;--price-surface:#fffcf7;--brand-loader-bg:#454d3d;--brand-loader-ink:#f6f0e6;--brand-loader-logo-width:220px}
@font-face{font-family:'DM Serif Display';src:url('../shared/fonts/DMSerifDisplay-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../shared/fonts/DMSans-Variable.ttf') format('truetype');font-weight:100 1000;font-style:normal;font-display:swap}
:root {
  --cream:#f6f0e6; --surface:#fffcf7; --ink:#332b26; --action:#874d39;
  --terracotta:#a7654d; --olive:#66705c; --muted:#575e4e; --sand:#dcc8aa;
  --line:#c8beb0; --control-line:#8d8374; --error:#933d32; --display:'DM Serif Display',Georgia,'Times New Roman',serif;
  --body:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-padding-top:100px; scroll-padding-bottom:100px; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.6; }
body.modal-open { overflow:hidden; }
button,input,select,textarea { font:inherit; color:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
button:disabled { opacity:.55; cursor:not-allowed; }
button { background:none; border:0; }
h1,h2,h3,p,figure,blockquote { margin:0; }
h1,h2,h3 { font-family:var(--display); font-weight:400; line-height:1.14; text-wrap:balance; }
h1 { font-size:clamp(44px,5.3vw,76px); letter-spacing:-.045em; }
h2 { font-size:clamp(32px,3.3vw,48px); letter-spacing:-.035em; }
h3 { font-size:26px; letter-spacing:-.025em; }
p { overflow-wrap:anywhere; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.container { width:calc(100% - 80px); max-width:1280px; margin-inline:auto; }
.section { padding-block:96px; }
.eyebrow { font:500 12px/1.5 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.small { font-size:14px; line-height:1.5; }
.lead { font-size:18px; line-height:1.75; }
.button,.secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; padding:12px 24px; border-radius:4px; background:var(--action); color:var(--surface); font-size:14px; font-weight:600; line-height:1.5; text-align:center; }
.icon { display:inline-block; width:18px; height:18px; flex:none; vertical-align:middle; fill:currentColor; }
.button:has(.icon),.secondary-button:has(.icon),.text-link:has(.icon),.text-button:has(.icon),.menu-trigger { gap:8px; }
.favorite .icon,.menu-trigger .icon,.close-dialog .icon,.gallery-open .icon,.inline-gallery-controls .icon,.lightbox-controls .icon { width:20px; height:20px; }
.breadcrumbs .icon,.testimonial figcaption .icon,.sample-note .icon { width:16px; height:16px; }
.testimonial figcaption a:has(.icon) { gap:8px; }
.button:hover { background:var(--ink); }
.secondary-button { border:1px solid var(--muted); background:transparent; color:var(--ink); }
.secondary-button:hover { background:var(--sand); }
.text-link,.text-button { display:inline-flex; align-items:center; gap:16px; min-height:44px; padding:8px 0; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; font-size:14px; font-weight:500; text-align:left; }
.text-link:hover,.text-button:hover { color:var(--action); }
.skip { position:fixed; z-index:99; left:20px; top:-100px; padding:12px 20px; background:var(--surface); }
.skip:focus { top:12px; }
.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; }
.concept-banner { background:var(--sand); font-size:11px; line-height:1.5; text-align:center; padding:8px 24px; }
.site-header { position:sticky; top:0; z-index:20; background:var(--cream); border-bottom:1px solid var(--line); }
.header-inner { height:80px; display:flex; align-items:center; gap:32px; }
.brand { display:flex; width:128px; height:76px; align-items:center; margin-right:auto; overflow:hidden; }
.brand img { width:128px; height:128px; max-width:none; object-fit:contain; }
.desktop-nav { display:flex; align-items:center; gap:32px; }
.desktop-nav a { display:flex; min-height:44px; align-items:center; font-size:14px; }
.desktop-nav a:hover { color:var(--action); text-decoration:underline; text-underline-offset:6px; }
.desktop-nav a[aria-current],.mobile-nav a[aria-current] { text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
.menu-trigger { display:none; min-height:44px; align-items:center; gap:14px; }
.header-favorites { display:inline-flex; align-items:center; gap:8px; min-width:44px; min-height:44px; font-size:14px; white-space:nowrap; }
.header-favorites:hover,.header-favorites[aria-current="page"] { color:var(--action); }
.favorites-count { font-family:var(--body); font-size:12px; font-variant-numeric:tabular-nums; }
.favorites-page { padding-block:48px 80px; min-height:65vh; }
.favorites-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.favorites-heading h1 { margin-block:12px 16px; font-size:clamp(44px,4.5vw,64px); }
.favorites-heading p:last-child { color:var(--muted); font-size:14px; }
.favorites-tools { display:flex; justify-content:flex-end; border-top:1px solid var(--line); margin-top:32px; padding-block:12px 24px; }
.favorites-empty { padding-block:64px 96px; }
.favorites-empty p { max-width:440px; margin-inline:auto; }
.favorite-storage-note { margin:20px auto; padding:12px 16px; max-width:1280px; border-left:2px solid var(--action); background:var(--surface); font-size:14px; }
.mobile-nav .menu-favorites { display:flex; align-items:center; gap:12px; }
.hero { padding-top:48px; }
.hero-heading { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:48px; margin-bottom:32px; }
.hero-heading .eyebrow { margin-bottom:14px; }
.hero-intro { max-width:430px; justify-self:end; padding-bottom:2px; }
.hero-intro>p { max-width:390px; font-size:17px; line-height:1.7; }
.hero-actions { display:flex; gap:28px; align-items:center; margin-top:20px; }
.hero-photo { display:block; position:relative; height:480px; border-radius:4px; overflow:hidden; }
.hero-photo>img { width:100%; height:100%; object-fit:cover; }
.photo-note { position:absolute; bottom:20px; right:20px; display:flex; gap:24px; background:var(--surface); color:var(--ink); padding:10px 16px; font-size:12px; }
.quick-search { border-bottom:1px solid var(--line); padding-block:24px; }
.quick-desktop { max-width:1100px; margin-inline:auto; }
.search-form { display:grid; align-items:end; gap:16px; }
.search-form.quick { grid-template-columns:1fr 1.4fr 1fr auto; }
.field { display:flex; flex-direction:column; gap:6px; min-width:0; font-size:13px; }
.field>span:first-child { font-weight:500; }
.field input,.field select,.field textarea,.sort-label select { width:100%; min-width:0; min-height:48px; border:1px solid var(--control-line); border-radius:4px; background:var(--surface); padding:10px 12px; font-size:16px; }
.field textarea { resize:vertical; }
.select-control { position:relative; display:block; width:100%; min-width:0; }
.select-control select { appearance:none; padding-right:44px; }
.select-control>.icon { position:absolute; right:14px; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--muted); }
.field input:hover,.field select:hover,.field textarea:hover,.sort-label select:hover { border-color:var(--action); background:var(--cream); }
.field:focus-within>span:first-child { color:var(--action); }
.field input:disabled,.field select:disabled,.field textarea:disabled,.sort-label select:disabled { background:var(--cream); color:var(--muted); opacity:.65; cursor:not-allowed; }
.field [aria-invalid="true"] { border-color:var(--error); }
@media(forced-colors:active) { .select-control select { appearance:auto; } .select-control>.icon { display:none; } }
.search-buttons { display:flex; align-items:center; gap:16px; }
.mobile-search,.mobile-filters { display:none; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:40px; }
.section-heading h2 { max-width:650px; }
.section-heading>p { font-size:14px; max-width:280px; color:var(--muted); }
.property-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 32px; }
.property-card { position:relative; min-width:0; }
.card-link { display:block; height:100%; }
.card-media { position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:4px; background:var(--sand); }
.card-media>img { width:100%; height:100%; object-fit:cover; }
.operation { position:absolute; top:16px; left:16px; background:var(--surface); padding:5px 10px; font-size:12px; }
.favorite { display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:var(--surface); border-radius:4px; position:absolute; top:12px; right:12px; color:var(--ink); }
.favorite[aria-pressed="true"] { color:var(--action); }
.card-copy { padding-top:22px; }
.card-copy .eyebrow { font-size:11px; letter-spacing:.08em; }
.card-copy h3 { font-size:26px; margin-block:8px 16px; }
.price { font-family:var(--body); font-size:22px; font-weight:500; line-height:1.4; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.specs { display:flex; flex-wrap:wrap; gap:8px 16px; color:var(--muted); font-size:12px; line-height:1.6; margin-top:12px; }
.metric { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.metric .icon { width:16px; height:16px; color:var(--muted); }
.render-label { position:absolute; bottom:10px; left:10px; background:var(--surface); padding:6px 10px; font:500 12px/1.4 var(--body); color:var(--ink); }
.missing-photo { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:200px; background:var(--sand); color:var(--ink); padding:20px; text-align:center; }
.buy-rent { display:grid; grid-template-columns:1.08fr 1fr; gap:64px; padding-block:16px 0; }
.journey-1 { padding-top:96px; }
.journey-image { display:block; height:420px; border-radius:4px; overflow:hidden; }
.journey-image>img { width:100%; height:100%; object-fit:cover; }
.journey-1 .journey-image>img { object-position:50% 45%; }
.journey-copy { padding:28px 0; }
.journey-copy p { margin-block:16px; }
.area-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 32px; }
.area-link { display:block; min-width:0; padding-bottom:20px; border-bottom:1px solid var(--line); }
.area-image { aspect-ratio:3/2; overflow:hidden; border-radius:4px; }
.area-image>img { width:100%; height:100%; object-fit:cover; }
.area-copy { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-top:22px; }
.area-link h3 { font-size:29px; text-wrap:balance; }
.area-cta { flex:none; font-size:13px; text-decoration:underline; text-underline-offset:5px; }
.area-caption { margin-top:12px; color:var(--muted); font-size:12px; }
.area-link:hover .area-cta { color:var(--action); }
.seller { background:var(--sand); padding-block:80px; }
.seller-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:112px; align-items:center; }
.seller h2 { font-size:clamp(36px,4vw,56px); }
.seller p { margin-block:24px 28px; max-width:530px; font-size:18px; }
.seller ol { padding:0; margin:0; list-style:none; }
.seller li { display:flex; align-items:center; gap:28px; padding-block:24px; border-bottom:1px solid #a49176; font-size:17px; }
.seller li>.icon { width:20px; height:20px; color:var(--action); }
.personal { display:grid; grid-template-columns:.9fr 1fr; align-items:center; gap:112px; }
.portrait { max-width:460px; position:relative; }
.portrait>img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:4px; }
.portrait-caption { padding:20px 0; display:flex; flex-direction:column; border-bottom:1px solid var(--line); }
.portrait-caption strong { font-size:22px; font-family:var(--display); font-weight:400; }
.portrait-caption span { font-size:13px; margin-top:4px; color:var(--muted); }
.personal-copy h2 { max-width:440px; font-size:clamp(36px,4vw,56px); }
.personal-copy>.lead { margin-block:24px 32px; }
.pillars>div { padding-block:18px; border-top:1px solid var(--line); }
.pillars h3 { font-size:25px; margin-bottom:8px; }
.pillars p { font-size:15px; color:var(--muted); }
.testimonial { padding-block:0 112px; }
.reviews-heading { display:grid; grid-template-columns:1fr 360px; align-items:center; gap:64px; margin-bottom:48px; }
.reviews-heading h2 { max-width:590px; font-size:clamp(36px,4vw,56px); }
.google-summary { padding:24px; border-left:2px solid var(--action); background:var(--sand); }
.google-business { margin-top:10px; font-size:16px; }
.google-summary .text-link { margin-top:8px; }
.reviews-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 64px; }
.review-card { display:flex; flex-direction:column; align-items:flex-start; padding-top:28px; border-top:1px solid var(--line); min-width:0; }
.testimonial blockquote { font:400 clamp(25px,2.1vw,30px)/1.45 var(--display); letter-spacing:-.015em; overflow-wrap:anywhere; }
.testimonial figcaption { margin-top:auto; padding-top:24px; display:flex; flex-direction:column; gap:8px; width:100%; }
.testimonial figcaption strong { font:400 24px/1.3 var(--display); }
.testimonial figcaption a { color:var(--muted); font-size:12px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; min-height:44px; display:flex; align-items:center; gap:8px; }
.contact-section { background:var(--olive); color:var(--surface); padding-block:64px; }
.contact-inner { display:flex; justify-content:space-between; align-items:center; gap:48px; }
.contact-inner p { margin-top:20px; max-width:640px; }
.light-button { background:var(--surface); color:var(--ink); white-space:nowrap; }
.light-button:hover { background:var(--sand); }
.contact-section :focus-visible { outline-color:var(--surface); }
.site-footer { padding-top:56px; background:var(--surface); }
.footer-grid { display:grid; grid-template-columns:.9fr .9fr 1.3fr 1fr; gap:48px; padding-bottom:48px; }
.footer-logo { width:140px; height:140px; object-fit:contain; }
.footer-grid h2 { font:500 14px/1.5 var(--body); margin-bottom:20px; }
.footer-grid p { font-size:12px; color:var(--muted); margin-block:8px; }
.footer-grid a { display:flex; min-height:44px; align-items:center; font-size:13px; }
.social-links { display:flex; flex-direction:column; align-items:flex-start; gap:2px; margin-top:16px; }
.social-links a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.social-links a:hover { color:var(--action); }
.social-links .icon { width:16px; height:16px; }
.footer-contact .social-links { flex-direction:row; flex-wrap:wrap; gap:0 20px; margin-top:12px; }
.menu .social-links { border-top:1px solid var(--line); padding-top:16px; }
.footer-bottom { border-top:1px solid var(--line); display:flex; justify-content:space-between; padding-block:20px; font-size:11px; color:var(--muted); }
.listing-heading { padding-block:32px 24px; }
.listing-heading>.eyebrow { display:none; }
.listing-heading h1 { font-size:52px; margin-block:8px 16px; }
.listing-heading>p:last-child { color:var(--muted); font-size:14px; }
.filter-bar { background:var(--surface); border-block:1px solid var(--line); padding-block:20px; position:sticky; top:80px; z-index:10; }
.search-form.bar { grid-template-columns:1.3fr 2fr 1fr 1fr 1fr 1fr; }
.search-form.bar .search-buttons { grid-column:1/-1; justify-content:flex-end; }
.search-form.bar .field { font-size:12px; }
.search-form.bar input:not([type=range]),.search-form.bar select { background:var(--cream); }
.listing-results { padding-block:24px 80px; }
.results-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; font-size:14px; }
.sort-label { display:flex; align-items:center; gap:16px; font-size:12px; }
.sort-label .select-control { width:240px; }
.active-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; font-size:13px; }
.active-filters:not(:empty) { margin-bottom:24px; }
.sample-note { font-size:12px; line-height:1.7; color:var(--muted); margin-top:40px; }
.sample-note .text-link { font-size:12px; }
.empty-state { grid-column:1/-1; text-align:center; padding:64px 24px; }
.empty-state p { margin-block:20px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; font-size:12px; align-items:center; padding-block:18px; color:var(--muted); }
.breadcrumbs a { display:inline-flex; min-height:44px; align-items:center; }
.detail-heading { display:grid; grid-template-columns:1fr 260px; gap:32px; padding-block:12px 32px; align-items:end; }
.detail-heading h1 { max-width:820px; font-size:clamp(36px,3.6vw,52px); margin-top:12px; }
.detail-heading .specs { font-size:14px; margin-top:20px; }
.detail-price { position:relative; padding-right:56px; text-align:right; }
.detail-price .favorite { top:0; right:0; }
.detail-price .price { font-size:27px; white-space:nowrap; }
.detail-price>.small { color:var(--muted); }
.gallery-grid { display:grid; grid-template-columns:2fr 1fr; grid-template-rows:220px 220px; gap:16px; }
.gallery-tile { position:relative; min-width:0; padding:0; overflow:hidden; border-radius:4px; }
.gallery-tile-0 { grid-row:1/3; }
.gallery-tile img { width:100%; height:100%; object-fit:cover; }
.gallery-open { position:absolute; bottom:12px; right:12px; width:40px; height:40px; display:grid; place-items:center; background:var(--surface); font-size:20px; }
.gallery-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-block:16px; border-bottom:1px solid var(--line); }
.inline-gallery-controls { display:none; }
.detail-body { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:start; gap:96px; padding-top:56px; }
.detail-story section { margin-bottom:40px; }
.detail-story h2 { font-size:32px; margin-bottom:24px; }
.full-specs { display:grid; grid-template-columns:repeat(auto-fit,minmax(195px,1fr)); gap:16px; padding-block:20px; border-block:1px solid var(--line); font-size:15px; }
.features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-left:20px; font-size:15px; }
.rental-note { border-left:2px solid var(--action); padding-left:16px; margin-top:20px; }
.property-notes { background:var(--surface); padding:24px; }
.property-notes h3 { font-size:23px; }
.property-notes ul { padding-left:18px; font-size:13px; line-height:1.7; }
.property-notes li+li { margin-top:12px; }
.advisor { position:sticky; top:112px; padding:24px; background:var(--sand); }
.advisor>img { width:90px; height:116px; object-fit:cover; margin-bottom:20px; border-radius:4px; }
.advisor h2 { font-size:30px; margin-bottom:4px; }
.advisor p { font-size:14px; margin-block:8px 16px; }
.advisor .button { padding-inline:16px; width:100%; }
.advisor-actions { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:10px; }
.advisor p.small { font-size:12px; margin-bottom:0; }
.mobile-contact { display:none; }
dialog { border:0; border-radius:8px; padding:32px; color:var(--ink); background:var(--cream); width:min(640px,calc(100% - 40px)); max-height:calc(100dvh - 40px); }
dialog::backdrop { background:rgb(30 26 22 / .65); }
.dialog-top { display:flex; justify-content:space-between; align-items:start; gap:24px; margin-bottom:24px; }
.dialog-top h2 { font-size:32px; padding-top:4px; }
.close-dialog { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border:1px solid var(--line); border-radius:4px; }
.filter-dialog { width:min(740px,calc(100% - 40px)); }
.search-form.drawer { grid-template-columns:repeat(2,minmax(0,1fr)); }
.search-form.drawer .search-buttons,.form-divider,.feature-filters,.form-error { grid-column:1/-1; }
.form-divider { border-top:1px solid var(--line); margin-top:12px; padding-top:24px; }
.form-divider p { margin-top:12px; }
.feature-filters { border:0; padding:12px 0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.feature-filters legend { margin-bottom:12px; font-weight:500; }
.feature-filters label { display:flex; align-items:center; gap:8px; min-height:44px; }
input[type="checkbox"] { appearance:auto; accent-color:var(--action); width:20px; height:20px; flex-shrink:0; }
.form-error,.field-error { color:var(--error); font-size:13px; }
.field-error:empty { display:none; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.wide { grid-column:1/-1; }
.consent { display:flex; align-items:start; gap:12px; font-size:13px; }
.consent .field-error { display:block; }
.demo-notice { padding:16px; background:var(--sand); font-size:14px; margin-bottom:24px; }
.form-status { font-size:14px; }
.mobile-nav { display:flex; flex-direction:column; gap:8px; margin-block:24px; }
.mobile-nav a { font-family:var(--display); font-size:32px; min-height:52px; }
.menu { margin-right:0; margin-block:0; max-height:100dvh; height:100dvh; border-radius:0; }
.lightbox { width:min(1180px,calc(100% - 40px)); }
.lightbox-media { position:relative; height:min(65dvh,650px); touch-action:pan-y; }
.lightbox-media img { width:100%; height:100%; object-fit:contain; }
.lightbox-controls { display:flex; justify-content:space-between; align-items:center; margin-top:20px; }
.loading { padding-block:80px; }
.loading p { margin-top:24px; }
.skeleton { margin-top:32px; height:360px; background:var(--sand); border-radius:4px; }
@media(min-width:1600px) { .hero-photo { height:530px; } }
@media(max-width:1099px) {
  .container { width:calc(100% - 56px); }
  .desktop-nav { gap:24px; }
  .header-inner { gap:20px; }
  .property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-heading { gap:28px; }
  .hero-actions { gap:16px; }
  .hero h1 { font-size:60px; }
  .hero-photo { height:420px; }
  .personal,.seller-grid { gap:56px; }
  .buy-rent { gap:40px; }
  .area-grid { gap:40px 24px; }
  .area-copy { flex-direction:column; gap:12px; }
  .reviews-heading { gap:32px; grid-template-columns:1fr 320px; }
  .reviews-grid { gap:32px; }
  .footer-grid { gap:28px; }
  .search-form.bar,.search-form.quick { grid-template-columns:1.3fr 2fr 1fr; }
  .search-form.quick .search-buttons { grid-column:1/-1; justify-content:flex-end; }
  .filter-bar { position:static; }
  .detail-body { gap:40px; }
  .detail-heading { grid-template-columns:1fr 240px; }
  .gallery-grid { grid-template-rows:180px 180px; }
}
@media(min-width:768px) and (max-width:899px) { .desktop-nav { gap:14px; } .desktop-nav a,.header-favorites { font-size:13px; } .header-inner { gap:14px; } }
@media(max-width:767px) {
  html { scroll-padding-top:84px; }
  .container { width:calc(100% - 40px); }
  .section { padding-block:56px; }
  .concept-banner { padding:7px 20px; font-size:10px; line-height:1.5; }
  .header-inner { height:68px; gap:20px; }
  .brand { height:64px; width:112px; }
  .brand img { width:112px; height:112px; }
  .desktop-nav { display:none; }
  .menu-trigger { display:flex; padding:0; font-size:13px; }
  .header-favorites { justify-content:center; gap:6px; }
  .header-favorites .favorites-label { display:none; }
  .favorites-page { padding-block:28px 56px; }
  .favorites-heading { align-items:start; flex-direction:column; gap:12px; }
  .favorites-tools { margin-top:20px; padding-block:8px 20px; }
  .favorites-empty { padding:32px 0 56px; }
  .hero { padding-top:28px; }
  .hero-heading { display:block; margin-bottom:24px; }
  .hero-heading .eyebrow { font-size:10px; margin-bottom:12px; }
  .hero h1 { font-size:48px; line-height:1.05; max-width:340px; }
  .hero-intro { margin-top:20px; max-width:none; }
  .hero-intro>p { font-size:15px; max-width:330px; line-height:1.7; }
  .hero-actions { margin-top:20px; gap:24px; }
  .hero-actions .button { padding-inline:16px; font-size:13px; gap:16px; }
  .hero-actions .text-link { font-size:13px; }
  .hero-photo { height:290px; }
  .hero-photo>img { object-position:54% 50%; }
  .photo-note { bottom:12px; right:12px; font-size:11px; padding:8px 12px; }
  .quick-search { padding-block:16px; }
  .quick-desktop { display:none; }
  .mobile-search { display:flex; width:100%; justify-content:center; background:transparent; color:var(--ink); border:1px solid var(--muted); }
  .mobile-search:hover { background:var(--sand); }
  .section-heading { display:block; margin-bottom:28px; }
  .section-heading h2 { font-size:34px; }
  .section-heading .text-link,.section-heading>p { margin-top:16px; }
  .property-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
  .card-copy { padding-top:18px; }
  .card-copy h3 { font-size:27px; margin-block:8px 12px; }
  .card-copy .price { font-size:23px; }
  .specs { font-size:12px; }
  .buy-rent { display:block; padding-top:0; }
  .journey-1 { padding-top:28px; }
  .journey-image { height:300px; }
  .journey-copy { padding-block:24px 16px; }
  .journey-copy h2 { font-size:34px; }
  .journey-copy p { font-size:16px; }
  .area-grid { grid-template-columns:1fr; gap:32px; }
  .area-copy { margin-top:18px; }
  .area-link h3 { font-size:29px; line-height:1.2; }
  .area-cta { font-size:14px; }
  .seller { padding-block:48px; }
  .seller-grid { display:block; }
  .seller p { font-size:16px; margin-block:20px 24px; }
  .seller ol { margin-top:32px; }
  .seller li { padding-block:20px; gap:20px; font-size:15px; }
  .personal { display:flex; flex-direction:column; gap:40px; align-items:stretch; }
  .portrait { width:100%; max-width:none; }
  .portrait>img { aspect-ratio:4/5; object-position:50% 25%; }
  .personal-copy h2 { font-size:38px; }
  .personal-copy>.lead { font-size:17px; }
  .pillars h3 { font-size:25px; }
  .testimonial { padding-block:0 64px; }
  .reviews-heading { grid-template-columns:1fr; gap:24px; margin-bottom:32px; }
  .reviews-heading h2 { font-size:38px; }
  .google-summary { padding:20px; }
  .reviews-grid { grid-template-columns:1fr; gap:28px; }
  .review-card { padding-top:24px; }
  .testimonial blockquote { font-size:26px; }
  .testimonial figcaption { padding-top:20px; }
  .contact-section { padding-block:48px; }
  .contact-inner { display:block; }
  .contact-inner h2 { font-size:36px; }
  .contact-inner p { margin-top:16px; }
  .contact-inner>.button { margin-top:28px; }
  .site-footer { padding-top:32px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px 20px; }
  .footer-grid>div:first-child { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
  .footer-grid .social-links { width:100%; margin-top:12px; }
  .footer-grid>div:nth-child(3) { grid-column:1/-1; grid-row:3; }
  .footer-logo { width:88px; height:88px; }
  .footer-grid h2 { margin-bottom:12px; }
  .footer-bottom { gap:20px; font-size:10px; }
  .listing-heading { padding-block:20px 16px; }
  .listing-heading h1 { font-size:38px; margin-block:8px 12px; }
  .listing-heading>p:last-child { font-size:16px; }
  .desktop-filters { display:none; }
  .filter-bar { padding-block:12px; position:sticky; top:68px; }
  .mobile-filters { display:flex; width:100%; justify-content:space-between; }
  .listing-results { padding-block:16px 48px; }
  .results-toolbar { flex-direction:column; gap:12px; align-items:stretch; font-size:12px; margin-bottom:20px; }
  .sort-label { gap:16px; font-size:12px; }
  .sort-label .select-control { width:auto; flex:1; }
  .empty-state { padding:40px 0; }
  .empty-state h2 { font-size:30px; }
  .breadcrumbs { padding-block:12px; gap:8px; font-size:10px; }
  .detail-heading { display:block; padding-block:4px 24px; }
  .detail-heading h1 { font-size:36px; line-height:1.12; }
  .detail-heading .eyebrow { font-size:10px; }
  .detail-heading .specs { margin-top:16px; font-size:12px; }
  .detail-price { text-align:left; margin-top:20px; }
  .detail-price .price { font-size:26px; }
  .gallery-grid { display:flex; overflow-x:auto; gap:12px; scroll-snap-type:x mandatory; padding-bottom:8px; }
  .gallery-tile { flex:0 0 100%; height:280px; scroll-snap-align:start; }
  .gallery-tile img { object-position:50%; }
  .gallery-toolbar { padding-block:8px 16px; flex-wrap:wrap; gap:0; }
  .gallery-toolbar .small { font-size:11px; }
  .gallery-toolbar .text-button { font-size:12px; }
  .inline-gallery-controls { display:flex; align-items:center; justify-content:space-between; margin-top:8px; font-size:12px; }
  .inline-gallery-controls .secondary-button { padding:8px 16px; min-height:44px; }
  .detail-body { display:flex; flex-direction:column; gap:32px; padding-top:32px; }
  .detail-story h2 { font-size:30px; }
  .detail-story .lead { font-size:17px; }
  .full-specs { font-size:14px; gap:14px; }
  .features { font-size:14px; }
  .advisor { position:static; width:100%; }
  .advisor>img { width:100px; height:130px; }
  body[data-page="detail"] { padding-bottom:84px; }
  .mobile-contact { position:fixed; z-index:25; bottom:0; left:0; right:0; padding:12px 20px max(12px,env(safe-area-inset-bottom)); display:flex; gap:16px; justify-content:space-between; align-items:center; border-top:1px solid var(--line); background:var(--surface); }
  .mobile-contact>span { font-size:17px; font-weight:500; letter-spacing:-.035em; }
  .mobile-contact .button { padding-inline:18px; }
  dialog { padding:24px 20px; width:calc(100% - 24px); max-height:calc(100dvh - 24px); }
  .dialog-top { gap:16px; }
  .dialog-top h2 { font-size:28px; }
  .search-form.quick,.search-form.drawer,.contact-form { grid-template-columns:minmax(0,1fr); }
  .search-buttons { flex-wrap:wrap; gap:16px; }
  .search-buttons>.button { flex-grow:1; }
  .feature-filters { grid-template-columns:1fr; gap:0; }
  .form-divider p { font-size:12px; }
  .lightbox { width:calc(100% - 16px); padding:20px 12px; }
  .lightbox-media { height:55dvh; }
  .menu { width:100%; max-height:100dvh; }
}
@media(max-width:374px) { .container { width:calc(100% - 32px); } .hero h1 { font-size:44px; } .hero-actions { gap:16px; } .mobile-contact { padding-inline:16px; } }
@media(min-width:1100px) { html:has(body[data-page="listing"]) { scroll-padding-top:330px; } }
@media(max-width:767px) { html:has(body[data-page="listing"]) { scroll-padding-top:160px; } }
/* Motion added after composition review: photographs signal clickable media;
   dialogs orient pointer users without delaying keyboard interactions. */
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine) {
  .card-media>img,.journey-image>img,.area-image>img { transition:transform 200ms cubic-bezier(.22,1,.36,1); }
  .card-link:hover .card-media>img,.journey-image:hover>img,.area-link:hover img { transform:scale(1.02); }
}
@media(prefers-reduced-motion:no-preference) {
  body:not(.keyboard-input) dialog[open] { animation:dialog-arrive 220ms cubic-bezier(.22,1,.36,1); }
  body:not(.keyboard-input) .lightbox-media>img { animation:photo-arrive 240ms cubic-bezier(.22,1,.36,1); }
  @keyframes dialog-arrive { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
  @keyframes photo-arrive { from { opacity:.7; } to { opacity:1; } }
}
.keyboard-input * { animation:none!important; transition:none!important; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Review 04: readable property data and trust label. */
.specs,.detail-heading .specs{font-size:14px;line-height:1.4}.metric{white-space:normal}.metric>span{white-space:nowrap}.property-card .eyebrow{font-size:12px}.google-summary .eyebrow{color:var(--ink)}
.sort-note{flex-basis:100%;font-size:14px;line-height:1.5}.active-filters .text-button{max-width:100%;text-align:left;overflow-wrap:anywhere}input:disabled{cursor:not-allowed;background:var(--cream);color:var(--muted)}

/* Approved composition polish, 2026-10-04: compact, keyboard-operable preview notice. */
.concept-banner{padding:0;text-align:left;font-size:12px}
.concept-banner summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;list-style:none;font-size:11px;line-height:1.5}
.concept-banner summary::-webkit-details-marker{display:none}
.concept-info{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}
.concept-banner>p{padding-block:0 16px;line-height:1.6}
.concept-banner[open] .concept-info svg{transform:rotate(180deg)}
.concept-banner summary:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
@media(max-width:767px){.concept-banner summary{font-size:10px}.concept-banner>p{font-size:12px}}

@media(max-width:767px){
 .area-image{aspect-ratio:16/9}
 .testimonial blockquote{font-size:26px;line-height:1.4}
 .reviews-grid{gap:24px}.review-card{padding-top:20px}.testimonial figcaption{padding-top:16px}
}

/* Global functional parity; C keeps its own typography and warm palette. */
:root{--header:80px;--ease:cubic-bezier(.22,1,.36,1)}
.card-v2{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start}
.card-v2 .card-media{grid-area:1/1;position:relative;width:100%;min-width:0;aspect-ratio:4/3;min-height:240px;background:var(--sand)}
.card-v2 .card-photo,.editorial-properties .card-v2:nth-child(n) .card-photo{position:absolute;inset:0;aspect-ratio:auto;touch-action:pan-y pinch-zoom}
.editorial-properties .card-v2:nth-child(1) .card-media{aspect-ratio:1.25}
.editorial-properties .card-v2:nth-child(2) .card-media{aspect-ratio:1.1}
.card-v2 .card-photo img{transition:none;transform:none}
.card-v2 .favorite,.editorial-properties .card-v2:nth-child(n) .favorite{top:8px;right:8px;z-index:6}
.card-v2 h3{grid-area:2/1;margin:18px 0 4px;overflow-wrap:anywhere;font-size:30px}
.card-v2 .card-link{min-height:44px;display:block}
.card-v2 .card-link::after{content:"";position:absolute;inset:0;z-index:3}
.card-v2 a.card-photo{z-index:4;display:block;cursor:pointer}
/* Keep the touch target on the persistent link when a swipe replaces its image. */
.card-v2 .card-photo>*{pointer-events:none}
.card-v2 a.card-photo:focus-visible{outline:3px solid var(--olive);outline-offset:4px}
.card-v2:has(.card-link:focus-visible){outline:2px solid var(--olive);outline-offset:6px}
.card-gallery-nav{position:absolute;top:8px;left:8px;display:flex;align-items:center;background:var(--surface);color:var(--olive);z-index:6}
.card-gallery-nav button{border:0;border-radius:0;background:transparent;width:44px;height:44px;display:grid;place-items:center;padding:0}
.card-gallery-nav button:hover{background:var(--cream)}
.card-counter{font-size:12px;min-width:38px;text-align:center;font-variant-numeric:tabular-nums}
.card-v2 :is(.favorite,.card-gallery-nav button):focus-visible{outline-offset:-4px}
.card-details{grid-area:1/1;align-self:end;position:relative;margin:8px;padding:12px 16px;background:var(--surface);color:var(--ink);z-index:5;visibility:hidden;pointer-events:none}
.card-v2[data-expanded=true] .card-details{visibility:visible}
.card-v2 .card-meta{font-size:12px;margin:0 0 8px;line-height:1.4}
.card-v2 .price{font-size:22px}
.card-v2 .specs{font-size:14px;gap:6px 16px;margin-top:10px;line-height:1.5}
.card-v2 .property-spec{white-space:normal}
.card-v2 .card-photo .render-label{top:60px;bottom:auto;left:8px;z-index:4;font-size:12px;max-width:calc(100% - 16px)}
.card-v2 .card-photo .missing-photo{height:100%;min-height:0}
.cards-static-data .card-v2 .card-details{grid-area:3/1;margin:8px 0 0;padding:0;background:none;visibility:visible;pointer-events:none}
@media(hover:none),(pointer:coarse),(max-width:767px){
 .card-v2 .card-details{grid-area:3/1;margin:8px 0 0;padding:0;background:none;visibility:visible;pointer-events:none}
}
@media(max-width:767px){
 .card-v2 .card-media,.editorial-properties .card-v2:nth-child(n) .card-media{aspect-ratio:4/3;min-height:0}
.card-v2 h3{font-size:30px;margin-top:16px}
}

/* Requested reading effect: progress follows scroll, rather than a timed entrance. */
.reading-word{display:inline-block}
.personal-copy .reading-reveal{font-size:clamp(22px,2.2vw,32px);line-height:1.35;max-width:32ch}
@media(prefers-reduced-motion:reduce){.reading-word{opacity:1!important}}
body.keyboard-input .reading-word{opacity:1!important}

/* Local WhatsApp welcome panel; no third-party widget or messages sent on open. */
.wa-widget{--wa-green:#25d366;position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:45;font-family:DM Sans,system-ui,sans-serif;color:#20352e}
.wa-widget [hidden]{display:none!important}
.wa-launcher{position:relative;display:grid;place-items:center;width:60px;height:60px;margin-left:auto;border:0;border-radius:50%;background:var(--wa-green);color:#fff;box-shadow:0 4px 18px rgb(0 0 0 / .15)}
.wa-launcher:hover{background:#1cbd59}
.wa-launcher .icon{width:32px;height:32px}
.wa-unread{position:absolute;top:-2px;right:0;display:grid;place-items:center;min-width:19px;height:19px;border-radius:50%;background:#c94338;color:#fff;font-size:11px;border:2px solid var(--cream)}
.wa-panel{width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 112px);overflow:auto;margin-bottom:16px;border-radius:16px;background:#fff;box-shadow:0 16px 64px rgb(17 43 33 / .2);border:1px solid rgb(28 54 44 / .1)}
.wa-header{position:relative;display:flex;align-items:center;gap:12px;padding:22px 52px 22px 20px;background:#075e54;color:#fff}
.wa-header img{width:52px;height:52px;object-fit:contain;border-radius:50%}
.wa-header h2{font:600 17px/1.3 DM Sans,system-ui,sans-serif;margin:0 0 4px}
.wa-header p{font-size:12px;color:#d6ece5;margin:0}
.wa-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:44px;height:44px;background:none;border:0;color:#fff}
.wa-conversation{padding:18px 20px 24px;min-height:194px;background:#edeae2}
.wa-date{text-align:center;font-size:10px;letter-spacing:.02em;color:#596b63;margin-bottom:20px}
.wa-bubble{padding:14px 16px;min-height:52px;max-width:284px;border-radius:0 12px 12px 12px;background:#fff;box-shadow:0 1px 2px rgb(0 0 0 / .06)}
.wa-message{font-size:14px;line-height:1.55;margin:0}
.wa-typing{display:flex;gap:5px;height:22px;align-items:center}
.wa-typing i{width:6px;height:6px;border-radius:50%;background:#72877d;animation:wa-typing 800ms ease-in-out infinite}
.wa-typing i:nth-child(2){animation-delay:120ms}.wa-typing i:nth-child(3){animation-delay:240ms}
@keyframes wa-typing{50%{transform:translateY(-3px);opacity:.45}}
.wa-footer{padding:18px 20px;background:#fff}
.wa-continue{display:flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border-radius:8px;background:var(--wa-green);color:#063d27;font-size:14px;font-weight:600}
.wa-continue:hover{background:#1cbd59;text-decoration:none}
.wa-footer p{font-size:11px;text-align:center;color:#596b63;margin:12px 0 0}
.wa-widget :focus-visible{outline:3px solid #176754;outline-offset:4px}
.wa-header :focus-visible{outline-color:#fff;outline-offset:-4px}
body.modal-open .wa-widget{visibility:hidden}
@media(max-width:767px){.wa-widget{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100% - 32px)}.wa-launcher{width:56px;height:56px}.wa-panel{width:350px;max-width:100%}body[data-page=detail] .wa-widget{bottom:calc(88px + env(safe-area-inset-bottom))}body[data-page=detail] .wa-panel{max-height:calc(100dvh - 176px)}}
@media(prefers-reduced-motion:reduce){.wa-typing i{animation:none}}

/* Progressive photo-only zoom across all cards; geometry and controls stay fixed. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 body:not(.keyboard-input) .card-v2 .card-photo img{transition:transform 700ms ease-out}
 body:not(.keyboard-input) .card-v2 .card-media:hover .card-photo img{transform:scale(1.06);transition:transform 1800ms ease-in-out}
}

/* Consecutive editorial chapters: buying followed by selling, then areas. */
.service-scene{position:relative;isolation:isolate;margin:0;padding:0;background:var(--olive);color:var(--surface)}
.scene-photo{position:absolute;inset:0;z-index:-2;overflow:hidden}
.scene-photo img{width:100%;height:100%;object-fit:cover;object-position:42% center}
.service-scene::before{content:"";position:absolute;inset:0;z-index:-1;background:rgb(20 34 29 / .72);pointer-events:none}
.scene-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding-block:112px 96px}
.scene-story{grid-column:2;min-width:0}
.scene-title-track{min-height:70svh}
.service-scene .scene-title-track h2{position:sticky;top:calc(var(--header) + 48px);font-size:clamp(64px,6.7vw,100px);line-height:1.02;max-width:600px;margin:0}
.scene-copy{padding-top:48px;max-width:520px}
.scene-copy>p{font-size:24px;line-height:1.5}
.scene-copy>.button{margin-top:32px}
.scene-copy .seller-steps{margin-bottom:0}
.service-scene :focus-visible{outline-color:var(--surface)}
@media(max-width:1099px){
 .scene-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:40px;padding-block:80px}
 .service-scene .scene-title-track h2{font-size:clamp(56px,7vw,80px)}
 .scene-title-track{min-height:60svh}
}
@media(max-width:767px){
 .scene-layout{display:block;padding-block:56px}
 .scene-title-track{min-height:0}
 .service-scene .scene-title-track h2{position:static;font-size:52px;max-width:350px}
 .scene-copy{padding-top:40px;max-width:none}
 .scene-copy>p{font-size:20px}
 .scene-copy>.button{margin-top:28px}
 .scene-photo img{object-position:38% center}
}
@media(prefers-reduced-motion:reduce){
 .scene-title-track{min-height:0}
 .service-scene .scene-title-track h2{position:static}
}

/* Native FAQ disclosures: quiet surfaces, one answer per group, no height animation. */
.faq-heading{text-align:center;margin:0 auto 72px;max-width:700px}
.faq-heading>p{margin:24px auto 0;color:var(--muted)}
.faq-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:96px;align-items:start}
.faq-group+.faq-group{margin-top:64px}
.faq-intro h3{font-size:36px;max-width:330px;line-height:1.15}
.faq-intro>p{margin-top:20px;color:var(--muted);max-width:34ch}
.faq-questions{border-top:1px solid var(--line);min-width:0}
.faq-questions details{border-bottom:1px solid var(--line);background:var(--surface)}
.faq-questions summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:20px 24px;cursor:pointer;list-style:none;font-size:18px;line-height:1.4}
.faq-questions summary::-webkit-details-marker{display:none}
.faq-questions summary>.icon{flex:0 0 18px}
.faq-questions summary:hover{background:var(--cream)}
.faq-questions summary:focus-visible{outline-offset:-4px}
.faq-questions details[open] summary{font-weight:500}
.faq-questions details[open] summary>.icon{transform:rotate(180deg)}
.faq-answer{padding:0 24px 24px;color:var(--muted);line-height:1.65}
.faq-contact{margin-top:40px}
@media(max-width:1099px){.faq-group{gap:48px}.faq-intro h3{font-size:32px}}
@media(max-width:767px){
 .faq-heading{text-align:left;margin-bottom:40px}
 .faq-heading>p{margin-top:20px}
 .faq-group{grid-template-columns:minmax(0,1fr);gap:24px}
 .faq-group+.faq-group{margin-top:48px}
 .faq-intro h3{font-size:32px;max-width:none}
 .faq-intro>p{margin-top:16px;max-width:none}
 .faq-questions summary{font-size:16px;padding:20px 16px;gap:16px}
 .faq-answer{padding:0 16px 24px}
.faq-contact{margin-top:32px}
}

/* A-only review actions: retain the shared carousel and group its external CTAs. */
.line-reveal-visual,.line-reveal-mask,.line-reveal-text{display:block}
.line-reveal-mask{overflow:hidden}
@media(prefers-reduced-motion:reduce){.line-reveal-text{opacity:1!important;transform:none!important}}
body.keyboard-input .line-reveal-text{opacity:1!important;transform:none!important}
.discovery-c .discovery-review-actions{display:flex;align-items:center;justify-content:center;gap:16px 24px;flex-wrap:wrap;margin-top:32px}
.discovery-c .discovery-review-actions .discovery-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;max-width:100%;white-space:normal}
.discovery-c .discovery-review-actions .icon{flex:0 0 18px}
.discovery-c .discovery-review-stars{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.discovery-c .discovery-review-actions a:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
@media(max-width:767px){
 .discovery-c .discovery-review-actions{justify-content:center;gap:16px;margin-top:24px}
}

/* Buying shares the seller process rhythm without inheriting seller-only behavior. */
.scene-copy .buyer-steps{list-style:none;padding:0;margin:32px 0 0}
.buyer-steps li{display:flex;align-items:center;gap:16px;border-top:1px solid #65776D;padding:18px 0;font-size:14px}
.buyer-steps .icon{flex-shrink:0}
@media(max-width:767px){.scene-copy .buyer-steps{margin-top:24px}}

/* Local journal uses the existing editorial typography and quiet separators. */
.blog-heading{align-items:start}
.blog-heading>div{max-width:680px}
.blog-heading h2{max-width:none}
.blog-heading p{margin-top:16px;color:var(--muted)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.blog-post{min-width:0}
.blog-post img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.blog-post time{display:block;margin-top:24px;font-size:13px;color:var(--muted)}
.blog-post h3{font-size:32px;line-height:1.15;margin-top:12px}
.blog-title{font:inherit;color:inherit;text-align:left;background:none;border:0;padding:0;min-height:44px;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.blog-title:hover{text-decoration-color:var(--muted)}
.blog-post p{margin-top:16px;color:var(--muted);line-height:1.6}
.blog-dialog{width:min(780px,calc(100% - 48px))}
.blog-dialog .dialog-top h2{font-size:40px}
.blog-reading>img{width:100%;aspect-ratio:16/9;object-fit:cover;margin-block:24px}
.blog-reading time{display:block;color:var(--muted);font-size:14px;margin-top:12px}
.blog-reading>p{font-size:18px;line-height:1.7;margin-bottom:20px}
@media(max-width:1099px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}}
@media(max-width:767px){.blog-grid{grid-template-columns:minmax(0,1fr);gap:40px}.blog-post h3{font-size:30px}.blog-dialog{width:calc(100% - 24px)}.blog-dialog .dialog-head h2{font-size:30px}}
/* C composition: warm light, human serif, generous but bounded scenes. */
.card-v2 .card-media{min-height:0;aspect-ratio:4/3}
.card-v2 .card-photo img{width:100%;height:100%;object-fit:cover}
.card-v2 h3{font-size:27px;line-height:1.2}
.card-v2 .card-details{border-radius:2px}
.card-v2 .card-meta{color:var(--muted)}
.card-v2 .card-gallery-nav{border-radius:4px;color:var(--ink)}
.card-v2 .card-link{height:auto}
body:is([data-page=home],[data-page=about]):not(.home-scrolled) .site-header{background:transparent;border-color:transparent;color:var(--surface)}
body:is([data-page=home],[data-page=about]):not(.home-scrolled) .desktop-nav a{color:var(--surface)}
body:is([data-page=home],[data-page=about]):not(.home-scrolled) .header-favorites{color:var(--surface)}
body:is([data-page=home],[data-page=about]):not(.home-scrolled) .site-header :focus-visible{outline-color:var(--surface)}
.hero-immersive{position:relative;isolation:isolate;padding:0;margin-top:calc(-1 * var(--header));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:calc(100svh - 44px) min(32svh,340px);color:var(--surface);background:var(--olive)}
.hero-immersive .hero-photo{grid-area:1/1/3/2;position:sticky;top:0;align-self:start;height:100svh;width:100%;z-index:-1;border-radius:0}
.hero-immersive .hero-photo img{height:100%;width:100%;object-fit:cover;object-position:center 58%}
.hero-immersive .hero-photo::after{content:'';position:absolute;inset:0;background:rgb(29 28 23 / .57)}
.hero-copy{grid-area:1/1;align-self:end;display:grid;grid-template-columns:1.3fr 1fr;gap:72px;align-items:end;padding:calc(var(--header) + 140px) 0 96px}
.hero-immersive .hero-heading{display:block;margin:0}
.hero-immersive h1{font-size:clamp(72px,7.5vw,112px);line-height:1.03;letter-spacing:-.035em;max-width:700px}
.hero-immersive .eyebrow{color:var(--surface);margin-bottom:22px}
.hero-immersive .hero-intro{padding:0;justify-self:end;max-width:390px}
.hero-immersive .hero-intro>p{font-size:18px;line-height:1.7}
.hero-immersive .hero-actions{flex-wrap:wrap;gap:18px 28px;margin-top:28px}
.hero-immersive .button{background:var(--surface);color:var(--ink)}
.hero-immersive .button:hover{background:var(--sand)}
.hero-immersive .text-link{color:var(--surface)}
.hero-immersive :focus-visible{outline-color:var(--surface)}
.service-scene::before{background:rgb(29 28 23 / .72)}
.scene-layout{grid-template-columns:1fr 1fr;gap:80px;padding-block:96px}
.scene-story{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:80px}
.scene-title-track{min-height:70svh}
.service-scene .scene-title-track h2{font-size:clamp(52px,5.6vw,78px);line-height:1.1;max-width:570px}
.scene-copy{padding-top:180px;max-width:500px}
.scene-copy>p{font-size:22px;margin:0;line-height:1.6}
.scene-copy :is(.buyer-steps,.seller-steps){list-style:none;padding:0;margin:32px 0 0}
.scene-copy :is(.buyer-steps,.seller-steps) li{display:flex;gap:18px;align-items:center;padding:20px 0;border:0;border-top:1px solid #b0ad9c;font-size:16px}
.scene-copy li>.icon{width:20px;height:20px;color:var(--surface)}
.scene-copy .button{margin-top:28px}
.scene-copy .light-button{white-space:normal}
.personal-copy .reading-reveal{font-size:clamp(22px,2.3vw,30px);line-height:1.5;max-width:33ch}
.faq-heading{text-align:left;margin-left:0}
.faq-intro h3{font-size:32px}
.faq-questions details{background:transparent}
.faq-questions summary{font-size:17px;padding-left:0;padding-right:8px}
.faq-questions summary:hover{color:var(--action)}
.faq-answer{padding-left:0}
.faq-contact{margin-top:24px}
.blog-post h3{font-size:29px}
.blog-title{text-decoration:none}
.blog-title:hover{text-decoration:underline;text-underline-offset:5px}
.blog-post img{border-radius:4px}
.blog-post time{font-size:12px;margin-top:20px}
.blog-post{border-bottom:1px solid var(--line);padding-bottom:24px}
.blog-dialog .dialog-top h2{font-size:36px}
.discovery-c .discovery-review-actions{justify-content:center}
.wa-widget{font-family:var(--body)}
.wa-launcher .icon{width:30px;height:30px}
.wa-panel{border-radius:8px}
@media(max-width:1099px){.hero-copy{gap:40px}.scene-story{gap:40px}.scene-layout{gap:0}.scene-copy{padding-top:140px}.service-scene .scene-title-track h2{font-size:58px}}
@media(max-width:767px){
 :root{--header:68px}
 .hero-immersive{display:flex;align-items:end;min-height:calc(92svh - 44px)}
 .hero-immersive .hero-photo{position:absolute;inset:0;height:100%}
 .hero-copy{display:block;padding:calc(var(--header) + 110px) 0 44px}
 .hero-immersive h1{font-size:clamp(52px,14.6vw,64px);max-width:360px}
 .hero-immersive .eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:18px}
 .hero-immersive .hero-intro{margin-top:24px;max-width:none}
 .hero-immersive .hero-intro>p{font-size:16px;line-height:1.6}
 .hero-immersive .hero-actions{gap:12px 22px;margin-top:24px}
 .scene-layout{display:block;padding-block:56px}
 .scene-story{display:block}
 .scene-title-track{min-height:0}
 .service-scene .scene-title-track h2{position:static;font-size:46px;max-width:360px}
 .scene-copy{padding-top:32px;max-width:none}
 .scene-copy>p{font-size:19px}
 .scene-copy li{font-size:15px}
 .card-v2 h3{font-size:27px}
 .faq-questions summary{font-size:16px}
 .blog-dialog .dialog-top h2{font-size:29px}
 .blog-heading{display:block}
}
@media(prefers-reduced-motion:reduce){
 .hero-immersive{display:flex;align-items:end;min-height:calc(92svh - 44px)}
 .hero-immersive .hero-photo{position:absolute;inset:0;height:100%}
 .scene-title-track{min-height:0}
 .service-scene .scene-title-track h2{position:static}
 .scene-copy{padding-top:0}
 .card-v2 .card-photo img{transform:none!important}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){.scene-copy{padding-top:32px}}

/* Vender and Servicios: familiar materials, spacious photography and direct conversation. */
:root{
 --select-bg:var(--surface);--select-color:var(--ink);--select-border:var(--control-line);
 --select-radius:4px;--select-height:48px;--select-padding-x:12px;--select-font-size:16px;
 --select-hover-border:var(--action);--select-hover-bg:var(--cream);--select-focus:var(--ink);
 --select-popup-bg:var(--surface);--select-active-bg:var(--olive);--select-active-color:var(--surface);
 --select-disabled-bg:var(--cream);--select-disabled-color:var(--muted);--select-error:var(--error);
}
.search-form.bar{--select-bg:var(--cream)}
body.keyboard-input .ibiza-select .ibiza-select__control{transition:none}
.page-intro{padding-top:32px}
.page-intro>.breadcrumbs{margin-bottom:40px}
.page-hero{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.page-hero-copy{padding-block:32px}
.page-hero h1{font-size:clamp(44px,4.6vw,68px);line-height:1.08;max-width:12ch;margin:20px 0 28px}
.page-lead{font-size:19px;line-height:1.7;max-width:38ch}
.page-hero-photo{aspect-ratio:1/1.05;overflow:hidden;border-radius:4px}
.page-hero-photo img{width:100%;height:100%;object-fit:cover}
.services-page .page-hero-photo{aspect-ratio:16/9}
.services-page .page-hero-photo img{object-position:40% center}
.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-top:32px}
.sell-introduction{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding:56px 0 80px;font-size:18px;line-height:1.8}
.sell-introduction p{max-width:48ch}
.sell-audiences{background:var(--sand)}
.sell-audiences h2{max-width:20ch;margin-bottom:48px}
.audiences-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.audiences-grid h3{font-size:29px;line-height:1.2;margin-bottom:16px}
.audiences-grid p{font-size:16px;line-height:1.75}
.sell-process>h2{max-width:19ch;margin-bottom:48px}
.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 48px;list-style:none;margin:0;padding:0}
.process-grid li{min-width:0}
.process-photo{aspect-ratio:4/3;overflow:hidden;border-radius:4px}
.process-photo img{width:100%;height:100%;object-fit:cover}
.process-photo img[src$="nil-paniello.jpg"]{object-position:center 28%}
.process-copy{padding:28px 8px 0}
.process-copy h3{font-size:32px;line-height:1.18;margin-bottom:16px;max-width:23ch}
.process-copy p{max-width:52ch;line-height:1.8}
.sell-advisor{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);align-items:center;gap:96px;border-top:1px solid var(--line)}
.sell-advisor-photo{max-width:420px;aspect-ratio:4/5;overflow:hidden;border-radius:4px}
.sell-advisor-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.sell-advisor h2{max-width:16ch;margin:20px 0 28px}
.sell-advisor .text-link{margin-top:24px}
.services-categories{padding-top:72px}
.service-category{display:grid;grid-template-columns:1fr 1fr;gap:96px;padding:48px 0;border-top:1px solid var(--line)}
.service-category-heading h2{font-size:clamp(32px,3vw,44px);max-width:20ch;margin-bottom:20px}
.service-category-heading p{max-width:48ch;font-size:17px;line-height:1.75}
.service-category-details ul{margin:0;padding:0;list-style:none}
.service-category-details li{padding:10px 0;border-bottom:1px solid var(--line);font-size:16px}
.service-category-details .text-link{margin-top:24px;color:var(--action)}
.service-category:has(.service-category-photo){grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1fr);gap:32px 48px;align-items:start}
.service-category-photo{aspect-ratio:16/9;max-width:360px;overflow:hidden;border-radius:4px}
.service-category-photo img{width:100%;height:100%;object-fit:cover}
.service-category:has(.service-category-photo) .service-category-details{grid-column:3}
@media(min-width:768px) and (max-width:1100px){
 .service-category:has(.service-category-photo){grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px 40px}
 .service-category-photo{grid-row:span 2}
 .service-category:has(.service-category-photo) .service-category-details{grid-column:2}
}
.services-availability{margin-top:16px;max-width:60ch;color:var(--muted)}
.listing-heading .breadcrumbs{margin-bottom:24px}
.listing-reasons{background:var(--sand);margin-top:40px}
.reasons-layout{display:grid;grid-template-columns:1fr 1fr;gap:96px}
.reasons-layout h2{max-width:18ch;margin-bottom:24px}
.reasons-layout>div>p{font-size:18px;line-height:1.75;max-width:40ch}
.reasons-items article{padding:24px 0;border-bottom:1px solid var(--control-line)}
.reasons-items article:first-child{padding-top:0}
.reasons-items h3{font-size:27px;margin-bottom:12px}
.reasons-items p{max-width:46ch}
.reasons-items>.text-link{margin-top:20px}
.page-contact h2{max-width:21ch}
.search-form.bar{grid-template-columns:1.15fr 1.6fr 1fr 1.15fr 1fr}
.search-form.bar:has(input[type=hidden][name=operation]){grid-template-columns:1.8fr 1.2fr 1.2fr 1.2fr}
@media(min-width:768px) and (max-width:1099px){
 .header-inner{gap:16px}.desktop-nav{gap:16px}.desktop-nav a,.header-favorites{font-size:13px}
 .header-favorites .favorites-label{display:none}
 .page-hero,.sell-introduction{gap:40px}.page-hero h1{font-size:48px}
 .audiences-grid{gap:28px}.audiences-grid h3{font-size:25px}
 .sell-advisor,.service-category,.reasons-layout{gap:48px}
 .search-form.bar,.search-form.bar:has(input[type=hidden][name=operation]){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:899px){
 .desktop-nav{display:none}.menu-trigger{display:flex;align-items:center}
}
@media(max-width:767px){
 .page-intro{padding-top:24px}.page-intro>.breadcrumbs{margin-bottom:24px}
 .page-hero{display:flex;flex-direction:column;gap:28px;align-items:stretch}
 .page-hero-copy{padding:0}.page-hero h1{font-size:44px;max-width:14ch;margin:16px 0 24px}
 .page-lead{font-size:17px;line-height:1.7}.page-hero-photo{aspect-ratio:4/3}
 .page-actions{margin-top:24px;gap:12px 24px}
 .sell-introduction{display:block;padding:32px 0 48px;font-size:17px}.sell-introduction p+p{margin-top:20px}
 .sell-audiences h2,.sell-process>h2{margin-bottom:32px}
 .audiences-grid{grid-template-columns:1fr;gap:32px}.audiences-grid h3{font-size:27px}
 .process-grid{grid-template-columns:1fr;gap:40px}.process-copy{padding:20px 0 0}.process-copy h3{font-size:29px}
 .sell-advisor{grid-template-columns:1fr;gap:32px}.sell-advisor-photo{max-width:320px}
 .sell-advisor h2{margin-top:16px;margin-bottom:20px}
 .services-categories{padding-top:48px}.service-category{grid-template-columns:1fr;gap:20px;padding:32px 0}
 .service-category:has(.service-category-photo){grid-template-columns:minmax(0,1fr);gap:24px}
 .service-category-photo{grid-row:auto}
 .service-category:has(.service-category-photo) .service-category-details{grid-column:auto}
 .service-category-heading h2{font-size:32px}.service-category-details .text-link{margin-top:16px}
 .reasons-layout{grid-template-columns:1fr;gap:32px}.listing-reasons{margin-top:16px}
 .reasons-items h3{font-size:26px}
}

/* Detail-only composition. Reuses the Warm Ibiza Boutique tokens and controls. */
body[data-page=detail] .wa-widget{display:none}
.detail-v2 .detail-top{padding-top:24px}
.detail-v2 .detail-heading{grid-template-columns:minmax(0,1fr) auto;gap:48px;padding-bottom:36px}
.detail-v2 .detail-price{padding-right:0}
.property-gallery{position:relative}
.property-gallery .gallery-grid{position:relative;grid-template-rows:240px 240px;gap:12px}
.property-gallery .gallery-extra{display:none}
.property-gallery .gallery-count-4{grid-template-columns:2fr 1fr 1fr}
.property-gallery .gallery-count-4 .gallery-tile-1{grid-column:2/4}
.property-gallery .gallery-count-1,.property-gallery .gallery-count-0{grid-template-columns:minmax(0,1fr);grid-template-rows:480px}
.property-gallery .gallery-count-1 .gallery-tile-0{grid-row:auto}
.property-gallery .gallery-count-2{grid-template-columns:1.5fr 1fr}
.property-gallery .gallery-count-2 .gallery-tile-1{grid-row:1/3}
.gallery-actions{position:absolute;right:16px;top:16px;z-index:3;display:flex;gap:8px;align-items:center}
.gallery-actions .favorite{position:static;width:48px;height:48px;border-radius:4px;background:var(--surface)}
.gallery-share{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 16px;border-radius:4px;background:var(--surface);color:var(--ink);font-size:14px}
.gallery-actions button:hover{background:var(--cream)}
.gallery-actions button:focus-visible,.gallery-tile:focus-visible{outline-offset:-4px}
.detail-v2 .gallery-tile .render-label{max-width:calc(100% - 68px);text-align:left}
.detail-v2 .detail-body{grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:80px;padding-top:64px;padding-bottom:80px}
.property-inquiry-panel{padding:32px;background:var(--surface);border-top:3px solid var(--olive);border-radius:0 0 4px 4px;scroll-margin-top:110px}
.property-inquiry-panel h2{font-size:32px;line-height:1.15;margin-bottom:16px}
.inquiry-intro{font-size:16px;line-height:1.65}
.inquiry-reference{font-size:13px;color:var(--muted);margin-top:16px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.property-inquiry{display:grid;gap:22px;margin-top:24px}
.property-inquiry .field{font-size:14px}
.property-inquiry .field small,.inquiry-channels small{font-size:12px;font-weight:400;color:var(--muted)}
.property-inquiry input,.property-inquiry textarea{background:var(--cream)}
.property-inquiry .button{width:100%}
.inquiry-channels{border:0;padding:0;margin:0;min-width:0;font-size:14px}
.inquiry-channels legend{padding:0;margin-bottom:10px;font-weight:500;line-height:1.6}
.inquiry-channels>div{display:flex;flex-wrap:wrap;gap:4px 16px}
.inquiry-channels label{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
.inquiry-channels input{width:18px;height:18px;margin:0;accent-color:var(--action)}
.inquiry-channels input[aria-invalid=true]{outline:1px solid var(--error);outline-offset:2px}
.inquiry-rental{display:grid;gap:18px}
.inquiry-status{font-size:14px;line-height:1.7;color:var(--muted)}
.inquiry-status:empty{display:none}
.inquiry-direct{display:flex;flex-wrap:wrap;gap:8px 28px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.inquiry-direct a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;text-decoration:underline;text-underline-offset:5px}
.inquiry-direct a:hover{color:var(--action)}
.detail-advisory{background:var(--sand)}
.detail-advisory .container{max-width:1040px}
.detail-advisory h2{max-width:20ch;margin:20px 0 32px}
.detail-advisory .advisory-copy{font-size:clamp(23px,2.3vw,32px);line-height:1.5;max-width:48ch}
.detail-advisory .button{margin-top:36px}
.detail-related .section-heading{margin-bottom:32px}
body[data-page=detail] .lightbox{background:var(--ink);color:var(--surface);width:min(1280px,calc(100% - 32px));padding:24px}
body[data-page=detail] .lightbox::backdrop{background:rgb(18 16 13 / .94)}
body[data-page=detail] .lightbox .dialog-top{border-color:rgb(255 252 247 / .25)}
body[data-page=detail] .lightbox .dialog-top h2{font-family:var(--body);font-size:18px;letter-spacing:0}
body[data-page=detail] .lightbox .secondary-button{color:var(--surface);border-color:rgb(255 252 247 / .65);min-width:48px;padding:10px}
body[data-page=detail] .lightbox .secondary-button:hover{background:rgb(255 252 247 / .1)}
body[data-page=detail] .lightbox :focus-visible{outline-color:var(--surface)}
body[data-page=detail] .lightbox-media{height:min(67dvh,720px)}
body[data-page=detail] .lightbox-controls{margin-top:16px}
.share-dialog .field{margin-top:12px;font-size:15px}
.share-copy{margin-top:24px}
.share-status{font-size:15px;line-height:1.7;margin-top:18px}
.share-status:empty{display:none}
@media(max-width:1100px){
 .detail-v2 .detail-body{gap:40px;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr)}
 .property-inquiry-panel{padding:24px}
 .property-gallery .gallery-grid{grid-template-rows:190px 190px}
 .property-gallery .gallery-count-1,.property-gallery .gallery-count-0{grid-template-rows:392px}
}
@media(max-width:767px){
 .detail-v2 .detail-top{padding-top:16px}
 .detail-v2 .detail-heading{display:block;padding-bottom:24px}
 .detail-v2 .detail-heading h1{font-size:36px}
 .detail-v2 .detail-price{margin-top:20px}
 .property-gallery .gallery-grid{display:flex;gap:12px;padding-bottom:8px;scroll-behavior:auto}
 .property-gallery .gallery-tile{height:auto;aspect-ratio:4/3;flex:0 0 100%;touch-action:pan-x pan-y}
 .property-gallery .gallery-extra{display:block}
 .property-gallery .gallery-empty{flex:0 0 100%;min-height:260px}
 .gallery-actions{top:10px;right:10px;gap:6px}
 .gallery-actions .favorite,.gallery-share{min-height:44px;height:44px}
 .gallery-actions .favorite{width:44px}
 .gallery-share{padding:8px 12px;font-size:13px}
 .detail-v2 .gallery-toolbar .small,.detail-v2 .gallery-toolbar .text-button{font-size:13px}
 .detail-v2 .gallery-toolbar .text-button{min-height:44px;text-align:left}
 .detail-v2 .detail-body{display:flex;gap:40px;padding-top:40px;padding-bottom:56px}
 .detail-story{width:100%}
 .property-inquiry-panel{width:100%;padding:24px 20px}
 .property-inquiry-panel h2{font-size:30px}
 .detail-advisory h2{font-size:36px;margin:16px 0 24px}
 .detail-advisory .advisory-copy{font-size:23px;line-height:1.5}
 .detail-advisory .button{margin-top:28px}
 body[data-page=detail] .lightbox{padding:20px 12px;width:calc(100% - 16px)}
 body[data-page=detail] .lightbox-media{height:60dvh}
}

/* Contact and listing polish: concept-owned composition, common content/modules. */
.contact-page-heading{max-width:900px;margin:32px auto 64px;text-align:center}
body[data-page=contact] .wa-widget{display:none}
.contact-page-heading h1{margin:18px auto 24px;max-width:17ch}
.contact-page-heading .page-lead{max-width:65ch;margin:auto}
.contact-workspace{max-width:860px;background:var(--surface);padding:48px 56px;border:1px solid var(--line)}
.contact-workspace>h2{font-size:34px;margin-bottom:32px}
.contact-progress{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0 0 40px;gap:16px}
.contact-progress li{font-size:12px;line-height:1.5;color:var(--muted);border-top:2px solid var(--line);padding-top:14px}
.contact-progress li[aria-current]{border-color:var(--action);color:var(--action);font-weight:700}
.contact-progress li[data-complete=true]{border-color:var(--olive)}
.contact-progress li>span{display:block;font-size:16px;margin-bottom:5px}
#contact-wizard h3{font-size:30px;margin-bottom:24px}
.contact-options{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-options legend{padding:0;margin-bottom:20px;font-size:14px}
.contact-options label{display:flex;gap:12px;align-items:center;border:1px solid var(--control-line);padding:18px 16px;min-height:66px;cursor:pointer;font-size:15px;border-radius:3px}
.contact-options label:has(:checked){border-color:var(--olive);background:#edf0e7}
.contact-options input{accent-color:var(--olive);width:18px;height:18px;margin:0;flex:none}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-fields input,.contact-fields textarea{width:100%;background:var(--cream);border:1px solid var(--control-line);border-radius:3px;padding:12px 14px;min-height:48px}
.contact-fields textarea{resize:vertical}
.contact-message,.contact-channels{grid-column:1/-1}
.contact-channels{grid-template-columns:repeat(3,minmax(0,1fr))}
.contact-channels label{gap:8px;padding:14px 12px}
.contact-channels input[type=radio]{appearance:auto;flex:0 0 18px;width:18px;height:18px;min-width:18px;min-height:18px;margin:0;padding:0;border:0;background:transparent;accent-color:var(--olive)}
.contact-channels label{min-width:0}
.contact-channels label>span{min-width:0;overflow-wrap:anywhere}
.contact-channels label:focus-within{outline:2px solid var(--olive);outline-offset:3px}
.contact-step-help{margin-bottom:24px;font-size:14px;color:var(--muted)}
.contact-error{color:var(--error);font-size:14px;margin-top:20px}
.contact-error:empty{display:none}
.contact-step-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}
.contact-step-actions .button{margin-left:auto;min-width:160px}
.contact-review{margin:24px 0;display:grid;gap:0}
.contact-review>div{padding:12px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:20px}
.contact-review dt{font-size:13px;color:var(--muted)}
.contact-review dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.contact-confirmation{margin-top:24px;padding:24px;background:#edf0e7;border-left:3px solid var(--olive)}
.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:100px;max-width:1100px}
.contact-direct h2{font-size:38px;margin:16px 0 24px;max-width:20ch}
.contact-direct p{max-width:48ch}
.contact-channels-list{align-self:center;display:grid;gap:20px}
.contact-channels-list>a,.contact-channels-list>p{display:flex;align-items:center;gap:12px;overflow-wrap:anywhere;min-width:0}
.contact-channels-list>a>span{min-width:0}
.contact-channels-list .social-links{margin-top:12px}
.reasons-feature{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.reasons-photo{position:relative;aspect-ratio:5/4;overflow:hidden}
.reasons-photo>img{width:100%;height:100%;object-fit:cover}
.reasons-intro h2{margin:20px 0 24px;max-width:19ch}
.reasons-intro>p:not(.eyebrow){font-size:18px;line-height:1.75}
.reasons-intro .text-link{margin-top:28px;display:inline-flex}
.reasons-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 72px;margin-top:56px}
.reasons-grid article{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:28px}
.reasons-grid article>.icon{width:28px;height:28px;color:var(--olive);margin-top:4px}
.reasons-grid h3{font-size:28px;margin-bottom:16px}
.reasons-grid p{font-size:15px;line-height:1.8;max-width:56ch}
.price-range-field{border:0;margin:0;padding:0;min-width:0;grid-column:span 2}
.price-range-field>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.price-range-field .ibiza-price__summary{font-size:12px}
.search-form.bar{grid-template-columns:minmax(110px,1fr) minmax(0,1.15fr) minmax(0,1fr) minmax(0,.85fr) minmax(220px,280px) auto;align-items:start;gap:12px}
.search-form.bar:has(input[type=hidden][name=operation]){grid-template-columns:minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,.85fr) minmax(230px,320px) auto}
.search-form.bar>.field,.search-form.bar .price-range-field{grid-column:auto;grid-row:auto;min-width:0}
.search-form.bar .search-buttons{grid-column:auto;grid-row:auto;flex-wrap:nowrap;justify-content:flex-start;align-self:start;padding-top:26px;gap:8px}
.search-form.bar .search-buttons .button,.search-form.bar .search-buttons .secondary-button{padding-inline:16px;font-size:13px;white-space:nowrap}
.search-form.bar .ibiza-select__value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-form.bar{--select-font-size:14px;--select-padding-x:10px}
.listing-inventory{position:relative}
.listing-inventory>.filter-bar{position:sticky;top:calc(var(--header) + 1px)}
.breadcrumbs a,.breadcrumbs [aria-current=page]{text-decoration:none;border-bottom:0}
@media(min-width:1100px){html{scroll-padding-top:110px}}
@media(min-width:1024px){
 .quick-desktop .search-form.quick{grid-template-columns:minmax(170px,1fr) minmax(180px,1.35fr) minmax(160px,1fr) auto;align-items:end;gap:16px}
 .quick-desktop .search-form.quick .search-buttons{grid-column:auto;flex-wrap:nowrap;justify-content:flex-start}
 .quick-desktop .search-form.quick .button{white-space:nowrap}
 .quick-desktop .ibiza-select__value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
/* Keep editorial scenes still until the common loader has physically left the DOM. */
@media(min-width:768px) and (prefers-reduced-motion:no-preference){
 body:not([data-motion-ready=true]) .hero-immersive .hero-photo{position:relative}
 body:not([data-motion-ready=true]) .service-scene .scene-title-track h2{position:static}
}
@media(max-width:1099px){
 .search-form.bar:not(:has(input[type=hidden][name=operation])){grid-template-columns:minmax(130px,1.1fr) minmax(95px,1fr) minmax(95px,1fr) minmax(90px,.9fr) minmax(200px,220px) auto;gap:10px}
 .reasons-feature{gap:40px}.reasons-grid{gap:32px}
 .contact-direct{gap:40px}.contact-workspace{padding:40px}
}
@media(min-width:768px) and (max-width:999px){
 .desktop-filters{display:none}.mobile-filters{display:flex;width:100%;justify-content:space-between}
}
@media(max-width:767px){
 .contact-page-heading{margin:24px auto 40px;text-align:left}.contact-page-heading h1{font-size:44px;margin-inline:0}
 .contact-workspace{padding:28px 20px}.contact-workspace>h2{font-size:29px}
 .contact-progress{gap:8px;margin-bottom:28px}.contact-progress li{font-size:10px}.contact-progress li>span{font-size:14px}
 .contact-options,.contact-fields,.contact-channels{grid-template-columns:1fr}.contact-options label{min-height:56px;padding:14px}
 .contact-fields{gap:20px}.contact-step-actions{gap:16px}.contact-step-actions .button{min-width:0}
 .contact-direct{grid-template-columns:1fr;gap:32px}.contact-direct h2{font-size:32px}
 .contact-review>div{grid-template-columns:1fr;gap:4px}.contact-channels-list>a{font-size:14px}
 .reasons-feature,.reasons-grid{grid-template-columns:1fr;gap:32px}.reasons-grid{margin-top:40px}
 .reasons-intro h2{font-size:36px}.reasons-grid h3{font-size:26px}.reasons-grid article{gap:16px}
 .price-range-field{grid-column:1/-1}.price-inputs{gap:8px}.price-inputs input{min-width:0;padding-inline:10px}
 .price-range-field .field{font-size:12px}.filter-bar{position:sticky}
}

/* Nosotros: people and property photographs, warm editorial rhythm. */
.home-about-link{display:inline-flex;margin-top:32px}
.about-heading{padding-top:48px;padding-bottom:72px;border-bottom:1px solid var(--line)}
.about-heading>.breadcrumbs{margin-bottom:64px}
.about-heading>.eyebrow{margin-bottom:24px}
.about-opening{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end}
.about-opening h1{font-size:clamp(56px,5.7vw,82px);line-height:1.08;max-width:17ch}
.about-opening>p{font-size:19px;line-height:1.8;max-width:47ch;padding-bottom:4px}
.about-team{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:112px;align-items:center;padding-block:88px 112px}
.about-portrait{max-width:460px;width:100%}
.about-portrait .about-photo{aspect-ratio:4/5}
.about-photo{position:relative;overflow:hidden;border-radius:4px}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-portrait .about-photo img{object-position:center 24%}
.about-portrait figcaption{display:flex;flex-direction:column;gap:4px;margin-top:20px}
.about-portrait figcaption strong{font-size:20px;font-weight:500}
.about-portrait figcaption span{font-size:12px;color:var(--muted)}
.about-team-copy{max-width:540px}
.about-team-copy h2{max-width:17ch;font-size:clamp(36px,3.5vw,50px);margin-bottom:32px}
.about-team-copy p{font-size:17px;line-height:1.8;margin-top:24px}
.about-team-copy .about-person-bio{font-size:21px;line-height:1.65}
.about-scene-band{padding-block:96px}
.about-scene-band-warm{background:var(--sand)}
.about-scene{display:grid;grid-template-columns:1fr 1.15fr;gap:88px;align-items:center}
.about-scene-copy{max-width:520px}
.about-scene-copy h2{font-size:clamp(36px,3.5vw,50px);max-width:19ch;margin:20px 0 28px}
.about-scene-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;margin-top:20px}
.about-scene-copy .text-link{display:inline-flex;margin-top:28px}
.about-scene>.about-photo{aspect-ratio:4/3}
.about-scene-band-warm .about-scene{grid-template-columns:1.15fr 1fr}
.about-scene-band-warm .about-photo{order:-1}
.about-values{padding-block:88px 96px;background:var(--olive);color:var(--surface)}
.about-values h2{max-width:20ch;margin-bottom:48px}
.about-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.about-value{border-top:1px solid #c1c6b9;padding-top:28px}
.about-value>.icon{width:28px;height:28px;margin-bottom:24px}
.about-value h3{font-size:30px;margin-bottom:20px}
.about-value p{font-size:16px;line-height:1.75;max-width:32ch}
.about-closing{padding-block:112px;text-align:center}
.about-closing h2{font-size:clamp(38px,4.5vw,64px);max-width:20ch;margin:24px auto}
.about-closing>p:not(.eyebrow){font-size:18px;line-height:1.8;max-width:57ch;margin-inline:auto}
.about-actions{display:flex;gap:24px 36px;align-items:center;justify-content:center;margin-top:36px;flex-wrap:wrap}
@media(max-width:1099px){
 .about-opening{gap:40px}.about-opening>p{font-size:17px}
 .about-team,.about-scene{gap:48px}.about-value-grid{gap:28px}
 .about-team-copy h2,.about-scene-copy h2{font-size:38px}
}
@media(max-width:767px){
 .about-heading{padding-top:24px;padding-bottom:40px}.about-heading>.breadcrumbs{margin-bottom:36px}
 .about-heading>.eyebrow{margin-bottom:20px}.about-opening{grid-template-columns:1fr;gap:28px}
 .about-opening h1{font-size:48px;max-width:15ch}.about-opening>p{font-size:17px;line-height:1.75;max-width:none}
 .about-team{grid-template-columns:1fr;gap:40px;padding-block:48px 56px}
 .about-portrait{max-width:420px;margin-inline:auto}.about-portrait figcaption{margin-top:16px}
 .about-team-copy h2{font-size:36px;margin-bottom:24px}.about-team-copy .about-person-bio{font-size:20px}
 .about-team-copy p{font-size:16px;margin-top:20px}
 .about-scene-band{padding-block:56px}.about-scene,.about-scene-band-warm .about-scene{grid-template-columns:1fr;gap:32px}
 .about-scene-band-warm .about-photo{order:0}.about-scene-copy h2{font-size:36px}
 .about-scene-copy>p:not(.eyebrow){font-size:16px}.about-scene>.about-photo{aspect-ratio:4/3}
 .about-values{padding-block:56px}.about-values h2{margin-bottom:32px}
 .about-value-grid{grid-template-columns:1fr;gap:28px}.about-value{padding-top:24px}.about-value>.icon{margin-bottom:16px}
 .about-value h3{font-size:28px;margin-bottom:12px}.about-value p{max-width:none}
 .about-closing{padding-block:64px}.about-closing h2{font-size:40px}.about-closing>p:not(.eyebrow){font-size:17px}
 .about-actions{gap:24px;margin-top:28px;flex-direction:column}
}
[data-entry-state=pending]{opacity:0}
body.keyboard-input [data-entry-state=pending]{opacity:1}
@media(prefers-reduced-motion:reduce){[data-entry-state=pending]{opacity:1}}

/* About shares Home's immersive photograph and bounded sticky behavior. */
.about-hero.about-heading{padding:0;border:0}
.about-hero .about-opening h1{font-size:clamp(56px,5.7vw,82px);line-height:1.08;max-width:17ch}
.about-hero .about-opening>p{color:var(--surface)}
.about-breadcrumbs{padding-top:32px}
.about-breadcrumbs .breadcrumbs{margin-bottom:0}
body[data-page=about].keyboard-input .hero-immersive{display:flex;align-items:end;min-height:calc(92svh - 44px)}
body[data-page=about].keyboard-input .hero-immersive .hero-photo{position:absolute;inset:0;height:100%}
@media(max-width:767px){
 .about-hero .about-opening{display:block}
 .about-hero .about-opening h1{font-size:48px;max-width:15ch}
 .about-hero .about-opening>p{margin-top:28px;font-size:17px;line-height:1.75}
}
