/* Leeson design system. Native public views; no framework or external fonts. */
:root {
 --leeson-primary: #075d70; --leeson-secondary: #20a3ac;
 --leeson-background: #f4f7f5; --leeson-surface: #fff;
 --leeson-text: #16343c; --leeson-text-secondary: #52676c;
 --leeson-border: #dce6e3; --leeson-radius: 14px; --leeson-radius-large: 28px;
 --leeson-shadow: 0 12px 36px rgb(16 51 61 / 7%);
 --leeson-space-1: 4px; --leeson-space-2: 8px; --leeson-space-3: 12px;
 --leeson-space-4: 16px; --leeson-space-5: 24px; --leeson-space-6: 32px;
 --leeson-space-7: 48px; --leeson-space-8: 72px; --leeson-space-9: 96px;
}
body.leeson-v2 { margin:0; background:var(--leeson-surface); color:var(--leeson-text); font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif; }
.leeson-v2 *, .leeson-v2 *::before, .leeson-v2 *::after { box-sizing:border-box; }
.leeson-v2 [hidden] { display:none !important; }
.leeson-v2 a { color:inherit; text-decoration:none; }
.leeson-v2 a:hover { color:var(--leeson-primary); }
.leeson-v2 a:focus-visible, .leeson-v2 button:focus-visible, .leeson-v2 input:focus-visible, .leeson-v2 select:focus-visible, .leeson-v2 summary:focus-visible { outline:3px solid var(--leeson-primary); outline-offset:4px; }
.leeson-v2 h1, .leeson-v2 h2, .leeson-v2 h3 { color:var(--leeson-text); font-family:inherit; font-weight:650; letter-spacing:-.045em; line-height:1.17; margin:0 0 20px; }
.leeson-v2 h1 { font-size:clamp(32px,4.2vw,52px); }
.leeson-v2 h2 { font-size:clamp(27px,3.3vw,40px); }
.leeson-v2 h3 { font-size:21px; letter-spacing:-.025em; }
.leeson-v2 p { margin:0 0 20px; }
.leeson-v2 img { max-width:100%; }
.leeson-container { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.leeson-icon { width:22px; height:22px; flex:0 0 22px; vertical-align:middle; }
.leeson-eyebrow { font-size:12px; font-weight:700; letter-spacing:.16em; color:var(--leeson-primary); margin-bottom:20px !important; }
.leeson-muted { color:var(--leeson-text-secondary); }
.leeson-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 22px; border:1px solid var(--leeson-primary); border-radius:9px; background:var(--leeson-primary); color:#fff !important; min-height:50px; max-width:100%; font:600 14px/1.4 system-ui,sans-serif; cursor:pointer; text-align:center; }
.leeson-button:hover { background:#064b5b; border-color:#064b5b; }
.leeson-button-outline { background:transparent; color:var(--leeson-primary) !important; }
.leeson-button-outline:hover { background:#eaf3f2; }
.leeson-button-light { background:#fff; border-color:#fff; color:var(--leeson-primary) !important; }
.leeson-button-light:hover { background:#e4f3f2; }
.leeson-text-link { display:inline-flex; align-items:center; gap:12px; color:var(--leeson-primary) !important; font-weight:600; min-height:44px; }
.leeson-header { background:#fff; border-bottom:1px solid var(--leeson-border); position:relative; z-index:10; }
.leeson-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:94px; }
.leeson-brand { flex-shrink:0; display:inline-flex; align-items:center; }
.leeson-wordmark { font-size:35px; font-weight:750; letter-spacing:-.07em; color:var(--leeson-primary); line-height:1; }
.leeson-wordmark > span { display:block; font-size:9px; font-weight:650; letter-spacing:.28em; margin-top:7px; }
.leeson-logo-image { width:auto; max-width:180px; max-height:56px; object-fit:contain; }
.leeson-navigation { display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; }
.leeson-navigation > a:not(.leeson-button) { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 12px; border:1px solid #cfdfdb; border-radius:9px; background:#e7efed; color:var(--leeson-text); text-align:center; }
.leeson-navigation > a:not(.leeson-button):hover { background:#d6e5e1; border-color:#a7c9c2; color:var(--leeson-primary); }
.leeson-header-cta { font-size:13px; padding:13px 17px; }
.leeson-menu-toggle, .leeson-mobile-contact { display:none; }
.leeson-hero { background:var(--leeson-background); padding:48px 0 36px; }
.leeson-hero-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:center; gap:50px; }
.leeson-hero-copy { padding:20px 0 58px; }
.leeson-hero-copy h1 { font-size:clamp(46px,5.4vw,72px); line-height:1.06; letter-spacing:-.055em; font-weight:650; }
.leeson-hero-copy h1 span { color:var(--leeson-primary); }
.leeson-hero-description { color:var(--leeson-text-secondary); max-width:420px; font-size:18px; line-height:1.7; margin-top:26px !important; }
.leeson-hero-photo { position:relative; border-radius:var(--leeson-radius-large) var(--leeson-radius-large) 90px var(--leeson-radius-large); overflow:hidden; background:#dcece7; aspect-ratio:1.08; }
.leeson-hero-image { display:block; width:100%; height:100%; object-fit:cover; }
.leeson-hero-caption { position:absolute; left:24px; bottom:54px; display:flex; align-items:center; gap:12px; border-radius:12px; padding:16px 20px; background:#fff; box-shadow:var(--leeson-shadow); color:var(--leeson-primary); font-size:13px; font-weight:550; }
.leeson-hero-placeholder { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:24px; color:var(--leeson-primary); background:linear-gradient(145deg,#d8ebe5,#b8d9d7); }
.leeson-hero-placeholder .leeson-icon { width:90px; height:90px; }
.leeson-hero-placeholder > span { font-size:28px; text-align:center; font-weight:550; line-height:1.3; }
.leeson-hero-search-wrap { position:relative; z-index:2; margin-top:-28px; }
.leeson-search { display:flex; flex-wrap:wrap; align-items:end; gap:16px; background:#fff; border:1px solid var(--leeson-border); border-radius:var(--leeson-radius); padding:24px; }
.leeson-search-hero { box-shadow:var(--leeson-shadow); padding:32px; gap:20px; justify-content:center; }
.leeson-search-heading { flex:0 0 100%; text-align:center; }
.leeson-search-heading h2 { font-size:clamp(21px,2.1vw,26px); line-height:1.3; letter-spacing:-.025em; margin:0 0 4px; }
.leeson-search-hero .leeson-field { flex:1 1 180px; }
.leeson-search-hero .leeson-field label { font-size:16px; font-weight:700; text-align:center; margin-bottom:10px; }
.leeson-search-hero .leeson-field select { min-height:60px; padding:15px 16px; font-size:17px; text-align:center; text-align-last:center; background:#f4f7f5; border-color:#b8cecf; border-radius:10px; }
.leeson-search-hero .leeson-button { min-height:60px; font-size:17px; padding:16px 22px; flex:1 1 200px; }
.leeson-field { flex:1 1 160px; min-width:0; }
.leeson-field label { display:block; font-size:12px; font-weight:650; margin-bottom:9px; color:var(--leeson-text); }
.leeson-field select, .leeson-field input { display:block; width:100%; min-height:49px; max-width:100%; padding:12px 13px; border:1px solid var(--leeson-border); border-radius:8px; background:#fff; color:var(--leeson-text); font:inherit; font-size:14px; }
.leeson-filter-clear { color:var(--leeson-primary) !important; text-decoration:underline !important; padding:12px 4px; font-size:14px; }
.leeson-coverage { border-bottom:1px solid var(--leeson-border); padding:42px 0; }
.leeson-coverage > div { display:flex; justify-content:space-between; align-items:center; gap:24px; font-size:13px; }
.leeson-coverage > div > span { color:var(--leeson-text-secondary); }
.leeson-coverage p { font-weight:550; margin:0; }
.leeson-coverage p span { color:var(--leeson-secondary); margin:0 8px; }
.leeson-section { padding-block:var(--leeson-space-9); }
.leeson-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:36px; }
.leeson-section-heading p:not(.leeson-eyebrow) { color:var(--leeson-text-secondary); margin-bottom:0; }
.leeson-section-heading h2 { margin-bottom:12px; }
.leeson-section-intro { max-width:330px; }
.leeson-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.leeson-card { min-width:0; border:1px solid var(--leeson-border); border-radius:var(--leeson-radius); background:#fff; overflow:hidden; }
.leeson-card:hover { box-shadow:var(--leeson-shadow); border-color:#b3cfce; }
.leeson-card-link { display:flex; flex-direction:column; height:100%; }
.leeson-card-image { position:relative; aspect-ratio:4/3; background:#edf2ef; overflow:hidden; }
.leeson-card-image .leeson-image { width:100%; height:100%; object-fit:cover; display:block; }
.leeson-image-placeholder { display:flex; align-items:center; justify-content:center; height:100%; color:#64817f; background:#e6efeb; }
.leeson-image-placeholder .leeson-icon { width:50px; height:50px; }
.leeson-badge { position:absolute; top:18px; left:18px; max-width:calc(100% - 36px); padding:6px 12px; border-radius:6px; background:#fff; color:var(--leeson-primary); font-size:12px; line-height:1.5; font-weight:650; overflow-wrap:anywhere; }
.leeson-card-content { display:flex; flex-direction:column; flex:1; padding:24px; }
.leeson-card-price { font-size:25px; font-weight:700; line-height:1.3; letter-spacing:-.035em; color:var(--leeson-primary); margin-bottom:10px !important; overflow-wrap:anywhere; }
.leeson-card h3 { font-size:19px; line-height:1.35; margin-bottom:12px; letter-spacing:-.025em; overflow-wrap:anywhere; }
.leeson-card-location { display:flex; align-items:flex-start; gap:8px; color:var(--leeson-text-secondary); font-size:13px; margin-bottom:20px !important; }
.leeson-card-location .leeson-icon { width:17px; height:17px; flex-basis:17px; margin-top:2px; }
.leeson-card-facts { display:flex; flex-wrap:wrap; gap:13px; padding:0 0 20px; margin:0; list-style:none; font-size:13px; }
.leeson-card-facts li { display:flex; align-items:center; gap:6px; }
.leeson-card-facts .leeson-icon { width:18px; height:18px; flex-basis:18px; color:var(--leeson-text-secondary); }
.leeson-card-more { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:16px; border-top:1px solid var(--leeson-border); color:var(--leeson-primary); font-size:13px; font-weight:600; }
.leeson-owner-section { padding-block:12px; }
.leeson-owner-panel { display:grid; grid-template-columns:1.6fr 1fr; align-items:center; gap:50px; padding:64px; border-radius:var(--leeson-radius-large); background:var(--leeson-primary); color:#fff; }
.leeson-owner-panel h2 { color:#fff; font-size:clamp(29px,3.3vw,43px); }
.leeson-owner-panel p { max-width:580px; color:#dceced; }
.leeson-owner-panel .leeson-eyebrow { color:#a5e6df; }
.leeson-owner-sign { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:28px; padding:30px; border-left:1px solid #4e8997; text-align:center; font-size:23px; letter-spacing:-.025em; line-height:1.4; }
.leeson-owner-sign .leeson-icon { width:70px; height:70px; color:#92d7d5; }
.leeson-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 48px; }
.leeson-service { padding:8px 0; }
.leeson-service-icon { width:52px; height:52px; display:flex; align-items:center; justify-content:center; color:var(--leeson-primary); background:#edf5f1; border-radius:12px; margin-bottom:24px; }
.leeson-service h3 { margin-bottom:12px; }
.leeson-service p { font-size:15px; color:var(--leeson-text-secondary); margin-bottom:0; }
.leeson-trust { background:var(--leeson-background); padding-block:80px; }
.leeson-trust-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:100px; align-items:center; }
.leeson-trust p:not(.leeson-eyebrow) { max-width:540px; color:var(--leeson-text-secondary); }
.leeson-trust-list { padding:0; margin:0; list-style:none; }
.leeson-trust-list li { display:flex; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--leeson-border); font-weight:550; }
.leeson-trust-list .leeson-icon { color:var(--leeson-primary); padding:4px; width:30px; height:30px; flex-basis:30px; border-radius:50%; background:#dcece5; }
.leeson-testimonials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.leeson-testimonials figure { margin:0; padding:28px; background:var(--leeson-background); border-radius:var(--leeson-radius); }
.leeson-testimonials .leeson-icon { color:var(--leeson-primary); margin-bottom:14px; }
.leeson-testimonials blockquote { padding:0; margin:0 0 20px; font-size:16px; }
.leeson-testimonials figcaption strong, .leeson-testimonials figcaption span { display:block; font-size:13px; }
.leeson-testimonials figcaption span { color:var(--leeson-text-secondary); }
.leeson-home-contact { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.leeson-home-contact p { color:var(--leeson-text-secondary); }
.leeson-home-contact h2 { margin-bottom:14px; }
.leeson-footer { background:#edf3ef; padding-top:64px; color:var(--leeson-text); }
.leeson-footer-grid { display:grid; grid-template-columns:1.35fr 1fr 1.1fr 1.1fr; gap:40px; }
.leeson-footer h2 { font-size:14px; font-weight:700; margin-bottom:20px; letter-spacing:0; }
.leeson-footer p, .leeson-footer ul { font-size:13px; color:var(--leeson-text-secondary); padding:0; margin:0 0 20px; list-style:none; overflow-wrap:anywhere; }
.leeson-footer li { margin-bottom:8px; }
.leeson-footer li a { display:inline-flex; align-items:center; min-height:44px; padding-block:4px; }
.leeson-footer-brand .leeson-brand { margin-bottom:24px; }
.leeson-footer-region { font-size:12px; font-weight:600; color:var(--leeson-primary); }
.leeson-social { display:flex; flex-wrap:wrap; gap:14px; font-size:13px; }
.leeson-social a { min-height:44px; display:inline-flex; align-items:center; }
.leeson-footer-bottom { display:flex; justify-content:space-between; gap:16px; padding-block:26px; margin-top:40px; border-top:1px solid #ceded8; font-size:12px; color:var(--leeson-text-secondary); }
.leeson-page-heading { padding:64px 0 48px; background:var(--leeson-background); }
.leeson-page-heading p:last-child { margin:0; color:var(--leeson-text-secondary); }
.leeson-listing-body { padding:32px 0 72px; }
.leeson-search-listing { background:var(--leeson-background); padding:24px; }
.leeson-search-listing .leeson-field { flex-basis:145px; }
.leeson-search-listing .leeson-field-name { flex-basis:100%; }
@media (min-width:768px) and (max-width:1099px) {
 .leeson-search-hero .leeson-field, .leeson-search-hero .leeson-button { flex-basis:calc(50% - 10px); }
}
.leeson-results-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:32px 0; }
.leeson-results-heading p { margin:0; font-size:14px; }
.leeson-results-heading > span { color:var(--leeson-text-secondary); font-size:12px; }
.leeson-empty { text-align:center; padding:64px 24px; background:var(--leeson-background); border-radius:var(--leeson-radius); }
.leeson-empty > .leeson-icon { width:48px; height:48px; margin-bottom:20px; color:var(--leeson-primary); }
.leeson-empty p { color:var(--leeson-text-secondary); }
.leeson-v2 .pagination { margin-top:48px; text-align:center; }
.leeson-v2 .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; margin:4px; padding:10px 14px; border-radius:8px; border:1px solid var(--leeson-border); font-size:14px; }
.leeson-v2 .page-numbers.current { background:var(--leeson-primary); border-color:var(--leeson-primary); color:#fff; }
.leeson-single { padding-block:32px 80px; }
.leeson-back-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:13px; margin-bottom:20px; color:var(--leeson-primary) !important; }
.leeson-back-link .leeson-icon { transform:rotate(180deg); width:17px; height:17px; }
.leeson-gallery { display:grid; gap:12px; border-radius:var(--leeson-radius-large); overflow:hidden; max-height:540px; }
.leeson-gallery-multiple { grid-template-columns:2fr 1fr; grid-template-rows:repeat(2,220px); }
.leeson-gallery figure { margin:0; min-width:0; overflow:hidden; }
.leeson-gallery:not(.leeson-gallery-multiple) figure { height:450px; }
.leeson-gallery-multiple figure:first-child { grid-row:span 2; }
.leeson-gallery-count-2 figure:nth-child(2) { grid-row:span 2; }
.leeson-gallery a, .leeson-gallery img { display:block; width:100%; height:100%; object-fit:cover; }
.leeson-gallery-details { margin-top:14px; }
.leeson-gallery-details summary { color:var(--leeson-primary); cursor:pointer; min-height:44px; padding-block:8px; font-weight:550; font-size:14px; }
.leeson-gallery-rest { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:16px; }
.leeson-gallery-rest img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:10px; }
.leeson-property-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:64px; margin-top:40px; align-items:start; }
.leeson-badge-inline { position:static; display:inline-block; background:#e6f2ed; margin-bottom:20px; }
.leeson-property-content h1 { font-size:clamp(30px,3.5vw,43px); overflow-wrap:anywhere; }
.leeson-property-location { display:flex; align-items:flex-start; gap:10px; color:var(--leeson-text-secondary); font-size:15px; }
.leeson-property-location .leeson-icon { margin-top:2px; }
.leeson-property-price { color:var(--leeson-primary); font-size:clamp(27px,3vw,36px); font-weight:700; letter-spacing:-.04em; line-height:1.3; overflow-wrap:anywhere; }
.leeson-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 16px; margin:32px 0; padding:28px 0; border-block:1px solid var(--leeson-border); }
.leeson-summary > div { display:grid; grid-template-columns:26px 1fr; gap:4px 8px; min-width:0; }
.leeson-summary .leeson-icon { color:var(--leeson-primary); grid-row:span 2; margin-top:4px; }
.leeson-summary dt { font-size:12px; color:var(--leeson-text-secondary); overflow-wrap:anywhere; }
.leeson-summary dd { margin:0; font-size:17px; font-weight:600; }
.leeson-property-section { margin-block:40px; }
.leeson-property-section h2 { font-size:24px; letter-spacing:-.025em; }
.leeson-description { overflow-wrap:anywhere; }
.leeson-description p, .leeson-description li { color:var(--leeson-text-secondary); }
.leeson-description a { text-decoration:underline; color:var(--leeson-primary); }
.leeson-description img, .leeson-description iframe { max-width:100%; }
.leeson-description img { height:auto; }
.leeson-description table { display:block; max-width:100%; overflow:auto; }
.leeson-description pre { max-width:100%; overflow:auto; }
.leeson-attributes { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.leeson-attributes > div { padding:14px 0; border-bottom:1px solid var(--leeson-border); min-width:0; }
.leeson-attributes dt { font-size:12px; color:var(--leeson-text-secondary); }
.leeson-attributes dd { margin:4px 0 0; font-size:14px; overflow-wrap:anywhere; }
.leeson-property-contact { position:sticky; top:24px; padding:30px; border:1px solid var(--leeson-border); border-radius:var(--leeson-radius); box-shadow:var(--leeson-shadow); background:#fff; }
.leeson-contact-symbol { display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:12px; background:#edf5f1; color:var(--leeson-primary); margin-bottom:22px; }
.leeson-property-contact h2 { font-size:24px; letter-spacing:-.03em; }
.leeson-property-contact p { color:var(--leeson-text-secondary); font-size:14px; }
.leeson-property-contact .leeson-button { width:100%; margin-bottom:12px; padding-inline:12px; }
.leeson-contact-note { display:block; font-size:11px; color:var(--leeson-text-secondary); text-align:center; margin-top:12px; }
.leeson-editorial { padding-block:64px 80px; min-height:55vh; max-width:900px; }
.leeson-post-preview { padding-block:32px; border-bottom:1px solid var(--leeson-border); }
.leeson-skip-link { position:absolute; left:-10000px; }
.leeson-skip-link:focus { left:16px; top:16px; padding:12px; background:#fff; z-index:1000; }
.leeson-sr-only, .leeson-v2 .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1099px) {
 .leeson-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .leeson-header-inner { flex-wrap:wrap; gap:12px; padding-block:18px; min-height:78px; }
 .leeson-brand { margin-right:auto; }
 .leeson-mobile-contact { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--leeson-border); border-radius:9px; }
 .leeson-js .leeson-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:1px solid var(--leeson-border); border-radius:9px; padding:8px 12px; background:#fff; color:var(--leeson-primary); font:600 13px/1.2 system-ui,sans-serif; cursor:pointer; }
 .leeson-navigation { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--leeson-border); padding-top:16px; gap:8px 20px; }
 .leeson-navigation .leeson-header-cta { grid-column:1/-1; }
 .leeson-hero-grid { gap:30px; }
 .leeson-hero-copy h1 { font-size:52px; }
 .leeson-hero-copy { padding-bottom:36px; }
 .leeson-hero-photo { height:400px; min-height:0; aspect-ratio:auto; }
 .leeson-hero-caption { left:16px; bottom:45px; padding:12px 16px; }
 .leeson-section { padding-block:72px; }
 .leeson-owner-panel { padding:48px; gap:32px; }
 .leeson-trust-grid { gap:48px; }
 .leeson-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
 .leeson-property-layout { grid-template-columns:minmax(0,1fr) 300px; gap:32px; }
 .leeson-property-contact { padding:24px; }
 .leeson-gallery-multiple { grid-template-rows:repeat(2,180px); }
}
@media (max-width:767px) {
 .leeson-container { width:calc(100% - 36px); }
 .leeson-logo-image { max-width:154px; max-height:48px; }
 .leeson-wordmark { font-size:31px; }
 .leeson-header-inner { padding-block:14px; }
 .leeson-hero { padding-top:28px; padding-bottom:28px; }
 .leeson-hero-grid { grid-template-columns:1fr; gap:24px; }
 .leeson-hero-copy { padding:8px 0 0; }
 .leeson-hero-copy h1 { font-size:clamp(42px,9.8vw,59px); margin-bottom:20px; }
 .leeson-hero-description { font-size:16px; margin-top:20px !important; }
 .leeson-hero-photo { min-height:0; height:300px; aspect-ratio:auto; border-radius:20px 20px 60px 20px; }
 .leeson-hero-caption { bottom:34px; font-size:12px; padding:12px; }
 .leeson-hero-search-wrap { margin-top:20px; }
 .leeson-search { gap:16px; padding:20px; }
 .leeson-field { flex-basis:100%; }
 .leeson-search-hero { padding:24px 20px; gap:20px; }
 .leeson-search-hero .leeson-field, .leeson-search-hero .leeson-button { flex-basis:100%; }
 .leeson-search .leeson-button { width:100%; }
 .leeson-search-listing .leeson-field { flex-basis:calc(50% - 8px); }
 .leeson-search-listing .leeson-field-property_type,
 .leeson-search-listing .leeson-field-name { flex-basis:100%; }
 .leeson-coverage { padding-block:32px; }
 .leeson-coverage > div { display:block; }
 .leeson-coverage p { margin-top:10px; line-height:1.9; }
 .leeson-section { padding-block:56px; }
 .leeson-section-heading { display:block; margin-bottom:26px; }
 .leeson-section-heading > .leeson-text-link { margin-top:12px; }
 .leeson-section-intro { margin-top:16px !important; }
 .leeson-grid { grid-template-columns:1fr; gap:24px; }
 .leeson-card-content { padding:22px; }
 .leeson-card h3 { font-size:20px; }
 .leeson-owner-panel { grid-template-columns:1fr; padding:32px 24px; gap:24px; border-radius:20px; }
 .leeson-owner-panel h2 { font-size:32px; }
 .leeson-owner-sign { border-left:0; border-top:1px solid #4e8997; padding:24px 0 0; flex-direction:row; justify-content:flex-start; text-align:left; font-size:18px; gap:20px; }
 .leeson-owner-sign .leeson-icon { width:44px; height:44px; }
 .leeson-services { grid-template-columns:1fr; gap:28px; }
 .leeson-service { display:grid; grid-template-columns:52px 1fr; gap:0 20px; }
 .leeson-service-icon { grid-row:span 2; margin-bottom:0; }
 .leeson-service h3 { font-size:19px; }
 .leeson-trust { padding-block:56px; }
 .leeson-trust-grid { grid-template-columns:1fr; gap:24px; }
 .leeson-testimonials { grid-template-columns:1fr; }
 .leeson-home-contact { display:block; }
 .leeson-home-contact .leeson-button { margin-top:8px; }
 .leeson-footer { padding-top:48px; }
 .leeson-footer-grid { gap:32px 20px; }
 .leeson-footer-brand { grid-column:1/-1; }
 .leeson-footer-grid > div:last-child { grid-column:1/-1; }
 .leeson-footer-bottom { display:block; margin-top:24px; padding-block:24px; }
 .leeson-footer-bottom span { display:block; margin-bottom:8px; }
 .leeson-page-heading { padding:40px 0 32px; }
 .leeson-listing-body { padding-block:24px 48px; }
 .leeson-results-heading { display:block; }
 .leeson-results-heading > span { display:block; margin-top:8px; }
 .leeson-empty { padding:40px 24px; }
 .leeson-single { padding-top:20px; padding-bottom:48px; }
 .leeson-gallery { border-radius:18px; }
 .leeson-gallery-multiple { grid-template-columns:1fr 1fr; grid-template-rows:260px 145px; gap:8px; }
 .leeson-gallery-multiple figure:first-child { grid-column:1/-1; grid-row:span 1; }
 .leeson-gallery-count-2 figure:nth-child(2) { grid-row:span 1; grid-column:1/-1; }
 .leeson-gallery:not(.leeson-gallery-multiple) figure { height:300px; }
 .leeson-gallery-rest { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .leeson-property-layout { grid-template-columns:1fr; margin-top:28px; gap:24px; }
 .leeson-property-contact { position:static; }
 .leeson-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .leeson-property-section { margin-block:32px; }
 .leeson-property-section h2 { font-size:23px; }
 .leeson-attributes { gap:0 18px; }
 .leeson-editorial { padding-block:40px 56px; }
}
@media (prefers-reduced-motion:reduce) { .leeson-v2 *, .leeson-v2 *::before, .leeson-v2 *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
/* 0.3: panoramic hero, trust cards, assigned agents, native image slider. */
.leeson-hero-panoramic { position:relative; isolation:isolate; padding:0 0 42px; background:#123e49; }
.leeson-hero-background { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.leeson-hero-background .leeson-hero-image { width:100%; height:100%; object-fit:cover; object-position:50% 55%; }
.leeson-hero-panoramic::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgb(4 31 40 / 55%),rgb(4 31 40 / 30%) 48%,rgb(4 31 40 / 5%)); }
.leeson-hero-content { display:flex; align-items:center; justify-content:space-between; gap:40px; min-height:590px; padding-block:88px 90px; }
.leeson-hero-panoramic .leeson-hero-copy { max-width:720px; padding:0; text-shadow:0 1px 3px rgb(0 0 0 / 55%); }
.leeson-hero-panoramic h1 { color:#fff; font-size:clamp(44px,5.2vw,72px); margin-bottom:24px; text-shadow:0 2px 15px rgb(0 0 0 / 12%); }
.leeson-hero-panoramic h1 span { color:#fff; }
.leeson-hero-panoramic .leeson-eyebrow { color:#d2f4f0; }
.leeson-hero-panoramic .leeson-hero-description { color:#fff; max-width:550px; font-size:19px; }
.leeson-hero-panoramic .leeson-text-link { color:#fff !important; }
.leeson-hero-location { display:flex; align-items:center; gap:10px; align-self:end; color:#fff; font-size:13px; padding:13px 17px; border:1px solid rgb(255 255 255 / 45%); border-radius:12px; background:rgb(4 31 40 / 48%); flex-shrink:0; }
.leeson-hero-panoramic .leeson-hero-search-wrap { margin-top:-24px; }
.leeson-hero-panoramic .leeson-search-hero { border-color:transparent; }
.leeson-testimonial-section { padding-block:80px; background:#f5f2ec; }
.leeson-testimonial-section .leeson-section-heading { align-items:center; }
.leeson-testimonial-section .leeson-section-heading > div:first-child { max-width:750px; }
.leeson-review-badge { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; padding:10px 16px; border:1px solid #cddfdc; border-radius:30px; background:#fff; font-size:13px; color:var(--leeson-primary); }
.leeson-testimonials .leeson-testimonial-card { display:flex; flex-direction:column; padding:32px; background:#fff; border:1px solid #d5e2e0; border-radius:18px; box-shadow:0 8px 24px rgb(16 51 61 / 3%); }
.leeson-testimonial-stars { display:flex; gap:3px; font-size:22px; line-height:1; color:#157782; letter-spacing:1px; margin-bottom:24px; }
.leeson-testimonials blockquote { color:var(--leeson-text-secondary); font-size:15px; line-height:1.85; margin-bottom:28px; white-space:pre-line; overflow-wrap:anywhere; }
.leeson-testimonials figcaption { display:flex; align-items:center; gap:14px; margin-top:auto; padding-top:20px; border-top:1px solid var(--leeson-border); }
.leeson-testimonials figcaption strong { font-size:15px; color:var(--leeson-text); }
.leeson-testimonials figcaption > div > span { margin-top:3px; font-size:12px; line-height:1.5; color:var(--leeson-primary); }
.leeson-avatar { display:flex; align-items:center; justify-content:center; width:52px; height:52px; flex:0 0 52px; border-radius:50%; overflow:hidden; background:#e7f2ee; color:var(--leeson-primary); font-size:17px; font-weight:650; }
.leeson-avatar img { width:100%; height:100%; object-fit:cover; }
.leeson-agent { min-width:0; margin-bottom:28px; }
.leeson-agent-heading { display:flex; align-items:center; gap:14px; }
.leeson-agent-heading > div:last-child { min-width:0; }
.leeson-agent-heading .leeson-eyebrow { font-size:9px; letter-spacing:.09em; margin-bottom:6px !important; }
.leeson-agent-heading h3 { font-size:20px; margin-bottom:4px; line-height:1.35; overflow-wrap:anywhere; }
.leeson-agent-heading > div > span { color:var(--leeson-text-secondary); font-size:12px; }
.leeson-property-contact .leeson-agent > .leeson-button { margin-top:16px; margin-bottom:4px; }
.leeson-agent-details { list-style:none; padding:0; margin:18px 0 10px; }
.leeson-agent-details a { display:flex; align-items:center; gap:10px; min-height:44px; font-size:13px; color:var(--leeson-primary); }
.leeson-agent-details a > span { min-width:0; overflow-wrap:anywhere; }
.leeson-agent-details .leeson-icon { width:18px; height:18px; flex-basis:18px; }
.leeson-agent-more { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block:13px; min-height:44px; border-block:1px solid var(--leeson-border); color:var(--leeson-primary) !important; font-size:12px; font-weight:650; }
.leeson-listing-body > .leeson-agent { max-width:520px; padding:24px; background:var(--leeson-background); border-radius:var(--leeson-radius); margin-bottom:36px; }
.leeson-slider { min-width:0; outline-offset:5px; }
.leeson-slider-frame { position:relative; }
/* Repeated clicks and swipes must not select or drag the photo canvas. */
.leeson-slider-frame, .leeson-slider-thumbnails, .leeson-lightbox-stage, .leeson-lightbox-thumbnails, .leeson-lightbox-close { -webkit-user-select:none; user-select:none; }
.leeson-slider img, .leeson-lightbox-image, .leeson-lightbox-thumbnail-image { -webkit-user-drag:none; }
.leeson-slider-track { display:flex; position:relative; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:thin; border-radius:20px; background:#edf2f0; overscroll-behavior-x:contain; }
.leeson-slider-enhanced .leeson-slider-track { scrollbar-width:none; }
.leeson-slider-enhanced .leeson-slider-track::-webkit-scrollbar { display:none; }
.leeson-slide { flex:0 0 100%; min-width:0; margin:0; scroll-snap-align:start; scroll-snap-stop:always; aspect-ratio:16/9; max-height:620px; }
.leeson-slide-open { display:block; width:100%; height:100%; position:relative; }
.leeson-slide-open > img { display:block; width:100%; height:100%; object-fit:contain; }
.leeson-slider-expand { position:absolute; right:18px; bottom:18px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:#fff; color:var(--leeson-primary); border:1px solid var(--leeson-border); border-radius:9px; box-shadow:var(--leeson-shadow); }
.leeson-slider-arrow { position:absolute; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:46px; height:46px; padding:0; background:rgb(255 255 255 / 96%); color:var(--leeson-primary); border:1px solid var(--leeson-border); border-radius:50%; cursor:pointer; box-shadow:var(--leeson-shadow); }
.leeson-slider-arrow:hover { background:#e3f1ee; }
.leeson-slider-prev { left:18px; }
.leeson-slider-prev .leeson-icon { transform:rotate(180deg); }
.leeson-slider-next { right:18px; }
.leeson-slider-caption { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:14px 0; font-size:12px; color:var(--leeson-text-secondary); }
.leeson-slider-count { color:var(--leeson-primary); font-weight:600; flex-shrink:0; }
.leeson-slider-thumbnails { display:flex; gap:12px; padding:5px 4px 10px; max-width:100%; overflow-x:auto; scrollbar-width:thin; }
.leeson-slider-thumbnail { flex:0 0 108px; height:75px; padding:3px; border:2px solid transparent; border-radius:10px; opacity:.65; }
.leeson-slider-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; border-radius:5px; }
.leeson-slider-thumbnail[aria-current="true"] { border-color:var(--leeson-primary); opacity:1; }
.leeson-slider-thumbnail:hover { opacity:1; }
.leeson-lightbox { width:min(1280px,calc(100vw - 48px)); height:calc(100vh - 48px); height:min(920px,calc(100dvh - 48px)); max-width:none; max-height:none; overflow:hidden; border:1px solid rgb(184 219 219 / 20%); border-radius:24px; padding:20px; color:#eef6f5; background:#0d2028; box-shadow:0 32px 100px rgb(0 0 0 / 40%); }
.leeson-lightbox[open] { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) auto auto; gap:14px; }
.leeson-lightbox.leeson-lightbox-no-thumbnails { grid-template-rows:auto minmax(0,1fr) auto; }
.leeson-lightbox > * { min-width:0; }
.leeson-lightbox::backdrop { background:rgb(2 12 18 / 87%); backdrop-filter:blur(7px); }
.leeson-lightbox-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:14px; border-bottom:1px solid rgb(207 229 231 / 12%); }
.leeson-lightbox-heading { min-width:0; }
.leeson-lightbox-brand { display:block; font-size:10px; font-weight:650; letter-spacing:.14em; color:#82d9db; margin-bottom:7px; }
.leeson-lightbox-heading h2 { color:#eef6f5; font-size:18px; font-weight:550; letter-spacing:-.02em; line-height:1.4; margin:0; overflow-wrap:anywhere; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.leeson-lightbox button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border:1px solid rgb(205 233 233 / 23%); border-radius:50%; background:rgb(255 255 255 / 7%); color:#eef6f5; cursor:pointer; }
.leeson-lightbox button:hover { background:#075d70; border-color:#68bec4; }
.leeson-lightbox button:focus-visible { outline:3px solid #82d9db; outline-offset:3px; }
.leeson-lightbox button svg { width:22px; height:22px; }
.leeson-lightbox-close { flex:0 0 46px; width:46px; height:46px; }
.leeson-lightbox-stage { min-width:0; min-height:0; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:16px; background:#07151c; touch-action:pan-y pinch-zoom; }
.leeson-lightbox-image { display:block; width:100%; height:100%; object-fit:contain; }
.leeson-lightbox-stage[aria-busy="true"] .leeson-lightbox-image { opacity:.2; }
.leeson-lightbox-status { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:max-content; max-width:calc(100% - 100px); padding:14px 18px; border:1px solid rgb(207 229 231 / 15%); border-radius:12px; background:rgb(5 22 30 / 94%); color:#eef6f5; font-size:14px; line-height:1.6; text-align:center; }
.leeson-lightbox-nav { position:absolute; inset:0; display:flex; justify-content:space-between; align-items:center; padding:16px; pointer-events:none; }
.leeson-lightbox-nav button { width:48px; height:48px; pointer-events:auto; background:rgb(10 30 40 / 83%); backdrop-filter:blur(4px); box-shadow:0 4px 20px rgb(0 0 0 / 20%); }
.leeson-lightbox-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; min-height:24px; }
.leeson-lightbox-count { font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
.leeson-lightbox-hint { color:#b6cdd1; font-size:12px; }
.leeson-lightbox-thumbnails { position:relative; display:flex; gap:9px; overflow-x:auto; padding:5px 4px 8px; scrollbar-width:thin; scrollbar-color:#54727b transparent; overscroll-behavior-x:contain; }
.leeson-lightbox .leeson-lightbox-thumbnail { flex:0 0 84px; height:60px; padding:3px; border:2px solid transparent; border-radius:10px; background:transparent; opacity:.62; }
.leeson-lightbox-thumbnail-image { display:block; width:100%; height:100%; object-fit:cover; border-radius:5px; }
.leeson-lightbox .leeson-lightbox-thumbnail[aria-current="true"] { border-color:#82d9db; background:#193d46; opacity:1; }
.leeson-lightbox .leeson-lightbox-thumbnail:hover { opacity:1; }
@media (prefers-reduced-motion:no-preference) {
 .leeson-lightbox-opening { animation:leeson-lightbox-in .3s cubic-bezier(.22,1,.36,1) both; }
 .leeson-lightbox-opening::backdrop { animation:leeson-backdrop-in .3s ease both; }
 .leeson-lightbox-closing { animation:leeson-lightbox-out .2s ease both; pointer-events:none; }
 .leeson-lightbox-closing::backdrop { animation:leeson-backdrop-out .2s ease both; }
 .leeson-lightbox button { transition:background-color .2s ease,border-color .2s ease,opacity .2s ease; }
 @keyframes leeson-lightbox-in { from { opacity:0; transform:translateY(18px) scale(.975); } to { opacity:1; transform:none; } }
 @keyframes leeson-lightbox-out { from { opacity:1; transform:none; } to { opacity:0; transform:translateY(10px) scale(.985); } }
 @keyframes leeson-backdrop-in { from { opacity:0; } to { opacity:1; } }
 @keyframes leeson-backdrop-out { from { opacity:1; } to { opacity:0; } }
}
body.leeson-lightbox-open { overflow:hidden; }
@media (min-width:768px) and (max-width:1099px) {
 .leeson-hero-content { min-height:570px; padding-block:72px 80px; }
 .leeson-hero-location { display:none; }
 .leeson-testimonial-section .leeson-section-heading { display:block; }
 .leeson-review-badge { margin-top:24px; }
 .leeson-testimonials { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .leeson-testimonials .leeson-testimonial-card:last-child { grid-column:1/-1; }
}
@media (max-width:767px) {
 .leeson-hero-panoramic { padding:0 0 28px; }
 .leeson-hero-background .leeson-hero-image { object-position:62% 50%; }
 .leeson-hero-panoramic::before { background:linear-gradient(180deg,rgb(3 28 37 / 53%),rgb(3 28 37 / 65%) 52%,rgb(3 28 37 / 82%)); }
 .leeson-hero-content { min-height:510px; padding-block:64px 58px; display:block; }
 .leeson-hero-panoramic h1 { font-size:clamp(41px,9.5vw,55px); }
 .leeson-hero-panoramic .leeson-hero-description { font-size:16px; }
 .leeson-hero-panoramic .leeson-hero-copy { padding:0; }
 .leeson-hero-location { display:none; }
 .leeson-hero-panoramic .leeson-hero-search-wrap { margin-top:-10px; }
 .leeson-testimonial-section { padding-block:56px; }
 .leeson-testimonials .leeson-testimonial-card { padding:28px 24px; }
 .leeson-review-badge { margin-top:22px; flex-shrink:1; font-size:12px; max-width:100%; }
 .leeson-slide { aspect-ratio:4/3; }
 .leeson-slider-track { border-radius:14px; }
 .leeson-slider-prev { left:10px; }
 .leeson-slider-next { right:10px; }
 .leeson-slider-arrow { width:44px; height:44px; }
 .leeson-slider-expand { right:10px; bottom:10px; }
 .leeson-slider-thumbnail { flex-basis:82px; height:60px; }
 .leeson-slider-caption { align-items:start; gap:10px; font-size:11px; }
 .leeson-slider-caption > span:last-child { text-align:right; }
 .leeson-lightbox { padding:12px; width:calc(100vw - 20px); height:calc(100vh - 20px); height:calc(100dvh - 20px); border-radius:18px; }
 .leeson-lightbox[open] { gap:10px; }
 .leeson-lightbox-header { padding-bottom:12px; gap:12px; }
 .leeson-lightbox-heading h2 { font-size:15px; }
 .leeson-lightbox-brand { font-size:9px; letter-spacing:.1em; }
 .leeson-lightbox-stage { border-radius:12px; }
 .leeson-lightbox-nav { padding:8px; }
 .leeson-lightbox-nav button { width:44px; height:44px; }
 .leeson-lightbox .leeson-lightbox-thumbnail { flex-basis:68px; height:50px; }
 .leeson-lightbox-count { font-size:12px; }
 .leeson-lightbox-hint { font-size:11px; }
}
@media (prefers-reduced-motion:no-preference) {
 .leeson-reveal { transition:opacity .5s ease,transform .5s ease; }
 .leeson-reveal-pending { opacity:0; transform:translateY(14px); }
 .leeson-card { transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease; }
 .leeson-card-image img { transition:transform .45s ease; }
 .leeson-card:hover { transform:translateY(-3px); }
 .leeson-card:hover .leeson-card-image img { transform:scale(1.025); }
 .leeson-button { transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
 .leeson-button:hover { box-shadow:0 4px 12px rgb(4 61 73 / 12%); }
 .leeson-hero-panoramic .leeson-hero-copy > * { animation:leeson-hero-arrive .9s cubic-bezier(.22,1,.36,1) both; }
 .leeson-hero-panoramic .leeson-hero-copy > h1 { animation-duration:1.05s; animation-delay:.12s; }
 .leeson-hero-panoramic .leeson-hero-description { animation-delay:.26s; }
 .leeson-hero-panoramic .leeson-hero-copy > .leeson-text-link { animation-delay:.38s; }
 @keyframes leeson-hero-arrive { from { opacity:0; transform:translateY(36px); } to { opacity:1; transform:none; } }
}
@media (prefers-reduced-motion:reduce) { .leeson-reveal-pending { opacity:1; transform:none; } }
/* Keep the aerial composition wide on phones instead of cropping it into a tall strip. */
@media (max-width:767px) {
 .leeson-hero-panoramic { background:#123e49; }
 .leeson-hero-background { bottom:auto; height:300px; }
 .leeson-hero-background .leeson-hero-image { object-position:50% 52%; }
 .leeson-hero-panoramic::before { background:linear-gradient(180deg,transparent 160px,rgb(18 62 73 / 18%) 235px,#123e49 300px); }
 .leeson-hero-content { min-height:0; padding-top:325px; padding-bottom:42px; }
}
.leeson-testimonials figcaption > div:last-child { min-width:0; overflow-wrap:anywhere; }
.leeson-testimonials .leeson-avatar > span { font-size:17px; font-weight:650; color:var(--leeson-primary); }
.leeson-review-mark { font-size:22px; font-weight:750; line-height:1; background:conic-gradient(#4285f4 0deg 100deg,#34a853 100deg 185deg,#fbbc05 185deg 250deg,#ea4335 250deg 305deg,#4285f4 305deg 360deg); color:transparent; background-clip:text; -webkit-background-clip:text; }

/* Property heading above the gallery; price and existing facts alongside it. */
.leeson-property-heading { margin-bottom:28px; }
.leeson-property-heading h1 { max-width:1000px; font-size:clamp(30px,3.5vw,43px); overflow-wrap:anywhere; }
.leeson-property-heading .leeson-badge-inline { margin-bottom:14px; }
.leeson-property-heading .leeson-property-location { margin-bottom:0; }
.leeson-property-overview { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:32px; align-items:start; }
.leeson-property-overview > * { min-width:0; }
.leeson-property-overview-facts { padding:26px 24px; border:1px solid var(--leeson-border); border-radius:var(--leeson-radius); background:var(--leeson-background); }
.leeson-property-overview-facts .leeson-property-price { margin-bottom:0; }
.leeson-property-overview-facts .leeson-summary { grid-template-columns:repeat(2,minmax(0,1fr)); margin:24px 0 0; padding:24px 0 0; border-bottom:0; gap:24px 16px; }
.leeson-property-overview-facts .leeson-summary:first-child { margin-top:0; padding-top:0; border-top:0; }
.leeson-property-overview-single { grid-template-columns:1fr; }
@media (max-width:1023px) {
 .leeson-property-overview { grid-template-columns:1fr; gap:24px; }
}
@media (max-width:767px) {
 .leeson-property-heading { margin-bottom:24px; }
 .leeson-property-overview-facts { padding:24px 20px; }
}

/* Keep property facts and its assigned agent together in one sidebar. */
.leeson-single .leeson-property-layout { grid-template-columns:minmax(0,1fr) 360px; grid-template-areas:"gallery sidebar" "content sidebar"; grid-template-rows:auto 1fr; gap:32px; margin-top:0; }
.leeson-property-media { grid-area:gallery; min-width:0; }
.leeson-single .leeson-property-content { grid-area:content; min-width:0; }
.leeson-property-sidebar { grid-area:sidebar; display:flex; flex-direction:column; gap:12px; min-width:0; }
.leeson-property-sidebar .leeson-property-contact { position:static; }
.leeson-single .leeson-property-content > .leeson-property-section:first-child { margin-top:0; }
.leeson-single .leeson-property-section.leeson-description { padding:32px; border:1px solid var(--leeson-border); border-radius:var(--leeson-radius); background:var(--leeson-background); }
.leeson-single .leeson-description p, .leeson-single .leeson-description li { color:#354f58; }
.leeson-single .leeson-description > :last-child { margin-bottom:0; }
.leeson-single .leeson-property-layout-no-gallery { grid-template-areas:"content sidebar"; grid-template-rows:auto; }
@media (max-width:1023px) {
 .leeson-single .leeson-property-layout { grid-template-columns:1fr; grid-template-areas:"gallery" "sidebar" "content"; grid-template-rows:auto; gap:24px; }
 .leeson-single .leeson-property-layout-no-gallery { grid-template-areas:"sidebar" "content"; }
}
@media (max-width:767px) {
 .leeson-single .leeson-property-section.leeson-description { padding:24px 20px; }
}

/* Leeson Propiedades commercial figures and service cards. */
.leeson-stats { background:linear-gradient(115deg,#082d3b,#061f2c); color:#fff; padding:48px 0 52px; }
.leeson-stats h2 { color:#70d4d7; text-align:center; font-size:12px; line-height:1.6; letter-spacing:.2em; font-weight:650; margin:0 0 30px; }
.leeson-stats-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin:0; }
.leeson-stat { display:flex; flex-direction:column; align-items:center; text-align:center; min-width:0; }
.leeson-stat dt { color:#d7e7eb; font-size:14px; line-height:1.5; }
.leeson-stat dd { order:-1; margin:0 0 8px; font-size:clamp(38px,4.6vw,60px); line-height:1.1; letter-spacing:-.04em; font-weight:650; font-variant-numeric:tabular-nums; }
.leeson-stats-suffix { color:#70d4d7; font-weight:450; }
.leeson-services { gap:24px; }
.leeson-service { position:relative; padding:28px; background:#e7efed; border:1px solid #cfdfdb; border-radius:var(--leeson-radius); box-shadow:0 4px 16px rgb(16 51 61 / 4%); }
.leeson-service-icon { background:#fff; }
.leeson-service p { color:#354f58; }
@media (prefers-reduced-motion:no-preference) {
 .leeson-service { transition:opacity .5s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .leeson-service:hover { transform:scale(1.025); z-index:1; border-color:#a7c9c2; box-shadow:0 12px 28px rgb(16 51 61 / 12%); }
}
@media (max-width:1023px) {
 .leeson-stats-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
}
@media (min-width:768px) and (max-width:1023px) {
 .leeson-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
 .leeson-stats { padding:34px 0 38px; }
 .leeson-stats h2 { letter-spacing:.14em; margin-bottom:26px; }
 .leeson-stat dt { font-size:13px; }
 .leeson-stat dd { font-size:40px; }
 .leeson-service { padding:24px 20px; }
}

/* City mosaic: every pair fills a row; the final odd tile fills it by itself. */
.leeson-city-section { padding:64px 0 72px; margin-bottom:40px; background:#0c1012; }
.leeson-city-section .leeson-section-heading { margin-bottom:28px; }
.leeson-city-section h2 { color:#fff; }
.leeson-city-section .leeson-eyebrow { color:#82d9db; }
.leeson-city-section .leeson-section-heading p:not(.leeson-eyebrow) { color:#d5e0e2; }
.leeson-city-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; }
.leeson-city-tile { position:relative; isolation:isolate; display:flex; align-items:flex-end; grid-column:span 6; min-width:0; min-height:clamp(190px,17vw,230px); overflow:hidden; border-radius:var(--leeson-radius); background:linear-gradient(135deg,#075d70,#123e49); box-shadow:var(--leeson-shadow); }
.leeson-city-tile:nth-child(8n+1), .leeson-city-tile:nth-child(8n+6) { grid-column:span 3; }
.leeson-city-tile:nth-child(8n+2), .leeson-city-tile:nth-child(8n+5) { grid-column:span 9; }
.leeson-city-tile:last-child:nth-child(odd) { grid-column:1 / -1; }
.leeson-city-image { position:absolute; inset:0; z-index:-2; display:block; width:100%; height:100%; object-fit:cover; }
.leeson-city-tile::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgb(3 25 34 / 8%),rgb(3 25 34 / 20%) 38%,rgb(3 25 34 / 82%)); }
.leeson-city-tile-no-image::before { background:linear-gradient(135deg,rgb(32 163 172 / 20%),transparent); }
.leeson-city-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:24px; color:#fff; font-size:clamp(17px,1.7vw,23px); font-weight:650; line-height:1.25; letter-spacing:-.025em; text-shadow:0 1px 3px rgb(0 0 0 / 35%); }
.leeson-city-caption > span { overflow-wrap:anywhere; }
.leeson-city-caption .leeson-icon { flex-shrink:0; width:22px; height:22px; }
@media (prefers-reduced-motion:no-preference) {
 .leeson-city-image { transition:transform .4s ease; }
 .leeson-city-tile { transition:box-shadow .25s ease; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .leeson-city-tile:hover .leeson-city-image { transform:scale(1.04); }
 .leeson-city-tile:hover { box-shadow:0 14px 32px rgb(16 51 61 / 15%); }
}
@media (max-width:1023px) {
 .leeson-city-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .leeson-city-tile:nth-child(n) { grid-column:auto; min-height:210px; }
 .leeson-city-tile:last-child:nth-child(odd) { grid-column:1 / -1; }
}
@media (max-width:767px) {
 .leeson-city-section { padding-block:44px 48px; margin-bottom:28px; }
 .leeson-city-grid { grid-template-columns:1fr; gap:16px; }
 .leeson-city-tile:nth-child(n) { grid-column:auto; min-height:220px; }
 .leeson-city-caption { padding:24px; font-size:22px; }
}

/* Native Nosotros / Contacto: editorial space, shared brand and direct contact. */
.leeson-public-page { padding-bottom:80px; }
.leeson-public-lead { color:var(--leeson-text-secondary); font-size:19px; line-height:1.8; }
.leeson-about-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:64px; padding-block:72px 80px; }
.leeson-about-intro h1 { font-size:clamp(34px,3.8vw,52px); }
.leeson-about-intro .leeson-button { margin-top:10px; }
.leeson-about-photo { position:relative; overflow:hidden; min-height:460px; align-self:stretch; border-radius:var(--leeson-radius-large); background:linear-gradient(145deg,#d8ebe5,#86b8bb); }
.leeson-about-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.leeson-about-photo-note { position:absolute; inset:auto 24px 24px; display:flex; align-items:center; justify-content:center; gap:10px; padding:16px; border-radius:12px; background:rgb(255 255 255 / 94%); color:var(--leeson-primary); font-size:14px; font-weight:600; text-align:center; box-shadow:var(--leeson-shadow); }
.leeson-about-purpose { padding-block:72px; background:var(--leeson-background); }
.leeson-purpose-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.leeson-purpose-card { min-width:0; position:relative; padding:40px; border:1px solid var(--leeson-border); border-radius:20px; background:#fff; box-shadow:var(--leeson-shadow); }
.leeson-purpose-number { display:block; color:var(--leeson-primary); font-size:42px; line-height:1; font-weight:500; letter-spacing:-.04em; margin-bottom:28px; }
.leeson-purpose-card h3 { font-size:26px; margin-bottom:16px; }
.leeson-purpose-card p { color:var(--leeson-text-secondary); font-size:17px; line-height:1.8; margin:0; }
.leeson-about-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.leeson-public-cta { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:48px; border-radius:var(--leeson-radius-large); background:var(--leeson-primary); color:#fff; }
.leeson-public-cta h2 { color:#fff; font-size:clamp(27px,3vw,36px); }
.leeson-public-cta .leeson-eyebrow { color:#b4e8e5; }
.leeson-public-cta p:not(.leeson-eyebrow) { color:#e2efef; max-width:650px; margin-bottom:0; }
.leeson-public-cta .leeson-button { flex-shrink:0; }
.leeson-contact-heading { padding-block:72px 44px; text-align:center; }
.leeson-contact-heading h1 { font-size:clamp(36px,4.2vw,56px); }
.leeson-contact-heading .leeson-public-lead { max-width:640px; margin:0 auto; }
.leeson-contact-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; }
.leeson-contact-channels { display:grid; gap:16px; align-content:start; }
.leeson-channel-card { display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:20px; padding:28px; border:1px solid #cfdfdb; border-radius:var(--leeson-radius); background:#e7efed; }
.leeson-channel-card > div, .leeson-channel-card > span { min-width:0; }
.leeson-channel-card .leeson-service-icon { grid-row:auto; margin:0; background:#fff; }
.leeson-channel-card .leeson-channel-label { display:block; color:var(--leeson-text-secondary); font-size:13px; font-weight:600; line-height:1.5; letter-spacing:0; margin:0 0 5px; }
.leeson-channel-card strong, .leeson-channel-value { display:block; color:var(--leeson-primary); font-size:clamp(18px,1.9vw,23px); font-weight:650; line-height:1.5; overflow-wrap:anywhere; }
.leeson-channel-detail { display:block; color:#354f58; font-size:14px; line-height:1.7; margin:6px 0 0 !important; }
.leeson-channel-card > .leeson-icon { color:var(--leeson-primary); }
a.leeson-channel-card:hover { background:#dbeae6; border-color:#a7c9c2; }
.leeson-channel-value:hover { text-decoration:underline; }
.leeson-contact-aside { min-width:0; padding:40px; border-radius:20px; background:var(--leeson-primary); color:#fff; }
.leeson-contact-aside-icon { display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:16px; border:1px solid rgb(255 255 255 / 22%); margin-bottom:28px; }
.leeson-contact-aside-icon .leeson-icon { width:30px; height:30px; }
.leeson-contact-aside h2 { color:#fff; font-size:clamp(30px,3vw,39px); }
.leeson-contact-aside .leeson-eyebrow { color:#b4e8e5; }
.leeson-contact-aside p:not(.leeson-eyebrow) { color:#e2efef; }
.leeson-contact-aside .leeson-text-link { color:#fff !important; }
.leeson-contact-areas { display:flex; flex-wrap:wrap; gap:9px; list-style:none; padding:0; margin:28px 0; }
.leeson-contact-areas li { padding:7px 11px; border:1px solid rgb(255 255 255 / 25%); border-radius:8px; background:rgb(255 255 255 / 6%); font-size:13px; line-height:1.4; }
.leeson-contact-extra { display:flex; flex-wrap:wrap; gap:32px 64px; margin-top:40px; padding:28px; border:1px solid var(--leeson-border); border-radius:var(--leeson-radius); }
.leeson-contact-extra h2 { font-size:20px; margin-bottom:12px; }
.leeson-contact-extra p { color:var(--leeson-text-secondary); margin:0; }
.leeson-contact-extra .leeson-social { margin:0; }
.leeson-contact-form { max-width:860px; margin-top:64px; padding:36px; border:1px solid var(--leeson-border); border-radius:20px; background:var(--leeson-background); }
.leeson-contact-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]), .leeson-contact-form select, .leeson-contact-form textarea { max-width:100%; width:100%; min-height:48px; border:1px solid #b8cecf; border-radius:8px; background:#fff; color:var(--leeson-text); padding:12px; font:inherit; }
.leeson-contact-form input[type=submit], .leeson-contact-form button[type=submit] { min-height:48px; max-width:100%; border:1px solid var(--leeson-primary); border-radius:9px; background:var(--leeson-primary); color:#fff; padding:12px 22px; font:600 16px/1.5 system-ui,sans-serif; cursor:pointer; }
.leeson-contact-form label { display:block; font-size:16px; font-weight:550; }
@media (max-width:1023px) {
 .leeson-about-hero { gap:32px; }
 .leeson-about-photo { min-height:420px; }
 .leeson-about-values { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .leeson-about-values > :last-child { grid-column:1/-1; }
 .leeson-purpose-card { padding:32px; }
 .leeson-contact-layout { grid-template-columns:1fr; }
 .leeson-public-cta { align-items:flex-start; flex-direction:column; gap:28px; }
}
@media (max-width:767px) {
 .leeson-public-page { padding-bottom:48px; }
 .leeson-public-lead { font-size:17px; }
 .leeson-about-hero { grid-template-columns:1fr; gap:32px; padding-block:44px 48px; }
 .leeson-about-photo { min-height:300px; }
 .leeson-about-photo-note { inset:auto 16px 16px; padding:14px; font-size:13px; }
 .leeson-about-purpose { padding-block:48px; }
 .leeson-purpose-grid, .leeson-about-values { grid-template-columns:1fr; gap:20px; }
 .leeson-purpose-card { padding:28px; }
 .leeson-purpose-card p { font-size:16px; }
 .leeson-public-cta { padding:32px 24px; }
 .leeson-public-cta .leeson-button { width:100%; }
 .leeson-contact-heading { padding-block:44px 32px; }
 .leeson-contact-layout { gap:24px; }
 .leeson-channel-card { grid-template-columns:44px minmax(0,1fr); padding:22px 18px; gap:14px; }
 .leeson-channel-card .leeson-service-icon { width:44px; height:44px; border-radius:10px; }
 .leeson-channel-card > .leeson-icon { display:none; }
 .leeson-contact-aside { padding:32px 24px; }
 .leeson-contact-extra { margin-top:28px; padding:24px; gap:24px; }
 .leeson-contact-form { padding:24px; margin-top:40px; }
}
