:root{--bg:#F2ECDD;--ink:#2A2D31;--head:#003057;--acc:#3F6683;--line:rgba(42,45,49,.28);--azul:#003057;--papel:#F2ECDD;--menta:#7EE3CF;--carbon:#2A2D31;--serif:'Galaxi Copernicus',Newsreader,Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#17202a;--ink:#F2ECDD;--head:#F2ECDD;--acc:#7EE3CF;--line:rgba(242,236,221,.28)}}
:root[data-theme=dark]{--bg:#17202a;--ink:#F2ECDD;--head:#F2ECDD;--acc:#7EE3CF;--line:rgba(242,236,221,.28)}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(76px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.6 var(--serif)}
a{color:inherit;text-decoration:none}
img{max-width:100%}
a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
h1,h2,h3{margin:0}
.wrap{max-width:1100px;margin:0 auto;padding:96px 24px}
.eyebrow{display:flex;align-items:center;gap:10px;font:15px var(--sans);color:var(--acc);margin-bottom:12px}
.eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;border-radius:999px;font:600 16px var(--sans);background:#fff;color:var(--azul);white-space:nowrap;text-align:center;box-shadow:0 2px 14px rgba(0,33,64,.35);transition:opacity .2s}
.pill:hover{opacity:.88}
.pill.dk{background:var(--azul);color:var(--papel);border:1.5px solid rgba(242,236,221,.4);box-shadow:none}
.link:hover{text-decoration:underline}
/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--azul);border-bottom:1px solid rgba(126,227,207,.35);color:var(--papel)}
.bar{max-width:1100px;margin:0 auto;padding:14px 24px;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.bar nav{display:flex;align-items:center;flex:1;gap:28px;margin-left:40px;font:600 14.5px var(--sans);white-space:nowrap}
.nb{display:flex;gap:12px;margin-left:auto}
.bar .nb a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border:1.5px solid #fff;border-radius:999px;background:#fff;color:var(--azul);font:600 15px var(--sans)}
.bar .nb a:hover{opacity:.88}
.act{display:flex;align-items:center;gap:12px}
.act .pill{min-height:44px;padding:12px 24px;font-size:15px;font-weight:700;box-shadow:none}
.burger{display:none;width:44px;height:44px;border-radius:8px;border:1px solid rgba(242,236,221,.4);background:none;color:var(--papel);font-size:22px;cursor:pointer}
@media(max-width:1040px){.bar nav{gap:20px;margin-left:20px;font-size:14px}.nb{gap:10px}.bar .nb a{padding:10px 16px;font-size:14px}}
@media(max-width:760px){.burger{display:block}.bar nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;padding:8px 24px 16px;background:var(--azul);border-bottom:1px solid rgba(126,227,207,.35)}.bar nav a{padding:14px 0}.bar nav{margin-left:0;align-items:stretch}.nb{margin:12px 0 0}.bar .nb a{flex:1;padding:10px 22px}header.open nav{display:flex}}
@media(max-width:480px){.act .pill{padding:10px 16px;font-size:14px}.bar{gap:10px;padding:14px 16px}}
/* fondos con malla y grano */
.mesh{position:absolute;inset:-10%;background:radial-gradient(45% 55% at 50% 45%,rgba(0,33,64,.85),rgba(0,33,64,0)),radial-gradient(45% 55% at 98% 55%,rgba(63,102,131,.9),rgba(63,102,131,0)),radial-gradient(50% 60% at 78% 108%,rgba(126,227,207,.55),rgba(126,227,207,0)),radial-gradient(55% 60% at 12% 105%,rgba(242,236,221,.5),rgba(242,236,221,0)),radial-gradient(50% 65% at 95% 5%,rgba(126,227,207,.7),rgba(126,227,207,0)),radial-gradient(55% 70% at 8% 5%,rgba(63,102,131,.95),rgba(63,102,131,0));animation:dr 16s ease-in-out infinite alternate}
@keyframes dr{0%{transform:translate(-6%,-4%) scale(1)}100%{transform:translate(7%,5%) scale(1.18) rotate(4deg)}}
@keyframes dq{0%{transform:translate(8%,4%) scale(1.15) rotate(-5deg)}100%{transform:translate(-8%,-6%) scale(1)}}
@keyframes dp{0%{transform:translate(-4%,8%) scale(1)}100%{transform:translate(6%,-8%) scale(1.2)}}
.mesh:before,.mesh:after{content:"";position:absolute;inset:0}
.mesh:before{background:radial-gradient(40% 50% at 25% 60%,rgba(126,227,207,.55),rgba(126,227,207,0)),radial-gradient(38% 48% at 80% 35%,rgba(63,102,131,.9),rgba(63,102,131,0));animation:dq 19s ease-in-out infinite alternate}
.mesh:after{background:radial-gradient(35% 45% at 60% 80%,rgba(242,236,221,.4),rgba(242,236,221,0)),radial-gradient(40% 50% at 10% 20%,rgba(0,33,64,.8),rgba(0,33,64,0));animation:dp 23s ease-in-out infinite alternate}
.grain{position:absolute;inset:0;opacity:.3;mix-blend-mode:overlay;pointer-events:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
/* hero */
.hero{position:relative;overflow:hidden;display:flex;min-height:720px;background:var(--azul);color:var(--papel)}
.hero .in{position:relative;z-index:2;margin:auto;max-width:1100px;padding:96px 24px;display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}
h1{max-width:980px;font:500 clamp(36px,4.6vw,66px)/1.06 var(--serif);letter-spacing:-.02em}
.lead{max-width:700px;margin:0;font-size:20px;line-height:1.55}
.btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
/* quiénes somos / impacto */
.sec{border-top:1px solid rgba(128,128,128,.22)}
h2.big{margin-bottom:32px;font:600 clamp(34px,5vw,60px)/1.05 var(--serif);color:var(--head);letter-spacing:-.02em}
h2.big.m{margin-bottom:48px;font-size:clamp(34px,5vw,56px)}
.two{display:flex;flex-wrap:wrap;gap:16px 56px}
.two>*{flex:1 1 340px;min-width:0;max-width:520px;margin:0}
.two.top{margin-bottom:72px;font-size:19px;line-height:1.5}
.two.end{align-items:flex-end;margin-bottom:32px}
.two.end p{font-size:17px;line-height:1.5}
h3.md{font:600 clamp(28px,3.4vw,40px)/1.1 var(--serif);color:var(--head);letter-spacing:-.015em}
.cards{display:flex;flex-wrap:wrap;gap:16px}
.card{flex:1 1 280px;min-height:260px;padding:24px;border-radius:14px;background:var(--azul);color:var(--papel);display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.card small{display:block;margin-bottom:6px;font:600 16px var(--sans);color:var(--menta)}
.card h3{font:600 clamp(26px,2.6vw,32px)/1.1 var(--serif);letter-spacing:-.01em}
.card p{margin:0;max-width:320px;font:17px/1.45 var(--sans)}
/* creencias en pestañas */
.tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:40px;border-bottom:1px solid var(--line);scrollbar-width:none}
.tabs button{flex:none;margin-bottom:-1px;padding:14px 16px;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink);opacity:.7;font:600 18px var(--sans);cursor:pointer}
.tabs button[aria-selected=true]{opacity:1;color:var(--head);border-color:var(--head)}
.panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center}
.panel[hidden]{display:none}
.panel img{display:block;width:100%;aspect-ratio:6/5;object-fit:cover;border-radius:14px}
.panel .kick{margin:0 0 16px;max-width:460px;font:600 17px/1.35 var(--sans);color:var(--head)}
.panel .body{margin:0 0 28px;max-width:460px;font-size:clamp(19px,2vw,23px);line-height:1.45}
@media(max-width:860px){.panel{grid-template-columns:1fr;gap:28px}}
/* cómo operamos */
.ops{background:var(--menta);color:var(--carbon)}
.ops .eyebrow{color:var(--carbon)}
.ops h2{max-width:640px;margin-bottom:56px;font:500 clamp(32px,4.6vw,56px)/1.08 var(--serif);letter-spacing:-.02em}
.opsg{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.vis{position:relative;overflow:hidden;aspect-ratio:69/50;border-radius:14px;background:var(--azul)}
.vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}
.vis img.on{opacity:1}
#p2 img{object-position:50% 68%}
#p3 img{object-position:50% 45%}
.fr{display:flex;flex-direction:column;gap:32px}
.fr article{padding-left:24px;border-left:2px solid rgba(42,45,49,.22);cursor:pointer;transition:border-color .2s}
.fr article.on{border-color:var(--carbon)}
.fr h3{display:flex;align-items:center;gap:12px;margin-bottom:10px;font:600 20px/1.3 var(--sans)}
.fr svg{flex:none;stroke:var(--azul)}
.fr p{margin:0;font:16.5px/1.6 var(--sans)}
@media(max-width:860px){.opsg{grid-template-columns:1fr;gap:32px}}
/* mentalidades */
.mind{padding:96px 24px 0}
.mcard{position:relative;overflow:hidden;max-width:1100px;margin:0 auto;padding:56px 32px 20px;border-radius:14px;background:#D9EADF;color:#0B4A3A}
.mcard h2{margin:0 0 8px;text-align:center;font:500 clamp(34px,5vw,60px)/1.1 var(--sans);letter-spacing:-.02em}
.arc{position:relative;container-type:inline-size;aspect-ratio:1000/300}
.arc svg{position:absolute;inset:0;width:100%;height:100%}
.nd{position:absolute;width:clamp(34px,6.4cqw,64px);transform:translate(-50%,-50%);will-change:left,top,opacity}
.nd b{display:grid;place-items:center;width:100%;aspect-ratio:1/1.1547;background:#C3F23F;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font:700 clamp(15px,2.6cqw,26px) var(--sans)}
.nd span{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:16cqw;text-align:center;font:500 clamp(11px,2cqw,20px)/1.2 var(--sans)}
/* faq */
h2.faqt{margin-bottom:48px;font:600 clamp(30px,4vw,48px)/1.1 var(--serif);color:var(--head);letter-spacing:-.015em}
.faq{display:flex;flex-wrap:wrap;gap:0 56px;align-items:flex-start}
.faq>div{flex:1 1 400px;min-width:0;border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;font:600 17px var(--sans)}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";flex:none;font-size:28px;font-weight:300;line-height:1}
details[open] summary:after{content:"\2212"}
.ans{display:flex;flex-direction:column;gap:12px;max-width:560px;padding:0 0 24px;font-size:17px;line-height:1.6}
.ans p{margin:0}
/* cta + boletín */
.gap{max-width:1100px;margin:0 auto;padding:0 24px 24px}
.gap:last-of-type{padding-bottom:96px}
.cta,.news{position:relative;overflow:hidden;border-radius:14px;background:var(--azul);color:var(--papel)}
.cta{min-height:340px;display:flex;align-items:center}
.cta .in{position:relative;z-index:2;max-width:620px;padding:56px 64px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.cta h2{font:500 clamp(32px,3.6vw,46px)/1.08 var(--serif);letter-spacing:-.02em}
.cta p{margin:0 0 12px;max-width:480px;font:17px/1.5 var(--sans)}
.news{padding:56px 60px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:40px}
.news>div{flex:1 1 420px;min-width:0;max-width:620px}
.news .k{margin-bottom:14px;font:600 13px var(--sans);letter-spacing:.04em;color:var(--menta)}
.news h2{margin-bottom:32px;font:700 clamp(24px,2.6vw,32px)/1.3 var(--serif)}
form{display:flex;flex-wrap:wrap;gap:12px;font-family:var(--sans)}
input{flex:1 1 260px;min-width:0;height:52px;padding:0 18px;border:0;border-radius:8px;background:var(--papel);color:var(--carbon);font:16px var(--sans)}
.news button{height:52px;padding:0 28px;border-radius:8px;border:1px solid rgba(242,236,221,.4);background:var(--acc);color:var(--papel);font:700 16px var(--sans);cursor:pointer}
#msg{flex-basis:100%;min-height:1.4em;margin:0;font:15px var(--sans)}
.news svg{flex:1 1 220px;max-width:250px;height:auto;margin:0 auto}
@media(max-width:600px){.cta .in{padding:40px 28px}.news{padding:40px 28px}}
/* footer */
footer{background:var(--carbon);color:var(--papel)}
.ft{max-width:1100px;margin:0 auto;padding:96px 24px 40px;display:flex;flex-wrap:wrap;gap:56px;justify-content:space-between}
.brand{flex:1 1 360px;max-width:460px;min-width:0}
.lg{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;color:#8DB4D3}
.lg img{width:64px;height:86px;object-fit:contain}
.lg span{font-size:42px;line-height:1;font-weight:500;letter-spacing:-.01em}
.brand p{margin:32px 0;font:20px/1.5 var(--sans)}
.soc{display:flex;gap:28px}
.soc svg{fill:none;stroke:#8DB4D3;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
footer nav{flex:0 1 460px;min-width:0;display:flex;flex-wrap:wrap;gap:0 56px;padding-top:24px;font:20px var(--sans)}
footer nav div{display:flex;flex-direction:column;gap:24px;min-width:140px}
.copy{max-width:1100px;margin:0 auto;padding:40px 24px 48px;font:16px/1.6 var(--sans)}
@media(prefers-reduced-motion:reduce){.mesh,.mesh:before,.mesh:after{animation:none}.vis img,.fr article{transition:none}html{scroll-behavior:auto}}
/* contacto */
.ct h1{margin:0 0 20px;color:var(--head);font-size:clamp(40px,6vw,64px)}
.ct .intro{max-width:620px;margin:0 0 48px;font-size:19px;line-height:1.55}
.ct h2.sub{margin:0 0 24px;font:600 24px/1.2 var(--serif);color:var(--head)}
.ct form{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;max-width:720px}
.ct label{display:block;margin-bottom:6px;font:600 14px var(--sans)}
.ct label i{color:var(--acc);font-style:normal}
.ct input,.ct select,.ct textarea{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);font:16px var(--sans)}
.ct textarea{height:160px;padding:12px;resize:vertical}
.ct select:focus-visible,.ct textarea:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.ct .full,.ct #msg{grid-column:1/-1}
.ct .hint{margin:0 0 6px;font:13px var(--sans);opacity:.75}
.ct .note{margin:0;font:14px/1.5 var(--sans);opacity:.8}
.who{background:rgba(128,128,128,.12)}
.who .lead2{max-width:620px;margin:0;font-size:19px;line-height:1.55}
.ppl{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px;margin-top:40px}
.ppl div{padding:20px 0 28px;border-top:1px solid var(--line)}
.ppl h3{margin:0 0 8px;font:600 18px/1.3 var(--sans);color:var(--head)}
.ppl p{margin:0;font:15.5px/1.55 var(--sans)}
@media(max-width:860px){.ppl{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ct form,.ppl{grid-template-columns:1fr}}
/* consentimiento y páginas legales */
.ck{display:flex;gap:10px;align-items:flex-start;flex-basis:100%;font:14px/1.5 var(--sans)}
.ck input,.ct .ck input{flex:none;width:18px;height:18px;height:18px;margin:2px 0 0;padding:0;accent-color:var(--acc)}
.ck a{text-decoration:underline}
.legal .wrap{max-width:780px}
.legal h1{margin:0 0 8px;color:var(--head);font-size:clamp(32px,5vw,48px)}
.legal h2{margin:36px 0 10px;font:600 22px/1.3 var(--serif);color:var(--head)}
.legal p,.legal li{font:17px/1.65 var(--sans);margin:0 0 12px}
.legal ul{padding-left:22px;margin:0 0 12px}
.legal .upd{opacity:.75;font-size:14px}
.legal a{text-decoration:underline}
.legal mark{background:#FFD23F;color:#2A2D31;padding:0 4px;border-radius:3px}
