/* AX Creative · Home v2 (maqueta) · manual de marca 2026: Inter, verde #234C48 dominante, naranja #E0521B solo acento */
:root{
  --verde:#234C48; --verde-2:#1a3936; --verde-claro:#eef3f2; --gris-claro:#f2f4f3;
  --negro:#1d1f1f; --gris:#5b6563; --naranja:#E0521B; --blanco:#fff;
  --pad:clamp(18px,3.4vw,56px); --r:clamp(16px,1.8vw,28px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--negro);background:#fff;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video,svg{display:block;max-width:100%}
video{object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p,figure,blockquote{margin:0}
.wrap{padding-inline:var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--verde);color:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--naranja);outline-offset:3px}
.dot{color:var(--naranja);font-style:normal}
.mask{display:block;overflow:hidden;padding-bottom:.2em;margin-bottom:-.2em}
.mask>span{display:block}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}

/* ---------- Intro ---------- */
.intro{position:fixed;inset:0;z-index:150;background:var(--verde);display:none;place-items:center}
.js .intro{display:grid}
.intro__mark{width:min(46vw,320px);overflow:visible}
.intro__mark path{fill:transparent;stroke:#fff;stroke-width:.35}
.intro__count{position:absolute;right:var(--pad);bottom:var(--pad);color:#fff;font-weight:900;font-size:clamp(48px,9vw,140px);letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}

/* ---------- Cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:140;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--naranja);pointer-events:none;display:none;place-items:center;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),background .3s}
.cursor span{color:#fff;font-size:13px;font-weight:700;opacity:0;transition:opacity .2s;white-space:nowrap}
.has-cursor .cursor{display:grid;opacity:0}
.has-cursor .cursor.is-on{opacity:1}
.cursor.is-big{width:104px;height:104px;margin:-52px 0 0 -52px}
.cursor.is-big span{opacity:1}

/* ---------- Nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px var(--pad);color:var(--negro);transition:color .35s,transform .5s var(--ease)}
.nav.on-dark{color:#fff}
.nav.is-hidden{transform:translateY(-110%)}
.nav__logo{justify-self:start}
.nav__logo svg{width:150px;height:auto;fill:currentColor}
.nav__links{display:flex;gap:clamp(28px,4vw,64px);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.nav__links a{position:relative;overflow:hidden;display:inline-block;line-height:1.3}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__cta{justify-self:end;display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.nav__cta i{width:10px;height:10px;border-radius:50%;background:var(--naranja);animation:pulso 1.8s ease-out infinite}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(224,82,27,.6)}100%{box-shadow:0 0 0 12px rgba(224,82,27,0)}}
.nav__burger{display:none;width:44px;height:44px;position:relative;justify-self:end}
.nav__burger span{position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:transform .4s var(--ease)}
.nav__burger span:nth-child(1){top:17px}.nav__burger span:nth-child(2){top:25px}
.nav__burger[aria-expanded=true] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.nav__burger[aria-expanded=true] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:90;background:var(--verde);color:#fff;padding:110px var(--pad) 40px;display:flex;flex-direction:column;justify-content:space-between}
.menu[hidden]{display:none}
.menu__links{display:flex;flex-direction:column;gap:4px}
.menu__links a{font-size:clamp(44px,12vw,72px);font-weight:900;letter-spacing:-.045em;line-height:1.05}
.menu__social{display:flex;gap:22px;font-weight:600}
.menu-open .nav{color:#fff}
@media (max-width:900px){
  .nav{grid-template-columns:1fr auto}
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:block}
  .nav__logo svg{width:128px}
}

/* ---------- 1. Hero ---------- */
.hero{position:relative;background:var(--verde);color:#fff}
.hero__stage{position:relative;height:100svh;min-height:560px;overflow:hidden}
.hero__media{position:absolute;inset:0;will-change:clip-path}
.hero__video{width:100%;height:100%}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,0) 28%,rgba(0,0,0,0) 42%,rgba(0,0,0,.55) 100%)}
.hero__title{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(110px,15vh,170px);font-weight:900;font-size:clamp(54px,10.6vw,190px);line-height:.86;letter-spacing:-.055em;pointer-events:none}
.hero__line{display:block;will-change:transform}
.hero__line[data-hero-line="2"]{padding-left:.9em}
.hero__foot{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(28px,4vh,44px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.hero__foot p{max-width:30ch;font-size:clamp(15px,1.25vw,19px);font-weight:500}
.hero__foot .hero__loc{max-width:none;display:flex;align-items:center;gap:14px;font-weight:800;font-size:clamp(17px,1.7vw,26px);letter-spacing:-.02em}
.hero__loc span+span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--naranja);margin-right:14px;vertical-align:.12em}
.hero__loc b{font-weight:500;font-size:.72em;opacity:.8;font-variant-numeric:tabular-nums;letter-spacing:0}
.hero__scroll{position:absolute;right:var(--pad);top:44%;writing-mode:vertical-rl;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.hero__scroll::after{content:"";display:block;width:1px;height:56px;background:currentColor;margin:12px auto 0;animation:drip 1.8s var(--ease) infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:700px){
  .hero__title{bottom:170px;font-size:clamp(40px,12.6vw,96px)}
  .hero__line[data-hero-line="2"]{padding-left:0}
  .hero__foot{flex-direction:column;align-items:flex-start;gap:16px}
  .hero__scroll{display:none}
}

/* ---------- 2. About ---------- */
.about{padding:clamp(100px,14vw,200px) 0 clamp(80px,10vw,150px)}
.about__t{font-weight:900;font-size:clamp(44px,9.4vw,170px);letter-spacing:-.06em;line-height:.9;color:var(--verde);margin-bottom:clamp(24px,3vw,44px)}
.about__text{font-weight:700;font-size:clamp(24px,3.2vw,54px);line-height:1.08;letter-spacing:-.035em;max-width:17em;margin-left:auto}
.js .about__text .w{color:#c9d3d1;transition:color .25s}
.about__text .w.on{color:var(--negro)}
.about__photo{margin:clamp(48px,6vw,96px) 0 0;height:min(92svh,62vw);min-height:420px;overflow:hidden;will-change:clip-path}
.about__photo img{width:100%;height:100%;object-fit:cover;will-change:transform}
.about__cap{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:clamp(20px,2.4vw,32px)}
.about__cap p{font-size:clamp(16px,1.3vw,20px);color:var(--gris)}
.about__cap strong{color:var(--negro);font-weight:800;margin-right:10px}
.about__cap .arrow-link{margin-top:0}
.arrow-link{display:inline-flex;align-items:center;gap:14px;margin-top:clamp(36px,4vw,56px);font-weight:700;font-size:18px;color:var(--verde)}
.arrow-link b{width:52px;height:52px;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;transition:transform .45s var(--ease),background .3s}
.arrow-link:hover b{transform:rotate(-45deg);background:var(--naranja)}
@media (max-width:700px){
  .about__text{margin-left:0}
  .about__photo{height:70svh}
  .about__cap{flex-direction:column;align-items:flex-start}
}

/* ---------- 3. Verbos (scroll horizontal) ---------- */
.verbos{position:relative;background:#fff;overflow:hidden}
.verbos__track{display:flex;gap:clamp(12px,1.6vw,24px);padding:clamp(70px,9vh,96px) var(--pad) clamp(46px,7vh,70px);height:100svh;width:max-content;will-change:transform}
.verbo{position:relative;flex:0 0 auto;width:min(78vw,1250px);height:100%;border-radius:var(--r);overflow:hidden;color:#fff;background:var(--verde-2)}
.verbo__video{position:absolute;top:0;left:-9%;width:118%;max-width:none;height:100%;will-change:transform}
.verbo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,0) 55%)}
.verbo__in{position:absolute;z-index:1;left:clamp(20px,3vw,48px);right:clamp(20px,3vw,48px);bottom:clamp(20px,3vw,44px)}
.verbo__brand{position:absolute;z-index:1;left:clamp(20px,3vw,48px);top:clamp(20px,3vw,40px);display:flex;align-items:center;gap:12px;font-weight:700;font-size:clamp(16px,1.5vw,22px);background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:9px 18px 9px 12px;border-radius:99px}
.verbo__brand span{font-size:.72em;font-weight:800;background:var(--naranja);border-radius:99px;padding:3px 9px}
.verbo--cta{width:min(46vw,520px);background:var(--gris-claro);display:grid;place-items:center}
.verbo--cta::after{display:none}
.verbo__t{font-weight:900;font-size:clamp(44px,7.6vw,138px);letter-spacing:-.06em;line-height:.85;will-change:transform}
.verbo__areas{margin-top:16px;font-weight:500;font-size:clamp(16px,1.5vw,23px);line-height:1.25;max-width:30em}
.verbos__bar{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(20px,3vh,32px);height:3px;background:#e6ebea;border-radius:3px;overflow:hidden}
.verbos__bar span{display:block;height:100%;background:var(--naranja);transform:scaleX(0);transform-origin:left}
@media (max-width:700px){
  .verbo{width:86vw}
  .verbo__t{font-size:clamp(34px,10.2vw,80px)}
}

/* ---------- Titular secundario: más pequeño y menos peso que los cuatro grandes ---------- */
.t2{font-weight:700;font-size:clamp(28px,3.5vw,58px);letter-spacing:-.035em;line-height:1.04;color:var(--negro);max-width:18em}

/* ---------- 1b. Marcas (pegadas al hero) ---------- */
.marcas{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(20px,3vw,48px);padding:clamp(26px,3vw,44px) 0 clamp(26px,3vw,44px) var(--pad);border-bottom:1px solid #e3e8e7;overflow:hidden}
.marcas__label{font-weight:600;font-size:15px;color:var(--gris);max-width:9em;line-height:1.25}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;align-items:center;gap:clamp(48px,6vw,100px);width:max-content;will-change:transform}
.marquee__track img{height:clamp(30px,3.2vw,50px);width:auto;filter:grayscale(1) contrast(1.1);opacity:.8}
.btn-round{width:clamp(150px,13vw,190px);aspect-ratio:1;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;text-align:center;font-weight:700;font-size:17px;line-height:1.2;padding:20px;transition:background .3s,color .3s}
.btn-round:hover{background:var(--naranja)}
.btn-round span{display:block;pointer-events:none}
.btn-round--xl{width:clamp(170px,16vw,240px);background:var(--naranja);font-size:clamp(17px,1.4vw,21px)}
.btn-round--xl:hover{background:#fff;color:var(--verde)}
@media (max-width:700px){.marcas{grid-template-columns:1fr;padding-left:0;gap:16px}.marcas__label{padding-left:var(--pad);max-width:none}}

/* ---------- 4. Áreas (a todo el ancho) ---------- */
.areas{position:relative;background:var(--gris-claro);padding:clamp(90px,11vw,160px) 0}
.areas__t{margin-bottom:clamp(36px,4.4vw,70px)}
.areas__list{list-style:none;margin:0;padding:0;border-bottom:1px solid #cfd7d5}
.area{border-top:1px solid #cfd7d5}
.area__row{width:100%;display:grid;grid-template-columns:clamp(40px,5vw,84px) 1fr 32px;align-items:baseline;gap:12px;padding:clamp(18px,2vw,30px) 0;text-align:left}
.area__n{font-weight:600;font-size:15px;color:var(--naranja);font-variant-numeric:tabular-nums}
.area__t{font-weight:600;font-size:clamp(26px,4.4vw,76px);letter-spacing:-.04em;line-height:1.02;color:#98a3a1;transition:color .35s,transform .6s var(--ease)}
.area.is-open .area__t{color:var(--negro);transform:translateX(clamp(6px,1vw,16px))}
.area__plus{align-self:center;width:32px;height:32px;position:relative}
.area__plus::before,.area__plus::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;margin:-1px 0 0 -8px;background:var(--negro)}
.area__plus::after{transform:rotate(90deg);transition:transform .5s var(--ease)}
.area.is-open .area__plus::after{transform:rotate(0)}
.area.is-open .area__plus::before,.area.is-open .area__plus::after{background:var(--naranja)}
.area__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.area.is-open .area__body{grid-template-rows:1fr}
.area__body>div{overflow:hidden}
.area__body p{max-width:42ch;font-size:clamp(17px,1.5vw,23px);color:var(--gris);padding:0 0 clamp(22px,2.4vw,36px);margin-left:calc(clamp(40px,5vw,84px) + 12px + clamp(6px,1vw,16px))}
.area__body video{display:none}
.areas__float{position:fixed;left:0;top:0;z-index:30;width:clamp(260px,25vw,400px);aspect-ratio:4/3;border-radius:16px;overflow:hidden;pointer-events:none;opacity:0;display:none}
.areas__float video{width:100%;height:100%}
.has-cursor .areas__float{display:block}
@media (max-width:900px){
  .area__body p{margin-left:0}
  .area__body video{display:block;width:100%;aspect-ratio:16/10;border-radius:14px;margin:0 0 24px}
}

/* ---------- 5. AX Media (naranja) ---------- */
.media{background:var(--naranja);color:#fff;padding:clamp(90px,11vw,160px) 0 clamp(70px,8vw,120px);overflow:hidden}
.media__head{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.media__t{font-weight:900;font-size:clamp(56px,11vw,200px);letter-spacing:-.06em;line-height:.85}
.dot--b{color:var(--negro)}
.media__copy p{font-size:clamp(18px,1.6vw,25px);font-weight:500;line-height:1.3;max-width:30em}
.media__list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0}
.media__list li{border:1.5px solid rgba(255,255,255,.75);border-radius:99px;padding:7px 16px;font-weight:600;font-size:15px}
.media__video{margin-inline:var(--pad);height:min(86svh,56vw);min-height:360px;border-radius:var(--r);overflow:hidden;will-change:transform}
.media__video video{width:100%;height:100%}
.media__strip{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px);margin-top:clamp(10px,1.4vw,20px)}
.media__strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--r)*.6)}
@media (max-width:900px){.media__head{grid-template-columns:1fr}.media__strip{grid-template-columns:1fr 1fr}.media__video{height:62svh}}

/* ---------- 6. Equipo + cifras ---------- */
.equipo{padding:clamp(100px,12vw,180px) 0;overflow:hidden}
.equipo__t{max-width:20em}
.equipo__fotos{display:grid;grid-template-columns:1fr 1.25fr 1fr 1.1fr;gap:clamp(10px,1.6vw,24px);padding:clamp(60px,8vw,120px) var(--pad);align-items:center}
.equipo__fotos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r);will-change:transform}
.equipo__fotos img:nth-child(2){aspect-ratio:4/5}.equipo__fotos img:nth-child(3){aspect-ratio:1}
.cifras{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,6vw,110px);align-items:end}
.cifra__n{font-weight:900;letter-spacing:-.06em;line-height:.82;color:var(--verde);font-variant-numeric:tabular-nums}
.cifra--xl .cifra__n{font-size:clamp(120px,24vw,440px)}
.cifra--xl .cifra__p{font-size:clamp(19px,1.9vw,30px);font-weight:600;letter-spacing:-.02em;line-height:1.2;max-width:22em;margin-top:clamp(14px,1.6vw,24px)}
.cifras__side{display:grid}
.cifras__side .cifra{display:grid;grid-template-columns:clamp(96px,10vw,170px) 1fr;align-items:baseline;gap:18px;padding:clamp(16px,1.8vw,26px) 0;border-top:1px solid #d5dcdb}
.cifras__side .cifra:last-child{border-bottom:1px solid #d5dcdb}
.cifras__side .cifra__n{font-size:clamp(46px,5.4vw,92px);color:var(--negro)}
.cifras__side .cifra__p{font-size:clamp(16px,1.3vw,20px);color:var(--gris)}
@media (max-width:900px){
  .equipo__fotos{grid-template-columns:1fr 1fr}
  .cifras{grid-template-columns:1fr}
}

/* ---------- 7. Reseñas (tres a la vista) ---------- */
.resenas{background:var(--gris-claro);padding:clamp(90px,11vw,160px) 0}
.resenas__head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:clamp(36px,4.4vw,64px)}
.resenas__nav{display:flex;gap:10px;flex-shrink:0}
.round{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--negro);color:var(--negro);font-size:20px;transition:background .3s,color .3s,transform .4s var(--ease)}
.round:hover{background:var(--negro);color:#fff;transform:scale(1.08)}
.resenas__track{display:flex;gap:clamp(12px,1.6vw,24px);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px var(--pad);scroll-padding-inline:var(--pad);scrollbar-width:none;cursor:grab}
.resenas__track::-webkit-scrollbar{display:none}
.resenas__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.resena{flex:0 0 calc((100% - 2*clamp(12px,1.6vw,24px))/3);scroll-snap-align:start;background:#fff;border-radius:var(--r);padding:clamp(22px,2.4vw,36px);display:flex;flex-direction:column;gap:18px;min-height:clamp(320px,30vw,430px);transition:transform .5s var(--ease)}
.resena:hover{transform:translateY(-6px)}
.resena__av{width:64px;height:64px;border-radius:50%;background:var(--verde-claro);display:grid;place-items:center;overflow:hidden;flex-shrink:0}
.resena__av img{width:74%;height:74%;object-fit:contain;filter:grayscale(1)}
.resena__av b{font-weight:800;font-size:24px;color:var(--verde)}
.resena__hi{font-weight:800;font-size:clamp(24px,2.5vw,40px);letter-spacing:-.035em;line-height:1.05;color:var(--verde)}
.resena blockquote{font-size:clamp(15px,1.15vw,18px);color:var(--gris);line-height:1.45}
.resena figcaption{margin-top:auto;padding-top:14px;border-top:1px solid #e3e8e7;font-size:15px;color:var(--gris)}
.resena figcaption strong{display:block;color:var(--negro)}
@media (max-width:900px){.resena{flex-basis:82%}}

/* ---------- 8. Barcelona y Madrid ---------- */
.bases{position:relative;isolation:isolate;overflow:hidden;background:#fff}
.bases__video{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.bases__knock{position:relative;z-index:1;background:#fff;color:#000;mix-blend-mode:screen;padding:clamp(70px,9vw,140px) 0 clamp(30px,4vw,60px)}
.bases__line{font-weight:900;font-size:clamp(70px,21vw,400px);letter-spacing:-.07em;line-height:.8;white-space:nowrap;will-change:transform;padding-left:var(--pad)}
.bases__line[data-bases-line="2"]{text-align:right;padding:0 var(--pad) 0 0}
.bases__info{position:relative;z-index:2;background:#fff;padding:clamp(20px,3vw,40px) var(--pad) clamp(80px,10vw,150px);display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap}
.bases__sub{font-weight:800;font-size:clamp(22px,2.6vw,42px);letter-spacing:-.035em;line-height:1.1;max-width:16em;color:var(--verde)}
.bases address{font-style:normal;display:grid;gap:8px;color:var(--gris);font-size:clamp(15px,1.2vw,18px)}
.bases address b{color:var(--negro);margin-right:10px}

/* ---------- 9. Cómo empezamos ---------- */
.pasos{padding:clamp(40px,6vw,90px) 0 clamp(100px,12vw,180px)}
.pasos__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(40px,5vw,72px)}
.pasos__head .arrow-link{margin-top:0}
.pasos__line{height:2px;background:#dfe5e4;position:relative;margin-bottom:-7px}
.pasos__line span{position:absolute;inset:0;background:var(--naranja);transform:scaleX(0);transform-origin:left}
.pasos__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,56px)}
.paso__dot{display:block;width:12px;height:12px;border-radius:50%;background:var(--naranja);margin-bottom:clamp(22px,2.6vw,38px);position:relative}
.paso__k{font-weight:600;font-size:15px;color:var(--naranja);font-variant-numeric:tabular-nums}
.paso h3{font-weight:700;font-size:clamp(26px,3vw,50px);letter-spacing:-.04em;line-height:1.02;color:var(--verde);margin:10px 0 clamp(14px,1.6vw,22px);max-width:9em}
.paso p:last-child{color:var(--gris);max-width:32ch;font-size:clamp(16px,1.25vw,19px)}
@media (max-width:900px){
  .pasos__head{flex-direction:column;align-items:flex-start}
  .pasos__line{display:none}
  .pasos__grid{grid-template-columns:1fr;gap:44px}
  .paso__dot{margin-bottom:16px}
}

/* ---------- 10. Blog ---------- */
.blog{padding:0 0 clamp(100px,12vw,180px)}
.blog .t2{max-width:10em}
.blog__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(40px,5vw,72px)}
.blog__head .arrow-link{margin-top:0}
.blog__t{font-weight:900;font-size:clamp(38px,5.4vw,92px);letter-spacing:-.05em;line-height:.95;color:var(--verde);max-width:9em}
.blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,32px)}
.post__img{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;margin-bottom:18px}
.post__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.post:hover .post__img img{transform:scale(1.08)}
.post__tag{display:inline-block;font-size:13px;font-weight:700;padding:5px 12px;border-radius:99px;background:var(--verde-claro);color:var(--verde);margin-bottom:12px}
.post__t{font-weight:800;font-size:clamp(19px,1.6vw,25px);letter-spacing:-.025em;line-height:1.2}
.post:nth-child(2){margin-top:clamp(0px,6vw,100px)}
@media (max-width:900px){
  .blog__head{flex-direction:column;align-items:flex-start}
  .blog__grid{grid-template-columns:1fr;gap:44px}
  .post:nth-child(2){margin-top:0}
  .post__img{aspect-ratio:4/3}
}

/* ---------- 11. Cierre ---------- */
.cierre{position:relative;min-height:100svh;background:var(--verde);color:#fff;overflow:hidden;display:grid;align-items:center}
.cierre__video{position:absolute;inset:0;width:100%;height:100%;opacity:.3;mix-blend-mode:luminosity}
.cierre__in{position:relative;padding:clamp(110px,12vw,160px) var(--pad);display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px}
.cierre__t{font-weight:900;font-size:clamp(56px,12.5vw,230px);letter-spacing:-.06em;line-height:.84;grid-column:1/-1}
.cierre__t .mask:nth-child(2){padding-left:1em}
.cierre__in .btn-round{grid-column:2;grid-row:2}
.cierre__direct{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;gap:12px 28px;font-weight:600;font-size:clamp(16px,1.4vw,21px)}
.cierre__direct a{border-bottom:1.5px solid rgba(255,255,255,.4);padding-bottom:3px;transition:border-color .3s}
.cierre__direct a:hover{border-color:var(--naranja)}
@media (max-width:700px){
  .cierre__in{grid-template-columns:1fr}
  .cierre__t .mask:nth-child(2){padding-left:0}
  .cierre__in .btn-round{grid-column:1;grid-row:2}
  .cierre__direct{grid-row:3;flex-direction:column;align-items:flex-start}
}

/* ---------- Footer ---------- */
.foot{padding:var(--pad);background:#fff;overflow:hidden}
.foot__card{background:var(--gris-claro);border-radius:var(--r);padding:clamp(28px,4vw,64px) clamp(22px,3.4vw,56px) clamp(22px,2.6vw,36px)}
.foot__base{display:flex;justify-content:space-between;align-items:end;gap:28px;flex-wrap:wrap;padding-bottom:clamp(28px,3.6vw,56px);margin-bottom:clamp(28px,3.6vw,56px);border-bottom:1px solid #d5dcdb}
.foot__base-t{font-weight:800;font-size:clamp(26px,3.6vw,60px);letter-spacing:-.045em;line-height:1;color:var(--verde);max-width:12em}
.foot__clock{text-align:right}
.foot__clock b{display:block;font-weight:800;font-size:clamp(34px,4.4vw,72px);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;color:var(--negro)}
.foot__clock span{font-size:14px;color:var(--gris)}
@media (max-width:700px){.foot__clock{text-align:left}}
.foot__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px}
.foot__t{font-weight:900;font-size:clamp(28px,2.6vw,42px);letter-spacing:-.04em;color:var(--verde);margin-bottom:10px}
.foot__news p{color:var(--gris);max-width:34ch}
.news{display:flex;margin-top:18px;max-width:380px;border-bottom:2px solid var(--verde)}
.news input{flex:1;border:0;background:transparent;font:inherit;padding:12px 0;outline:none}
.news button{font-size:22px;color:var(--verde);padding:0 6px;transition:transform .3s var(--ease)}
.news button:hover{transform:translateX(4px)}
.news__msg{font-size:14px;margin-top:8px;color:var(--verde)}
.foot__col{display:flex;flex-direction:column;gap:8px;font-style:normal;font-weight:500}
.foot__col span{color:var(--gris)}
.foot__col a:hover{color:var(--naranja)}
.foot__logo{width:100%;height:auto;fill:var(--verde);margin:clamp(48px,7vw,110px) 0 clamp(18px,2vw,28px)}
.foot__legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--gris)}
.foot__legal a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.foot__top{grid-template-columns:1fr 1fr}.foot__news{grid-column:1/-1}}

/* =====================================================================
   PÁGINA NOSOTROS
   ===================================================================== */
/* 1. Titular con collage */
.nhero{position:relative;background:#fff}
.nhero__stage{position:relative;height:100svh;min-height:600px;overflow:hidden;display:grid;place-items:center}
.nhero__collage{position:absolute;inset:0}
.nc{position:absolute;margin:0;overflow:hidden;border-radius:calc(var(--r)*.8);will-change:transform}
.nc img,.nc video{width:100%;height:100%;object-fit:cover}
.nc--1{left:5%;top:15%;width:15vw;aspect-ratio:3/4}
.nc--2{left:23%;top:6%;width:12vw;aspect-ratio:4/3}
.nc--3{right:6%;top:12%;width:13vw;aspect-ratio:4/5}
.nc--4{right:20%;bottom:9%;width:16vw;aspect-ratio:16/10}
.nc--5{left:9%;bottom:8%;width:12vw;aspect-ratio:1}
.nc--6{right:31%;top:4%;width:9vw;aspect-ratio:3/4}
.nhero__center{position:absolute;left:50%;top:80%;width:15vw;aspect-ratio:16/10;transform:translate(-50%,-50%);border-radius:var(--r);overflow:hidden;will-change:width,height,border-radius;z-index:0}
.nhero__center video{width:100%;height:100%;object-fit:cover}
.nhero__t{position:relative;z-index:2;text-align:center;color:var(--negro);pointer-events:none;mix-blend-mode:normal}
.nhero__l1{display:block;font-weight:700;font-size:clamp(18px,2vw,32px);letter-spacing:-.025em;color:var(--verde);margin-bottom:clamp(10px,1.4vw,20px)}
.nhero__l2{display:block;font-weight:900;font-size:clamp(50px,9.6vw,184px);letter-spacing:-.065em;line-height:.86}
.nhero__l2 .mask:first-child>span{transform-origin:left}
.nhero.is-over .nhero__t{color:#fff}
.nhero.is-over .nhero__l1{color:#fff}
.nhero__t{transition:color .4s}
.nhero__l1{transition:color .4s}
@media (max-width:800px){
  .nc--1{width:30vw;left:-4%;top:12%}.nc--2{width:26vw;left:30%;top:7%}.nc--3{width:28vw;right:-6%;top:16%}
  .nc--4{width:38vw;right:4%;bottom:10%}.nc--5{width:26vw;left:4%;bottom:14%}.nc--6{display:none}
  .nhero__center{width:34vw;top:76%}
}

/* 2. Quiénes somos, editorial */
.pill{display:inline-block;width:2.1em;height:.86em;border-radius:99px;overflow:hidden;vertical-align:-.06em;margin:0 .06em}
.pill img,.pill video{width:100%;height:100%;object-fit:cover}
.edit{padding:clamp(110px,13vw,200px) 0 clamp(90px,11vw,170px)}
.edit__lead{font-weight:700;font-size:clamp(30px,4.6vw,80px);line-height:1.04;letter-spacing:-.045em;max-width:15.5em}
.js .edit__lead .w{color:#c9d3d1;transition:color .25s}
.edit__lead .w.on{color:var(--negro)}
.edit__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,120px);margin-top:clamp(70px,9vw,150px);align-items:start}
.edit__photo{margin:0;position:sticky;top:110px}
.edit__photo-frame{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden}
.edit__photo-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);will-change:transform}
.edit__photo figcaption{position:relative;z-index:1;background:#fff;padding-top:2px;margin-top:14px;font-size:14px;color:var(--gris);padding-left:14px;border-left:2px solid var(--naranja)}
.edit__cols{columns:2;column-gap:clamp(24px,3vw,48px);font-size:clamp(17px,1.3vw,20px);line-height:1.6;color:#3b4442}
.edit__cols p{margin:0 0 1.1em;break-inside:avoid-column}
.edit__drop::first-letter{float:left;font-weight:900;font-size:4.6em;line-height:.8;margin:.06em .1em 0 0;color:var(--verde);letter-spacing:-.05em}
.edit__pull{column-span:all;margin:clamp(26px,3vw,48px) 0 0;padding-top:clamp(20px,2.4vw,34px);border-top:2px solid var(--negro);font-weight:800;font-size:clamp(28px,3.6vw,60px);letter-spacing:-.045em;line-height:1.02;color:var(--negro)}
.edit__pull::after{content:".";color:var(--naranja)}
@media (max-width:900px){
  .edit__grid{grid-template-columns:1fr}
  .edit__photo{position:static}
  .edit__cols{columns:1}
}

/* 4. Equipo */
.team{padding:clamp(100px,12vw,180px) 0}
.team__head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(44px,5vw,80px)}
.team__t{font-weight:900;font-size:clamp(52px,9vw,170px);letter-spacing:-.06em;line-height:.88;color:var(--verde)}
.team__lead{font-size:clamp(17px,1.35vw,21px);color:var(--gris);max-width:36ch}
.team__lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,24px);margin-bottom:clamp(12px,1.6vw,24px)}
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,24px)}
.persona{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--verde-2);color:#fff}
.persona__img{aspect-ratio:3/4;overflow:hidden}
.persona--xl .persona__img{aspect-ratio:4/3}
.persona__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transform:scale(1.04);transition:filter .6s var(--ease),transform 1.1s var(--ease)}
.persona:hover .persona__img img{filter:none;transform:scale(1.1)}
.persona::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,0) 45%);pointer-events:none}
.persona__info{position:absolute;z-index:1;left:clamp(16px,1.6vw,24px);right:clamp(16px,1.6vw,24px);bottom:clamp(16px,1.6vw,24px);transition:transform .6s var(--ease)}
.persona:hover .persona__info{transform:translateY(-6px)}
.persona__info h3{font-weight:800;font-size:clamp(19px,1.6vw,26px);letter-spacing:-.025em;line-height:1.1}
.persona--xl .persona__info h3{font-size:clamp(28px,3vw,50px);letter-spacing:-.04em}
.persona__info p{font-size:15px;color:rgba(255,255,255,.82);margin-top:4px}
.persona__info p::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--naranja);margin-right:8px;vertical-align:.1em}
.persona__links{position:absolute;z-index:1;top:clamp(14px,1.4vw,20px);right:clamp(14px,1.4vw,20px);display:flex;gap:6px}
.persona__links a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;font-weight:700;font-size:13px;transition:background .3s}
.persona__links a:hover{background:var(--naranja)}
.persona--join{background:var(--naranja);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,2vw,28px);aspect-ratio:3/4}
.persona--join::after{display:none}
.persona--join__t{font-weight:900;font-size:clamp(28px,3vw,52px);letter-spacing:-.05em;line-height:.95}
.persona--join__b{align-self:flex-end;width:56px;height:56px;border-radius:50%;background:#fff;color:var(--naranja);display:grid;place-items:center;font-size:22px;transition:transform .5s var(--ease)}
.persona--join:hover .persona--join__b{transform:rotate(-45deg) scale(1.1)}
@media (max-width:900px){
  .team__head{grid-template-columns:1fr}
  .team__lead-grid{grid-template-columns:1fr}
  .team__grid{grid-template-columns:1fr 1fr}
}

/* 5. Cómo trabajamos */
.metodo{background:var(--gris-claro);padding:clamp(100px,12vw,180px) 0}
.metodo__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,6vw,110px);align-items:start}
.metodo__side{position:sticky;top:120px}
.metodo__t{font-weight:900;font-size:clamp(40px,5.4vw,96px);letter-spacing:-.055em;line-height:.92;color:var(--verde)}
.metodo__lead{margin-top:clamp(20px,2.4vw,34px);font-size:clamp(17px,1.35vw,21px);color:var(--gris);max-width:32ch}
.metodo__list{list-style:none;margin:0;padding:0}
.compromiso{padding:clamp(30px,4vw,64px) 0;border-top:1px solid #cfd7d5;opacity:.25;transition:opacity .6s var(--ease)}
.compromiso:last-child{border-bottom:1px solid #cfd7d5}
.compromiso.is-on{opacity:1}
.compromiso__n{display:block;font-weight:900;font-size:clamp(64px,8vw,140px);letter-spacing:-.06em;line-height:.85;color:var(--naranja)}
.compromiso h3{font-weight:800;font-size:clamp(26px,3vw,50px);letter-spacing:-.04em;line-height:1.04;margin:clamp(14px,1.6vw,24px) 0 10px}
.compromiso p{font-size:clamp(17px,1.35vw,21px);color:var(--gris);max-width:38ch}
@media (max-width:900px){.metodo__grid{grid-template-columns:1fr}.metodo__side{position:static}.compromiso{opacity:1}}

/* =====================================================================
   PÁGINA CONTACTO
   ===================================================================== */
/* 1. Titular y accesos rápidos */
.chero{padding:clamp(140px,16vw,220px) 0 clamp(60px,7vw,110px)}
.chero__top{display:grid;grid-template-columns:auto minmax(300px,1fr);gap:clamp(24px,5vw,90px);align-items:end}
.chero__t{font-weight:900;font-size:clamp(70px,13vw,260px);letter-spacing:-.07em;line-height:.8;color:var(--verde)}
.chero__side{padding-bottom:.6em}
.chero__sub{font-weight:600;font-size:clamp(20px,2vw,32px);letter-spacing:-.025em;line-height:1.2;max-width:18em}
.chero__live{margin-top:14px;font-size:15px;color:var(--gris);white-space:nowrap;display:flex;align-items:center;gap:10px}
.chero__live i{width:9px;height:9px;border-radius:50%;background:#2fbf71;animation:pulsoV 1.8s ease-out infinite}
@keyframes pulsoV{0%{box-shadow:0 0 0 0 rgba(47,191,113,.55)}100%{box-shadow:0 0 0 11px rgba(47,191,113,0)}}
.chero__live b{color:var(--negro);font-variant-numeric:tabular-nums}
.rapidos{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px);margin-top:clamp(56px,7vw,110px)}
.rapido{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:12px;min-height:clamp(200px,18vw,280px);padding:clamp(20px,2vw,30px);border-radius:var(--r);background:var(--gris-claro);transition:color .45s var(--ease)}
.rapido::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--verde);transform:translateY(101%);transition:transform .6s var(--ease)}
.rapido:hover{color:#fff}
.rapido:hover::before{transform:translateY(0)}
.rapido__k{font-weight:800;font-size:clamp(24px,2.4vw,40px);letter-spacing:-.04em}
.rapido__t{font-size:clamp(15px,1.1vw,17px);opacity:.75;max-width:20ch}
.rapido__b{margin-top:auto;align-self:flex-end;width:48px;height:48px;border-radius:50%;background:var(--naranja);color:#fff;display:grid;place-items:center;font-size:20px;transition:transform .5s var(--ease)}
.rapido:hover .rapido__b{transform:rotate(-45deg) scale(1.1)}
@media (max-width:900px){
  .chero__top{grid-template-columns:1fr}
  .rapidos{grid-template-columns:1fr 1fr}
  .rapido{min-height:170px}
}

/* 2. Cinta de compromisos */
.promesas{border-block:1px solid #dfe5e4;padding:clamp(18px,2vw,28px) 0;overflow:hidden}
.promesas__track{display:flex;width:max-content;will-change:transform}
.promesas__track span{font-weight:700;font-size:clamp(20px,2.2vw,36px);letter-spacing:-.03em;white-space:nowrap;padding-right:clamp(28px,3vw,56px)}
.promesas__track span::after{content:"";display:inline-block;width:.36em;height:.36em;border-radius:50%;background:var(--naranja);margin-left:clamp(28px,3vw,56px);vertical-align:.12em}

/* 3. Formulario en forma de frase */
.cform{padding:clamp(100px,12vw,180px) 0}
.cform__lead{margin-top:16px;font-size:clamp(17px,1.35vw,21px);color:var(--gris);max-width:40ch}
.frase-form{margin-top:clamp(44px,5vw,80px)}
.ff{font-weight:700;font-size:clamp(26px,3.6vw,60px);letter-spacing:-.04em;line-height:1.35;color:var(--negro)}
.ff__in input{font:inherit;letter-spacing:inherit;color:var(--verde);background:transparent;border:0;border-bottom:3px solid #cfd7d5;padding:0 .1em;width:auto;max-width:100%;outline:none;transition:border-color .3s}
.ff__in input::placeholder{color:#b5c0be}
.ff__in input:focus{border-color:var(--naranja)}
.ff__in input:user-invalid{border-color:#d33}
.chips{border:0;margin:.4em 0 .5em;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:99px;border:1.5px solid #cfd7d5;font-weight:600;font-size:clamp(15px,1.2vw,18px);transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease)}
.chips span:hover{border-color:var(--verde);transform:translateY(-2px)}
.chips input:checked+span{background:var(--verde);border-color:var(--verde);color:#fff}
.chips input:checked+span::before{content:"✓";color:var(--naranja);font-weight:800}
.chips input:focus-visible+span{outline:2px solid var(--naranja);outline-offset:3px}
.ff__msg textarea{display:block;width:100%;max-width:900px;margin-top:clamp(24px,3vw,44px);font:inherit;font-size:clamp(17px,1.4vw,22px);border:0;border-bottom:2px solid #cfd7d5;background:transparent;padding:10px 0;resize:vertical;outline:none}
.ff__msg textarea:focus{border-color:var(--naranja)}
.cform__foot{display:flex;align-items:center;gap:28px;margin-top:clamp(36px,4vw,64px);flex-wrap:wrap}
.cform__foot .btn-round{border:0;cursor:pointer;font:inherit;font-weight:700}
.cform__msg{font-weight:600;color:var(--verde);max-width:34ch}

/* 4. Preguntas */
.cfaq{background:var(--gris-claro);padding:clamp(100px,12vw,180px) 0}
.cfaq__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,110px);margin-top:clamp(36px,4vw,64px);align-items:start}
.cfaq__list{list-style:none;margin:0;padding:0;counter-reset:q}
.cfaq__list li{counter-increment:q;border-top:1px solid #cfd7d5}
.cfaq__list li:last-child{border-bottom:1px solid #cfd7d5}
.cfaq__list button{width:100%;display:flex;align-items:baseline;gap:18px;padding:clamp(16px,1.8vw,26px) 0;text-align:left;font-weight:700;font-size:clamp(20px,2.2vw,36px);letter-spacing:-.035em;line-height:1.1;color:#98a3a1;transition:color .35s,transform .6s var(--ease)}
.cfaq__list button::before{content:counter(q,decimal-leading-zero);font-size:14px;font-weight:600;color:var(--naranja);letter-spacing:0;min-width:24px}
.cfaq__list li.is-on button{color:var(--negro);transform:translateX(10px)}
.cfaq__a{display:none}
.cfaq__panel{position:sticky;top:120px;background:#fff;color:var(--negro);border-radius:var(--r);padding:clamp(28px,3vw,48px);min-height:clamp(260px,24vw,360px);display:flex;flex-direction:column;justify-content:space-between}
.cfaq__n{font-weight:900;font-size:clamp(60px,7vw,120px);letter-spacing:-.06em;line-height:.85;color:var(--verde)}
.cfaq__p{font-size:clamp(18px,1.6vw,25px);font-weight:500;line-height:1.35}
@media (max-width:900px){
  .cfaq__grid{grid-template-columns:1fr}
  .cfaq__panel{display:none}
  .cfaq__list li.is-on .cfaq__a{display:block}
  .cfaq__a p{padding:0 0 22px 42px;color:var(--gris)}
}
.bases address a{color:var(--negro)}

/* ---------- Reveals ---------- */
.js [data-reveal]{opacity:0;transform:translateY(30px)}
.wd{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em .09em .1em;margin:-.06em -.09em -.1em}
.char{display:inline-block;will-change:transform}

@media (prefers-reduced-motion:reduce){
  .js .intro{display:none}
  .js [data-reveal]{opacity:1;transform:none}
  .js .about__text .w{color:var(--negro)}
  .verbos__track{width:auto;flex-direction:column;height:auto}
  .verbo{width:100%;height:80vh}
  .verbos__bar,.hero__scroll::after{display:none}
  *{transition:none!important;animation:none!important}
}
