/* ============================================================
   NEXUS — Sitio corporativo
   Paleta: Dorado + Negro (Elite)
   ============================================================ */

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }

:root{
  --gold:       #B8943A;
  --gold-l:     #D4AC4A;
  --gold-br:    #F0C850;
  --gold-dim:   #8A6F2C;
  --dark:       #050505;
  --dark-2:     #0A0A08;
  --dark-3:     #111110;
  --panel:      #0E0E0C;
  --line:       rgba(184,148,58,0.22);
  --line-soft:  rgba(184,148,58,0.10);
  --text:       #DCD6C2;
  --text-dim:   #8A8470;
  --muted:      #5E5945;
  --white:      #F6F1DC;
  --green:      #00FF88;
  --red:        #FF3B3B;
  --grad-gold:  linear-gradient(90deg,#8A6F2C 0%, #D4AC4A 40%, #F0C850 55%, #D4AC4A 70%, #8A6F2C 100%);
}

html { scroll-behavior:smooth; }

body{
  font-family:'Exo 2', system-ui, sans-serif;
  background:var(--dark);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-height:1.55;
}

/* Subtle film-grain / scanlines overlay */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:200;
  background:
    repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(255,255,255,0.012) 2px,rgba(255,255,255,0.012) 3px);
  mix-blend-mode:overlay;
}
body::after{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:201;
  background:radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,0.55) 100%);
}

img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; border:0; background:none; color:inherit; }

/* ===================== Typography ===================== */
.serif { font-family:'Cinzel', 'Cormorant Garamond', serif; }
.mono  { font-family:'Share Tech Mono', monospace; }
.tac   { font-family:'Rajdhani', sans-serif; }

h1,h2,h3,h4 { font-family:'Cinzel', serif; font-weight:600; color:var(--white); letter-spacing:.04em; }

.eyebrow{
  font-family:'Share Tech Mono', monospace;
  font-size:11px; letter-spacing:.45em;
  color:var(--gold); text-transform:uppercase;
  display:inline-flex; align-items:center; gap:14px;
}
.eyebrow::before, .eyebrow::after{
  content:""; width:32px; height:1px; background:var(--gold); opacity:.6;
}
.eyebrow.left::before{ display:none; }
.eyebrow.right::after{ display:none; }

