:root{
  --ink:#12181d;
  --paper:#f2f1ec;
  --white:#ffffff;
  --line:rgba(18,24,29,.16);
  --muted:#6f777d;
  --accent:#c7a96b;
  --deep:#0c252b;
  --radius:26px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Aptos,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.container{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px;z-index:1000}
.site-header{position:sticky;top:0;z-index:50;background:rgba(242,241,236,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(18,24,29,.08)}
.nav-shell{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-weight:800;font-size:1.25rem;letter-spacing:-.04em}.brand-x{font-weight:400}
.main-nav{display:flex;gap:26px;align-items:center;font-size:.95rem}
.main-nav a{opacity:.75}.main-nav a:hover{opacity:1}
.nav-toggle{display:none;border:0;background:transparent;font:inherit}
.hero{min-height:calc(100vh - 78px);display:flex;align-items:center;padding:80px 0}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;margin-bottom:18px}
h1,h2,h3{font-family:"Aptos Display",Aptos,Arial,sans-serif;letter-spacing:-.045em;line-height:.98;margin:0}
h1{font-size:clamp(3.4rem,7vw,7rem);max-width:950px}
h2{font-size:clamp(2.6rem,5vw,5rem)}
h3{font-size:2rem}
.lead{font-size:clamp(1.15rem,2vw,1.55rem);max-width:760px;color:var(--muted);margin:28px 0}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 22px;border-radius:999px;border:1px solid var(--ink);font-weight:700;transition:.2s}
.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{background:transparent}.btn-ghost:hover{background:rgba(18,24,29,.06)}
.hero-panel{aspect-ratio:1/1;position:relative;border-radius:50%;display:grid;place-items:center;background:var(--deep);color:#fff;overflow:hidden}
.core{font-size:clamp(2rem,4vw,4rem);font-weight:800;z-index:2}
.orbit{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%}
.orbit-a{inset:12%}.orbit-b{inset:28%}
.node{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:8px 12px;border-radius:999px;font-size:.8rem}
.node-a{top:15%;left:12%}.node-b{right:8%;top:48%}.node-c{bottom:14%;left:23%}
.section{padding:120px 0}
.section-light{background:var(--paper)}
.section-dark{background:var(--ink);color:#fff}
.section-accent{background:var(--accent);color:var(--ink)}
.split{display:grid;grid-template-columns:140px 1fr;gap:50px}
.section-number{font-size:.8rem;font-weight:800;letter-spacing:.12em}
.big-copy{font-size:clamp(1.35rem,2.4vw,2.1rem);max-width:950px;color:#50585d}
.section-head{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:end;margin-bottom:60px}
.section-dark .section-head p{color:rgba(255,255,255,.62)}
.brand-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16)}
.brand-card{padding:38px 30px 44px 0;border-right:1px solid rgba(255,255,255,.16);min-height:390px;display:flex;flex-direction:column}
.brand-card + .brand-card{padding-left:30px}
.brand-card:last-child{border-right:0}
.brand-card-index{opacity:.45;font-size:.75rem;margin-bottom:auto}
.brand-card p{color:rgba(255,255,255,.62);font-size:1.1rem}
.brand-card a{margin-top:auto;font-weight:700}
.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.principles>div{display:grid;grid-template-columns:45px 130px 1fr;gap:10px;padding:24px 0;border-bottom:1px solid rgba(18,24,29,.2)}
.principles p{margin:0;opacity:.72}
.cta-panel{display:flex;align-items:end;justify-content:space-between;gap:40px}
.inner-hero{padding:120px 0 90px;background:var(--paper)}
.inner-hero.compact{padding-bottom:50px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.14)}
.service-grid article{background:var(--ink);padding:44px}
.service-grid article span{opacity:.4}.service-grid article p{color:rgba(255,255,255,.62)}
.form-shell{max-width:900px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-form label{display:grid;gap:8px;font-weight:700}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff;font:inherit}
.contact-form .full{grid-column:1/-1}
.form-note{color:var(--muted);font-size:.85rem}
.notice{margin-bottom:24px;padding:16px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.site-footer{background:#0b1014;color:#fff;padding:70px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}
.footer-brand{font-size:2rem;font-weight:800}.footer-grid p{color:rgba(255,255,255,.55);max-width:440px}
.footer-title{font-weight:800;margin-bottom:16px}.footer-grid a{display:block;color:rgba(255,255,255,.62);margin:8px 0}
.footer-bottom{display:flex;justify-content:space-between;color:rgba(255,255,255,.4);font-size:.8rem;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;margin-top:50px}
.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.is-visible{opacity:1;transform:none}
@media (max-width:900px){
  .container{width:min(calc(100% - 32px),var(--max))}
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;left:16px;right:16px;top:68px;background:var(--paper);padding:22px;border:1px solid var(--line);border-radius:18px;flex-direction:column;align-items:flex-start}
  .main-nav.is-open{display:flex}
  .hero{min-height:auto;padding:70px 0}
  .hero-grid,.section-head,.value-grid{grid-template-columns:1fr}
  .hero-panel{max-width:620px;width:100%;margin:20px auto 0}
  .split{grid-template-columns:1fr}.section-number{margin-bottom:-20px}
  .brand-cards{grid-template-columns:1fr}.brand-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.16);padding:28px 0!important;min-height:280px}
  .service-grid{grid-template-columns:1fr}
  .cta-panel{align-items:flex-start;flex-direction:column}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  h1{font-size:clamp(3rem,14vw,4.8rem)}
  .section{padding:84px 0}
  .principles>div{grid-template-columns:35px 1fr}.principles p{grid-column:2}
  .contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{gap:12px;flex-direction:column}
}


