/* =========================================================
   Contact page — hero con foto + 2 divisiones + modales
   ========================================================= */
body.kc>main{padding-top:0}
body.kc-lock{overflow:hidden}

/* ---------- HERO (siempre oscuro, foto de fondo) ---------- */
.kc-hero{position:relative;min-height:min(100svh,880px);display:flex;align-items:center;padding:140px 0 90px;overflow:hidden;background:#050a1f;color:#f6f7fb;isolation:isolate}
.kc-hero-bg{position:absolute;inset:0;z-index:-2;background:#050a1f url('/assets/img/contact/contact-hero.webp') right center/cover no-repeat}
.kc-hero-bg:after{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,#050a1f 0%,rgba(5,10,31,.92) 26%,rgba(5,10,31,.35) 50%,transparent 66%),
 linear-gradient(180deg,rgba(5,10,31,.55) 0%,transparent 22%,transparent 78%,rgba(5,10,31,.9) 100%)}
.kc-hero:before{content:"";position:absolute;z-index:-1;width:620px;height:620px;left:-220px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(108,92,255,.28),transparent 65%);pointer-events:none}
.kc-hero-inner{position:relative;z-index:1}
.kc-hero-copy{max-width:560px}
.kc-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:100px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);font-size:11px;font-weight:800;letter-spacing:.16em;color:#d9dcf0}
.kc-chip i{width:7px;height:7px;border-radius:50%;background:#19c99a;box-shadow:0 0 0 5px rgba(25,201,154,.16)}
.kc-hero h1{margin:24px 0 0;color:#fff;font-size:clamp(52px,7.4vw,104px);line-height:.95;letter-spacing:-.06em}
.kc-hero h1 em{background:linear-gradient(100deg,#8f7dff,#5ee7d8);-webkit-background-clip:text;background-clip:text;color:transparent}
.kc-lead{margin:24px 0 0;font-size:18px;line-height:1.65;color:#b9bfd6!important;max-width:500px}
.kc-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.kc-btn-glass{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff!important}
.kc-btn-glass:hover{background:rgba(255,255,255,.14)}
.kc-hero-facts{display:flex;gap:0;margin:46px 0 0;padding:0;list-style:none}
.kc-hero-facts li{padding:0 26px;border-left:1px solid rgba(255,255,255,.14)}
.kc-hero-facts li:first-child{padding-left:0;border-left:0}
.kc-hero-facts b{display:block;font-size:26px;font-weight:800;letter-spacing:-.04em;color:#fff}
.kc-hero-facts span{font-size:12px;font-weight:600;color:#9aa2bd}
.kc-notice{display:flex;align-items:center;gap:12px;margin:26px 0 0;padding:14px 16px;border-radius:16px;background:rgba(25,201,154,.12);border:1px solid rgba(25,201,154,.38);font-size:14px;font-weight:600;color:#dff8f1}
.kc-notice b{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#19c99a;color:#04120d;font-size:13px}
.kc-notice.err{background:rgba(255,92,92,.12);border-color:rgba(255,92,92,.42);color:#ffe2e2}
.kc-notice.err b{background:#ff5c5c;color:#fff}
body.kc .kc-hero-phone{display:none}
.kc-hero-inner{width:min(1180px,calc(100% - 48px))}

/* ---------- DIVISIONES ---------- */
.kc-divisions{position:relative}
.kc-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.kc-card{position:relative;min-height:470px;border-radius:30px;overflow:hidden;display:flex;align-items:flex-end;color:#f6f7fb;background:#0b0d16;border:1px solid rgba(255,255,255,.08);box-shadow:var(--kdh-shadow);isolation:isolate;transition:transform .35s ease,box-shadow .35s ease}
.kc-card-bg{position:absolute;inset:0;z-index:-1;background:var(--img) center/cover no-repeat;transition:transform .8s ease}
.kc-card-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,8,16,.1) 0%,rgba(6,8,16,.55) 45%,rgba(6,8,16,.95) 100%)}
.kc-card-lux .kc-card-bg:before,.kc-card-credit .kc-card-bg:before{content:"";position:absolute;inset:0;z-index:1;mix-blend-mode:soft-light}
.kc-card-lux .kc-card-bg:before{background:radial-gradient(circle at 80% 10%,rgba(212,170,90,.55),transparent 55%)}
.kc-card-credit .kc-card-bg:before{background:radial-gradient(circle at 80% 10%,rgba(108,92,255,.7),transparent 55%)}
.kc-card:hover{transform:translateY(-6px);box-shadow:0 40px 90px rgba(10,12,30,.35)}
.kc-card:hover .kc-card-bg{transform:scale(1.06)}
.kc-card-body{position:relative;width:100%;padding:34px}
.kc-card-num{position:absolute;top:-180px;right:30px;font-size:110px;font-weight:800;letter-spacing:-.06em;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22)}
.kc-card-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.16em;color:#a99dff}
.kc-card-lux .kc-card-tag{color:#e6c27a}
.kc-card h3{margin:12px 0 10px;font-size:clamp(28px,3vw,38px);font-weight:800;letter-spacing:-.04em;line-height:1.05;color:#fff}
.kc-card p{margin:0;max-width:430px;font-size:15px;color:#c3c8d9!important}
.kc-card-list{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px;padding:0;list-style:none}
.kc-card-list li{padding:7px 12px;border-radius:100px;font-size:12px;font-weight:600;color:#e6e8f2;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.kc-card-btn{display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:0 10px 0 24px;border:0;border-radius:100px;background:#fff;color:#0a0b10;font:700 14px Inter,system-ui,sans-serif;cursor:pointer;transition:transform .25s,box-shadow .25s}
.kc-card-btn i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-style:normal;color:#fff;background:linear-gradient(135deg,#6c5cff,#8f6bff);transition:transform .25s}
.kc-card-lux .kc-card-btn i{background:linear-gradient(135deg,#c9a45c,#e6c27a);color:#1a1205}
.kc-card-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.kc-card-btn:hover i{transform:rotate(45deg)}

.kc-info{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.kc-info-item{display:flex;align-items:center;gap:14px;padding:20px 22px;border-radius:20px;background:var(--kdh-surface);border:1px solid var(--kdh-line);min-width:0}
.kc-info-item>span:last-child{min-width:0}
.kc-info-ico{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;font-size:18px;color:var(--kdh-primary);background:linear-gradient(135deg,rgba(108,92,255,.16),rgba(22,217,197,.14))}
.kc-info-item small{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--kdh-muted)}
.kc-info-item b{display:block;margin-top:3px;font-size:14px;overflow-wrap:anywhere}
a.kc-info-item:hover{border-color:color-mix(in srgb,var(--kdh-primary) 50%,var(--kdh-line))}

/* ---------- MODALES ---------- */
.kc-modal{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;color:var(--kdh-text)}
.kc-modal:not([open]){display:none}
.kc-modal[open]{display:grid;place-items:center;position:fixed;inset:0;z-index:2000}
.kc-modal::backdrop{background:rgba(4,6,14,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.kc-modal-box{position:relative;width:min(720px,calc(100% - 32px));max-height:calc(100svh - 48px);overflow:auto;overscroll-behavior:contain;border-radius:28px;background:var(--kdh-surface);border:1px solid var(--kdh-line);box-shadow:0 40px 120px rgba(0,0,0,.5);animation:kcIn .32s cubic-bezier(.2,.8,.2,1) both}
.kc-modal.closing .kc-modal-box{animation:kcOut .18s ease both}
@keyframes kcIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes kcOut{to{opacity:0;transform:translateY(14px) scale(.98)}}
.kc-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:30px 32px 26px;color:#fff;background-size:cover;background-position:center}
.kc-modal-head-lux{background-image:linear-gradient(100deg,rgba(8,9,16,.94),rgba(8,9,16,.7)),url('/assets/img/contact/card-luxury.webp')}
.kc-modal-head-credit{background-image:linear-gradient(100deg,rgba(10,10,28,.94),rgba(30,22,80,.72)),url('/assets/img/contact/card-credit.webp')}
.kc-modal-head h2{margin:10px 0 8px;font-size:clamp(26px,3.4vw,34px);color:#fff}
.kc-modal-head p{margin:0;font-size:14px;color:#bfc4d6!important;max-width:470px}
.kc-modal-x{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:15px;cursor:pointer;transition:background .2s,transform .2s}
.kc-modal-x:hover{background:rgba(255,255,255,.18);transform:rotate(90deg)}
.kc-form{margin:0;padding:26px 32px 32px}
.kc-form-step{margin:6px 0 -2px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--kdh-primary)!important}
.kc-form-step:not(:first-of-type){margin-top:14px;padding-top:18px;border-top:1px solid var(--kdh-line)}
.kc-form input::placeholder,.kc-form textarea::placeholder{color:color-mix(in srgb,var(--kdh-muted) 70%,transparent)}
.kc-form-foot{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:8px}
.kc-form-foot small{font-size:12px;color:var(--kdh-muted)}
html[data-theme=dark] .kc-form input,html[data-theme=dark] .kc-form select,html[data-theme=dark] .kc-form textarea{color-scheme:dark}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1100px){
 .kc-hero{min-height:0;display:block;padding:130px 0 0;background:#050a1f}
 .kc-hero-bg{background:#050a1f}
 .kc-hero-bg:after{display:none}
 .kc-hero-copy{max-width:640px}
 body.kc .kc-hero-phone{display:block;width:100%;max-width:760px;margin:-10px auto 0;aspect-ratio:1110/1036;object-fit:cover;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 82%,transparent 100%)}
}
@media(max-width:860px){
 .kc-cards{grid-template-columns:1fr}
 .kc-card{min-height:420px}
 .kc-info{grid-template-columns:1fr}
}
@media(max-width:600px){
 .kc-hero{padding-top:112px}
 .kc-lead{font-size:16px}
 .kc-hero-actions .kp-btn{width:100%}
 .kc-hero-facts li{padding:0 16px}
 .kc-hero-facts b{font-size:22px}
 .kc-card{min-height:400px;border-radius:24px}
 .kc-card-body{padding:26px 22px}
 .kc-card-num{font-size:80px;top:-120px;right:20px}
 .kc-card-btn{width:100%;justify-content:space-between}
 .kc-modal[open]{place-items:end center}
 .kc-modal-box{width:100%;max-height:92svh;border-radius:26px 26px 0 0;animation-name:kcSheet}
 .kc-modal-head{padding:24px 20px 20px}
 .kc-form{padding:22px 20px 28px}
 @keyframes kcSheet{from{transform:translateY(100%)}to{transform:none}}
}
@media(prefers-reduced-motion:reduce){.kc-modal-box,.kc-card,.kc-card-bg{animation:none!important;transition:none!important}}