.h-display{
  font-family:'Cinzel', serif;
  font-weight:600;
  font-size:clamp(40px, 6.4vw, 96px);
  line-height:.98;
  letter-spacing:.06em;
  color:var(--white);
  text-transform:uppercase;
}
.h-section{
  font-size:clamp(28px, 3.6vw, 52px);
  line-height:1.05;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.gold      { color:var(--gold-l); }
.gold-grad {
  background:var(--grad-gold);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* ===================== Layout ===================== */
.container{
  max-width:1320px; margin:0 auto; padding:0 32px;
}
section { position:relative; padding:120px 0; }
.section-head{ text-align:center; margin-bottom:64px; }
.section-head .h-section{ margin-top:18px; }
.section-head p{ max-width:640px; margin:18px auto 0; color:var(--text-dim); }

/* ===================== NAV ===================== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 40px;
  background:linear-gradient(180deg, rgba(5,5,5,.85), rgba(5,5,5,.4));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:padding .35s ease, background .35s ease, border-color .35s ease;
}
.nav.scrolled{
  padding:12px 40px;
  background:rgba(5,5,5,.92);
  border-bottom:1px solid var(--line);
}
.nav-logo{ display:flex; align-items:center; gap:12px; }
.nav-logo img{ height:42px; }
.nav-logo .name{
  font-family:'Cinzel',serif; font-weight:600;
  letter-spacing:.32em; color:var(--white); font-size:18px;
}
.nav-links{
  display:flex; gap:34px;
  font-family:'Rajdhani',sans-serif;
  font-size:13px; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase;
}
.nav-links a{ position:relative; color:var(--text-dim); transition:color .25s; }
.nav-links a::after{
  content:""; position:absolute; left:0; right:0; bottom:-8px; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .35s ease;
}
.nav-links a:hover{ color:var(--gold-br); }
.nav-links a:hover::after{ transform:scaleX(1); }

.nav-cta{
  display:inline-flex; align-items:center; gap:10px;
  padding:11px 22px;
  border:1px solid var(--gold);
  font-family:'Rajdhani',sans-serif; font-weight:700; font-size:12px;
  letter-spacing:.3em; text-transform:uppercase; color:var(--gold-br);
  position:relative; overflow:hidden; transition:color .3s;
}
.nav-cta::before{
  content:""; position:absolute; inset:0; background:var(--grad-gold);
  transform:translateY(101%); transition:transform .35s ease;
  z-index:-1;
}
.nav-cta:hover{ color:var(--dark); }
.nav-cta:hover::before{ transform:translateY(0); }

.burger{ display:none; }

/* ===================== HERO ===================== */
.hero{
  position:relative; min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding:140px 24px 160px;
  overflow:hidden;
  background:radial-gradient(ellipse at 50% 30%, #1a1612 0%, #050505 60%);
}
.hero-bg{
  position:absolute; inset:0; z-index:0;
  background-image:url('assets-opt/escolta-raptor.jpg');
  background-size:cover; background-position:center;
  opacity:.85; filter:grayscale(.15) contrast(1.08);
}
.hero-bg::after{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse at center, transparent 0%, rgba(5,5,5,.45) 55%, rgba(5,5,5,.95) 100%),
    linear-gradient(180deg, rgba(5,5,5,.45) 0%, transparent 35%, rgba(5,5,5,.92) 100%);
}
/* Tactical grid */
.hero-grid{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:
    linear-gradient(rgba(184,148,58,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184,148,58,.06) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.hero-corner{
  position:absolute; width:80px; height:80px; border:2px solid var(--gold);
  z-index:2; pointer-events:none;
}
.hero-corner.tl{ top:90px; left:32px; border-right:0; border-bottom:0; }
.hero-corner.tr{ top:90px; right:32px; border-left:0; border-bottom:0; }
.hero-corner.bl{ bottom:32px; left:32px; border-right:0; border-top:0; }
.hero-corner.br{ bottom:32px; right:32px; border-left:0; border-top:0; }

.hero-content{ position:relative; z-index:3; max-width:1100px; }
.hero-laurel{
  width:200px; height:auto; margin:0 auto 22px;
  filter:drop-shadow(0 0 30px rgba(240,200,80,.35));
  animation:float 6s ease-in-out infinite;
}
@keyframes float { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }

.hero h1{
  font-size:clamp(56px, 11vw, 168px);
  letter-spacing:.22em;
  line-height:1;
  margin:0 0 0 .22em; /* compensate letter-spacing */
}
.hero h1 .letter{
  display:inline-block;
  background:var(--grad-gold);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  opacity:0; transform:translateY(40px);
  animation:letterIn .9s cubic-bezier(.2,.7,.2,1) forwards;
}
@keyframes letterIn{ to{ opacity:1; transform:translateY(0); } }

.hero-slogan{
  font-family:'Cinzel', serif;
  font-size:clamp(14px, 1.5vw, 20px);
  letter-spacing:.55em;
  color:var(--gold-br);
  margin-top:28px; text-transform:uppercase;
  opacity:0; animation:fadeUp .9s .7s ease forwards;
}
.hero-sub{
  margin-top:36px;
  font-family:'Exo 2', sans-serif;
  font-size:clamp(15px, 1.2vw, 17px);
  color:var(--text-dim);
  max-width:620px; margin-left:auto; margin-right:auto;
  opacity:0; animation:fadeUp .9s .95s ease forwards;
}
@keyframes fadeUp{ from{ opacity:0; transform:translateY(20px);} to{ opacity:1; transform:translateY(0);} }

.hero-ctas{
  display:flex; gap:18px; justify-content:center; flex-wrap:wrap;
  margin-top:44px;
  opacity:0; animation:fadeUp .9s 1.15s ease forwards;
}
.btn{
  display:inline-flex; align-items:center; gap:14px;
  padding:18px 38px; font-family:'Rajdhani', sans-serif; font-weight:700;
  font-size:13px; letter-spacing:.32em; text-transform:uppercase;
  position:relative; overflow:hidden;
  transition:transform .25s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn .arrow{
  width:18px; height:1px; background:currentColor; position:relative;
  transition:width .35s;
}
.btn .arrow::after{
  content:""; position:absolute; right:0; top:-3px;
  width:7px; height:7px; border-top:1px solid currentColor; border-right:1px solid currentColor;
  transform:rotate(45deg);
}
.btn:hover .arrow{ width:28px; }
.btn-primary{
  background:var(--grad-gold); color:var(--dark); border:1px solid var(--gold-br);
}
.btn-primary::before{
  content:""; position:absolute; inset:0; background:#fff; opacity:0;
  transition:opacity .3s;
}
.btn-primary:hover::before{ opacity:.18; }
.btn-ghost{
  color:var(--gold-br); border:1px solid var(--gold);
  background:transparent;
}
.btn-ghost:hover{ background:rgba(184,148,58,.12); }

/* Hero strip stats */
.hero-strip{
  position:absolute; left:0; right:0; bottom:0; z-index:4;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 80px;
  gap:30px;
  background:linear-gradient(180deg, transparent, rgba(5,5,5,.95));
  border-top:1px solid var(--line);
  font-family:'Share Tech Mono', monospace;
  font-size:11px; letter-spacing:.3em; color:var(--text-dim);
  text-transform:uppercase;
}
.hero-strip > span{ flex:1; text-align:center; }
.hero-strip > span:first-child{ text-align:left; flex:1.2; }
.hero-strip > span:last-child{ text-align:right; flex:1.2; }
.hero-strip .pill{
  display:inline-flex; align-items:center; gap:8px;
}
.pulse{
  width:8px; height:8px; border-radius:50%;
  background:var(--green); box-shadow:0 0 12px var(--green);
  animation:pulse 1.6s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{opacity:1;} 50%{opacity:.3;} }

/* Scroll cue (hidden — replaced by hero-strip) */
.scroll-cue{ display:none; }

/* ===================== MARQUEE ===================== */
.marquee{
  border-block:1px solid var(--line);
  background:#08080a;
  padding:18px 0;
  overflow:hidden;
}
.marquee-track{
  display:flex; gap:60px; white-space:nowrap;
  animation:marq 38s linear infinite;
  font-family:'Cinzel', serif; font-size:22px; letter-spacing:.28em;
  color:var(--gold);
}
.marquee span{ display:inline-flex; align-items:center; gap:60px; }
.marquee span::after{
  content:"✦"; color:var(--gold-br); font-size:14px; opacity:.55;
}
@keyframes marq{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ===================== SOBRE / INTRO ===================== */
.intro{ padding:140px 0 100px; }
.intro-grid{
  display:grid; grid-template-columns:1.05fr 1fr; gap:80px; align-items:center;
}
.intro-copy p{ color:var(--text-dim); font-size:17px; margin-top:22px; }
.intro-copy .h-section{ margin-top:18px; }
.intro-stats{
  display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; margin-top:44px;
}
.stat{
  border:1px solid var(--line); padding:22px 24px;
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, rgba(184,148,58,.04), transparent);
}
.stat::before{
  content:""; position:absolute; top:0; left:0; width:48px; height:1px;
  background:var(--gold-br);
}
.stat .num{
  font-family:'Cinzel', serif; font-size:44px; line-height:1;
  background:var(--grad-gold);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  letter-spacing:.04em;
}
.stat .lbl{
  font-family:'Share Tech Mono', monospace; font-size:10px;
  letter-spacing:.3em; color:var(--text-dim); text-transform:uppercase;
  margin-top:10px;
}

.intro-photo{
  position:relative; aspect-ratio:5/6;
  border:1px solid var(--line); padding:14px;
}
.intro-photo::before, .intro-photo::after{
  content:""; position:absolute; width:30px; height:30px; border:2px solid var(--gold);
}
.intro-photo::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
.intro-photo::after { bottom:-1px; right:-1px; border-left:0; border-top:0; }
.intro-photo img{
  width:100%; height:100%; object-fit:cover; filter:contrast(1.04);
}
.intro-photo .badge{
  position:absolute; bottom:36px; left:36px; right:36px;
  background:rgba(5,5,5,.85);
  border:1px solid var(--line);
  padding:14px 18px;
  font-family:'Share Tech Mono', monospace; font-size:11px;
  letter-spacing:.25em; color:var(--gold-br); text-transform:uppercase;
  backdrop-filter:blur(8px);
}

/* ===================== SERVICIO ESPECIAL (Containers) ===================== */
.special{
  background:#08080a;
  border-block:1px solid var(--line);
  padding:140px 0;
  position:relative; overflow:hidden;
}
.special::before{
  content:"VERUS"; position:absolute;
  top:50%; left:50%; transform:translate(-50%,-50%);
  font-family:'Cinzel',serif; font-weight:700;
  font-size:clamp(160px, 22vw, 320px);
  color:rgba(184,148,58,.04);
  letter-spacing:.1em; pointer-events:none; z-index:0;
}
.special-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;
}
.special-copy h2{ margin-top:18px; }
.special-copy .lead{ color:var(--text); font-size:18px; margin:24px 0 28px; max-width:540px; }
.special-list{
  display:grid; gap:18px; margin-top:28px;
}
.special-list li{
  list-style:none; display:flex; align-items:flex-start; gap:18px;
  border-top:1px solid var(--line-soft); padding-top:18px;
}
.special-list li:first-child{ border-top:0; padding-top:0; }
.special-list .num{
  font-family:'Cinzel',serif; color:var(--gold-br);
  font-size:18px; min-width:34px; letter-spacing:.06em;
}
.special-list strong{ color:var(--white); font-family:'Rajdhani',sans-serif; font-weight:600; letter-spacing:.04em; font-size:17px; }
.special-list p{ color:var(--text-dim); font-size:14px; margin-top:4px; }

.special-mosaic{
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr;
  gap:14px; aspect-ratio:1/1;
}
.special-mosaic .cell{
  position:relative; overflow:hidden; border:1px solid var(--line);
}
.special-mosaic .cell img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .9s ease, filter .9s ease;
  filter:grayscale(.25) contrast(1.05);
}
.special-mosaic .cell:hover img{ transform:scale(1.08); filter:grayscale(0) contrast(1.1); }
.special-mosaic .cell .tag{
  position:absolute; bottom:10px; left:10px;
  background:rgba(5,5,5,.85); padding:6px 10px;
  font-family:'Share Tech Mono',monospace; font-size:10px;
  letter-spacing:.25em; color:var(--gold-br); text-transform:uppercase;
  border:1px solid var(--line);
}
.special-mosaic .cell.big{ grid-row:1 / span 2; }

/* ===================== METODO / PROGRAMAS ===================== */
.method{ padding:140px 0; }
.programs{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;
}
.prog{
  position:relative; padding:34px 26px 30px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, #0c0c0a 0%, #07070a 100%);
  min-height:280px;
  overflow:hidden;
  transition:transform .4s ease, border-color .4s ease;
}
.prog::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(240,200,80,.18), transparent 60%);
  opacity:0; transition:opacity .4s ease;
}
.prog:hover{ transform:translateY(-6px); border-color:var(--gold); }
.prog:hover::before{ opacity:1; }
.prog .pidx{
  font-family:'Share Tech Mono',monospace; font-size:11px;
  letter-spacing:.3em; color:var(--gold); margin-bottom:18px;
}
.prog .picon{
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  color:var(--gold-br); margin-bottom:18px;
}
.prog .picon svg{ width:40px; height:40px; }
.prog h3{
  font-family:'Cinzel',serif; font-size:20px; color:var(--white);
  letter-spacing:.06em; margin-bottom:12px; line-height:1.15;
}
.prog p{ color:var(--text-dim); font-size:14px; }
.prog .pnum-bg{
  position:absolute; right:-10px; bottom:-30px;
  font-family:'Cinzel',serif; font-weight:700;
  font-size:120px; line-height:1; color:rgba(184,148,58,.05);
  pointer-events:none;
}
.prog.featured{
  grid-column:span 2;
  background:linear-gradient(135deg, #1a1409 0%, #0b0a08 100%);
  border-color:var(--gold);
}
.prog.featured::after{
  content:"MÉTODO NEXUS"; position:absolute; top:18px; right:20px;
  font-family:'Share Tech Mono',monospace; font-size:10px;
  letter-spacing:.3em; color:var(--gold-br);
  background:rgba(5,5,5,.75); padding:6px 10px; border:1px solid var(--gold);
}
.prog.featured h3{ font-size:30px; }

/* ===================== MONITOREO LIVE ===================== */
.monitor{
  padding:120px 0 140px;
  background:linear-gradient(180deg, #050505 0%, #0a0a08 100%);
  border-top:1px solid var(--line);
}
.monitor-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:40px; gap:40px; flex-wrap:wrap;
}
.monitor-head .left{ max-width:620px; }
.monitor-head h2{ margin-top:14px; }
.monitor-head p{ color:var(--text-dim); margin-top:14px; }
.monitor-head .live{
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid var(--green); background:rgba(0,255,136,.07);
  padding:10px 16px;
  font-family:'Rajdhani',sans-serif; font-weight:700;
  letter-spacing:.3em; font-size:12px; color:var(--green);
  text-transform:uppercase;
}
.monitor-frame{
  position:relative; border:1px solid var(--gold);
  background:#000;
  height:820px; max-height:75vh; min-height:560px;
  overflow:hidden;
}
.monitor-frame iframe{
  width:100%; height:100%; border:0; display:block;
  transform-origin:top left;
}
.monitor-frame::before,
.monitor-frame::after{
  content:""; position:absolute; width:24px; height:24px; border:2px solid var(--gold-br);
  z-index:5; pointer-events:none;
}
.monitor-frame::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
.monitor-frame::after { bottom:-1px; right:-1px; border-left:0; border-top:0; }

.monitor-strip{
  display:grid; grid-template-columns:repeat(4, 1fr);
  gap:0; margin-top:30px;
  border:1px solid var(--line);
}
.monitor-strip .ms-cell{
  padding:22px 26px; border-right:1px solid var(--line);
  background:rgba(184,148,58,.03);
}
.monitor-strip .ms-cell:last-child{ border-right:0; }
.monitor-strip .ms-val{
  font-family:'Cinzel',serif; font-size:28px; color:var(--gold-br);
  line-height:1;
}
.monitor-strip .ms-lbl{
  font-family:'Share Tech Mono',monospace; font-size:10px;
  letter-spacing:.3em; color:var(--text-dim); text-transform:uppercase;
  margin-top:10px;
}

/* ===================== EQUIPO / RECURSOS ===================== */
.team{ padding:140px 0; }
.team-grid{
  display:grid; grid-template-columns:repeat(12, 1fr);
  gap:16px;
}
.tcard{
  position:relative; overflow:hidden;
  border:1px solid var(--line);
  min-height:300px;
}
.tcard img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.2s ease, filter 1.2s ease;
  filter:grayscale(.15) contrast(1.06);
}
.tcard:hover img{ transform:scale(1.06); filter:grayscale(0) contrast(1.1); }
.tcard::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(5,5,5,.95) 100%);
}
.tcard .caption{
  position:absolute; left:24px; right:24px; bottom:24px; z-index:2;
}
.tcard .caption .k{
  font-family:'Share Tech Mono', monospace; font-size:11px;
  letter-spacing:.3em; color:var(--gold-br); text-transform:uppercase;
  margin-bottom:10px;
}
.tcard .caption .t{
  font-family:'Cinzel',serif; font-size:22px; color:var(--white);
  letter-spacing:.05em;
}
.tcard .caption .d{
  color:var(--text-dim); font-size:13px; margin-top:8px;
}

