/* ══ TOKENS — Paleta Vanguard Warm verificada ══ */
:root {
  --ink:        #11121F;
  --ink-mid:    #1a1b30;
  --violet:     #420089;
  --vio-mid:    #6B1FAB;
  --electric:   #424AFE;
  --elec-s:     #7B82FF;
  --turq:       #05D3FF;
  --ocre:       #C4882A;
  --gold:       #C4882A;
  --gold-light: #E8B96A;
  --ice:        #F7F8FC;
  --lav:        #EDEEF7;
  --cool:       #C2C5D9;
  --slate:      #7C80A0;
  --charcoal:   #2B2D42;
  --f-d: 'Playfair Display', serif;
  --f-b: 'Outfit', sans-serif;
  --f-m: 'DM Mono', monospace;
}
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--f-b); background:var(--ice); color:var(--charcoal); overflow-x:hidden; }
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-thumb { background:var(--electric); border-radius:2px; }

/* ── UTILS ── */
.w { max-width:1100px; margin:0 auto; padding:0 48px; }
@media(max-width:640px) { .w { padding:0 22px; } }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s ease; }
.reveal.on { opacity:1; transform:none; }

/* ══ NAV ══ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 48px;
  background:rgba(17,18,31,.92); backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.06); transition:background .3s;
}
.nav-logo { font-family:var(--f-d); font-size:.98rem; font-weight:700; color:#fff; }
.nav-logo em { color:var(--gold-light); font-style:normal; }
.nav-links { display:flex; gap:26px; list-style:none; }
.nav-links a {
  font-family:var(--f-m); font-size:10px; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--slate); text-decoration:none; transition:color .2s;
}
.nav-links a:hover,.nav-links a.active { color:var(--turq); }
.nav-btn {
  font-family:var(--f-m); font-size:10px; letter-spacing:2px; text-transform:uppercase;
  background:var(--electric); color:#fff; padding:9px 22px; border-radius:6px;
  text-decoration:none; box-shadow:0 0 18px rgba(66,74,254,.4); transition:transform .2s,box-shadow .2s;
}
.nav-btn:hover { transform:translateY(-1px); box-shadow:0 0 28px rgba(66,74,254,.6); }
@media(max-width:768px) { .nav-links { display:none; } nav { padding:14px 22px; } }

/* ══ §1 HERO ══ */
#hero {
  min-height:100vh; background:var(--ink);
  display:flex; align-items:stretch; padding-top:72px;
  position:relative; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 65% at 100% 0%,rgba(66,74,254,.2) 0%,transparent 55%),
    radial-gradient(ellipse 45% 55% at 0% 100%,rgba(5,211,255,.08) 0%,transparent 55%),
    radial-gradient(ellipse 40% 40% at 40% 50%,rgba(66,0,137,.12) 0%,transparent 60%);
}
.hero-grid-bg {
  position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:60px 60px;
}
.hero-inner {
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 400px;
  align-items:center; width:100%; max-width:1100px; margin:0 auto; padding:60px 48px;
}
@media(max-width:900px) { .hero-inner { grid-template-columns:1fr; gap:40px; padding:60px 22px; } }
.hero-tag {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(66,74,254,.15); border:1px solid rgba(66,74,254,.4);
  color:var(--elec-s); font-family:var(--f-m); font-size:10px; letter-spacing:3px; text-transform:uppercase;
  padding:7px 18px; border-radius:100px; margin-bottom:28px;
  opacity:0; animation:up .7s ease forwards .3s;
}
.hero-tag::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--turq); box-shadow:0 0 8px var(--turq); animation:blink 2s ease infinite; }
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.hero-name {
  font-family:var(--f-d); font-size:clamp(2.8rem,5.5vw,5rem); font-weight:900; color:#fff; line-height:1;
  opacity:0; animation:up .75s ease forwards .5s;
}
.hero-role {
  font-family:var(--f-d); font-size:clamp(1.1rem,2.2vw,1.6rem); font-weight:400; font-style:italic;
  color:var(--gold-light); margin-bottom:22px;
  opacity:0; animation:up .75s ease forwards .65s;
}
.hero-bio {
  font-size:.95rem; font-weight:300; color:var(--cool); line-height:1.85; max-width:500px; margin-bottom:32px;
  opacity:0; animation:up .75s ease forwards .8s;
}
.hero-bio strong { color:#fff; font-weight:600; }
.hero-kpis {
  display:flex; gap:28px; flex-wrap:wrap; margin-bottom:36px;
  opacity:0; animation:up .75s ease forwards .95s;
}
.kpi-n {
  font-family:var(--f-d); font-size:2.1rem; font-weight:900; line-height:1;
  background:linear-gradient(135deg,var(--gold-light),var(--ocre));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.kpi-l { font-family:var(--f-m); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--slate); margin-top:3px; }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; opacity:0; animation:up .75s ease forwards 1.1s; }
