@import url('../shared/home-discovery.css');
/* Shared controls, styled with A's existing palette. */
:root{--brand-loader-bg:#263B33;--brand-loader-ink:#FBF9F5;--brand-loader-logo-width:240px;--price-accent:#263B33;--price-track:#B8BEB5;--price-ink:#1C2420;--price-error:#8B3E36;--price-surface:#FBF9F5}
@font-face{font-family:Instrument Serif;src:url('fonts/InstrumentSerif-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:DM Sans;src:url('fonts/DMSans-Variable.ttf') format('truetype');font-weight:100 1000;font-style:normal;font-display:swap}
:root{--bg:#F4F0E8;--surface:#FBF9F5;--text:#1C2420;--olive:#263B33;--muted:#53655B;--sand:#CDBA9B;--line:#B8BEB5;--error:#8B3E36;--header:88px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-padding-top:120px}body{margin:0;background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:Instrument Serif,Georgia,serif;font-weight:400;line-height:1.08;text-wrap:balance}h1{font-size:clamp(48px,6.6vw,96px)}h2{font-size:clamp(36px,4vw,56px)}h3{font-size:30px}p{max-width:68ch}button{border-radius:2px}ul,ol{padding-left:22px}
:focus-visible{outline:2px solid var(--olive);outline-offset:4px}main:focus{outline:none}.seller :focus-visible{outline-color:var(--surface)}[hidden]{display:none!important}.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{position:fixed;top:8px;left:16px;z-index:100;padding:12px 20px;background:var(--surface);transform:translateY(-150%)}.skip:focus{transform:none}.wrap{width:calc(100% - 96px);max-width:1320px;margin-inline:auto}.section{margin-block:112px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:48px}.section-heading h2{max-width:650px}.section-heading .underlink{flex-shrink:0}.caption{font-size:14px;color:var(--muted);line-height:1.5}.eyebrow{font-size:14px;color:var(--muted);margin-bottom:16px}.intro{font-size:20px;line-height:1.65}.underlink{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;border:0;border-bottom:1px solid currentColor;background:none;padding:8px 0;font-size:14px;text-decoration:none;line-height:1.4}.underlink:hover{text-decoration:none;border-bottom-width:2px;padding-bottom:7px}.underlink>span[aria-hidden]{font-size:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;background:var(--olive);color:var(--surface);border:1px solid var(--olive);padding:12px 24px;text-decoration:none;font-size:14px;font-weight:500;border-radius:2px;line-height:1.5}.button:hover{background:var(--text);text-decoration:none}.button.light{background:var(--surface);color:var(--olive);border-color:var(--surface)}.button.light:hover{background:var(--bg)}.text-button{border:0;background:none;text-align:left;padding:0;min-height:44px;overflow-wrap:anywhere}.text-button:hover{text-decoration:underline;text-underline-offset:4px}
.concept-banner{font-size:11px;line-height:1.5;text-align:center;padding:9px 32px;background:var(--olive);color:var(--surface)}#site-header{display:contents}.site-header{height:var(--header);background:var(--bg);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;height:100%;gap:32px}.brand{display:block;flex:0 0 88px}.brand img{width:88px;height:86px;object-fit:contain}.desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:36px;margin-left:auto}.desktop-nav a{font-size:14px;min-height:44px;display:flex;align-items:center}.desktop-nav a[aria-current],.mobile-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.language{font-size:12px;margin-left:16px}.menu-button{display:none;border:0;background:none;min-height:44px;gap:20px;align-items:center}.menu-button span{font-size:20px}
.hero{padding-top:0}.hero-photo{width:100%;height:min(49vw,560px);overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-copy{display:grid;grid-template-columns:7fr 5fr;gap:32px;align-items:center;padding-block:40px 32px}.hero-heading h1{max-width:630px}.hero-intro{padding-left:24px;max-width:460px}.hero-intro>p{font-size:18px;max-width:340px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:24px}.hero-actions .underlink{white-space:nowrap}.quick-search{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:24px}.quick-form{display:grid;grid-template-columns:1fr 1.5fr 1fr auto;gap:32px;align-items:end}label{display:flex;flex-direction:column;gap:8px;font-size:14px}input,select,textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);background:var(--surface);border-radius:2px;padding:10px 12px;font-size:16px}select{padding-right:30px}textarea{resize:vertical}input:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed}label small{font-size:12px;line-height:1.35;color:var(--muted)}.quick-form select{border:0;border-bottom:1px solid var(--line);background:transparent;padding-left:0}.mobile-search{display:none}
.editorial-properties{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;row-gap:64px}.property-card{min-width:0;position:relative}.editorial-properties .property-card:nth-child(1){grid-column:span 7}.editorial-properties .property-card:nth-child(2){grid-column:span 5;padding-top:128px}.editorial-properties .property-card:nth-child(n+3){grid-column:span 6}.editorial-properties .property-card:nth-child(1) .card-photo{aspect-ratio:1.25}.editorial-properties .property-card:nth-child(2) .card-photo{aspect-ratio:1.1}.card-link{display:block}.card-link:hover{text-decoration:none}.card-link:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.card-photo{aspect-ratio:4/3;position:relative;background:var(--sand);overflow:hidden}.card-photo img{width:100%;height:100%;object-fit:cover}.card-meta{font-size:13px;color:var(--muted);margin:20px 52px 8px 0}.card-meta>span{padding-inline:6px}.property-card h3{font-size:32px;margin-bottom:12px}.price{font-size:22px;font-variant-numeric:tabular-nums;line-height:1.3}.specs{display:flex;flex-wrap:wrap;gap:4px 18px;color:var(--muted);font-size:14px;line-height:1.6;margin-top:12px}.favorite{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:44px;height:44px;background:var(--surface);color:var(--olive);border:0;border-radius:0}.editorial-properties .property-card:nth-child(2) .favorite{top:136px}.render-label{position:absolute;bottom:12px;left:12px;max-width:calc(100% - 24px);padding:6px 10px;background:var(--surface);color:var(--text);font:12px/1.4 DM Sans,system-ui,sans-serif}.missing-photo{display:flex;align-items:center;justify-content:center;background:var(--sand);width:100%;height:100%;min-height:160px;font-size:16px;color:var(--text);text-align:center;padding:24px}
.buy-rent{background:var(--surface);padding-block:96px}.buy-rent-grid{display:grid;grid-template-columns:7fr 5fr;gap:96px;align-items:start}.buy-rent-grid article:nth-child(2){padding-top:128px}.chapter-photo{height:400px;overflow:hidden;position:relative}.chapter-photo img{width:100%;height:100%;object-fit:cover}.buy-rent-grid article:nth-child(2) .chapter-photo{height:440px}.chapter-copy{padding-top:32px}.chapter-copy p{margin:20px 0}.areas h2{margin-bottom:40px}.area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.area-photo{aspect-ratio:1/1.2;position:relative;overflow:hidden}.area-photo img{width:100%;height:100%;object-fit:cover}.area-link h3{font-size:26px;margin-top:20px;line-height:1.25}.area-link h3 span{white-space:nowrap;font-family:DM Sans,system-ui,sans-serif;font-size:20px}.areas>.caption{margin-top:24px}.seller{padding-block:96px;background:var(--olive);color:var(--surface)}.seller-grid{display:grid;grid-template-columns:7fr 5fr;gap:64px}.seller h2{font-size:clamp(48px,5.5vw,80px);max-width:500px}.seller-intro{font-size:24px;line-height:1.5}.seller ol{list-style:decimal-leading-zero;padding-left:32px;margin:32px 0}.seller li{border-top:1px solid #65776D;padding:16px 0 16px 12px;font-size:14px}.seller li::marker{font-variant-numeric:tabular-nums}.about{display:grid;grid-template-columns:4fr 7fr;gap:128px;align-items:center}.about-person img{width:100%;aspect-ratio:2/3;object-fit:cover}.about-person p{font-size:14px;margin-top:16px}.about-person p span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.about-copy .intro{margin:32px 0}.pillars{display:grid;gap:24px}.pillars>div{border-top:1px solid var(--line);padding-top:20px}.pillars h3{font-size:28px}.pillars p{font-size:16px;color:var(--muted);margin-top:8px}.testimonial{padding-block:80px;border-block:1px solid var(--line)}.testimonial blockquote{max-width:900px;margin:auto;text-align:center}.testimonial blockquote>p{font:400 40px/1.25 Instrument Serif,Georgia,serif;text-wrap:balance}.testimonial footer{font-size:14px;margin-top:32px}.testimonial footer a{display:block;color:var(--muted);font-size:12px;margin-top:8px;text-decoration:underline;text-underline-offset:4px}.final-contact{display:flex;gap:48px;justify-content:space-between;align-items:center}.final-contact p{margin-top:20px}.final-contact .button{flex-shrink:0}.footer{padding-block:56px 24px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;gap:48px}.footer-brand{width:112px;align-self:start}.footer-brand img{width:112px;height:112px}.footer-top h2{font:500 14px/1.5 DM Sans,system-ui,sans-serif;margin-bottom:16px}.footer-top>div>a{display:flex;align-items:center;min-height:44px;font-size:14px}.footer-top .text-button{display:block;font-size:14px}.footer-top p{font-size:14px;color:var(--muted);margin-top:10px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:48px;padding-top:16px;font-size:12px;color:var(--muted)}
.listing-heading{padding-block:48px}.listing-heading h1{font-size:clamp(48px,5.5vw,80px);margin:24px 0 16px}.listing-heading>p{color:var(--muted);font-size:14px}.breadcrumb{font-size:13px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--muted)}.breadcrumb a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.filter-bar{background:var(--bg);border-block:1px solid var(--line);position:sticky;top:var(--header);z-index:15;padding-block:20px 12px}.filter-form{display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr 1fr auto;gap:16px;align-items:start}.filter-form>.button{margin-top:30px}.filter-actions{display:flex;align-items:center;gap:28px;margin-top:4px}.filter-actions .caption{margin-left:auto;max-width:50%}.filter-form label small{min-height:16px}.results-section{padding-top:32px}.results-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.results-heading p{font-size:14px}.sort-label{flex-direction:row;align-items:center;gap:16px;white-space:nowrap;font-size:13px}.sort-label select{border:0;background:transparent;font-size:14px;max-width:200px}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}.empty-state{grid-column:1/-1;padding:64px 0;max-width:800px}.empty-state p{margin:24px 0}.empty-state .underlink{margin-left:24px}.empty-state h2{font-size:40px}
.detail-heading{padding-block:32px}.detail-heading>.eyebrow{margin-top:32px}.detail-title{display:grid;grid-template-columns:8fr 4fr;gap:48px;align-items:end}.detail-title h1{font-size:clamp(42px,4.5vw,64px);max-width:850px}.detail-title>div{position:relative;display:flex;align-items:center;justify-content:end;gap:24px}.detail-title .favorite{position:static;border:1px solid var(--line);flex-shrink:0}.detail-title .price{font-size:28px}.detail-heading .specs{margin-top:24px}.gallery-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:16px;height:480px}.gallery-tile{position:relative;display:block;overflow:hidden;border:0;background:var(--sand);padding:0;border-radius:0;min-width:0;min-height:0}.gallery-tile:first-child{grid-row:span 2}.gallery-tile img{width:100%;height:100%;object-fit:cover}.gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:12px}.detail-body{display:grid;grid-template-columns:7fr 4fr;gap:8.33%}.detail-story h2{font-size:40px;margin-top:48px;margin-bottom:24px}.detail-story h2:first-child{margin-top:0}.rental-note{border-left:3px solid var(--olive);padding-left:16px;margin-top:24px}.facts{margin:0}.facts>div{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-top:1px solid var(--line);font-size:14px}.facts dt{color:var(--muted)}.facts dd{margin:0}.features{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;list-style:none;padding:0;margin-top:32px}.source-notes{margin:40px 0 24px;border-left:2px solid var(--sand);padding:0 0 0 24px}.source-notes h3{font-family:DM Sans,system-ui,sans-serif;font-size:14px;font-weight:500}.source-notes ul{font-size:14px;color:var(--muted);padding-left:18px;margin-bottom:0}.source-notes li+li{margin-top:12px}.detail-story .caption a{text-decoration:underline}.contact-sticky{position:sticky;top:120px;padding:32px;background:var(--surface);border-top:2px solid var(--olive)}.contact-sticky h2{font-size:36px;margin-bottom:20px}.contact-sticky>.button{width:100%;margin-top:24px}.contact-options{display:flex;gap:32px;margin:16px 0 24px}.contact-sticky>.caption{font-size:13px}.mobile-contact{display:none}
dialog{width:min(720px,calc(100% - 40px));max-height:calc(100svh - 48px);padding:32px;border:0;background:var(--surface);color:var(--text);overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:rgb(28 36 32 / .6)}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:24px}.dialog-head h2{font-size:36px}.close-dialog{border:0;background:none;display:flex;align-items:center;gap:12px;min-height:44px;font-size:13px;padding:0 4px;flex-shrink:0}.close-dialog span{font-size:24px}.drawer-dialog,.menu-dialog{margin:0 0 0 auto;min-height:100svh;max-height:100svh;width:min(520px,100%);padding:32px}.drawer-form{display:grid;gap:20px}.drawer-form .button{margin-top:12px}.mobile-nav{display:flex;flex-direction:column;margin-bottom:40px}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding-block:20px;border-bottom:1px solid var(--line);font:32px/1.2 Instrument Serif,Georgia,serif}.mobile-nav a>span{font:20px DM Sans,sans-serif}.menu-dialog>.caption{margin-top:24px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.contact-form>.full,#form-summary{grid-column:1/-1}.contact-form .consent{display:grid;grid-template-columns:24px 1fr;align-items:start;gap:10px;font-size:13px}.consent input{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--olive)}.consent small{grid-column:2}.field-error,#form-summary{color:var(--error)}#form-summary:empty,.field-error:empty,#form-status:empty{display:none}[aria-invalid=true]{border-color:var(--error)}#form-status{padding:20px;background:var(--bg)}.lightbox-dialog{width:min(1320px,calc(100% - 48px))}.lightbox-dialog .dialog-head h2{font-size:28px}#lightbox-photo{position:relative;height:min(65svh,720px);touch-action:pan-y}#lightbox-photo img{width:100%;height:100%;object-fit:contain}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px}.loading{max-width:1320px;margin:64px auto;padding:24px}.skeleton{height:400px;background:var(--sand);margin-top:24px}
@media(min-width:1600px){.hero-photo{height:640px}}
@media(max-width:1099px){:root{--header:76px}.wrap{width:calc(100% - 64px)}.brand{flex-basis:76px}.brand img{width:76px;height:74px}.desktop-nav{display:none}.menu-button{display:flex}.language{margin-left:auto}.hero-copy{grid-template-columns:7fr 5fr}.hero-intro{padding-left:0}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:16px}.hero-photo{height:46vw;min-height:340px}.quick-form{gap:20px}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-form{display:none}.filter-actions .mobile-search{display:flex}.filter-actions{margin:0}.filter-actions .desktop-more{display:none}.filter-bar{padding-block:16px}.buy-rent-grid{gap:48px}.about{gap:64px}.area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.area-photo{aspect-ratio:4/3}.footer-top{gap:32px;grid-template-columns:1fr 1fr 1fr}.footer-top>.brand{display:none}.detail-title{grid-template-columns:7fr 3fr;gap:24px}.detail-title>div{flex-wrap:wrap;justify-content:end}.gallery-grid{height:400px}.detail-body{gap:48px;grid-template-columns:6fr 4fr}.contact-sticky{padding:24px}.contact-options{gap:20px}.seller-grid{gap:48px}}
@media(max-width:767px){:root{--header:68px}html{scroll-padding-top:96px}.wrap{width:calc(100% - 40px)}.concept-banner{font-size:10px;line-height:1.5;padding:8px 20px;text-align:left}.header-inner{gap:20px}.brand{flex-basis:68px}.brand img{width:68px;height:66px}.menu-button{font-size:14px}.language{font-size:12px}.section{margin-block:64px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{max-width:100%;font-size:40px}.section-heading>.underlink{margin-top:16px}.hero-photo{height:250px;min-height:0}.hero-photo img{object-position:50% 50%}.hero-copy{display:block;padding-block:24px}.hero-heading h1{font-size:56px;max-width:350px}.hero-intro{max-width:none;margin-top:20px}.hero-intro>p{font-size:16px;max-width:340px}.hero-actions{margin-top:20px;gap:24px}.hero-actions .button{padding-inline:16px}.quick-form{display:none}.quick-search{padding-block:16px}.mobile-search{display:flex;width:100%}.quick-search .mobile-search{background:transparent;color:var(--olive);justify-content:space-between}.editorial-properties{display:block}.editorial-properties .property-card{margin-top:40px;padding:0}.editorial-properties .property-card:first-child{margin-top:0}.editorial-properties .property-card:nth-child(2){padding:0}.editorial-properties .property-card:nth-child(2) .favorite{top:8px}.editorial-properties .property-card:nth-child(n) .card-photo{aspect-ratio:4/3}.card-meta{margin-top:16px;font-size:12px}.property-card h3{font-size:30px}.price{font-size:22px}.specs{font-size:13px;gap:4px 14px}.buy-rent{padding-block:56px}.buy-rent-grid{display:block}.buy-rent-grid article:nth-child(2){padding-top:56px}.chapter-photo,.buy-rent-grid article:nth-child(2) .chapter-photo{height:320px}.chapter-copy{padding-top:24px}.chapter-copy h2{font-size:40px}.chapter-copy p{margin:16px 0}.area-grid{gap:32px 20px}.area-photo{aspect-ratio:3/4}.area-link h3{font-size:24px}.areas h2{font-size:40px;margin-bottom:32px}.areas>.caption{font-size:12px}.seller{padding-block:56px}.seller-grid{display:block}.seller h2{font-size:52px;max-width:320px}.seller-intro{font-size:20px;margin-top:32px}.seller ol{margin:24px 0}.about{display:flex;flex-direction:column-reverse;gap:40px;align-items:start}.about-copy h2{font-size:44px}.about-copy .intro{font-size:18px;margin-block:24px 32px}.about-person{width:70%;max-width:320px;margin-left:auto}.pillars h3{font-size:28px}.testimonial{padding-block:48px}.testimonial blockquote>p{font-size:28px;line-height:1.3}.testimonial footer{margin-top:24px}.testimonial footer a{font-size:12px}.final-contact{display:block}.final-contact h2{font-size:44px}.final-contact .button{margin-top:24px}.footer{padding-block:32px 24px}.footer-top{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:8px 24px;margin-top:32px;padding-top:16px}.footer-bottom>span:first-child{width:100%}.listing-heading{padding-block:24px 32px}.listing-heading h1{font-size:54px;margin:16px 0}.listing-heading>p{font-size:16px}.filter-actions{display:grid;grid-template-columns:1fr auto;gap:4px 20px}.filter-actions>.mobile-search{font-size:13px;padding-inline:16px}.filter-actions>.underlink{font-size:12px}.filter-actions .caption{margin:0;max-width:none;grid-column:1/-1;font-size:12px}.filter-actions .caption:empty{display:none}.results-section{padding-top:20px}.results-heading{gap:12px;margin-bottom:24px}.results-heading>p{font-size:12px}.sort-label{gap:4px;font-size:12px}.sort-label select{font-size:12px;width:145px;padding-left:4px;padding-right:20px}.property-grid{grid-template-columns:1fr;gap:40px}.empty-state{padding-block:40px}.empty-state .underlink{margin:16px 0 0;display:table}.empty-state h2{font-size:36px}.detail-heading{padding-block:20px 24px}.breadcrumb{font-size:12px;gap:8px}.detail-heading>.eyebrow{font-size:12px;margin-top:20px}.detail-title{display:block}.detail-title h1{font-size:44px}.detail-title>div{justify-content:space-between;flex-wrap:nowrap;margin-top:24px}.detail-title .price{font-size:24px}.detail-heading .specs{margin-top:16px}.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;height:280px;scrollbar-width:thin}.gallery-tile{flex:0 0 92%;scroll-snap-align:start}.gallery-grid .gallery-tile img{object-fit:cover}.gallery-tools{gap:12px}.gallery-tools .caption{font-size:11px;max-width:150px}.gallery-tools .underlink{font-size:12px;gap:12px}.detail-body{display:block}.detail-story .intro{font-size:18px}.detail-story h2{font-size:36px;margin-top:40px}.features{gap:16px;font-size:14px}.source-notes{padding-left:16px}.source-notes ul{font-size:13px}.contact-aside{margin-top:40px}.contact-sticky{position:static;padding:24px}.similar .section-heading h2{font-size:38px}.mobile-contact{display:flex;align-items:center;justify-content:space-between;gap:16px;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--bg);border-top:1px solid var(--line);padding:8px 20px calc(8px + env(safe-area-inset-bottom));min-height:64px}.mobile-contact>span{font-size:16px;font-variant-numeric:tabular-nums}.mobile-contact .button{min-height:44px;padding:10px 16px}.has-mobile-contact{padding-bottom:calc(80px + env(safe-area-inset-bottom))}html:has(.has-mobile-contact){scroll-padding-bottom:96px}.dialog-open .mobile-contact{visibility:hidden}dialog{width:calc(100% - 24px);padding:24px;max-height:calc(100svh - 24px)}.dialog-head{gap:16px}.dialog-head h2{font-size:32px}.drawer-dialog,.menu-dialog{width:100%;max-height:100svh;padding:24px;min-height:100svh}.contact-form{grid-template-columns:1fr;gap:16px}.contact-form>.full,#form-summary{grid-column:1}.lightbox-dialog{width:calc(100% - 16px);padding:16px}.lightbox-dialog .dialog-head h2{font-size:24px}.lightbox-controls{gap:12px}.lightbox-controls .underlink{font-size:12px}#lightbox-photo{height:55svh}}
@media(max-width:374px){.wrap{width:calc(100% - 32px)}.hero-heading h1{font-size:50px}.hero-actions{gap:20px}.hero-actions .button{font-size:13px}.hero-actions .underlink{font-size:13px}.gallery-tools .caption{max-width:125px}.mobile-contact{padding-inline:16px}}