.tcard.t1{ grid-column:span 7; min-height:440px; }
.tcard.t2{ grid-column:span 5; min-height:440px; }
.tcard.t3{ grid-column:span 4; min-height:320px; }
.tcard.t4{ grid-column:span 4; min-height:320px; }
.tcard.t5{ grid-column:span 4; min-height:320px; }

/* ===================== ORGANIGRAMA ===================== */
.org{
  margin-top:90px;
  display:grid; grid-template-columns:repeat(7, 1fr); gap:14px;
}
.org .role{
  border:1px solid var(--line); padding:24px 18px; text-align:center;
  background:linear-gradient(180deg, rgba(184,148,58,.04), transparent);
  transition:border-color .3s, transform .3s;
}
.org .role:hover{ border-color:var(--gold); transform:translateY(-3px); }
.org .role .n{
  font-family:'Cinzel',serif; font-size:30px;
  background:var(--grad-gold);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  letter-spacing:.04em;
}
.org .role .l{
  font-family:'Rajdhani', sans-serif; font-weight:600;
  font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  margin-top:10px; color:var(--text);
}

/* ===================== CREDENCIALES ===================== */
.creds{
  background:#08080a; padding:140px 0;
  border-block:1px solid var(--line); position:relative;
}
.creds-grid{
  display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center;
}
.creds-list{ display:grid; gap:14px; margin-top:34px; }
.creds-list .cred{
  display:flex; align-items:flex-start; gap:18px;
  border-left:2px solid var(--gold);
  padding:14px 0 14px 20px;
}
.creds-list .cred .ix{
  font-family:'Share Tech Mono',monospace; font-size:11px; letter-spacing:.3em;
  color:var(--gold); margin-top:3px; min-width:36px;
}
.creds-list .cred h4{
  font-family:'Rajdhani',sans-serif; font-weight:700;
  letter-spacing:.05em; font-size:16px; color:var(--white); margin-bottom:6px;
}
.creds-list .cred p{ color:var(--text-dim); font-size:14px; }