.btn-e {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--electric); color:#fff; font-weight:600; font-size:.85rem;
  padding:12px 28px; border-radius:8px; text-decoration:none;
  box-shadow:0 4px 22px rgba(66,74,254,.45); transition:transform .2s,box-shadow .2s;
}
.btn-e:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(66,74,254,.6); }
.btn-g {
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; color:var(--ice); font-size:.85rem;
  padding:12px 28px; border-radius:8px; text-decoration:none;
  border:1px solid rgba(255,255,255,.15); transition:border-color .2s,background .2s,color .2s;
}
.btn-g:hover { border-color:var(--turq); background:rgba(5,211,255,.06); color:var(--turq); }

/* PHOTO */
.hero-photo-col { display:flex; justify-content:flex-end; align-items:flex-end; position:relative; opacity:0; animation:up .9s ease forwards .7s; }
.photo-frame { position:relative; width:360px; }
@media(max-width:900px) { .photo-frame { width:100%; max-width:320px; margin:0 auto; } }
.photo-img { width:100%; aspect-ratio:3/4; border-radius:24px 24px 0 0; object-fit:cover; object-position:center 20%; display:block; }
.photo-accent {
  position:absolute; bottom:24px; left:-28px;
  background:var(--electric); border-radius:14px; padding:12px 16px;
  box-shadow:0 8px 28px rgba(66,74,254,.45); text-align:center; min-width:120px;
  border:1px solid rgba(255,255,255,.1);
}
.pa-big { font-family:var(--f-d); font-size:1.7rem; font-weight:900; color:#fff; line-height:1; }
.pa-sm { font-family:var(--f-m); font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.7); margin-top:3px; }
.photo-tag {
  position:absolute; top:18px; left:-22px;
  background:rgba(5,211,255,.12); border:1px solid rgba(5,211,255,.3);
  border-radius:100px; padding:5px 13px;
  font-family:var(--f-m); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--turq);
}
@keyframes up { from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;} }

/* ══ §2 SERVICIOS / PAF ══ */
#servicios { background:var(--ice); padding:96px 0; position:relative; overflow:hidden; }
#servicios::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--electric),var(--turq),var(--gold-light));
}
.sec-lbl {
  font-family:var(--f-m); font-size:11px; letter-spacing:3px; text-transform:uppercase;
  display:flex; align-items:center; gap:10px; margin-bottom:12px;
}
.sec-lbl::before { content:''; height:1px; width:28px; display:block; background:currentColor; }
.sec-ttl { font-family:var(--f-d); font-size:clamp(1.9rem,3.5vw,2.8rem); font-weight:700; line-height:1.15; margin-bottom:14px; color:var(--ink); }
.sec-dsc { font-size:.93rem; font-weight:300; line-height:1.85; max-width:680px; margin-bottom:44px; color:var(--slate); }

/* PAF Stepper */
.paf-container { margin-top:40px; position:relative; }
.paf-line {
  position:absolute; top:40px; left:10%; right:10%; height:2px;
  background:var(--lav); z-index:0;
}
@media(max-width:900px) { .paf-line { display:none; } }
.paf-stepper {
  display:grid; grid-template-columns:repeat(5,1fr); gap:15px;
  margin-bottom:52px; position:relative;
}
@media(max-width:900px) { .paf-stepper { grid-template-columns:1fr; } }
.paf-step {
  background:#fff; border:1px solid rgba(66,74,254,.1); border-radius:16px; padding:24px 20px;
  transition:all .3s ease; position:relative; z-index:1;
}
.paf-step:hover { transform:translateY(-5px); border-color:var(--electric); box-shadow:0 10px 30px rgba(66,74,254,.1); }
.paf-num {
  font-family:var(--f-d); font-size:2.2rem; font-weight:900; color:var(--lav); margin-bottom:10px; transition:color .3s;
}
.paf-step:hover .paf-num { color:var(--elec-s); }
.paf-step h4 {
  font-family:var(--f-d); font-size:1rem; font-weight:700; color:var(--ink);
  margin-bottom:8px; text-transform:uppercase; letter-spacing:.5px;
}
.paf-step p { font-size:.8rem; color:var(--slate); line-height:1.6; }

