*{box-sizing:border-box;margin:0;padding:0}
:root{--g:#00873a;--gd:#006b2e;--ink:#14150f;--mut:#76766f;--line:#e7e6e0}
body{font-family:'Manrope',sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
.display{font-family:'Manrope',sans-serif;font-weight:300;letter-spacing:-.025em;line-height:0.8}
.display em{font-style:normal;color:var(--g);font-weight:600}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.hl{color:var(--g)}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--mut)}
.eyebrow--g{color:var(--g)}
.sec-t{font-size:clamp(34px,4.6vw,60px)}.sec-s{color:var(--mut);font-size:16px;margin-top:10px}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:13px 24px;border-radius:999px;transition:.18s}
.btn.big{font-size:15px;padding:16px 30px}
.b-green{background:var(--g);color:#fff}.b-green:hover{background:var(--gd)}
.b-out{background:transparent;color:var(--ink);border:1px solid #d2d2cb}.b-out:hover{border-color:var(--ink)}
.b-dark{background:var(--ink);color:#fff}.b-dark:hover{background:#33342c}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.hdr__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1400px;margin:0 auto;padding:16px 28px}
.nav{display:flex;gap:26px}.nav a{font-weight:500;font-size:14px}.nav a:hover{color:var(--g)}
.hdr__c{justify-self:center}.hdr__c img{max-height:44px}
.hdr__r{justify-self:end;display:flex;align-items:center;gap:8px}
.ic{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);position:relative}.ic svg{width:21px;height:21px}
.badge{position:absolute;top:2px;right:0;background:var(--g);color:#fff;font-size:11px;font-weight:700;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center}
.pills{border-top:1px solid var(--line)}.pills__t{display:flex;gap:8px;justify-content:center;max-width:1400px;margin:0 auto;padding:8px 28px;overflow-x:auto}
.pill{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}
.pill__ic{width:30px;height:30px}.pill__ic img{width:30px;height:30px;object-fit:contain}
/* Header compacto al hacer scroll (escritorio): logo izq · categorías centro ·
   iconos der. Se ocultan "Nosotros/Proyectos" (.nav) y la barra pasa a 1 fila. */
@media(min-width:901px){
	.hdr__bar,.hdr__c img{transition:padding .25s ease,max-height .25s ease}
	.hdr.is-scrolled .hdr__bar{display:flex;align-items:center;justify-content:space-between;position:relative;padding-top:9px;padding-bottom:9px}
	.hdr.is-scrolled .hdr__l{display:none}
	.hdr.is-scrolled .hdr__c img{max-height:34px}
	.hdr.is-scrolled .pills{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);border-top:0;z-index:1;pointer-events:none}
	.hdr.is-scrolled .pills__t{padding-top:0;padding-bottom:0;overflow:visible;pointer-events:auto}
}
/* marquee subtil */
.marq{background:#fff;border-bottom:1px solid var(--line);overflow:hidden}
.marq__t{display:flex;width:max-content;animation:scroll 40s linear infinite;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--mut);padding:12px 0}
.marq__t span{padding:0 6px;white-space:nowrap}
@keyframes scroll{to{transform:translateX(-50%)}}
/* HERO premium, blanco */
.hero{position:relative;background:#fff;border-bottom:1px solid var(--line);overflow:hidden;min-height:680px}
.hero__deco{position:absolute;inset:0;max-width:1400px;margin:0 auto;pointer-events:none;z-index:1}
.hero .cut{position:absolute;height:auto;filter:drop-shadow(0 26px 36px rgba(0,0,0,.14))}
.hero .circ{position:absolute;height:auto;filter:drop-shadow(0 14px 22px rgba(0,0,0,.18))}
.hero__top{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:78px 28px 90px}
.hero__h1{font-size:16px;font-weight:700;color:var(--g);max-width:420px;line-height:1.5;letter-spacing:.01em}
.hero__big{font-size:clamp(52px,8vw,112px);margin:18px 0 18px}
.hero__sub{font-size:24px;color:var(--mut);max-width:550px;line-height:1.55;margin:50px 0 30px;font-weight:500}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}
/* CTA creativo: pill de texto + círculo separado con flecha ↗ */
.cta2{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.cta2__t{font-weight:600;font-size:16px;padding:17px 30px;border-radius:999px;transition:background .18s,border-color .18s}
.cta2__ic{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .18s,border-color .18s}
.cta2__ic svg{width:21px;height:21px;transition:transform .2s}
.cta2:hover .cta2__ic svg{transform:translate(2px,-2px)}
.cta2 .cta2__t,.cta2 .cta2__ic{background:var(--g);color:#fff}
.cta2:hover .cta2__t,.cta2:hover .cta2__ic{background:var(--gd)}
.cta2--dark .cta2__t,.cta2--dark .cta2__ic{background:var(--ink);color:#fff}
.cta2--dark:hover .cta2__t,.cta2--dark:hover .cta2__ic{background:#33342c}
.cta2--ghost .cta2__t,.cta2--ghost .cta2__ic{background:transparent;border:1px solid #d2d2cb;color:var(--ink)}
.cta2--ghost:hover .cta2__t,.cta2--ghost:hover .cta2__ic{border-color:var(--ink)}
.hero__stats{position:relative;z-index:3;background:#fff;max-width:1400px;margin:70px auto 0;padding:38px 28px 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line)}
.hstat__n{display:block;font-size:clamp(50px,5.6vw,82px);line-height:.9;color:var(--ink);font-weight:700;letter-spacing:-.03em}
.hstat__b{margin-top:14px}.hstat__b strong{font-size:16px;font-weight:600}.hstat__b p{color:var(--mut);font-size:14px;line-height:1.5;max-width:300px;margin-top:4px}
/* catalogo */
.cat{padding:74px 0}
.cat__head{max-width:1400px;margin:0 auto;padding:0 28px 18px}
.cat__h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--mut);margin:0}
.cat__gh{margin:0;line-height:1}
.cat__track{display:flex;gap:26px;overflow-x:auto;max-width:1400px;margin:0 auto;padding:4px 28px 14px;scroll-behavior:smooth}
.cat__g{flex:0 0 auto;width:320px}
.cat__gt{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:16px;margin-bottom:14px;color:var(--ink)}.cat__gt-a{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#efeee8;color:var(--ink);font-size:14px;font-weight:700;line-height:1;transition:.15s}.cat__gt:hover .cat__gt-a{background:var(--g);color:#fff}
.cat__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;border-radius:16px;overflow:hidden}
.tile{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--p,#f3f2ee);border-radius:0}.tile img{width:100%;height:100%;object-fit:cover;transition:.4s}.tile:hover img{transform:scale(1.05)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.45) 24%,rgba(0,0,0,.12) 46%,transparent 62%);pointer-events:none}
.tile__l{position:absolute;left:11px;bottom:10px;color:#fff;font-weight:600;font-size:13px;z-index:1;text-shadow:0 1px 4px rgba(0,0,0,.6),0 0 2px rgba(0,0,0,.4)}
/* fondos pastel variados (siempre) */
.cat__g:nth-child(odd) .tile:nth-child(1){--p:#5b7a91}
.cat__g:nth-child(odd) .tile:nth-child(2){--p:#b56a43}
.cat__g:nth-child(odd) .tile:nth-child(3){--p:#6a3f96}
.cat__g:nth-child(odd) .tile:nth-child(4){--p:#2f7a52}
.cat__g:nth-child(even) .tile:nth-child(1){--p:#2c5fd0}
.cat__g:nth-child(even) .tile:nth-child(2){--p:#b34635}
.cat__g:nth-child(even) .tile:nth-child(3){--p:#7a2230}
.cat__g:nth-child(even) .tile:nth-child(4){--p:#c98b6a}
.cat__g:nth-child(odd) .tile:nth-child(5){--p:#c08a8a}
.cat__g:nth-child(odd) .tile:nth-child(6){--p:#3f4654}
.cat__g:nth-child(even) .tile:nth-child(5){--p:#d3a94f}
.cat__g:nth-child(even) .tile:nth-child(6){--p:#4a6b8a}
.proygrid .proy:nth-child(1) .proy__im{background:#e8f5ec}
.proygrid .proy:nth-child(2) .proy__im{background:#fdeee3}
.proygrid .proy:nth-child(3) .proy__im{background:#efeaf7}
.proygrid .proy:nth-child(4) .proy__im{background:#e6f0f8}
/* tiles siluetadas: producto recortado sobre pastel */
.tile--sil{padding:8px}
.tile--sil img{object-fit:contain}
/* bloque de 2 tiles apiladas en vertical (cajas apaisadas, rellenan el bloque) */
.cat__grid--2{grid-template-columns:1fr}
.cat__grid--2 .tile{aspect-ratio:2/1}
.cat__grid--2 .tile--sil{padding:26px}
/* bloque ancho de 6 tiles (3 columnas) */
.cat__g--wide{width:488px}
.cat__grid--3{grid-template-columns:repeat(3,1fr)}
/* botones de desplazamiento del carrusel */
.cat{position:relative}
.cat__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.12);transition:.15s}
.cat__nav svg{width:22px;height:22px}
.cat__nav:hover{background:var(--g);color:#fff;border-color:var(--g)}
.cat__nav:disabled{opacity:0;pointer-events:none}
.cat__nav--prev{left:14px}
.cat__nav--next{right:14px}
/* claim */
.claim{background:var(--ink);color:#fff;padding:90px 28px;border-bottom:1px solid var(--ink)}
.claim__in{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end}
.claim h2{font-size:clamp(40px,5.6vw,84px)}.claim em{color:#7fd29c}
.claim p{color:#c9c9c4;font-size:17px;line-height:1.65}
/* bloque Stands a medida (servicio) - bento */
.bento{background:var(--g);color:#fff;padding:96px 44px 176px;border-radius:48px 48px 0 0}
/* bloques apilados: cada uno solapa al anterior para tapar el hueco del redondeo */
.stack{margin-top:40px}
.stack>.stk{position:relative}
.stack>.stk:not(:first-child){margin-top:-50px}
.bento--black{background:var(--ink)}
.bento--blue{background:#1f3a5f}
.bento--clay{background:#9a5238}
.bento__head{max-width:800px;margin:0 auto 44px;text-align:center}
.bento__eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:14px}
.bento__t{font-size:clamp(34px,4.6vw,60px);line-height:.98}
.bento__s{color:rgba(255,255,255,.82);font-size:18px;margin-top:16px;line-height:1.5}
.bento__grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.bcard{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-radius:22px;padding:26px 24px 30px;transition:.18s}
.bcard:hover{background:rgba(255,255,255,.13);transform:translateY(-3px)}
.bcard__vis{border-radius:14px;overflow:hidden;aspect-ratio:4/3;margin-bottom:24px;background:rgba(0,0,0,.12)}
.bcard__vis img{width:100%;height:100%;object-fit:cover}
.bcard__eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:10px}
.bcard__t{font-size:clamp(20px,2.2vw,27px);font-weight:600;letter-spacing:-.02em;line-height:1.12}
.bcard__p{color:rgba(255,255,255,.8);font-size:15px;line-height:1.6;margin-top:12px}
.bento__cta{text-align:center;margin-top:42px}
@media(max-width:1100px){.bento__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bento__grid{grid-template-columns:1fr}}
/* Eventos - slider editorial */
.evt__in{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.evt__visual{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.06)}
.evt__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}
.evt__img.is-active{opacity:1}
.evt__anim{background:#eef0ee}
.evt__fr{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .8s ease}
.evt__fr.is-fr{opacity:1}
.evt__t{font-size:clamp(34px,4.4vw,56px);line-height:1;margin:10px 0 12px}
.evt__s{color:rgba(255,255,255,.8);font-size:17px;line-height:1.5;margin-bottom:24px;max-width:460px}
.evt__items{display:flex;flex-direction:column;margin-bottom:26px}
.evt__item{display:grid;grid-template-columns:3px 1fr;gap:18px;align-items:stretch;text-align:left;background:none;border:0;cursor:pointer;padding:15px 0;color:#fff;opacity:.45;transition:opacity .3s;font-family:inherit}
.evt__item.is-active{opacity:1}
.evt__bar{width:3px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden}
.evt__fill{display:block;width:100%;height:0;background:#7fd29c}
.evt__item h3{font-size:19px;font-weight:600;margin-bottom:6px;line-height:1.2}
.evt__item p{color:rgba(255,255,255,.78);font-size:14.5px;line-height:1.55}
.evt{padding:120px 44px 194px}
.evt__item{padding:24px 0}
.evt__t{font-size:clamp(40px,5vw,64px)}
.evt__visual{aspect-ratio:1/1}
@media(max-width:860px){.evt__in{grid-template-columns:1fr;gap:28px}}
/* Expositores - lista editorial */
.plv__in{max-width:1400px;margin:0 auto}
.plv .bento__eyebrow{display:block}
.plv__top{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;margin-bottom:52px}
.plv__intro .plv__s{margin-bottom:0;max-width:none}
.plv__media{position:relative}
.plv__big{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:22px;box-shadow:0 26px 54px rgba(0,0,0,.34)}
.plv__mini{position:absolute;width:46%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;right:-12px;bottom:-16px;border:6px solid #1f3a5f;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.plv__ba{overflow:hidden;background:#fff}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba__after{clip-path:inset(0 0 0 0);animation:baReveal 7s ease-in-out infinite;will-change:clip-path}
.ba__after::after{content:""}
.ba__tag{position:absolute;left:8px;bottom:8px;z-index:2;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:rgba(20,21,15,.72);padding:4px 9px;border-radius:999px}
@keyframes baReveal{0%,12%{clip-path:inset(0 100% 0 0)}40%,60%{clip-path:inset(0 0 0 0)}88%,100%{clip-path:inset(0 100% 0 0)}}
@media(prefers-reduced-motion:reduce){.ba__after{animation:none;clip-path:inset(0 0 0 0)}}
@media(max-width:860px){.plv__top{grid-template-columns:1fr;gap:28px}.plv__mini{width:38%}}
.plv__t{font-size:clamp(34px,4.4vw,56px);line-height:1;margin:12px 0 14px}
.plv__s{color:rgba(255,255,255,.82);font-size:18px;line-height:1.5;max-width:620px;margin-bottom:34px}
.plv__list{border-top:1px solid rgba(255,255,255,.16)}
.plv__row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.plv__head{display:flex;align-items:center;gap:16px}
.plv__ic{width:26px;height:26px;flex:0 0 26px;color:#fff;opacity:.85}
.plv__row h3{font-size:clamp(18px,1.7vw,23px);font-weight:600;line-height:1.2}
.plv__d{color:rgba(255,255,255,.78);font-size:15.5px;line-height:1.6}
.plv .btn,.plv .cta2{margin-top:44px}
.plv .cta2 .cta2__t,.plv .cta2 .cta2__ic,.split--clay .cta2 .cta2__t,.split--clay .cta2 .cta2__ic{background:#fff;color:var(--ink)}
.plv .cta2:hover .cta2__t,.plv .cta2:hover .cta2__ic,.split--clay .cta2:hover .cta2__t,.split--clay .cta2:hover .cta2__ic{background:#e9ece6}
@media(max-width:760px){.plv__row{grid-template-columns:1fr;gap:8px}}
/* Muebles - bento asimétrico con home staging */
.mue__hero{max-width:1400px;margin:0 auto 22px;display:grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-radius:22px;overflow:hidden}
.mue__hero-img{overflow:hidden;min-height:320px}
.mue__hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.mue__hero-txt{padding:42px 46px;display:flex;flex-direction:column;justify-content:center}
.mue__hero-t{font-size:clamp(26px,2.8vw,38px);font-weight:600;line-height:1.1;letter-spacing:-.02em;margin:10px 0 14px}
.mue__hero-p{color:rgba(255,255,255,.85);font-size:16px;line-height:1.6;margin-bottom:24px;max-width:480px}
.mue__hero .btn{align-self:flex-start}
.mue__types{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:860px){.mue__hero{grid-template-columns:1fr}.mue__types{grid-template-columns:1fr}}
/* secciones split: home staging / mobiliario */
.split--light{background:#efebe4;color:var(--ink)}
.split--clay{background:#9a5238}
.split__in{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split__eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:16px}
.split__t{font-size:clamp(36px,5vw,68px);line-height:.98;margin-bottom:18px}
.split__s{font-size:18px;line-height:1.55;margin-bottom:28px;max-width:480px;color:rgba(255,255,255,.85)}
.split__vis{border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:rgba(0,0,0,.1)}
.split__vis img{width:100%;height:100%;object-fit:cover;display:block}
.split--light .split__eyebrow{color:var(--mut)}
.split--light .split__s{color:#55554f}
.split__vis--cluster{background:transparent;border-radius:0;aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.split__vis--cluster img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:rgba(255,255,255,.09);border-radius:18px;padding:16px}
@media(max-width:860px){.split__in{grid-template-columns:1fr;gap:32px}}
/* sostenibilidad (stats) */
.sost{background:#0c3b24;color:#fff;padding:96px 28px}
.sost__head{max-width:820px;margin:0 auto 56px;text-align:center}
.sost__eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7fd29c;margin-bottom:14px}
.sost__t{font-size:clamp(34px,4.6vw,60px);line-height:1;margin-bottom:16px}
.sost__s{color:rgba(255,255,255,.78);font-size:18px;line-height:1.5}
.sost__grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.sost__n{display:block;font-family:'Manrope',sans-serif;font-weight:300;font-size:clamp(60px,7vw,100px);line-height:1;letter-spacing:-.03em;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:18px}
.sost__it{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;margin-bottom:8px}
.sost__ic{width:22px;height:22px;color:#7fd29c;flex:0 0 auto}
.sost__d{color:rgba(255,255,255,.72);font-size:15px;line-height:1.6}
@media(max-width:780px){.sost__grid{grid-template-columns:1fr;gap:40px}}
/* footer verde con cta */
.ft{background:var(--gd);color:#fff}
.ft__cta{max-width:1100px;margin:0 auto;text-align:center;padding:90px 28px 64px}
.ft__cta-t{font-size:clamp(40px,6vw,80px);line-height:.95;margin-bottom:18px}
.ft__cta-s{color:rgba(255,255,255,.85);font-size:18px;margin-bottom:28px}
.ft__cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.b-outw{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}.b-outw:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.ft__main{max-width:1400px;margin:0 auto;padding:44px 28px;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;border-top:1px solid rgba(255,255,255,.14)}
.ft__logo{max-height:40px}
.ft__tag{color:rgba(255,255,255,.7);font-size:14px;line-height:1.6;margin:14px 0 16px;max-width:340px}
.ft__contact{display:flex;flex-direction:column;gap:2px}
.ft__contact a{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.85);font-size:14px;padding:4px 0}.ft__contact a svg{width:15px;height:15px;flex:0 0 auto;opacity:.75}.ft__contact a:hover{color:#fff}
.ft__nav{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.ft__col .ft__colh{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6);margin-bottom:12px;font-weight:700}
.ft__col a{display:block;color:rgba(255,255,255,.88);font-size:14px;padding:5px 0}.ft__col a:hover{color:#fff;text-decoration:underline}
.ft__social{display:flex;gap:14px;margin-top:18px}.ft__social a{color:#fff;opacity:.85}.ft__social svg{width:20px;height:20px}.ft__social a:hover{opacity:1}
.ft__cat{display:inline-flex;align-items:center;gap:9px;margin-top:16px;font-size:13.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:9px 16px;transition:.15s}.ft__cat:hover{background:rgba(255,255,255,.2)}.ft__cat svg{width:16px;height:16px;flex:0 0 auto}
.ft__bottom{max-width:1400px;margin:0 auto;padding:20px 28px 36px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.6)}
.ft__legal{display:flex;gap:20px;flex-wrap:wrap}.ft__legal a{color:rgba(255,255,255,.6)}.ft__legal a:hover{color:#fff}
.ft__made{color:rgba(255,255,255,.55);font-size:13px}.ft__made a{color:rgba(255,255,255,.85);font-weight:600}.ft__made a:hover{color:#fff;text-decoration:underline}
@media(max-width:768px){.ft__main{grid-template-columns:1fr;gap:34px;padding:40px 24px}.ft__bottom{justify-content:flex-start}}
@media(max-width:420px){.ft__nav{grid-template-columns:1fr 1fr}}
/* proyectos slider (uno a uno) */
.prx{padding:80px 28px;max-width:1240px;margin:0 auto}
.prx__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}
.prx__nav{display:flex;gap:10px}
.prx__btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s}
.prx__btn:hover{background:var(--g);color:#fff;border-color:var(--g)}
.prx__btn svg{width:22px;height:22px}
.prx__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.prx__track::-webkit-scrollbar{display:none}
.prx__slide{flex:0 0 100%;scroll-snap-align:start;color:inherit}
.prx__im{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#f3f2ee}
.prx__im img{width:100%;height:100%;object-fit:cover;transition:.4s}
.prx__slide:hover .prx__im img{transform:scale(1.03)}
.prx__tag{position:absolute;top:16px;left:16px;background:#fff;color:var(--ink);font-weight:600;font-size:13px;padding:6px 14px;border-radius:999px}
.prx__t{font-size:clamp(22px,2.6vw,32px);font-weight:600;letter-spacing:-.01em;margin-top:18px}
.prx__lnk{display:inline-block;color:var(--g);font-weight:600;font-size:15px;margin-top:6px}
/* responsive */
.hdr__l{display:flex;align-items:center;gap:14px}
.hdr__burger{display:none;background:none;border:0;width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.hdr__burger svg{width:26px;height:26px}
.hdr__sobre{display:none}
/* menu movil full-screen */
.mmenu{position:fixed;inset:0;z-index:120;background:#fff;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .28s ease,transform .28s ease,visibility .28s;overflow-y:auto;overscroll-behavior:contain}
.mmenu.is-open{opacity:1;visibility:visible;transform:none}
.mmenu__bar{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}
.mmenu__logo{height:34px;width:auto}
.mmenu__close{background:none;border:0;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.mmenu__close svg{width:26px;height:26px}
.mmenu__cats{display:flex;flex-direction:column;padding:10px 16px 4px}
.mmrow{display:flex;align-items:center;gap:18px;padding:12px 8px;border-radius:18px;color:var(--ink);transition:background .15s}
.mmrow:active{background:#f4f6f2}
.mmrow__ic{flex:0 0 auto;width:60px;height:60px;border-radius:50%;overflow:hidden;background:#f3f2ee}
.mmrow__ic img{width:100%;height:100%;object-fit:cover}
.mmrow__t{flex:1;font-size:21px;font-weight:600;letter-spacing:-.01em}
.mmrow__ch{width:22px;height:22px;color:#bdbdb6;flex:0 0 auto}
.mmenu__sec{display:flex;flex-direction:column;padding:14px 24px 6px;margin-top:6px;border-top:1px solid var(--line)}
.mmenu__sec a{padding:14px 0;font-size:17px;font-weight:600;color:var(--ink)}
.mmenu__foot{padding:16px 24px 32px;margin-top:auto;display:flex;flex-direction:column;gap:14px}
.mmenu__tel{display:inline-block;font-size:22px;font-weight:700;color:var(--g)}
@media(max-width:900px){.hdr__burger{display:inline-flex}.hdr__sobre{display:inline-flex}.hdr__contact-btn{display:none}.hdr__l{display:none}.hdr__bar{display:flex;align-items:center;justify-content:space-between}.hdr__c{position:static;transform:none;margin:0}.hdr__r{gap:6px}}
@media(max-width:768px){.cat__nav{display:none}}
/* sectores */
.sect{background:#fff;padding:88px 28px;border-bottom:1px solid var(--line)}.sect__in{max-width:1400px;margin:0 auto}
.sect__head{margin-bottom:34px}.sect__head .sec-t{margin-top:12px}
.srow{display:grid;grid-template-columns:64px 1fr auto;align-items:center;padding:24px 8px;border-top:1px solid var(--line);transition:.18s}
.srow:last-child{border-bottom:1px solid var(--line)}
.srow__i{color:#bdbdb6;font-size:14px;font-weight:600;letter-spacing:.1em}
.srow__n{font-size:clamp(26px,3.4vw,44px)}
.srow__a{font-weight:600;color:var(--g);font-size:14px;opacity:0;transition:.18s}
.srow:hover{color:var(--g);padding-left:18px}.srow:hover .srow__a{opacity:1}
/* auditoria - guiño a prospects */
.aud{background:#f4f6f2;border-bottom:1px solid var(--line);padding:88px 28px}
.aud__in{max-width:760px;margin:0 auto;text-align:center}
.aud__t{font-size:clamp(34px,5vw,62px);margin:14px 0 18px}
.aud__p{color:#44443f;font-size:18px;line-height:1.6;max-width:560px;margin:0 auto 28px}
.aud__p strong{color:var(--ink);font-weight:600}
/* proyectos */
.proy-sec{padding:80px 28px;max-width:1400px;margin:0 auto}
.proy-sec__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px}.lnk{font-weight:600;color:var(--g)}
.proygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.proy__im{position:relative;aspect-ratio:4/5;overflow:hidden;background:#f3f2ee;border-radius:8px}.proy__im img{width:100%;height:100%;object-fit:cover;transition:.4s}.proy:hover .proy__im img{transform:scale(1.05)}
.proy__tag{position:absolute;left:12px;top:12px;background:#fff;color:var(--ink);font-weight:600;font-size:12px;padding:5px 12px;border-radius:999px}
.proy h3{font-size:17px;font-weight:500;margin-top:14px}
/* proceso */
.proc{background:#fff;padding:88px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proc__in{max-width:1400px;margin:0 auto}
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:40px}
.paso{border-top:2px solid var(--g);padding-top:20px}.paso__n{font-size:56px;line-height:1;color:var(--ink)}
.paso h3{font-size:19px;font-weight:600;margin:12px 0 6px}.paso p{color:var(--mut);font-size:14px;line-height:1.5}
/* cta */
.cta{background:var(--g);color:#fff;padding:90px 28px}.cta__in{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.cta h2{font-size:clamp(48px,7vw,104px)}.cta em{color:#bff0cf}.cta__r p{font-size:19px;margin-bottom:24px;opacity:.95}
@media(max-width:900px){
 .nav{display:none}
 .hero__deco{display:none}.hero__big{font-size:clamp(42px,12vw,68px)}.hero__stats{grid-template-columns:1fr;gap:24px}
 .claim__in,.cta__in{grid-template-columns:1fr}.proygrid,.pasos{grid-template-columns:repeat(2,1fr)}
}

/* Proyectos: showcase foto arriba + tabs con progreso */
.pjx{background:#fff;padding:90px 28px}
.pjx__in{max-width:1400px;margin:0 auto}
.pjx__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}
.pjx__eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.pjx__t{font-size:clamp(32px,4vw,52px);line-height:1.02;margin-top:10px}
.pjx__link{font-weight:600;color:var(--g);white-space:nowrap}.pjx__link:hover{text-decoration:underline}
.pjx__visual{position:relative;display:block;aspect-ratio:16/7;border-radius:24px;overflow:hidden;background:#f3f2ee}
.pjx__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease}
.pjx__img.is-active{opacity:1}
.pjx__items{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:24px;align-items:start}
.pjx__item{display:flex;flex-direction:column;text-align:left;background:none;border:0;cursor:pointer;padding:0;color:var(--ink);font-family:inherit;opacity:.55;transition:opacity .3s}
.pjx__item.is-active{opacity:1}
.pjx__bar{display:block;height:3px;border-radius:3px;background:var(--line);overflow:hidden;margin-bottom:13px}
.pjx__fill{display:block;height:100%;width:0;background:var(--g)}
.pjx__cat{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-bottom:4px}
.pjx__item h3{font-size:16px;font-weight:600;line-height:1.25}
@media(max-width:860px){.pjx__head{flex-direction:column;align-items:flex-start;gap:8px}.pjx__visual{aspect-ratio:4/3}.pjx__items{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.pjx__items{grid-template-columns:1fr}}
/* Escritorio: imagen a la izquierda (no a sangre) + lista de proyectos a la derecha */
@media(min-width:861px){
	.pjx__in{display:grid;grid-template-columns:1.5fr 1fr;grid-template-areas:"head head" "visual items";column-gap:48px;row-gap:24px;align-items:stretch}
	.pjx__head{grid-area:head;margin-bottom:0;align-items:flex-end}
	.pjx__visual{grid-area:visual;aspect-ratio:auto;margin:0;min-height:440px}
	.pjx__items{grid-area:items;grid-template-columns:1fr;gap:14px;margin-top:0;align-content:start}
	.pjx__item{padding:8px 0}
	.pjx__bar{margin-bottom:10px}
}
/* Items de proyecto: sin recoloreo a blanco de Astra en hover/focus/click */
.pjx__item,.pjx__item:hover,.pjx__item:focus,.pjx__item:focus-visible,.pjx__item:active{color:var(--ink) !important;cursor:pointer}
.pjx__item h3{color:var(--ink)}
.pjx__item .pjx__cat{color:var(--mut)}
/* Opiniones (reseñas Google) */
.ops{background:#f4f6f2;padding:90px 28px}
.ops__in{max-width:1400px;margin:0 auto}
.ops__head{text-align:center;max-width:700px;margin:0 auto 44px}
.ops__eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.ops__t{font-size:clamp(32px,4vw,52px);line-height:1.04;margin:12px 0 16px}
.ops__rating{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--ink)}
.ops__rating strong{font-size:17px}
.ops__stars{color:#f5b50a;letter-spacing:1px}
.ops__rsub{color:var(--mut)}
.g-ico{width:18px;height:18px;flex:0 0 auto}
.ops__marquee{position:relative;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ops__track{display:flex;gap:22px;width:max-content;animation:opsScroll 48s linear infinite}
.ops__marquee:hover .ops__track{animation-play-state:paused}
@keyframes opsScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.opcard{flex:0 0 360px;width:360px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px}
.opcard__stars{color:#f5b50a;font-size:15px;letter-spacing:2px;margin-bottom:12px}
.opcard__txt{font-size:15px;line-height:1.6;color:#3a3a35;margin-bottom:20px}
.opcard__foot{display:flex;align-items:center;gap:12px}
.opcard__av{width:42px;height:42px;border-radius:50%;background:var(--g);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex:0 0 auto}
.opcard__name{font-weight:600;color:var(--ink);font-size:14px}
.opcard__sub{display:flex;align-items:center;gap:6px;color:var(--mut);font-size:12.5px;margin-top:2px}
.opcard__sub .g-ico{width:13px;height:13px}
@media(max-width:600px){.opcard{flex-basis:300px;width:300px}}
@media(prefers-reduced-motion:reduce){.ops__track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}}
/* Vídeos estilo Netflix (fila horizontal) */
.vsec{background:#fff;padding:80px 28px 88px;border-top:1px solid var(--line)}
.vsec__head{max-width:1400px;margin:0 auto 20px;padding:0;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.vsec__ey{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.vsec__h{font-size:clamp(30px,3.6vw,48px);line-height:1.04;margin-top:10px}
.vsec__nav{display:flex;align-items:center;gap:12px}
.vsec__all{font-weight:600;color:var(--g);white-space:nowrap}.vsec__all:hover{text-decoration:underline}
.vsec__btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.15s}
.vsec__btn:hover{border-color:var(--ink)}.vsec__btn svg{width:20px;height:20px}
.vsec__row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;max-width:1400px;margin:0 auto;padding:12px 0 18px;scrollbar-width:none}
.vsec__foot{max-width:1400px;margin:0 auto;padding:2px 0 0;display:flex;gap:12px}
.vsec__row::-webkit-scrollbar{display:none}
.vcard3{flex:0 0 360px;scroll-snap-align:start;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit;font-family:inherit}
.vcard3__thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#0a0a0a;transition:transform .3s ease,box-shadow .3s ease}
.vcard3:hover .vcard3__thumb{transform:scale(1.03);box-shadow:0 14px 30px rgba(0,0,0,.16)}
.vcard3__thumb img{width:100%;height:100%;object-fit:cover}
.vcard3__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.vcard3__play>span{width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;transition:.2s}
.vcard3:hover .vcard3__play>span{background:var(--g)}
.vcard3__play svg{width:22px;height:22px;color:#fff;margin-left:2px}
.vcard3__t{display:block;font-size:14.5px;font-weight:600;margin-top:11px;line-height:1.3}
@media(max-width:560px){.vcard3{flex-basis:280px}.vsec__btn{display:none}}
/* lightbox */
.lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.86);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.lb.is-open{opacity:1;visibility:visible}
.lb__box{position:relative;width:100%;max-width:980px;aspect-ratio:16/9}
.lb__box iframe{width:100%;height:100%;border:0;border-radius:14px;background:#000}
.lb__close{position:absolute;top:-48px;right:0;width:40px;height:40px;border:0;background:rgba(255,255,255,.16);color:#fff;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.lb__close:hover{background:rgba(255,255,255,.28)}.lb__close svg{width:22px;height:22px}
/* Posts / Blog */
.posts{background:#f4f6f2;padding:90px 28px}
.posts__in{max-width:1400px;margin:0 auto}
.posts__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}
.posts__ey{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.posts__h{font-size:clamp(30px,3.6vw,48px);line-height:1.04;margin-top:10px}
.posts__link{font-weight:600;color:var(--g);white-space:nowrap}.posts__link:hover{text-decoration:underline}
.posts__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard2{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;color:inherit;transition:transform .2s,box-shadow .2s}
.pcard2:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.pcard2__im{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f3f2ee}
.pcard2__im img{width:100%;height:100%;object-fit:cover;transition:.45s}
.pcard2:hover .pcard2__im img{transform:scale(1.05)}
.pcard2__tag{position:absolute;top:12px;left:12px;background:#fff;color:var(--ink);font-weight:600;font-size:12px;padding:5px 12px;border-radius:999px}
.pcard2__b{padding:20px 22px 24px}
.pcard2 h3{font-size:18px;font-weight:600;line-height:1.3;margin:0 0 8px}
.pcard2 p{color:var(--mut);font-size:14px;line-height:1.55}
@media(max-width:900px){.posts__grid{grid-template-columns:1fr 1fr}.posts__head{flex-direction:column;align-items:flex-start;gap:8px}}
@media(max-width:600px){.posts__grid{grid-template-columns:1fr}}
/* Descarga catálogo */
.catdl{background:#efeae3}
.catdl__in{max-width:1400px;margin:0 auto;padding:72px 28px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.catdl__ey{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g)}
.catdl__h{font-size:clamp(32px,4vw,54px);line-height:1.02;margin:12px 0 14px}
.catdl__p{color:#44443f;font-size:17px;line-height:1.6;max-width:440px;margin-bottom:26px}
.catdl__media{position:relative;display:flex;justify-content:center;align-items:center}
.catdl__media::before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;background:rgba(0,135,58,.12);z-index:0}
.catdl__media img{position:relative;z-index:1;max-width:400px;width:100%;filter:drop-shadow(0 26px 46px rgba(0,0,0,.32));transition:transform .4s}
.catdl__media:hover img{transform:translateY(-6px)}
@media(max-width:860px){.catdl__in{grid-template-columns:1fr;gap:30px}.catdl__media{order:-1}.catdl__media::before{width:240px;height:240px}}
/* buscador header */
.hdr__search{background:none;border:0;cursor:pointer}
.hsearch{position:fixed;top:0;left:0;right:0;z-index:120;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.08);transform:translateY(-100%);transition:transform .28s ease;visibility:hidden}
.hsearch.is-open{transform:none;visibility:visible}
.hsearch__form{max-width:1500px;margin:0 auto;padding:20px 28px;display:flex;align-items:center;gap:14px}
.hsearch__ic{width:24px;height:24px;color:var(--mut);flex:0 0 auto}
.hsearch__input{flex:1;border:0;outline:none;background:none;font-family:inherit;font-size:clamp(18px,2.4vw,26px);color:var(--ink);font-weight:500}
.hsearch__input::placeholder{color:#bdbdb6}
.hsearch__close{background:none;border:0;cursor:pointer;color:var(--ink);width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}
.hsearch__close svg{width:24px;height:24px}
/* menu movil: foot contacto */
.mmenu__cta{align-self:stretch}
.mmenu__cta .cta2__t{flex:1;text-align:center}
.mmenu__cbtns{display:flex;gap:10px}
.mmenu__cbtn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14px;color:var(--ink);background:#f4f6f2;border-radius:999px;padding:13px 14px}
.mmenu__cbtn svg{width:17px;height:17px;flex:0 0 auto}
.mmenu__cbtn--wa{background:#25D366;color:#fff}
/* === Escalado para escritorio/portátil ================================
   La home se diseñó para 1600px con clamp() de factores vw altos (5–8vw), lo
   que hacía los títulos y paddings demasiado grandes en cualquier pantalla de
   escritorio. Este tramo (todo lo ≥901px) los reduce; el móvil (≤900px) queda
   intacto con sus propias reglas. */
@media (min-width:901px){
	/* Hero */
	.hero{min-height:560px}
	.hero__top{padding:60px 28px 70px}
	.hero__big{font-size:clamp(46px,6vw,80px)}
	.hero__sub{font-size:20px;margin:34px 0 26px}
	.hero__stats{margin-top:50px;padding:32px 28px 48px}
	.hstat__n{font-size:clamp(44px,4.4vw,62px)}

	/* Títulos de sección */
	.sec-t,.bento__t,.sost__t,.evt__t,.plv__t{font-size:clamp(30px,3.5vw,46px)}
	.split__t{font-size:clamp(32px,3.8vw,52px)}
	.claim h2{font-size:clamp(36px,4.2vw,60px)}
	.cta h2{font-size:clamp(42px,5.2vw,76px)}
	.ft__cta-t{font-size:clamp(36px,4.4vw,60px)}
	.pjx__t,.ops__t,.posts__h,.vsec__h,.catdl__h,.aud__t,.sect .sec-t{font-size:clamp(26px,3vw,42px)}
	.mue__hero-t{font-size:clamp(24px,2.4vw,32px)}

	/* Subtítulos y texto introductorio */
	.bento__s,.plv__s,.split__s,.sost__s,.evt__s,.hstat__b p{font-size:16px}

	/* Paddings verticales de sección */
	.bento{padding:76px 40px 140px}
	.evt{padding:90px 40px 150px}
	.sost{padding:76px 28px}
	.claim{padding:72px 28px}
	.cat{padding:60px 0}
	.sect,.aud,.proc{padding:70px 28px}
	.proy-sec,.prx{padding:64px 28px}
	.ops,.posts,.pjx,.vsec{padding:72px 28px}
	.cta{padding:72px 28px}
	.ft__cta{padding:72px 28px 52px}

	/* Gaps algo más ajustados */
	.split__in{gap:44px}
	.evt__in{gap:40px}
	.sost__grid{gap:36px}
	.bento__grid{gap:24px}
}

/* === Compatibilidad con Astra === */
/* Que los encabezados hereden el color de SU sección (no el color global de Astra) */
.cat h2,.cat h3,.bento h2,.bento h3,.evt h2,.evt h3,.plv h2,.plv h3,.split h2,.pjx h2,.pjx h3,.ops h2,.vsec h2,.posts h2,.posts h3,.catdl h2,.sost h2,.sost h3,.seo h2,.seo h3,.ft h2{color:inherit}
/* Iconos interactivos sobre fondo claro: asegurar color visible */
.hdr__search,.cat__nav,.prx__btn,.vsec__btn{color:var(--ink)}
/* Overlay del buscador por encima de todo */
.hsearch{z-index:9999}

/* Buscador del header: fondo verde, lupa / X / texto en blanco */
.hsearch{background:var(--g);border-bottom-color:var(--gd)}
.hsearch__ic{color:#fff}
.hsearch__close{color:#fff}
.hsearch__input{color:#fff !important;background:transparent !important;border:none !important;box-shadow:none !important}
.hsearch__input::placeholder{color:rgba(255,255,255,.85) !important;opacity:1}
.hsearch__input::-webkit-input-placeholder{color:rgba(255,255,255,.85) !important}
.hsearch__input::-moz-placeholder{color:rgba(255,255,255,.85) !important;opacity:1}
.hsearch__input:-ms-input-placeholder{color:rgba(255,255,255,.85) !important}

/* Anular hover de Astra (subrayado/recolor) en botones e interactivos */
.nav a:hover,.cta2:hover,.cta2:hover .cta2__t,.btn:hover,.pill:hover,.mmrow:hover,.pcard:hover,.vcard3:hover,.mmenu__cbtn:hover,.more:hover,.fbtn:hover,.vsec__btn:hover,.cat__nav:hover,.hdr__search:hover,.cat__gt:hover,.subcat__h a:hover{text-decoration:none}
.b-green:hover{color:#fff}.b-dark:hover{color:#fff}
.hdr__contact-btn,.hdr__contact-btn:hover,.hdr__contact-btn:focus{color:#fff !important}
/* Quitar el fondo (azul) que Astra aplica en hover/focus de botones transparentes */
.evt__item:hover,.evt__item:focus,.evt__item:focus-visible,.evt__item:active,
.pjx__item:hover,.pjx__item:focus,.pjx__item:focus-visible,.pjx__item:active,
.vcard3:hover,.vcard3:focus,.vcard3:focus-visible,
.hdr__search:hover,.hdr__search:focus,.hdr__search:focus-visible,
.hdr__burger:hover,.hdr__burger:focus,.hdr__burger:focus-visible{background:none !important;box-shadow:none !important}
/* Vídeos: sin sombra en reposo (solo en hover), por si Astra añade box-shadow */
.vcard3 img,.vcard3__thumb{box-shadow:none}
.vcard3:hover .vcard3__thumb{box-shadow:0 14px 30px rgba(0,0,0,.16)}
/* FIX: los SVG dentro de botones flex (lupa, flechas, burger…) colapsaban a width:0
   en el eje principal del flex. flex:none impide que se encojan y se vuelven invisibles. */
.ic svg,.cat__nav svg,.prx__btn svg,.hdr__burger svg,.vsec__btn svg,.lb__close svg,.mmenu__close svg,.hsearch__close svg{flex:none}
/* FIX: Astra inyecta padding en `button` y deforma los círculos (salían ovalados).
   Forzamos sus dimensiones y eliminamos el padding heredado de Astra. */
.ic,.hdr__search,.hdr__burger,.cat__nav,.prx__btn,.vsec__btn,.lb__close,.mmenu__close,.hsearch__close{padding:0 !important;min-width:0 !important;line-height:1 !important}
.cat__nav,.prx__btn{width:46px !important;height:46px !important}
.vsec__btn{width:42px !important;height:42px !important}
/* FIX: Astra recolorea en hover los botones (color:#fff → la lupa desaparecía sobre
   fondo blanco) y los enlaces (a:hover azul). Forzamos los colores del diseño. */
.hdr__search,.cat__nav,.prx__btn,.vsec__btn,.mmenu__close{color:var(--ink) !important}
.ic:hover,.hdr__search:hover{color:var(--g) !important;background:none !important}
.cat__nav:hover,.prx__btn:hover,.vsec__btn:hover,.mmenu__close:hover{color:var(--ink) !important;background:#fff !important}
.lb__close:hover{color:#fff !important}
.mmenu a:hover,.mmenu__sec a:hover,.mmenu__cats a:hover,.mmenu__tel:hover,.nav a:hover,.pill:hover{color:var(--g) !important}
/* Títulos de categoría del slider "Qué fabricamos": verde en hover (no el azul de Astra) */
.cat__gt:hover{color:var(--g) !important}