.creds-badge{
  text-align:center; padding:40px;
  border:1px solid var(--line);
  background:radial-gradient(ellipse at center, rgba(184,148,58,.08), transparent 70%);
}
.creds-badge img{
  width:200px; height:auto; margin:0 auto 30px;
  filter:drop-shadow(0 0 30px rgba(240,200,80,.15));
}
.creds-badge .law{
  font-family:'Cinzel',serif; font-size:26px; color:var(--gold-br); letter-spacing:.05em;
}
.creds-badge .law-sub{
  font-family:'Share Tech Mono',monospace; font-size:11px;
  letter-spacing:.3em; color:var(--text-dim); text-transform:uppercase;
  margin-top:10px;
}
.creds-badge .law-desc{
  margin-top:24px; color:var(--text-dim); font-size:14px;
}

/* ===================== CLIENTES ===================== */
.clients{
  padding:90px 0;
  border-bottom:1px solid var(--line);
}
.clients-head{
  text-align:center; margin-bottom:40px;
}
.clients-head .eyebrow{ justify-content:center; }
.clients-row{
  display:flex; align-items:center; justify-content:center; gap:90px;
  flex-wrap:wrap;
}
.client{
  font-family:'Cinzel',serif; font-size:26px; letter-spacing:.18em;
  color:var(--text-dim); text-transform:uppercase;
  position:relative;
  padding:14px 26px;
  border:1px dashed var(--line);
  transition:color .3s, border-color .3s;
}
.client:hover{ color:var(--gold-br); border-color:var(--gold); }
.client .sub{
  display:block; font-family:'Share Tech Mono',monospace; font-size:10px;
  letter-spacing:.4em; color:var(--muted); margin-top:6px;
}