/* Taste review: preserve the complete mark, remove only its empty white margins. */
.site-header .brand{flex-basis:144px;overflow:hidden}
.site-header .brand img{width:144px;height:86px;object-fit:cover}
.listing-heading{padding-block:24px 28px}
.listing-heading>.breadcrumb{display:inline-flex;border:0}
.listing-heading h1{font-size:clamp(48px,5vw,72px);margin:8px 0 16px}
.filter-bar{padding-block:16px 8px}
.results-heading{margin-bottom:24px}
html:has(body[data-page="listing"]){scroll-padding-top:300px}
.property-card,.gallery-tools a,.gallery-tools button{scroll-margin-top:16px}
input:not(:disabled),select,textarea{border-color:var(--muted)}
.text-button,button.underlink{min-width:44px}
html:has(body[data-page="listing"]) .card-link,html:has(body[data-page="listing"]) .favorite{scroll-margin-top:300px}
@media(max-width:1099px){.site-header .brand{flex-basis:128px}.site-header .brand img{width:128px;height:74px}html:has(body[data-page="listing"]){scroll-padding-top:210px}}
@media(max-width:767px){.site-header .brand{flex-basis:112px}.site-header .brand img{width:112px;height:66px}.listing-heading{padding-block:16px 24px}.listing-heading h1{font-size:48px}.filter-bar{padding-block:12px}.results-heading{margin-bottom:20px}}