/* Imagen ALMA en PAF */
.paf-imgs {
  display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:48px;
}
@media(max-width:640px) { .paf-imgs { grid-template-columns:1fr; } }
.paf-img-wrap {
  border-radius:16px; overflow:hidden;
  box-shadow:0 5px 24px rgba(17,18,31,.1); border:1px solid rgba(66,74,254,.1);
  aspect-ratio:16/10;
}
.paf-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; }

/* Cards servicios */
.serv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:0; }
@media(max-width:900px) { .serv-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:560px) { .serv-grid { grid-template-columns:1fr; } }
.s-card {
  background:#fff; border-radius:20px; padding:28px 24px;
  border:1px solid rgba(66,74,254,.1); box-shadow:0 4px 20px rgba(17,18,31,.06);
  position:relative; overflow:hidden; transition:transform .3s,box-shadow .3s,border-color .3s;
}
.s-card:hover { transform:translateY(-6px); box-shadow:0 14px 44px rgba(17,18,31,.1); border-color:rgba(66,74,254,.3); }
.s-top { height:3px; position:absolute; top:0; left:0; right:0; }
.s-icon { width:48px; height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:14px; }
.s-card h3 { font-family:var(--f-d); font-size:1.05rem; font-weight:700; color:var(--ink); margin-bottom:9px; }
.s-card p { font-size:.83rem; color:var(--slate); line-height:1.75; margin-bottom:14px; }
.s-tags { display:flex; flex-wrap:wrap; gap:6px; }
.stag { font-family:var(--f-m); font-size:9px; letter-spacing:1.5px; text-transform:uppercase; padding:3px 10px; border-radius:100px; border:1px solid; }
.prop-badge {
  display:inline-block; background:var(--gold); color:#fff;
  font-family:var(--f-m); font-size:9px; padding:2px 9px; border-radius:4px;
  margin-bottom:8px; font-weight:600; letter-spacing:1px;
}

