/* 0.5.0: staging visual trial. Native views only; inventory stays in MyHome. */
body.leeson-v2 {
 --leeson-primary:#075d70;
 --leeson-secondary:#20a3ac;
 --leeson-background:#e6f1f1;
 --leeson-surface:#f6faf9;
 --leeson-text:#123640;
 --leeson-text-secondary:#405f68;
 --leeson-border:#bfd7d8;
 --leeson-radius:18px;
 --leeson-shadow:0 12px 32px rgb(7 62 76 / 10%);
 --leeson-ink:#082e3b;
 --leeson-mist:#dceced;
 --leeson-font-ui:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
 background:linear-gradient(135deg,#edf5f4,#e2eff0);
 color:var(--leeson-text);
 font-family:var(--leeson-font-ui);
 font-size:17px;
 line-height:1.7;
}
body.leeson-v2 h1, body.leeson-v2 h2, body.leeson-v2 h3 { font-weight:700; letter-spacing:-.03em; }
body.leeson-v2 .leeson-section-heading h2 { font-size:clamp(30px,3.4vw,44px); }
body.leeson-v2 .leeson-eyebrow { font-size:13px; line-height:1.6; letter-spacing:.12em; }
body.leeson-v2 .leeson-button { font-family:var(--leeson-font-ui); font-size:16px; border-radius:12px; background:linear-gradient(120deg,#075d70,#0b7785); border-color:#075d70; box-shadow:0 6px 18px rgb(7 93 112 / 15%); }
body.leeson-v2 .leeson-button:hover { background:#064d5e; border-color:#064d5e; }
body.leeson-v2 .leeson-button-outline { background:transparent; box-shadow:none; }
body.leeson-v2 .leeson-button-outline:hover { background:#d8ecec; }
body.leeson-v2 .leeson-button-light { background:#f5fbfa; border-color:#f5fbfa; color:#075d70 !important; }
body.leeson-v2 .leeson-button-light:hover { background:#dcefee; }
body.leeson-v2 .leeson-text-link { font-size:16px; }

/* Brand frame and a soft, translucent navigation palette. */
body.leeson-v2 .leeson-header { border-top:4px solid #20a3ac; background:#f6faf9; box-shadow:0 3px 20px rgb(7 62 76 / 6%); }
body.leeson-v2 .leeson-navigation > a:not(.leeson-button) { font-size:15px; background:#dfedeb; border-color:#c0d8d6; }
body.leeson-v2 .leeson-navigation > a:not(.leeson-button):hover { background:#c8e3e2; }
body.leeson-v2 .leeson-header-cta { font-size:14px; }
body.leeson-v2 .leeson-wordmark > span { font-size:11px; letter-spacing:.22em; }
body.leeson-v2 .leeson-mobile-contact { background:#dceeee; border-color:#accdce; }
body.leeson-v2 .leeson-menu-toggle { font-size:14px; }
body.leeson-v2 .leeson-hero-search-wrap .leeson-search-hero { background:#e6f2f0; border:1px solid #b3d0d0; box-shadow:0 14px 45px rgb(3 38 47 / 20%); }
body.leeson-v2 .leeson-search-title { color:#075d70; }
body.leeson-v2 .leeson-coverage { background:#f6faf9; }
body.leeson-v2 .leeson-coverage > div { font-size:15px; }
body.leeson-v2 .leeson-stats { background:linear-gradient(120deg,#082e3b,#075d70); }
body.leeson-v2 .leeson-stats h2 { font-size:14px; }
body.leeson-v2 .leeson-stat dt { font-size:15px; }
body.leeson-v2 .leeson-featured-section { position:relative; }

/* Photographs remain the focus; tinted interiors define each property card. */
body.leeson-v2 .leeson-card { background:#f7fbfa; border-color:#b6d1d2; border-radius:20px; box-shadow:0 7px 24px rgb(7 62 76 / 8%); }
body.leeson-v2 .leeson-card-content { background:linear-gradient(145deg,#f5faf8,#e8f3f2); }
body.leeson-v2 .leeson-card-price { font-size:28px; }
body.leeson-v2 .leeson-card h3 { font-size:21px; }
body.leeson-v2 .leeson-card-location, body.leeson-v2 .leeson-card-facts { font-size:15px; }
body.leeson-v2 .leeson-card-more { font-size:15px; border-color:#b8d2d3; }
body.leeson-v2 .leeson-badge { background:#075d70; color:#fff; font-size:14px; border:1px solid rgb(255 255 255 / 25%); }
body.leeson-v2 .leeson-badge-inline { background:#d2e9e7; color:#075063; border-color:#accdce; }
body.leeson-v2 .leeson-city-section { background:#072a36; border-block:1px solid #184753; }
body.leeson-v2 .leeson-city-tile { border:1px solid rgb(114 202 207 / 25%); }
body.leeson-v2 .leeson-city-caption { font-size:23px; }
body.leeson-v2 .leeson-owner-panel, body.leeson-v2 .leeson-public-cta { background:linear-gradient(120deg,#064c60,#087685); box-shadow:0 16px 36px rgb(7 62 76 / 12%); }
body.leeson-v2 .leeson-owner-panel p { font-size:17px; }
body.leeson-v2 .leeson-service { background:linear-gradient(145deg,#dbeeee,#cfe4e5); border-color:#aecfd0; box-shadow:0 7px 22px rgb(7 62 76 / 6%); }
body.leeson-v2 .leeson-service h3 { font-size:23px; }
body.leeson-v2 .leeson-service p { font-size:16px; color:#284e58; }
body.leeson-v2 .leeson-service-icon { background:#f4faf8; border:1px solid #bbd9d8; }
body.leeson-v2 .leeson-testimonial-section { background:#dcebec; border-block:1px solid #bbd4d6; }
body.leeson-v2 .leeson-testimonials .leeson-testimonial-card { background:#f6fbf9; border-color:#b3d0d2; border-top:4px solid #20a3ac; box-shadow:var(--leeson-shadow); }
body.leeson-v2 .leeson-testimonials blockquote { font-size:17px; color:#365861; }
body.leeson-v2 .leeson-testimonials figcaption strong { font-size:16px; }
body.leeson-v2 .leeson-testimonials figcaption > div > span { font-size:14px; }
body.leeson-v2 .leeson-review-badge { font-size:15px; background:#f2f9f7; border-color:#adcacc; }
body.leeson-v2 .leeson-home-contact { padding:44px; margin-block:48px; background:linear-gradient(120deg,#d1e8e7,#e4f2ee); border:1px solid #abcdd0; border-radius:28px; }

/* A clearer archive masthead and readable filters. */
body.leeson-v2 .leeson-page-heading { background:linear-gradient(115deg,#082e3b,#075d70); border-bottom:4px solid #20a3ac; }
body.leeson-v2 .leeson-page-heading h1 { color:#fff; }
body.leeson-v2 .leeson-page-heading .leeson-eyebrow { color:#a2e5e1; }
body.leeson-v2 .leeson-page-heading p:last-child { color:#e0efef; font-size:18px; }
body.leeson-v2 .leeson-search-listing { background:#d5e9e8; border:1px solid #accbce; box-shadow:var(--leeson-shadow); }
body.leeson-v2 .leeson-search-listing .leeson-field label { font-size:15px; }
body.leeson-v2 .leeson-search-listing .leeson-field select, body.leeson-v2 .leeson-search-listing .leeson-field input { font-size:16px; min-height:52px; }
body.leeson-v2 .leeson-results-heading p { font-size:17px; }
body.leeson-v2 .leeson-results-heading > span { font-size:14px; }
body.leeson-v2 .page-numbers { background:#eef8f5; font-size:16px; }
body.leeson-v2 .page-numbers.current { background:#075d70; }

/* Property data: dark price panel, soft contact card, distinct content panels. */
body.leeson-v2 .leeson-property-heading h1 { font-size:clamp(30px,3.6vw,46px); }
body.leeson-v2 .leeson-back-link, body.leeson-v2 .leeson-property-location { font-size:16px; }
body.leeson-v2 .leeson-property-overview-facts { background:linear-gradient(145deg,#082e3b,#075366); border-color:#286877; color:#fff; box-shadow:var(--leeson-shadow); }
body.leeson-v2 .leeson-property-overview-facts .leeson-property-price { color:#fff; font-size:clamp(30px,3vw,38px); }
body.leeson-v2 .leeson-property-overview-facts .leeson-summary { border-color:#477a88; }
body.leeson-v2 .leeson-property-overview-facts .leeson-summary dt { color:#d7e9ed; font-size:14px; }
body.leeson-v2 .leeson-property-overview-facts .leeson-summary dd { color:#fff; font-size:19px; }
body.leeson-v2 .leeson-property-overview-facts .leeson-icon { color:#8dddda; }
body.leeson-v2 .leeson-property-contact { background:#e3f0ed; border-color:#abcacc; box-shadow:var(--leeson-shadow); }
body.leeson-v2 .leeson-property-contact p { font-size:16px; color:#365861; }
body.leeson-v2 .leeson-agent-heading .leeson-eyebrow { font-size:11px; }
body.leeson-v2 .leeson-agent-heading h3 { font-size:22px; }
body.leeson-v2 .leeson-agent-heading > div > span { font-size:14px; }
body.leeson-v2 .leeson-agent-details, body.leeson-v2 .leeson-agent-more { font-size:14px; }
body.leeson-v2 .leeson-contact-note { font-size:13px; }
body.leeson-v2 .leeson-slider-caption { font-size:14px; }
body.leeson-v2 .leeson-lightbox-count { font-size:14px; }
body.leeson-v2 .leeson-lightbox-hint { font-size:13px; }
body.leeson-v2 .leeson-single .leeson-property-section.leeson-description,
body.leeson-v2 .leeson-property-features,
body.leeson-v2 .leeson-single .leeson-location { padding:30px; background:#dceced; border:1px solid #a8c8cc; border-radius:20px; box-shadow:0 6px 24px rgb(7 62 76 / 5%); }
body.leeson-v2 .leeson-single .leeson-description p, body.leeson-v2 .leeson-single .leeson-description li { font-size:17px; color:#284e58; }
body.leeson-v2 .leeson-property-section h2 { font-size:26px; line-height:1.3; }
body.leeson-v2 .leeson-property-features h2 { color:#075063; padding-bottom:18px; border-bottom:1px solid #aacbd0; }
body.leeson-v2 .leeson-property-features .leeson-attributes { gap:12px; }
body.leeson-v2 .leeson-property-features .leeson-attributes > div { background:#eff7f5; padding:16px; border:1px solid #bad3d4; border-left:3px solid #20a3ac; border-radius:12px; }
body.leeson-v2 .leeson-property-features .leeson-attributes dt { color:#365861; font-size:14px; line-height:1.5; font-weight:600; }
body.leeson-v2 .leeson-property-features .leeson-attributes dd { color:#123640; font-size:17px; line-height:1.5; font-weight:650; margin-top:7px; }

/* Nosotros and Contacto follow the same colored surfaces and hierarchy. */
body.leeson-v2 .leeson-about-purpose { background:#d2e8e8; border-block:1px solid #b0ced0; }
body.leeson-v2 .leeson-purpose-card { background:#eef7f3; border-color:#adcacc; border-top:4px solid #20a3ac; }
body.leeson-v2 .leeson-channel-card, body.leeson-v2 .leeson-contact-form, body.leeson-v2 .leeson-contact-extra { background:#dceeed; border-color:#adcacc; box-shadow:0 6px 22px rgb(7 62 76 / 5%); }
body.leeson-v2 .leeson-channel-card .leeson-channel-label { font-size:15px; color:#365861; }
body.leeson-v2 .leeson-channel-detail { font-size:16px; }
body.leeson-v2 .leeson-contact-aside { background:linear-gradient(145deg,#082e3b,#075d70); }
body.leeson-v2 .leeson-contact-areas li { font-size:14px; }

/* A deep blue footer anchors the page. The original logo keeps a light backing. */
body.leeson-v2 .leeson-footer { background:#082e3b; color:#f2faf9; border-top:4px solid #20a3ac; }
body.leeson-v2 .leeson-footer h2 { color:#fff; font-size:17px; }
body.leeson-v2 .leeson-footer p, body.leeson-v2 .leeson-footer ul { color:#d0e2e6; font-size:15px; }
body.leeson-v2 .leeson-footer .leeson-brand { background:#f4faf8; padding:14px 18px; border-radius:12px; max-width:100%; }
body.leeson-v2 .leeson-footer-region { color:#8bdedc; font-size:14px; }
body.leeson-v2 .leeson-footer-bottom { color:#c5dce1; border-color:#38606d; font-size:14px; }
body.leeson-v2 .leeson-footer .leeson-social { font-size:15px; }
body.leeson-v2 .leeson-footer a:not(.leeson-brand):hover { color:#8bdedc; }
body.leeson-v2 .leeson-footer a:focus-visible,
body.leeson-v2 .leeson-owner-panel a:focus-visible,
body.leeson-v2 .leeson-public-cta a:focus-visible,
body.leeson-v2 .leeson-contact-aside a:focus-visible { outline-color:#8bdedc; }

/* Progressive enhancement: no hidden content until JS installs the observer. */
@media (prefers-reduced-motion:no-preference) {
 body.leeson-v2 .leeson-featured-grid .leeson-card.leeson-motion-ready { transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1),box-shadow .25s ease; transition-delay:var(--leeson-motion-delay,0ms); }
 body.leeson-v2 .leeson-featured-grid .leeson-card.leeson-motion-away { opacity:0; transform:translateY(42px) scale(.975); }
 body.leeson-v2 .leeson-city-tile.leeson-motion-ready { transition:opacity .55s ease,transform .65s cubic-bezier(.2,.75,.25,1),box-shadow .25s ease; transition-delay:0ms; }
 body.leeson-v2 .leeson-city-tile.leeson-motion-away { opacity:.3; transform:scale(.975); }
}
body.leeson-v2 .leeson-motion-away:focus-within { opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion:reduce) {
 body.leeson-v2 .leeson-motion-away { opacity:1; transform:none; }
}
@media (max-width:1099px) {
 body.leeson-v2 .leeson-header-inner { min-height:82px; }
 body.leeson-v2 .leeson-home-contact { padding:32px; }
}
@media (max-width:767px) {
 body.leeson-v2 { font-size:16px; }
 body.leeson-v2 .leeson-navigation > a:not(.leeson-button) { font-size:15px; }
 body.leeson-v2 .leeson-coverage > div { font-size:14px; }
 body.leeson-v2 .leeson-card-content { padding:22px; }
 body.leeson-v2 .leeson-card h3 { font-size:20px; }
 body.leeson-v2 .leeson-property-heading h1 { font-size:30px; }
 body.leeson-v2 .leeson-single .leeson-property-section.leeson-description,
 body.leeson-v2 .leeson-property-features,
 body.leeson-v2 .leeson-single .leeson-location { padding:24px 20px; }
 body.leeson-v2 .leeson-property-section h2 { font-size:24px; }
 body.leeson-v2 .leeson-property-features .leeson-attributes { grid-template-columns:1fr; }
 body.leeson-v2 .leeson-home-contact { flex-direction:column; align-items:flex-start; padding:28px 24px; }
 body.leeson-v2 .leeson-home-contact .leeson-button { width:100%; }
 body.leeson-v2 .leeson-footer-bottom { font-size:13px; }
}