/* Final motion pass: purposeful feedback; no scroll reveals or hidden content. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .area-photo img{transition:transform 180ms var(--ease)}
 .area-link:hover .area-photo img{transform:scale(1.02)}
 .keyboard-input .card-photo img,.keyboard-input .area-photo img{transition:none;transform:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.card-photo img,.area-photo img{transform:none!important}}

/* Client refinement: quieter framing, original brand and a real Cap Martinet view. */
.concept-banner{padding:0;background:#EAE5DB;color:var(--muted);text-align:left;border-bottom:1px solid #DAD5CB;font-size:12px}
.concept-banner summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;cursor:pointer;list-style:none;font-size:11px}
.concept-banner summary::-webkit-details-marker{display:none}
.concept-info{display:flex;gap:12px;align-items:center}


.concept-banner>p{max-width:1320px;padding-block:0 16px;line-height:1.6}
.site-header{background:#fff}
.site-header .brand{flex-basis:180px}
.site-header .brand img{width:180px;height:86px}
.hero-photo{position:relative}
.hero-photo img{object-position:50% 65%}

.inline-gallery-controls{display:none}
.source-notes{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:32px}
.source-notes>p{font-size:14px;line-height:1.55;color:var(--muted);margin-top:8px}
.source-notes summary{display:flex;align-items:center;gap:16px;min-height:44px;cursor:pointer;font-size:12px;color:var(--muted);list-style:none}
.source-notes summary::-webkit-details-marker{display:none}


.source-notes ul{margin-top:8px}
@media(max-width:1099px){.site-header .brand{flex-basis:160px}.site-header .brand img{width:160px;height:74px}}
@media(max-width:767px){
 .site-header .brand{flex-basis:140px}.site-header .brand img{width:140px;height:66px}
 .concept-banner summary{font-size:10px}.concept-banner>p{font-size:12px}
 .hero-photo{height:220px}.hero-photo img{object-position:50% 65%}
 
 .hero-copy{padding-block:20px}.hero-heading h1{font-size:52px}.hero-intro{margin-top:12px}
 .hero-actions{margin-top:16px}.quick-search{padding-block:12px}
 body[data-page=home] .section{margin-block:48px}
 body[data-page=home] .section-heading{margin-bottom:24px}
 body[data-page=home] .section-heading h2{font-size:36px}
 body[data-page=home] .section-heading>.underlink{margin-top:8px}
 .editorial-properties .property-card{margin-top:28px}
 .editorial-properties .property-card:nth-child(n) .card-photo{aspect-ratio:3/2}
 .editorial-properties .property-card h3{font-size:28px;margin-bottom:8px}
 .editorial-properties .card-meta{margin-top:12px}
 .editorial-properties .specs{margin-top:8px}
 body[data-page=home] .buy-rent{padding-block:40px}
 .buy-rent-grid article:nth-child(2){padding-top:40px}
 .chapter-photo,.buy-rent-grid article:nth-child(2) .chapter-photo{height:240px}
 .chapter-copy{padding-top:20px}
 body[data-page=home] .seller{padding-block:40px}
 .about{gap:28px}.about-person{width:58%;max-width:220px}
 .about-copy .intro{margin-block:20px 24px}.pillars{gap:20px}.pillars>div{padding-top:16px}
 body[data-page=home] .testimonial{padding-block:36px}
 .gallery-section{margin-top:20px}
 .gallery-grid{height:auto;aspect-ratio:var(--gallery-ratio,4/3);max-height:440px;gap:0;scrollbar-width:none;background:var(--surface)}
 .gallery-grid::-webkit-scrollbar{display:none}
 .gallery-tile{flex-basis:100%;height:100%;scroll-snap-stop:always;background:var(--surface)}
 .gallery-grid .gallery-tile img{object-fit:contain}
 .gallery-tools{padding-top:8px;gap:8px}
 .gallery-tools>.caption{display:none}
 .inline-gallery-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}
 .inline-gallery-controls button{width:44px;height:44px;border:0;background:none;font-size:20px;padding:0}
 .inline-gallery-controls button:disabled{opacity:.4;cursor:default}
 #inline-gallery-counter{font-size:12px;min-width:32px;text-align:center;font-variant-numeric:tabular-nums}
 .gallery-tools>.underlink{font-size:11px;gap:8px;white-space:nowrap}
 .detail-heading{padding-top:12px}.detail-heading>.eyebrow{margin-top:12px}
 .detail-title h1{font-size:40px}.detail-title>div{margin-top:16px}
 .detail-heading .specs{margin-top:12px}
 .detail-body{margin-top:24px}
}
@media(max-width:374px){.hero-heading h1{font-size:48px}.gallery-tools>.underlink{font-size:10px}.inline-gallery-controls{gap:0}.header-inner{gap:12px}}