/* ===================== CTA / CONTACTO ===================== */
.contact{
  padding:140px 0;
  background:
    radial-gradient(ellipse at 80% 30%, rgba(184,148,58,.07), transparent 50%),
    radial-gradient(ellipse at 20% 70%, rgba(184,148,58,.05), transparent 50%),
    #050505;
}
.contact-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
}
.contact h2{ margin-top:18px; max-width:520px; }
.contact .lead{ color:var(--text-dim); margin-top:24px; max-width:480px; }
.contact-info{
  margin-top:40px; display:grid; gap:24px;
}
.ci{
  display:flex; align-items:flex-start; gap:20px;
  padding:18px 0; border-top:1px solid var(--line-soft);
}
.ci:first-child{ border-top:0; padding-top:0; }
.ci .ic{
  width:46px; height:46px; flex-shrink:0;
  border:1px solid var(--gold); display:flex; align-items:center; justify-content:center;
  color:var(--gold-br);
}
.ci .ic svg{ width:22px; height:22px; }
.ci .k{
  font-family:'Share Tech Mono',monospace; font-size:10px;
  letter-spacing:.3em; color:var(--text-dim); text-transform:uppercase;
}
.ci .v{
  font-family:'Cinzel',serif; font-size:17px; color:var(--white); margin-top:4px; letter-spacing:.04em;
  word-break:break-word;
}

