:root{
    --primary:#1b0d3d;
    --accent:#13aeea;
    --dark:#120927;
    --text:#251b3f;
    --muted:#6d6677;
    --soft:#f5f7fb;
    --line:#e8e8ef;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}
a{text-decoration:none;color:inherit}
.wrap{width:min(1120px,92%);margin:auto}
.topbar{background:#0f1b2f;color:#fff;font-size:13px;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0}
.topbar-item{display:inline-flex;align-items:center;gap:9px;color:rgba(255,255,255,.92);line-height:1.4}
.topbar-item:hover{color:#fff}
.topbar-icon{
    width:14px;
    height:14px;
    display:inline-block;
    background:var(--accent);
    flex:0 0 14px;
    mask-repeat:no-repeat;
    mask-position:center;
    mask-size:contain;
    -webkit-mask-repeat:no-repeat;
    -webkit-mask-position:center;
    -webkit-mask-size:contain;
}
.topbar-icon-mail{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm0 2v.511l9 5.4 9-5.4V7l-9 5.4L3 7.01z'/%3E%3C/svg%3E");
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm0 2v.511l9 5.4 9-5.4V7l-9 5.4L3 7.01z'/%3E%3C/svg%3E");
}
.topbar-icon-phone{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24 11.72 11.72 0 0 0 3.68.59 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.47a1 1 0 0 1 1 1 11.72 11.72 0 0 0 .59 3.68 1 1 0 0 1-.24 1.01l-2.2 2.1z'/%3E%3C/svg%3E");
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24 11.72 11.72 0 0 0 3.68.59 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.47a1 1 0 0 1 1 1 11.72 11.72 0 0 0 .59 3.68 1 1 0 0 1-.24 1.01l-2.2 2.1z'/%3E%3C/svg%3E");
}
.topbar-icon-pin{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22s7-6.28 7-12a7 7 0 1 0-14 0c0 5.72 7 12 7 12zm0-9a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/%3E%3C/svg%3E");
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22s7-6.28 7-12a7 7 0 1 0-14 0c0 5.72 7 12 7 12zm0-9a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/%3E%3C/svg%3E");
}
.site-header{background:#fff;box-shadow:0 3px 16px rgba(0,0,0,.08);position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.logo{display:flex;align-items:center;color:var(--primary)}
.logo img{display:block;height:46px;width:auto}
.logo-mark{width:28px;height:28px;background:linear-gradient(135deg,var(--accent),#3620c9);display:inline-block;border-radius:7px}
nav{display:flex;gap:22px;align-items:center;font-size:14px;text-transform:uppercase;font-weight:700}
nav a:hover{color:var(--accent)}
.site-nav{position:relative}
.nav-link,
.site-nav > a{display:inline-flex;align-items:center;min-height:72px}
.nav-item{position:relative;display:flex;align-items:center}
.nav-item > .nav-link{color:inherit}
.nav-item.active > .nav-link{color:var(--accent)}
.nav-item-has-mega{padding-right:10px}
.nav-mega-toggle{
    display:none;
    width:18px;
    height:18px;
    margin-left:4px;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
}
.nav-mega-toggle span{
    display:block;
    width:100%;
    height:100%;
    background:var(--primary);
    mask-repeat:no-repeat;
    mask-position:center;
    mask-size:12px 12px;
    -webkit-mask-repeat:no-repeat;
    -webkit-mask-position:center;
    -webkit-mask-size:12px 12px;
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
}
.mega-menu{
    position:absolute;
    left:0;
    top:100%;
    min-width:620px;
    padding-top:8px;
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-item-has-mega:hover .mega-menu,
.nav-item-has-mega:focus-within .mega-menu,
.nav-item-has-mega.is-open .mega-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}
.mega-menu-grid{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:22px;
    padding:20px;
    background:#fff;
    border:1px solid #dfe5ee;
    box-shadow:0 18px 34px rgba(15,23,42,.1);
}
.mega-menu-panel{
    padding-right:18px;
    border-right:1px solid #edf1f5;
}
.mega-menu-kicker{
    display:block;
    margin-bottom:10px;
    color:var(--accent);
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
}
.mega-menu-panel h4{
    margin:0 0 8px;
    color:var(--primary);
    font-size:18px;
    line-height:1.35;
    text-transform:none;
}
.mega-menu-panel p{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.6;
    text-transform:none;
    font-weight:700;
}
.mega-menu-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 14px;
}
.mega-menu-links a{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    margin:0;
    padding:10px 12px;
    border:1px solid #e4e9f1;
    background:#fff;
    color:var(--primary);
    font-size:12px;
    font-weight:800;
    line-height:1.35;
    text-transform:none;
}
.mega-menu-links a:hover{
    border-color:#cfe4f3;
    background:#f7fbff;
}
.mega-icon{
    width:16px;
    height:16px;
    display:inline-block;
    background:var(--accent);
    flex:0 0 16px;
    mask-repeat:no-repeat;
    mask-position:center;
    mask-size:contain;
    -webkit-mask-repeat:no-repeat;
    -webkit-mask-position:center;
    -webkit-mask-size:contain;
}
.mega-icon-condo{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h8v18H4V3zm10 5h6v13h-6V8zm2 2v2h2v-2h-2zm0 4v2h2v-2h-2zM6 5v2h2V5H6zm0 4v2h2V9H6zm0 4v2h2v-2H6zm0 4v2h2v-2H6z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h8v18H4V3zm10 5h6v13h-6V8zm2 2v2h2v-2h-2zm0 4v2h2v-2h-2zM6 5v2h2V5H6zm0 4v2h2V9H6zm0 4v2h2v-2H6zm0 4v2h2v-2H6z'/%3E%3C/svg%3E")}
.mega-icon-building{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 21V3h12v6h6v12H3zm4-14v2h2V7H7zm0 4v2h2v-2H7zm0 4v2h2v-2H7zm4-8v2h2V7h-2zm0 4v2h2v-2h-2zm0 4v2h2v-2h-2zm4 0v2h2v-2h-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 21V3h12v6h6v12H3zm4-14v2h2V7H7zm0 4v2h2v-2H7zm0 4v2h2v-2H7zm4-8v2h2V7h-2zm0 4v2h2v-2h-2zm0 4v2h2v-2h-2zm4 0v2h2v-2h-2z'/%3E%3C/svg%3E")}
.mega-icon-key{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 3a7 7 0 1 0 6.93 8h-2.07A5 5 0 1 1 14 5a4.98 4.98 0 0 1 4.58 3H16v2h7V3h-2v3.08A6.98 6.98 0 0 0 14 3zM3 20h8v-2H9v-2H7v-2H5v-2H3v8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 3a7 7 0 1 0 6.93 8h-2.07A5 5 0 1 1 14 5a4.98 4.98 0 0 1 4.58 3H16v2h7V3h-2v3.08A6.98 6.98 0 0 0 14 3zM3 20h8v-2H9v-2H7v-2H5v-2H3v8z'/%3E%3C/svg%3E")}
.mega-icon-trade{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7h11l-3.5-3.5L16 2l6 6-6 6-1.5-1.5L18 9H7V7zm10 10H6l3.5 3.5L8 22l-6-6 6-6 1.5 1.5L6 15h11v2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 7h11l-3.5-3.5L16 2l6 6-6 6-1.5-1.5L18 9H7V7zm10 10H6l3.5 3.5L8 22l-6-6 6-6 1.5 1.5L6 15h11v2z'/%3E%3C/svg%3E")}
.mega-icon-tools{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M22.7 19.3l-6.4-6.4a5 5 0 0 1-6.6-6.6l3 3L15 7l-3-3a5 5 0 0 1 6.6 6.6l6.4 6.4-2.3 2.3zM5 6a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm-4 13 6.1-6.1a5 5 0 0 0 4.8 4.8L5.8 24 1 19z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M22.7 19.3l-6.4-6.4a5 5 0 0 1-6.6-6.6l3 3L15 7l-3-3a5 5 0 0 1 6.6 6.6l6.4 6.4-2.3 2.3zM5 6a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm-4 13 6.1-6.1a5 5 0 0 0 4.8 4.8L5.8 24 1 19z'/%3E%3C/svg%3E")}
.mega-icon-wallet{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 7a3 3 0 0 1 3-3h13v3h2a1 1 0 0 1 1 1v10a2 2 0 0 1-2 2H6a3 3 0 0 1-3-3V7zm3-1a1 1 0 0 0 0 2h13V6H6zm14 6h-3v3h3v-3z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 7a3 3 0 0 1 3-3h13v3h2a1 1 0 0 1 1 1v10a2 2 0 0 1-2 2H6a3 3 0 0 1-3-3V7zm3-1a1 1 0 0 0 0 2h13V6H6zm14 6h-3v3h3v-3z'/%3E%3C/svg%3E")}
.mega-icon-grid{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h8v8H3V3zm10 0h8v8h-8V3zM3 13h8v8H3v-8zm10 0h8v8h-8v-8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 3h8v8H3V3zm10 0h8v8h-8V3zM3 13h8v8H3v-8zm10 0h8v8h-8v-8z'/%3E%3C/svg%3E")}
.mega-icon-house{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l9 8h-3v10h-5v-6H11v6H6V11H3l9-8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l9 8h-3v10h-5v-6H11v6H6V11H3l9-8z'/%3E%3C/svg%3E")}
.mega-icon-apartment{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h10v20H5V2zm3 3v2h2V5H8zm0 4v2h2V9H8zm0 4v2h2v-2H8zm4-8v2h2V5h-2zm0 4v2h2V9h-2zm0 4v2h2v-2h-2zm5 1h4v8h-4v-8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 2h10v20H5V2zm3 3v2h2V5H8zm0 4v2h2V9H8zm0 4v2h2v-2H8zm4-8v2h2V5h-2zm0 4v2h2V9h-2zm0 4v2h2v-2h-2zm5 1h4v8h-4v-8z'/%3E%3C/svg%3E")}
.mega-icon-lot{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h16v2H4V5zm0 6h16v2H4v-2zm0 6h16v2H4v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h16v2H4V5zm0 6h16v2H4v-2zm0 6h16v2H4v-2z'/%3E%3C/svg%3E")}
.mega-icon-bell{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a2.5 2.5 0 0 0 2.45-2h-4.9A2.5 2.5 0 0 0 12 22zm7-6V11a7 7 0 1 0-14 0v5l-2 2v1h18v-1l-2-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a2.5 2.5 0 0 0 2.45-2h-4.9A2.5 2.5 0 0 0 12 22zm7-6V11a7 7 0 1 0-14 0v5l-2 2v1h18v-1l-2-2z'/%3E%3C/svg%3E")}
.mega-icon-heart{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-7-4.35-9.5-9A5.67 5.67 0 0 1 12 5.5 5.67 5.67 0 0 1 21.5 12c-2.5 4.65-9.5 9-9.5 9z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-7-4.35-9.5-9A5.67 5.67 0 0 1 12 5.5 5.67 5.67 0 0 1 21.5 12c-2.5 4.65-9.5 9-9.5 9z'/%3E%3C/svg%3E")}
.mega-icon-compare{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 3H5a2 2 0 0 0-2 2v14h2V5h5V3zm11 2v14a2 2 0 0 1-2 2h-5v-2h5V5h-5V3h5a2 2 0 0 1 2 2zM9 8h6v2H9V8zm0 4h6v2H9v-2zm0 4h6v2H9v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 3H5a2 2 0 0 0-2 2v14h2V5h5V3zm11 2v14a2 2 0 0 1-2 2h-5v-2h5V5h-5V3h5a2 2 0 0 1 2 2zM9 8h6v2H9V8zm0 4h6v2H9v-2zm0 4h6v2H9v-2z'/%3E%3C/svg%3E")}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;padding:13px 22px;border-radius:2px;border:0;font-weight:800;cursor:pointer}
.btn-small{padding:10px 14px;font-size:13px}
.hero{min-height:470px;background:linear-gradient(rgba(18,9,39,.65),rgba(18,9,39,.65)),url('/assets/img/hero.jpg');background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}
.hero h1{font-size:54px;line-height:1.05;margin:0 0 18px}
.hero p{font-size:19px;max-width:650px;line-height:1.6}
.search-box{background:#fff;margin-top:-55px;position:relative;z-index:5;padding:26px;box-shadow:0 16px 45px rgba(0,0,0,.12)}
.grid{display:grid;gap:22px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);font:inherit}
.section{padding:78px 0}
.kicker{color:var(--accent);font-weight:800;margin-bottom:10px}
.title{font-size:36px;margin:0 0 32px;color:var(--primary)}
.card{border:1px solid var(--line);background:#fff;box-shadow:0 8px 25px rgba(0,0,0,.04)}
.property-card img,.agent-card img{width:100%;height:230px;object-fit:cover;background:#eee}
.card-body{padding:18px}
.price{font-weight:900;color:var(--accent);font-size:20px}
.meta{color:var(--muted);font-size:14px;margin-top:8px}
.badge{display:inline-block;background:var(--accent);color:#fff;font-size:12px;font-weight:800;padding:6px 10px;margin-bottom:10px}
.agent-card{text-align:center}
.agent-card img{height:280px;object-position:top}
.agent-card h3{margin:15px 0 5px}
.agent-card p{color:var(--muted)}
.footer{background:var(--primary);color:#fff;padding-top:48px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
.footer a{display:block;color:#fff;margin:8px 0;opacity:.9}
.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:32px;text-align:center;padding:18px;font-size:14px}
.admin-layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.sidebar{background:var(--primary);color:#fff;padding:25px}
.sidebar a{display:block;padding:12px 10px;border-radius:6px;margin:4px 0;color:#fff}
.sidebar a:hover{background:rgba(255,255,255,.12)}
.admin-main{padding:30px;background:#f6f7fb}
.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{padding:12px;border-bottom:1px solid #eee;text-align:left}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.notice{padding:12px 15px;background:#e9fff3;border:1px solid #b8f1cf;margin-bottom:18px}
@media(max-width:850px){
    .grid-4,.grid-3,.grid-2,.footer-grid{grid-template-columns:1fr}
    nav{display:none}
    .hero h1{font-size:38px}
    .admin-layout{grid-template-columns:1fr}
}

/* CRUD propiedades */
.secondary{background:#584b76}
.danger{background:#b72b2b}
.search-panel{background:#fff;padding:24px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.05);margin-bottom:24px}
.result-count{color:var(--muted);font-weight:700;margin:0 0 24px}
.property-placeholder{height:230px;background:#eee;display:flex;align-items:center;justify-content:center;color:#777}
.badge-dark{background:var(--primary)}
.image-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-top:18px}
.image-admin-card{border:1px solid var(--line);padding:10px;background:#fff}
.image-admin-card img{width:100%;height:110px;object-fit:cover;border-radius:6px}
.image-admin-card a{display:block;margin-top:6px;color:var(--accent);font-weight:700}
.property-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:28px}
.detail-price{font-size:32px;color:var(--accent);font-weight:900;white-space:nowrap}
.gallery-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:28px}
.gallery-main img{width:100%;height:210px;object-fit:cover;border-radius:10px}
.gallery-main img:first-child{grid-row:span 2;height:432px}
.gallery-empty{background:#eee;padding:60px;text-align:center;border-radius:12px;margin-bottom:28px;color:#777}
.detail-layout{display:grid;grid-template-columns:2fr 380px;gap:28px}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.features-grid div{background:var(--soft);padding:16px;border-radius:8px}
.features-grid strong{display:block;color:var(--primary);margin-bottom:6px}
.features-grid span{color:var(--muted)}
.agent-side{text-align:center}
.agent-side img{width:130px;height:130px;object-fit:cover;object-position:top;border-radius:50%;margin:auto}
@media(max-width:900px){
    .property-detail-head,.detail-layout{display:block}
    .detail-price{margin-top:15px}
    .gallery-main{grid-template-columns:1fr}
    .gallery-main img,.gallery-main img:first-child{height:260px;grid-row:auto}
    .features-grid{grid-template-columns:1fr}
}

/* Paso 3 settings/contacto/dashboard */
nav a.active{color:var(--accent)}
.menu-toggle{display:none;background:transparent;border:0;font-size:28px;color:var(--primary)}
.footer-cta{background:linear-gradient(135deg,var(--accent),#4d27d6);color:#fff;padding:36px 0}
.footer-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-cta h2{margin:0 0 6px;font-size:28px}
.footer-cta p{margin:0;opacity:.92}
.contact-info-card{background:var(--soft);padding:22px;border-left:4px solid var(--accent);margin:24px 0}
.about-box{background:#fff;border:1px solid var(--line);padding:34px;box-shadow:0 15px 35px rgba(0,0,0,.06)}
.agent-placeholder{height:280px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-size:72px;font-weight:900}
form label{display:block;font-weight:800;margin:14px 0 6px;color:var(--primary)}
@media(max-width:850px){
    .menu-toggle{display:block}
    .topbar-inner{flex-wrap:wrap;justify-content:flex-start}
    .nav nav{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;padding:14px 18px 18px;box-shadow:0 18px 35px rgba(0,0,0,.12)}
    body.nav-open .nav nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
    .site-nav > a,
    .nav-item{width:100%}
    .site-nav > a,
    .nav-item > .nav-link{min-height:48px}
    .nav-item{flex-wrap:wrap;padding-right:0;border-top:1px solid #edf1f5}
    .nav-item:first-of-type{border-top:0}
    .nav-mega-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:40px;height:40px}
    .mega-menu{
        position:static;
        min-width:0;
        width:100%;
        padding-top:0;
        opacity:1;
        visibility:visible;
        transform:none;
        pointer-events:auto;
        display:none;
    }
    .nav-item-has-mega.is-open .mega-menu{display:block}
    .mega-menu-grid{
        grid-template-columns:1fr;
        gap:14px;
        padding:0 0 12px;
        border:0;
        box-shadow:none;
    }
    .mega-menu-panel{
        padding:0 0 8px;
        border-right:0;
        border-bottom:1px solid #edf1f5;
    }
    .mega-menu-links{
        grid-template-columns:1fr;
    }
    .nav-whatsapp{display:none}
    .footer-cta-inner{display:block}
    .footer-cta .btn{margin-top:20px}
}

/* Paso 4 visual premium */
.home-hero{
    position:relative;
    min-height:640px;
    display:flex;
    align-items:center;
    color:#fff;
    background:
      linear-gradient(135deg,rgba(18,9,39,.92),rgba(19,174,234,.42)),
      radial-gradient(circle at 75% 30%,rgba(255,255,255,.18),transparent 28%),
      linear-gradient(135deg,#1b0d3d,#0e6392);
    overflow:hidden;
}
.home-hero:after{
    content:"";
    position:absolute;
    right:-120px;
    bottom:-140px;
    width:520px;
    height:520px;
    border-radius:50%;
    border:80px solid rgba(255,255,255,.08);
}
.home-hero-content{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.4fr .8fr;
    gap:45px;
    align-items:center;
}
.hero-kicker{
    color:#88e8ff;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.14em;
    margin-bottom:16px;
}
.home-hero h1{
    font-size:62px;
    line-height:1.02;
    margin:0 0 22px;
    max-width:780px;
}
.home-hero p{
    font-size:20px;
    line-height:1.65;
    max-width:680px;
    opacity:.95;
}
.hero-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:30px;
}
.btn-outline{
    background:transparent;
    border:1px solid rgba(255,255,255,.6);
}
.hero-stats{
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.2);
    padding:26px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}
.hero-stats div{
    background:rgba(255,255,255,.12);
    padding:22px;
}
.hero-stats strong{
    display:block;
    font-size:34px;
    color:#fff;
}
.hero-stats span{
    font-weight:700;
    opacity:.9;
}
.home-search{
    border-radius:14px;
    margin-top:-70px;
}
.section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:32px;
}
.section-head .title{
    margin-bottom:0;
}
.text-link{
    color:var(--accent);
    font-weight:900;
}
.property-image-link{
    display:block;
    position:relative;
    overflow:hidden;
}
.property-image-link img{
    transition:.35s ease;
}
.property-card:hover .property-image-link img{
    transform:scale(1.05);
}
.property-tags{
    position:absolute;
    left:14px;
    top:14px;
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.property-tags span{
    background:var(--accent);
    color:#fff;
    font-size:12px;
    font-weight:900;
    padding:7px 10px;
    border-radius:999px;
}
.property-tags span:nth-child(2){
    background:var(--primary);
}
.property-mini-meta{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:8px;
    margin:15px 0;
}
.property-mini-meta span{
    background:var(--soft);
    padding:8px 10px;
    font-size:13px;
    font-weight:700;
    color:var(--muted);
}
.premium-placeholder{
    background:linear-gradient(135deg,var(--primary),var(--accent));
    color:#fff;
    font-size:52px;
    font-weight:900;
}
.empty-box{
    background:var(--soft);
    border:1px solid var(--line);
    padding:32px;
}
.services-home{
    background:var(--soft);
}
.service-mini-card{
    background:#fff;
    border:1px solid var(--line);
    padding:28px;
    box-shadow:0 12px 30px rgba(0,0,0,.04);
}
.service-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--accent),#4d27d6);
    color:#fff;
    border-radius:16px;
    font-size:26px;
    margin-bottom:18px;
}
.investment-band{
    padding:50px 0;
}
.investment-inner{
    background:linear-gradient(135deg,var(--primary),#2c1764);
    color:#fff;
    padding:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}
.investment-inner h2{
    font-size:34px;
    margin:0 0 12px;
}
.investment-inner p{
    margin:0;
    opacity:.9;
}
.page-hero{
    background:linear-gradient(135deg,var(--primary),#163f6f);
    color:#fff;
    padding:95px 0;
    position:relative;
    overflow:hidden;
}
.page-hero .btn{
    margin-top:14px;
}
.page-hero-slider{
    padding:0;
}
.page-hero-slide{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    opacity:0;
    background-image:
      linear-gradient(90deg,rgba(16,20,38,.88),rgba(16,20,38,.46),rgba(16,20,38,.2)),
      var(--hero-bg-image);
    background-size:cover;
    background-position:center;
    animation:pageHeroSlideCycle 18s infinite;
    animation-delay:var(--hero-delay,0s);
}
.page-hero-slide:first-child{
    position:relative;
    opacity:1;
}
.page-hero-slide-shell{
    position:relative;
    z-index:2;
    width:100%;
    padding:95px 0;
}
.page-hero-slide-content{
    max-width:850px;
    opacity:0;
    transform:translateY(24px);
    animation:pageHeroContentCycle 18s infinite;
    animation-delay:var(--hero-delay,0s);
}
.page-hero-slide-content .btn{
    margin-right:10px;
}
@keyframes pageHeroSlideCycle{
    0%,28%{opacity:1;transform:scale(1);}
    34%,100%{opacity:0;transform:scale(1.04);}
}
@keyframes pageHeroContentCycle{
    0%,4%{opacity:0;transform:translateY(26px);}
    7%,25%{opacity:1;transform:translateY(0);}
    31%,100%{opacity:0;transform:translateY(-8px);}
}
.page-hero h1{
    font-size:52px;
    max-width:850px;
    line-height:1.08;
    margin:0 0 18px;
}
.page-hero p{
    font-size:19px;
    max-width:740px;
    line-height:1.65;
    opacity:.95;
}
.service-card-large{
    background:#fff;
    border:1px solid var(--line);
    padding:30px;
    box-shadow:0 12px 32px rgba(0,0,0,.045);
    min-height:100%;
}
.service-card-media{
    position:relative;
    margin:-30px -30px 20px;
    overflow:hidden;
    border-bottom:1px solid var(--line);
    background:#eef3f8;
}
.service-card-media img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
}
.service-mini-icon{
    position:absolute;
    left:18px;
    bottom:18px;
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px;
    border-radius:50%;
    background:#fff;
    border:1px solid #d7e3ef;
    box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.service-card-large h2{
    color:var(--primary);
    font-size:24px;
    margin:0 0 10px;
}
.check-list{
    list-style:none;
    padding:0;
    margin:18px 0 0;
}
.check-list li{
    position:relative;
    padding-left:28px;
    margin:11px 0;
    color:var(--muted);
    line-height:1.45;
}
.check-list li:before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;
    color:var(--accent);
    font-weight:900;
}
.check-list.two-cols{
    columns:2;
    column-gap:32px;
}
.service-process{
    background:var(--soft);
}
.process-step{
    background:#fff;
    border:1px solid var(--line);
    padding:26px;
}
.process-step span{
    display:block;
    color:var(--accent);
    font-size:32px;
    font-weight:900;
    margin-bottom:12px;
}
@media(max-width:900px){
    .home-hero-content{
        grid-template-columns:1fr;
    }
    .home-hero h1{
        font-size:42px;
    }
    .hero-stats{
        grid-template-columns:repeat(2,1fr);
    }
    .section-head,
    .investment-inner{
        display:block;
    }
    .investment-inner .btn{
        margin-top:20px;
    }
    .page-hero h1{
        font-size:38px;
    }
    .page-hero-slide-shell{
        padding:88px 0;
    }
    .service-card-media{
        margin:-30px -30px 18px;
    }
    .service-card-media img{
        height:210px;
    }
    .check-list.two-cols{
        columns:1;
    }
}

/* Paso 5 agentes y admin */
.admin-top-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:18px;
}
.admin-filter{
    margin-bottom:22px;
}
.admin-thumb{
    width:90px;
    height:68px;
    object-fit:cover;
    border-radius:8px;
}
.admin-thumb-empty{
    width:90px;
    height:68px;
    background:#eee;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#888;
    font-size:12px;
}
.admin-properties-table td{
    vertical-align:top;
}
.agent-public-card h3 a{
    color:var(--primary);
}
.agent-actions{
    display:flex;
    gap:8px;
    justify-content:center;
    flex-wrap:wrap;
}
.agent-detail-grid{
    display:grid;
    grid-template-columns:360px 1fr;
    gap:34px;
    align-items:start;
}
.agent-profile-card{
    background:#fff;
    border:1px solid var(--line);
    padding:28px;
    box-shadow:0 15px 35px rgba(0,0,0,.06);
    text-align:center;
    position:sticky;
    top:110px;
}
.agent-profile-card img{
    width:190px;
    height:190px;
    object-fit:cover;
    object-position:top;
    border-radius:50%;
    margin-bottom:20px;
}
.agent-profile-card h1{
    font-size:28px;
    color:var(--primary);
    margin:0 0 8px;
}
.agent-profile-card .agent-placeholder{
    width:190px;
    height:190px;
    border-radius:50%;
    margin:0 auto 20px;
}
@media(max-width:900px){
    .agent-detail-grid{
        grid-template-columns:1fr;
    }
    .agent-profile-card{
        position:static;
    }
    .table{
        display:block;
        overflow-x:auto;
        white-space:nowrap;
    }
}

/* Paso 6 SEO, slugs, orden fotos */
.badge-light{
    background:#eef7fb;
    color:var(--primary);
}
.seo-box{
    border:1px solid var(--line);
    background:var(--soft);
    padding:20px;
    margin-top:15px;
}
.gallery-main a{
    display:block;
}
.gallery-main a img{
    display:block;
}
.image-admin-card{
    position:relative;
}
.image-admin-card strong{
    color:var(--accent);
}

/* Ajuste fino de cards y footer */
.property-card{
    display:flex;
    flex-direction:column;
    height:100%;
    overflow:hidden;
    border-radius:12px;
    border:1px solid #dbe2ec;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
    transition:transform .22s ease, box-shadow .22s ease;
}
.property-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 28px rgba(15,23,42,.1);
}
.property-image-link{
    display:block;
    aspect-ratio:16/11;
    min-height:210px;
    background:#eef2f7;
}
.property-image-link img,
.property-image-link .property-placeholder{
    width:100%;
    height:100%;
    display:block;
}
.property-image-link img{
    object-fit:cover;
    object-position:center;
    transition:transform .5s ease;
}
.property-card:hover .property-image-link img{
    transform:scale(1.02);
}
.property-placeholder{
    min-height:210px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.premium-placeholder{
    background:#e7edf5;
    color:var(--primary);
    letter-spacing:.14em;
    font-size:34px;
}
.property-tags{
    position:absolute;
    top:12px;
    left:12px;
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}
.property-tag{
    min-height:26px;
    padding:5px 10px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.property-tag-status{
    background:#fff;
    border:1px solid #d7dde8;
    color:var(--primary);
}
.property-tag-featured{
    background:var(--primary);
    color:#fff;
}
.property-price-badge{
    position:absolute;
    left:12px;
    bottom:12px;
    padding:8px 12px;
    border-radius:8px;
    background:#fff;
    border:1px solid #d7dde8;
    color:#fff;
    color:var(--primary);
    font-size:18px;
    font-weight:900;
    line-height:1;
    box-shadow:0 8px 20px rgba(15,23,42,.08);
}
.property-card-body{
    display:flex;
    flex:1;
    flex-direction:column;
    gap:8px;
    padding:14px 14px 12px;
    background:#fff;
}
.property-card-location{
    margin:0;
    color:var(--muted);
    font-size:12px;
    font-weight:700;
    letter-spacing:.02em;
}
.property-card-title{
    margin:0;
    color:var(--primary);
    font-size:18px;
    line-height:1.3;
}
.property-card-title a{
    color:var(--primary);
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}
.property-card-desc{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:3em;
}
.property-mini-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin:2px 0 0;
    padding:6px 0 4px;
    border-top:1px solid #edf1f5;
    border-bottom:1px solid #edf1f5;
    min-height:34px;
}
.property-meta-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:22px;
    padding:2px 0;
    color:var(--primary);
    font-size:12px;
    font-weight:800;
    line-height:1.35;
    white-space:nowrap;
}
.property-meta-chip:before{
    content:"";
    width:14px;
    height:14px;
    display:inline-block;
    background:var(--accent);
    flex:0 0 14px;
    mask-repeat:no-repeat;
    mask-position:center;
    mask-size:contain;
    -webkit-mask-repeat:no-repeat;
    -webkit-mask-position:center;
    -webkit-mask-size:contain;
}
.property-meta-chip-beds:before{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 18h2v-2h14v2h2V9a3 3 0 0 0-3-3h-3a3 3 0 0 0-3 3v1H5V8a2 2 0 0 0-2 2v8zm12-8V9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5H5v-2h10z'/%3E%3C/svg%3E");
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 18h2v-2h14v2h2V9a3 3 0 0 0-3-3h-3a3 3 0 0 0-3 3v1H5V8a2 2 0 0 0-2 2v8zm12-8V9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5H5v-2h10z'/%3E%3C/svg%3E");
}
.property-meta-chip-baths:before{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 21a5 5 0 0 1-5-5v-1h20v1a5 5 0 0 1-5 5H7zm11-8V6a2 2 0 0 0-4 0v1h-2V6a4 4 0 1 1 8 0v7h2v2H2v-2h16z'/%3E%3C/svg%3E");
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 21a5 5 0 0 1-5-5v-1h20v1a5 5 0 0 1-5 5H7zm11-8V6a2 2 0 0 0-4 0v1h-2V6a4 4 0 1 1 8 0v7h2v2H2v-2h16z'/%3E%3C/svg%3E");
}
.property-meta-chip-parking:before{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 4h7a5 5 0 0 1 0 10H9v6H6V4zm3 3v4h4a2 2 0 0 0 0-4H9z'/%3E%3C/svg%3E");
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 4h7a5 5 0 0 1 0 10H9v6H6V4zm3 3v4h4a2 2 0 0 0 0-4H9z'/%3E%3C/svg%3E");
}
.property-meta-chip-area:before{
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h6v2H6v4H4V4zm10 0h6v6h-2V6h-4V4zM4 14h2v4h4v2H4v-6zm14 0h2v6h-6v-2h4v-4z'/%3E%3C/svg%3E");
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h6v2H6v4H4V4zm10 0h6v6h-2V6h-4V4zM4 14h2v4h4v2H4v-6zm14 0h2v6h-6v-2h4v-4z'/%3E%3C/svg%3E");
}
.property-card-agent{
    margin:0;
    color:var(--muted);
    font-size:12px;
    line-height:1.5;
}
.property-card-agent span{
    color:var(--primary);
    font-weight:800;
}
.property-card-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-top:auto;
    padding-top:4px;
}
.property-card-actions.property-card-actions-single{
    grid-template-columns:1fr;
}
.property-card-actions .btn,
.property-card-actions button{
    min-height:36px;
    padding:8px 10px;
    border-radius:8px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.03em;
    box-shadow:none;
}
.property-card-actions .btn:first-child{
    background:var(--primary);
}
.property-card-actions .secondary{
    background:#f3f5f8;
    border:1px solid #d7dde8;
    color:var(--primary);
}
.property-card .price{
    display:none;
}
@media(max-width:900px){
    .property-card-title{
        font-size:17px;
    }
    .property-image-link{
        min-height:200px;
    }
}
@media(max-width:640px){
    .property-card{
        border-radius:10px;
    }
    .property-card-body{
        padding:13px 12px 12px;
    }
    .property-price-badge{
        font-size:16px;
    }
    .property-card-actions{
        grid-template-columns:1fr;
    }
    .property-card-desc{
        min-height:auto;
    }
    .property-mini-meta{
        gap:5px 10px;
    }
    .property-meta-chip{
        font-size:11px;
    }
}
.footer-cta{
    background:#f3f5f8;
    color:var(--primary);
    padding:28px 0;
    border-top:1px solid #e1e6ef;
    border-bottom:1px solid #e1e6ef;
}
.footer-cta h2{
    font-size:24px;
}
.footer-cta p{
    color:var(--muted);
}
.footer{
    background:#111a2c;
    color:#f4f7fb;
    padding-top:38px;
}
.footer-grid-corporate{
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:28px;
    align-items:start;
}
.footer-brand p,
.footer-column p,
.footer-column a{
    color:rgba(244,247,251,.82);
    line-height:1.65;
}
.footer-brand-title{
    display:block;
    margin-bottom:10px;
    color:#fff;
    font-size:18px;
    font-weight:900;
}
.footer-logo{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    margin-bottom:12px;
    color:#fff;
}
.footer-logo img{
    height:46px;
    width:auto;
    display:block;
}
.footer-column h4{
    margin:0 0 12px;
    color:#fff;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.footer-column a{
    display:block;
    margin:7px 0;
}
.footer-whatsapp{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 14px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:8px;
    color:#fff;
    font-weight:800;
    margin-top:8px;
    background:#16233a;
}
.copyright{
    border-top:1px solid rgba(255,255,255,.1);
    margin-top:26px;
    color:rgba(244,247,251,.72);
}
.copyright a{
    display:inline;
    margin:0;
    color:#8bdcff;
    opacity:1;
}
@media(max-width:980px){
    .footer-grid-corporate{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:640px){
    .footer-grid-corporate{
        grid-template-columns:1fr;
    }
}
.image-admin-card a{
    font-size:13px;
}

/* Paso 7 agentes completos */
.agent-public-hero{
    background:linear-gradient(135deg,var(--primary),#113f72);
    color:#fff;
    padding:90px 0;
}
.agent-public-hero-grid{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:45px;
    align-items:center;
}
.agent-public-photo img,
.agent-public-photo .agent-placeholder{
    width:320px;
    height:320px;
    object-fit:cover;
    object-position:top;
    border-radius:28px;
    box-shadow:0 25px 60px rgba(0,0,0,.25);
}
.agent-public-hero h1{
    font-size:54px;
    line-height:1.05;
    margin:0 0 12px;
}
.agent-role{
    font-size:22px;
    color:#8be8ff;
    font-weight:800;
}
.agent-contact-list{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin:24px 0;
}
.agent-contact-list span{
    background:rgba(255,255,255,.12);
    padding:10px 14px;
    border-radius:999px;
}
.agent-socials{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:20px;
}
.agent-socials a{
    background:rgba(255,255,255,.12);
    color:#fff;
    padding:8px 12px;
    border-radius:999px;
    font-weight:800;
}
@media(max-width:900px){
    .agent-public-hero-grid{
        grid-template-columns:1fr;
    }
    .agent-public-photo img,
    .agent-public-photo .agent-placeholder{
        width:100%;
        max-width:340px;
        height:340px;
    }
    .agent-public-hero h1{
        font-size:40px;
    }
}

/* Paso 8 catálogos */
.catalog-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
    margin-top:22px;
}
.catalog-save{
    grid-column:1/-1;
}
.suggested-features{
    margin-top:14px;
    padding:14px;
    border:1px solid var(--line);
    background:var(--soft);
}
.suggested-features button{
    border:0;
    background:#fff;
    color:var(--primary);
    font-weight:800;
    padding:8px 10px;
    margin:4px;
    cursor:pointer;
    border-radius:999px;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.suggested-features button:hover{
    background:var(--accent);
    color:#fff;
}
@media(max-width:900px){
    .catalog-grid{
        grid-template-columns:1fr;
    }
}

/* Paso 9 páginas editables */
.admin-tabs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:0 0 22px;
}
.admin-tabs a{
    display:inline-flex;
    padding:10px 14px;
    background:#fff;
    border:1px solid var(--line);
    color:var(--primary);
    font-weight:900;
    border-radius:999px;
}
.admin-tabs a.active{
    background:var(--accent);
    color:#fff;
    border-color:var(--accent);
}
.page-edit-form{
    margin-top:22px;
}
.wide-field{
    grid-column:1/-1;
}

/* Paso 10 usuarios */
.danger-notice{
    background:#fff1f1;
    border-color:#ffb8b8;
    color:#8d1d1d;
}
.sidebar small{
    display:block;
    opacity:.75;
    margin-top:-8px;
    margin-bottom:16px;
}

/* Paso 11 respaldos */
.backup-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}
.backup-actions .btn{
    margin-bottom:6px;
}

/* Paso 12 importador */
.import-preview{
    overflow:auto;
}
.import-preview table{
    min-width:1200px;
}

/* Paso 13 imágenes masivas */
.selected-property-box{
    margin-top:25px;
    border-left:5px solid var(--accent);
}
.selected-property-box h3{
    margin-top:30px;
}

/* Paso 14 similares y ficha premium */
.property-top-band{
    background:linear-gradient(135deg,var(--primary),#143b68);
    color:#fff;
    padding:62px 0;
}
.property-top-band h1{
    font-size:48px;
    line-height:1.08;
    margin:16px 0 10px;
}
.property-top-band p{
    margin:0;
    opacity:.9;
    font-size:18px;
}
.property-price-box{
    text-align:right;
}
.quick-summary{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:12px;
    margin:0 0 28px;
}
.quick-summary div{
    background:#fff;
    border:1px solid var(--line);
    padding:18px;
    text-align:center;
    box-shadow:0 10px 28px rgba(0,0,0,.04);
}
.quick-summary strong{
    display:block;
    color:var(--primary);
    font-size:19px;
    margin-bottom:5px;
}
.quick-summary span{
    color:var(--muted);
    font-size:13px;
    font-weight:800;
}
.sticky-side{
    position:sticky;
    top:105px;
}
.side-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:center;
}
.similar-section{
    background:var(--soft);
}
.property-card-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
@media(max-width:900px){
    .property-top-band h1{
        font-size:36px;
    }
    .property-price-box{
        text-align:left;
        margin-top:20px;
    }
    .quick-summary{
        grid-template-columns:repeat(2,1fr);
    }
    .sticky-side{
        position:static;
    }
}

/* Paso 15 CRM */
.lead-status{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    background:var(--soft);
    color:var(--primary);
    font-weight:900;
    font-size:12px;
}
.timeline{
    display:grid;
    gap:14px;
}
.timeline-item{
    border-left:4px solid var(--accent);
    background:var(--soft);
    padding:14px 16px;
}
.timeline-item p{
    margin-bottom:0;
}

/* Paso 16 tareas */
.task-overdue-row{
    background:#fff3f3;
}
.priority-badge{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    font-weight:900;
    font-size:12px;
    background:var(--soft);
    color:var(--primary);
}
.priority-urgente{
    background:#ffe4e4;
    color:#9b1b1b;
}
.priority-alta{
    background:#fff1ce;
    color:#8a5a00;
}
.priority-media{
    background:#e8f6ff;
    color:#00689b;
}
.priority-baja{
    background:#e9fff1;
    color:#147a3d;
}

/* Paso 17 reportes */
.report-mini-bars{
    display:grid;
    gap:10px;
}
.report-mini-row{
    display:grid;
    grid-template-columns:160px 1fr 60px;
    gap:10px;
    align-items:center;
}
.report-bar{
    height:10px;
    background:var(--soft);
    border-radius:999px;
    overflow:hidden;
}
.report-bar span{
    display:block;
    height:100%;
    background:var(--accent);
}

/* Paso 18 seguridad/auditoría */
.audit-action{
    display:inline-flex;
    background:var(--soft);
    color:var(--primary);
    font-weight:900;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
}
.security-ok{
    color:#147a3d;
    font-weight:900;
}
.security-bad{
    color:#9b1b1b;
    font-weight:900;
}

/* Paso 19 SEO */
.seo-preview-box{
    border:1px solid var(--line);
    background:#fff;
    padding:18px;
    margin-top:18px;
}
.seo-preview-title{
    color:#1a0dab;
    font-size:18px;
    margin-bottom:5px;
}
.seo-preview-url{
    color:#006621;
    font-size:14px;
    margin-bottom:5px;
}
.seo-preview-desc{
    color:#545454;
    font-size:14px;
}

/* Paso 20 optimización imágenes */
.gallery-main a{
    background:#eee;
    border-radius:10px;
    overflow:hidden;
}
.gallery-main img{
    transition:.25s ease;
}
.gallery-main a:hover img{
    transform:scale(1.02);
}

/* Paso 20 optimización imágenes */
.gallery-main a{
    background:#eee;
    border-radius:10px;
    overflow:hidden;
}
.gallery-main img{
    transition:.25s ease;
}
.gallery-main a:hover img{
    transform:scale(1.02);
}

/* Paso 21 estadísticas */
.stats-pill{
    display:inline-flex;
    background:var(--soft);
    color:var(--primary);
    padding:6px 10px;
    border-radius:999px;
    font-weight:900;
}

/* Paso 22 favoritos y comparador */
.favorite-toolbar{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:24px;
}
.btn.is-active{
    background:var(--primary);
    color:#fff;
}
.compare-wrap{
    overflow:auto;
    background:#fff;
    border:1px solid var(--line);
}
.compare-table{
    width:100%;
    border-collapse:collapse;
    min-width:900px;
}
.compare-table th,
.compare-table td{
    border:1px solid var(--line);
    padding:14px;
    vertical-align:top;
    background:#fff;
}
.compare-table th:first-child,
.compare-table td:first-child{
    position:sticky;
    left:0;
    background:var(--soft);
    z-index:2;
    min-width:160px;
}
.compare-table th{
    min-width:240px;
}
.compare-table img{
    width:100%;
    height:150px;
    object-fit:cover;
    border-radius:10px;
    margin-bottom:10px;
}
.compare-table h3{
    font-size:18px;
    margin:0 0 10px;
    color:var(--primary);
}
.compare-placeholder{
    height:150px;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    font-weight:900;
    border-radius:10px;
    margin-bottom:10px;
}
@media(max-width:700px){
    .favorite-toolbar{
        display:block;
    }
    .favorite-toolbar .btn{
        margin-bottom:8px;
    }
}

/* Paso 23 alertas */
.alert-public-cta{
    background:var(--soft);
}

/* Paso 24 landings SEO */
.landing-nav-box{
    background:#fff;
    border:1px solid var(--line);
    padding:22px;
    margin:0 0 26px;
    box-shadow:0 10px 28px rgba(0,0,0,.04);
}
.landing-nav-box h2{
    font-size:20px;
    margin:0 0 12px;
    color:var(--primary);
}
.landing-nav-box h2:not(:first-child){
    margin-top:22px;
}
.landing-links{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.landing-links a{
    background:var(--soft);
    color:var(--primary);
    font-weight:900;
    padding:8px 12px;
    border-radius:999px;
    font-size:13px;
}
.landing-links a:hover{
    background:var(--accent);
    color:#fff;
}
.property-list-hero{
    padding:75px 0;
}
.property-list-hero .page-hero-slide-shell{
    padding:75px 0;
}

/* Home viejo migrado */
.old-home-hero{
    position:relative;
    min-height:720px;
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#fff;
    background:#111;
}
.old-home-slide{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:0;
    animation:oldHeroFade 18s infinite;
}
.old-home-slide-1{background-image:url('/assets/img/home-viejo/image-1-2c7ba371.jpg');}
.old-home-slide-2{background-image:url('/assets/img/home-viejo/image-3-71645f88.jpg');animation-delay:6s;}
.old-home-slide-3{background-image:url('/assets/img/home-viejo/image-2-1a4648d8.jpg');animation-delay:12s;}
.old-home-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(16,20,38,.88),rgba(16,20,38,.45),rgba(16,20,38,.18));
}
.old-home-hero-content{
    position:relative;
    z-index:2;
    max-width:850px;
    min-height:360px;
}
.old-home-hero-panel{
    position:absolute;
    inset:0 auto auto 0;
    width:min(850px,100%);
    opacity:0;
    animation:oldHeroContentCycle 18s infinite;
}
.old-home-hero-panel:first-child{
    position:relative;
    opacity:1;
}
.old-home-hero-panel-2{animation-delay:6s;}
.old-home-hero-panel-3{animation-delay:12s;}
.old-home-hero-panel .hero-actions{
    margin-top:28px;
}
.old-home-hero h1{
    font-size:76px;
    line-height:.98;
    margin:16px 0;
    color:#fff;
}
.old-home-hero p{
    font-size:21px;
    line-height:1.65;
    max-width:720px;
}
.old-home-opportunity{
    margin-top:28px;
    display:inline-grid;
    gap:4px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.22);
    backdrop-filter:blur(8px);
    padding:18px 24px;
}
.old-home-opportunity span{
    font-weight:800;
    color:#fff;
}
.old-home-opportunity strong{
    font-size:24px;
    color:#fff;
    line-height:1.35;
    max-width:520px;
}
.old-home-opportunity a{
    color:#fff;
    font-weight:900;
    text-decoration:underline;
}
@keyframes oldHeroFade{
    0%,28%{opacity:1;transform:scale(1);}
    34%,100%{opacity:0;transform:scale(1.05);}
}
@keyframes oldHeroContentCycle{
    0%,4%{opacity:0;transform:translateY(28px);}
    7%,25%{opacity:1;transform:translateY(0);}
    31%,100%{opacity:0;transform:translateY(-10px);}
}
.old-search-section{
    margin-top:-70px;
    position:relative;
    z-index:4;
}
.old-property-intro{
    background:#fff;
}
.old-category-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.old-category-grid a{
    min-height:230px;
    color:#fff;
    padding:28px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background-size:cover;
    background-position:center;
    position:relative;
    overflow:hidden;
}
.old-category-grid a:nth-child(1){background-image:url('/assets/img/home-viejo/house-1-1-752fa386.jpg');}
.old-category-grid a:nth-child(2){background-image:url('/assets/img/home-viejo/house-2-1-c3fcb342.jpg');}
.old-category-grid a:nth-child(3){background-image:url('/assets/img/home-viejo/house-3-1-8019ecf2.jpg');}
.old-category-grid a:before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72));
}
.old-category-grid span,
.old-category-grid strong{
    position:relative;
    z-index:2;
}
.old-category-grid span{
    font-weight:900;
    color:var(--accent);
}
.old-category-grid strong{
    font-size:24px;
    line-height:1.1;
}
.old-living-card{
    min-height:390px;
    background:linear-gradient(90deg,rgba(16,20,38,.88),rgba(16,20,38,.38)),url('/assets/img/home-viejo/2-2-e628b134.jpg');
    background-size:cover;
    background-position:center;
    color:#fff;
    padding:58px;
    display:flex;
    align-items:center;
}
.old-living-card h2{
    color:#fff;
    font-size:42px;
    max-width:740px;
}
.old-living-card p{
    max-width:720px;
    font-size:18px;
}
.old-testimonials-section{
    background:var(--soft);
}
.old-contact-strip{
    background:#fff;
}
/* Home tools and quick access */
.wrap-wide{
    width:min(1280px,94%);
    margin:auto;
}
.section-light{
    background:#fff;
}
.section-soft{
    background:#f6f8fc;
}
.section-alt{
    background:#eef4fb;
}
.section-dark{
    background:#111a2c;
    color:#fff;
}
.section-photo,
.section-overlay{
    position:relative;
    isolation:isolate;
    overflow:hidden;
}
.section-photo:before{
    content:"";
    position:absolute;
    inset:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    opacity:.18;
    z-index:-2;
}
.section-overlay:after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(255,255,255,.84);
    z-index:-1;
}
.decor-card{
    border:1px solid #dbe2ec;
    background:rgba(255,255,255,.9);
}
.home-band{
    position:relative;
}
.home-band:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    background:#dbe3ee;
}
.home-cta-banner{
    position:relative;
}
.home-cta-banner:before{
    content:"";
    position:absolute;
    right:20px;
    top:20px;
    width:96px;
    height:96px;
    border:1px solid rgba(19,174,234,.18);
    background:rgba(255,255,255,.06);
}
.section-head-compact{
    align-items:flex-start;
}
.section-intro{
    margin:0;
    max-width:440px;
    color:var(--muted);
    font-size:15px;
    line-height:1.65;
}
.home-tools-section{
    padding-top:32px;
    padding-bottom:42px;
    background:#fff;
}
.home-tools-section:before{
    background-image:url('/assets/img/home-viejo/house-2-1-c3fcb342.jpg');
    opacity:.16;
}
.home-tools-section:after{
    background:rgba(255,255,255,.9);
}
.home-tools-layout{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);
    gap:28px;
    align-items:start;
}
.home-tools-content{
    min-width:0;
}
.home-tools-content .section-head{
    padding:0 0 18px;
    border-bottom:1px solid #dbe3ee;
}
.home-tools-grid{
    gap:18px;
    margin-top:22px;
}
.home-tool-card{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-height:100%;
    padding:22px 20px;
    border:1px solid #dbe3ee;
    background:rgba(255,255,255,.95);
    transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.home-tool-card:hover{
    border-color:#c8dceb;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.home-tools-visual{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.home-photo-card{
    position:relative;
    overflow:hidden;
    min-height:100%;
    border:1px solid #d9e0eb;
    background:#eef3f8;
}
.home-photo-card img{
    display:block;
    width:100%;
    height:320px;
    object-fit:cover;
}
.home-photo-card-copy{
    position:absolute;
    left:18px;
    right:18px;
    bottom:18px;
    padding:16px;
    background:rgba(17,26,44,.9);
    color:#fff;
}
.home-photo-card-copy strong{
    display:block;
    font-size:20px;
    line-height:1.35;
}
.home-photo-chip{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    margin-bottom:10px;
    padding:6px 10px;
    background:#fff;
    color:var(--primary);
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.home-mini-badges{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.home-mini-badge{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:50px;
    padding:12px 14px;
    border:1px solid #dbe2ec;
    background:rgba(255,255,255,.94);
    color:var(--primary);
    font-size:13px;
    font-weight:800;
    line-height:1.45;
}
.home-tool-card h3{
    margin:0;
    color:var(--primary);
    font-size:18px;
    line-height:1.35;
}
.home-tool-card p{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.65;
}
.home-quick-search-section{
    padding-top:34px;
    padding-bottom:40px;
    background:#f6f8fb;
    border-top:1px solid #e3e8f0;
    border-bottom:1px solid #e3e8f0;
}
.home-quick-search-section .wrap-wide{
    position:relative;
}
.home-quick-search-section .wrap-wide:before{
    content:"";
    position:absolute;
    right:0;
    top:-8px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(19,174,234,.06);
    filter:none;
}
.home-quick-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,360px);
    gap:24px;
    align-items:end;
    margin-bottom:22px;
}
.home-quick-summary{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.home-inline-note{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:52px;
    padding:12px 14px;
    border:1px solid #dbe2ec;
    background:rgba(255,255,255,.92);
    color:var(--primary);
    font-size:13px;
    font-weight:800;
}
.home-quick-summary-photo{
    overflow:hidden;
    border:1px solid #dbe2ec;
    background:#eef3f8;
}
.home-quick-summary-photo img{
    display:block;
    width:100%;
    height:130px;
    object-fit:cover;
}
.home-quick-grid{
    gap:16px;
}
.home-quick-card{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-height:100%;
    padding:18px;
    border:1px solid #d7dfea;
    background:rgba(255,255,255,.94);
    transition:border-color .18s ease, transform .18s ease;
}
.home-quick-card:hover{
    border-color:#bfd6e7;
    transform:translateY(-2px);
}
.home-quick-card strong{
    color:var(--primary);
    font-size:16px;
    line-height:1.35;
}
.home-quick-card span:last-child{
    color:var(--muted);
    font-size:13px;
    line-height:1.55;
}
.home-video-section{
    padding-top:36px;
    padding-bottom:42px;
    background:#fff;
}
.home-video-section:before{
    background-image:url('/assets/img/home-viejo/image-1-2c7ba371.jpg');
    opacity:.14;
}
.home-video-section:after{
    background:rgba(238,244,251,.86);
}
.home-video-layout{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);
    gap:30px;
    align-items:center;
}
.home-video-copy{
    min-width:0;
    padding:24px;
    border:1px solid #d9e0eb;
    background:rgba(255,255,255,.92);
}
.home-video-points{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:22px 0;
}
.home-video-point{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:52px;
    padding:12px 14px;
    border:1px solid #dbe2ec;
    background:rgba(255,255,255,.95);
    color:var(--primary);
    font-size:14px;
    font-weight:800;
}
.home-video-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.home-video-card{
    position:relative;
}
.home-video-poster{
    position:relative;
    display:block;
    overflow:hidden;
    border:1px solid #dbe2ec;
    background:#eef3f8;
}
.home-video-poster img{
    display:block;
    width:100%;
    height:420px;
    object-fit:cover;
}
.home-video-poster:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(17,26,44,.08),rgba(17,26,44,.78));
}
.home-video-play{
    position:absolute;
    left:26px;
    top:26px;
    z-index:2;
    width:74px;
    height:74px;
    border-radius:50%;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 24px rgba(15,23,42,.12);
}
.home-video-play:before{
    content:"";
    position:absolute;
    left:29px;
    top:22px;
    width:20px;
    height:28px;
    background:var(--accent);
    clip-path:polygon(0 0,100% 50%,0 100%);
}
.home-video-caption{
    position:absolute;
    left:26px;
    right:26px;
    bottom:24px;
    z-index:2;
    display:block;
    color:#fff;
}
.home-video-caption strong{
    display:block;
    margin-bottom:6px;
    font-size:24px;
    line-height:1.2;
}
.home-video-caption small{
    display:block;
    max-width:520px;
    color:rgba(255,255,255,.82);
    font-size:14px;
    line-height:1.6;
}
.home-owner-cta-section{
    padding-top:34px;
    padding-bottom:40px;
    background:#eef4fb;
}
.home-owner-cta-section .wrap-wide{
    position:relative;
}
.home-owner-cta-section .wrap-wide:before{
    content:"";
    position:absolute;
    left:0;
    top:18px;
    width:160px;
    height:160px;
    background:rgba(19,174,234,.06);
    border-radius:24px;
}
.home-owner-cta{
    display:flex;
    align-items:stretch;
    justify-content:space-between;
    gap:28px;
    padding:28px 30px;
    border:1px solid #dbe2ec;
    background:#111a2c;
    color:#fff;
    position:relative;
    overflow:hidden;
}
.home-owner-cta:before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('/assets/img/home-viejo/2-2-e628b134.jpg');
    background-size:cover;
    background-position:center;
    opacity:.18;
}
.home-owner-cta:after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(17,26,44,.88);
}
.home-owner-copy{
    max-width:700px;
    position:relative;
    z-index:1;
}
.home-owner-cta h2{
    margin:0 0 10px;
    font-size:32px;
    line-height:1.15;
}
.home-owner-cta p{
    margin:0;
    color:rgba(244,247,251,.82);
    font-size:15px;
    line-height:1.7;
}
.home-owner-insights{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}
.home-owner-insights .home-mini-badge{
    border-color:rgba(255,255,255,.12);
    background:#16233a;
    color:#fff;
}
.home-owner-side{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:16px;
    width:min(420px,100%);
    position:relative;
    z-index:1;
}
.home-owner-photo{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.1);
    background:#24344f;
}
.home-owner-photo img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
}
.home-owner-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
.home-owner-actions .btn{
    min-width:180px;
    border-radius:6px;
}
.home-owner-actions .secondary{
    background:#eef3f8;
    border:1px solid #d3dbe7;
    color:var(--primary);
}
.home-owner-whatsapp{
    background:#1a7f5a;
}
.home-icon{
    width:18px;
    height:18px;
    display:inline-block;
    background:var(--accent);
    flex:0 0 18px;
    mask-repeat:no-repeat;
    mask-position:center;
    mask-size:contain;
    -webkit-mask-repeat:no-repeat;
    -webkit-mask-position:center;
    -webkit-mask-size:contain;
}
.home-tool-card .home-icon,
.home-quick-card .home-icon,
.home-video-point .home-icon,
.home-mini-badge .home-icon,
.home-inline-note .home-icon{
    width:20px;
    height:20px;
    flex-basis:20px;
}
.home-icon-compare{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 3H5a2 2 0 0 0-2 2v14h2V5h5V3zm11 2v14a2 2 0 0 1-2 2h-5v-2h5V5h-5V3h5a2 2 0 0 1 2 2zM9 8h6v2H9V8zm0 4h6v2H9v-2zm0 4h6v2H9v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 3H5a2 2 0 0 0-2 2v14h2V5h5V3zm11 2v14a2 2 0 0 1-2 2h-5v-2h5V5h-5V3h5a2 2 0 0 1 2 2zM9 8h6v2H9V8zm0 4h6v2H9v-2zm0 4h6v2H9v-2z'/%3E%3C/svg%3E")}
.home-icon-heart{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-7-4.35-9.5-9A5.67 5.67 0 0 1 12 5.5 5.67 5.67 0 0 1 21.5 12c-2.5 4.65-9.5 9-9.5 9z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-7-4.35-9.5-9A5.67 5.67 0 0 1 12 5.5 5.67 5.67 0 0 1 21.5 12c-2.5 4.65-9.5 9-9.5 9z'/%3E%3C/svg%3E")}
.home-icon-bell{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a2.5 2.5 0 0 0 2.45-2h-4.9A2.5 2.5 0 0 0 12 22zm7-6V11a7 7 0 1 0-14 0v5l-2 2v1h18v-1l-2-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a2.5 2.5 0 0 0 2.45-2h-4.9A2.5 2.5 0 0 0 12 22zm7-6V11a7 7 0 1 0-14 0v5l-2 2v1h18v-1l-2-2z'/%3E%3C/svg%3E")}
.home-icon-calendar{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3V2zm13 8H4v10h16V10z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3V2zm13 8H4v10h16V10z'/%3E%3C/svg%3E")}
.home-icon-house{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l9 8h-3v10h-5v-6H11v6H6V11H3l9-8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l9 8h-3v10h-5v-6H11v6H6V11H3l9-8z'/%3E%3C/svg%3E")}
.home-icon-key{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 3a7 7 0 1 0 6.93 8h-2.07A5 5 0 1 1 14 5a4.98 4.98 0 0 1 4.58 3H16v2h7V3h-2v3.08A6.98 6.98 0 0 0 14 3zM3 20h8v-2H9v-2H7v-2H5v-2H3v8z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 3a7 7 0 1 0 6.93 8h-2.07A5 5 0 1 1 14 5a4.98 4.98 0 0 1 4.58 3H16v2h7V3h-2v3.08A6.98 6.98 0 0 0 14 3zM3 20h8v-2H9v-2H7v-2H5v-2H3v8z'/%3E%3C/svg%3E")}
.home-icon-lot{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h16v2H4V5zm0 6h16v2H4v-2zm0 6h16v2H4v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 5h16v2H4V5zm0 6h16v2H4v-2zm0 6h16v2H4v-2z'/%3E%3C/svg%3E")}
.home-icon-growth{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 19h16v2H2V3h2v16zm14.59-12L21 9.41l-5.5 5.5-4-4-5.79 5.8-1.42-1.42 7.21-7.2 4 4L19.59 7z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 19h16v2H2V3h2v16zm14.59-12L21 9.41l-5.5 5.5-4-4-5.79 5.8-1.42-1.42 7.21-7.2 4 4L19.59 7z'/%3E%3C/svg%3E")}
.home-icon-megaphone{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 10v4h4l5 4V6L7 10H3zm11.5 2A3.5 3.5 0 0 0 18 15.5 3.5 3.5 0 0 0 21.5 12 3.5 3.5 0 0 0 18 8.5 3.5 3.5 0 0 0 14.5 12z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 10v4h4l5 4V6L7 10H3zm11.5 2A3.5 3.5 0 0 0 18 15.5 3.5 3.5 0 0 0 21.5 12 3.5 3.5 0 0 0 18 8.5 3.5 3.5 0 0 0 14.5 12z'/%3E%3C/svg%3E")}
.home-icon-building{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 21V3h12v6h6v12H3zm4-14v2h2V7H7zm0 4v2h2v-2H7zm0 4v2h2v-2H7zm4-8v2h2V7h-2zm0 4v2h2v-2h-2zm0 4v2h2v-2h-2zm4 0v2h2v-2h-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 21V3h12v6h6v12H3zm4-14v2h2V7H7zm0 4v2h2v-2H7zm0 4v2h2v-2H7zm4-8v2h2V7h-2zm0 4v2h2v-2h-2zm0 4v2h2v-2h-2zm4 0v2h2v-2h-2z'/%3E%3C/svg%3E")}
.home-icon-shield{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 5v6c0 5.55 3.84 10.74 8 12 4.16-1.26 8-6.45 8-12V5l-8-3zm-1 14-4-4 1.41-1.41L11 13.17l4.59-4.58L17 10l-6 6z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2 4 5v6c0 5.55 3.84 10.74 8 12 4.16-1.26 8-6.45 8-12V5l-8-3zm-1 14-4-4 1.41-1.41L11 13.17l4.59-4.58L17 10l-6 6z'/%3E%3C/svg%3E")}
.home-icon-check{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.17 4.83 12 3.41 13.41 9 19l12-12-1.41-1.41z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.17 4.83 12 3.41 13.41 9 19l12-12-1.41-1.41z'/%3E%3C/svg%3E")}
.home-icon-pin{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22s7-6.28 7-12a7 7 0 1 0-14 0c0 5.72 7 12 7 12zm0-9a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22s7-6.28 7-12a7 7 0 1 0-14 0c0 5.72 7 12 7 12zm0-9a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/%3E%3C/svg%3E")}
.featured-properties-section{
    position:relative;
}
.featured-properties-section .section-head{
    margin-bottom:36px;
}
.agents-section{
    padding-top:40px;
    padding-bottom:44px;
}
.agents-section .section-head{
    margin-bottom:34px;
}
.old-testimonials-section{
    position:relative;
}
.old-testimonials-section:before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url('/assets/img/home-viejo/image-2-1a4648d8.jpg');
    background-position:center;
    background-size:cover;
    opacity:.08;
}
.old-testimonials-section .wrap{
    position:relative;
}
.old-contact-strip{
    padding-top:34px;
}
.old-contact-strip .investment-inner{
    border:1px solid #d8e1ec;
    background:#fff;
    color:var(--primary);
}
.old-contact-strip .investment-inner p{
    color:var(--muted);
}
.old-contact-strip .investment-inner .btn{
    background:var(--primary);
}
@media(max-width:900px){
    .old-home-hero{
        min-height:620px;
    }
    .old-home-hero-content{
        min-height:320px;
    }
    .old-home-hero h1{
        font-size:46px;
    }
    .old-category-grid{
        grid-template-columns:1fr;
    }
    .old-living-card{
        padding:30px;
    }
    .old-living-card h2{
        font-size:30px;
    }
    .section-head-compact{
        display:block;
    }
    .section-intro{
        margin-top:12px;
        max-width:none;
    }
    .wrap-wide{
        width:min(1120px,92%);
    }
    .home-tools-layout,
    .home-quick-header,
    .home-video-layout{
        grid-template-columns:1fr;
    }
    .home-quick-search-section .wrap-wide:before,
    .home-owner-cta-section .wrap-wide:before{
        display:none;
    }
    .home-photo-card img{
        height:260px;
    }
    .home-video-points{
        grid-template-columns:1fr;
    }
    .home-video-copy{
        padding:20px;
    }
    .home-owner-cta{
        display:block;
    }
    .home-owner-side{
        width:100%;
        margin-top:20px;
    }
    .home-owner-actions{
        justify-content:flex-start;
        margin-top:20px;
    }
}
@media(max-width:640px){
    .page-hero-slide-shell{
        padding:76px 0;
    }
    .page-hero h1{
        font-size:34px;
    }
    .page-hero p{
        font-size:16px;
    }
    .home-tools-section,
    .home-quick-search-section,
    .home-video-section,
    .home-owner-cta-section{
        padding-top:18px;
        padding-bottom:24px;
    }
    .home-tool-card,
    .home-quick-card{
        padding:16px;
    }
    .home-mini-badges{
        grid-template-columns:1fr;
    }
    .home-video-poster img{
        height:300px;
    }
    .home-video-play{
        width:62px;
        height:62px;
    }
    .home-video-play:before{
        left:24px;
        top:18px;
    }
    .home-video-caption strong{
        font-size:20px;
    }
    .home-owner-cta{
        padding:22px 18px;
    }
    .home-owner-cta h2{
        font-size:26px;
    }
    .home-owner-actions .btn{
        width:100%;
        min-width:0;
    }
    .old-home-hero-content{
        min-height:300px;
    }
    .old-home-hero h1{
        font-size:40px;
        line-height:1;
    }
    .old-home-hero p{
        font-size:18px;
    }
}

/* FIX HOME AGENTES FOTOS CUADRADAS */
.home-agents-section .agent-card img,
.agents-section .agent-card img,
.agent-card img{
    width:100%;
    aspect-ratio:1 / 1;
    height:auto;
    max-height:none;
    object-fit:cover;
    object-position:center top;
    display:block;
    border-radius:0;
}

.home-agents-section .agent-card,
.agents-section .agent-card{
    overflow:hidden;
}

.home-agents-section .agent-card .card-body,
.agents-section .agent-card .card-body{
    text-align:center;
    padding:22px 18px 24px;
}

.home-agents-section .agent-card h3,
.agents-section .agent-card h3{
    margin:0 0 8px;
    font-size:18px;
    line-height:1.25;
}

.home-agents-section .agent-card p,
.agents-section .agent-card p{
    margin:0 0 14px;
    font-size:13px;
    color:#667085;
}