/* Global icon system: official Phosphor paths and weights, inherited color. */
.ph-icon{display:inline-block;flex-shrink:0;fill:currentColor;stroke:none;vertical-align:middle}
.menu-button,.close-dialog,.concept-info,.source-notes summary,.underlink:has(.ph-icon),.button:has(.ph-icon){gap:8px}
a[target="_blank"]>.ph-icon{margin-left:8px}
.concept-banner[open] .concept-info>.ph-icon,.source-notes details[open] summary>.ph-icon{transform:rotate(180deg)}
.select-control{position:relative;display:block;width:100%;min-width:0}
.select-control select{appearance:none;padding-right:36px}
.select-control>.ph-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}
.sort-label .select-control{max-width:200px}
@media(max-width:767px){.sort-label .select-control{width:145px}.sort-label select{padding-right:28px}}

/* Shared UI usage rules, interpreted with A's restrained editorial styling. */
.menu-button{margin-left:auto}
.property-spec{display:inline-flex;align-items:center;gap:8px;max-width:100%}
.property-spec:has(.ph-icon){white-space:nowrap}
.property-spec>.ph-icon{align-self:center}
.specs{gap:8px 20px}
.seller .seller-steps{list-style:none;padding:0}
.seller-steps li{display:flex;align-items:center;gap:16px;padding:18px 0}
.seller-steps .ph-icon{flex-shrink:0}
.social-links{display:flex;flex-wrap:wrap;gap:8px 32px;color:var(--muted);font-size:13px}
.social-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.social-links a>.ph-icon{margin:0}
.footer-contact .social-links{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:12px;padding:0;border:0}
.footer-contact .social-links a{margin:0;font-size:12px;min-height:44px}
.footer-bottom{margin-top:16px}
.menu-dialog>.social-links{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.quick-search .mobile-search{justify-content:center;gap:8px}
.select-control{height:48px;background:var(--surface);border-radius:2px 2px 0 0;color:var(--olive)}
.select-control select,.quick-form .select-control select,.sort-label .select-control select{height:48px;min-height:48px;width:100%;max-width:none;border:0;border-bottom:1px solid var(--muted);border-radius:0;background:transparent;padding:10px 44px 10px 14px;font-size:16px;line-height:1.5}
.select-control>.ph-icon{right:14px}
.select-control:has(select:not(:disabled)):hover{background:#ECE7DC}
.select-control select:not(:disabled):hover{border-color:var(--olive)}
.select-control:focus-within{background:var(--surface)}
.select-control select:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.select-control:has(select:disabled){background:var(--bg);color:var(--muted);cursor:not-allowed}
.select-control select:disabled{cursor:not-allowed;border-color:var(--line)}
.select-control select[aria-invalid=true]{border-color:var(--error)}
.quick-form,.filter-form{align-items:start}
.quick-form>.button,.filter-form>.button{height:48px;margin-top:30px;padding-block:10px}
.quick-form label,.filter-form label{line-height:22px}
.filter-form{grid-template-columns:1fr minmax(306px,1.75fr) 1fr 1fr 1fr auto}
.sort-label .select-control{width:210px;max-width:none}
.filter-form input{height:48px;border:0;border-bottom:1px solid var(--muted);border-radius:0;padding:10px 14px;background:var(--surface)}
.filter-form input:disabled{border-color:var(--line);background:var(--bg)}
@media(min-width:768px) and (max-width:1099px){.quick-form{grid-template-columns:1fr 1fr;gap:20px 24px}}
@media(min-width:1100px) and (max-width:1279px){
 .filter-form,.filter-actions .desktop-more{display:none}
 .filter-actions .mobile-search{display:flex}
 .filter-actions{margin:0}
 html:has(body[data-page="listing"]){scroll-padding-top:210px}
}
@media(max-width:767px){
 .specs{gap:8px 16px}
 .sort-label{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;width:100%}
 .sort-label .select-control{width:auto;max-width:260px;flex:1}
 .results-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .social-links{gap:0 24px}
 .gallery-tools>.underlink{gap:6px}
 .gallery-tools>.underlink>.ph-icon{width:16px;height:16px}
}
@media(forced-colors:active){
 .select-control{color:CanvasText;background:Canvas}
 .select-control select,.quick-form .select-control select,.sort-label .select-control select{appearance:auto;border:1px solid ButtonText;background:Canvas;color:CanvasText}
 .select-control>.ph-icon{display:none}
 .select-control select:disabled{color:GrayText;border-color:GrayText}
 .select-control select:focus-visible{outline-color:Highlight}
}

/* A quiet collection link, not a toolbar. Heart regular is navigation, fill is saved state. */
.favorites-access{display:inline-flex;align-items:center;gap:8px;min-width:44px;min-height:44px;font-size:14px;color:var(--olive)}
.favorites-access[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.favorites-badge{font:500 12px/1 DM Sans,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.header-favorites{flex-shrink:0}
.mobile-nav .favorites-access{justify-content:flex-start}
.mobile-nav .favorites-access .favorites-label{font:inherit}
.mobile-nav .favorites-badge{margin-left:auto}
.favorites-heading{padding-block:40px 32px}
.favorites-heading>.breadcrumb{display:inline-flex}
.favorites-heading h1{font-size:clamp(52px,5.5vw,80px);margin:20px 0 24px}
.favorites-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:16px;font-size:14px}
.favorites-collection{margin-bottom:96px}
.favorites-empty{grid-column:1/-1;max-width:640px;padding-block:48px 64px}
.favorites-empty h2{font-size:clamp(36px,4vw,48px)}
.favorites-empty p{color:var(--muted);max-width:45ch;margin:20px 0 28px}
.storage-notice{padding-block:16px;color:var(--error);font-size:14px}
@media(max-width:1099px){
 .header-favorites{margin-left:auto}
 .header-favorites .favorites-label{display:none}
 .header-inner>.menu-button{margin-left:0}
}
@media(max-width:767px){
 .header-inner{gap:16px}
 .favorites-heading{padding-block:20px 24px}
 .favorites-heading h1{margin:16px 0 20px}
 .favorites-toolbar{gap:12px;font-size:13px}
 .favorites-toolbar .underlink{font-size:13px}
 .favorites-empty{padding-block:20px 32px}
 .favorites-collection{margin-bottom:56px}
}
@media(max-width:374px){.header-inner{gap:12px}}

/* Shared Home components, composed as a quiet editorial spread. */
.areas-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:40px}
.areas .areas-heading h2{margin:0}
.areas-heading>p{max-width:320px;color:var(--muted);font-size:16px}
.area-grid{align-items:start;gap:32px}
.area-link{display:block;min-width:0}
.area-link:hover{text-decoration:none}
.area-photo{aspect-ratio:4/5;background:var(--sand)}
.area-link:nth-child(even){padding-top:40px}
.area-link:nth-child(even) .area-photo{aspect-ratio:1/1}
.area-link figcaption{margin-top:12px;font-size:12px;max-width:32ch}
.area-link h3{margin-top:20px;font-size:30px}
.area-cta{display:inline-block;margin-top:8px;padding-block:8px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
.area-link:hover .area-cta,.area-link:focus-visible .area-cta{border-color:var(--olive)}
.home-reviews{padding-block:72px;border-block:1px solid var(--line)}
.reviews-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:96px;align-items:start;margin-bottom:56px}
.reviews-heading h2{max-width:520px}
.google-summary{border-left:1px solid var(--line);padding-left:32px}
.google-summary h3{font:500 14px/1.5 DM Sans,system-ui,sans-serif}
.google-summary p{font-size:14px;color:var(--muted);margin-block:8px}
.google-summary .underlink{gap:12px}
.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 96px}
.review{display:flex;flex-direction:column;align-items:start;border-top:1px solid var(--line);padding-top:28px;min-width:0}
.review blockquote{font:400 32px/1.3 Instrument Serif,Georgia,serif}
.review blockquote p{max-width:36ch}
.review figcaption{margin-top:auto;padding-top:24px;width:100%}
.review-author{display:block;font-size:14px;font-weight:500}
.review-source{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;color:var(--muted);font-size:12px;line-height:1.5}
.review-source span{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
@media(max-width:1099px){
 .area-grid{gap:40px 32px}
 .area-photo,.area-link:nth-child(even) .area-photo{aspect-ratio:4/3}
 .area-link:nth-child(even){padding-top:32px}
 .reviews-heading,.reviews-grid{gap:40px}
}
@media(max-width:767px){
 .areas-heading{display:block;margin-bottom:28px}
 .areas-heading>p{margin-top:16px;font-size:14px}
 .area-grid{gap:28px 20px}
 .area-photo,.area-link:nth-child(even) .area-photo{aspect-ratio:4/5}
 .area-link:nth-child(even){padding-top:0}
 .area-link h3{font-size:25px;margin-top:12px}
 .area-cta{font-size:13px;margin-top:4px}
 .home-reviews{padding-block:40px}
 .reviews-heading{display:block;margin-bottom:32px}
 .reviews-heading h2{font-size:40px;max-width:330px}
 .google-summary{margin-top:24px;padding-left:20px}
 .reviews-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .review{padding-top:24px}
 .review blockquote{font-size:28px;line-height:1.3}
 .review figcaption{padding-top:16px}
}
@media(max-width:374px){
 .area-grid{grid-template-columns:minmax(0,1fr)}
 .area-photo,.area-link:nth-child(even) .area-photo{aspect-ratio:4/3}
}

/* Review 04: common advanced filters, editorial presentation. */
.feature-filters{border:0;padding:0;margin:0;display:grid;gap:4px}.feature-filters legend{margin-bottom:8px}.drawer-form .feature-filters label{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;min-height:44px}.drawer-form .feature-filters input{width:20px;height:20px;min-height:20px;flex:0 0 20px;accent-color:var(--olive)}
#filter-summary{display:flex;flex-wrap:wrap;gap:8px 16px}.sort-note{display:block;flex-basis:100%;font-size:14px;line-height:1.5}

/* Approved composition polish, 2026-10-04. */
@media(min-width:768px){.seller{padding-block:72px}.seller-grid{align-items:center}}
@media(max-width:767px){
 .listing-heading{padding-block:8px 12px}.listing-heading h1{margin-block:4px 12px}
 .filter-bar{padding-block:10px}.results-section{padding-top:12px}.results-heading{gap:4px;margin-bottom:12px}
 .area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
 .area-photo,.area-link:nth-child(even) .area-photo{aspect-ratio:4/5}
 .area-link figcaption{min-height:3em;line-height:1.5;margin-top:12px}
 .area-link h3{font-size:24px;line-height:1.2;min-height:2.4em;margin-top:12px}
 .area-cta{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding-block:8px}
}

/* Property Card v2 pilot: the photograph keeps its space in every interaction state. */
.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(--bg)}
.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(--text);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}
}