form.contact-form{
  border:1px solid var(--line); padding:40px;
  background:linear-gradient(180deg, rgba(184,148,58,.04), transparent);
  position:relative;
}
form.contact-form::before, form.contact-form::after{
  content:""; position:absolute; width:24px; height:24px; border:2px solid var(--gold);
}
form.contact-form::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
form.contact-form::after { bottom:-1px; right:-1px; border-left:0; border-top:0; }

form .row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
form label{
  display:block;
  font-family:'Share Tech Mono',monospace; font-size:10px;
  letter-spacing:.3em; color:var(--gold); text-transform:uppercase;
  margin-bottom:8px;
}
form input, form select, form textarea{
  width:100%; background:#0a0a08; color:var(--white);
  border:1px solid var(--line); padding:14px 16px;
  font-family:'Exo 2', sans-serif; font-size:14px;
  transition:border-color .25s;
}
form input:focus, form select:focus, form textarea:focus{
  outline:0; border-color:var(--gold-br);
}
form textarea{ min-height:120px; resize:vertical; }
form .field-full{ margin-bottom:18px; }
form .btn{ margin-top:8px; width:100%; justify-content:center; }

/* ===================== FOOTER ===================== */
footer{
  border-top:1px solid var(--line);
  padding:60px 0 40px;
  background:#050505;
}
.foot-grid{
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:60px;
}
.foot-brand{ display:flex; gap:18px; align-items:flex-start; }
.foot-brand img{ height:56px; }
.foot-brand .name{ font-family:'Cinzel',serif; font-size:24px; letter-spacing:.32em; color:var(--white); }
.foot-brand .sl{ font-family:'Share Tech Mono',monospace; font-size:10px; letter-spacing:.3em; color:var(--gold); margin-top:6px; text-transform:uppercase; }
.foot-brand .desc{ margin-top:14px; color:var(--text-dim); font-size:13px; max-width:340px; }

