/* Camaleón Consultoría Sustentable — base de csractivities.com con los colores institucionales de Camaleón: azul #2AA2D5, verde #5EA89A, gris #5B5B5F (ver _no_subir_/DISENO.md) */
:root{
  --negro:#000; --blanco:#fff; --gris-pie:#e4e4e6; --gris-texto:#5B5B5F; --gris-suave:#5B5B5F; --gris-inst:#5B5B5F; --gris-oscuro:#38383b;
  --cian:#2AA2D5; --cian-osc:#1c7fae; --verde:#5EA89A; --azul-hielo:#f1f9ff;  /* institucionales: azul #2AA2D5, verde #5EA89A (var --verde, nombre heredado), gris #5B5B5F */
  --linea:#dbe6ee;
  --font:'D-DIN Exp','Barlow',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-cond:'D-DIN Condensed','Barlow Condensed','Barlow',system-ui,sans-serif;
  --radius:3px; --gutter:clamp(16px,4vw,48px); --max:1240px; --header-h:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 56px);-webkit-text-size-adjust:100%}
body{margin:0;font:400 16px/1.7 var(--font);color:var(--negro);background:var(--blanco);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{font-weight:700;line-height:1.15;margin:0 0 .5em;hyphens:manual}
h2{font-size:clamp(28px,3.6vw,40px)} h3{font-size:clamp(20px,2vw,24px);line-height:1.2} h4{font-size:18px}
p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--cian);outline-offset:3px}
.skip{position:absolute;left:8px;top:-60px;background:var(--verde);color:#000;padding:10px 16px;font-weight:700;z-index:200;border-radius:var(--radius)}
.skip:focus{top:8px}
.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.center{text-align:center}
.eyebrow{font:700 14px/1.4 var(--font);text-transform:uppercase;letter-spacing:2px;color:var(--gris-suave);margin:0 0 .6em}
.sub{font-size:clamp(17px,1.6vw,20px);color:var(--gris-texto);max-width:60ch;margin-inline:auto}
.lead-dark{font-size:clamp(16px,1.4vw,18px);color:var(--gris-texto);max-width:80ch;margin-inline:auto}
.prose p{color:#1c1c1c}

/* botones y ligas */
.btn{display:inline-block;padding:14px 28px;border-radius:var(--radius);font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:16px;transition:transform .2s,background-color .2s,color .2s}
.btn-cta{background:var(--verde);color:#000}
.btn-cta:hover{background:var(--gris-oscuro);color:#fff}
.more{display:inline-block;position:relative;padding-left:48px;color:var(--cian-osc);font:700 14px/1 var(--font);text-transform:uppercase;letter-spacing:2px;transition:color .2s}
.more::before{content:"";position:absolute;left:0;top:50%;width:36px;height:2px;background:currentColor;transform:translateY(-50%);transition:width .25s}
.more::after{content:"";position:absolute;left:28px;top:50%;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(-50%) rotate(45deg);transition:left .25s}
a:hover .more{color:#fff}
a.more:hover{color:#000}
.tile-t .more,.causes .more{color:var(--cian)}
a:hover .more::before{width:42px}a:hover .more::after{left:34px}

/* header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--header-h);transition:background-color .3s,box-shadow .3s}
.site-header::before{content:"";position:absolute;inset:0 0 -40px 0;background:linear-gradient(rgba(0,0,0,.45),transparent);pointer-events:none;transition:opacity .3s}
.site-header.solid{background:rgba(56,56,59,.95);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.site-header.solid::before{opacity:0}
.bar{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:calc(var(--max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter);color:#fff}
.menu ul{display:flex;align-items:center;gap:clamp(18px,3vw,40px)}
.menu a{font:600 16px/1 var(--font-cond);text-transform:uppercase;letter-spacing:1.5px;color:#fff;padding:8px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
.menu a:hover,.menu a.on{border-color:var(--verde)}
.dot{width:16px;height:16px;border-radius:50%;background:var(--verde)}
.lang{display:flex;align-items:center;gap:8px;font:600 15px/1 var(--font-cond);letter-spacing:1.5px;color:#fff}
.lang button{all:unset;cursor:pointer;padding:6px 4px;opacity:.65;border-bottom:2px solid transparent}
.lang button[aria-pressed=true]{opacity:1;border-color:var(--verde)}
.lang button:focus-visible{outline:3px solid var(--cian)}
.nav-toggle{all:unset;display:none;cursor:pointer;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;padding:0 10px}
.nav-toggle span{display:block;height:2px;background:#fff;transition:transform .25s,opacity .25s}
.nav-toggle:focus-visible{outline:3px solid var(--cian)}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;overflow:hidden;background:#222}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.28) 60%,rgba(0,0,0,.1))}
.hero-in{position:relative;padding-block:calc(var(--header-h) + 40px) 80px}
.hero h1{font-size:clamp(34px,5.4vw,78px);text-transform:uppercase;line-height:1.05;max-width:17ch;color:#fff;margin-bottom:.35em}
.hero .lead{font-size:clamp(18px,1.7vw,24px);max-width:44ch;margin-bottom:1.6em}

/* franja de líneas */
.band{padding:clamp(56px,8vw,110px) 0 clamp(48px,6vw,80px)}
.band h2{text-transform:uppercase}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,24px);margin-top:clamp(28px,4vw,48px)}
.tiles a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#111;color:#fff}
.tiles img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tiles a:hover img{transform:scale(1.05)}
.tile-shade{position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.8))}
.tile-t{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;display:flex;flex-direction:column;gap:12px}
.tile-t strong{font-size:clamp(20px,2vw,26px);line-height:1.15;text-transform:uppercase}

/* secciones */
.sec{padding:clamp(56px,8vw,110px) 0}
.alt{background:var(--azul-hielo)}
.two{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,6vw,90px);align-items:start}
.stat{margin-top:1.5em;display:flex;align-items:baseline;gap:12px}
.stat strong{font-size:clamp(56px,7vw,96px);line-height:1;color:var(--cian-osc)}
.stat span{font:700 16px/1 var(--font);text-transform:uppercase;letter-spacing:2px;color:var(--gris-suave)}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);margin-top:clamp(28px,4vw,52px)}
.feat img{width:122px;height:122px;margin-bottom:20px}
.feat p{font-size:18px;line-height:1.7;color:#1c1c1c}

/* catálogo */
.chips{position:sticky;top:var(--header-h);z-index:50;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-block:1px solid var(--linea);margin-top:clamp(24px,3vw,40px)}
.chips ul{display:flex;gap:6px 22px;overflow-x:auto;padding-block:12px;scrollbar-width:none}
.chips ul::-webkit-scrollbar{display:none}
.chips a{white-space:nowrap;font:700 13px/1 var(--font);text-transform:uppercase;letter-spacing:2px;color:var(--negro);padding:8px 2px;border-bottom:2px solid transparent}
.chips a:hover,.chips a.on{color:var(--cian-osc);border-color:var(--cian)}
.line{padding-top:clamp(48px,7vw,96px)}
.line-head{display:grid;grid-template-columns:4fr 8fr;gap:clamp(20px,5vw,80px);margin-bottom:clamp(28px,4vw,52px);align-items:start}
.line-head h2{text-transform:uppercase}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px) clamp(20px,2.4vw,36px)}
.cards.n4{grid-template-columns:repeat(2,1fr)}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:18px}
.card h3{margin-bottom:.4em}
.card p{font-size:16px;color:#2a2a2a;margin:0}

/* causas / parallax */
.causes{position:relative;overflow:clip;color:#fff;padding:clamp(90px,14vw,180px) 0 clamp(80px,13vw,171px);isolation:isolate;view-timeline:--causes block}
.causes-bg{position:absolute;inset:-12% 0;z-index:-2;background:center/cover no-repeat;will-change:transform}
.causes-shade{position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.58)}
.causes-in{max-width:calc(900px + 2*var(--gutter));text-align:center}
.causes h2{color:#fff}
.causes .lead{font-size:clamp(17px,1.6vw,20px);color:#f2f2f2;margin-bottom:2em}
.pills{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.pills li{padding:12px 24px;border:2px solid var(--verde);color:var(--verde);font:700 15px/1 var(--font);text-transform:uppercase;letter-spacing:2px;border-radius:var(--radius)}
@supports ((animation-timeline:view()) and (animation-range:entry)){
  @keyframes drift{from{transform:translateY(-9%)}to{transform:translateY(9%)}}
  .causes-bg{animation:drift linear both;animation-timeline:--causes;animation-range:cover}
}

/* beneficiarios */
.ben{padding:clamp(36px,5vw,64px) 0}
.ben.alt{background:var(--azul-hielo)}
.ben-grid{display:grid;grid-template-columns:6fr 6fr;gap:clamp(24px,5vw,72px);align-items:start}
.strip{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.strip li:first-child{grid-column:1/-1}
.strip img{width:100%;aspect-ratio:3/2;object-fit:cover}
.strip li:not(:first-child) img{aspect-ratio:1/1}

/* ODS */
.sdg{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.4vw,32px) clamp(24px,4vw,64px);margin:clamp(32px,4vw,56px) 0}
.sdg li{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:start;padding-top:20px;border-top:1px solid var(--linea)}
.sdg img{width:96px;height:96px}
.sdg h3{font-size:19px;margin-bottom:.35em}
.sdg p{font-size:15px;line-height:1.6;margin:0;color:#2a2a2a}
.two2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);margin-top:clamp(28px,4vw,48px);background:var(--azul-hielo);padding:clamp(24px,4vw,48px)}
.clist{counter-reset:c}
.clist li{padding:10px 0;border-bottom:1px solid var(--linea);font-size:18px;counter-increment:c}
.clist:not(.plain) li::before{content:counter(c) ".";display:inline-block;width:1.8em;color:var(--cian-osc);font-weight:700}
.clist.plain li::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--verde);margin-right:14px}

/* artesanal */
.art-intro{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,5vw,80px);align-items:center;margin-bottom:clamp(40px,6vw,80px)}
.art-intro img{width:100%;aspect-ratio:1/1;object-fit:cover}
.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:clamp(28px,4vw,48px) 0}
.pillars li{text-align:center;font:700 14px/1.3 var(--font);text-transform:uppercase;letter-spacing:1.5px}
.pillars img{width:64px;height:64px;margin:0 auto 12px;object-fit:contain}
.cols6{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:clamp(20px,3vw,32px) 0 clamp(36px,5vw,64px)}
.cols6 img{width:100%;aspect-ratio:1/1;object-fit:cover}
.grp{padding:clamp(28px,4vw,52px) 0;border-top:1px solid var(--linea)}
.grp>header{max-width:70ch;margin-bottom:24px}
.grp>header h3{margin-bottom:.15em}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags li{padding:7px 14px;background:#fff;border:1px solid var(--linea);font-size:14px;font-weight:500}
.prod{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.prod.p6{grid-template-columns:repeat(3,1fr)}
.prod.p4{grid-template-columns:repeat(4,1fr)}
.prod.p2{grid-template-columns:repeat(2,1fr);max-width:640px}
.prod li{background:#fff}
.prod img{width:100%;aspect-ratio:3/2;object-fit:contain}
.values{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin:24px 0 clamp(32px,4vw,52px)}
.values li{text-align:center}
.values img{width:80px;height:80px;margin:0 auto 12px;object-fit:contain}
.values h4{margin-bottom:.3em}
.values p{font-size:15px;color:var(--gris-texto);margin:0}
.big{font-size:clamp(26px,3.6vw,44px);font-weight:700;text-transform:uppercase;line-height:1.15;margin:0}

/* footer */
.site-footer{background:var(--gris-oscuro);color:var(--gris-pie);font-size:15px}
.foot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,5vw,72px);padding-block:clamp(48px,6vw,80px)}
.site-footer h4{font-size:24px;color:#fff;margin-bottom:.8em}
.site-footer li{margin-bottom:.55em}
.site-footer a{color:#fff;font-size:18px;transition:color .2s}
.site-footer a:hover{color:var(--cian)}
.site-footer li>span{font-size:18px}
.foot-bar{border-top:1px solid rgba(255,255,255,.16)}
.foot-bar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:20px}
.foot-bar p{margin:0;font-size:14px}
.credit{opacity:.7}.credit a{font-size:14px;text-decoration:underline;text-underline-offset:3px}
.to-top{position:fixed;right:20px;bottom:20px;width:48px;height:48px;background:var(--verde);color:#fff;display:grid;place-items:center;font-size:22px;opacity:0;pointer-events:none;transition:opacity .25s;z-index:90}
.to-top.show{opacity:1;pointer-events:auto}

/* entradas al scroll */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

@media (max-width:1024px){
  .cards,.cards.n4{grid-template-columns:repeat(2,1fr)}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .cols6{grid-template-columns:repeat(3,1fr)}
  .values,.pillars{grid-template-columns:repeat(3,1fr)}
  .prod.p4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  :root{--header-h:64px}
  .nav-toggle{display:flex}
  .menu{position:fixed;inset:var(--header-h) 0 auto 0;background:rgba(56,56,59,.98);padding:12px var(--gutter) 24px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}
  .menu.open{opacity:1;visibility:visible;transform:none}
  .menu ul{flex-direction:column;align-items:flex-start;gap:4px}
  .menu li{width:100%}.menu a{display:block;padding:14px 0;font-size:20px}
  .dot{display:none}
  .site-header.open{background:rgba(56,56,59,.98)}
  .nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .two,.line-head,.ben-grid,.art-intro,.two2{grid-template-columns:1fr}
  .cols3,.foot-grid{grid-template-columns:1fr}
  .sdg{grid-template-columns:1fr}
  .art-intro .reveal:last-child{order:-1}
  .causes-bg{inset:0;background-attachment:scroll}
}
@media (max-width:560px){
  .cards,.cards.n4,.tiles{grid-template-columns:1fr}
  .cols6,.prod.p6{grid-template-columns:repeat(2,1fr)}
  .values,.pillars{grid-template-columns:repeat(2,1fr)}
  .sdg li{grid-template-columns:72px 1fr}.sdg img{width:72px;height:72px}
  .hero{min-height:88svh}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  .causes-bg{animation:none!important}
  .tiles img,.more::before,.more::after{transition:none}
}
@media print{.site-header,.to-top,.chips{display:none}.js .reveal{opacity:1;transform:none}.hero{min-height:auto}}

/* ===================== Camaleón: componentes propios ===================== */
.brand{display:block;flex:none}.brand img{width:150px;height:auto}
.btn-wa{background:#25d366;color:#fff;display:inline-flex;align-items:center;gap:10px}
.btn-wa:hover{background:#1da851}
.btn-lg{padding:22px 34px;font-size:20px}
.hero .btn+.btn{margin-left:8px}
.menu a.hdr-wa{padding:16px 28px;font:700 15px/1 var(--font);letter-spacing:2px;white-space:nowrap;border:0;border-radius:var(--radius);margin-left:clamp(12px,2vw,28px);color:#fff}
.menu{display:flex;align-items:center}
.menu a[aria-current=page]{border-color:var(--verde)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* hero de páginas interiores */
.phero{position:relative;display:flex;align-items:flex-end;min-height:clamp(380px,58vh,560px);color:#fff;overflow:hidden;background:#16212a}
.phero.phero-s{min-height:clamp(300px,42vh,400px)}
.phero .hero-in{padding-block:calc(var(--header-h) + 60px) clamp(36px,5vw,64px);width:100%}
.phero h1{font-size:clamp(30px,4.6vw,60px);text-transform:uppercase;line-height:1.08;max-width:22ch;color:#fff;margin-bottom:.3em}
.phero .eyebrow{color:var(--verde)}.phero .eyebrow a{color:inherit}
.phero .lead{font-size:clamp(17px,1.6vw,21px);max-width:60ch;margin:0}
.phero-post h1{text-transform:none;font-size:clamp(26px,3.6vw,44px);max-width:30ch}

/* tiles de 4 */
.tiles.t4{grid-template-columns:repeat(4,1fr)}
.tiles.t4 .tile-t strong{font-size:clamp(17px,1.6vw,21px)}
.tiles.t4 a{aspect-ratio:3/4}
.feat h3{font-size:clamp(20px,1.9vw,24px)}

/* galería últimos proyectos */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px);margin-top:clamp(24px,3vw,40px)}
.gallery li{position:relative;overflow:hidden;background:#111}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}
.gallery li:hover img{transform:scale(1.05)}
.gallery span{position:absolute;inset:auto 0 0 0;padding:34px 14px 12px;color:#fff;font-weight:700;font-size:15px;line-height:1.25;background:linear-gradient(transparent,rgba(0,0,0,.78))}

/* testimonios */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,48px);margin-top:clamp(28px,4vw,48px)}
.quotes blockquote{margin:0 0 20px;padding:0 0 0 22px;border-left:3px solid var(--verde)}
.quotes p{font-size:17px;line-height:1.7;color:#1c1c1c;margin:0}
.who{display:flex;align-items:center;gap:14px}.who img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.who strong{text-transform:uppercase;letter-spacing:1.5px;font-size:14px}

/* tarjetas de blog */
.card .meta{font:700 13px/1.4 var(--font);text-transform:uppercase;letter-spacing:1.8px;color:#777;margin:0 0 .4em}
.card h3 a:hover{color:var(--cian-osc)}
.card .more{margin-top:1em}
.card-img{display:block;overflow:hidden;margin-bottom:18px;background:var(--azul-hielo)}
.card-img img{margin:0;transition:transform .5s}
.card-img:hover img{transform:scale(1.04)}
.noimg{display:block;aspect-ratio:3/2;background:var(--azul-hielo)}
.card p{margin-bottom:.5em}
.blog-grid{grid-template-columns:repeat(3,1fr)}

/* dos columnas, misión/visión, fotos */
.two2c{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,90px);align-items:center}
.photo{width:100%;aspect-ratio:16/10;object-fit:cover}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,90px)}
.mv h2{font-size:clamp(24px,2.6vw,32px)}
.valores{width:100%;max-width:1100px;height:auto;margin:clamp(20px,3vw,36px) auto 0}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(28px,4vw,52px)}
.team li{text-align:center}
.team img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 20%;margin-bottom:16px}
.team h3{font-size:20px;margin-bottom:.2em}.team p{font-size:15px;color:var(--gris-suave);margin:0;line-height:1.5}
.allies{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(14px,2vw,28px);margin-top:clamp(28px,4vw,48px);align-items:center}
.allies img{width:100%;max-height:96px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s}
.allies li:hover img{filter:none;opacity:1}

/* servicios */
.svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,4vw,56px)}
.svc{padding:26px 0 30px;border-top:1px solid var(--linea)}
.svc .num{display:block;font:700 14px/1 var(--font);letter-spacing:2px;color:var(--cian-osc);margin-bottom:14px}
.svc h3{font-size:clamp(19px,1.8vw,22px)}.svc p{color:#2a2a2a;margin:0 0 .6em}
.lines4{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,56px);margin-top:clamp(28px,4vw,48px)}
.lines4 article{background:#fff;padding:clamp(22px,3vw,36px)}
.lines4 .clist{margin-top:1em}
.program{background:var(--gris-oscuro);color:#fff;padding:clamp(28px,5vw,64px);margin-top:clamp(24px,3vw,40px)}
.program h3{color:#fff;font-size:clamp(24px,3vw,34px);text-transform:uppercase}.program .eyebrow{color:var(--verde)}
.program p{color:#e6e6e6;max-width:70ch}
.facts{display:flex;flex-wrap:wrap;gap:12px clamp(24px,5vw,64px);margin:1.4em 0}
.facts strong{display:block;font-size:clamp(34px,4.5vw,56px);line-height:1;color:var(--verde)}
.facts span{font:700 13px/1.3 var(--font);text-transform:uppercase;letter-spacing:1.5px;color:#ccc}
.cursos{columns:2;column-gap:clamp(24px,5vw,72px);max-width:1000px;margin:1.6em auto 0}
.cursos li{break-inside:avoid;padding:10px 0 10px 28px;border-bottom:1px solid var(--linea);position:relative;font-size:17px}
.cursos li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:10px;border-radius:50%;background:var(--cian)}

/* proyectos */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}
.stats strong{display:block;font-size:clamp(44px,5.5vw,76px);line-height:1;color:var(--cian-osc)}
.stats span{font:700 13px/1.35 var(--font);text-transform:uppercase;letter-spacing:1.6px;color:var(--gris-suave)}
.projs{margin-top:clamp(32px,5vw,64px)}
.proj{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(24px,3.5vw,44px) 0;border-top:1px solid var(--linea)}
.proj.rev .proj-img{order:2}
.proj-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.proj h3{font-size:clamp(22px,2.4vw,30px);text-transform:uppercase}
.proj p{color:#222}

/* contacto */
.cform{background:var(--azul-hielo);padding:clamp(24px,4vw,44px)}
.cform label{display:block;font:700 13px/1.3 var(--font);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;color:var(--gris-texto)}
.cform input,.cform textarea{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid #c9d7e1;border-radius:var(--radius);font:400 16px/1.4 var(--font);background:#fff;color:#000}
.cform input:focus,.cform textarea:focus{outline:3px solid var(--cian);outline-offset:1px}
.cform .btn{border:0;cursor:pointer}
.cform .fine{font-size:13px;color:var(--gris-suave);margin:14px 0 0}
.cont-list{margin:1.2em 0 1.6em}.cont-list li{font-size:20px}.cont-list a:hover{color:var(--cian-osc)}
.cta-band h2{font-size:clamp(24px,3vw,36px);max-width:26ch;margin-inline:auto}
.contact-line{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;font-size:18px;color:var(--gris-texto)}
.contact-line a:hover{color:var(--cian-osc)}

/* redes */
.social{display:flex;gap:10px;margin-top:20px}
.social a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff!important;font-size:0!important;transition:transform .2s}
.social a:hover{transform:translateY(-3px)}
.s-wa{background:#25d366}.s-fb{background:#3b5998}.s-ig{background:#d62976}.s-li{background:#0a66c2}

/* footer */
.foot-grid{grid-template-columns:1.3fr 1fr 1.2fr}
.foot-brand img{width:180px;margin-bottom:18px}
.foot-brand p{font-size:15px;line-height:1.7;max-width:46ch}
.h4b{margin-top:1.4em}
.credit{opacity:1}.credit a{color:#ff8a1f;font-size:14px;text-decoration:none;font-weight:700}
.credit a:hover{text-decoration:underline}

/* entradas del blog y texto legal */
.narrow{max-width:calc(820px + 2*var(--gutter))}
.post-feat{margin:0 0 2em}.post-feat img{width:100%;height:auto}
.post-body{font-size:18px;line-height:1.8}
.post-body h2,.post-body h3{margin-top:1.6em}
.post-body img{height:auto;margin:1.6em auto}
.post-body iframe{max-width:100%}
.post-body a,.legal a{color:var(--cian-osc);text-decoration:underline;text-underline-offset:3px}
.post-body ul,.legal ul{list-style:disc;padding-left:1.4em;margin:0 0 1em}.post-body ol,.legal ol{list-style:decimal;padding-left:1.4em;margin:0 0 1em}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:3em;padding-top:1.6em;border-top:1px solid var(--linea)}
.post-nav a{display:block;font-weight:700;line-height:1.3}.post-nav span{display:block;font:700 12px/1 var(--font);text-transform:uppercase;letter-spacing:2px;color:var(--cian-osc);margin-bottom:8px}
.post-nav .pn-next{text-align:right}.post-nav a:hover{color:var(--cian-osc)}
.legal{font-size:16px}.legal h2{font-size:20px;text-transform:uppercase;margin-top:2em;letter-spacing:.5px}
.legal .tbl{overflow-x:auto;margin:1em 0}.legal table{border-collapse:collapse;width:100%}.legal td{border:1px solid var(--linea);padding:10px 14px;vertical-align:top}

/* ===================== responsive ===================== */
@media (max-width:1100px){
  .team{grid-template-columns:repeat(3,1fr)}
  .allies{grid-template-columns:repeat(4,1fr)}
  .tiles.t4{grid-template-columns:repeat(2,1fr)}.tiles.t4 a{aspect-ratio:4/3}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .svcs{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){.blog-grid,.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){
  .menu{flex-direction:column;align-items:stretch}
  .menu ul{flex-direction:column;align-items:flex-start}
  .menu a.hdr-wa{margin:16px 0 0;display:inline-flex;justify-content:center;font-size:16px;padding:18px 28px}
  .quotes,.two2c,.mv,.lines4,.proj{grid-template-columns:1fr}
  .proj.rev .proj-img{order:0}
  .foot-grid{grid-template-columns:1fr}
  .cursos{columns:1}
  .brand img{width:128px}
}
@media (max-width:560px){
  .blog-grid,.cards,.svcs,.tiles.t4{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:1fr 1fr}
  .allies{grid-template-columns:repeat(3,1fr)}
  .stats{grid-template-columns:1fr}
  .hero .btn+.btn{margin:10px 0 0}
  .post-nav{grid-template-columns:1fr}.post-nav .pn-next{text-align:left}
}

.hero .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.46) 60%,rgba(0,0,0,.28))}
.phero .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.4) 70%,rgba(0,0,0,.25))}
.team{display:flex;flex-wrap:wrap;justify-content:center}
.team li{flex:0 1 calc(25% - 30px);min-width:150px}
@media (max-width:1100px){.team li{flex-basis:calc(33.3% - 28px)}}
@media (max-width:560px){.team li{flex-basis:calc(50% - 14px)}}

/* videos verticales (Instagram) */
.reels{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,28px);margin-top:clamp(28px,4vw,48px)}
.reels figure{margin:0}
.reels video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--gris-oscuro)}
.reels figcaption{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between;align-items:center;padding-top:12px;font:700 14px/1.3 var(--font);text-transform:uppercase;letter-spacing:1.4px;color:var(--gris-inst)}
@media (max-width:820px){.reels{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.reels{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-bottom:6px}.reels li{flex:0 0 72%;scroll-snap-align:center}}