/* Immersive Home, requested 2026-10-09. Existing words and authorized photographs. */
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) .site-header :is(.favorites-access,.menu-button){color:var(--surface)}

body:is([data-page=home],[data-page=about]):not(.home-scrolled) .site-header :focus-visible{outline-color:var(--surface)}
.hero-immersive{--hero-scene-height:calc(100svh - 44px);position:relative;isolation:isolate;margin-top:calc(-1 * var(--header));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--hero-scene-height) clamp(240px,45svh,560px);color:var(--surface);background:var(--olive)}
/* The scene sticks only within its two grid rows; no scrolling ancestor clips it. */
.hero-immersive .hero-photo{grid-area:1/1/3/2;position:sticky;top:0;align-self:start;width:100%;height:100svh;min-height:0;z-index:-1;overflow:hidden}
.hero-immersive .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;transform:none}
.hero-immersive .hero-photo::after{content:"";position:absolute;inset:0;background:rgb(20 34 29 / .64);pointer-events:none}
.hero-immersive .hero-copy{grid-area:1/1;align-self:end;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:64px;align-items:end;padding-block:calc(var(--header) + 180px) 96px}
.hero-immersive .hero-heading h1{font-size:clamp(80px,8.3vw,128px);line-height:.98;max-width:850px;text-wrap:balance}
.hero-immersive .hero-intro{max-width:400px;padding:0;margin:0}
.hero-immersive .hero-intro>p{font-size:18px;max-width:350px}
.hero-immersive .hero-actions{gap:24px;flex-wrap:wrap;margin-top:28px}
.hero-immersive .hero-actions .button{background:var(--surface);border-color:var(--surface);color:var(--olive)}
.hero-immersive .hero-actions .button:hover{background:var(--bg)}
.hero-immersive .hero-actions .underlink{color:var(--surface)}
.hero-immersive :focus-visible{outline-color:var(--surface)}


.seller-immersive{position:relative;isolation:isolate;padding-block:112px;background:var(--olive)}
.seller-photo{position:absolute;inset:0;overflow:hidden;z-index:-2}
.seller-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.seller-immersive::before{content:"";position:absolute;inset:0;background:rgb(20 34 29 / .72);z-index:-1;pointer-events:none}
.seller-immersive .seller-grid{min-height:70svh;align-items:start}
.seller-immersive h2{position:sticky;top:calc(var(--header) + 48px);align-self:start;font-size:clamp(60px,6.3vw,90px);max-width:530px}
.seller-immersive .seller-copy{padding-top:160px;padding-bottom:48px}
.seller-immersive .seller-intro{font-size:24px}
@media(max-width:1099px){
 .hero-immersive .hero-copy{gap:40px;grid-template-columns:1.2fr 1fr}
 .hero-immersive .hero-heading h1{font-size:clamp(72px,9vw,96px)}
 
}
@media(max-width:767px){
 .hero-immersive{display:flex;align-items:end;min-height:calc(88svh - 44px)}
 .hero-immersive .hero-photo{position:absolute;inset:0;height:100%}
 .hero-immersive .hero-photo img{object-position:50% 50%}
 .hero-immersive .hero-copy{display:block;padding-block:calc(var(--header) + 116px) 44px}
 .hero-immersive .hero-heading{transform:none}
 .hero-immersive .hero-heading h1{font-size:clamp(56px,16vw,76px);line-height:1.02;max-width:440px}
 .hero-immersive .hero-intro{margin-top:28px;max-width:400px}
 .hero-immersive .hero-intro>p{font-size:16px}
 .hero-immersive .hero-actions{margin-top:24px;gap:20px}
 
 .seller-immersive{padding-block:56px}
 .seller-immersive .seller-grid{min-height:0}
 .seller-immersive h2{position:static;font-size:52px;max-width:340px}
 .seller-immersive .seller-copy{padding:0}
 .seller-immersive .seller-intro{font-size:20px}
 .seller-photo img{top:0;height:100%;transform:none}
}
@media(prefers-reduced-motion:reduce){
 .hero-immersive{display:flex;align-items:end;min-height:var(--hero-scene-height)}
 .hero-immersive .hero-photo{position:absolute;inset:0;height:100%}
 .hero-immersive .hero-photo img,.hero-immersive .hero-heading,.seller-photo img{transform:none}
 .seller-immersive h2{position:static}
 .seller-immersive .seller-grid{min-height:0}
 .seller-immersive .seller-copy{padding-top:0;padding-bottom:0}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){.hero-immersive{min-height:calc(88svh - 44px)}}

/* Requested reading effect: progress follows scroll, rather than a timed entrance. */
.reading-word{display:inline-block}
.about-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}}
html.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 .ph-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(--bg)}
.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.dialog-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%}.has-mobile-contact .wa-widget{bottom:calc(88px + env(safe-area-inset-bottom))}.has-mobile-contact .wa-panel{max-height:calc(100dvh - 176px)}}
@media(prefers-reduced-motion:reduce){.wa-typing i{animation:none}}