.foot-col h5{
  font-family:'Share Tech Mono',monospace; font-size:10px;
  letter-spacing:.3em; color:var(--gold); margin-bottom:18px; text-transform:uppercase;
}
.foot-col a{
  display:block; color:var(--text-dim); font-size:14px; margin-bottom:10px;
  transition:color .2s;
}
.foot-col a:hover{ color:var(--gold-br); }

.foot-base{
  margin-top:50px; padding-top:24px; border-top:1px solid var(--line-soft);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px;
  font-family:'Share Tech Mono',monospace; font-size:10px;
  letter-spacing:.3em; color:var(--muted); text-transform:uppercase;
}

/* ===================== REVEAL animation ===================== */
.reveal{ opacity:0; transform:translateY(40px); transition:opacity 1s ease, transform 1s ease; }
.reveal.in{ opacity:1; transform:none; }
.reveal-delay-1{ transition-delay:.15s; }
.reveal-delay-2{ transition-delay:.3s; }
.reveal-delay-3{ transition-delay:.45s; }

/* ===================== RESPONSIVE ===================== */
@media (max-width: 980px){
  .nav-links{ display:none; }
  .burger{ display:flex; flex-direction:column; gap:5px; cursor:pointer; }
  .burger span{ width:26px; height:1px; background:var(--gold-br); }
  section{ padding:80px 0; }
  .intro-grid, .special-grid, .creds-grid, .contact-grid{
    grid-template-columns:1fr; gap:50px;
  }
  .intro-photo{ aspect-ratio:4/5; }
  .programs{ grid-template-columns:repeat(2,1fr); }
  .prog.featured{ grid-column:span 2; }
  .team-grid > *{ grid-column:span 12 !important; min-height:280px !important; }
  .org{ grid-template-columns:repeat(2,1fr); }
  .monitor-strip{ grid-template-columns:repeat(2,1fr); }
  .monitor-strip .ms-cell:nth-child(2){ border-right:0; }
  .monitor-strip .ms-cell:nth-child(1),
  .monitor-strip .ms-cell:nth-child(2){ border-bottom:1px solid var(--line); }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .hero-strip{ padding:14px 24px; flex-wrap:wrap; gap:12px; font-size:9px; }
  .hero-corner{ display:none; }
  form .row{ grid-template-columns:1fr; }
}
@media (max-width: 560px){
  .container{ padding:0 22px; }
  .nav{ padding:14px 22px; }
  .nav.scrolled{ padding:10px 22px; }
  .nav-cta{ display:none; }
  .programs{ grid-template-columns:1fr; }
  .prog.featured{ grid-column:span 1; }
  .foot-grid{ grid-template-columns:1fr; gap:34px; }
  .org{ grid-template-columns:1fr; }
}
