/* Global Connect Consulting · página de servicios
   Medidas de Figma: escritorio 378:108 (1440 px) y móvil 400:1540 (375 px). Entre ambos tamaños el diseño no define nada:
   los puntos de corte 1240/1199/991/767 son nuestros. Cabecera, botones, logo, FAQ y pie siguen el mismo código que
   education.globalconnect.ai (GC Education) para que las páginas del sitio se vean iguales. */

/* Figtree autoalojada con ascent-override:97%: sin él Chrome coloca el texto 1px más arriba que Figma. */
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;ascent-override:97%;
  src:url(../fonts/figtree-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 900;font-display:swap;ascent-override:97%;
  src:url(../fonts/figtree-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* DM Sans solo aparece en móvil: la etiqueta "Servicios" del hero y el botón del llamado a la acción. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500 700;font-display:swap;
  src:url(../fonts/dmsans-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --ink:#141518;          /* base/gris-oscuro-principal */
  --ink-2:#48494d;        /* base/gris-oscuro-auxiliar */
  --line:#c1c1c1;         /* base/gris-claro */
  --soft:#f7f7f7;
  --green:#62de1a;        /* check-green/principal */
  --green-dark:#165b23;   /* check-green/auxiliar-1 */
  --green-light:#a9ff78;  /* check-green/auxiliar-2 */
  --blue:#2673f9;
  --stroke:1.333px;
  /* Animación de entrada de globalconnect.ai (preset "slide in" de Webflow): 100px, 1s, outQuart. */
  --reveal-distance:100px;
  --reveal-duration:1s;
  --ease-out-quart:cubic-bezier(.165,.84,.44,1);
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:#fff;color:var(--ink);
  font-family:'Figtree',sans-serif;font-size:16px;line-height:24px;font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,p,ul,ol{margin:0;padding:0;}
ul,ol{list-style:none;}
img{display:block;max-width:none;}
a{color:inherit;text-decoration:none;}
strong{font-weight:700;}
.thin{font-weight:400;}
h2{font-size:40px;line-height:46px;font-weight:700;max-width:100%;}

/* ===== Botones ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;
  background:var(--ink);color:#fff;border:0;border-radius:40px;white-space:nowrap;
  font:inherit;text-align:center;cursor:pointer;transition:transform .3s var(--ease-out-quart),opacity .3s ease;
}
.btn:hover{opacity:.86;transform:translateY(-2px);}
.btn:active{transform:none;}
.btn:focus-visible,.faq-q:focus-visible,a:focus-visible,button:focus-visible,.svc-track:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
.btn-sm{height:54px;padding:18px 24px;border-radius:30px;font-size:14px;line-height:20px;}
.btn-md{height:66px;padding:24px 36px;font-size:16px;line-height:24px;}
/* El trazo de 1.333px del diseño va por dentro y no ocupa layout: sombra interior (un border se redondearía a 1px). */
.btn-outline{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 var(--stroke) var(--ink);}
.btn-row{display:flex;flex-wrap:wrap;gap:24px;}
.btn-block{display:flex;width:100%;}
/* Flecha "Line Rounded/Arrow Right" de 18px: el trazo de 15×14.19 va centrado en su caja. */
.btn-arrow img{width:15px;height:14.1913px;margin:1.9px 1.5px;}

/* ===== Logo (isotipo + núcleo degradado + logotipo) ===== */
.gc-logo{position:relative;display:block;flex:none;width:100px;height:50.45px;}
.gc-logo-lg{width:138.754px;height:70px;}
.gc-logo>*{position:absolute;}
.gc-logo-mark{left:21.271%;top:0;width:57.309%;height:61.315%;}
.gc-logo-word{left:0;top:72.05%;width:100%;height:27.95%;}
.gc-logo-core{
  left:58.715%;top:20.909%;width:9.845%;height:19.513%;
  background:url(../img/logo-nucleo-gradient.png) center/cover no-repeat;
  -webkit-mask:url(../img/logo-nucleo-mask.svg) center/87.48% 87.48% no-repeat;
          mask:url(../img/logo-nucleo-mask.svg) center/87.48% 87.48% no-repeat;
}

/* ===== Cabecera ===== */
.site-header{height:110px;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;z-index:50;}
/* Misma geometría que la cabecera de globalconnect.ai (1240 px de contenido, logotipo de 100 px), como en GC Education:
   en Figma son 1192 px y 111 px, pero el cliente pidió que mande el sitio en producción. */
.bar{width:1240px;max-width:calc(100% - 200px);display:flex;align-items:center;justify-content:space-between;}
.nav-panel{display:contents;}
.nav-burger,.nav-dim{display:none;}
.nav{flex:none;display:flex;align-items:center;gap:34px;}
.nav>a,.nav-toggle{display:flex;align-items:center;gap:10px;flex:none;white-space:nowrap;}
.nav-toggle{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;}
.nav .chev{width:13.0667px;height:7.2333px;margin:-.7px;transition:transform .3s ease;}
.nav-dd{position:relative;display:flex;flex:none;}
.nav-dd.is-open .chev{transform:rotate(180deg);}
.bar-actions{display:flex;align-items:center;gap:10px;flex:none;}
.lang{display:flex;align-items:center;justify-content:center;gap:10px;height:54px;min-width:87px;padding:0 16px;border:1px solid #e6e3e3;border-radius:50px;background:#fff;}
.lang img{width:22px;height:22px;}
.nav-list{position:absolute;top:100%;left:-16px;z-index:20;min-width:100%;margin-top:18px;padding:8px 16px;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2);
  opacity:0;visibility:hidden;transform:translateY(3rem);transition:opacity .2s ease,transform .3s ease,visibility 0s .3s;}
.nav-list::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px;}
.nav-list a{display:block;line-height:40px;white-space:nowrap;}
.nav-dd.is-open .nav-list,.nav-dd:focus-within .nav-list{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .3s ease,visibility 0s;}
@media (hover:hover) and (min-width:992px){
  .nav-dd:hover .nav-list{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .3s ease,visibility 0s;}
  .nav-dd:hover .chev{transform:rotate(180deg);}
}

/* ===== Secciones ===== */
.section{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 24px;overflow:hidden;background:#fff;text-align:center;}

/* ===== 01 · Hero ===== */
.hero{background:#fff;}
/* Bloque de 1174 px que empieza en x=150 (en Figma el margen derecho es de 116 px, no simétrico). */
.hero-in{width:1174px;max-width:calc(100% - 48px);min-height:660px;margin-left:max(24px,calc(50% - 570px));display:flex;align-items:center;justify-content:space-between;gap:62px;}
.hero-copy{width:562px;flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:24px;}
.hero h1{font-size:48px;line-height:60px;font-weight:400;}
.hero-copy>p{width:490px;max-width:100%;font-size:18px;line-height:28px;color:var(--ink-2);}
.pill,.hero-stack{display:none;}
.hero-logo{display:block;width:300px;max-width:100%;height:auto;}
.hero-mosaic{align-self:flex-start;margin:51px 0 53px;width:550px;flex:none;display:grid;grid-template-columns:270fr 264fr;grid-template-rows:auto auto;gap:16px;}
/* Marcos de Figma: fondo #f9f9ff, radio 14 y trazo interior #e5e4f0 pintado encima de la foto. */
.tile{position:relative;overflow:hidden;border-radius:14px;background:#f9f9ff;}
.tile::after{content:"";position:absolute;inset:0;border:1px solid #e5e4f0;border-radius:inherit;pointer-events:none;}
.tile img{position:absolute;max-width:none;object-fit:cover;}
.tile-a,.tile-b{aspect-ratio:1;}
.tile-c{grid-column:2;grid-row:1 / span 2;}
.tile-a img{left:-17.778%;top:-29.259%;width:129.815%;height:129.815%;}
.tile-b img{left:-25.633%;top:-8.889%;width:174.232%;height:116.296%;}
.tile-c img{left:-23.087%;top:-1.174%;width:143.164%;height:101.175%;}

/* ===== 02 · El reto que resolvemos ===== */
.reto{position:relative;isolation:isolate;overflow:hidden;background:var(--green-light);padding:80px 24px 94px;display:flex;justify-content:center;text-align:center;}
.reto::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../img/reto-texture.jpg) center/cover no-repeat;mix-blend-mode:multiply;opacity:.6;pointer-events:none;}
.reto-in{width:1216px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;}
.reto h2{color:#000;}
.reto p{width:700px;max-width:100%;font-size:18px;line-height:28px;color:var(--ink);}

/* ===== 03 · Proceso consultivo ===== */
.process{gap:40px;}
.process h2{width:1216px;}
.steps{width:1140px;max-width:100%;display:flex;justify-content:space-between;gap:14px;text-align:left;}
.step{width:274px;height:180px;flex:none;display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--green);border-radius:16px;background:#fff;}
.step-n{font-size:12px;line-height:16px;font-weight:700;color:var(--ink-2);}
.step h3{font-size:20px;line-height:24px;font-weight:700;}
.step p{color:var(--ink-2);}

/* ===== 04 · Nuestros servicios ===== */
.services{background:var(--soft);gap:50px;isolation:isolate;}
.net{position:absolute;z-index:-1;width:667.5px;height:445px;pointer-events:none;}
.net-top{left:0;top:0;}
.net-bottom{right:-.5px;bottom:0;}
.services-head{display:flex;flex-direction:column;align-items:center;gap:14px;}
.services-head p{width:700px;max-width:100%;font-size:18px;line-height:28px;color:var(--ink-2);}
.svc-counter,.svc-progress{display:none;}
/* Una sola pista con desplazamiento horizontal y snap: en escritorio caben --per tarjetas (4 a 1440 px) y los puntos
   pasan de página; en móvil la misma pista muestra contador y barra de progreso. */
.svc-carousel{--per:4;--gap:14.667px;width:1140px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:50px;}
.svc-track{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));gap:var(--gap);
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;text-align:left;}
.svc-track::-webkit-scrollbar{display:none;}
.svc-card{scroll-snap-align:start;height:300px;display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:16px;border-radius:16px;background:#fff;}
.svc-icon{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--green-light);}
.svc-card h3{font-size:20px;line-height:24px;font-weight:700;}
.svc-card p{font-size:14px;line-height:20px;color:var(--ink-2);}
.svc-dots{display:flex;align-items:center;gap:7px;height:11px;}
.svc-dot{width:22px;height:11px;padding:0;border:0;border-radius:20px;background:rgba(0,0,0,.5);opacity:.4;cursor:pointer;transition:width .3s ease,background-color .3s ease,opacity .3s ease;}
.svc-dot[aria-current="true"]{width:40px;background:var(--ink);opacity:1;}
.svc-carousel.is-static .svc-dots{display:none;}

/* ===== 05 · Valor diferencial ===== */
.value{background:var(--green-dark);gap:50px;isolation:isolate;}
.value h2{width:766px;color:var(--green-light);}
.value-cards{width:948px;max-width:100%;display:flex;justify-content:space-between;gap:24px;}
.value-card{width:300px;height:300px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:20px 16px;border:1px solid var(--green);border-radius:16px;background:var(--green-light);}
.value-card h3{font-size:20px;line-height:24px;font-weight:700;white-space:nowrap;}
.value-card p{font-size:14px;line-height:20px;color:var(--ink-2);}
.value-card .w-full{width:100%;}
.value-card .w-190{width:190px;}
.value-card .w-203{width:203px;}
.vicon{position:relative;width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;}
.vicon-data{height:41.201px;}
.vicon-target{display:block;transform:scaleY(-1);}
.vicon-target img{position:absolute;}
.t-1643{left:0;top:0;}
.t-1628{left:7.3px;top:7.31px;}
.t-1631{left:15.04px;top:15.04px;}
.t-1635{left:20.71px;top:20.71px;}
.t-1639{left:29.77px;top:29.77px;}
/* Esferas decorativas: marco girado de Figma (tamaño exterior) con el círculo rotado dentro. */
.orb{position:absolute;z-index:-1;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.orb-26{right:-88.155px;top:183px;width:308.155px;height:308.155px;}
.orb-26 img{width:225px;height:225px;transform:rotate(-120.57deg);}
.orb-27{left:-91.2px;top:281.8px;width:304.529px;height:304.529px;}
.orb-27 img{width:225px;height:225px;transform:rotate(-61.85deg);}
.orb-28{left:133px;top:100px;width:86.573px;height:86.573px;}
.orb-28 img{width:61.23px;height:61.23px;transform:rotate(-136.21deg);}
.orb-29{right:246.005px;top:39px;width:70.995px;height:70.995px;}
.orb-29 img{width:68.207px;height:68.207px;transform:rotate(-92.39deg);}

/* ===== 06 · Preguntas frecuentes ===== */
.faq{gap:50px;}
.faq-list{width:948px;max-width:100%;display:flex;flex-direction:column;gap:40px;text-align:left;}
/* 26 px de fila (el chevrón) + 29 px + 1 px de línea = 56 px, el alto de cada fila en Figma. */
.faq-item{border-bottom:1px solid var(--line);padding-bottom:29px;}
.faq-q{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:20px;line-height:24px;font-weight:700;text-align:left;cursor:default;}
.faq-q.has-answer{cursor:pointer;}
.faq-chev{position:relative;display:block;flex:none;width:26px;height:26px;overflow:hidden;transition:transform .4s ease;}
.faq-chev img{position:absolute;left:4.416px;top:8.212px;width:17.1667px;height:9.5833px;}
.faq-q[aria-expanded="true"] .faq-chev{transform:rotate(180deg);}
.faq-a{display:grid;grid-template-rows:0fr;visibility:hidden;color:var(--ink-2);font-weight:300;transition:grid-template-rows .4s ease,visibility 0s .4s;}
.faq-a>div{min-height:0;overflow:hidden;}
.faq-a p{padding-top:22px;}
.faq-a p+p{padding-top:10px;}
.faq-a.is-open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .4s ease,visibility 0s;}

/* ===== 07 · Llamado a la acción ===== */
.cta{background:var(--soft);display:flex;align-items:center;justify-content:center;gap:53px;padding:100px 24px;}
.cta-copy{width:531.382px;flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:30px;}
.cta h2{font-size:36px;line-height:46px;}
.cta-copy p{width:466px;max-width:100%;color:var(--ink-2);}
.cta-photo{width:555px;height:400px;flex:none;object-fit:cover;border-radius:20px;}

/* ===== Franja de colores y pie ===== */
.rainbow{height:12px;background:linear-gradient(90deg,rgb(98,222,26) 0%,rgb(255,221,50) 24.5%,rgb(50,232,223) 77.395%,rgb(38,115,249) 100%);}
.site-footer{background:var(--ink);color:#fff;padding:100px 24px 30px;display:flex;flex-direction:column;align-items:center;gap:106px;}
.footer-top{display:flex;align-items:flex-start;justify-content:center;gap:86px;}
.footer-brand{width:140px;flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:40px;}
.socials{display:flex;gap:16px;}
.social{position:relative;display:block;width:36px;height:36px;flex:none;}
.social img{width:100%;height:100%;}
.social-glyph{background:#fff;border-radius:8px;}
.social-glyph img{position:absolute;left:22.5%;top:21.55%;width:18px;height:20.4877px;}
.footer-cols{display:flex;align-items:flex-start;gap:20px;}
.footer-col{display:flex;flex-direction:column;gap:20px;flex:none;}
.footer-col.w-152{width:152px;}
.footer-col.w-219{width:219px;}
.footer-col h3{font-size:20px;line-height:24px;font-weight:700;}
.footer-col ul{display:flex;flex-direction:column;gap:18px;}
.footer-help{width:160px;}
.footer-help>div{display:flex;flex-direction:column;gap:20px;}
.footer-claims{display:block;width:max-content;}
/* Como en globalconnect.ai (.image-12): esquinas de 12 px; imagen de 242×166 mostrada a la mitad. */
.footer-claims img{width:123px;height:auto;border-radius:12px;}
.footer-bottom{width:1140px;max-width:100%;}
.footer-bottom .divider{width:100%;height:1px;}
.footer-legal{margin-top:31px;text-align:center;}
.footer-col a:hover,.footer-legal a:hover,.nav a:hover{text-decoration:underline;text-underline-offset:4px;}
.footer-claims:hover img{opacity:.86;}

/* ===== Animaciones de entrada (las de globalconnect.ai) =====
   main.js quita data-reveal al terminar, así el elemento vuelve a su CSS normal, sin transform. */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;transform:translate3d(0,var(--reveal-distance),0);}
  .js [data-reveal="left"]{transform:translate3d(calc(var(--reveal-distance) * -1),0,0);}
  .js [data-reveal="grow"]{transform:scale(.75);}
  .js [data-reveal].is-revealing{
    opacity:1;transform:none;
    transition:opacity var(--reveal-duration) var(--ease-out-quart) var(--reveal-delay,0ms),transform var(--reveal-duration) var(--ease-out-quart) var(--reveal-delay,0ms);
  }
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .btn,.svc-dot,.faq-chev,.faq-a,.faq-a.is-open,.nav-list,.nav .chev,.nav-panel,.nav-dim,.nav-burger *{transition:none !important;}
}
@media print{.js [data-reveal]{opacity:1;transform:none;}}

/* ===== Tamaños intermedios (no definidos en Figma) ===== */
@media (max-width:1320px){
  .footer-top{flex-direction:column;align-items:center;gap:50px;}
  .footer-brand{width:auto;flex-direction:row;align-items:center;gap:40px;}
  .footer-cols{flex-wrap:wrap;justify-content:center;gap:40px 20px;}
}
@media (max-width:1240px){
  .hero-in{margin:0 auto;gap:40px;}
  .hero-copy{flex:1 1 0;min-width:0;width:auto;}
  .hero-mosaic{width:47%;}
  .steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:600px;gap:16px;}
  .step{width:auto;}
}
@media (max-width:1199px){
  .svc-carousel{--per:3;}
  .cta{flex-direction:column;}
  .cta-copy{align-items:center;text-align:center;}
}
@media (max-width:1000px){
  .value-cards{flex-wrap:wrap;justify-content:center;}
}
@media (max-width:991px){
  /* Menú lateral de globalconnect.ai */
  html.nav-open{overflow:hidden;}
  .site-header{position:sticky;top:0;height:80px;}
  .bar{width:100%;max-width:none;padding:0 20px;}
  .nav-burger{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;margin-right:-12px;padding:0;border:0;background:none;cursor:pointer;}
  .burger-close{display:none;position:relative;width:24px;height:24px;}
  .burger-close::before,.burger-close::after{content:"";position:absolute;left:0;top:11px;width:24px;height:2px;border-radius:1px;background:var(--ink);transform:rotate(45deg);}
  .burger-close::after{transform:rotate(-45deg);}
  .nav-open .burger-open{display:none;}
  .nav-open .burger-close{display:block;}
  .nav-dim{display:block;position:fixed;inset:0;z-index:1;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s;}
  .nav-open .nav-dim{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s;}
  .nav-panel{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;z-index:2;width:280px;max-width:100%;padding:112px 19.6px 40px;background:#fff;overflow-y:auto;overscroll-behavior:contain;
    transform:translateX(100%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s;}
  .nav-open .nav-panel{transform:none;visibility:visible;transition:transform .3s ease,visibility 0s;}
  .nav{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding-bottom:20px;}
  .nav>a,.nav-toggle{width:100%;padding:16px 0;justify-content:space-between;white-space:normal;text-align:left;}
  .nav-dd{flex-direction:column;}
  .nav .chev{content:url(../icons/chevron-menu.svg);width:16px;height:16px;margin:0;}
  .nav-list{position:static;display:grid;grid-template-rows:0fr;min-width:0;margin:0;padding:0;border-radius:0;box-shadow:none;opacity:1;transform:none;visibility:hidden;transition:grid-template-rows .3s ease,visibility 0s .3s;}
  .nav-list::before{content:none;}
  .nav-list>div{min-height:0;overflow:hidden;}
  .nav-dd.is-open .nav-list{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .3s ease,visibility 0s;}
  .nav-dd:not(.is-open):focus-within .nav-list{visibility:hidden;}
  .nav-list a{padding:12px 0 12px 24px;font-size:14px;line-height:20px;font-weight:300;white-space:normal;}
  .bar-actions{flex-direction:column;align-items:stretch;gap:10px;}
  .lang{width:100%;height:58px;}
  .bar-actions .btn-sm{width:100%;height:64px;padding:22px 20px;font-size:16px;line-height:20px;}

  .hero-in{flex-direction:column;justify-content:center;gap:40px;min-height:0;padding:60px 0;}
  .hero-copy{flex:none;width:100%;align-items:center;text-align:center;}
  .hero-btns{justify-content:center;}
  .hero-mosaic{width:min(550px,100%);margin:0;align-self:center;}
  .svc-carousel{--per:2;}
}

/* ===== Móvil (Figma 400:1540, 375 px) ===== */
@media (max-width:767px){
  h2{font-size:26px;line-height:32px;}
  .site-header{height:61.8px;}
  .bar{padding:0 20px;}
  .site-header .gc-logo{width:67px;height:33.8px;}

  .hero-in{width:auto;max-width:none;margin:0;padding:50px 24px;gap:16px;}
  .hero-copy{display:contents;}
  .hero-logo{order:0;width:min(300px,80%);margin:0 auto;}
  .pill{display:block;order:1;padding:6px 14px;border-radius:100px;background:#f8f8f8;font-family:'DM Sans',sans-serif;font-weight:500;font-size:12px;line-height:normal;font-variation-settings:"opsz" 14;}
  .hero h1{order:2;font-size:32px;line-height:40px;text-align:center;}
  .hero-copy>p{order:3;width:100%;font-size:16px;line-height:24px;text-align:center;}
  .hero-mosaic{display:none;}
  .hero-stack{order:4;display:flex;flex-direction:column;gap:19px;width:100%;margin-top:8px;}
  .photo{position:relative;height:158px;border-radius:20px;overflow:hidden;box-shadow:0 8px 20px rgba(20,21,24,.15);}
  .photo img{position:absolute;left:0;width:100%;}
  .photo-1 img{top:-79.46%;height:206.96%;}
  .photo-2 img{top:0;height:100%;object-fit:cover;}
  .hero-btns{order:5;width:100%;flex-direction:column;gap:16px;margin-top:8px;}
  .hero-btns .btn{width:100%;height:54px;padding:18px 24px;border-radius:30px;font-size:14px;line-height:20px;}

  .reto{padding:56px 24px;}
  .reto-in{gap:16px;}
  .reto h2{font-size:28px;line-height:34px;}
  .reto p{font-size:16px;line-height:24px;}

  .section{padding:50px 24px;}
  .process{gap:32px;}
  .steps{width:100%;grid-template-columns:1fr;gap:16px;}

  .services{background:#f9f8ff;gap:20px;}
  .net{display:none;}
  .services-head{width:100%;align-items:stretch;gap:20px;text-align:left;}
  .services-title{display:flex;align-items:center;justify-content:space-between;height:32px;}
  .svc-counter{display:block;font-size:14px;line-height:normal;color:#5d5988;white-space:nowrap;}
  .services-head p{width:100%;font-size:15px;line-height:22px;}
  /* La fila del carrusel lleva 24 px de margen propio dentro del contenedor de 327 px, como en Figma. */
  .svc-carousel{gap:20px;}
  .svc-track{grid-auto-columns:260px;--gap:16px;padding-inline:24px;scroll-padding-inline:24px;}
  .svc-card{height:auto;}
  .svc-dots{display:none;}
  .svc-progress{display:block;position:relative;width:251px;height:6px;border-radius:20px;background:#d9d9d9;}
  .svc-progress span{position:absolute;left:0;top:0;width:26px;height:6px;border-radius:20px;background:var(--ink);transform:translateX(calc(var(--progress,0) * 225px));}

  .value{gap:24px;}
  .value h2{width:100%;}
  .value-cards{flex-direction:column;flex-wrap:nowrap;gap:16px;}
  .value-card{width:100%;}
  .orb{display:none;}

  .faq{gap:24px;align-items:stretch;text-align:left;}
  .faq-list{gap:8px;}
  .faq-q{font-size:16px;gap:14px;}

  .cta{gap:50px;padding:50px 24px;}
  .cta-photo{order:-1;width:300px;max-width:100%;height:216px;}
  .cta-copy{width:300px;max-width:100%;}
  .cta h2{font-size:28px;line-height:34px;}
  .cta-copy p{width:100%;}
  .cta .btn-arrow{height:54px;padding:18px 24px;border-radius:30px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:16px;line-height:18px;font-variation-settings:"opsz" 14;}

  .site-footer{padding:50px 37.5px 30px;gap:50px;}
  .footer-top{width:300px;max-width:100%;align-items:stretch;}
  .footer-brand{flex-direction:column;align-items:flex-start;gap:40px;}
  .footer-cols{flex-direction:column;gap:30px;}
  .footer-col h3{font-size:18px;line-height:20px;}
  .footer-col li{line-height:18px;}
  .footer-help{gap:20px;}
  .footer-claims img{width:160px;}
  .footer-bottom{width:300px;}
  .footer-legal{font-size:18px;line-height:normal;}
  .footer-legal>span:not(.sep),.footer-legal>a{display:block;}
  .footer-legal .sep{display:none;}
}