/* Slow photo-only hover zoom across every property-card surface. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html:not(.keyboard-input) .card-v2 .card-photo img{transition:transform 700ms ease-out}
 html: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>.ph-icon{flex:0 0 18px}
.faq-questions summary:hover{background:var(--bg)}
.faq-questions summary:focus-visible{outline-offset:-4px}
.faq-questions details[open] summary{font-weight:500}
.faq-questions details[open] summary>.ph-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}}
html.keyboard-input .line-reveal-text{opacity:1!important;transform:none!important}
.discovery-a .discovery-review-actions{display:flex;align-items:center;justify-content:center;gap:16px 24px;flex-wrap:wrap;margin-top:32px}
.discovery-a .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-a .discovery-review-actions .ph-icon{flex:0 0 18px}
.discovery-a .discovery-review-stars{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.discovery-a .discovery-review-actions a:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
@media(max-width:767px){
 .discovery-a .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 .ph-icon{flex-shrink:0}
@media(max-width:767px){.scene-copy .buyer-steps{margin-top:24px}}

/* Equal photographic rhythm for all selected properties, per global parity feedback. */
.editorial-properties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 32px}
.editorial-properties .property-card:nth-child(n){grid-column:auto;padding:0;margin:0}
.editorial-properties .card-v2:nth-child(n) .card-media{aspect-ratio:4/3;min-height:0}
@media(max-width:767px){.editorial-properties{grid-template-columns:minmax(0,1fr);gap:28px}}

/* 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-head 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}}

/* Dedicated seller/services pages retain A's serif, photography and quiet rules. */
.page-introduction{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;margin-top:72px}
.page-introduction h1{font-size:clamp(52px,5.2vw,80px);line-height:1.03}
.page-introduction-copy>p{margin-top:24px}
.page-introduction-copy>.intro{font-size:22px}
.page-introduction-photo{position:relative;align-self:stretch;min-height:540px}
.page-introduction-photo>img{width:100%;height:100%;object-fit:cover}
.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin-top:32px}
.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 48px}
.process-photo{position:relative;aspect-ratio:4/3;overflow:hidden}
.process-photo>img{width:100%;height:100%;object-fit:cover}
.process-grid h3{font-size:38px;margin-block:24px 16px;max-width:520px}
.process-grid p{color:var(--muted)}
.context-reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-block:40px}
.context-reasons>div{border-top:1px solid var(--line);padding-top:24px}
.context-reasons h3{font-size:32px;margin-bottom:16px}
.context-reasons p{color:var(--muted)}
.sell-person{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:96px;align-items:center}
.sell-person-photo{width:70%;max-width:360px;margin-inline:auto}
.sell-person-photo img{width:100%;height:auto}
.sell-person .eyebrow{margin-top:16px}
.sell-person .underlink{margin-top:24px}
.service-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 80px}
.service-categories article{border-top:1px solid var(--line);padding-top:32px}
.service-categories h2{font-size:42px;max-width:520px}
.service-categories p{margin-top:24px;color:var(--muted)}
.service-categories ul{margin-block:24px;padding-left:20px;color:var(--muted)}
.service-categories li+li{margin-top:8px}
.service-categories .underlink{margin-top:8px}
.listing-heading .breadcrumb{display:flex;align-items:center;gap:20px;font-size:14px;color:var(--muted)}
.listing-why .section-heading>div{max-width:760px}
.listing-why .intro{margin-top:24px;color:var(--muted)}
.filter-form:has(input[type=hidden][name=operation]){grid-template-columns:minmax(260px,1.6fr) 1fr 1fr 1fr auto}
@media(max-width:1099px){.page-introduction{gap:40px}.page-introduction-photo{min-height:480px}.page-introduction-copy>.intro{font-size:20px}.process-grid{gap:48px 32px}.process-grid h3{font-size:32px}.sell-person{gap:48px}.context-reasons{gap:24px}.context-reasons h3{font-size:28px}.service-categories{gap:48px 40px}.service-categories h2{font-size:36px}}
@media(max-width:767px){.page-introduction{display:flex;flex-direction:column;align-items:stretch;gap:36px;margin-top:32px}.page-introduction h1{font-size:48px}.page-introduction-photo{min-height:0;aspect-ratio:4/3}.page-introduction-copy>.intro{font-size:20px}.page-actions{gap:20px}.process-grid{grid-template-columns:minmax(0,1fr);gap:40px}.process-grid h3{font-size:32px}.context-reasons{grid-template-columns:minmax(0,1fr);gap:28px;margin-block:32px}.sell-person{grid-template-columns:minmax(0,1fr);gap:32px}.sell-person-photo{margin-inline:0}.service-categories{grid-template-columns:minmax(0,1fr);gap:40px}.service-categories h2{font-size:36px}.listing-heading .breadcrumb{flex-wrap:wrap;gap:8px 16px}}