/* Caja Docencia IP Culinary */
.docencia-box {
  background:var(--ink); border:1px solid rgba(66,74,254,.2);
  border-radius:20px; padding:36px 40px; margin-top:20px;
  position:relative; overflow:hidden;
}
.docencia-box::before {
  content:''; position:absolute; top:-60px; right:-60px; width:250px; height:250px;
  border-radius:50%; background:radial-gradient(circle,rgba(5,211,255,.1) 0%,transparent 65%);
  pointer-events:none;
}
.docencia-kpi {
  display:flex; gap:10px; align-items:baseline; margin-bottom:12px;
}
.dk-n { font-family:var(--f-d); font-size:3rem; font-weight:900; line-height:1; background:linear-gradient(135deg,var(--gold-light),var(--ocre)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.dk-l { font-size:.85rem; color:var(--cool); font-weight:300; }
.docencia-box h3 { font-family:var(--f-d); font-size:1.5rem; font-weight:700; color:#fff; margin-bottom:10px; line-height:1.2; }
.docencia-box p { font-size:.88rem; color:var(--cool); line-height:1.82; font-weight:300; margin-bottom:20px; }
.doc-tags { display:flex; flex-wrap:wrap; gap:8px; }
.doc-tag { font-family:var(--f-m); font-size:10px; letter-spacing:1.5px; text-transform:uppercase; padding:5px 14px; border-radius:100px; }

/* ══ §3 PORTFOLIO ══ */
#portfolio { background:var(--ink-mid); color:#fff; padding:96px 0; position:relative; overflow:hidden; }
.port-glow { position:absolute; top:-180px; right:-80px; width:550px; height:550px; border-radius:50%; background:radial-gradient(circle,rgba(66,0,137,.18) 0%,transparent 65%); pointer-events:none; }
.port-filters { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; }
.pf {
  font-family:var(--f-m); font-size:10px; letter-spacing:2px; text-transform:uppercase;
  padding:7px 18px; border-radius:100px; border:1px solid rgba(255,255,255,.15);
  color:var(--slate); background:transparent; cursor:pointer; transition:all .2s;
}
.pf.active,.pf:hover { border-color:var(--electric); color:var(--electric); background:rgba(66,74,254,.1); }
.port-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:900px) { .port-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:560px) { .port-grid { grid-template-columns:1fr; } }
.p-card {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
  border-radius:18px; padding:26px; transition:transform .3s,border-color .3s,background .3s;
}
.p-card:hover { transform:translateY(-5px); border-color:rgba(66,74,254,.35); background:rgba(66,74,254,.06); }
.p-logo { width:44px; height:44px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; margin-bottom:14px; }
.p-co { font-family:var(--f-m); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--slate); margin-bottom:5px; }
.p-name { font-family:var(--f-d); font-size:1rem; font-weight:700; color:#fff; margin-bottom:9px; }
.p-desc { font-size:.8rem; color:var(--cool); line-height:1.72; margin-bottom:14px; }
.p-stats { display:flex; gap:18px; flex-wrap:wrap; margin-bottom:12px; }
.p-stat .n { font-family:var(--f-d); font-size:1.3rem; font-weight:900; color:var(--gold-light); line-height:1; }
.p-stat .l { font-family:var(--f-m); font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:var(--slate); margin-top:2px; }
.p-tags { display:flex; gap:6px; flex-wrap:wrap; }
.pt { font-family:var(--f-m); font-size:9px; letter-spacing:1px; text-transform:uppercase; padding:3px 9px; border-radius:100px; }
.p-card.feat { grid-column:span 2; background:linear-gradient(135deg,rgba(66,74,254,.1),rgba(5,211,255,.05)); border-color:rgba(66,74,254,.18); }
@media(max-width:560px) { .p-card.feat { grid-column:span 1; } }

/* ══ §4 CONECTA ══ */
#conecta { background:var(--lav); padding:96px 0; position:relative; }
.conecta-grid { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:start; }
@media(max-width:840px) { .conecta-grid { grid-template-columns:1fr; gap:36px; } }
.social-intro { font-size:.9rem; color:var(--slate); font-weight:300; line-height:1.82; margin-bottom:28px; }
.social-cards { display:flex; flex-direction:column; gap:12px; }
.soc-card {
  display:flex; align-items:center; gap:14px;
  background:#fff; border:1px solid rgba(66,74,254,.1);
  border-radius:14px; padding:16px 20px; text-decoration:none;
  box-shadow:0 2px 12px rgba(17,18,31,.05); transition:transform .2s,border-color .2s,box-shadow .2s;
}
.soc-card:hover { transform:translateX(5px); border-color:rgba(66,74,254,.3); box-shadow:0 4px 20px rgba(66,74,254,.1); }
.soc-icon { width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.soc-net { font-family:var(--f-m); font-size:9px; letter-spacing:2px; text-transform:uppercase; margin-bottom:3px; }
.soc-handle { font-family:var(--f-d); font-size:.95rem; font-weight:700; color:var(--ink); }
.soc-desc { font-size:.75rem; color:var(--slate); margin-top:2px; }
.soc-arr { margin-left:auto; font-size:1rem; color:var(--cool); transition:transform .2s; }
.soc-card:hover .soc-arr { transform:translateX(3px); color:var(--electric); }

/* Lead magnet */
.lead-box {
  background:var(--ink); border:1px solid rgba(66,74,254,.2);
  border-radius:22px; padding:36px; position:relative; overflow:hidden;
}
.lead-box::before {
  content:''; position:absolute; top:-60px; right:-60px; width:200px; height:200px;
  border-radius:50%; background:radial-gradient(circle,rgba(5,211,255,.08) 0%,transparent 65%); pointer-events:none;
}
.lead-badge {
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(232,185,106,.1); border:1px solid rgba(232,185,106,.28);
  color:var(--gold-light); font-family:var(--f-m); font-size:10px; letter-spacing:2px; text-transform:uppercase;
  padding:5px 14px; border-radius:100px; margin-bottom:18px;
}
.lead-title { font-family:var(--f-d); font-size:1.5rem; font-weight:700; color:#fff; line-height:1.25; margin-bottom:10px; }
.lead-title span { background:linear-gradient(90deg,var(--electric),var(--turq)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.lead-desc { font-size:.83rem; color:var(--cool); line-height:1.78; margin-bottom:20px; font-weight:300; }
.lead-items { display:flex; flex-direction:column; gap:9px; margin-bottom:24px; }
.lead-item {
  display:flex; align-items:flex-start; gap:10px;
  font-size:.82rem; color:var(--ice); line-height:1.55;
}
.lead-item::before {
  content:'✓'; flex-shrink:0; margin-top:1px;
  width:20px; height:20px; border-radius:50%;
  background:rgba(66,74,254,.22); color:var(--turq);
  display:flex; align-items:center; justify-content:center; font-size:.68rem; font-weight:700;
}
/* Lead form enhancements */
.lead-form { display:flex; flex-direction:column; gap:14px; }
.lead-form input {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:12px; padding:14px 18px; color:#fff;
  font-family:var(--f-b); font-size:.9rem; outline:none; transition:all .3s ease;
}
.lead-form input::placeholder { color:var(--slate); opacity:.6; }
.lead-form input:focus { 
  border-color:var(--turq); background:rgba(255,255,255,.08);
  box-shadow: 0 0 20px rgba(5,211,255,.1);
}

/* Interest selection */
.interest-label { 
  font-family: var(--f-m); font-size: 10px; letter-spacing: 1.5px; 
  color: var(--slate); text-transform: uppercase; margin: 12px 0 4px 4px;
}
.interest-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px;
}
@media(max-width:480px) { .interest-grid { grid-template-columns: 1fr; } }

.interest-item {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.02); border: 1px solid rgba(255,255,255,.06);
  border-radius: 10px; padding: 12px; cursor: pointer;
  transition: all .2s cubic-bezier(0.4, 0, 0.2, 1); user-select: none;
}
.interest-item:hover { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); }
.interest-item.active { 
  background: rgba(5,211,255,.08); border-color: var(--turq); 
  box-shadow: 0 0 20px rgba(5,211,255,.1);
}

.interest-check {
  width: 18px; height: 18px; border: 1.5px solid rgba(255,255,255,.15); border-radius: 5px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: all .2s; font-size: 11px; color: transparent;
}
.interest-item.active .interest-check {
  background: var(--turq); border-color: var(--turq); color: var(--ink);
}
.interest-text { font-size: 11px; color: var(--cool); transition: color .2s; letter-spacing: .2px; }
.interest-item.active .interest-text { color: #fff; font-weight: 600; }

.lead-submit {
  background: linear-gradient(135deg, var(--electric), #5B62FF);
  color: #fff; border: none; border-radius: 12px; padding: 16px;
  font-family: var(--f-b); font-size:.95rem; font-weight:700; cursor:pointer;
  box-shadow:0 8px 24px rgba(66,74,254,.3); transition:all .3s ease;
  margin-top: 6px; letter-spacing: .5px;
}
.lead-submit:hover { 
  transform: translateY(-2px) scale(1.02); 
  box-shadow: 0 12px 32px rgba(66,74,254,.5);
}

/* Success Journey Layout */
.success-journey {
  text-align: left; padding: 10px 0;
}
.sj-title { font-family: var(--f-d); font-size: 1.4rem; color: var(--turq); margin-bottom: 8px; }
.sj-desc { font-size: .85rem; color: var(--cool); line-height: 1.6; margin-bottom: 24px; }
.sj-next { 
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px; padding: 20px; margin-top: 20px;
}
.sj-next h4 { font-family: var(--f-m); font-size: 10px; letter-spacing: 2px; color: var(--gold-light); margin-bottom: 12px; text-transform: uppercase; }
.sj-next p { font-size: .82rem; color: #fff; margin-bottom: 18px; line-height: 1.5; }
.sj-btn-wrap { display: flex; flex-direction: column; gap: 10px; }

.lead-privacy { font-size:.7rem; color:var(--slate); text-align:center; margin-top:12px; opacity: .7; }
.social-proof { 
  font-family: var(--f-m); font-size: 9px; color: var(--gold-light); 
  letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 12px;
  display: flex; align-items: center; gap: 8px;
}
.social-proof::before { content: '●'; color: #25D366; font-size: 8px; animation: blink 2s infinite; }
.lead-submit:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(66,74,254,.52); }
.lead-privacy { font-size:.72rem; color:var(--slate); text-align:center; margin-top:8px; }

/* ══ §5 CONTACTO ══ */
#contacto { background:var(--ink); padding:96px 0; position:relative; overflow:hidden; }
.cta-gl1 { position:absolute; top:-100px; left:-80px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle,rgba(66,74,254,.18) 0%,transparent 60%); pointer-events:none; }
.cta-gl2 { position:absolute; bottom:-80px; right:-60px; width:380px; height:380px; border-radius:50%; background:radial-gradient(circle,rgba(5,211,255,.09) 0%,transparent 60%); pointer-events:none; }
.cta-inner { text-align:center; max-width:660px; margin:0 auto; position:relative; z-index:2; }
.cta-sup { font-family:var(--f-m); font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--turq); display:block; margin-bottom:18px; }
.cta-title { font-family:var(--f-d); font-size:clamp(2rem,5vw,3.5rem); font-weight:900; color:#fff; line-height:1.1; margin-bottom:18px; }
.cta-title em { font-style:italic; color:var(--gold-light); }
.cta-desc { font-size:.95rem; color:var(--cool); line-height:1.85; margin-bottom:36px; font-weight:300; }
.cta-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:48px; }
.cta-info { display:flex; gap:36px; justify-content:center; flex-wrap:wrap; }
.ci { display:flex; align-items:center; gap:8px; }
.ci-dot { width:7px; height:7px; border-radius:50%; }
.ci-txt { font-family:var(--f-m); font-size:10px; letter-spacing:1.5px; color:var(--cool); }

/* ══ FOOTER ══ */
footer { background:var(--ink); border-top:1px solid rgba(255,255,255,.05); padding:44px; text-align:center; }
.f-logo { font-family:var(--f-d); font-size:1.1rem; font-weight:700; color:#fff; margin-bottom:10px; }
.f-logo em { color:var(--gold-light); font-style:normal; }
.f-strip { width:100px; height:3px; border-radius:2px; margin:12px auto; background:linear-gradient(90deg,var(--electric),var(--turq),var(--gold-light)); }
.f-copy { font-family:var(--f-m); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--slate); }
/* Floating WhatsApp */
.float-wa {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 56px;
  height: 56px;
  background-color: #25D366;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(37,211,102,0.3);
  z-index: 999;
  transition: all 0.3s ease;
}
.float-wa:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 8px 22px rgba(37,211,102,0.4);
}
@media (max-width: 768px) {
  .float-wa { bottom: 16px; right: 16px; width: 50px; height: 50px; }
  .float-wa svg { width: 24px; height: 24px; }
}
/* ══ CONTACT FORM PREMIUM ══ */
.contact-form-wrap {
  margin-top: 40px; text-align: left;
  background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06);
  padding: 40px; border-radius: 24px; backdrop-filter: blur(10px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
}
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
@media(max-width:640px) { .contact-grid { grid-template-columns: 1fr; } }

.field-group { display: flex; flex-direction: column; gap: 8px; }
.field-group label { font-family: var(--f-m); font-size: 10px; letter-spacing: 2px; color: var(--slate); text-transform: uppercase; padding-left: 5px; }
.field-group input, .field-group textarea {
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px; padding: 16px; color: #fff; font-family: var(--f-b);
  font-size: .95rem; transition: all 0.3s;
}
.field-group input:focus, .field-group textarea:focus {
  border-color: var(--turq); background: rgba(255,255,255,0.07);
  box-shadow: 0 0 20px rgba(5,211,255,0.1); outline: none;
}
.contact-submit {
  width: 100%; padding: 18px; border-radius: 12px; border: none;
  background: var(--electric); color: #fff; font-family: var(--f-b);
  font-weight: 700; font-size: 1rem; cursor: pointer;
  transition: all 0.3s; box-shadow: 0 10px 30px rgba(66,74,254,0.3);
}
.contact-submit:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(66,74,254,0.5); }

.contact-success {
  display: none; padding: 40px; text-align: center;
  background: rgba(5,211,255,0.05); border: 1px solid var(--turq);
  border-radius: 24px; animation: fadeIn .5s ease forwards;
}
.contact-success h3 { font-family: var(--f-d); font-size: 1.8rem; color: var(--turq); margin-bottom: 10px; }
.contact-success p { color: var(--cool); font-size: .95rem; }
