:root{
  --black:#0b0d11;
  --black-2:#12161d;
  --black-3:#171c25;
  --red:#b1121d;
  --red-2:#d31824;
  --graphite:#2a313d;
  --silver:#dfe4ea;
  --paper:#f2f5f8;
  --text:#11161d;
  --muted:#5a6472;
  --line-dark:rgba(255,255,255,.09);
  --line-light:rgba(10,12,16,.1);
  --shadow-dark:0 24px 70px rgba(0,0,0,.35);
  --shadow-light:0 18px 42px rgba(17,22,29,.08);
  --container:min(1220px, calc(100vw - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:#fff;
  background:linear-gradient(180deg,var(--black) 0%, var(--black-2) 26%, var(--paper) 26%, var(--paper) 100%);
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img,video{display:block;max-width:100%}
.container{width:var(--container);margin:0 auto}
.site-noise{position:fixed;inset:0;pointer-events:none;opacity:.06;z-index:0;background-image:radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);background-size:26px 26px}
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;background:linear-gradient(180deg,rgba(7,9,12,.96) 0%, rgba(7,9,12,.82) 72%, rgba(7,9,12,.18) 100%);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.05)}
.nav-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;min-height:88px}
.brand{display:flex;align-items:center;max-width:150px;flex:0 0 auto}
.brand img{width:100%;height:72px;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;gap:28px}
.main-nav a{color:rgba(255,255,255,.85);font-size:.95rem;position:relative}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--red-2);transition:.28s}
.main-nav a:hover::after{width:100%}
.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;font-weight:700;transition:.28s ease}
.header-cta{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06)}
.header-cta:hover{background:rgba(255,255,255,.12)}
.nav-toggle{display:none;background:none;border:0;padding:0;cursor:pointer}
.nav-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px 0}
.hero{position:relative;min-height:100svh;background:#07090d;padding-top:180px;display:flex;flex-direction:column;justify-content:flex-end}
.hero-video-wrap,.hero-overlay,.hero-lines{position:absolute;inset:0}
.hero-video{width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.05)}
.hero-overlay{background:linear-gradient(90deg, rgba(6,8,12,.93) 0%, rgba(6,8,12,.82) 36%, rgba(6,8,12,.42) 100%),linear-gradient(180deg,rgba(6,8,12,.15) 0%, rgba(6,8,12,.7) 100%)}
.hero-lines{background:linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(180deg, rgba(255,255,255,.03) 1px, transparent 1px);background-size:90px 90px;mask-image:linear-gradient(180deg,rgba(0,0,0,.85), transparent 78%)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;gap:40px;align-items:end;padding-bottom:76px;padding-top:36px}
.eyebrow,.section-label{display:inline-flex;align-items:center;gap:12px;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:#f2afb4}
.eyebrow::before,.section-label::before{content:"";display:block;width:34px;height:1px;background:currentColor}
.section-label{color:var(--red)}
.section-label.light{color:#f2afb4}
.hero-copy h1{margin:18px 0 16px;font-size:clamp(2.7rem,4.8vw,5.2rem);line-height:.98;letter-spacing:-.05em;max-width:11ch}
.hero-copy p{margin:0;max-width:58ch;font-size:1.04rem;line-height:1.82;color:rgba(255,255,255,.82)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.btn-primary{background:linear-gradient(135deg,var(--red) 0%, var(--red-2) 100%);color:#fff;box-shadow:0 18px 38px rgba(177,18,29,.26)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-secondary{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff}
.btn-secondary:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.hero-aside{display:grid;gap:18px;justify-self:end;width:min(100%, 500px);margin-top:18px}
.hero-kicker{font-size:.76rem;letter-spacing:.18em;color:#f2afb4;text-transform:uppercase;font-weight:800}
.hero-card{padding:24px;background:rgba(13,16,21,.76);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px);box-shadow:var(--shadow-dark)}
.hero-card strong{display:block;font-size:1.22rem;line-height:1.45}
.hero-card p{margin:12px 0 0;color:#d1d7df;line-height:1.72}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hero-stats article{padding:20px;background:rgba(13,16,21,.86);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px)}
.hero-stats span{display:block;font-size:1.7rem;font-weight:800;letter-spacing:-.04em}
.hero-stats small{display:block;margin-top:8px;color:#c4ccd6;line-height:1.45}
.hero-band{position:relative;z-index:2;margin-top:18px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);overflow:hidden}
.hero-band-track{display:flex;gap:18px;min-width:max-content;padding:16px 0;animation:marquee 22s linear infinite}
.hero-band-track span{font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:#dce2e9}
.hero-band-track i{display:block;width:6px;height:6px;background:var(--red-2);align-self:center}
.section{position:relative;z-index:1;padding:104px 0}
.intro,.history,.vision,.contact{color:var(--text)}
.intro-grid,.vision-grid,.contact-wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center}
.intro-copy h2,.section-head h2,.history-copy h2,.vision-panel h2,.contact-copy h2{margin:16px 0;font-size:clamp(2rem,3.3vw,3.3rem);line-height:1.06;letter-spacing:-.045em;color:#0f141b}
.intro-copy .lead,.section-head p,.history-copy p,.vision-panel p,.contact-copy p{font-size:1.03rem;line-height:1.84;color:var(--muted)}
.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
.feature-list div{padding:18px;border:1px solid var(--line-light);background:#fff;box-shadow:var(--shadow-light)}
.feature-list b{display:block;margin-bottom:8px;color:var(--red)}
.intro-media{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:stretch}
.media-main{border:1px solid var(--line-light);box-shadow:var(--shadow-light);overflow:hidden}
.media-main img{width:100%;height:100%;min-height:520px;object-fit:cover}
.media-side{display:grid;gap:16px}
.side-card{padding:22px;display:flex;flex-direction:column;justify-content:flex-start;box-shadow:var(--shadow-light)}
.side-card small{display:block;font-size:.73rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;margin-bottom:10px;color:#f2afb4}
.side-card p{margin:0;line-height:1.74}
.side-card.dark{background:#12161d;color:#fff}
.side-card.accent{background:linear-gradient(180deg,#7f0d15 0%, #b1121d 100%);color:#fff}
.portfolio{background:linear-gradient(180deg,#0d1117 0%, #151a22 100%);color:#fff}
.section-head{max-width:800px;margin-bottom:34px}
.portfolio .section-head h2,.portfolio .section-head p{color:#fff}
.portfolio .section-head p{color:#b8c0ca}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.portfolio-card{position:relative;overflow:hidden;min-height:300px;border:1px solid rgba(255,255,255,.08);background:#111720}
.portfolio-card.wide{grid-column:span 7}
.portfolio-card.tall{grid-column:span 5;grid-row:span 2;min-height:618px}
.portfolio-card:nth-child(3){grid-column:span 4}
.portfolio-card:nth-child(4){grid-column:span 4}
.portfolio-card:nth-child(5){grid-column:span 4}
.portfolio-card.statement{grid-column:span 12;padding:34px;background:linear-gradient(90deg,#0f141b 0%, #171c24 100%)}
.photo img,.soft-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shade{position:absolute;inset:0;background:linear-gradient(180deg, rgba(7,9,13,.14), rgba(7,9,13,.85) 82%)}
.content{position:relative;z-index:2;padding:24px;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.content.content-top{justify-content:flex-start}
.content span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-weight:800;margin-bottom:16px}
.content h3{margin:0 0 10px;font-size:1.45rem;letter-spacing:-.03em}
.content p{margin:0;color:#d4dbe4;line-height:1.68;max-width:48ch}
.solid.dark{background:linear-gradient(180deg,#121720 0%, #0d1117 100%)}
.solid.red{background:linear-gradient(180deg,#2a0d12 0%, #7a1018 100%)}
.solid.metal{background:#d7dde4;color:#11161d;border-color:rgba(0,0,0,.06)}
.solid.metal .content h3,.solid.metal .content p,.solid.metal .content span,.dark-text h3,.dark-text p{color:#11161d}
.solid.metal .content span{background:rgba(17,22,29,.08);border-color:rgba(17,22,29,.1)}
.soft-bg{opacity:.16;mix-blend-mode:multiply}
.statement small{display:block;font-size:.74rem;letter-spacing:.18em;color:#f2afb4;text-transform:uppercase;font-weight:800;margin-bottom:14px}
.statement h3{margin:0 0 12px;font-size:clamp(1.6rem,2.8vw,2.5rem);max-width:15ch;line-height:1.06;letter-spacing:-.04em}
.statement p{max-width:68ch;line-height:1.8;color:#ccd4de;margin:0 0 12px}
.statement a{display:inline-flex;color:#fff;font-weight:700}
.history-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}
.history-timeline{display:grid;gap:0;border-top:1px solid rgba(17,22,29,.12)}
.timeline-item{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid rgba(17,22,29,.12)}
.timeline-item time{font-weight:800;color:var(--red);letter-spacing:.03em}
.timeline-item h3{margin:0 0 8px;color:#0f141b;font-size:1.22rem}
.timeline-item p{margin:0;line-height:1.72;color:#53606f}
.vision-grid{align-items:stretch}
.vision-panel{overflow:hidden}
.dark-panel{padding:34px;background:linear-gradient(180deg,#0e131a 0%, #171c24 100%);color:#fff;box-shadow:var(--shadow-dark)}
.dark-panel h2,.dark-panel p{color:#fff}
.dark-panel p{color:#cad2dc}
.dark-panel ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.dark-panel li{padding:14px 16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#ecf0f4}
.media-panel{border:1px solid var(--line-light);box-shadow:var(--shadow-light)}
.media-panel img{width:100%;height:100%;min-height:440px;object-fit:cover}
.contact-wrap{padding:34px;background:linear-gradient(180deg,#10151d 0%, #181e28 100%);box-shadow:var(--shadow-dark)}
.contact-copy h2,.contact-copy p{color:#fff}
.contact-copy p{color:#c3ccd6}
.contact-form{display:grid;gap:14px}
.contact-form label{display:grid;gap:8px}
.contact-form span{font-size:.92rem;font-weight:700;color:#eef2f6}
.contact-form input,.contact-form textarea{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font:inherit;outline:none}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a8b2bd}
.contact-form input:focus,.contact-form textarea:focus{border-color:rgba(242,175,180,.55);box-shadow:0 0 0 4px rgba(177,18,29,.15)}
.site-footer{background:#090b10;color:#d1d7df;padding:34px 0 16px;border-top:1px solid rgba(255,255,255,.06)}
.footer-grid{display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:28px}
.footer-logo{width:152px;margin-bottom:14px}
.footer-grid span{display:block;font-size:.84rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#fff;margin-bottom:12px}
.footer-grid a{display:block;margin:7px 0;color:#d1d7df}
.footer-grid p{margin:0;line-height:1.72;color:#bcc6d0}
.footer-bottom{margin-top:24px;padding-top:16px;text-align:center;border-top:1px solid rgba(255,255,255,.06);font-size:.92rem;color:#adb7c1}
.reveal{opacity:0;transform:translateY(52px) scale(.985);filter:blur(8px);transition:opacity .95s cubic-bezier(.22,1,.36,1), transform .95s cubic-bezier(.22,1,.36,1), filter .95s ease}
.reveal.visible{opacity:1;transform:none;filter:blur(0)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .hero-band-track{animation:none}
  .reveal{opacity:1;transform:none;filter:none}
}
@media (max-width: 1080px){
  .hero-grid,.intro-grid,.history-layout,.vision-grid,.contact-wrap{grid-template-columns:1fr}
  .intro-media{grid-template-columns:1fr}
  .hero-aside{justify-self:stretch;width:100%}
}
@media (max-width: 860px){
  body{background:linear-gradient(180deg,var(--black) 0%, var(--black-2) 22%, var(--paper) 22%, var(--paper) 100%)}
  .nav-toggle{display:block}
  .header-cta{display:none}
  .main-nav{position:fixed;left:20px;right:20px;top:80px;display:none;flex-direction:column;align-items:flex-start;gap:18px;padding:20px;background:rgba(10,12,16,.96);border:1px solid rgba(255,255,255,.08)}
  .main-nav.open{display:flex}
  .hero-grid,.feature-list,.hero-stats,.footer-grid{grid-template-columns:1fr}
  .portfolio-grid{grid-template-columns:1fr}
  .portfolio-card,.portfolio-card.wide,.portfolio-card.tall,.portfolio-card:nth-child(3),.portfolio-card:nth-child(4),.portfolio-card:nth-child(5),.portfolio-card.statement{grid-column:auto;grid-row:auto;min-height:280px}
  .timeline-item{grid-template-columns:1fr}
  .brand{max-width:126px}
  .brand img{height:62px}
  .hero{padding-top:150px}
}


/* Redes sociales y WhatsApp */
.contact-channels{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}
.channels-title{display:block;margin-bottom:14px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#f2afb4}
.social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.social-links a{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;transition:.25s ease}
.social-links a:hover{background:rgba(255,255,255,.1);border-color:rgba(242,175,180,.4);transform:translateY(-2px)}
.social-links svg{width:19px;height:19px;fill:currentColor;flex:0 0 auto}
.social-links span{font-size:.92rem;font-weight:700}
.footer-socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-bottom:14px}
.footer-socials a{display:inline-flex;align-items:center;gap:8px;margin:0;color:#d1d7df;transition:.22s ease}
.footer-socials a::before{content:"";display:block;width:6px;height:6px;background:var(--red-2)}
.footer-socials a:hover{color:#fff;transform:translateX(3px)}
.footer-channel-note{font-size:.92rem}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:80;display:grid;grid-template-columns:30px auto;grid-template-rows:auto auto;column-gap:11px;align-items:center;min-width:168px;padding:12px 15px;background:#11161d;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 48px rgba(0,0,0,.32);transition:.28s ease}
.whatsapp-float:hover{transform:translateY(-3px);background:#17221d;border-color:rgba(72,211,119,.55)}
.whatsapp-float svg{grid-row:1/3;width:30px;height:30px;fill:#35c76f}
.whatsapp-float span{font-size:.95rem;font-weight:800;line-height:1.1}
.whatsapp-float small{font-size:.72rem;color:#b9c2cc;line-height:1.1;margin-top:3px}
@media (max-width:860px){
  .social-links{grid-template-columns:1fr}
  .whatsapp-float{right:14px;bottom:14px;min-width:auto;padding:11px 13px;grid-template-columns:28px auto}
  .whatsapp-float svg{width:28px;height:28px}
}

/* Información para grupos de interés */
.stakeholder{background:#e9edf1;color:var(--text)}
.stakeholder-head h2{color:#0f141b}
.stakeholder-head p{color:var(--muted)}
.stakeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.stakeholder-card{position:relative;min-height:280px;padding:28px;background:#fff;border:1px solid var(--line-light);box-shadow:var(--shadow-light);display:flex;flex-direction:column;align-items:flex-start}
.stakeholder-number{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:#11161d;color:#fff;font-size:.86rem;font-weight:800;margin-bottom:24px}
.stakeholder-card h3{margin:0 0 12px;font-size:1.4rem;color:#11161d;letter-spacing:-.025em}
.stakeholder-card p{margin:0 0 22px;color:#56616e;line-height:1.72}
.stakeholder-card>a,.stakeholder-links a{margin-top:auto;color:var(--red);font-weight:800}
.stakeholder-links{display:flex;gap:18px;margin-top:auto}

/* Contacto corporativo */
.contact-routing{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}
.contact-routing>span{display:block;margin-bottom:12px;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#f2afb4;font-weight:800}
.contact-routing>div{display:flex;flex-wrap:wrap;gap:8px}
.contact-routing b{padding:8px 10px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.04);font-size:.8rem;color:#e7ecf1}
.contact-form select{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.12);background:#252a32;color:#fff;font:inherit;outline:none;border-radius:0}
.contact-form select:focus{border-color:rgba(242,175,180,.55);box-shadow:0 0 0 4px rgba(177,18,29,.15)}
.privacy-check{display:grid!important;grid-template-columns:20px 1fr;align-items:start;gap:10px!important;padding:4px 0}
.privacy-check input{width:18px!important;height:18px;margin:1px 0 0;padding:0;accent-color:var(--red)}
.privacy-check span{font-size:.82rem!important;line-height:1.55;color:#cdd4dc!important}
.privacy-check a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.form-note{margin:0;color:#aeb8c3;font-size:.78rem;line-height:1.5}
.footer-bottom a{color:#e4e9ef;text-decoration:underline;text-underline-offset:3px}

/* Asistente corporativo */
.bot-launcher{position:fixed;right:22px;bottom:94px;z-index:81;display:flex;align-items:center;gap:10px;min-height:50px;padding:0 15px;border:1px solid rgba(255,255,255,.16);background:#11161d;color:#fff;box-shadow:0 18px 42px rgba(0,0,0,.3);font:inherit;font-weight:800;cursor:pointer;transition:.25s}
.bot-launcher:hover{transform:translateY(-2px);border-color:rgba(211,24,36,.6);background:#181d25}
.bot-launcher svg{width:22px;height:22px;fill:var(--red-2)}
.bot-panel{position:fixed;right:22px;bottom:156px;z-index:90;width:min(390px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 190px));display:none;grid-template-rows:auto minmax(160px,1fr) auto auto auto;background:#11161d;color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.bot-panel.open{display:grid}
.bot-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.09);background:#0c1016}
.bot-header>div{display:flex;align-items:center;gap:10px}
.bot-header img{width:34px;height:34px;object-fit:contain}
.bot-header span{display:grid;gap:2px}
.bot-header b{font-size:.92rem}
.bot-header small{font-size:.7rem;color:#aeb8c3}
.bot-header button{width:34px;height:34px;border:0;background:transparent;color:#fff;font-size:1.55rem;cursor:pointer}
.bot-messages{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.bot-message{max-width:88%;padding:11px 12px;line-height:1.55;font-size:.88rem}
.bot-response{align-self:flex-start;background:#272d37;border-left:3px solid var(--red)}
.bot-user{align-self:flex-end;background:#7d1018}
.bot-message a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.bot-options{display:flex;gap:7px;overflow-x:auto;padding:0 14px 12px}
.bot-options button{white-space:nowrap;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;padding:8px 10px;font:inherit;font-size:.76rem;cursor:pointer}
.bot-options button:hover{border-color:rgba(242,175,180,.45);background:rgba(255,255,255,.09)}
.bot-form{display:grid;grid-template-columns:1fr 46px;border-top:1px solid rgba(255,255,255,.1)}
.bot-form input{min-width:0;padding:13px 14px;border:0;background:#1b2029;color:#fff;font:inherit;outline:none}
.bot-form input::placeholder{color:#99a4b0}
.bot-form button{border:0;background:var(--red);color:#fff;font-size:1.25rem;cursor:pointer}
.bot-disclaimer{padding:7px 12px;background:#0b0e13;color:#8994a0;font-size:.65rem;line-height:1.4}

@media (max-width:860px){
  .stakeholder-grid{grid-template-columns:1fr}
  .bot-launcher{right:14px;bottom:84px}
  .bot-launcher span{display:none}
  .bot-panel{right:14px;bottom:140px}
}

/* ===== Talento ===== */
.careers{background:linear-gradient(180deg,#0d1117 0%, #161b24 100%);color:#fff}
.careers-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:32px;align-items:start}
.careers-copy h2,.careers-copy p,.careers-copy .lead{color:#fff}
.careers-copy p,.careers-copy .lead{color:#cad2dc}
.career-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.career-tags span{padding:11px 14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);font-size:.92rem;color:#e8edf2}
.career-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.light-outline{border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff}
.light-outline:hover{background:rgba(255,255,255,.06)}
.careers-side{display:grid;gap:18px}
.career-card,.career-steps article{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.career-card{padding:24px}
.career-card small{display:block;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#f2afb4;margin-bottom:12px}
.career-card ul{margin:0;padding-left:18px;display:grid;gap:10px;color:#d9e0e8;line-height:1.7}
.career-steps{display:grid;gap:14px}
.career-steps article{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:18px}
.career-steps b{display:grid;place-items:center;width:54px;height:54px;background:linear-gradient(135deg,var(--red) 0%, var(--red-2) 100%);color:#fff;font-size:.95rem}
.career-steps h3{margin:2px 0 6px;color:#fff;font-size:1.05rem}
.career-steps p{margin:0;color:#cad2dc;line-height:1.7}

/* ===== Empresas ===== */
.companies{display:none}
.companies .section-head h2,.companies .section-head p{color:#fff}
.companies .section-head p{color:#c2cad4}
.logo-banner{overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);margin:28px 0 22px}
.logo-ribbon{display:flex;gap:18px;min-width:max-content;padding:16px 0;animation:marquee 24s linear infinite}
.logo-ribbon span{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:#edf1f5}
.logo-ribbon i{display:block;width:6px;height:6px;background:var(--red-2);align-self:center}
.logo-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.logo-card{min-height:170px;padding:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);display:flex;flex-direction:column;justify-content:space-between}
.logo-card.light{background:#f3f6f9;border-color:rgba(10,12,16,.08)}
.logo-card img{max-width:100%;max-height:72px;object-fit:contain;object-position:left center}
.logo-card span{display:block;font-size:.92rem;line-height:1.45;color:#cbd3dd;margin-top:12px}
.logo-card.light span{color:#4f5b69}
.logo-card.text-only strong{font-size:1.22rem;letter-spacing:-.02em;color:#fff}
.logo-card.text-only span{color:#d6dee7}

@media (max-width:1080px){
  .careers-grid{grid-template-columns:1fr}
  .logo-wall{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .career-steps article{grid-template-columns:1fr}
  .logo-wall{grid-template-columns:1fr}
}


/* ===== Mejoras de legibilidad ===== */
.intro{background:var(--paper)}
.history{background:#eef2f6}
.stakeholder{background:#e9edf1}
.intro-copy h2,.history-copy h2,.stakeholder-head h2{color:#0b1016}
.intro-copy .lead,.intro-copy p,.history-copy p,.stakeholder-head p,.stakeholder-card p{color:#27313d}
.feature-list span{color:#17202a}
.contact-form select{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font:inherit;outline:none}
.contact-form select:focus{border-color:rgba(242,175,180,.55);box-shadow:0 0 0 4px rgba(177,18,29,.15)}
.form-note{margin:0;color:#c3ccd6;font-size:.92rem;line-height:1.6}

/* ===== Accesibilidad utilitaria ===== */
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== Flotantes sin marco ===== */
.whatsapp-float{
  position:fixed;right:22px;bottom:22px;z-index:80;display:grid;place-items:center;
  width:58px;height:58px;min-width:0;padding:0;border:none;background:transparent;color:#fff;box-shadow:none;transition:transform .25s ease, filter .25s ease;
}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.04);background:transparent;border:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.28))}
.whatsapp-float svg{grid-row:auto;width:44px;height:44px;fill:#25D366;filter:drop-shadow(0 10px 18px rgba(0,0,0,.34))}
.whatsapp-float span,.whatsapp-float small{display:none}
.bot-launcher{
  position:fixed;right:24px;bottom:92px;z-index:81;display:grid;place-items:center;
  width:58px;height:58px;min-height:0;padding:0;border:none;background:transparent;color:#fff;box-shadow:none;cursor:pointer;transition:transform .25s ease, filter .25s ease;
}
.bot-launcher:hover{transform:translateY(-3px) scale(1.04);border:none;background:transparent;filter:drop-shadow(0 10px 18px rgba(0,0,0,.28))}
.bot-launcher svg{width:42px;height:42px;fill:var(--red-2);filter:drop-shadow(0 10px 18px rgba(0,0,0,.34))}

/* ===== Ajustes en tarjetas y timeline ===== */
.stakeholder-card{background:#fff;border:1px solid rgba(10,12,16,.08);box-shadow:var(--shadow-light)}
.stakeholder-card h3{color:#0d141b}
.stakeholder-card a,.stakeholder-links a{color:#8d111a}
.timeline-item p{color:#2d3946}
.timeline-item h3{color:#0c1218}

@media (max-width:860px){
  .whatsapp-float{right:12px;bottom:12px;width:54px;height:54px}
  .whatsapp-float svg{width:40px;height:40px}
  .bot-launcher{right:12px;bottom:76px;width:54px;height:54px}
  .bot-launcher svg{width:38px;height:38px}
}

/* ===== Ecosistema empresarial ===== */
.ecosystem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ecosystem-card{min-height:260px;padding:24px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column}
.ecosystem-card.major{grid-column:span 2;background:rgba(255,255,255,.04)}
.eco-index{font-size:.78rem;letter-spacing:.18em;color:#f2afb4;font-weight:800;margin-bottom:22px}
.ecosystem-card h3{margin:0 0 12px;font-size:1.35rem;color:#fff;letter-spacing:-.025em}
.ecosystem-card p{margin:0;color:#c7d0da;line-height:1.72}
.ecosystem-card a{margin-top:auto;padding-top:20px;color:#fff;font-weight:700}

/* ===== Divisiones destacadas ===== */
.featured-divisions{background:#eef2f5;color:#10151c;padding-bottom:110px}
.division-intro{max-width:820px;margin-bottom:46px}
.division-intro h2{margin:16px 0;font-size:clamp(2rem,3.3vw,3.3rem);line-height:1.06;letter-spacing:-.045em;color:#0d131a}
.division-intro p{font-size:1.04rem;line-height:1.8;color:#3e4a58}
.division-feature{width:var(--container);margin:0 auto 28px;display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:#fff;border:1px solid rgba(10,12,16,.08);box-shadow:var(--shadow-light)}
.division-feature.reverse .division-image{order:2}
.division-image{position:relative;overflow:hidden;min-height:520px;background:#11161d}
.division-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04)}
.division-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,8,12,.25))}
.division-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}
.division-copy>span{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--red);margin-bottom:14px}
.division-copy h3{margin:0 0 16px;font-size:clamp(1.8rem,2.7vw,2.7rem);line-height:1.08;letter-spacing:-.04em;color:#0d131a}
.division-copy p{margin:0 0 14px;line-height:1.8;color:#394654}
.division-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.division-points b{padding:12px 14px;background:#eef2f5;color:#1d2834;font-size:.9rem;font-weight:700}
.division-link{display:inline-flex;margin-top:22px;color:#8f1019;font-weight:800}

/* ===== Talento compacto ===== */
.careers-compact{padding:66px 0}
.career-compact-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 0}
.career-compact-wrap h2{margin:12px 0 8px;font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1.08;letter-spacing:-.04em;color:#fff}
.career-compact-wrap p{margin:0;color:#c9d2dc;line-height:1.7}
.career-compact-wrap .btn{flex:0 0 auto}

/* ===== Contacto más contenido ===== */
.contact{padding-top:76px}
.contact-wrap{align-items:start}

@media(max-width:1080px){
  .ecosystem-grid{grid-template-columns:repeat(2,1fr)}
  .ecosystem-card.major{grid-column:span 2}
  .division-feature{grid-template-columns:1fr}
  .division-feature.reverse .division-image{order:0}
  .division-image{min-height:400px}
}
@media(max-width:860px){
  .ecosystem-grid{grid-template-columns:1fr}
  .ecosystem-card.major{grid-column:auto}
  .division-feature{width:calc(100vw - 28px)}
  .division-copy{padding:28px 22px}
  .division-points{grid-template-columns:1fr}
  .career-compact-wrap{flex-direction:column;align-items:flex-start}
}

/* ===== Ajustes v4.8 ===== */
/* Rebalanceo de contenido y contacto */
.ecosystem-card,.stakeholder-card,.side-card,.career-compact-wrap,.contact-wrap,.division-feature{
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
}
.ecosystem-card:hover,.stakeholder-card:hover,.career-compact-wrap:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 44px rgba(0,0,0,.18);
  border-color:rgba(242,175,180,.28);
}
.division-feature:hover{transform:translateY(-4px);box-shadow:0 28px 58px rgba(17,22,29,.12)}
.division-image{overflow:hidden}
.division-image img{transition:transform .7s ease, filter .7s ease}
.division-feature:hover .division-image img{transform:scale(1.045);filter:saturate(1.02) contrast(1.03)}
.division-link{transition:letter-spacing .25s ease, transform .25s ease}
.division-link:hover{letter-spacing:.02em;transform:translateX(3px)}

.contact{padding-top:72px;padding-bottom:92px}
.contact-wrap{
  grid-template-columns:.82fr 1.18fr;
  gap:28px;
  padding:28px;
  align-items:start;
}
.contact-copy.compact h2{margin-bottom:14px;font-size:clamp(1.9rem,2.8vw,3rem)}
.contact-copy.compact p{max-width:46ch;color:#d7dde5}
.contact-minichips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.contact-minichips b{
  padding:8px 10px;
  font-size:.8rem;
  color:#ebeff4;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  font-weight:700;
}
.compact-social{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.compact-social a{min-height:44px;padding:10px 12px}
.compact-social span{font-size:.88rem}
.compact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.compact-form label{display:grid;gap:8px}
.compact-form label:nth-child(3),
.compact-form label:nth-child(4),
.compact-form .privacy-check,
.compact-form button{grid-column:1 / -1}
.compact-form textarea{min-height:136px;resize:vertical}
.compact-form .privacy-check{margin-top:2px}
.compact-form button{justify-self:start;min-width:220px}
.form-note{display:none}

/* improve content section animations */
.featured-divisions .division-intro,
.portfolio .section-head,
.history-copy,
.stakeholder-head{position:relative}
.featured-divisions .division-intro::after,
.portfolio .section-head::after,
.history-copy::after,
.stakeholder-head::after{
  content:"";display:block;width:72px;height:2px;margin-top:18px;
  background:linear-gradient(90deg,var(--red) 0%, rgba(177,18,29,0) 100%);
}

@media (max-width:1080px){
  .contact-wrap{grid-template-columns:1fr;gap:22px}
}
@media (max-width:860px){
  .compact-form{grid-template-columns:1fr}
  .compact-social{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .compact-social{grid-template-columns:1fr}
  .contact-wrap{padding:22px}
}


/* ===== Animación de historia / timeline ===== */
.history{overflow:hidden}
.history-layout{align-items:start}
.history-copy{position:sticky;top:110px}
.history-timeline{position:relative;padding-left:0}
.history-timeline::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:164px;
  width:1px;
  background:linear-gradient(180deg, rgba(177,18,29,.05) 0%, rgba(177,18,29,.28) 12%, rgba(177,18,29,.12) 100%);
}
.timeline-item{
  position:relative;
  align-items:start;
  overflow:visible;
  transform:translateY(32px);
  opacity:0;
  transition:transform .8s cubic-bezier(.22,1,.36,1), opacity .8s ease, box-shadow .35s ease, background .35s ease;
}
.timeline-item::before{
  content:"";
  position:absolute;
  left:157px;
  top:30px;
  width:15px;
  height:15px;
  border-radius:50%;
  background:var(--paper);
  border:3px solid var(--red);
  box-shadow:0 0 0 0 rgba(177,18,29,.25);
  transition:transform .45s ease, box-shadow .45s ease, background .45s ease;
}
.timeline-item::after{
  content:"";
  position:absolute;
  left:164px;
  top:37px;
  width:0;
  height:2px;
  background:linear-gradient(90deg,var(--red) 0%, rgba(177,18,29,0) 100%);
  transition:width .55s ease .08s;
}
.timeline-item:nth-child(odd){transform:translateX(26px) translateY(28px);}
.timeline-item:nth-child(even){transform:translateX(-26px) translateY(28px);}
.timeline-item.visible{opacity:1;transform:none;}
.timeline-item.visible::before{
  transform:scale(1.06);
  box-shadow:0 0 0 10px rgba(177,18,29,.12), 0 0 0 18px rgba(177,18,29,.05);
  animation:timelinePulse 2.6s ease-in-out infinite;
}
.timeline-item.visible::after{width:28px;}
.timeline-item:hover{
  background:rgba(255,255,255,.45);
  box-shadow:0 16px 34px rgba(17,22,29,.08);
}
.timeline-item:hover::before{background:var(--red);transform:scale(1.12)}
.timeline-item time{
  position:relative;
  z-index:2;
  transition:transform .35s ease, letter-spacing .35s ease;
}
.timeline-item:hover time{transform:translateX(6px);letter-spacing:.06em}
.timeline-item > div{
  position:relative;
  padding-left:18px;
  transition:transform .35s ease;
}
.timeline-item:hover > div{transform:translateX(6px)}
.timeline-item h3,
.timeline-item p{transition:transform .35s ease, color .35s ease}
.timeline-item.visible h3{animation:fadeSlideIn .7s ease both}
.timeline-item.visible p{animation:fadeSlideIn .85s ease both}
.timeline-item:nth-child(1).visible{transition-delay:.05s}
.timeline-item:nth-child(2).visible{transition-delay:.12s}
.timeline-item:nth-child(3).visible{transition-delay:.19s}
.timeline-item:nth-child(4).visible{transition-delay:.26s}
.timeline-item:nth-child(5).visible{transition-delay:.33s}
.timeline-item:nth-child(6).visible{transition-delay:.40s}

@keyframes timelinePulse{
  0%,100%{box-shadow:0 0 0 10px rgba(177,18,29,.12), 0 0 0 18px rgba(177,18,29,.05)}
  50%{box-shadow:0 0 0 12px rgba(177,18,29,.16), 0 0 0 22px rgba(177,18,29,.03)}
}
@keyframes fadeSlideIn{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}

@media (max-width:1080px){
  .history-copy{position:static}
}
@media (max-width:860px){
  .history-timeline::before{left:8px}
  .timeline-item{
    grid-template-columns:1fr;
    padding-left:28px;
    gap:10px;
  }
  .timeline-item::before{left:0;top:31px}
  .timeline-item::after{left:8px;top:38px}
  .timeline-item > div{padding-left:0}
  .timeline-item:nth-child(odd),
  .timeline-item:nth-child(even){transform:translateY(24px)}
  .timeline-item:hover time,
  .timeline-item:hover > div{transform:none}
}


/* ===== Intensificar microanimaciones y transiciones ===== */
.btn,.header-cta,.main-nav a,.social-links a,.stakeholder-card,.ecosystem-card,.division-link,.contact-minichips b,.vision-panel,.media-panel,.side-card,.feature-list div{
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease, color .35s ease, filter .35s ease, opacity .35s ease;
}
.main-nav a:hover{transform:translateY(-2px)}
.btn:hover,.header-cta:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(0,0,0,.18)}
.social-links a:hover{transform:translateY(-4px);border-color:rgba(242,175,180,.34);box-shadow:0 18px 34px rgba(0,0,0,.14)}
.feature-list div:hover,.contact-minichips b:hover{transform:translateY(-4px)}
.vision-panel:hover,.media-panel:hover,.side-card:hover{transform:translateY(-6px)}
.footer-presence-note{margin:0;color:#bcc6d0;line-height:1.8;max-width:34ch}

/* ===== Timeline más expresivo ===== */
.history-timeline{
  position:relative;
  overflow:visible;
}
.history-timeline::before{
  width:2px;
  background:linear-gradient(180deg, rgba(177,18,29,.18) 0%, rgba(177,18,29,.48) 24%, rgba(177,18,29,.16) 100%);
  box-shadow:0 0 24px rgba(177,18,29,.10);
}
.timeline-item{
  background:transparent;
  border-radius:18px;
  padding:26px 0;
}
.timeline-item::before{
  width:18px;
  height:18px;
  left:155px;
  top:30px;
  border-width:4px;
  box-shadow:0 0 0 0 rgba(177,18,29,.18);
}
.timeline-item::after{
  left:164px;
  top:38px;
  height:3px;
}
.timeline-item time,
.timeline-item h3,
.timeline-item p{
  opacity:0;
  transform:translateY(16px);
}
.timeline-item.visible time{animation:timelineTextIn .55s cubic-bezier(.22,1,.36,1) forwards}
.timeline-item.visible h3{animation:timelineTextIn .7s cubic-bezier(.22,1,.36,1) forwards .12s}
.timeline-item.visible p{animation:timelineTextIn .8s cubic-bezier(.22,1,.36,1) forwards .22s}
.timeline-item.visible::before{
  animation:timelineDotIn .55s cubic-bezier(.22,1,.36,1) forwards, timelinePulse 2.2s ease-in-out infinite .65s;
}
.timeline-item.visible::after{width:46px}
.timeline-item:hover{
  background:rgba(255,255,255,.6);
  transform:translateX(6px) !important;
}
.timeline-item:hover::after{width:64px}
.timeline-item:hover h3{color:var(--red)}

@keyframes timelineDotIn{
  0%{transform:scale(.2);opacity:0;box-shadow:0 0 0 0 rgba(177,18,29,0)}
  60%{transform:scale(1.18);opacity:1}
  100%{transform:scale(1.02);opacity:1;box-shadow:0 0 0 10px rgba(177,18,29,.12),0 0 0 18px rgba(177,18,29,.04)}
}
@keyframes timelineTextIn{
  0%{opacity:0;transform:translateY(18px)}
  100%{opacity:1;transform:none}
}

@media (max-width:860px){
  .timeline-item{padding:22px 0 22px 30px}
  .timeline-item::before{left:0;top:29px}
  .timeline-item::after{left:8px;top:38px}
  .timeline-item:hover{transform:none !important}
}

/* ===== Nueva narrativa corporativa ===== */
.future-vision{
  background:
    radial-gradient(circle at 15% 20%, rgba(211,24,36,.18), transparent 32%),
    linear-gradient(135deg,#0a0d12 0%, #151a23 58%, #0d1117 100%);
  color:#fff;
  overflow:hidden;
}
.future-vision-wrap{display:grid;grid-template-columns:.88fr 1.12fr;gap:42px;align-items:center}
.future-vision-copy h2{margin:16px 0;font-size:clamp(2rem,3.3vw,3.4rem);line-height:1.05;letter-spacing:-.045em;color:#fff}
.future-vision-copy p{margin:0 0 16px;color:#cbd3dd;font-size:1.03rem;line-height:1.82;max-width:58ch}
.future-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.future-pillar{
  position:relative;
  min-height:270px;
  padding:24px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(12px);
  overflow:hidden;
  transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .4s ease,background .4s ease,box-shadow .4s ease;
}
.future-pillar::before{
  content:"";
  position:absolute;
  inset:auto -30% -55% 10%;
  height:180px;
  background:radial-gradient(circle,rgba(211,24,36,.28),transparent 65%);
  transition:transform .55s ease,opacity .55s ease;
}
.future-pillar:hover{transform:translateY(-10px);border-color:rgba(242,175,180,.34);background:rgba(255,255,255,.075);box-shadow:0 28px 58px rgba(0,0,0,.26)}
.future-pillar:hover::before{transform:translateY(-20px) scale(1.1);opacity:1}
.future-pillar span{position:relative;z-index:1;display:inline-grid;place-items:center;width:42px;height:42px;background:var(--red);font-weight:800;color:#fff}
.future-pillar h3{position:relative;z-index:1;margin:48px 0 12px;font-size:1.25rem;color:#fff;letter-spacing:-.02em}
.future-pillar p{position:relative;z-index:1;margin:0;color:#cbd3dd;line-height:1.7}
.hero-copy h1{max-width:12ch}
.hero-kicker{color:#ffd0d3}
.hero-card strong{font-size:1.28rem}
.footer-grid>div:first-child p{max-width:32ch;color:#eef2f6;font-weight:600;line-height:1.7}

@media (max-width:1080px){
  .future-vision-wrap{grid-template-columns:1fr}
}
@media (max-width:860px){
  .future-pillars{grid-template-columns:1fr}
  .future-pillar{min-height:auto}
  .future-pillar h3{margin-top:28px}
}


/* v5.2 links and contact data */
.eco-external{display:inline-flex;margin-top:10px;color:#f3b0b5;font-size:.92rem;font-weight:700}
.eco-external:hover{color:#fff;transform:translateX(2px)}
.contact-data{display:grid;gap:12px;margin:18px 0 0}
.contact-data div{display:grid;gap:4px;padding:12px 14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.contact-data strong{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#f2afb4}
.contact-data span,.contact-data a{color:#dde4ec;line-height:1.65}
.footer-mail{display:inline-block;margin-top:10px;color:#f2afb4;font-weight:700}
.footer-mail:hover{color:#fff}

/* v5.3 Foro 4 and visible external links */
.foro4-media{position:relative;min-height:520px;background:#11161d}
.foro4-media img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center}
.foro4-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(7,9,13,.82) 100%);pointer-events:none}
.foro4-caption{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;display:grid;gap:4px;color:#fff}
.foro4-caption strong{font-size:1.12rem;letter-spacing:-.02em}
.foro4-caption span{font-size:.9rem;color:#d3dbe4}
.eco-external{padding-top:10px;border-top:1px solid rgba(255,255,255,.08);margin-top:14px}
.contact-map-link{display:inline-flex!important;margin-top:6px;color:#f2afb4!important;font-weight:700}
.contact-map-link:hover{color:#fff!important;transform:translateX(2px)}


/* ===== v5.4 Hero motion trails ===== */
.hero-video-wrap{overflow:hidden}
.hero-video{transform:scale(1.04)}
.hero-lines{
  pointer-events:none;
  overflow:hidden;
  z-index:1;
  mix-blend-mode:screen;
}
.hero-lines::before{
  content:"";
  position:absolute;
  inset:auto -10% 12% -10%;
  height:42%;
  background:radial-gradient(circle at 50% 70%, rgba(211,24,36,.18), transparent 45%);
  filter:blur(36px);
  opacity:.7;
  animation:redGlowDrift 8s ease-in-out infinite alternate;
}
.traffic-streak{
  position:absolute;
  display:block;
  border-top:3px solid rgba(224,38,50,.85);
  border-radius:50%;
  filter:blur(8px);
  opacity:.72;
  box-shadow:0 0 20px rgba(211,24,36,.35), 0 0 42px rgba(211,24,36,.14);
  animation:streakPass 6.5s linear infinite;
}
.traffic-streak::after{
  content:"";
  position:absolute;
  right:-2%;
  top:-6px;
  width:18%;
  height:12px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,95,95,.22) 22%, rgba(255,65,65,.75) 65%, rgba(255,180,180,.95) 100%);
  filter:blur(3px);
}
.streak-a{width:46vw;height:18vw;left:-24vw;bottom:8%;transform:rotate(-6deg);animation-duration:7s;animation-delay:-1.3s}
.streak-b{width:34vw;height:13vw;left:-20vw;bottom:15%;transform:rotate(5deg);opacity:.58;animation-duration:5.5s;animation-delay:-3.2s}
.streak-c{width:52vw;height:20vw;left:-30vw;bottom:2%;transform:rotate(-10deg);opacity:.4;animation-duration:8.4s;animation-delay:-4.6s}
.streak-d{width:28vw;height:11vw;left:-18vw;bottom:22%;transform:rotate(8deg);opacity:.5;animation-duration:6.2s;animation-delay:-2.4s}

@keyframes streakPass{
  0%{transform:translate3d(-10vw,2vh,0) scaleX(.92) rotate(var(--r, 0deg)); opacity:0}
  12%{opacity:.8}
  55%{opacity:.74}
  100%{transform:translate3d(120vw,-3vh,0) scaleX(1.08) rotate(var(--r, 0deg)); opacity:0}
}
.streak-a{--r:-6deg}
.streak-b{--r:5deg}
.streak-c{--r:-10deg}
.streak-d{--r:8deg}
@keyframes redGlowDrift{
  0%{transform:translateX(-2%) translateY(0); opacity:.45}
  100%{transform:translateX(3%) translateY(-1%); opacity:.82}
}

/* ===== v5.5 Ecosystem cards single active red state ===== */
.ecosystem-card{position:relative;overflow:hidden;isolation:isolate;background:rgba(255,255,255,.04)}
.ecosystem-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, #8f1019 0%, #b1121d 48%, #7b0f17 100%);
  opacity:0;
  transform:translateY(103%);
  transition:transform .42s cubic-bezier(.22,1,.36,1), opacity .42s ease;
  z-index:0;
}
.ecosystem-card > *{position:relative;z-index:1}
.ecosystem-card.is-active::before,
.ecosystem-card:focus-within::before{opacity:1;transform:translateY(0)}
.ecosystem-card.is-active,
.ecosystem-card:focus-within{
  border-color:rgba(255,165,170,.48);
  box-shadow:0 22px 50px rgba(114,10,18,.32);
  transform:translateY(-8px);
}
.ecosystem-card.is-active p,
.ecosystem-card.is-active h3,
.ecosystem-card.is-active a,
.ecosystem-card.is-active .eco-index,
.ecosystem-card:focus-within p,
.ecosystem-card:focus-within h3,
.ecosystem-card:focus-within a,
.ecosystem-card:focus-within .eco-index{color:#fff}
.ecosystem-card.is-active .eco-index,
.ecosystem-card:focus-within .eco-index{color:#ffd8dc}
.eco-external{opacity:.92}
.ecosystem-card.is-active .eco-external{opacity:1}

@media (prefers-reduced-motion: reduce){
  .hero-lines::before,.traffic-streak{animation:none}
  .ecosystem-card::before{transition:none}
}
@media (max-width:860px){
  .streak-a{width:76vw;height:34vw;bottom:10%}
  .streak-b{width:56vw;height:22vw;bottom:18%}
  .streak-c{width:88vw;height:34vw;bottom:3%}
  .streak-d{width:50vw;height:18vw;bottom:26%}
}


/* v5.5: suaviza comportamiento de tarjetas del ecosistema */
.ecosystem-grid:hover .ecosystem-card:not(.is-active){transform:none;box-shadow:none}


/* ===== v5.6 luces rojas tipo calaveras / velocidad ===== */
.hero-overlay{z-index:0}
.hero-lines{z-index:1}
.hero-video-wrap{z-index:-1}
.hero-lines::after{
  content:"";
  position:absolute;
  inset:auto -12% 6% -12%;
  height:28%;
  background:linear-gradient(90deg,
    rgba(255,0,0,0) 0%,
    rgba(255,46,46,.06) 12%,
    rgba(255,30,30,.12) 24%,
    rgba(255,20,20,.18) 36%,
    rgba(255,10,10,.12) 54%,
    rgba(255,0,0,0) 100%);
  filter:blur(22px);
  opacity:.95;
  animation:tailGlowSweep 4.8s ease-in-out infinite alternate;
}
.traffic-streak{
  border-top-width:4px;
  filter:blur(5px);
  opacity:.95;
  box-shadow:0 0 14px rgba(255,58,58,.55), 0 0 34px rgba(227,20,20,.32), 0 0 70px rgba(211,24,36,.18);
}
.traffic-streak::before{
  content:"";
  position:absolute;
  left:8%;
  right:10%;
  top:-2px;
  height:2px;
  background:linear-gradient(90deg, rgba(255,0,0,0) 0%, rgba(255,90,90,.15) 14%, rgba(255,60,60,.58) 52%, rgba(255,160,160,0) 100%);
  filter:blur(4px);
}
.traffic-streak::after{
  right:-1%;
  top:-8px;
  width:15%;
  height:14px;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,82,82,.18) 18%, rgba(255,46,46,.8) 62%, rgba(255,212,212,.98) 100%);
  filter:blur(2px);
}
.streak-a{width:54vw;height:18vw;left:-24vw;bottom:9%;transform:rotate(-7deg);animation-duration:5.2s;animation-delay:-1.1s}
.streak-b{width:42vw;height:14vw;left:-18vw;bottom:17%;transform:rotate(4deg);opacity:.82;animation-duration:4.4s;animation-delay:-2.8s}
.streak-c{width:66vw;height:22vw;left:-33vw;bottom:1.5%;transform:rotate(-12deg);opacity:.55;animation-duration:6.1s;animation-delay:-4.1s}
.streak-d{width:34vw;height:12vw;left:-16vw;bottom:24%;transform:rotate(8deg);opacity:.74;animation-duration:4.8s;animation-delay:-1.9s}
.streak-e{width:38vw;height:11vw;left:-14vw;bottom:30%;transform:rotate(14deg);opacity:.54;animation-duration:4.6s;animation-delay:-3.4s}
.streak-f{width:58vw;height:19vw;left:-28vw;bottom:6%;transform:rotate(-4deg);opacity:.64;animation-duration:5.8s;animation-delay:-2.2s}
.tail-light{
  position:absolute;
  display:block;
  width:170px;
  height:26px;
  border-radius:999px;
  background:linear-gradient(90deg,
    rgba(255,0,0,0) 0%,
    rgba(255,34,34,.18) 12%,
    rgba(255,38,38,.4) 22%,
    rgba(255,44,44,.9) 46%,
    rgba(255,190,190,1) 100%);
  filter:blur(6px);
  opacity:0;
  box-shadow:0 0 26px rgba(255,28,28,.65), 0 0 60px rgba(211,24,36,.34);
  animation:tailLightRun 4.2s linear infinite;
}
.tail-light::before,
.tail-light::after{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,230,230,1) 0%, rgba(255,55,55,1) 42%, rgba(170,0,0,.95) 100%);
  top:4px;
  right:2px;
  box-shadow:0 0 14px rgba(255,42,42,.95), 0 0 28px rgba(255,42,42,.55);
}
.tail-light::after{right:26px}
.tail-a{left:-16%; bottom:14%; transform:rotate(-3deg); animation-delay:-.4s}
.tail-b{left:-22%; bottom:20%; transform:rotate(5deg); width:140px; animation-delay:-2.2s}
.tail-c{left:-28%; bottom:8%; transform:rotate(-8deg); width:220px; animation-delay:-1.4s}
.tail-d{left:-20%; bottom:27%; transform:rotate(10deg); width:130px; animation-delay:-3s}

@keyframes tailLightRun{
  0%{transform:translate3d(0,0,0) scaleX(.75);opacity:0}
  8%{opacity:1}
  36%{opacity:.95}
  100%{transform:translate3d(118vw,-1.5vh,0) scaleX(1.95);opacity:0}
}
@keyframes tailGlowSweep{
  0%{transform:translateX(-3%) scaleX(.96); opacity:.65}
  100%{transform:translateX(3%) scaleX(1.04); opacity:1}
}

@media (prefers-reduced-motion: reduce){
  .tail-light,.hero-lines::after{animation:none}
}
@media (max-width:860px){
  .tail-light{width:120px;height:20px}
  .tail-light::before,.tail-light::after{width:14px;height:14px;top:3px;right:1px}
  .tail-light::after{right:20px}
  .streak-a{width:82vw;height:34vw;bottom:10%}
  .streak-b{width:70vw;height:26vw;bottom:17%}
  .streak-c{width:100vw;height:42vw;bottom:3%}
  .streak-d{width:54vw;height:19vw;bottom:24%}
  .streak-e{width:56vw;height:18vw;bottom:30%}
  .streak-f{width:86vw;height:32vw;bottom:8%}
}


/* ===== v5.7 conservar claramente la foto/clip del Ángel ===== */
.hero-video{
  filter:saturate(1.02) contrast(1.08) brightness(.94);
  opacity:1;
}
.hero-overlay{
  background:
    linear-gradient(90deg, rgba(6,8,12,.78) 0%, rgba(6,8,12,.58) 34%, rgba(6,8,12,.22) 68%, rgba(6,8,12,.34) 100%),
    linear-gradient(180deg, rgba(6,8,12,.08) 0%, rgba(6,8,12,.42) 100%);
}
.hero-lines::before{
  opacity:.42;
  filter:blur(30px);
}
.hero-lines::after{
  opacity:.78;
  filter:blur(18px);
}
.traffic-streak{
  opacity:.82;
}
.streak-c,.streak-e{
  opacity:.38;
}
.tail-light{
  opacity:0;
  filter:blur(5px);
}
.hero-copy,
.hero-aside{
  position:relative;
  z-index:3;
}
.hero-copy::after{
  content:"";
  position:absolute;
  left:-24px;
  bottom:-18px;
  width:220px;
  height:70px;
  background:radial-gradient(circle, rgba(177,18,29,.18) 0%, rgba(177,18,29,0) 70%);
  filter:blur(24px);
  pointer-events:none;
}


/* ===== v5.8 fallback visible para el Ángel ===== */
.hero-video-wrap{
  background-image:url('assets/images/hero-city.jpg');
  background-size:cover;
  background-position:center center;
}
.hero-fallback{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  opacity:1;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  background:transparent;
}
/* Si el video reproduce, deja ver claramente la imagen/clip. Si no reproduce, la foto queda visible. */
.hero-video:not([src]),
.hero-video[src='']{display:none}

/* ===== v5.9 corrección definitiva de capas del hero ===== */
.hero{
  isolation:isolate;
  background:#07090d;
}
.hero-video-wrap{
  position:absolute;
  inset:0;
  z-index:0 !important;
  overflow:hidden;
  background:#07090d url('assets/images/hero-city.jpg') center center / cover no-repeat;
}
.hero-fallback{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:1;
  visibility:visible;
}
.hero-video{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:.96;
}
.hero-overlay{
  z-index:2 !important;
  pointer-events:none;
}
.hero-lines{
  z-index:3 !important;
  pointer-events:none;
}
.hero-grid,
.hero-band{
  position:relative;
  z-index:4 !important;
}
/* Evita que cualquier regla anterior mande la foto detrás del fondo */
.hero-video-wrap,
.hero-fallback,
.hero-video{transform:none !important}

/* ===== v6.0 hero estable: foto del Ángel + luces animadas ===== */
.hero-video-wrap{
  position:absolute;
  inset:0;
  z-index:0 !important;
  overflow:hidden;
  background:#07090d;
}
.hero-photo{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  opacity:1;
  visibility:visible;
  filter:saturate(1.03) contrast(1.07) brightness(.92);
  transform:scale(1.015);
}
.hero-video,
.hero-fallback{display:none !important}
.hero-overlay{z-index:1 !important}
.hero-lines{z-index:2 !important}
.hero-grid,
.hero-band{z-index:3 !important}


/* ===== v6.1 language selector ===== */
.language-switch{display:flex;align-items:center;gap:7px;padding:4px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);font-size:.78rem;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.language-switch a{display:grid;place-items:center;min-width:32px;height:30px;color:#c9d0d9;transition:background .25s ease,color .25s ease,transform .25s ease}
.language-switch a:hover{color:#fff;transform:translateY(-1px)}
.language-switch a.active{background:var(--red);color:#fff}
.language-switch span{color:#6f7884}
@media(max-width:1120px){.main-nav{gap:18px}.header-cta{display:none}}
@media(max-width:860px){.language-switch{margin-left:auto}.nav-bar{gap:12px}.nav-toggle{order:4}}


/* ===== v6.3 ajuste Foro 4: mostrar imagen completa ===== */
.intro-media{grid-template-columns:1.18fr .82fr;gap:18px}
.foro4-media{
  position:relative;
  min-height:620px;
  background:
    radial-gradient(circle at 50% 100%, rgba(177,18,29,.18) 0%, rgba(177,18,29,0) 38%),
    linear-gradient(180deg, #15253b 0%, #0d131a 100%);
  display:flex;
  align-items:stretch;
}
.foro4-media img{
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:contain;
  object-position:center center;
  padding:18px 18px 0 18px;
  background:transparent;
}
.foro4-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,9,13,0) 54%, rgba(7,9,13,.84) 100%);
  pointer-events:none;
}
.foro4-caption{
  left:28px;
  right:28px;
  bottom:24px;
}
@media (max-width:1200px){
  .intro-media{grid-template-columns:1.08fr .92fr}
  .foro4-media,.foro4-media img{min-height:560px}
}
@media (max-width:860px){
  .foro4-media,.foro4-media img{min-height:480px}
  .foro4-media img{padding:14px 14px 0 14px;object-position:center top}
}


/* ===== v6.4 ajuste alargado para Foro 4 ===== */
.intro-grid{
  grid-template-columns:.82fr 1.18fr;
  align-items:start;
  gap:48px;
}
.intro-media{
  grid-template-columns:1.45fr .55fr;
  gap:18px;
  align-items:stretch;
}
.foro4-media{
  min-height:500px;
  aspect-ratio:16 / 10;
  border:1px solid rgba(16,24,32,.08);
  box-shadow:var(--shadow-light);
}
.foro4-media img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  object-position:center center;
  padding:14px 14px 0 14px;
}
.foro4-caption{
  left:22px;
  right:22px;
  bottom:20px;
}
.foro4-caption strong{font-size:1.22rem}
.foro4-caption span{font-size:.96rem}
.media-side{
  grid-template-rows:1fr 1fr;
}
.media-side .side-card{
  min-height:0;
  justify-content:center;
}
.media-side .side-card p{
  line-height:1.72;
}
@media (max-width:1280px){
  .intro-grid{grid-template-columns:.88fr 1.12fr;gap:38px}
  .intro-media{grid-template-columns:1.34fr .66fr}
}
@media (max-width:1080px){
  .intro-grid{grid-template-columns:1fr}
  .intro-media{grid-template-columns:1.22fr .78fr}
  .foro4-media{min-height:460px}
}
@media (max-width:860px){
  .intro-media{grid-template-columns:1fr}
  .foro4-media{min-height:420px;aspect-ratio:auto}
  .foro4-media img{padding:12px 12px 0 12px}
  .media-side{grid-template-rows:auto}
}


/* ===== v6.5 ajuste: Foro 4 al mismo recuadro, sin agrandarlo de más ===== */
.intro-grid{
  grid-template-columns:1fr 1fr;
  align-items:start;
  gap:42px;
}
.intro-media{
  grid-template-columns:1.18fr .82fr;
  gap:18px;
  align-items:stretch;
}
.foro4-media{
  position:relative;
  min-height:620px;
  aspect-ratio:auto;
  display:flex;
  align-items:stretch;
  background:
    radial-gradient(circle at 50% 100%, rgba(177,18,29,.18) 0%, rgba(177,18,29,0) 38%),
    linear-gradient(180deg, #15253b 0%, #0d131a 100%);
  border:1px solid rgba(16,24,32,.08);
  box-shadow:var(--shadow-light);
}
.foro4-media img{
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:contain;
  object-position:center top;
  padding:18px 18px 0 18px;
  background:transparent;
}
.foro4-caption{
  left:28px;
  right:28px;
  bottom:24px;
}
.foro4-caption strong{font-size:1.08rem}
.foro4-caption span{font-size:.92rem}
.media-side{
  grid-template-rows:1fr 1fr;
}
.media-side .side-card{
  min-height:0;
  justify-content:center;
}
@media (max-width:1200px){
  .intro-grid{grid-template-columns:1fr;gap:34px}
  .intro-media{grid-template-columns:1.08fr .92fr}
  .foro4-media,.foro4-media img{min-height:560px}
}
@media (max-width:860px){
  .intro-media{grid-template-columns:1fr}
  .foro4-media,.foro4-media img{min-height:480px}
  .foro4-media img{padding:14px 14px 0 14px;object-position:center top}
  .media-side{grid-template-rows:auto}
}


/* ===== v6.6 Foro 4 vertical: llena por completo el recuadro ===== */
.intro-grid{
  grid-template-columns:1fr 1fr;
  gap:42px;
  align-items:start;
}
.intro-media{
  grid-template-columns:1.18fr .82fr;
  gap:18px;
  align-items:stretch;
}
.foro4-media{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#0d131a;
  border:1px solid rgba(16,24,32,.08);
  box-shadow:var(--shadow-light);
}
.foro4-media img{
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:cover;
  object-position:center center;
  padding:0;
  display:block;
}
.foro4-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,9,13,0) 62%, rgba(7,9,13,.84) 100%);
  pointer-events:none;
}
.foro4-caption{
  left:28px;
  right:28px;
  bottom:24px;
}
@media (max-width:1200px){
  .intro-grid{grid-template-columns:1fr;gap:34px}
  .intro-media{grid-template-columns:1.08fr .92fr}
  .foro4-media,.foro4-media img{min-height:560px}
}
@media (max-width:860px){
  .intro-media{grid-template-columns:1fr}
  .foro4-media,.foro4-media img{min-height:500px}
}