/* Shared select functionality, Mediterranean editorial treatment. */
:root{--select-bg:var(--surface);--select-popup-bg:var(--surface);--select-color:var(--text);--select-border:var(--muted);--select-hover-border:var(--olive);--select-hover-bg:#ECE7DC;--select-focus:var(--olive);--select-active-bg:var(--olive);--select-active-color:var(--surface);--select-disabled-bg:var(--bg);--select-disabled-color:var(--muted);--select-radius:0;--select-height:48px;--select-font-size:16px;--select-font-weight:400;--select-error:var(--error)}
.ibiza-select .ibiza-select__control{border-width:0 0 1px}
.ibiza-select .ibiza-select__value{white-space:normal}
.ibiza-select .ibiza-select__list{box-shadow:0 4px 12px rgb(28 36 32 / .08)}
.sort-label .ibiza-select{width:210px;max-width:100%}
@media(max-width:767px){.sort-label .ibiza-select{width:auto;max-width:260px;flex:1}}

/* Category photography uses the same shared selection in every concept. */
.service-photo{position:relative;aspect-ratio:16/9;margin-bottom:32px;overflow:hidden}
.service-photo>img{width:100%;height:100%;object-fit:cover}
@media(max-width:767px){.service-photo{margin-bottom:24px}}

/* Preserve the people/keys in the shared supporting photographs. */
body[data-page=sell] .page-introduction-photo{min-height:0;aspect-ratio:3/2;align-self:center;width:100%}
[data-sell-step=escuchar] .process-photo img{object-position:50% 25%}
[data-sell-step=valorar] .process-photo img{object-position:50% 60%}
[data-sell-step=acompanar] .process-photo img{object-position:50% 55%}
.services-introduction{grid-template-columns:1fr}
.services-introduction .page-introduction-copy{max-width:940px}
.services-introduction .page-introduction-photo{min-height:0;aspect-ratio:1440/352}
.service-photo{max-width:311px}

/* Property detail v2 — scoped to the gallery and editorial inquiry. */
.detail-gallery-v2{position:relative}
.gallery-actions{position:absolute;right:20px;top:20px;z-index:3;display:flex;gap:10px}
.gallery-actions .favorite{position:static;width:44px;height:44px;flex-shrink:0;background:var(--surface);color:var(--olive);border:0}
.gallery-share{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;background:var(--surface);color:var(--olive);border:0;border-radius:0;font-size:14px}
.gallery-actions button:hover{background:var(--bg)}
.gallery-actions button:focus-visible{outline-offset:4px}
.detail-gallery-v2 .gallery-grid{height:560px;gap:12px}
.detail-gallery-v2 .gallery-tile:focus-visible{outline-offset:-5px;outline-color:var(--surface)}
@media(min-width:768px){
 .detail-gallery-v2 .gallery-grid[data-photo-count="0"],.detail-gallery-v2 .gallery-grid[data-photo-count="1"]{grid-template-columns:1fr;grid-template-rows:1fr}
 .detail-gallery-v2 .gallery-grid[data-photo-count="2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
 .detail-gallery-v2 .gallery-grid[data-photo-count="2"] .gallery-tile:first-child{grid-row:auto}
 .detail-gallery-v2 .gallery-grid[data-photo-count="4"]{grid-template-columns:2fr 1fr 1fr}
 .detail-gallery-v2 .gallery-grid[data-photo-count="4"] .gallery-tile:nth-child(2){grid-column:2/4}
 .detail-gallery-v2 .gallery-tile:nth-child(n+5){display:none}
}
.lightbox-dialog{background:#111815;color:var(--surface)}
.lightbox-dialog::backdrop{background:rgb(10 15 12 / .92)}
.lightbox-dialog :focus-visible{outline-color:var(--surface)}
.lightbox-dialog .render-label{background:var(--surface);color:var(--text)}
.lightbox-controls button:disabled{opacity:.45;cursor:default}
.share-dialog>input{width:100%;margin:10px 0 24px}
.share-dialog>label{font-size:14px}
#share-status{margin-top:20px}
#share-status:empty{display:none}
body[data-page=property] .contact-sticky{position:static;padding:28px}
body[data-page=property] .contact-sticky h2{font-size:34px;line-height:1.12;margin-bottom:16px}
.inquiry-intro{font-size:15px;color:var(--muted)}
.inquiry-reference{font-size:13px;margin-top:12px;color:var(--muted)}
.property-inquiry{display:flex;flex-direction:column;margin-top:28px;gap:8px}
.property-inquiry label,.contact-channel legend{font:14px/1.5 DM Sans,system-ui,sans-serif}
.property-inquiry>label:not(:first-of-type){margin-top:12px}
.property-inquiry input:not([type=radio]),.property-inquiry textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:0;padding:12px;min-height:48px;font-size:16px}
.property-inquiry textarea{resize:vertical}
.property-inquiry input:focus-visible,.property-inquiry textarea:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.contact-channel{min-width:0;margin:16px 0 8px;padding:0;border:0}
.contact-channel legend{margin-bottom:8px}
.contact-channel>div{display:flex;flex-wrap:wrap;gap:0 12px}
.contact-channel label{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
.contact-channel input{appearance:auto;width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--olive);padding:0;flex-shrink:0}
.inquiry-channel-field,.rental-fields{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.rental-fields{margin-top:8px}
.rental-fields label:not(:first-child){margin-top:12px}
.property-inquiry .field-error{font-size:13px;line-height:1.4}
.property-inquiry [aria-invalid=true]{border-color:var(--error)}
.property-inquiry>.button{margin-top:16px;align-self:stretch}
#inquiry-errors{color:var(--error);font-size:14px;margin-bottom:12px}
#inquiry-status{padding-top:16px;font-size:14px;line-height:1.6;color:var(--olive)}
#inquiry-errors:empty,#inquiry-status:empty{display:none}
body[data-page=property] .contact-options{margin:20px 0 0;padding-top:12px;border-top:1px solid var(--line);gap:24px;flex-wrap:wrap}
body[data-page=property] .contact-options a{gap:8px}
.property-advisory{border-top:1px solid var(--line);padding-block:64px 0;display:grid;grid-template-columns:1fr 2fr;gap:56px}
.property-advisory>.eyebrow{margin-top:12px}
.property-advisory h2{font-size:clamp(42px,4.5vw,64px);max-width:720px}
.property-advisory .intro{font-size:clamp(24px,2.4vw,34px);line-height:1.5;margin-block:32px;max-width:45ch}
@media(max-width:1099px){
 .detail-gallery-v2 .gallery-grid{height:440px}
 .detail-body{grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:32px}
 body[data-page=property] .contact-sticky{padding:24px}
 .property-advisory{grid-template-columns:1fr 2fr;gap:32px}
}
@media(max-width:767px){
 .gallery-actions{top:12px;right:12px;gap:8px}
 .gallery-share{padding-inline:12px;font-size:13px}
 .detail-gallery-v2 .gallery-grid{height:auto;gap:0;max-height:440px}
 .detail-gallery-v2 .gallery-tile{flex-basis:100%;height:100%}
 .detail-gallery-v2 .gallery-grid[data-photo-count="0"]{height:260px;aspect-ratio:auto}
 .detail-body{display:block}
 body[data-page=property] .contact-sticky{padding:24px 20px}
 body[data-page=property] .contact-sticky h2{font-size:34px}
 .contact-channel>div{gap:0 12px}
 .property-advisory{display:block;padding-top:40px}
 .property-advisory>.eyebrow{margin:0 0 24px}
 .property-advisory h2{font-size:44px}
 .property-advisory .intro{font-size:24px;margin-block:24px}
 .gallery-section{scroll-margin-top:96px}
}

.contact-channel label{flex-direction:row}

.detail-gallery-v2{margin-top:32px}
.property-inquiry .field-error,.property-inquiry .field-error:empty{display:block;min-height:1.4em}
#property-contact{scroll-margin-top:16px}
@media(max-width:767px){.detail-gallery-v2{margin-top:20px}}

/* The property form already provides WhatsApp; keep the price and gallery clear. */
body[data-page=property] .wa-widget{display:none}

/* Contact and contextual listings — same editorial typography, no new visual system. */
.breadcrumb a,.breadcrumb a.underlink{border:0;text-decoration:none;padding:8px 0;min-height:44px;font-size:inherit}.breadcrumb a:hover{text-decoration:underline}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.breadcrumb .ph-icon{flex-shrink:0}
[data-price-range]{margin:0;padding:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:0 16px;min-width:0}[data-price-range] legend{padding:0;margin-bottom:8px;font-size:14px}[data-price-range] label{font-size:12px}[data-price-range] .ibiza-price__summary{font-size:13px;margin-top:8px}
.filter-grid [data-price-range]{grid-column:1/-1}
#listing-why{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:start}.listing-why-photo{position:sticky;top:120px;overflow:hidden;background:var(--sand);aspect-ratio:3/4}.listing-why-photo img{height:100%;width:100%;object-fit:cover}.listing-why-copy>.intro{margin:28px 0 36px}.listing-why-copy>.underlink{margin-top:32px}.listing-why-copy .context-reasons{display:grid;grid-template-columns:1fr;gap:28px;margin:0}.listing-why-copy .context-reasons article{display:grid;grid-template-columns:20px 1fr;gap:18px;padding-top:24px;border-top:1px solid var(--line)}.listing-why-copy .context-reasons .ph-icon{margin-top:6px}.listing-why-copy .context-reasons h3{font-size:30px}.listing-why-copy .context-reasons p{font-size:16px;margin-top:12px;color:var(--muted)}
.contact-introduction{padding-block:36px 64px}.contact-introduction h1{max-width:930px;margin-top:36px}.contact-introduction>.intro{margin-top:28px;max-width:760px}.contact-layout{display:grid;grid-template-columns:minmax(0,8fr) minmax(240px,4fr);gap:96px;margin-bottom:112px;align-items:start}.contact-wizard{border-top:1px solid var(--line);padding-top:36px;min-width:0}.contact-wizard>h2{font-size:36px}.contact-progress{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;margin:36px 0 40px}.contact-progress li{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:12px;font-size:12px;color:var(--muted)}.contact-progress li[aria-current]{border-top:2px solid var(--olive);padding-top:11px;color:var(--text);font-weight:600}.contact-progress li>span{font-variant-numeric:tabular-nums}.contact-step{border:0;margin:0;padding:0;min-width:0}.contact-step>legend{font:32px/1.2 Instrument Serif,Georgia,serif;margin-bottom:24px;padding:0;scroll-margin-top:140px}.contact-step>.field-error{display:block;min-height:24px;font-size:13px;color:var(--error)}.contact-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.contact-choices label{display:flex;flex-direction:row;align-items:center;gap:12px;padding:20px 16px;border:1px solid var(--line);background:var(--surface);cursor:pointer}.contact-choices label:has(:checked){border-color:var(--olive);background:#e7e9df}.contact-choices input,.contact-step .contact-channel input{width:18px;height:18px;min-height:18px;flex:none;accent-color:var(--olive);padding:0}.contact-preferences{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-wide{grid-column:1/-1}.contact-step .field-error{display:block;min-height:22px;margin-top:4px;font-size:13px;color:var(--error)}.contact-step .contact-channel{margin-top:12px}.contact-step-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px}.contact-step-actions>.button{margin-left:auto}.contact-review{margin:24px 0 0}.contact-review>div{border-top:1px solid var(--line);padding:14px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:20px}.contact-review dt{font-size:13px;color:var(--muted)}.contact-review dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.contact-direct{background:var(--surface);padding:36px 28px}.contact-direct h2{font-size:34px}.contact-direct>p{margin-top:24px}.contact-direct-links{margin-block:28px;display:flex;flex-direction:column;gap:12px}.contact-direct-links a{display:flex;gap:12px;align-items:center;min-height:44px;font-size:14px;overflow-wrap:anywhere}.contact-direct .social-links{margin-top:24px;display:flex;flex-direction:column;gap:8px}.contact-confirmation p{margin-block:24px}.contact-confirmation:focus{outline:2px solid var(--olive);outline-offset:8px}#contact-errors{margin-bottom:24px;color:var(--error)}#contact-errors a{display:block;min-height:36px;text-decoration:underline}body[data-page=contact] .wa-widget{display:none}
@media(max-width:1023px){.contact-layout{gap:40px;grid-template-columns:minmax(0,3fr) minmax(230px,2fr)}#listing-why{gap:36px;grid-template-columns:4fr 6fr}}
@media(max-width:767px){.contact-introduction{padding-block:20px 36px}.contact-introduction h1{font-size:48px;margin-top:20px}.contact-introduction>.intro{font-size:18px;margin-top:20px}.contact-layout{display:block;margin-bottom:64px}.contact-wizard{padding-top:24px}.contact-wizard>h2{font-size:32px}.contact-progress{margin:28px 0 32px;gap:10px}.contact-progress li{font-size:11px;line-height:1.5}.contact-choices{grid-template-columns:1fr}.contact-choices label{padding:16px}.contact-preferences{grid-template-columns:1fr;gap:12px}.contact-direct{margin-top:48px;padding:28px 24px}.contact-review>div{grid-template-columns:1fr;gap:6px}.contact-step-actions{margin-top:24px}#listing-why{display:flex;flex-direction:column;gap:32px}.listing-why-photo{position:relative;top:auto;aspect-ratio:4/3;width:100%}.listing-why-copy>.intro{font-size:18px;margin:24px 0 28px}.listing-why-copy .context-reasons{gap:22px}.listing-why-copy .context-reasons h3{font-size:28px}#filters:has([data-price-range]){grid-template-columns:1fr 1fr}#filters [data-price-range]{grid-column:1/-1}[data-price-range]{gap:0 12px}}



/* Channel cards keep the native radio, icon and text in bounded columns. */
.contact-step .contact-channel-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contact-step .contact-channel-options label{display:grid;grid-template-columns:18px 18px minmax(0,1fr);align-items:center;gap:10px;margin:0;padding:16px;min-width:0;min-height:64px;border:1px solid var(--line);background:var(--surface);cursor:pointer}.contact-step .contact-channel-options label:has(:checked){background:#e7e9df;border-color:var(--olive)}.contact-step .contact-channel-options label:focus-within{outline:2px solid var(--olive);outline-offset:3px}.contact-step .contact-channel-options input{appearance:auto;width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;max-height:18px;margin:0;padding:0;accent-color:var(--olive)}.contact-step .contact-channel-options span{min-width:0;overflow-wrap:anywhere;line-height:1.4}.contact-step .contact-channel-options .ph-icon{width:18px;height:18px}
@media(max-width:1023px){.contact-step .contact-channel-options{grid-template-columns:1fr}}

/* Listing controls share one desktop row; the common range owns its internal UI. */
@media(min-width:1100px){
 #filters:has([data-price-range]){display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(110px,1fr) minmax(105px,.85fr) minmax(220px,1.7fr) auto auto;gap:16px;align-items:start}
 #filters:has(select[name=operation]){grid-template-columns:minmax(90px,.75fr) minmax(140px,1.2fr) minmax(95px,.8fr) minmax(100px,.8fr) minmax(210px,1.6fr) auto auto;gap:12px}
 #filters>label{min-width:0}#filters [data-price-range]{order:0;grid-column:auto;max-width:none;width:100%;align-self:start}
 #filters>.button{margin-top:30px;min-width:96px;padding-inline:18px;gap:10px}#filters>.desktop-more{display:inline-flex;align-self:start;margin-top:30px;min-height:48px;gap:10px;white-space:nowrap}
 .filter-actions .mobile-search{display:none}.filter-actions{margin-top:8px;min-height:32px}.filter-actions>[data-clear]{min-height:32px;font-size:12px}.filter-bar{padding-block:16px 8px}
}

@media(min-width:1100px){.filter-actions:has(#filter-summary:empty){display:none}}

/* Sticky filters end with their results, before the editorial sections. */
.listing-catalog{display:flow-root}

/* Nosotros: open editorial chapters, shared photography and an unboxed human story. */
.about-home-link{margin-top:28px}
.entry-pending{opacity:0}
.keyboard-input .entry-pending{opacity:1}
@media(prefers-reduced-motion:reduce){.entry-pending{opacity:1}}
.about-introduction{padding-block:72px 88px;border-bottom:1px solid var(--line)}
.about-introduction h1{font-size:clamp(64px,7.8vw,112px);line-height:1.02;max-width:980px;margin:24px 0 40px;text-wrap:balance}
.about-lead{font-size:21px;line-height:1.65;max-width:580px;margin-left:auto}
.about-team{display:grid;grid-template-columns:4fr 5fr;gap:clamp(64px,12vw,176px);align-items:center;padding-block:112px 128px}
.about-portrait{margin:0;max-width:410px}.about-portrait .about-image{aspect-ratio:2/3}
.about-portrait figcaption{margin-top:20px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}
.about-portrait figcaption strong{font-weight:400;font-size:24px;color:var(--ink);font-family:Instrument Serif,Georgia,serif}
.about-team h2,.about-scene h2,.about-values h2{font-size:clamp(40px,4.3vw,62px);line-height:1.09;text-wrap:balance;margin-bottom:28px}
.about-team-copy p,.about-scene-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;margin-bottom:20px;max-width:550px}
.about-image{position:relative;overflow:hidden;background:var(--sand)}.about-image img{width:100%;height:100%;object-fit:cover;display:block}
.about-scenes{background:#EAE5DB;padding-block:104px}
.about-scene{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(48px,7vw,104px);align-items:center}
.about-scene+.about-scene{margin-top:120px}.about-scene>.about-image{aspect-ratio:4/5}
.about-scene:nth-child(2){grid-template-columns:1fr 1.15fr}.about-scene:nth-child(2)>.about-image{order:2;aspect-ratio:5/4}
.about-scene:nth-child(3)>.about-image{aspect-ratio:1/1}.about-scene .eyebrow{margin-bottom:24px}.about-scene .underlink{margin-top:12px}
.about-values{padding-block:112px 120px}.about-values h2{max-width:640px;margin-bottom:56px}
.about-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.about-value-grid article{border-top:1px solid var(--line);padding-top:24px}.about-value-grid h3{font-size:32px;margin-bottom:16px}.about-value-grid p{max-width:300px;line-height:1.7}
.about-close{background:var(--olive);color:var(--bg);padding-block:96px 104px}
.about-close>.wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:100px;align-items:end}.about-close h2{font-size:clamp(44px,4.7vw,68px);line-height:1.05;max-width:660px;margin:24px 0}.about-close p:not(.eyebrow){max-width:520px;font-size:18px;line-height:1.7}.about-close .eyebrow{color:inherit}
.about-actions{display:flex;flex-direction:column;align-items:start;gap:20px}.about-close .underlink{color:inherit;border-color:currentColor}
@media(max-width:1023px){.about-team{gap:56px;padding-block:80px}.about-scene{gap:40px}.about-scenes{padding-block:80px}.about-scene+.about-scene{margin-top:88px}.about-close>.wrap{gap:48px}.about-value-grid{gap:28px}}
@media(max-width:767px){.about-introduction{padding-block:40px 44px}.about-introduction h1{font-size:58px;margin:20px 0 28px}.about-lead{font-size:17px;line-height:1.75}.about-team{display:flex;flex-direction:column;align-items:stretch;gap:36px;padding-block:48px 56px}.about-portrait{width:78%;max-width:340px}.about-portrait figcaption{margin-top:14px}.about-team h2,.about-scene h2,.about-values h2{font-size:42px;margin-bottom:24px}.about-team-copy p,.about-scene-copy>p:not(.eyebrow){font-size:16px;line-height:1.75}.about-scenes{padding-block:48px}.about-scene,.about-scene:nth-child(2){display:flex;flex-direction:column;align-items:stretch;gap:32px}.about-scene:nth-child(2)>.about-image{order:0}.about-scene>.about-image,.about-scene:nth-child(2)>.about-image,.about-scene:nth-child(3)>.about-image{aspect-ratio:4/3}.about-scene+.about-scene{margin-top:64px}.about-scene .eyebrow{margin-bottom:18px}.about-values{padding-block:56px}.about-values h2{margin-bottom:32px}.about-value-grid{grid-template-columns:1fr;gap:28px}.about-value-grid h3{font-size:30px;margin-bottom:12px}.about-close{padding-block:52px 56px}.about-close>.wrap{display:block}.about-close h2{font-size:46px}.about-close p:not(.eyebrow){font-size:16px}.about-actions{margin-top:32px}}
@media(max-width:374px){.about-introduction h1{font-size:53px}.about-team h2,.about-scene h2,.about-values h2{font-size:39px}}

/* About borrows the Home scene, with room for its longer editorial introduction. */
.about-hero .about-introduction{border:0;padding-block:calc(var(--header) + 100px) 80px;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:72px}
.about-hero .hero-heading h1{font-size:clamp(68px,7.5vw,108px);max-width:850px;margin:24px 0 0;line-height:1.03}
.about-hero .eyebrow{color:inherit;margin:0}
.about-hero .hero-intro{max-width:440px}.about-hero .hero-intro .about-lead{max-width:none;font-size:18px;line-height:1.75;margin:0}
.keyboard-input body[data-page=about] .hero-immersive{display:flex;align-items:end;min-height:var(--hero-scene-height)}
.keyboard-input body[data-page=about] .hero-photo{position:absolute;inset:0;height:100%}
@media(min-width:768px) and (max-width:1099px){.about-hero .about-introduction{gap:40px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.about-hero .hero-heading h1{font-size:clamp(60px,7.8vw,80px)}}
@media(max-width:767px){.about-hero .about-introduction{padding-block:calc(var(--header) + 60px) 44px}.about-hero .hero-heading h1{font-size:clamp(50px,14.4vw,66px);max-width:440px;margin-top:20px}.about-hero .hero-intro{margin-top:28px}.about-hero .hero-intro .about-lead{font-size:16px;line-height:1.75}.keyboard-input body[data-page=about] .hero-immersive{min-height:calc(88svh - 44px)}}

/* Home search remains one balanced row from 1024px; smaller screens keep their layouts. */
@media(min-width:1024px){.quick-form{display:grid;grid-template-columns:minmax(140px,.85fr) minmax(240px,1.45fr) minmax(170px,1fr) auto;gap:24px;align-items:end}.quick-form>label{min-width:0}.quick-form>.button{margin-top:0}.quick-search>.mobile-search{display:none}}