/* ===== V0.2 — Editorial / narrative layer ===== */
.v2-hero{min-height:calc(100vh - 78px);display:flex;align-items:center;padding:70px 0 45px;background:var(--paper)}
.v2-hero-inner{width:100%}
.display-xl{font-size:clamp(3.8rem,8.2vw,8.7rem);line-height:.88;letter-spacing:-.065em}
.display-lg{font-size:clamp(3rem,6.3vw,6.8rem);line-height:.93;letter-spacing:-.06em}
.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:65px;border-top:1px solid var(--line);padding-top:22px}
.hero-bottom p{max-width:500px;margin:0;color:var(--muted);font-size:1.05rem}
.scroll-link,.v2-link{font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}
.statement-screen{min-height:100vh;background:#0b1014;color:#fff;display:flex;align-items:center;padding:110px 0}
.statement-lines{font-family:"Aptos Display",Aptos,Arial,sans-serif;font-size:clamp(4rem,10vw,10rem);line-height:.82;letter-spacing:-.065em}
.statement-lines div:nth-child(2){padding-left:9vw}
.statement-lines div:nth-child(3){padding-left:18vw}
.statement-note{margin:50px 0 0 auto;max-width:360px;color:rgba(255,255,255,.55)}
.ecosystem-intro{padding:150px 0 100px;background:var(--paper)}
.company-screen{min-height:92vh;display:flex;align-items:center;padding:100px 0}
.company-layout{display:grid;grid-template-columns:280px 1fr;gap:60px}
.company-meta{display:flex;flex-direction:column;justify-content:space-between;min-height:430px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.company-content h2{font-size:clamp(5rem,12vw,12rem);line-height:.78;letter-spacing:-.075em}
.company-content p{font-size:clamp(1.2rem,2.1vw,1.8rem);max-width:760px;margin:50px 0;color:inherit;opacity:.68}
.company-tech{background:#102d34;color:#fff}
.company-digital{background:#e8e1d6;color:#151515}
.company-academy{background:#d5d9d1;color:#12181d}
.company-content .actions{align-items:center}
.v2-link.secondary{opacity:.55}
.foundation-teaser{min-height:90vh;display:flex;align-items:center;padding:120px 0;background:var(--paper)}
.foundation-bottom{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-top:80px;padding-top:24px;border-top:1px solid var(--line)}
.foundation-bottom p{max-width:520px;color:var(--muted)}
.final-screen{min-height:80vh;display:flex;align-items:center;background:var(--accent);padding:120px 0}
.pill-cta{display:inline-flex;margin-top:50px;border:1px solid var(--ink);border-radius:999px;padding:18px 26px;font-weight:800}
.foundation-hero{min-height:78vh;display:flex;align-items:center;padding:110px 0;background:var(--paper)}
.foundation-screen{min-height:86vh;display:flex;align-items:center;padding:100px 0;background:#e6e2d9}
.foundation-screen.inverse{background:#0b1014;color:#fff}
.values-screen{background:var(--accent)}
.foundation-layout{display:grid;grid-template-columns:250px 1fr;gap:70px}
.foundation-label{display:flex;flex-direction:column;justify-content:space-between;min-height:330px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}
.foundation-screen h2{font-size:clamp(4rem,10vw,9rem)}
.official-placeholder{max-width:820px;font-size:clamp(1.25rem,2vw,1.8rem);opacity:.6}
@media(max-width:900px){
 .company-layout,.foundation-layout{grid-template-columns:1fr}
 .company-meta,.foundation-label{min-height:auto;flex-direction:row}
 .statement-lines div:nth-child(2),.statement-lines div:nth-child(3){padding-left:0}
 .foundation-bottom,.hero-bottom{align-items:flex-start;flex-direction:column}
 .company-screen{min-height:75vh}
}


/* ===== V0.3 — Brand + visual punch ===== */
.header-logo{display:block;width:142px;height:auto;max-height:42px}
.v3-hero{min-height:calc(100vh - 78px);display:flex;align-items:center;padding:55px 0}
.v3-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:54px;align-items:stretch}
.v3-hero-copy{display:flex;flex-direction:column;justify-content:center;min-height:690px}
.v3-title{font-size:clamp(3.7rem,6.35vw,6.9rem);line-height:.91;letter-spacing:-.062em;max-width:820px}
.v3-hero-foot{display:flex;justify-content:space-between;align-items:end;gap:30px;border-top:1px solid var(--line);padding-top:20px;margin-top:48px}
.v3-hero-foot p{margin:0;max-width:430px;color:var(--muted)}
.hero-visual{min-height:690px;background:#102d34;color:#fff;position:relative;overflow:hidden;border-radius:2px;padding:38px;display:flex;align-items:flex-end}
.visual-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);opacity:.2}
.visual-grid span{border-right:1px solid #fff}
.visual-copy{font-family:"Aptos Display",Aptos,Arial,sans-serif;font-size:clamp(3rem,5vw,5.4rem);font-weight:700;line-height:.83;letter-spacing:-.06em;position:relative;z-index:2}
.visual-caption{position:absolute;right:28px;top:28px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;opacity:.7}
.photo-break{min-height:78vh;display:flex;align-items:end;padding:80px 0;color:#fff;position:relative;overflow:hidden}
.photo-break-one{background:
 radial-gradient(circle at 75% 25%,rgba(46,132,147,.65),transparent 28%),
 linear-gradient(120deg,#071418 0%,#123943 52%,#091115 100%)}
.photo-break-one:before{content:"";position:absolute;width:62vw;height:62vw;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-8vw;top:-20vw;box-shadow:0 0 0 8vw rgba(255,255,255,.025),0 0 0 16vw rgba(255,255,255,.02)}
.photo-break-content{position:relative;z-index:2}
.photo-break-content span{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;opacity:.65}
.photo-break-content h2{font-size:clamp(3.2rem,7vw,7.5rem);max-width:1000px;margin-top:22px}
.company-layout-v3{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}
.company-brand{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:20px 0}
.company-logo{display:block;width:min(100%,460px);height:auto;object-fit:contain;object-position:left center}
.tech-logo{max-width:500px}.digital-logo{max-width:470px}.academy-logo{max-width:450px}
.company-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;opacity:.55;margin-top:50px}
.company-story p{font-size:clamp(1.2rem,2vw,1.7rem);max-width:720px;margin:36px 0;opacity:.68}
.company-visual{aspect-ratio:16/10;position:relative;overflow:hidden;padding:28px;display:flex;align-items:flex-end;margin-bottom:35px}
.company-visual span{font-size:clamp(2.2rem,4.5vw,5rem);font-weight:800;line-height:.86;letter-spacing:-.05em;position:relative;z-index:2}
.tech-visual{background:linear-gradient(135deg,#071418,#21505a);border:1px solid rgba(255,255,255,.15)}
.tech-visual:after{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.2);box-shadow:40px 40px 0 -39px rgba(255,255,255,.35),80px 80px 0 -79px rgba(255,255,255,.35)}
.digital-visual{background:radial-gradient(circle at 25% 25%,#08a6ae 0,transparent 24%),radial-gradient(circle at 75% 70%,#6134df 0,transparent 31%),#111827;color:#fff}
.academy-visual{background:radial-gradient(circle at 70% 28%,#1d54ff 0,transparent 28%),linear-gradient(145deg,#07143a,#eef2ff);color:#fff}
.final-grid{display:grid;grid-template-columns:1fr .65fr;gap:60px;align-items:end}
.final-logo{width:100%;max-width:470px;height:auto}
@media(max-width:900px){
 .v3-hero-grid,.company-layout-v3,.final-grid{grid-template-columns:1fr}
 .v3-hero-copy{min-height:auto}
 .hero-visual{min-height:58vh}
 .company-brand{min-height:auto}
 .company-logo{max-width:420px}
}
@media(max-width:600px){
 .v3-title{font-size:clamp(3.1rem,14vw,4.8rem)}
 .v3-hero-foot{align-items:flex-start;flex-direction:column}
 .hero-visual{min-height:55vh;padding:24px}
 .header-logo{width:118px}
}


/* ===== V0.4 — Photography + white-space ===== */
.v4-hero{min-height:calc(100vh - 78px);display:flex;align-items:center;padding:54px 0 70px;background:#f5f3ee}
.v4-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:stretch}
.v4-copy{display:flex;flex-direction:column;justify-content:center;min-height:690px}
.v4-copy h1{font-size:clamp(3.7rem,6.1vw,6.65rem);line-height:.91;letter-spacing:-.062em}
.v4-foot{display:flex;justify-content:space-between;align-items:end;gap:25px;border-top:1px solid var(--line);padding-top:20px;margin-top:46px}
.v4-foot p{margin:0;max-width:430px;color:var(--muted)}
.v4-hero-image{margin:0;min-height:690px;position:relative;overflow:hidden;background:#ddd}
.v4-hero-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.82) contrast(1.03)}
.v4-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,18,22,.34),transparent 45%)}
.v4-hero-image figcaption{position:absolute;z-index:2;right:24px;bottom:22px;color:#fff;text-transform:uppercase;letter-spacing:.15em;font-size:.64rem}
.v4-intro{padding:145px 0 95px;background:#fff}
.v4-company{background:#fff;padding:0 0 140px}
.v4-company-grid{display:grid;grid-template-columns:.92fr 1.08fr;min-height:680px;border-top:1px solid rgba(18,24,29,.12);padding-top:44px;gap:70px}
.v4-company-grid.reverse{grid-template-columns:1.08fr .92fr}
.v4-brand{display:flex;flex-direction:column;justify-content:space-between;padding:15px 0 4px}
.v4-logo{display:block;height:auto;object-fit:contain;object-position:left center}
.v4-logo.tech{width:min(100%,470px)}.v4-logo.digital{width:min(100%,430px)}.v4-logo.academy{width:min(100%,420px)}
.v4-brand h2{font-size:clamp(3.2rem,5.5vw,6rem);line-height:.88;letter-spacing:-.055em;margin:55px 0 25px}
.v4-brand p{font-size:clamp(1.08rem,1.6vw,1.35rem);max-width:590px;color:var(--muted)}
.v4-brand small{text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;color:var(--muted);margin-top:55px}
.v4-photo{min-height:680px;overflow:hidden;background:#e9e9e9}
.v4-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.v4-photo:hover img{transform:scale(1.025)}
@media(max-width:900px){
 .v4-grid,.v4-company-grid,.v4-company-grid.reverse{grid-template-columns:1fr}
 .v4-copy{min-height:auto}
 .v4-hero-image,.v4-photo{min-height:58vh}
 .v4-company-grid.reverse .v4-photo{order:2}
 .v4-company-grid.reverse .v4-brand{order:1}
}
@media(max-width:600px){
 .v4-copy h1{font-size:clamp(3rem,14vw,4.6rem)}
 .v4-foot{flex-direction:column;align-items:flex-start}
 .v4-company{padding-bottom:90px}
 .v4-company-grid{gap:35px;min-height:auto}
 .v4-photo{min-height:52vh}
}


/* ===== V0.5 — Ajustes de marca y fotografía ===== */
.site-header .nav-shell{
  min-height:96px;
}
.header-logo{
  width:250px;
  max-height:64px;
  height:auto;
}
@media(max-width:900px){
  .site-header .nav-shell{min-height:82px}
  .header-logo{width:205px;max-height:54px}
}
@media(max-width:600px){
  .header-logo{width:175px;max-height:48px}
}


/* ===== V0.6 — Navegación del ecosistema + ritmo tipográfico ===== */
html{scroll-behavior:smooth;scroll-padding-top:112px}

.v6-ecosystem{
  min-height:calc(100vh - 96px);
  display:flex;
  align-items:center;
  background:#fff;
  padding:72px 0 82px;
  scroll-margin-top:96px;
}
.v6-ecosystem-title{
  font-size:clamp(4.4rem,7.25vw,7.8rem);
  line-height:.90;
  letter-spacing:-.06em;
  margin:24px 0 64px;
}
.v6-brand-map{
  border-top:1px solid rgba(18,24,29,.14);
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.v6-brand-item{
  min-height:190px;
  padding:38px 34px 24px 0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid rgba(18,24,29,.14);
}
.v6-brand-item + .v6-brand-item{padding-left:34px}
.v6-brand-item:last-child{border-right:0}
.v6-brand-item img{
  width:100%;
  max-width:310px;
  max-height:76px;
  object-fit:contain;
  object-position:left center;
}
.v6-brand-item span{
  margin-top:32px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.62rem;
  color:var(--muted);
}
.v6-brand-item{transition:opacity .25s ease,transform .25s ease}
.v6-brand-item:hover{opacity:.68;transform:translateY(-3px)}
.v6-anchor{scroll-margin-top:112px}

.v6-foundation-title span,
.v6-final-title span{display:block;white-space:nowrap}

.v6-foundation-title{
  font-size:clamp(3.6rem,5.8vw,6.35rem) !important;
  line-height:.94 !important;
  letter-spacing:-.058em !important;
}

.v6-final-title{
  font-size:clamp(3.8rem,6vw,6.6rem) !important;
  line-height:.92 !important;
  letter-spacing:-.058em !important;
}

@media(max-width:1100px){
  .v6-foundation-title span,.v6-final-title span{white-space:normal}
}
@media(max-width:900px){
  html{scroll-padding-top:90px}
  .v6-ecosystem{min-height:auto;padding:90px 0}
  .v6-brand-map{grid-template-columns:1fr}
  .v6-brand-item,.v6-brand-item + .v6-brand-item{
    min-height:145px;padding:28px 0;border-right:0;border-bottom:1px solid rgba(18,24,29,.14)
  }
  .v6-brand-item:last-child{border-bottom:0}
  .v6-brand-item img{max-width:330px}
}


/* ===== V0.7 — Fundamentos + IBGMx ===== */
.f7-hero,.g7-hero{min-height:calc(100vh - 96px);display:flex;align-items:center;background:#f5f3ee;padding:90px 0}
.f7-title,.g7-title{font-size:clamp(4rem,7.4vw,8rem);line-height:.88;letter-spacing:-.065em}
.f7-intro,.g7-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid var(--line);margin-top:60px;padding-top:22px}
.f7-intro p,.g7-intro p{max-width:620px;font-size:1.15rem;color:var(--muted)}
.f7-panel{min-height:88vh;display:flex;align-items:center;padding:110px 0;scroll-margin-top:110px}
.f7-light{background:#fff}.f7-dark{background:#0b1014;color:#fff}.f7-gold{background:var(--accent)}
.f7-grid{display:grid;grid-template-columns:220px 1fr;gap:70px}
.f7-index{display:flex;flex-direction:column;justify-content:space-between;min-height:390px;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;opacity:.55}
.f7-content h2{font-size:clamp(5rem,11vw,11rem)}
.f7-placeholder{max-width:900px;font-size:clamp(1.4rem,2.5vw,2.4rem);opacity:.58}
.f7-values-placeholder{display:grid;grid-template-columns:repeat(2,1fr);margin-top:60px;border-top:1px solid rgba(18,24,29,.25)}
.f7-values-placeholder span{padding:25px 0;border-bottom:1px solid rgba(18,24,29,.25);font-weight:800;letter-spacing:.08em}
.f7-action,.g7-build{min-height:82vh;display:flex;align-items:center;padding:120px 0;background:#f5f3ee}
.f7-action h2,.g7-build h2{font-size:clamp(3.8rem,6vw,6.6rem);line-height:.93;letter-spacing:-.058em}
.f7-action-bottom,.g7-build-bottom{display:flex;justify-content:space-between;align-items:end;gap:50px;border-top:1px solid var(--line);margin-top:70px;padding-top:24px}
.f7-action-bottom p,.g7-build-bottom p{max-width:570px;color:var(--muted)}

.g7-logo{width:min(100%,390px);height:auto;margin-bottom:55px}
.g7-architecture{min-height:100vh;display:flex;align-items:center;padding:120px 0;background:#fff}
.g7-section-title{font-size:clamp(3.6rem,6.5vw,7rem);line-height:.92;letter-spacing:-.06em}
.g7-map{margin-top:80px}
.g7-parent{text-align:center;padding-bottom:45px}.g7-parent img{width:310px;max-width:70%}
.g7-line{height:70px;position:relative}
.g7-line:before{content:"";position:absolute;left:50%;top:0;height:35px;border-left:1px solid var(--line)}
.g7-line:after{content:"";position:absolute;left:16.6%;right:16.6%;top:35px;border-top:1px solid var(--line)}
.g7-children{display:grid;grid-template-columns:repeat(3,1fr);gap:1px}
.g7-children a{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px;border-right:1px solid var(--line)}
.g7-children a:last-child{border-right:0}
.g7-children img{max-width:260px;max-height:74px;object-fit:contain}
.g7-children span{text-transform:uppercase;letter-spacing:.13em;font-size:.65rem;color:var(--muted)}
.g7-cycle{min-height:100vh;display:flex;align-items:center;padding:120px 0;background:#0b1014;color:#fff}
.g7-cycle-grid{display:grid;grid-template-columns:1fr .85fr;gap:90px}
.g7-cycle-list{border-top:1px solid rgba(255,255,255,.18)}
.g7-cycle-list div{display:grid;grid-template-columns:55px 1fr;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.g7-cycle-list span{opacity:.4;font-size:.72rem}.g7-cycle-list strong{font-size:clamp(1.4rem,2.2vw,2rem)}

@media(max-width:900px){
 .f7-grid,.g7-cycle-grid{grid-template-columns:1fr}
 .f7-index{min-height:auto;flex-direction:row}
 .f7-intro,.g7-intro,.f7-action-bottom,.g7-build-bottom{flex-direction:column;align-items:flex-start}
 .g7-children{grid-template-columns:1fr}
 .g7-line{display:none}
 .g7-children a{border-right:0;border-bottom:1px solid var(--line)}
}


/* ===== V0.8 — Consolidated review adjustments ===== */

/* More visual breathing room when navigating to internal anchors. */
html{scroll-padding-top:245px}
#ecosistema,#in-tech,#in-digital,#in-academy,
#mision,#vision,#valores,#arquitectura{
  scroll-margin-top:245px !important;
}

.v6-back{
  display:block;
  width:max-content;
  margin-top:22px;
  font-size:.78rem;
  font-weight:600;
  color:var(--muted);
  border-bottom:1px solid rgba(18,24,29,.25);
  padding-bottom:3px;
}
.v6-back:hover{color:var(--ink);border-color:var(--ink)}

.f8-statement{
  max-width:980px;
  font-size:clamp(1.65rem,3vw,3rem);
  line-height:1.25;
  letter-spacing:-.025em;
  margin-top:34px;
}
.f7-dark .f8-statement{color:rgba(255,255,255,.86)}
.f8-values{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:55px;
  border-top:1px solid rgba(18,24,29,.28);
}
.f8-values article{
  padding:30px 30px 32px 0;
  border-bottom:1px solid rgba(18,24,29,.28);
}
.f8-values article:nth-child(3n+2),
.f8-values article:nth-child(3n+3){padding-left:30px;border-left:1px solid rgba(18,24,29,.28)}
.f8-values h3{
  margin:0 0 16px;
  font-size:clamp(1.35rem,2vw,1.8rem);
  text-transform:uppercase;
  letter-spacing:.045em;
}
.f8-values p{margin:0;line-height:1.55;max-width:360px}

/* Closing IBGMx signature must read as a principal brand element. */
.final-screen .final-logo{
  width:100% !important;
  max-width:620px !important;
  min-width:420px;
  justify-self:end;
  align-self:center;
}

@media(max-width:900px){
  html{scroll-padding-top:155px}
  #ecosistema,#in-tech,#in-digital,#in-academy,
  #mision,#vision,#valores,#arquitectura{scroll-margin-top:155px !important}
  .f8-values{grid-template-columns:1fr}
  .f8-values article,.f8-values article:nth-child(3n+2),.f8-values article:nth-child(3n+3){
    padding:25px 0;border-left:0
  }
  .final-screen .final-logo{min-width:0;max-width:460px !important;justify-self:start}
}

/* ===== V0.9 consolidated review ===== */
html{scroll-padding-top:40px}
#ecosistema,#in-tech,#in-digital,#in-academy,#mision,#vision,#valores,#arquitectura,#servicios,#proposito{scroll-margin-top:40px!important}
.business-actions{display:flex;flex-wrap:wrap;align-items:center;gap:34px}
.business-actions .v6-back{display:inline-block;width:max-content;margin-top:0!important;font-size:inherit!important;font-weight:700!important;color:var(--ink)!important;border-bottom:1px solid currentColor!important;padding-bottom:4px}
.g7-architecture .g7-section-title{max-width:none;font-size:clamp(3.2rem,5.5vw,6rem)}
.g7-architecture .g7-section-title .line{display:block;white-space:nowrap}
.company9-hero{min-height:calc(100vh - 92px);background:#f5f3ee;display:flex;align-items:center;padding:70px 0 90px}
.company9-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr);gap:70px;align-items:center}
.company9-logo{display:block;max-width:430px;max-height:92px;width:auto;height:auto;object-fit:contain;margin-bottom:44px}
.company9-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:700;margin-bottom:22px}
.company9-title{font-size:clamp(4.2rem,6.7vw,7.3rem);line-height:.9;letter-spacing:-.06em;margin:0 0 28px}
.company9-copy{max-width:650px;font-size:1.25rem;line-height:1.45;color:var(--muted)}
.company9-actions{display:flex;flex-wrap:wrap;gap:26px;margin-top:34px;align-items:center}
.company9-photo{height:min(72vh,760px);min-height:520px;overflow:hidden}
.company9-photo img{width:100%;height:100%;object-fit:cover;display:block}
.services9{background:#0b1014;color:#fff;padding:110px 0}
.services9-label{font-size:clamp(1.1rem,1.55vw,1.45rem);font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:24px}
.services9-title{font-size:clamp(4rem,7vw,7rem);line-height:.92;letter-spacing:-.055em;max-width:1050px;margin:0}
.service9-list{margin-top:90px}
.service9{display:grid;grid-template-columns:1fr 1fr;min-height:560px;border-top:1px solid rgba(255,255,255,.18);padding:55px 0;gap:70px;align-items:center}
.service9:nth-child(even) .service9-photo{order:2}
.service9-photo{height:500px;overflow:hidden;background:#182027}
.service9-photo img{width:100%;height:100%;object-fit:cover;display:block}
.service9-num{font-size:.72rem;opacity:.45;letter-spacing:.12em}
.service9 h3{font-size:clamp(2.7rem,4.7vw,5rem);line-height:.95;letter-spacing:-.045em;margin:20px 0}
.service9 p{font-size:1.15rem;line-height:1.55;color:rgba(255,255,255,.68);max-width:560px}
.f9-visual{margin-top:50px;width:100%;height:clamp(300px,38vw,560px);overflow:hidden;background:#e9e5dc}
.f9-visual img{width:100%;height:100%;object-fit:cover;display:block}
.f9-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.82fr);gap:65px;align-items:center}
.f9-split .f9-visual{margin-top:0;height:clamp(400px,48vw,650px)}
.f9-values-visual{margin-bottom:50px;height:clamp(280px,32vw,450px)}
.final-screen .final-logo{width:100%!important;max-width:455px!important;min-width:0!important;justify-self:end;margin-right:34px}
@media(max-width:900px){
 html{scroll-padding-top:40px}
 #ecosistema,#in-tech,#in-digital,#in-academy,#mision,#vision,#valores,#arquitectura,#servicios,#proposito{scroll-margin-top:40px!important}
 .company9-grid,.service9,.f9-split{grid-template-columns:1fr}
 .company9-photo{min-height:390px;height:55vh}
 .service9:nth-child(even) .service9-photo{order:0}
 .service9-photo{height:380px}
 .g7-architecture .g7-section-title .line{white-space:normal}
 .final-screen .final-logo{max-width:380px!important;margin-right:0;justify-self:start}
}


/* ===== V0.10 — consolidated navigation, internal companies, service/course photography ===== */

/* Fine anchor position */
html{scroll-padding-top:50px!important}
#ecosistema,#in-tech,#in-digital,#in-academy,#mision,#vision,#valores,#arquitectura,
#servicios,#proposito,#capacidad,#formacion{scroll-margin-top:50px!important}

.v10-ecosystem-tools{display:flex;justify-content:flex-end;margin-bottom:26px}
.v10-back,.light-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}

/* Raised lower descriptors in Home business sections */
.v4-brand small,.company-kicker{transform:translateY(-24px)}
.section-number,.eyebrow{font-size:max(.82rem,inherit)}
.capability10-meta,.academy10-head>span,.service10-num{
  font-size:.96rem;
  letter-spacing:.12em;
  font-weight:800;
}

/* Unified company internal hero */
.company10-hero{min-height:calc(100vh - 96px);background:#f5f3ee;display:flex;align-items:center;padding:72px 0 90px}
.company10-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:70px;align-items:center}
.company10-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:800;margin-bottom:24px}
.company10-logo{display:block;max-width:430px;max-height:96px;width:auto;height:auto;object-fit:contain;margin-bottom:44px}
.company10-title{font-size:clamp(4rem,6.4vw,7.2rem);line-height:.9;letter-spacing:-.06em;margin:0 0 28px}
.company10-copy{max-width:640px;font-size:1.23rem;line-height:1.5;color:var(--muted)}
.company10-actions{display:flex;flex-wrap:wrap;gap:34px;align-items:center;margin-top:36px}
.company10-photo{height:min(72vh,760px);min-height:520px;overflow:hidden}
.company10-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* IN-TECH capability */
.capability10{background:#f5f3ee;padding:110px 0}
.capability10-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:70px;align-items:center}
.capability10-meta{display:grid;grid-template-columns:80px 1fr;gap:20px;margin-bottom:30px}
.capability10 h2{font-size:clamp(3.2rem,5.3vw,5.8rem);line-height:.94;letter-spacing:-.055em;margin:0 0 34px}
.capability10 p{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.5;color:var(--muted);max-width:760px}
.capability10-photo{height:650px;overflow:hidden}
.capability10-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.business-actions{display:flex;flex-wrap:wrap;gap:34px;align-items:center;margin-top:36px}

/* IN-Digital services */
.services10{background:#0b1014;color:#fff;padding:105px 0 120px}
.services10-head{border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:58px}
.services10-label{font-size:1.25rem;font-weight:800;letter-spacing:.15em;margin-bottom:24px}
.services10-head h2{font-size:clamp(3.6rem,6vw,6.35rem);line-height:.92;letter-spacing:-.055em;max-width:980px;margin:0}
.service10-list{margin-top:54px}
.service10{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:54px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.service10.reverse .service10-photo{order:2}
.service10-photo{height:470px;overflow:hidden}
.service10-photo img{width:100%;height:100%;object-fit:cover;display:block}
.service10-copy h3{font-size:clamp(2.8rem,4.6vw,4.8rem);line-height:.95;letter-spacing:-.045em;margin:18px 0 20px}
.service10-copy p{font-size:1.15rem;line-height:1.55;color:rgba(255,255,255,.68);max-width:580px}
.service10-num{display:block;color:rgba(255,255,255,.62)}
.service10-bottom{padding-top:46px}
.light-link{color:#fff}

/* IN-Academy */
.academy10{background:#fff;padding:110px 0 120px}
.academy10-head{display:grid;grid-template-columns:120px 1fr;gap:48px;align-items:start}
.academy10-kicker{font-size:1rem;font-weight:800;letter-spacing:.14em;margin-bottom:20px}
.academy10-head h2{font-size:clamp(3.2rem,5.4vw,5.8rem);line-height:.94;letter-spacing:-.055em;margin:0 0 28px}
.academy10-head p{font-size:1.25rem;line-height:1.5;color:var(--muted);max-width:800px}
.academy10-courses{margin-top:80px}
.academy10-course{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:55px 0;border-top:1px solid var(--line)}
.academy10-course.reverse .academy10-course-photo{order:2}
.academy10-course-photo{height:500px;overflow:hidden}
.academy10-course-photo img{width:100%;height:100%;object-fit:cover;display:block}
.academy10-course-copy span{font-size:.9rem;letter-spacing:.12em;font-weight:800;color:var(--muted)}
.academy10-course-copy h3{font-size:clamp(2.8rem,4.6vw,4.8rem);line-height:.95;letter-spacing:-.045em;margin:18px 0 20px}
.academy10-course-copy p{font-size:1.15rem;line-height:1.55;color:var(--muted);max-width:590px}
.academy10-bottom{padding-top:46px;border-top:1px solid var(--line);margin-top:20px}

/* Keep gold closing brand restrained */
.final-screen .final-logo{max-width:430px!important;margin-right:48px}

@media(max-width:900px){
  html{scroll-padding-top:50px!important}
  #ecosistema,#in-tech,#in-digital,#in-academy,#mision,#vision,#valores,#arquitectura,#servicios,#proposito,#capacidad,#formacion{scroll-margin-top:50px!important}
  .company10-grid,.capability10-grid,.service10,.academy10-course{grid-template-columns:1fr}
  .company10-photo,.capability10-photo{height:55vh;min-height:380px}
  .service10.reverse .service10-photo,.academy10-course.reverse .academy10-course-photo{order:0}
  .service10-photo,.academy10-course-photo{height:380px}
  .academy10-head{grid-template-columns:1fr}
  .v4-brand small,.company-kicker{transform:none}
}


/* ===== V0.10.1 — Home company action alignment ===== */
.home-business-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:36px;
  margin-top:34px;
}
.home-business-actions .v2-link{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin:0;
  padding-bottom:4px;
  line-height:1.2;
}
@media(max-width:700px){
  .home-business-actions{gap:22px 28px}
}


/* ===== V0.11 — Fundamentos institucionales IBGMx ===== */

/* Fundamentos belongs to IBGMx, not to individual companies */
.f7-content{max-width:1180px}
.f7-content h2{
  font-size:clamp(4.2rem,7.2vw,7.5rem)!important;
  line-height:.9!important;
  letter-spacing:-.055em!important;
  margin-bottom:34px!important;
}
.f8-statement{
  max-width:1040px!important;
  font-size:clamp(1.35rem,2.15vw,2.05rem)!important;
  line-height:1.42!important;
  letter-spacing:-.018em!important;
  margin-top:22px!important;
}
.f7-grid{
  grid-template-columns:180px 1fr!important;
  gap:56px!important;
}
.f7-index{
  min-height:300px!important;
  font-size:.82rem!important;
  letter-spacing:.14em!important;
}
.f7-dark .f8-statement{color:rgba(255,255,255,.82)!important}

/* Values: no photo. Let the six institutional values carry the section. */
.f7-gold .f7-content h2{
  font-size:clamp(4rem,6.8vw,7rem)!important;
  margin-bottom:26px!important;
}
.f8-values{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  margin-top:28px!important;
  border-top:1px solid rgba(18,24,29,.28)!important;
}
.f8-values article{
  min-height:220px;
  padding:28px 26px 30px 0!important;
  border-bottom:1px solid rgba(18,24,29,.28)!important;
}
.f8-values article:nth-child(3n+2),
.f8-values article:nth-child(3n+3){
  padding-left:28px!important;
  border-left:1px solid rgba(18,24,29,.28)!important;
}
.f8-values h3{
  font-size:clamp(1.25rem,1.8vw,1.65rem)!important;
  letter-spacing:.055em!important;
  margin-bottom:14px!important;
}
.f8-values p{
  font-size:1rem!important;
  line-height:1.5!important;
  max-width:340px!important;
}

/* Subtle institutional root/branch motif, abstracted with lines; no subsidiary imagery */
.f7-gold{
  position:relative;
  overflow:hidden;
}
.f7-gold:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-140px;
  top:-110px;
  border:1px solid rgba(17,63,74,.18);
  border-radius:50%;
  box-shadow:
    -46px 54px 0 -45px rgba(17,63,74,.18),
    -92px 108px 0 -91px rgba(17,63,74,.14),
    -138px 162px 0 -137px rgba(17,63,74,.10);
  pointer-events:none;
}
.f7-gold .container{position:relative;z-index:1}

@media(max-width:900px){
  .f7-grid{grid-template-columns:1fr!important}
  .f7-index{min-height:auto!important;flex-direction:row!important}
  .f8-values{grid-template-columns:1fr!important}
  .f8-values article,
  .f8-values article:nth-child(3n+2),
  .f8-values article:nth-child(3n+3){
    min-height:auto;
    padding:24px 0!important;
    border-left:0!important;
  }
}


/* ===== V0.12 — Ajustes finos de cierre de jornada ===== */
.contact-hero .eyebrow,
.contact-page .eyebrow,
#contacto .eyebrow,
.contact .eyebrow{
  font-size:clamp(.95rem,1.05vw,1.12rem)!important;
  letter-spacing:.14em!important;
  font-weight:700!important;
}

/* Contact hero: reserve a balanced visual column when an image is present */
.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:64px;
  align-items:center;
}
.contact-hero-grid img{
  width:100%;
  height:clamp(380px,48vw,620px);
  object-fit:cover;
  display:block;
}
@media(max-width:900px){
  .contact-hero-grid{grid-template-columns:1fr;gap:32px}
}


/* ===== V0.13 — IN-Academy photographic refresh ===== */
/* Keep the academy hero complete within a typical desktop viewport. */
.company10-hero{padding-top:58px;padding-bottom:64px}
.company10-photo{height:min(66vh,660px);min-height:460px}
.company10-photo img{object-position:center center}
.academy10-course-photo img{object-position:center center}
@media(max-width:900px){
  .company10-photo{height:48vh;min-height:340px}
}


/* ===== V0.15 — Consolidated fine-tuning ===== */
html{scroll-padding-top:50px!important}
#ecosistema,#in-tech,#in-digital,#in-academy,#capacidad,#servicios,#formacion,#mision,#vision,#valores{scroll-margin-top:50px!important}

/* Home company sections: fit one desktop viewport more cleanly */
.home-company{padding-bottom:88px!important}
.home-company .v4-company-grid{min-height:620px!important;gap:58px!important}
.home-company .v4-photo{min-height:610px!important;height:610px!important}
.home-company .v4-brand{padding-bottom:22px!important}
.home-company .v4-brand small{transform:none!important;margin-top:34px!important;padding-bottom:26px!important}
.home-business-actions{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:36px!important;margin-top:30px!important}
.home-business-actions .v2-link{white-space:nowrap!important;display:inline-flex!important;align-items:center!important;margin:0!important}
.intech-home-title span{display:block;white-space:nowrap}
.intech-home-title{font-size:clamp(3.35rem,4.7vw,5.35rem)!important;line-height:.92!important}
.home-digital .v4-photo{height:590px!important;min-height:590px!important}
.home-digital .v4-brand small{padding-bottom:34px!important}

/* Internal company hero alignment */
.company10-actions{display:flex!important;align-items:center!important;gap:36px!important}
.company10-actions .pill-cta,.company10-actions .v2-link{margin:0!important;align-self:center!important}
.intech-page-title span{display:block;white-space:nowrap}
.intech-page-title{font-size:clamp(3.8rem,5.7vw,6.2rem)!important}

/* IN-TECH capability: different image, stronger metadata */
.capability10-meta{font-size:1rem!important}
.capability10-meta span{font-size:1rem!important;font-weight:800!important;letter-spacing:.12em!important}
.capability10-photo{height:610px!important}
.capability10-photo img{object-fit:cover!important;object-position:center!important}

/* IN-Digital services: each photo matches the service, and avoids awkward cropping */
.services10-head{padding-bottom:46px!important}
.services10-label{font-size:1.35rem!important}
.services10-head h2{font-size:clamp(3.3rem,5.3vw,5.7rem)!important;max-width:900px!important}
.service10{min-height:520px!important;padding:48px 0!important}
.service10-photo{height:420px!important;background:#10171d!important}
.service10-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.service10-num{font-size:1rem!important;font-weight:800!important}
.service10-copy h3{font-size:clamp(2.55rem,4vw,4.25rem)!important}

/* Academy: keep course starts visible, use only the v2 images */
.company10-hero .company10-photo{height:610px!important;min-height:610px!important}
.academy10{padding-top:88px!important}
.academy10-head{margin-bottom:38px!important}
.academy10-courses{margin-top:48px!important}
.academy10-course{padding:42px 0!important;min-height:500px!important}
.academy10-course-photo{height:420px!important}
.academy10-course-copy h3{font-size:clamp(2.45rem,3.8vw,4rem)!important}

/* Contact */
.contact-hero-grid-v15{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:64px;align-items:center}
.contact-eyebrow-v15{font-size:1.05rem!important;font-weight:800!important;letter-spacing:.15em!important}
.contact-hero-v15 h1{font-size:clamp(4.7rem,7.4vw,7.8rem)!important;margin-bottom:22px!important}
.contact-photo-v15{height:560px;overflow:hidden}
.contact-photo-v15 img{width:100%;height:100%;object-fit:cover;display:block}
.contact-channels-v15{margin-top:34px}
.whatsapp-v15{display:inline-flex;align-items:center;gap:14px;border:1px solid rgba(18,24,29,.22);border-radius:999px;padding:12px 18px;background:#fff}
.whatsapp-v15 svg{width:28px;height:28px;fill:#1f9d55}
.whatsapp-v15 div{display:flex;flex-direction:column;line-height:1.1}
.whatsapp-v15 strong{font-size:.95rem}.whatsapp-v15 span{font-size:.72rem;color:var(--muted);margin-top:4px}

@media(max-width:1000px){
 .home-business-actions{flex-wrap:wrap!important}
 .home-company .v4-photo,.home-digital .v4-photo{height:56vh!important;min-height:420px!important}
 .contact-hero-grid-v15{grid-template-columns:1fr}
 .contact-photo-v15{height:440px}
 .intech-home-title span,.intech-page-title span{white-space:normal}
}


/* ===== V0.16 — Consolidated visual fine-tuning ===== */
/* Home hero: remove redundant corporate eyebrow, make the cycle statement compact, reduce visual weight of photo */
.v4-hero{padding-top:46px!important;padding-bottom:58px!important}
.v4-grid{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)!important;gap:72px!important}
.v4-copy{padding-top:12px}
.home-cycle-title{font-size:clamp(3.55rem,5.45vw,6.15rem)!important;line-height:.91!important;max-width:1050px!important}
.home-cycle-title span{display:block;white-space:nowrap}
.v4-hero-image{min-height:560px!important;max-height:620px!important;align-self:center}

/* IN-Digital: land directly on the stronger, slightly lower services composition */
#servicios.services10{scroll-margin-top:18px!important;padding-top:128px!important}
.services10-head{padding-bottom:38px!important}
.service10-list{margin-top:26px!important}
.service10{padding-top:42px!important;padding-bottom:42px!important}

/* IN-Academy: preserve 01 / Formación while revealing Course 01 sooner */
#formacion.academy10{scroll-margin-top:18px!important;padding-top:112px!important}
.academy10-head{margin-bottom:18px!important}
.academy10-head h2{margin-bottom:22px!important}
.academy10-courses{margin-top:28px!important}
.academy10-course:first-child{padding-top:34px!important}

/* Fundamentos hero: two deliberate lines plus an institutional visual */
.f16-hero{min-height:auto!important;padding:88px 0 96px!important}
.f16-title{font-size:clamp(4.4rem,7.15vw,7.9rem)!important;line-height:.9!important;max-width:none!important;margin-bottom:54px!important}
.f16-title span{display:block;white-space:nowrap}
.f16-hero .f7-intro{margin-top:0!important}
.f16-hero-visual{margin:58px 0 0;width:100%;height:390px;overflow:hidden}
.f16-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 56%;display:block;filter:saturate(.72) contrast(1.04)}

/* Mission / Vision: readable text + distinct visual rhythm */
.f16-principle .f7-content h2{font-size:clamp(4rem,6.4vw,6.7rem)!important;margin-bottom:28px!important}
.f16-principle-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:64px;align-items:center}
.f16-principle .f8-statement{font-size:clamp(1.28rem,1.72vw,1.72rem)!important;line-height:1.48!important;margin:0!important;max-width:720px!important}
.f16-principle-visual{height:470px;margin:0;overflow:hidden}
.f16-principle-visual img{width:100%;height:100%;object-fit:cover;display:block}
.f16-principle-visual.mission img{object-position:56% center}
.f16-principle-visual.vision img{object-position:center center;filter:saturate(.72)}

/* Values: visual opening device without borrowing imagery from a subsidiary */
.f16-values-visual{display:grid;grid-template-columns:repeat(3,1fr);margin:4px 0 42px;border-top:1px solid rgba(18,24,29,.28);border-bottom:1px solid rgba(18,24,29,.28)}
.f16-values-visual span{min-height:92px;display:flex;align-items:center;padding:18px 22px;font-size:clamp(1.05rem,1.45vw,1.35rem);font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-right:1px solid rgba(18,24,29,.22)}
.f16-values-visual span:nth-child(3n){border-right:0}
.f16-values-visual span:nth-child(n+4){border-top:1px solid rgba(18,24,29,.22)}

/* Fundamentos en acción: exactly two lines + panoramic punch image */
.f16-action{min-height:auto!important;padding:112px 0!important}
.f16-action h2{font-size:clamp(4.1rem,6.25vw,6.7rem)!important;line-height:.92!important;margin:26px 0 52px!important}
.f16-action h2 span{display:block;white-space:nowrap}
.f16-action-visual{width:100%;height:430px;margin:0;overflow:hidden}
.f16-action-visual img{width:100%;height:100%;object-fit:cover;object-position:center 52%;display:block;filter:saturate(.72) contrast(1.04)}
.f16-action .f7-action-bottom{margin-top:34px!important}

/* Contact: retain current composition but reveal the form immediately below */
.contact-hero-v15{padding-top:54px!important;padding-bottom:42px!important}
.contact-hero-grid-v15{gap:58px!important}
.contact-hero-v15 h1{margin-top:16px!important;margin-bottom:16px!important}
.contact-hero-v15 .lead{margin-bottom:0!important}
.contact-channels-v15{margin-top:24px!important}
.contact-photo-v15{height:520px!important}
.contact-hero-v15 + .section{padding-top:38px!important}

@media(max-width:1200px){
 .home-cycle-title span,.f16-title span,.f16-action h2 span{white-space:normal}
 .v4-grid{grid-template-columns:1fr 1fr!important;gap:48px!important}
 .f16-principle-grid{grid-template-columns:1fr 1fr;gap:42px}
}
@media(max-width:900px){
 .v4-grid,.f16-principle-grid{grid-template-columns:1fr!important}
 .v4-hero-image{min-height:420px!important}
 .f16-title{font-size:clamp(3.4rem,13vw,5.4rem)!important}
 .f16-hero-visual,.f16-action-visual{height:300px}
 .f16-principle-visual{height:360px}
 .f16-values-visual{grid-template-columns:1fr 1fr}
 .f16-values-visual span:nth-child(3n){border-right:1px solid rgba(18,24,29,.22)}
 .f16-values-visual span:nth-child(2n){border-right:0}
 .f16-values-visual span:nth-child(n+3){border-top:1px solid rgba(18,24,29,.22)}
 #servicios.services10,#formacion.academy10{scroll-margin-top:50px!important}
}

/* ===== V0.17 — tracked refinements 33–42 ===== */
/* 37–38 Global header: stronger navigation and slightly larger institutional mark */
.main-nav a{font-weight:700;opacity:.82}
.header-logo{width:275px;max-height:68px}

/* 34–36 Home: protect headline from image and make photography secondary */
.v4-grid{grid-template-columns:minmax(0,1.42fr) minmax(320px,.58fr)!important;gap:58px!important}
.v4-copy{min-width:0;position:relative;z-index:2}
.home-cycle-title{font-size:clamp(3.25rem,4.65vw,5.35rem)!important;line-height:.93!important;max-width:100%!important}
.home-cycle-title span{white-space:nowrap}
.v4-hero-image{width:100%;min-height:500px!important;max-height:550px!important;position:relative;z-index:1}
.v4-hero-image figcaption{left:20px;right:20px;text-align:right;white-space:normal}

/* 39 IN-Digital: shorter service landing while preserving headline scale */
#servicios.services10{padding-top:82px!important;padding-bottom:105px!important;scroll-margin-top:82px!important}
.services10-label{margin-bottom:16px!important}
.services10-head{padding-bottom:30px!important}
.service10-list{margin-top:18px!important}

/* 40 IN-Academy: same vertical rhythm as IN-Digital */
#formacion.academy10{padding-top:78px!important;padding-bottom:105px!important;scroll-margin-top:82px!important}
.academy10-head{margin-bottom:8px!important}
.academy10-kicker{margin-bottom:14px!important}
.academy10-head h2{margin-bottom:16px!important}
.academy10-head p{margin-top:0!important;margin-bottom:0!important}
.academy10-courses{margin-top:20px!important}
.academy10-course:first-child{padding-top:26px!important}

/* 41 Fundamentos: statement is the visual; remove competing hero photography */
.f16-hero{padding:88px 0 82px!important}
.f16-title{margin-bottom:70px!important}
.f16-hero .f7-intro{padding-top:30px!important;border-top:1px solid var(--line)}
.f16-hero-visual{display:none!important}

/* 42 Contact: retain composition, use a more formal professional conversation image */
.contact-photo-v15 img{object-position:center center}

@media(max-width:1200px){
 .v4-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)!important;gap:42px!important}
 .home-cycle-title span{white-space:normal}
}
@media(max-width:900px){
 .header-logo{width:220px;max-height:56px}
 .v4-grid{grid-template-columns:1fr!important}
 .v4-hero-image{min-height:380px!important}
 #servicios.services10,#formacion.academy10{scroll-margin-top:72px!important}
}
@media(max-width:600px){
 .header-logo{width:185px;max-height:50px}
}


/* ===== V0.18 — Fine tuning #43–#53 ===== */

/* #43 Home: three deliberate lines; photo fully independent */
.v4-grid{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)!important;gap:68px!important}
.home-cycle-title{font-size:clamp(3.45rem,5.15vw,5.85rem)!important;line-height:.91!important;max-width:900px!important}
.home-cycle-title span{display:block!important;white-space:nowrap!important}
.v4-hero-image{width:100%!important;min-height:540px!important;max-height:590px!important;overflow:hidden!important}
.v4-hero-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important}
.v4-hero-image figcaption{white-space:normal!important;padding-right:12px}

/* #44/#45 identical internal landing rhythm */
#servicios.services10,
#formacion.academy10{scroll-margin-top:78px!important;padding-top:58px!important}
.services10-head{padding-bottom:28px!important}
.service10-list{margin-top:18px!important}
.academy10-head{margin-bottom:12px!important}
.academy10-head h2{margin-bottom:16px!important}
.academy10-courses{margin-top:18px!important}
.academy10-course:first-child{padding-top:24px!important}

/* #46 Fundamentos: text-only hero with a complete-slide cadence */
.f16-hero{min-height:calc(100vh - 78px)!important;padding:72px 0 118px!important;display:flex;align-items:flex-start}
.f16-hero .container{width:min(calc(100% - 48px),var(--max))}
.f16-title{margin-bottom:62px!important}
.f16-hero .f7-intro{padding-bottom:86px!important}
.f16-hero-visual{display:none!important}

/* #47–#53 Contact */
.contact-hero-v15{padding-bottom:42px!important}
.contact-photo-v15{height:520px!important}
.form-shell{padding-top:8px}
.whatsapp-form-slot{display:flex;align-items:flex-end}
.whatsapp-action{
  width:100%;min-height:54px;display:flex;align-items:center;gap:12px;
  border:1px solid rgba(18,24,29,.22);padding:10px 14px;background:#fff;
  font-weight:700
}
.whatsapp-action svg{width:29px;height:29px;fill:#25D366;flex:0 0 auto}
.whatsapp-action span{display:flex;flex-direction:column;line-height:1.1}
.whatsapp-action small{font-size:.76rem;font-weight:500;color:var(--muted);margin-top:4px}
.notice-error{border-color:rgba(150,40,40,.35)!important}
.form-note{max-width:720px}

@media(max-width:1000px){
  .home-cycle-title span{white-space:normal!important}
  .v4-grid{grid-template-columns:1fr!important}
  #servicios.services10,#formacion.academy10{padding-top:48px!important}
  .f16-hero{min-height:auto!important}
}


/* ===== V0.19 — Desktop fine tuning #54–#58 ===== */

/* #54 Home */
.v4-grid{
  grid-template-columns:minmax(0,1fr) minmax(430px,.78fr)!important;
  gap:76px!important;
  align-items:center!important;
}
.v4-copy{min-width:0!important}
.home-cycle-title{
  font-size:clamp(3.25rem,4.65vw,5.35rem)!important;
  line-height:.92!important;
  max-width:760px!important;
}
.home-cycle-title span{display:block!important;white-space:nowrap!important}
.v4-hero-image{
  width:100%!important;
  min-height:540px!important;
  max-height:590px!important;
  overflow:hidden!important;
  margin-left:0!important;
}
.v4-hero-image img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center center!important;
}
.v4-hero-image figcaption{
  left:20px!important;right:20px!important;
  text-align:right!important;white-space:normal!important;
}

/* #55/#56 Same upper rhythm */
#servicios.services10,
#formacion.academy10{
  padding-top:30px!important;
  scroll-margin-top:76px!important;
}
.services10-label{margin-bottom:18px!important}
.services10-head{padding-bottom:24px!important}
.service10-list{margin-top:14px!important}
.academy10-head{margin-bottom:10px!important}
.academy10-head h2{margin-bottom:14px!important}
.academy10-courses{margin-top:14px!important}

/* #57 Contact */
.contact19{background:var(--paper);padding:42px 0 72px}
.contact19-top{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(430px,.85fr);
  gap:82px;
  align-items:center;
}
.contact19-copy h1{
  font-size:clamp(4.7rem,7vw,7.6rem);
  margin:0 0 26px;
}
.contact19-copy p{
  max-width:670px;
  font-size:1.32rem;
  line-height:1.45;
  color:var(--muted);
}
.contact19-eyebrow{font-size:1rem!important;font-weight:800!important}
.contact19-photo{
  height:430px;
  overflow:hidden;
  margin:0;
}
.contact19-photo img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.contact19-lower{
  display:grid;
  grid-template-columns:minmax(0,760px) minmax(180px,1fr);
  gap:72px;
  align-items:start;
  margin-top:56px;
}
.contact19-form{margin:0}
.contact19-form .full{grid-column:1 / -1}
.contact19-wa{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:16px;
}
.contact19-wa a{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  font-weight:800;
}
.contact19-wa svg{
  width:58px;height:58px;
  fill:#25D366;
}
.contact19-wa span{font-size:.9rem}
.notice{margin-bottom:22px}

/* #58 Footer */
.site-footer{padding-top:42px!important;padding-bottom:22px!important}
.footer-grid{
  padding-top:0!important;
  padding-bottom:28px!important;
}
.footer-logo{
  display:block;
  width:125px;
  height:auto;
  filter:brightness(0) invert(1);
  margin-bottom:16px;
}
.footer-grid p,
.footer-grid a{color:rgba(255,255,255,.72)!important}
.footer-grid a:hover{color:#fff!important}
.footer-bottom{
  padding-top:18px!important;
  padding-bottom:0!important;
  min-height:auto!important;
}

@media(max-width:1000px){
  .home-cycle-title span{white-space:normal!important}
  .v4-grid{grid-template-columns:1fr!important}
  .contact19-top,.contact19-lower{grid-template-columns:1fr}
  .contact19-photo{height:380px}
  .contact19-wa{justify-content:flex-start}
}


/* ===== V0.20 — Desktop candidate / Contact approved + #60 ===== */
.contact20{background:var(--paper);padding:48px 0 62px}
.contact20-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
  gap:70px;
  align-items:start;
}
.contact20-main{padding-top:8px}
.contact20-main .eyebrow{margin-bottom:20px}
.contact20-main h1{
  font-size:clamp(3.5rem,5.15vw,5.7rem);
  line-height:.96;
  letter-spacing:-.045em;
  margin:0 0 22px;
}
.contact20-intro{
  max-width:600px;
  margin:0 0 34px;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.55;
}
.contact20-form{
  margin:0;
  max-width:700px;
}
.contact20-form .full{grid-column:1/-1}
.contact20-form .required{color:#8a3b2f}
.contact20-side{border-left:1px solid rgba(17,63,74,.12);padding-left:28px}
.contact20-photo{
  margin:0;
  width:100%;
  height:390px;
  overflow:hidden;
  border-radius:5px;
}
.contact20-photo img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.contact20-whatsapp{padding:30px 34px 0}
.contact20-whatsapp h2{
  font-size:1.25rem;
  line-height:1.25;
  margin:0 0 18px;
}
.wa-minimal{
  display:inline-flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
}
.wa-icon{
  width:54px;height:54px;
  border:1.5px solid #159447;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 54px;
}
.wa-icon svg{width:30px;height:30px;fill:#159447}
.wa-copy{display:flex;flex-direction:column;gap:4px}
.wa-copy strong{color:var(--ink);font-size:1rem}
.wa-copy small{color:var(--muted);font-size:.9rem}

/* #60: only reduce the gap before the footer divider */
.footer-grid{padding-bottom:12px!important}
.footer-bottom{padding-top:14px!important}

@media(max-width:1000px){
  .contact20-grid{grid-template-columns:1fr}
  .contact20-side{border-left:0;padding-left:0}
  .contact20-photo{height:360px}
  .contact20-whatsapp{padding-left:0}
}


/* ===== V0.21 — Desktop candidate refinements ===== */

/* Header: larger institutional mark; no exterior rule before the logo */
.site-header .brand{
  border-left:0!important;
  padding-left:0!important;
  margin-left:0!important;
}
.site-header .brand::before{
  content:none!important;
  display:none!important;
}
.header-logo{
  width:300px!important;
  max-height:72px!important;
}
.site-header .nav-shell{
  min-height:100px!important;
}
.main-nav a{
  font-weight:700!important;
  opacity:.88!important;
}

/* Home hero: three controlled lines, true two-column separation */
.v4-hero{
  padding-top:42px!important;
  padding-bottom:54px!important;
}
.v4-grid{
  grid-template-columns:minmax(0,.92fr) minmax(560px,1.08fr)!important;
  gap:48px!important;
  align-items:stretch!important;
}
.v4-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding-top:0!important;
}
.home-cycle-title{
  font-size:clamp(3.05rem,3.95vw,4.45rem)!important;
  line-height:.97!important;
  max-width:100%!important;
  letter-spacing:-.052em!important;
}
.home-cycle-title span{
  display:block!important;
  white-space:nowrap!important;
}
.v4-foot{
  margin-top:48px!important;
}
.v4-hero-image{
  width:100%!important;
  min-height:590px!important;
  max-height:650px!important;
  overflow:hidden!important;
  margin:0!important;
  align-self:stretch!important;
}
.v4-hero-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.v4-hero-image figcaption{
  left:28px!important;
  right:28px!important;
  bottom:22px!important;
  text-align:right!important;
  white-space:nowrap!important;
}

/* Footer: final approved compact rhythm */
.footer-grid{
  padding-bottom:0!important;
}
.footer-bottom{
  margin-top:24px!important;
  padding-top:14px!important;
}

/* Mobile values remain provisional until responsive audit #59 */
@media(max-width:1000px){
  .header-logo{
    width:230px!important;
    max-height:58px!important;
  }
  .site-header .nav-shell{
    min-height:84px!important;
  }
  .v4-grid{
    grid-template-columns:1fr!important;
  }
  .home-cycle-title span{
    white-space:normal!important;
  }
  .v4-hero-image{
    min-height:400px!important;
    max-height:none!important;
  }
}
@media(max-width:600px){
  .header-logo{
    width:190px!important;
    max-height:50px!important;
  }
}


/* ===== V0.22 — Corrección Home + logo Footer ===== */

/* Home: recuperar fuerza visual manteniendo tres líneas y sin invadir la fotografía */
.v4-hero{
  padding-top:34px!important;
  padding-bottom:48px!important;
}
.v4-grid{
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;
  gap:24px!important;
  align-items:center!important;
}
.v4-copy{
  min-width:0!important;
  padding-right:10px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.home-cycle-title{
  font-size:clamp(4.15rem,5.10vw,5.75rem)!important;
  line-height:.91!important;
  letter-spacing:-.058em!important;
  max-width:100%!important;
}
.home-cycle-title span{
  display:block!important;
  white-space:nowrap!important;
}
.v4-foot{
  margin-top:50px!important;
  max-width:100%!important;
}
.v4-hero-image{
  width:100%!important;
  min-height:610px!important;
  max-height:660px!important;
  overflow:hidden!important;
  margin:0!important;
  align-self:center!important;
}
.v4-hero-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.v4-hero-image figcaption{
  left:24px!important;
  right:24px!important;
  bottom:20px!important;
  text-align:right!important;
  white-space:nowrap!important;
}

/* Footer: el logotipo IBGMx gana presencia sin alterar la retícula aprobada */
.footer-logo{
  width:205px!important;
  max-width:205px!important;
  height:auto!important;
  margin-bottom:18px!important;
}

/* Mantener el cierre compacto aprobado */
.footer-grid{
  padding-bottom:0!important;
}
.footer-bottom{
  margin-top:22px!important;
  padding-top:13px!important;
}

/* Valores provisionales hasta auditoría móvil #59 */
@media(max-width:1200px){
  .home-cycle-title{
    font-size:clamp(3.55rem,5vw,4.75rem)!important;
  }
  .v4-grid{
    grid-template-columns:minmax(0,1fr) minmax(430px,.9fr)!important;
    gap:28px!important;
  }
}
@media(max-width:1000px){
  .v4-grid{
    grid-template-columns:1fr!important;
  }
  .home-cycle-title span{
    white-space:normal!important;
  }
  .v4-hero-image{
    min-height:420px!important;
    max-height:none!important;
  }
  .footer-logo{
    width:180px!important;
    max-width:180px!important;
  }
}

/* ===== V0.23 — Home + Footer ===== */
@media(min-width:1201px){
  .v4-hero .container{max-width:1420px!important;}
  .v4-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr)!important;
    gap:56px!important;
    align-items:center!important;
  }
  .v4-copy{min-width:0!important;padding-right:0!important;}
  .home-cycle-title{
    font-size:clamp(4.15rem,5vw,5.65rem)!important;
    line-height:.91!important;
    letter-spacing:-.058em!important;
    max-width:100%!important;
    position:relative!important;
    z-index:2!important;
  }
  .home-cycle-title span{display:block!important;white-space:nowrap!important;}
  .v4-hero-image{
    width:100%!important;
    min-height:610px!important;
    max-height:660px!important;
    margin-left:0!important;
    position:relative!important;
    z-index:1!important;
  }
  .v4-hero-image img{object-fit:cover!important;object-position:center center!important;}
}
.footer-logo{
  width:280px!important;
  max-width:280px!important;
  height:auto!important;
  display:block!important;
  margin:0 0 18px!important;
}
.footer-grid{padding-bottom:0!important;}
.footer-bottom{margin-top:20px!important;padding-top:13px!important;}
@media(max-width:1200px) and (min-width:1001px){
  .footer-logo{width:245px!important;max-width:245px!important;}
}
@media(max-width:1000px){
  .footer-logo{width:215px!important;max-width:215px!important;}
}


/* ===== V0.24 — Home hero definitivo en 3 renglones ===== */
@media(min-width:1201px){
  .v4-hero .container{
    max-width:1420px!important;
  }
  .v4-grid{
    grid-template-columns:minmax(0,1.02fr) minmax(520px,.98fr)!important;
    column-gap:64px!important;
    align-items:center!important;
  }
  .v4-copy{
    min-width:0!important;
    padding-right:0!important;
    overflow:visible!important;
  }
  .home-cycle-title{
    margin:0!important;
    max-width:100%!important;
    font-size:clamp(3.75rem,4.35vw,5.05rem)!important;
    line-height:.92!important;
    letter-spacing:-.056em!important;
    position:relative!important;
    z-index:2!important;
  }
  .home-cycle-title .home-line{
    display:block!important;
    white-space:nowrap!important;
    width:max-content!important;
    max-width:100%!important;
  }
  .home-cycle-title .home-line-1,
  .home-cycle-title .home-line-2{
    transform:none!important;
  }
  .v4-foot{
    margin-top:52px!important;
  }
  .v4-hero-image{
    width:100%!important;
    min-height:610px!important;
    max-height:660px!important;
    margin:0!important;
    position:relative!important;
    z-index:1!important;
    overflow:hidden!important;
  }
  .v4-hero-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
  }
}

/* Tablet/mobile remain provisional until responsive audit #59 */
@media(max-width:1200px){
  .home-cycle-title .home-line{
    width:auto!important;
    max-width:none!important;
    white-space:normal!important;
  }
}


/* ===== V0.25 — Home + cierre “Qué podemos construir juntos” ===== */

/* HOME: composición editorial real, sin superposición */
@media(min-width:1201px){
  .v4-hero{
    min-height:calc(100vh - 100px)!important;
    padding:40px 0 48px!important;
  }
  .v4-hero .container{
    max-width:1440px!important;
  }
  .v4-grid{
    grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;
    gap:56px!important;
    align-items:center!important;
  }
  .v4-copy{
    min-width:0!important;
    overflow:hidden!important;
    padding-right:0!important;
  }
  .home-cycle-title{
    margin:0!important;
    font-size:clamp(3.8rem,4.25vw,4.95rem)!important;
    line-height:.93!important;
    letter-spacing:-.055em!important;
    max-width:100%!important;
  }
  .home-cycle-title .home-line{
    display:block!important;
    white-space:nowrap!important;
    width:auto!important;
    max-width:100%!important;
  }
  .v4-foot{
    margin-top:48px!important;
  }
  .v4-hero-image{
    width:100%!important;
    height:620px!important;
    min-height:620px!important;
    max-height:620px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .v4-hero-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* CIERRE DORADO */
.final-screen-v25{
  min-height:auto!important;
  padding:72px 0!important;
  background:var(--accent)!important;
}
.final-grid-v25{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr);
  gap:76px;
  align-items:center;
}
.final-copy-v25{
  min-width:0;
}
.final-title-v25{
  font-size:clamp(4rem,5.3vw,6.1rem);
  line-height:.90;
  letter-spacing:-.058em;
  margin:20px 0 0;
}
.final-title-v25 span{
  display:block;
  white-space:nowrap;
}
.final-visual-v25{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
}
.final-photo-v25{
  width:100%;
  height:390px;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.final-brand-v25{
  width:170px!important;
  max-width:170px!important;
  height:auto;
  filter:none!important;
}
.final-screen-v25 .pill-cta{
  margin-top:44px;
}

/* Versión visible para control de prueba */
.footer-bottom span{
  letter-spacing:.01em;
}

@media(max-width:1000px){
  .final-grid-v25{
    grid-template-columns:1fr;
  }
  .final-title-v25 span{
    white-space:normal;
  }
  .final-photo-v25{
    height:340px;
  }
  .final-visual-v25{
    align-items:flex-start;
  }
}


/* ===== V0.26 — Geometría determinista Home + cierre ===== */

/* HOME DESKTOP: 55/45, 3 líneas explícitas, sin clipping ni superposición */
@media(min-width:1201px){
  .v4-hero{
    min-height:calc(100vh - 100px)!important;
    padding:36px 0 46px!important;
  }
  .v4-hero .container{
    max-width:1460px!important;
  }
  .v4-grid{
    display:grid!important;
    grid-template-columns:55% 45%!important;
    gap:0!important;
    align-items:center!important;
  }
  .v4-copy{
    min-width:0!important;
    width:100%!important;
    overflow:visible!important;
    padding-right:48px!important;
    box-sizing:border-box!important;
  }
  .home-cycle-title{
    margin:0!important;
    max-width:none!important;
    width:100%!important;
    font-size:clamp(3.55rem,4.05vw,4.7rem)!important;
    line-height:.93!important;
    letter-spacing:-.052em!important;
    overflow:visible!important;
  }
  .home-cycle-title .home-line{
    display:block!important;
    white-space:nowrap!important;
    width:auto!important;
    max-width:none!important;
    overflow:visible!important;
  }
  .v4-foot{
    margin-top:48px!important;
    width:100%!important;
  }
  .v4-hero-image{
    width:100%!important;
    height:620px!important;
    min-height:620px!important;
    max-height:620px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .v4-hero-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
  }
}

/* CIERRE DORADO DESKTOP: 50/50, 2 líneas explícitas */
.final-screen-v26{
  min-height:auto!important;
  padding:68px 0!important;
  background:var(--accent)!important;
}
.final-grid-v26{
  display:grid!important;
  grid-template-columns:50% 50%!important;
  gap:0!important;
  align-items:center!important;
}
.final-copy-v26{
  min-width:0!important;
  width:100%!important;
  padding-right:54px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.final-title-v26{
  margin:20px 0 0!important;
  width:100%!important;
  max-width:none!important;
  font-size:clamp(3.75rem,4.8vw,5.5rem)!important;
  line-height:.91!important;
  letter-spacing:-.054em!important;
  overflow:visible!important;
}
.final-title-v26 span{
  display:block!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.final-visual-v26{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:14px!important;
  min-width:0!important;
}
.final-photo-v26{
  width:100%!important;
  height:390px!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.final-brand-v26{
  width:180px!important;
  max-width:180px!important;
  height:auto!important;
  display:block!important;
  filter:none!important;
}
.final-screen-v26 .pill-cta{
  margin-top:42px!important;
}

/* Responsive provisional until mobile audit #59 */
@media(max-width:1200px){
  .v4-grid,
  .final-grid-v26{
    grid-template-columns:1fr!important;
  }
  .v4-copy,
  .final-copy-v26{
    padding-right:0!important;
  }
  .home-cycle-title .home-line,
  .final-title-v26 span{
    white-space:normal!important;
  }
  .final-visual-v26{
    align-items:flex-start!important;
    margin-top:36px!important;
  }
  .final-photo-v26{
    height:340px!important;
  }
}

/* V0.27 — geometry-only desktop correction */
@media(min-width:1201px){
 .v4-hero .container{max-width:1480px!important}
 .v4-grid{display:grid!important;grid-template-columns:60% 40%!important;gap:0!important;align-items:center!important}
 .v4-copy{width:100%!important;min-width:0!important;padding-right:64px!important;overflow:visible!important;box-sizing:border-box!important}
 .home-cycle-title{width:100%!important;max-width:none!important;font-size:clamp(3.55rem,4vw,4.65rem)!important;line-height:.93!important;letter-spacing:-.052em!important;overflow:visible!important}
 .home-cycle-title .home-line{display:block!important;white-space:nowrap!important;width:auto!important;max-width:none!important}
 .v4-hero-image{width:100%!important;height:620px!important;min-height:620px!important;max-height:620px!important;overflow:hidden!important}
 .v4-hero-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}

 .final-grid-v26{display:grid!important;grid-template-columns:55% 45%!important;gap:0!important;align-items:center!important}
 .final-copy-v26{width:100%!important;min-width:0!important;padding-right:60px!important;overflow:visible!important;box-sizing:border-box!important}
 .final-title-v26{width:100%!important;max-width:none!important;font-size:clamp(3.55rem,4.35vw,5rem)!important;line-height:.91!important;letter-spacing:-.054em!important;overflow:visible!important}
 .final-title-v26 span{display:block!important;white-space:nowrap!important;width:auto!important;max-width:none!important}
 .final-visual-v26{width:100%!important;min-width:0!important}
 .final-photo-v26{width:100%!important;height:390px!important;object-fit:cover!important;object-position:center center!important}
 .final-brand-v26{width:180px!important;max-width:180px!important}
}


/* ===== V0.28 — Home restaurada desde la arquitectura V0.15 ===== */
/* Esta sección neutraliza únicamente los experimentos posteriores del hero de Home. */
.v4-hero{
  min-height:calc(100vh - 78px)!important;
  display:flex!important;
  align-items:center!important;
  padding:54px 0 70px!important;
  background:#f5f3ee!important;
}
.v4-hero .container{
  width:min(calc(100% - 48px),var(--max))!important;
  max-width:var(--max)!important;
  margin:0 auto!important;
}
.v4-grid{
  display:grid!important;
  grid-template-columns:1.02fr .98fr!important;
  gap:58px!important;
  align-items:stretch!important;
}
.v4-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:690px!important;
  min-width:0!important;
  width:auto!important;
  padding:0!important;
  overflow:visible!important;
}
.v4-copy .eyebrow{
  display:block!important;
}
.v4-copy h1{
  font-size:clamp(3.7rem,6.1vw,6.65rem)!important;
  line-height:.91!important;
  letter-spacing:-.062em!important;
  max-width:none!important;
  width:auto!important;
  margin:0!important;
  overflow:visible!important;
  white-space:normal!important;
}
.v4-foot{
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  gap:25px!important;
  border-top:1px solid var(--line)!important;
  padding-top:20px!important;
  margin-top:46px!important;
  width:auto!important;
}
.v4-foot p{
  margin:0!important;
  max-width:430px!important;
  color:var(--muted)!important;
}
.v4-hero-image{
  min-height:690px!important;
  height:auto!important;
  max-height:none!important;
  width:auto!important;
  margin:0!important;
  overflow:hidden!important;
  position:relative!important;
  align-self:stretch!important;
}
.v4-hero-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.v4-hero-image figcaption{
  position:absolute!important;
  left:28px!important;
  right:28px!important;
  bottom:22px!important;
  text-align:right!important;
  white-space:nowrap!important;
}

/* Responsive provisional; se auditará formalmente en la fase móvil. */
@media(max-width:900px){
  .v4-grid{
    grid-template-columns:1fr!important;
  }
  .v4-copy{
    min-height:auto!important;
  }
  .v4-copy h1{
    font-size:clamp(3.1rem,14vw,4.8rem)!important;
  }
  .v4-hero-image{
    min-height:420px!important;
  }
}


/* ===== V0.29 — Home: composición aprobada en cinco renglones ===== */
@media(min-width:901px){
  .v4-copy{
    justify-content:center!important;
  }
  .home-title-v29{
    margin:0!important;
    width:100%!important;
    max-width:none!important;
    font-size:clamp(3.7rem,6.1vw,6.65rem)!important;
    line-height:.91!important;
    letter-spacing:-.062em!important;
    overflow:visible!important;
  }
  .home-title-v29 span{
    display:block!important;
    white-space:nowrap!important;
  }
}

/* El eyebrow de Home se elimina en V0.29; no se reserva espacio para él. */
.v4-copy > .eyebrow{
  display:none!important;
}

@media(max-width:900px){
  .home-title-v29{
    font-size:clamp(3rem,14vw,4.8rem)!important;
    line-height:.91!important;
    letter-spacing:-.055em!important;
  }
  .home-title-v29 span{
    display:block!important;
    white-space:normal!important;
  }
}


/* ===== V0.30 — Home: cinco renglones exactos, sin quiebre interno ===== */
@media(min-width:1201px){
  .v4-grid{
    grid-template-columns:1.10fr .90fr!important;
    gap:52px!important;
  }
  .home-title-v29{
    font-size:clamp(3.35rem,5.45vw,6.05rem)!important;
    line-height:.90!important;
    letter-spacing:-.060em!important;
    max-width:none!important;
    width:100%!important;
  }
  .home-title-v29 span{
    display:block!important;
    white-space:nowrap!important;
    overflow:visible!important;
    width:max-content!important;
    max-width:none!important;
  }
}

/* Mantener la imagen y el resto del Home sin cambios. */


/* ===== V0.31 — Home: cinco bloques independientes, sin quiebre ===== */

@media(min-width:901px){
  .v4-copy{
    overflow:visible!important;
  }

  .home-title-v31{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    line-height:.90!important;
    letter-spacing:-.060em!important;
  }

  .home-title-v31 .home-title-row{
    display:block!important;
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:max-content!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    overflow:visible!important;
    font-family:"Aptos Display",Aptos,Arial,sans-serif!important;
    font-size:clamp(3.35rem,5.1vw,5.75rem)!important;
    line-height:.90!important;
    letter-spacing:-.060em!important;
  }
}

/* Mobile remains provisional until responsive audit. */
@media(max-width:900px){
  .home-title-v31{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }
  .home-title-v31 .home-title-row{
    display:block!important;
    white-space:normal!important;
    min-width:0!important;
    width:auto!important;
    font-size:clamp(3rem,14vw,4.8rem)!important;
    line-height:.91!important;
    letter-spacing:-.055em!important;
  }
}


/* ===== V0.32 — Ajuste tipográfico exclusivo del Home ===== */
@media(min-width:901px){
  .home-title-v31 .home-title-row{
    font-size:clamp(3.05rem,4.55vw,5.1rem)!important;
    line-height:.90!important;
    letter-spacing:-.058em!important;
  }
}

/* No se modifica imagen, retícula, footer ni resto del sitio. */


/* ===== V0.33 — Ajustes finales Home + “¿Qué podemos construir juntos?” ===== */

/* HOME: +6.5% aprox. respecto de V0.32, conservando exactamente 5 renglones */
@media(min-width:901px){
  .home-title-v31 .home-title-row{
    font-size:clamp(3.25rem,4.85vw,5.45rem)!important;
    line-height:.90!important;
    letter-spacing:-.058em!important;
  }
}

/* PANTALLA DORADA:
   - sin logo debajo de la imagen
   - dos renglones completos
   - texto con mejor balance frente a la fotografía
*/
@media(min-width:1201px){
  .final-screen-v26{
    padding:72px 0 68px!important;
  }
  .final-grid-v26{
    grid-template-columns:52% 48%!important;
    gap:0!important;
    align-items:center!important;
  }
  .final-copy-v26{
    padding-right:64px!important;
  }
  .final-title-v26{
    font-size:clamp(3.5rem,4.35vw,5rem)!important;
    line-height:.91!important;
    letter-spacing:-.054em!important;
  }
  .final-title-v26 span{
    display:block!important;
    white-space:nowrap!important;
  }
  .final-visual-v26{
    gap:0!important;
    align-items:stretch!important;
  }
  .final-photo-v26{
    width:100%!important;
    height:390px!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* El logo secundario bajo la foto queda retirado en V0.33 */
.final-brand-v26{
  display:none!important;
}


/* ===== V0.34 — Corrección definitiva de la pantalla “El siguiente ciclo” ===== */

@media(min-width:1201px){
  .final-screen-v26{
    padding:68px 0 64px!important;
  }

  .final-grid-v26{
    grid-template-columns:56% 44%!important;
    gap:0!important;
    align-items:center!important;
  }

  .final-copy-v26{
    padding-right:72px!important;
    overflow:visible!important;
  }

  .final-title-v26{
    width:100%!important;
    max-width:none!important;
    margin:20px 0 0!important;
    font-size:clamp(3.15rem,3.85vw,4.45rem)!important;
    line-height:.92!important;
    letter-spacing:-.052em!important;
    overflow:visible!important;
  }

  .final-title-v26 span{
    display:block!important;
    white-space:nowrap!important;
    width:max-content!important;
    max-width:none!important;
    overflow:visible!important;
  }

  .final-visual-v26{
    width:100%!important;
    min-width:0!important;
    gap:0!important;
    align-items:stretch!important;
  }

  .final-photo-v26{
    width:100%!important;
    height:390px!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
  }
}

/* El logo secundario bajo la foto queda eliminado de forma definitiva */
.final-brand-v26{
  display:none!important;
}


/* ===== V0.35 — Pantalla “El siguiente ciclo” ===== */

@media(min-width:1201px){
  .final-grid-v26{
    grid-template-columns:54% 46%!important;
    gap:0!important;
    align-items:center!important;
  }

  .final-copy-v26{
    padding-right:76px!important;
    overflow:visible!important;
  }

  .final-title-v26{
    width:100%!important;
    max-width:none!important;
    margin:20px 0 0!important;
    font-size:clamp(3.45rem,4.15vw,4.8rem)!important;
    line-height:.91!important;
    letter-spacing:-.054em!important;
    overflow:visible!important;
  }

  .final-title-v26 span{
    display:block!important;
    white-space:nowrap!important;
    width:max-content!important;
    max-width:none!important;
    overflow:visible!important;
  }

  .final-visual-v26{
    width:100%!important;
    min-width:0!important;
    gap:0!important;
    align-items:stretch!important;
  }

  .final-photo-v26{
    width:100%!important;
    height:390px!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
  }
}

/* Home, footer y resto del sitio permanecen sin cambios respecto de V0.34. */


/* ===== V0.36 — Refinamiento móvil validado ===== */

.contact-form .field-label{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  width:max-content;
}

@media(max-width:900px){

  /* Contacto: obligatorios en la misma línea y ritmo más compacto */
  .contact20-form{
    gap:16px!important;
  }
  .contact-form label{
    gap:7px!important;
  }
  .contact-form .field-label{
    display:inline-flex!important;
    align-items:baseline!important;
    gap:4px!important;
    width:max-content!important;
  }
  .contact-form .required{
    display:inline!important;
    margin:0!important;
    padding:0!important;
  }

  /* Microtextos: legibilidad móvil consistente */
  .v6-brand-item span,
  .v4-brand small,
  .company-kicker{
    font-size:.70rem!important;
    line-height:1.35!important;
    letter-spacing:.11em!important;
  }

  /* Ecosistema: cabecera un poco más compacta */
  .v10-ecosystem-tools{
    margin-top:0!important;
    margin-bottom:18px!important;
  }

  /* Áreas táctiles sin alterar el aspecto visual */
  .home-business-actions .v2-link,
  .v10-back,
  .light-link,
  .company10-actions .v2-link{
    display:inline-flex!important;
    align-items:center!important;
    min-height:44px!important;
  }

  /* Home: un poco más de aire antes de la fotografía */
  .v4-hero-image{
    margin-top:28px!important;
  }

  /* El siguiente ciclo: aire adicional antes del footer */
  .final-screen-v26{
    padding-bottom:88px!important;
  }

  /* Fundamentos teaser: compactar solo espacios, sin tocar tipografía */
  .foundation-teaser .foundation-bottom{
    margin-top:62px!important;
  }
  .foundation-teaser .foundation-bottom p{
    margin-bottom:0!important;
  }
}

/* Pantallas institucionales aprobadas no se alteran en estructura. */


/* ===== V0.37 — Correcciones móviles de titulares largos ===== */

/* Ecosistema: evitar overflow de “especialidades.” sin alterar desktop */
@media(max-width:600px){
  .v6-ecosystem-title{
    font-size:clamp(3.05rem,11.8vw,3.35rem)!important;
    line-height:.90!important;
    letter-spacing:-.055em!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* Nuestra forma de construir: “Responsabilidad.” debe entrar completa */
  .g7-build .g7-build-title-mobile{
    font-size:clamp(2.65rem,10.6vw,2.95rem)!important;
    line-height:.93!important;
    letter-spacing:-.052em!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

/* Ajuste de seguridad para móviles medianos 601–900 px */
@media(min-width:601px) and (max-width:900px){
  .v6-ecosystem-title{
    font-size:clamp(3.35rem,8.4vw,4.2rem)!important;
  }
  .g7-build .g7-build-title-mobile{
    font-size:clamp(3rem,7.4vw,3.9rem)!important;
  }
}

/* Header, Home, Contacto, Fundamentos y footer permanecen sin cambios. */


/* ===== V0.38 — Corrección móvil puntual: Fundamentos en acción ===== */

/* A 360 px el titular "Lo que construimos..." excedía el viewport.
   Se corrige únicamente este H2 sin alterar el resto del sistema responsive. */
@media(max-width:380px){
  .f-action-title-mobile{
    font-size:clamp(2.95rem,13.2vw,3.25rem)!important;
    line-height:.91!important;
    letter-spacing:-.055em!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

/* Resto de Home, Ecosistema, Fundamentos, Contacto y Footer permanece sin cambios. */


/* ===== V0.39 — Corrección definitiva Fundamentos en acción @ <=380px ===== */

@media(max-width:380px){
  .f-action-title-mobile{
    font-size:clamp(2.45rem,11.2vw,2.75rem)!important;
    line-height:.90!important;
    letter-spacing:-.060em!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  .f-action-title-mobile br{
    display:block!important;
  }
}

/* Ajuste de seguridad adicional para 381–390 px */
@media(min-width:381px) and (max-width:390px){
  .f-action-title-mobile{
    font-size:clamp(2.7rem,11.6vw,2.95rem)!important;
    line-height:.91!important;
    letter-spacing:-.058em!important;
    width:100%!important;
    max-width:100%!important;
  }
}

/* No se altera ninguna otra pantalla o breakpoint. */


/* ===== V0.40 — Correcciones responsive 360 px + nuevo versionado visible ===== */

@media(max-width:380px){

  /* IBGMx hero: “Especialización” debe entrar completa */
  .g7-hero .g7-title{
    font-size:clamp(2.55rem,11.2vw,2.78rem)!important;
    line-height:.93!important;
    letter-spacing:-.052em!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* Valores: a 360 px la matriz de dos columnas ya no es viable.
     Se convierte en una sola columna para eliminar cualquier clipping. */
  .f16-values-visual{
    grid-template-columns:1fr!important;
  }
  .f16-values-visual span{
    border-right:0!important;
    border-top:1px solid rgba(18,24,29,.22)!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .f16-values-visual span:first-child{
    border-top:0!important;
  }

  /* Fundamentos en acción: ajuste real sobre el H2 correcto */
  .f16-action .f16-action-title-mobile{
    font-size:clamp(2.30rem,10.5vw,2.48rem)!important;
    line-height:.91!important;
    letter-spacing:-.055em!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  .f16-action .f16-action-title-mobile span{
    display:block!important;
    white-space:normal!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

/* Seguridad para 381–390 px sin alterar los breakpoints ya aprobados */
@media(min-width:381px) and (max-width:390px){
  .g7-hero .g7-title{
    font-size:clamp(2.8rem,11.4vw,3.05rem)!important;
  }
  .f16-action .f16-action-title-mobile{
    font-size:clamp(2.55rem,10.8vw,2.8rem)!important;
  }
}

/* No se modifican Home, Ecosistema, Contacto ni Footer visual fuera del versionado. */


/* ===== V0.41 — Lote 04: copy y estructura semántica de baja intervención ===== */
.seo-bridge{padding:clamp(5rem,9vw,8rem) 0;border-top:1px solid rgba(18,24,29,.12);background:#f4f2ec}
.seo-bridge-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.seo-bridge-title{font-size:clamp(2.5rem,5vw,4.9rem);line-height:.94;letter-spacing:-.055em;margin:.7rem 0 0;max-width:11ch}
.seo-bridge-copy{max-width:39rem;padding-top:2.3rem}
.seo-bridge-copy p{font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.55;margin:0 0 1.5rem;color:#5f6870}
.v6-brand-item>span{display:flex;flex-direction:column;gap:.55rem}
.v6-brand-item>span strong{font:inherit;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.v6-brand-item>span small{display:block;font-size:.9rem;line-height:1.5;letter-spacing:0;text-transform:none;color:#69727a;max-width:42rem}
.foundation-jump{background:#f4f2ec;border-top:1px solid rgba(18,24,29,.12);border-bottom:1px solid rgba(18,24,29,.12)}
.foundation-jump-inner{min-height:5rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.foundation-jump-inner span{margin-right:auto;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}
.foundation-jump-inner a{color:inherit;text-decoration:none;font-weight:700;border-bottom:1px solid currentColor;padding:.25rem 0}
.contact20-location{font-size:.82rem!important;letter-spacing:.1em;text-transform:uppercase;margin-top:-.5rem!important;margin-bottom:2rem!important}
@media(max-width:700px){
  .seo-bridge{padding:4.5rem 0}
  .seo-bridge-grid{grid-template-columns:1fr;gap:1.5rem}
  .seo-bridge-copy{padding-top:0}
  .seo-bridge-title{font-size:clamp(2.35rem,11vw,3.35rem);max-width:100%}
  .v6-brand-item>span small{font-size:.84rem;line-height:1.45}
  .foundation-jump-inner{padding-top:1rem;padding-bottom:1rem;gap:.9rem 1.25rem}
  .foundation-jump-inner span{width:100%;margin-right:0}
}


/* ===== V0.41 — Lote 05: IN-Digital ID-01 a ID-07 ===== */
.digital41{position:relative;padding:clamp(5rem,9vw,8rem) 0;border-top:1px solid rgba(18,24,29,.11);overflow:hidden}
.digital41-kicker{font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;margin-bottom:1.2rem}
.digital41-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,7rem);align-items:center}
.digital41-display{font-size:clamp(3.2rem,6vw,5.8rem);line-height:.89;letter-spacing:-.065em;margin:0}
.digital41-display span{font-weight:400;color:#6b747b}
.digital41-prose{max-width:42rem}
.digital41-prose p,.digital41-lead{font-size:clamp(1.08rem,1.45vw,1.28rem);line-height:1.56;color:#5f6870}
.digital41-terms{display:grid;grid-template-columns:1fr;gap:.45rem;margin-top:2.4rem;border-top:1px solid rgba(18,24,29,.18);padding-top:1.25rem}
.digital41-terms span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:.45rem 0;border-bottom:1px solid rgba(18,24,29,.08)}
.digital41-section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3.4rem}
.digital41-section-head h2,.digital41-multiply h2,.digital41-measure h2,.digital41-cta h2,.digital41-media h2{font-size:clamp(2.7rem,5vw,5rem);line-height:.94;letter-spacing:-.055em;margin:0}
.digital41-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.digital41-card{min-height:30rem;border:1px solid rgba(18,24,29,.14);padding:1.5rem;display:flex;flex-direction:column;background:#f7f5ef;transition:transform .22s ease,border-color .22s ease}
@media (hover:hover){.digital41-card:hover{transform:translateY(-5px);border-color:rgba(18,24,29,.35)}}
.digital41-card-top span{font-size:.74rem;letter-spacing:.16em;font-weight:700}
.digital41-card h3,.digital41-media-grid h3{font-size:clamp(1.55rem,2.2vw,2.15rem);margin:.55rem 0 1rem;letter-spacing:-.03em}
.digital41-card p,.digital41-media-grid p{margin-top:auto;font-size:1rem;line-height:1.55;color:#5f6870}
.digital41-mini-flow{display:flex;align-items:center;gap:.65rem;margin:2.5rem 0 2rem;flex-wrap:wrap}
.digital41-mini-flow b{font-size:.67rem;letter-spacing:.1em}
.digital41-mini-flow i{width:2rem;height:1px;background:#171d21;position:relative}
.digital41-mini-flow i:after{content:"";position:absolute;right:0;top:-2px;border-left:5px solid #171d21;border-top:2.5px solid transparent;border-bottom:2.5px solid transparent}
.digital41-formats{display:flex;align-items:end;gap:.8rem;margin:2rem 0}
.digital41-formats span{display:grid;place-items:center;border:1px solid #171d21;font-size:.66rem;font-weight:700}
.digital41-formats span:nth-child(1){width:4rem;height:4rem}.digital41-formats span:nth-child(2){width:3.2rem;height:5.65rem}.digital41-formats span:nth-child(3){width:6.4rem;height:3.6rem}
.digital41-content-map{height:10rem;position:relative;margin:1rem 0 2rem}
.digital41-content-map span{position:absolute;font-size:.68rem;letter-spacing:.08em;font-weight:700}
.digital41-content-map .center{left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #171d21;border-radius:50%;width:4.5rem;height:4.5rem;display:grid;place-items:center}
.digital41-content-map .top{left:50%;top:4%;transform:translateX(-50%)}.digital41-content-map .right{right:5%;top:50%}.digital41-content-map .bottom{left:50%;bottom:2%;transform:translateX(-50%)}.digital41-content-map .left{left:5%;top:50%}
.digital41-media{background:#151a1f;color:#f4f2ec}
.digital41-media .digital41-kicker,.digital41-media p{color:#c9ced1}
.digital41-recbar{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.digital41-recbar span{display:flex;align-items:center;gap:.5rem}.digital41-recbar b{width:.55rem;height:.55rem;border-radius:50%;background:#d34c42;display:inline-block}
.digital41-media-center{text-align:center;max-width:64rem;margin:5rem auto 3rem}
.digital41-media-center p{max-width:46rem;margin:1.5rem auto 2rem;font-size:1.12rem;line-height:1.55}
.digital41-wave{width:100%;height:auto;max-height:9rem}.digital41-wave path{fill:none;stroke:#f4f2ec;stroke-width:2;vector-effect:non-scaling-stroke}
.digital41-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;border-top:1px solid rgba(255,255,255,.18);padding-top:2rem}
.digital41-media-grid article{padding-right:1.5rem}.digital41-media-grid p{color:#c9ced1}
.digital41-radial{position:relative;aspect-ratio:1;max-width:34rem;width:100%;margin-inline:auto}
.digital41-radial svg{position:absolute;inset:0;width:100%;height:100%}.digital41-radial path{fill:none;stroke:#171d21;stroke-width:1.5}
.digital41-node{position:absolute;z-index:2;background:#f7f5ef;border:1px solid #171d21;border-radius:999px;padding:.7rem 1rem;font-size:.68rem;letter-spacing:.1em;font-weight:700;transform:translate(-50%,-50%)}
.node-center{left:50%;top:50%;padding:1.3rem 1.5rem;background:#171d21;color:#fff}.node-top{left:50%;top:15%}.node-right{left:85%;top:50%}.node-bottom{left:50%;top:85%}.node-left{left:15%;top:50%}.node-bottom2{left:50%;top:97%}
.digital41-emphasis{font-size:clamp(1.35rem,2.3vw,2.1rem);line-height:1.25;margin-top:2rem;max-width:30rem}
.digital41-measure{background:#f4f2ec}
.digital41-measure> .container>p{max-width:48rem;font-size:1.1rem;line-height:1.6;color:#5f6870}
.digital41-cycle{list-style:none;padding:0;margin:3rem 0 0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(18,24,29,.25);counter-reset:cycle}
.digital41-cycle li{padding:1.2rem .75rem 1rem 0;position:relative;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.digital41-cycle li:not(:last-child):after{content:"→";position:absolute;right:1rem}
.digital41-cta{text-align:center;padding-block:clamp(6rem,10vw,10rem)}
.digital41-cta p{font-size:1.12rem;line-height:1.6;max-width:44rem;margin:1.5rem auto 2rem;color:#5f6870}
.digital41-back{margin-top:3rem}
@media(max-width:900px){
 .digital41-two{grid-template-columns:1fr;gap:2rem}
 .digital41-cards,.digital41-media-grid{grid-template-columns:1fr}
 .digital41-card{min-height:0}
 .digital41-media-center{text-align:left;margin:3.5rem 0 2rem}
 .digital41-cycle{grid-template-columns:1fr;border-top:0;border-left:1px solid rgba(18,24,29,.25);padding-left:1rem}
 .digital41-cycle li{padding:.6rem 0 1rem 1rem}.digital41-cycle li:not(:last-child):after{content:"↓";right:auto;left:-1.35rem;bottom:-.15rem}
}
@media(max-width:600px){
 .digital41{padding:4.8rem 0}
 .digital41-display{font-size:clamp(3rem,14vw,4.2rem)}
 .digital41-section-head{display:block;margin-bottom:2.2rem}
 .digital41-section-head .digital41-kicker{margin-bottom:1rem}
 .digital41-formats{transform-origin:left center;transform:scale(.9)}
 .digital41-radial{aspect-ratio:auto;display:grid;gap:.7rem;max-width:none;margin-top:2rem}
 .digital41-radial svg{display:none}
 .digital41-node{position:static;transform:none;border-radius:0;text-align:center;padding:.8rem}
 .digital41-node:not(.node-center):before{content:"↓";display:block;margin-bottom:.45rem;font-size:.95rem}
 .digital41-node.node-left{order:5}.digital41-node.node-bottom2{order:6}
 .digital41-node.node-center{order:1}.digital41-node.node-top{order:2}.digital41-node.node-right{order:3}.digital41-node.node-bottom{order:4}
}
@media (prefers-reduced-motion:reduce){
 .digital41-card,.digital41-wave,.digital41-node{transition:none!important;animation:none!important}
}


/* ===== V0.41 — Lote 06: IN-Academy IA-01 a IA-09 ===== */
.academy41{position:relative;padding:clamp(5rem,9vw,8rem) 0;border-top:1px solid rgba(18,24,29,.11);overflow:hidden}
.academy41-kicker{font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;margin-bottom:1.2rem}
.academy41-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,7rem);align-items:center}
.academy41 h2{font-size:clamp(2.8rem,5vw,5rem);line-height:.94;letter-spacing:-.055em;margin:.35rem 0 1.5rem}
.academy41 p{font-size:clamp(1.03rem,1.3vw,1.18rem);line-height:1.6;color:#5f6870}
.academy41-steps{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;font-size:clamp(2.5rem,5.4vw,5.2rem);line-height:.95;letter-spacing:-.05em}
.academy41-steps i{font-style:normal;font-size:1.6rem;color:#8b949a}.academy41-steps strong{color:#113f4a}
.academy41-ai{background:#f4f2ec}
.academy41-ai-map{min-height:30rem;display:grid;place-content:center;gap:1rem;border:1px solid rgba(18,24,29,.16);padding:2rem;background:#f8f7f3}
.academy41-ai-row{display:grid;grid-template-columns:auto auto auto auto auto;gap:.8rem;align-items:center;justify-content:center;font-size:.76rem;letter-spacing:.1em;font-weight:700}
.academy41-ai-row strong{display:grid;place-items:center;width:5.5rem;height:5.5rem;border-radius:50%;background:#113f4a;color:white;font-size:1.3rem}
.academy41-ai-down{text-align:center;font-size:1.4rem;color:#7e878d}
.academy41-ai-focus{margin:auto;border:1px solid #113f4a;padding:.8rem 1.2rem;min-width:9rem;text-align:center;font-size:.78rem;letter-spacing:.12em;font-weight:700}
.academy41-ai-focus.decision{background:#113f4a;color:white}
.academy41-section-head{max-width:58rem;margin-bottom:3.2rem}
.academy41-dual-grid{display:grid;grid-template-columns:minmax(0,1fr) 9rem minmax(0,1fr);gap:1.3rem;align-items:stretch}
.academy41-dual-card{border:1px solid rgba(18,24,29,.16);padding:2rem;min-height:31rem;background:#f8f7f3;display:flex;flex-direction:column}
.academy41-tag{font-size:.72rem;letter-spacing:.14em;font-weight:700}
.academy41-dual-card h3{font-size:clamp(2.2rem,3.5vw,3.6rem);margin:1rem 0;letter-spacing:-.05em}
.academy41-dual-card ul{list-style:none;padding:0;margin:1rem 0 2rem;display:grid;gap:.55rem}
.academy41-dual-card li{font-size:1.15rem}
.academy41-dual-card p{margin-top:auto}
.academy41-dual-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}
.academy41-dual-center span{width:5.5rem;height:5.5rem;border-radius:50%;display:grid;place-items:center;background:#113f4a;color:white;font-weight:700;font-size:1.4rem}
.academy41-dual-center b{font-size:1.6rem;font-weight:400}
.academy41-workshops{background:#ebe8df}
.academy41-workshop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.academy41-workshop{border:1px solid rgba(18,24,29,.16);padding:1.5rem;background:#f8f7f3;display:flex;flex-direction:column}
.academy41-workshop-dark{background:#151a1f;color:#f4f2ec}
.academy41-workshop-dark p,.academy41-workshop-dark li{color:#d0d5d7}
.academy41-workshop-cover{min-height:24rem;display:flex;flex-direction:column;border-bottom:1px solid rgba(18,24,29,.16);padding-bottom:1.5rem}
.academy41-workshop-dark .academy41-workshop-cover{border-bottom-color:rgba(255,255,255,.18)}
.academy41-workshop-cover>span{font-size:.72rem;letter-spacing:.13em;font-weight:700}
.academy41-workshop h3{font-size:clamp(2rem,3.2vw,3.2rem);line-height:.98;letter-spacing:-.045em;margin:1.3rem 0 2rem}
.academy41-linear{display:flex;align-items:center;gap:.7rem;margin-top:auto;flex-wrap:wrap;font-size:.65rem;letter-spacing:.08em}
.academy41-linear i{font-style:normal}.academy41-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.academy41-tags span{border:1px solid currentColor;padding:.38rem .55rem;font-size:.62rem;letter-spacing:.08em}
.academy41-workshop>p{margin-top:1.5rem}.academy41-workshop ul{padding-left:1.2rem;color:#5f6870;line-height:1.5;display:grid;gap:.45rem;margin-bottom:2rem}
.academy41-workshop .v2-link{margin-top:auto;align-self:flex-start}
.academy41-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.academy41-mode-grid article{border:1px solid rgba(18,24,29,.15);padding:1.5rem;min-height:18rem}
.academy41-mode-grid svg{width:4.5rem;height:4.5rem;fill:none;stroke:#113f4a;stroke-width:1.5}
.academy41-mode-grid h3{font-size:1.65rem;margin:1rem 0 .8rem}
.academy41-custom{padding-block:clamp(7rem,12vw,11rem)}
.academy41-custom h2{font-size:clamp(3.2rem,6.4vw,6.4rem);max-width:11ch}
.academy41-custom-lead{max-width:44rem}
.academy41-custom-statement{margin-top:5rem;display:grid;gap:2.8rem;max-width:60rem}
.academy41-custom-statement p{font-size:clamp(2rem,4vw,4rem);line-height:1.1;letter-spacing:-.045em;color:#1d252a;margin:0}
.academy41-cta{text-align:center;padding-block:clamp(6rem,10vw,10rem);background:#113f4a;color:white}
.academy41-cta h2{color:white}
.academy41-cta p{color:#d8e0e2;max-width:45rem;margin:1.2rem auto 2rem}
.academy41-cta .pill-cta{border-color:white;color:white}
.academy41-back{margin-top:3rem}.academy41-back .v2-link{color:white}
@media(max-width:900px){
 .academy41-two{grid-template-columns:1fr}
 .academy41-dual-grid{grid-template-columns:1fr}
 .academy41-dual-center{min-height:8rem}.academy41-dual-center b{transform:rotate(90deg)}
 .academy41-workshop-grid,.academy41-mode-grid{grid-template-columns:1fr}
 .academy41-workshop-cover{min-height:0}
}
@media(max-width:600px){
 .academy41{padding:4.8rem 0}
 .academy41-steps{font-size:clamp(2.8rem,14vw,4.1rem)}
 .academy41-ai-map{min-height:24rem;padding:1.2rem}
 .academy41-ai-row{grid-template-columns:1fr;text-align:center}
 .academy41-ai-row i{transform:rotate(90deg)}
 .academy41-ai-row strong{margin:auto}
 .academy41-dual-card{min-height:0}
 .academy41-custom-statement{margin-top:3rem}
}
@media (prefers-reduced-motion:reduce){
 .academy41 *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}


/* ===== V0.41 — Lote 07 QA ===== */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid #0b5fff;
  outline-offset:3px;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
}

/* ===== PRE-03: 404 institucional ===== */
.error404{min-height:70vh;display:grid;align-items:center;padding:clamp(6rem,12vw,10rem) 0}
.error404-inner{max-width:52rem}
.error404 h1{font-size:clamp(3rem,7vw,6rem);line-height:.95;letter-spacing:-.055em;margin:.7rem 0 1.4rem}
.error404 p{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.6;color:#5f6870;max-width:42rem}
.error404-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:2rem}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* ===== MOD-041 — Privacidad IBGMx ===== */
.privacy41-hero{padding:clamp(5rem,9vw,8rem) 0;border-bottom:1px solid rgba(18,24,29,.12)}
.privacy41-hero h1{font-size:clamp(3.2rem,7vw,6.2rem);line-height:.95;letter-spacing:-.055em;margin:.5rem 0 1.4rem}
.privacy41-hero p{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.6;color:#5f6870;max-width:46rem}
.privacy41-body{padding:clamp(4.5rem,8vw,7rem) 0}
.privacy41-wrap{max-width:70rem}
.privacy41-intro{font-size:clamp(1.05rem,1.4vw,1.22rem);line-height:1.65;max-width:60rem}
.privacy41-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(18,24,29,.16);border-left:1px solid rgba(18,24,29,.16);margin-top:3rem}
.privacy41-grid article{padding:2rem;border-right:1px solid rgba(18,24,29,.16);border-bottom:1px solid rgba(18,24,29,.16);min-height:14rem}
.privacy41-grid h2,.privacy41-limited h2{font-size:1.5rem;margin:0 0 1rem}
.privacy41-grid p,.privacy41-limited p{font-size:1rem;line-height:1.6;color:#5f6870}
.privacy41-limited{margin-top:2.2rem;padding:2rem;border-left:4px solid #4dad2b;background:#eef5e9}
.privacy41-update{margin-top:2rem;font-size:.9rem;color:#5f6870}
.contact-privacy{display:flex!important;align-items:flex-start;gap:.7rem;font-size:.92rem;line-height:1.45}
.contact-privacy input{width:auto!important;margin-top:.2rem}
.contact-privacy a,.footer-privacy a{text-decoration:underline}
.footer-privacy{margin-top:1rem}
@media(max-width:700px){.privacy41-grid{grid-template-columns:1fr}}
