/* ==========================================================================
   Mauricio Hormazábal Valdés — Regulación Económica Aplicada
   Escala: 1rem = 10 px de la maqueta (912 px de ancho).
   Desktop (≥1024px): html escala con el viewport hasta 1440px de contenido;
   el fondo ocupa siempre el 100% del ancho.
   ========================================================================== */

@font-face{font-family:"IBM Plex Sans Condensed";font-weight:300;font-display:swap;src:url("assets/fonts/ibm-plex-sans-condensed-latin-300-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Condensed";font-weight:400;font-display:swap;src:url("assets/fonts/ibm-plex-sans-condensed-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Condensed";font-weight:500;font-display:swap;src:url("assets/fonts/ibm-plex-sans-condensed-latin-500-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Condensed";font-weight:600;font-display:swap;src:url("assets/fonts/ibm-plex-sans-condensed-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#001022;
  --bg-hero:#000f1f;
  --bg-footer:#021122;
  --line:#1f2a38;
  --amber:#fdb90a;
  --amber-btn:#fcb802;
  --teal:#2fbcc7;
  --white:#ffffff;
  --text:#eceaec;
  --text-soft:#e1e3e6;
  --font:"IBM Plex Sans Condensed","Arial Narrow",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{
  font-size:10px;                       /* móvil / tablet: 1rem = 10px */
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}
@media (min-width:1024px){
  html{font-size:calc(min(100vw,1440px) / 91.2)}   /* desktop: 1rem = 10px de maqueta */
}
body{
  margin:0;
  min-width:100%;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-weight:400;
  font-size:1.3rem;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,p{margin:0;font-weight:400}
section{position:relative;width:100%;border-top:1px solid var(--line)}
.hero{border-top:0}

.wrap{width:91.2rem;margin:0 auto;position:relative}
@media (max-width:1023px){.wrap{width:100%;max-width:64rem;padding:0 2rem}}

.c-amber{color:var(--amber)}
.c-teal{color:var(--teal)}
.rule{width:4.8rem;height:2px;border:0;margin:0;background:var(--teal)}
.eyebrow{
  color:var(--teal);
  text-transform:uppercase;
  font-size:1.25rem;
  line-height:1.6rem;
  letter-spacing:.01em;
}

/* ---------- botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;
  height:4.1rem;padding:0 1.6rem;
  font-size:1.08rem;font-weight:500;text-transform:uppercase;letter-spacing:.005em;
  border-radius:.3rem;white-space:nowrap;
  transition:filter .2s ease,background-color .2s ease;
}
.btn--amber{background:var(--amber-btn);color:#0a1220}
.btn--amber:hover{filter:brightness(1.08)}
.btn--outline{border:1px solid #1d8f9b;color:var(--white);background:rgba(0,20,40,.35);font-weight:500;font-size:1.04rem}
.btn--outline:hover{background:rgba(47,188,199,.12)}
.btn--ghost-amber{border:1px solid var(--amber);color:var(--amber);height:3.4rem;padding:0 1.2rem;font-size:1.05rem;border-radius:.3rem}
.btn--ghost-amber:hover{background:rgba(253,185,10,.1)}
.btn--ghost-amber .arrow{width:1.1rem}
.btn--lg{height:4.6rem;font-weight:600;font-size:1.32rem;padding:0 2.6rem;min-width:20rem}
.arrow{display:inline-block;width:1.4rem;height:1rem;position:relative}
.arrow::before{content:"";position:absolute;left:0;right:.05rem;top:50%;height:2px;background:currentColor;transform:translateY(-50%)}
.arrow::after{content:"";position:absolute;right:.05rem;top:50%;width:.7rem;height:.7rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.arrow--teal{color:var(--teal)}

/* ==========================================================================
   HERO   (0 – 481)
   ========================================================================== */
.hero{background:var(--bg-hero);height:48.1rem;overflow:hidden}
.hero__wrap{height:100%}

.topbar{position:absolute;left:0;right:0;top:0;height:8.4rem}
.brand{position:absolute;left:2.5rem;top:1.05rem;display:flex;align-items:flex-start;gap:1.5rem}
.brand__mark{width:4.7rem;height:5.1rem;margin-top:1rem}
.brand__text{display:block;margin-top:0;margin-left:-.3rem}
.brand__name{display:block;font-size:1.75rem;line-height:2.3rem;color:var(--white)}
.brand__tag{display:block;margin-top:.7rem;color:var(--teal);font-size:1.22rem;line-height:1.4rem}
.nav{position:absolute;left:32.7rem;top:3.4rem;display:flex;gap:2.3rem}
.nav__link{
  position:relative;display:block;padding:.2rem 0 .95rem;
  font-size:1.08rem;font-weight:500;line-height:1.4rem;text-transform:uppercase;color:var(--white);
}
.nav__link:hover{color:var(--amber)}
.nav__link.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--amber)}
.topbar__cta{position:absolute;right:2.1rem;top:2.6rem;width:11.8rem;padding:0;gap:.9rem;font-size:.95rem}

.hero__copy{position:absolute;left:3.3rem;top:14.5rem;width:36rem}
.hero__title{font-size:4.4rem;line-height:5.3rem;font-weight:400;color:var(--white);letter-spacing:-.025em}
.hero__title .c-amber{font-weight:400}
.hero__title .l1{letter-spacing:.03em}
.hero__copy .rule{margin-top:1.2rem}
.hero__lead{margin-top:1.55rem;font-size:1.67rem;line-height:2.3rem;color:var(--white)}
.hero__actions{display:flex;gap:1.4rem;margin-top:5.7rem}
.hero__actions .btn{height:4.2rem}
.hero__actions .btn--amber{width:14.8rem;padding:0}
.hero__actions .btn--outline{width:18.1rem;padding:0}

.stage{position:relative;container-type:inline-size}
.stage__img{width:100%;height:auto}
.hero__stage .stage__img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%);mask-image:linear-gradient(90deg,transparent 0,#000 14%)}
.stage__labels{position:absolute;inset:0;pointer-events:none}
.hero__stage{position:absolute;left:38.2rem;top:7rem;width:53rem;height:41.2rem}
.hero__stage .stage__img{height:100%}
.hl{
  position:absolute;left:var(--x);top:var(--y);transform:translateX(-50%);
  text-align:center;white-space:nowrap;text-transform:uppercase;color:var(--white);
  font-size:calc(12 / 530 * 100cqw);font-weight:500;line-height:calc(16 / 530 * 100cqw);
}

/* ==========================================================================
   NUESTRO SELLO   (482 – 840)
   ========================================================================== */
.sello{background:var(--bg);height:35.8rem}
.sello__wrap{height:100%}
.sello__copy{position:absolute;left:3.3rem;top:2.2rem;width:30rem}
.sello .eyebrow{letter-spacing:.045em}
.sello__title .c-teal{font-size:2.36rem;letter-spacing:-.015em}
.sello__title{margin-top:1.3rem;font-size:2.15rem;line-height:2.95rem;color:var(--white);letter-spacing:-.01em}
.sello__copy .rule{margin-top:1rem}
.sello__text{margin-top:1.6rem;font-size:1.4rem;line-height:2rem;color:var(--white)}
.sello__text + .sello__text{margin-top:1.6rem}
.sello__stage{position:absolute;left:34rem;top:.4rem;width:52rem;height:31.4rem}
.sello__stage .stage__img{height:100%}
.ol{
  position:absolute;left:var(--x);top:var(--y);white-space:nowrap;text-transform:uppercase;color:var(--white);
  font-size:calc(12.3 / 520 * 100cqw);line-height:calc(16 / 520 * 100cqw);
}
.ol--r{transform:translateX(-100%);text-align:right}
.ol--c{transform:translateX(-50%);text-align:center;font-weight:500;font-size:calc(13.2 / 520 * 100cqw);line-height:calc(19 / 520 * 100cqw)}

/* ==========================================================================
   EXPERIENCIA   (840 – 1207)
   ========================================================================== */
.exp{background:var(--bg);height:36.7rem}
.exp__wrap{height:100%}
.exp__lead{position:absolute;left:3.3rem;top:2rem;width:27.2rem}
.exp__lead::after{content:"";position:absolute;left:28.6rem;top:1.8rem;width:1px;height:33.5rem;background:#2d3846}
.exp__title{margin-top:1.2rem;font-size:2.2rem;line-height:2.85rem;color:var(--white)}
.card{
  margin-top:1.4rem;margin-left:-.1rem;width:27.3rem;height:23.6rem;
  border:1px solid #252c3c;border-radius:.4rem;background:#001021;
  position:relative;
}
.card__head{position:absolute;left:1.4rem;top:1.9rem;display:flex;gap:1.2rem;align-items:flex-start}
.card__icon{width:4.6rem;height:4.8rem}
.card__title{margin-top:-.3rem;font-size:1.65rem;line-height:2.4rem;color:var(--white)}
.card__title strong{font-weight:500}
.card__text{position:absolute;left:1.6rem;top:10.3rem;font-size:1.18rem;line-height:1.9rem;color:var(--text)}

.exp__cases{position:absolute;left:34rem;top:1.4rem;width:54rem}
.cases__title{font-size:1.7rem;line-height:2rem;color:var(--white)}
.cases{
  display:grid;grid-template-columns:16rem 17.2rem 1fr;
  grid-template-rows:7.8rem 7.8rem 9.2rem 8.4rem;
  margin-top:.2rem;position:relative;
}
.cases::before,.cases::after{content:"";position:absolute;top:1.4rem;bottom:.8rem;width:1px;background:#2d3846}
.cases::before{left:16rem}
.cases::after{left:33.2rem}
.case{
  position:relative;display:flex;align-items:center;gap:0;
  border-top:1px solid #26303d;
}
.case:nth-child(-n+3){border-top:0}
.case__icon{position:absolute;left:var(--il,0);top:1.5rem;width:var(--w);height:auto;filter:brightness(1.25) saturate(1.15)}
.case p{margin-left:4.5rem;font-size:1.15rem;line-height:1.78rem;color:var(--text-soft)}
.case--tight p{letter-spacing:-.04em}
.case.case--wrap p{white-space:normal;padding-right:1.2rem}
.case:nth-child(3n+2) .case__icon{--il:1.6rem}
.case:nth-child(3n+3) .case__icon{--il:1.7rem}
.case:nth-child(3n+2) p{margin-left:6rem}
.case:nth-child(3n+3) p{margin-left:6.1rem}

/* ==========================================================================
   SERVICIOS   (1207 – 1412)
   ========================================================================== */
.serv{background:var(--bg);height:20.5rem}
.serv__wrap{height:100%}
.serv .eyebrow{position:absolute;left:3.3rem;top:1.7rem}
.serv__cols{position:absolute;left:0;right:0;top:3.8rem}
.svc{position:absolute;top:0;display:flex;gap:1.1rem;align-items:flex-start}
.svc:nth-child(1){left:3rem;gap:1.3rem}
.svc:nth-child(2){left:30.8rem;gap:2.1rem}
.svc:nth-child(3){left:57.8rem;gap:1.3rem}
.svc__icon{height:auto;flex:none;width:var(--w);margin-top:.6rem;filter:brightness(1.25) saturate(1.15)}
.svc__title{font-size:1.92rem;line-height:2.4rem;color:var(--white);margin-top:.4rem}
.svc__list{margin-top:.7rem}
.svc__list li{position:relative;padding-left:1.1rem;font-size:1.42rem;line-height:2.45rem;color:var(--text)}
.svc__list li::before{content:"";position:absolute;left:-.1rem;top:1.05rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--teal)}
.svc--amber .svc__list li::before{background:var(--amber)}
.serv__cols::before,.serv__cols::after{content:"";position:absolute;top:.7rem;height:14.3rem;width:1px;background:#2d3846}
.serv__cols::before{left:27rem}
.serv__cols::after{left:54.3rem}

/* ==========================================================================
   QUIÉNES SOMOS   (1412 – 1612)
   ========================================================================== */
.about{background:var(--bg);height:23rem}
.about__wrap{height:100%}
.about__photo{position:absolute;left:2.6rem;top:0;width:17.9rem;height:19.9rem;margin:0;overflow:hidden}
.about__photo img{
  position:absolute;max-width:none;
  width:23.62rem;height:auto;
  left:-2.87rem;top:-7.375rem;
}
.about__bio{position:absolute;left:22.6rem;top:1.6rem;width:19rem}
.about__name{font-size:2.05rem;line-height:2.5rem;color:var(--white)}
.about__role{margin-top:.8rem;font-size:1.7rem;line-height:2.4rem}
.about__text{margin-top:.3rem;font-size:1.2rem;line-height:1.5rem;color:var(--text)}
.about__edu{position:absolute;left:45.2rem;top:1.8rem}
.about__bio::after{content:"";position:absolute;left:20rem;top:.8rem;width:1px;height:16rem;background:#2d3846}
.about__edu .eyebrow{font-size:1.25rem}
.edu{margin-top:.3rem}
.edu li{position:relative;padding-left:1.3rem;font-size:1.25rem;line-height:2.24rem;color:var(--text)}
.edu li::before{content:"";position:absolute;left:.1rem;top:.9rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--teal)}

/* ==========================================================================
   CTA + CONTACTO   (1612 – 1724)
   ========================================================================== */
.cta{background:#02152b;height:12.4rem;overflow:hidden;border-top:1px solid var(--line)}
.cta__bg{position:absolute;top:.1rem;height:8.4rem;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none}
.cta__bg--l{left:0;width:9.6rem;background-image:url("assets/cta-left.png");-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent)}
.cta__bg--r{right:0;width:14.8rem;background-image:url("assets/cta-right.png");-webkit-mask-image:linear-gradient(270deg,#000 55%,transparent);mask-image:linear-gradient(270deg,#000 55%,transparent)}
.cta__wrap{height:8.6rem;z-index:2}
.cta__icon{position:absolute;left:10.4rem;top:1.8rem;width:5.5rem;height:auto}
.cta__copy{position:absolute;left:18.3rem;top:1.1rem}
.cta__title{font-size:1.95rem;line-height:2.15rem;color:var(--white)}
.cta__sub{margin-top:.15rem;font-size:1.7rem;line-height:1.7rem;font-weight:300;color:var(--text)}
.cta .btn--lg{position:absolute;left:55.7rem;top:2.3rem;width:20rem;padding:0}

.footer{position:absolute;left:0;right:0;bottom:0;height:2.7rem;background:var(--bg-footer);border-top:1px solid #11202f}
.footer__wrap{height:100%}
.contact{position:absolute;top:0;height:100%;display:flex;align-items:center;gap:1rem;font-size:1.33rem;color:var(--text);padding-top:.3rem}
.contact img{width:var(--w);height:auto}
.contact:hover{color:var(--amber)}
.contact--icon{padding:0 1rem;margin-left:-1rem}
.contact--icon img{border-radius:.3rem}
.contact:nth-child(1){left:9.6rem}
.contact:nth-child(2){left:35.4rem}
.contact:nth-child(3){left:52.9rem}

@media (min-width:1024px){
  .exp__title,.sello__title,.case p,.card__text,.card__title{white-space:nowrap}
}

/* ==========================================================================
   MÓVIL / TABLET   (<1024px): se reordenan columnas; 1rem = 10px
   ========================================================================== */
@media (max-width:1023px){
  .br-d{display:none}
  body{font-size:1.5rem}
  section{height:auto!important}

  /* hero */
  .hero{overflow:visible}
  .hero__wrap{display:flex;flex-direction:column;height:auto;padding-bottom:3rem}
  .topbar,.hero__copy,.brand,.nav,.topbar__cta{position:static}
  .hero__stage,.sello__stage{position:relative;left:0;top:0}
  .hl{font-size:calc(14.2 / 530 * 100cqw);line-height:calc(18 / 530 * 100cqw)}
  .ol{font-size:calc(14.2 / 520 * 100cqw);line-height:calc(18 / 520 * 100cqw)}
  .ol--c{font-size:calc(15 / 520 * 100cqw);line-height:calc(20 / 520 * 100cqw)}
  .topbar{display:flex;flex-wrap:wrap;gap:1.4rem 2rem;align-items:center;justify-content:space-between;height:auto;padding:2rem 0 1.4rem}
  .brand{flex:1 1 auto}
  .nav{order:3;flex:1 1 100%;flex-wrap:wrap;gap:.2rem 1.8rem}
  .nav__link{font-size:1.2rem;padding:.6rem 0}
  .hero__copy{width:auto;padding-top:2.6rem}
  .hero__title{font-size:3.8rem;line-height:4.4rem}
  .hero__lead{font-size:1.7rem}
  .hero__actions{flex-wrap:wrap;margin-top:2.6rem}
  .hero__actions .btn--amber,.hero__actions .btn--outline{width:auto;padding:0 1.8rem}
  .hero__stage{width:100%;height:auto;margin-top:3rem}
  .hero__stage .stage__img{height:auto}

  /* sello */
  .sello__wrap{display:flex;flex-direction:column;padding-top:3rem;padding-bottom:3rem;gap:2.4rem}
  .sello__copy{position:static;width:auto;height:auto}
  .sello__stage{width:auto;height:auto}
  .sello__stage .stage__img{height:auto}
  .sello__title{font-size:2.2rem;line-height:3rem}

  /* experiencia */
  .exp__wrap{display:flex;flex-direction:column;gap:3rem;padding-top:3rem;padding-bottom:3rem}
  .exp__lead,.exp__cases{position:static;width:auto}
  .exp__lead::after{display:none}
  .card{width:auto;height:auto;padding:2rem 1.6rem}
  .card__head,.card__text{position:static}
  .card__text{margin-top:1.6rem;font-size:1.35rem;line-height:2.1rem}
  .cases{grid-template-columns:1fr;grid-template-rows:none}
  .cases::before,.cases::after{display:none}
  .case{min-height:7.2rem;padding:1.4rem 0;border-top:1px solid #26303d!important}
  .case:first-child{border-top:0!important}
  .case__icon{left:0!important}
  .case p{margin-left:5.4rem!important;font-size:1.35rem;line-height:2rem}

  /* servicios */
  .serv__wrap{padding-top:3rem;padding-bottom:3rem}
  .serv .eyebrow,.serv__cols,.svc{position:static}
  .serv__cols{display:flex;flex-direction:column;gap:2.8rem;margin-top:2rem}
  .serv__cols::before,.serv__cols::after{display:none}
  .svc__list li{font-size:1.5rem}

  /* quiénes somos */
  .about__wrap{display:flex;flex-direction:column;gap:2.4rem;padding-top:0;padding-bottom:3rem}
  .about__bio,.about__edu{position:static}
  .about__photo{position:relative;left:0;top:0;width:100%;height:36rem;margin:0 0 .6rem}
  .about__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
  .about__wrap{padding-left:0;padding-right:0}
  .about__bio,.about__edu{padding:0 2rem}
  .about__bio{width:auto}
  .about__bio::after{display:none}
  .about__text{font-size:1.4rem;line-height:2.1rem}
  .edu li{font-size:1.45rem;line-height:2.6rem}
  .edu li::before{top:1.1rem}

  /* cta */
  .cta{padding-bottom:2.7rem}
  .cta__wrap{display:flex;flex-direction:column;align-items:flex-start;gap:1.6rem;height:auto;padding:3rem 2rem 2.4rem}
  .cta__icon,.cta__copy,.cta .btn--lg{position:static}
  .cta__title{font-size:2.1rem;line-height:2.8rem}
  .cta__sub{font-size:1.6rem;line-height:2.3rem;margin-top:.8rem}
  .footer{position:static;height:auto;padding:1.4rem 0}
  .footer__wrap{height:auto;display:flex;flex-direction:column;gap:1.2rem;padding:0 2rem}
  .contact{position:static;height:auto;font-size:1.4rem;word-break:break-word}
}

/* ==========================================================================\n   FORMULARIO DE CONTACTO\n   ========================================================================== */
.cta{height:auto;min-height:43rem;padding-bottom:2.7rem;overflow:hidden}
.cta__wrap{height:auto;min-height:40.3rem;padding:3.3rem 3.3rem 4rem;display:grid;grid-template-columns:31rem 1fr;gap:5rem;align-items:start}
.cta__intro{position:relative;padding-left:6.5rem}
.cta__intro .cta__icon{position:absolute;left:0;top:.2rem}
.cta__intro .cta__copy{position:static;width:auto}
.cta .contact-form{width:100%;display:flex;flex-direction:column;gap:1.35rem}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.contact-form label{display:flex;flex-direction:column;gap:.55rem;color:var(--text-soft);font-size:1.18rem;text-transform:uppercase;letter-spacing:.035em}
.contact-form__optional{color:#8d99a8;text-transform:none;letter-spacing:0;font-size:1.05rem}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #344354;border-radius:.3rem;background:#06182b;color:var(--white);font:400 1.35rem/1.4 var(--font);padding:1rem 1.15rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.contact-form input{height:4.1rem}
.contact-form textarea{min-height:8.5rem;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 2px rgba(47,188,199,.12)}
.contact-form__actions{display:flex;align-items:center;gap:1.6rem;margin-top:.3rem}
.cta .contact-form .btn--lg{position:static;width:auto;min-width:17rem;border:0;cursor:pointer;font-family:var(--font)}
.contact-form button:disabled{opacity:.65;cursor:wait}
.contact-form__status{font-size:1.2rem;line-height:1.5}
.contact-form__status.is-success{color:var(--teal)}
.contact-form__status.is-error{color:var(--amber)}
.contact-form__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

@media (max-width:1023px){
  .cta{padding-bottom:0}
  .cta__wrap{display:flex;flex-direction:column;gap:2.6rem;min-height:0;padding:3rem 2rem}
  .cta__intro{padding-left:0}
  .cta__intro .cta__icon{position:static;margin-bottom:1.5rem}
  .contact-form__row{grid-template-columns:1fr}
  .contact-form label{font-size:1.3rem}
  .contact-form input,.contact-form textarea{font-size:1.6rem}
  .contact-form__actions{align-items:flex-start;flex-direction:column}
}


/* ==========================================================================
   CONTACTO + FOOTER — VERSIÓN CONSOLIDADA
   ========================================================================== */
@media (min-width:1024px){
  .cta__wrap{
    grid-template-columns:34rem minmax(0,1fr);
    gap:4.2rem;
    padding-left:4.8rem;
    padding-right:4.8rem;
  }

  .cta__intro{padding-left:6.5rem}

  .cta__intro .cta__icon{
    position:absolute;
    left:0;
    top:.2rem;
  }

  .cta__intro .cta__copy{
    position:static;
    width:auto;
  }

  .cta__title{
    width:31rem;
    max-width:31rem;
    font-size:2.05rem;
    line-height:1.18;
  }

  .cta__sub{
    width:31rem;
    max-width:31rem;
    margin-top:.8rem;
    font-size:1.55rem;
    line-height:1.22;
  }

  .footer__wrap{
    width:max-content;
    max-width:calc(100% - 4rem);
    height:100%;
    margin:0 auto;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3rem;
  }

  .footer__wrap > .contact{
    position:relative;
    inset:auto;
    margin:0;
    padding:0;
    height:100%;
    flex:none;
  }

  .footer__wrap > .contact + .contact{margin-left:1.2rem}

  .footer__wrap > .contact + .contact::before{
    content:"";
    position:absolute;
    left:-2.15rem;
    top:50%;
    width:1px;
    height:1.55rem;
    background:#647181;
    transform:translateY(-50%);
  }
}
