/* ================= PULIDO VISUAL ================= */
:root{--r:18px;--lift:0 1px 2px rgba(14,26,51,.05),0 4px 14px -6px rgba(20,69,184,.16);--lift-h:0 2px 4px rgba(14,26,51,.06),0 22px 40px -18px rgba(20,69,184,.42);--navy:#0B1F4D}
@media (prefers-color-scheme: dark) and (min-width:99999px){:root:not([data-theme="light"]){--lift:0 1px 2px rgba(0,0,0,.4),0 6px 18px -8px rgba(0,0,0,.6);--lift-h:0 2px 4px rgba(0,0,0,.4),0 24px 44px -18px rgba(0,0,0,.8)}}
:root[data-theme="dark-off"]{--lift:0 1px 2px rgba(0,0,0,.4),0 6px 18px -8px rgba(0,0,0,.6);--lift-h:0 2px 4px rgba(0,0,0,.4),0 24px 44px -18px rgba(0,0,0,.8)}
body{background:var(--bg)}
.hdr{background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 1px 0 var(--line),0 6px 20px -16px rgba(20,69,184,.35);border-bottom:0}
.btn{border-radius:12px;transition:transform .15s ease,box-shadow .2s ease,background .15s,border-color .15s}
.btn-brand{background:var(--grad);box-shadow:0 6px 16px -8px rgba(20,69,184,.55)}
.btn-brand:hover{background:var(--grad);transform:translateY(-1px);box-shadow:0 10px 22px -10px rgba(20,69,184,.7)}
.btn-sun:hover{transform:translateY(-1px)}
/* hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,rgba(111,164,255,.45),transparent 60%),linear-gradient(135deg,#0B2A6F 0%,#1445B8 55%,#2F7BF5 100%);border-bottom:0;color:#fff}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(180deg,#000 0%,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 85%);pointer-events:none}
.hero .wrap{padding-block:64px 132px}
.hero .eyebrow{color:#BFD7FF}
.hero h1{color:#fff;text-shadow:0 2px 24px rgba(5,20,60,.35)}
.hero h1 em{color:#BFD7FF}
.hero h1 em::after{background:rgba(255,255,255,.18)}
.hero .lede{color:rgba(255,255,255,.84)}
.hero-art svg path:not(.ridge){fill:rgba(255,255,255,.07)}
.hero-art .ridge{stroke:rgba(255,255,255,.4)}
.hero-art .sun{fill:#9CC3FF;opacity:.22!important}
.search{border:0;border-radius:22px;box-shadow:0 30px 60px -28px rgba(5,20,60,.75),0 0 0 6px rgba(255,255,255,.12);padding:14px}
.hero .intents .eyebrow{color:#BFD7FF}
.hero .intent{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero .intent .ic{color:#BFD7FF}
.hero .intent:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5)}
/* banda de cifras */
.statband{position:relative;z-index:3;margin-top:-58px}
.statband .wrap>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border-radius:22px;box-shadow:var(--lift-h);overflow:hidden}
.stat{padding:20px 22px;display:grid;gap:4px;border-left:1px solid var(--line);min-width:0}
.stat:first-child{border-left:0}
.stat b{font:900 clamp(26px,3.2vw,38px)/1 var(--f-display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.stat span{font-size:13.5px;color:var(--muted);font-weight:600}
@media (max-width:760px){.statband .wrap>div{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}
/* títulos de sección */
.sec-h h2{position:relative;padding-top:16px;font-weight:900;letter-spacing:-.02em}
.sec-h h2::before{content:"";position:absolute;top:0;left:0;width:40px;height:4px;border-radius:2px;background:var(--grad)}
.sec-h p{font-size:15px}
.ph1{font-weight:900}
/* tarjetas de propiedad */
.card{border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:var(--r);box-shadow:var(--lift);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--lift-h);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}
.media::after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(8,17,31,.35));pointer-events:none}
.ph-count{z-index:1}
.tag{border-radius:7px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.price{color:var(--ink);font-weight:900}
.card-body{padding:16px 16px 14px;gap:10px}
.surf{border-radius:12px;background:var(--surface-2);border-color:transparent}
.surf div{border-left-color:color-mix(in srgb,var(--line) 70%,var(--surface))}
.fav{box-shadow:0 4px 12px rgba(0,0,0,.18);transition:transform .15s}
.fav:hover{transform:scale(1.08)}
/* recuadros elevados */
.panel,.zone,.agency,.demand,.asesor,.goal,.actor,.article-card,.how li,.phases li,.plan,.entity,.kpi,.fs,.bcard,.team-card,.tool-link,.contact,.quick button,.title-box,.dem-note,.passport,.trust .tr,.doc,.mini-prop+.mini-prop{border-radius:var(--r)}
.panel,.zone,.agency,.demand,.asesor,.goal,.actor,.article-card,.how li,.phases li,.plan,.kpi,.fs,.bcard,.team-card,.tool-link,.quick button,.passport,.tbl-wrap,.cta-card,.map-static{box-shadow:var(--lift);border-color:color-mix(in srgb,var(--line) 70%,transparent)}
.zone,.agency,.goal,.article-card,.team-card,.tool-link,.quick button,.bcard,.asesor{transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s,border-color .2s}
.zone:hover,.agency:hover,.goal:hover,.article-card:hover,.team-card:hover,.tool-link:hover,.quick button:hover,.bcard:hover,.asesor:hover{transform:translateY(-3px);box-shadow:var(--lift-h);border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}
.contact{box-shadow:var(--lift-h);border:0}
.kpi{position:relative;overflow:hidden;padding:16px}
.kpi::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad)}
.kpi b{color:var(--ink)}
.quick button{padding:16px;gap:14px;background:var(--surface)}
.quick button .ic{width:44px;height:44px;padding:11px;border-radius:12px;background:var(--grad);color:#fff;box-sizing:border-box}
.zone{padding:18px;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-2) 45%,var(--surface)))}
.zone h3{font-weight:900}
.zone .zmeta b{color:var(--brand)}
.agency{padding:18px}
.agency .stats3 b{color:var(--brand)}
.goal .ic,.actor b{color:var(--brand)}
.goal .ic{width:48px;height:48px;padding:11px;border-radius:14px;background:var(--sun-soft);box-sizing:border-box}
.panel h3{font-weight:800}
.tbl-wrap{border-radius:var(--r)}
th{background:linear-gradient(180deg,var(--surface-2),color-mix(in srgb,var(--surface-2) 60%,var(--surface)))}
tbody tr{transition:background .12s}
tbody tr:hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}
.split-cta .panel{background:radial-gradient(500px 200px at 100% 0%,color-mix(in srgb,var(--brand) 12%,transparent),transparent 70%),var(--surface)}
.cta{border-radius:26px;box-shadow:0 30px 60px -30px rgba(20,69,184,.7);background:radial-gradient(700px 300px at 0% 0%,rgba(255,255,255,.14),transparent 60%),var(--grad)}
.cta-card{border-radius:20px}
.ad-slot{border-radius:var(--r);border-color:color-mix(in srgb,var(--brand) 30%,var(--line));background:repeating-linear-gradient(135deg,transparent 0 14px,color-mix(in srgb,var(--brand) 5%,transparent) 14px 15px),var(--surface)}
.flow .node{border-radius:16px;box-shadow:var(--lift);border-color:transparent}
.flow .node b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tabs{border-bottom-width:2px}
.tabs button[aria-selected="true"]{border-bottom-width:3px;color:var(--brand)}
.seg{border-radius:13px}
.chip[aria-pressed="true"]{background:var(--grad);border-color:transparent;color:#fff}
.brand-head{border:0;box-shadow:var(--lift)}
.prof-head .mono-logo,.site-id .mono-logo.lg{box-shadow:var(--lift-h)}
.gal{box-shadow:var(--lift)}
.specs{border-radius:var(--r);box-shadow:var(--lift);border-color:transparent}
.specs b{color:var(--ink)}
.big-price{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.res-list{background:var(--bg)}
.demo-bar{background:var(--navy)}
#app>footer{background:var(--surface);box-shadow:0 -1px 0 var(--line)}
@media (prefers-reduced-motion:reduce){.card:hover,.zone:hover,.agency:hover,.goal:hover,.quick button:hover{transform:none}}

/* correcciones tras revisión visual */
.search{color:var(--ink)}
.logo-word{display:flex!important;flex-wrap:wrap;align-items:baseline;column-gap:0}
.logo-word small{flex-basis:100%}
@media (max-width:1500px){.nav{display:none}.menu-btn{display:inline-flex}}
.nav{overflow:hidden}
.card-body{grid-template-columns:minmax(0,1fr)}
.card-foot .adv{min-width:0;overflow:hidden}
.card-foot .kind{display:none}
.card-title button{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.brand-head .mono-logo,.og-brand .mono-logo,.bcard-brand .mono-logo,.site-id .mono-logo{color:#fff}
.quick button>span{min-width:0;overflow-wrap:anywhere}
@media (max-width:640px){.hdr-pub,.hdr-right [data-go="mensajes"]{display:none}.hdr-right .area-seg button{padding:6px 9px;font-size:12px}.quick button{padding:12px;gap:10px}.quick button .ic{width:38px;height:38px;padding:9px}}
@media (max-width:420px){.hdr-right [data-act="notifs"]{display:none}.logo-word small{display:none}}

/* tipografía de marca: sin monoespaciada */
body{font-size:15.5px}
.eyebrow,.field>span,.surf span,.specs span,.kpi span,.tag,.kind,.pill,.dtype,.site-kind,.dg-h,.ph-n,.rep-row span,.tb-row span,.pp-id span,.dem-grid span,.info-list span,.zone .slug,th{letter-spacing:.05em!important;font-weight:800!important}
.mono,.code,.ppm,.surf b,.specs b,.price,td.num{font-variant-numeric:tabular-nums;letter-spacing:0}
.code{font-weight:800}

/* fotos reales */
.hero{background:linear-gradient(135deg,rgba(11,42,111,.93) 0%,rgba(20,69,184,.86) 55%,rgba(47,123,245,.78) 100%),url("../img/hero.jpg") center 40%/cover no-repeat}
.mip-head>img{width:100%;aspect-ratio:4/2.7;object-fit:cover;border-radius:12px;display:block}
.gal img,.media img,.bcard-img img,.og-img>img,.site-cover>img{object-position:center 45%}

/* fondo con color, blanco solo en recuadros */
.res-list{background:var(--bg)}
.statband .wrap>div,.card,.panel,.zone,.agency,.demand,.asesor,.goal,.actor,.kpi,.fs,.bcard,.quick button,.tbl-wrap,.contact,.brand-head,.specs{background:var(--surface)}
.zone{background:var(--surface)}
.split-cta .panel{background:radial-gradient(500px 200px at 100% 0%,color-mix(in srgb,var(--brand) 10%,transparent),transparent 70%),var(--surface)}
.card,.bcard,.quick button,.zone,.agency,.panel,.kpi{border-color:transparent}
#app>footer{background:var(--surface)}

/* más contraste */
:root{--lift:0 1px 2px rgba(14,26,51,.08),0 8px 22px -8px rgba(14,30,80,.28);--lift-h:0 4px 8px rgba(14,26,51,.10),0 26px 46px -18px rgba(14,40,120,.5)}
.band-dark{background:radial-gradient(900px 340px at 90% 0%,rgba(76,141,255,.35),transparent 60%),linear-gradient(135deg,#0B1F4D 0%,#123A8F 100%)}
.band-dark .sec-h h2,.band-dark .sec-h p{color:#fff}
.band-dark .sec-h p{opacity:.82}
.band-dark .eyebrow{color:#BFD7FF!important}
.band-dark .sec-h h2::before{background:#6FA4FF}
.band-dark .card{box-shadow:0 20px 40px -18px rgba(0,0,0,.6)}
.band-dark .ad-slot{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff}
.band-dark .ad-slot h3{color:#fff}.band-dark .ad-slot p,.band-dark .ad-slot .eyebrow{color:rgba(255,255,255,.8)!important}
.hdr{box-shadow:0 2px 0 rgba(20,69,184,.12),0 8px 24px -14px rgba(14,30,80,.45)}
.card,.bcard,.panel,.zone,.agency,.kpi,.quick button,.statband .wrap>div{border:1px solid rgba(255,255,255,.9)!important}
.sec-h h2{color:var(--ink)}

/* más blanco, recuadros definidos */
.card,.bcard,.panel,.zone,.agency,.kpi,.quick button,.statband .wrap>div{border:1px solid #DCE3EE!important}
@media (prefers-color-scheme: dark) and (min-width:99999px){:root:not([data-theme="light"]) .card,:root:not([data-theme="light"]) .panel,:root:not([data-theme="light"]) .zone,:root:not([data-theme="light"]) .agency,:root:not([data-theme="light"]) .kpi,:root:not([data-theme="light"]) .quick button,:root:not([data-theme="light"]) .bcard{border-color:var(--line)!important}}
:root[data-theme="dark-off"] .card,:root[data-theme="dark-off"] .panel,:root[data-theme="dark-off"] .zone,:root[data-theme="dark-off"] .agency,:root[data-theme="dark-off"] .kpi,:root[data-theme="dark-off"] .quick button,:root[data-theme="dark-off"] .bcard{border-color:var(--line)!important}

/* fondos blancos */
.band-dark{background:var(--bg-2)!important;border-block:1px solid var(--line)}
.band-dark .sec-h h2,.band-dark .sec-h p{color:var(--ink)!important}
.band-dark .sec-h p{color:var(--muted)!important;opacity:1}
.band-dark .eyebrow{color:var(--brand)!important}
.band-dark .sec-h h2::before{background:var(--grad)}
.band-dark .card{box-shadow:var(--lift)}
.band-dark .ad-slot{background:var(--surface);border-color:color-mix(in srgb,var(--brand) 30%,var(--line));color:var(--ink)}
.band-dark .ad-slot h3{color:var(--ink)}.band-dark .ad-slot p,.band-dark .ad-slot .eyebrow{color:var(--muted)!important}

/* membresía */
.mem-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.founder{display:flex;gap:12px;align-items:flex-start;background:var(--grad);color:#fff;border-radius:16px;padding:14px 16px;max-width:460px}
.founder small{display:block;opacity:.9;font-size:13px;margin-top:2px}
.plans.mem{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:stretch}
.plans.mem .plan{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);box-shadow:var(--lift);gap:12px;padding:22px 18px 18px}
.plans.mem .plan.rec{border:2px solid var(--brand);box-shadow:var(--lift-h)}
.plans.mem .plan>b{font:900 21px var(--f-display)}
.plans.mem .plan-price{font:900 30px var(--f-display);font-variant-numeric:tabular-nums}
.plan-price small{font:600 13px var(--f-body);color:var(--muted)}
.plans.mem .plan ul{flex:1}
.plans.mem .plan .btn{margin-top:auto}
.rec-tag{position:absolute;top:-12px;left:16px;background:var(--grad);color:#fff;font:800 11px var(--f-body);letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.free-always{margin-top:18px;border:1px dashed color-mix(in srgb,var(--ok) 50%,var(--line));border-radius:16px;padding:14px 16px;display:grid;gap:10px;background:var(--surface)}
.free-always b{display:flex;gap:8px;align-items:center;color:var(--ok)}
.addons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:12px}
.addon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:16px;box-shadow:var(--lift)}
.addon b{font:800 16px var(--f-display)}
.addon-r{display:grid;gap:8px;justify-items:end;text-align:right}

/* calificaciones */
.rate-mini{font:800 12px var(--f-body);color:#B7791F;white-space:nowrap;flex:none}
.rate-line{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:14px}
.rate-line>b{font:900 15px var(--f-display)}
.thermo{display:inline-flex;gap:3px;align-items:flex-end;height:14px}
.thermo i{display:block;width:26px;height:8px;border-radius:3px;opacity:.28}
.thermo i.on{opacity:1;height:14px}
.thermo.sm i{width:12px;height:6px}.thermo.sm i.on{height:10px}.thermo.sm{height:10px}
.cal-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}
.cal-num{display:grid;justify-items:center;gap:2px}
.cal-num b{font:900 46px/1 var(--f-display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cal-dist{display:grid;gap:4px}
.cal-dist>div,.cal-attrs>div{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;gap:8px;align-items:center;font-size:12.5px}
.cal-dist .bar-track,.cal-attrs .bar-track{height:8px;border-radius:4px}
.cal-dist .bar-fill{background:#E5B83A;border-radius:4px}
.cal-dist .v{text-align:right;color:var(--muted)}
.cal-rep{display:flex;gap:12px;align-items:center;background:var(--surface-2);border-radius:12px;padding:12px}
.cal-rep div{display:grid}
.cal-attrs{display:grid;gap:6px}
.cal-attrs>div{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 30px}
.cal-attrs b{text-align:right;font-size:13px}
.prof-rate{grid-column:2;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:-10px}
.prof-head.has-rate{row-gap:8px}
@media (max-width:760px){.prof-rate{grid-column:1/-1;margin-top:0}}
.site-rate{background:var(--surface);border-radius:12px;padding:8px 12px;box-shadow:var(--lift);display:inline-flex;align-items:center}
.site-sec .cal{max-width:720px}
.card-foot .adv{gap:6px}

/* banners */
.adb{--h:212;position:relative;cursor:pointer;color:#fff;border-radius:18px;overflow:hidden;background:linear-gradient(120deg,hsl(var(--h) 62% 36%),hsl(calc(var(--h) + 28) 66% 24%));box-shadow:var(--lift);transition:transform .15s}
.adb:hover{transform:translateY(-2px)}
.adb:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.adb::after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.09);pointer-events:none}
.adb-tag{position:absolute;top:8px;right:10px;z-index:1;font:800 10px var(--f-body);letter-spacing:.08em;text-transform:uppercase;background:rgba(0,0,0,.32);color:#fff;padding:3px 8px;border-radius:99px}
.adb-logo{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff;color:hsl(var(--h) 62% 30%);font:900 18px var(--f-display)}
.adb small{font:700 12px var(--f-body);opacity:.85;letter-spacing:.02em}
.adb b{font:900 22px/1.15 var(--f-display)}
.adb span{font-size:14px}
.adb-cta{flex:none;justify-self:start;background:#fff;color:hsl(var(--h) 62% 28%);font:800 13.5px var(--f-body)!important;padding:10px 16px;border-radius:99px;white-space:nowrap}
.adb-wide{display:flex;align-items:center;gap:18px;padding:22px 26px;min-height:112px}
.adb-wide .adb-txt{display:grid;gap:3px;flex:1;min-width:0}
.ad-sec{padding-top:6px;padding-bottom:6px}
.adb-card{display:grid;grid-template-rows:auto 1fr;background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.adb-card::after{display:none}
.adb-card .adb-art{aspect-ratio:4/3;display:grid;align-content:center;gap:14px;padding:22px;color:#fff;background:linear-gradient(140deg,hsl(var(--h) 62% 38%),hsl(calc(var(--h) + 28) 66% 24%))}
.adb-card .adb-art b{font-size:24px}
.adb-card .adb-body{display:grid;gap:8px;padding:16px;align-content:start}
.adb-card .adb-body small{color:var(--muted);opacity:1}
.adb-card .adb-cta{background:hsl(var(--h) 62% 34%);color:#fff}
.adb-side{display:grid;gap:8px;padding:16px;border-radius:14px}
.adb-side b{font-size:18px}
.adb-side .adb-logo{width:38px;height:38px;border-radius:10px;font-size:14px}
.adb-prev .adb{cursor:default;transform:none}
@media (max-width:640px){.adb-wide{flex-direction:column;align-items:flex-start;padding:38px 18px 18px;gap:12px}.adb b{font-size:19px}}

/* cuentas */
.user-in{font-weight:800;padding-inline:14px}
.user-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:4px 12px 4px 4px;font:800 13.5px var(--f-body);color:var(--ink);cursor:pointer}
.user-btn .mono-logo{border-radius:50%}
@media (max-width:760px){.user-btn span:not(.mono-logo){display:none}.user-btn{padding:3px}.user-in{padding-inline:10px;font-size:13px}}
.acc-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:32px;align-items:start;padding-top:36px;padding-bottom:70px}
.acc-side{background:var(--grad);color:#fff;border-radius:24px;padding:36px;display:grid;gap:18px;position:sticky;top:96px}
.acc-side h1{font:900 34px/1.1 var(--f-display);color:#fff}
.acc-side .eyebrow{color:#fff;opacity:.85}
.acc-side ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.acc-side li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.acc-side li svg{flex:none;margin-top:3px}
.acc-card{display:grid;gap:16px}
.acc-form{display:grid;gap:12px}
.acc-form input,.acc-form select{width:100%}
.acc-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.acc-sub{font:800 12px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--brand);border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.pw{position:relative;display:block}
.pw input{width:100%;height:44px;border:1px solid var(--line);border-radius:12px;padding:0 68px 0 12px;font:inherit;font-size:16px;background:var(--surface);color:var(--ink)}.pw input:focus{outline:2px solid var(--brand);outline-offset:1px}
.pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--brand);font:800 12.5px var(--f-body);cursor:pointer;padding:6px}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:14px}
.acc-demo{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.acc-demo .btn{justify-content:flex-start;text-align:left;gap:10px;height:auto;padding:8px 10px}
.acc-demo .btn span{display:grid;min-width:0}
.acc-demo small{font-weight:500;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.acc-head>div{display:grid;gap:6px}
.acc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;align-items:start}
.acc-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:8px 0;font-size:14.5px}
.acc-row span{color:var(--muted)}
.acc-row b{text-align:right;overflow-wrap:anywhere}
@media (max-width:900px){.acc-wrap{grid-template-columns:minmax(0,1fr);padding-top:18px}.acc-side{position:static;padding:22px}.acc-side h1{font-size:24px}}
@media (max-width:480px){.acc-2{grid-template-columns:minmax(0,1fr)}}

.zone-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.zone-chips button{display:grid;gap:2px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:14px 16px;box-shadow:var(--lift);cursor:pointer;color:var(--ink);font:inherit}
.zone-chips button:hover{border-color:var(--brand)}
.zone-chips b{font:800 16px var(--f-display)}
.zone-chips span{font-size:13px;color:var(--muted)}
.user-in{gap:6px}@media (max-width:560px){.hdr.anon [data-act="notifs"]{display:none}.user-in span{display:none}.user-in{padding:0;width:40px;min-width:40px;justify-content:center}}
:root{color-scheme:light}

/* publicidad en negro */
.adb,.adb-card .adb-art{background:#0A0A0C!important;color:#fff!important}
.adb-card{background:#0A0A0C!important;border-color:#0A0A0C!important}
.adb-card .adb-body{color:#fff}
.adb-card .adb-body small,.adb small{color:#fff!important;opacity:.75}
.adb::after{background:rgba(255,255,255,.06)}
.adb-logo{background:#fff!important;color:#0A0A0C!important}
.adb-cta,.adb-card .adb-cta{background:#fff!important;color:#0A0A0C!important}
.adb-tag{background:#fff!important;color:#0A0A0C!important}
.adb{box-shadow:0 14px 34px -14px rgba(0,0,0,.55)!important}

/* destacadas más marcadas */
.card.is-dest{border:2px solid #E0A100!important;box-shadow:0 0 0 4px rgba(224,161,0,.20),0 18px 36px -18px rgba(160,110,0,.55)!important;position:relative}
.card.is-dest::before{content:"★  PROPIEDAD DESTACADA";display:block;background:linear-gradient(90deg,#F6C445,#E0A100);color:#3A2A00;font:900 12px var(--f-body);letter-spacing:.12em;text-align:left;padding:8px 54px 8px 14px;white-space:nowrap;overflow:hidden}
.band-dark>.wrap{border:2px solid #E0A100;border-radius:26px;background:linear-gradient(180deg,#FFF9E8,#fff 140px);padding:28px!important;box-shadow:0 0 0 5px rgba(224,161,0,.14),0 24px 50px -28px rgba(160,110,0,.5)}
.band-dark{background:transparent!important;border:0!important}
.band-dark .eyebrow::before{content:"★ ";color:#E0A100}.band-dark .grid-cards>*:not(.is-dest){border:2px solid #E0A100!important;box-shadow:0 0 0 4px rgba(224,161,0,.20),0 18px 36px -18px rgba(160,110,0,.55)!important}
.band-dark .eyebrow{color:#9A6B00!important}
@media (max-width:640px){.band-dark>.wrap{padding:18px 14px!important;margin-inline:10px}}

/* pagos */
.info-list .pay-total,.pay-total{font:900 24px var(--f-display)!important;color:var(--brand);letter-spacing:0;text-transform:none}
.pay-box{display:grid;gap:2px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:12px 14px}
.pay-sim{display:grid;gap:6px;border:1.5px dashed color-mix(in srgb,var(--brand) 45%,var(--line));border-radius:14px;padding:16px;background:color-mix(in srgb,var(--brand) 5%,var(--surface));font-size:14px}

/* referidos */
.ref-link{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ref-link .mono{flex:1;min-width:220px;background:var(--surface-2);border:1px dashed var(--line);border-radius:10px;padding:10px 12px;font-weight:700;overflow-wrap:anywhere}
.ref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;margin-top:16px}
.ref-steps{display:grid;gap:10px}
.ref-step{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14.5px}
.ref-step b{font:900 15px var(--f-display);color:var(--brand)}
.ref-step.ok{border-color:#2C9A57;background:color-mix(in srgb,#2C9A57 6%,var(--surface))}
@media (max-width:520px){.ref-step{grid-template-columns:minmax(0,1fr)}}

/* mapa real (solo cuando está Leaflet) */
.lmap{touch-action:auto;cursor:auto}
.lmap .lf{position:absolute;inset:0;z-index:0}
.lmap .map-tl{z-index:1100}
.lmap .map-pop{z-index:1100}
.lmk{background:none;border:0}
.lmap .leaflet-control-attribution{font-size:10px}
.gmap{position:absolute;inset:0;width:100%;height:100%;border:0}

/* chat de agencia */
.wa-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.chat-seg{width:auto;max-width:100%;flex-wrap:wrap}.chat-seg button{flex:1 1 auto;justify-content:center}
.chatx{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface);box-shadow:var(--lift);height:600px}
.chatx-list{border-right:1px solid var(--line);overflow-y:auto;min-height:0}
.chatx-h{padding:12px 14px 8px;font-size:13px;color:var(--muted);position:sticky;top:0;background:var(--surface);z-index:1}
.seg.sm button{padding:5px 10px;font-size:12.5px}
.chatx-it{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:11px 14px;cursor:pointer;color:var(--ink);font:inherit}
.chatx-it:hover{background:var(--surface-2)}
.chatx-it.on{background:color-mix(in srgb,var(--brand) 9%,var(--surface));box-shadow:inset 3px 0 0 var(--brand)}
.chatx-it b{display:block;font-size:14.5px}
.chatx-it small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chatx-it small.meta{font-size:11.5px;opacity:.9}
.chatx-it .hash{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--surface-2);font:900 15px var(--f-display);color:var(--brand)}
.badge-in{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#25A35A;color:#fff;font:800 11px var(--f-body);font-style:normal;vertical-align:middle}
.chatx-th{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;min-height:0}
.chatx-top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}
.chatx-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.chatx-acts select{height:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;padding:0 6px}
.chatx-msgs{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg-2);min-height:0}
.cb{display:flex;gap:8px;align-items:flex-end;max-width:78%}
.cb>div{background:var(--surface);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:8px 12px}
.cb small{display:block;font-size:11.5px;color:var(--muted);margin-bottom:2px}
.cb p{font-size:14.5px;line-height:1.4;overflow-wrap:anywhere}
.cb.me{align-self:flex-end}
.cb.me>div{background:color-mix(in srgb,var(--brand) 12%,var(--surface));border-color:color-mix(in srgb,var(--brand) 30%,var(--line));border-radius:14px 14px 4px 14px}
.chatx-msgs.wa .cb.me>div{background:#DCF5E3;border-color:#B7E3C4;color:#0F2A18}
.chatx-msgs.wa .cb.me small{color:#3D6B4C}
.cb.me.note>div{background:#FFF4CC!important;border-color:#F0D878!important;color:#3A2A00}
.cb.me.note small{color:#7A5C00!important}
.chatx-quick{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;border-top:1px solid var(--line);scrollbar-width:thin}
.chatx-quick .chip{flex:none;cursor:pointer;border:1px solid var(--line);background:var(--surface);font-size:12.5px}
.chatx-in{display:flex;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid var(--line)}
.chatx-in input[type=text],.chatx-in input:not([type]){flex:1;min-width:0;height:42px;border:1px solid var(--line);border-radius:12px;padding:0 12px;font:inherit;font-size:16px;background:var(--surface);color:var(--ink)}
.chatx-in .inline-check{font-size:12.5px;white-space:nowrap}
@media (max-width:820px){.chatx{grid-template-columns:minmax(0,1fr);height:auto}.chatx-list{border-right:0;border-bottom:1px solid var(--line);max-height:230px}.chatx-th{height:520px}.cb{max-width:90%}.chatx-in{flex-wrap:wrap}.chatx-in .inline-check{order:3;width:100%}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
