:root{
  --teal:#22a7c7; --teal-dark:#0b6d9d; --pink:#ed1a8c; --pink-2:#c51c7c;
  --orange:#ff941f; --purple:#6935a6; --green:#54c845; --blue:#2e5bb0;
  --ink:#22262b; --muted:#69727a; --paper:#f8f8f6; --white:#fff;
  --line:#dfe2e3; --shadow:0 18px 50px rgba(20,30,40,.12);
  --display:"Bebas Neue", Impact, sans-serif;
  --body:"Nunito Sans", Arial, sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);overflow-x:hidden}
img{max-width:100%;display:block} a{text-decoration:none;color:inherit} button{font:inherit}
.nav{position:fixed;z-index:50;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 5vw;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.05)}
.brand img{width:92px;height:60px;object-fit:contain}
.nav-links{display:flex;gap:24px;font-family:var(--display);font-size:17px;letter-spacing:.5px}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:3px;background:var(--pink);transition:.3s}.nav-links a:hover:after{width:100%}
.menu-toggle{display:none;border:0;background:none;font-size:25px}.section-pad{padding:150px 7vw 80px}
.hero{min-height:100vh;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;position:relative;overflow:hidden;background:#fff}
.hero-copy{max-width:700px;position:relative;z-index:3}.eyebrow{font-family:var(--display);letter-spacing:1.5px;font-size:18px;margin:0 0 18px}.teal{color:var(--teal)}.pink{color:var(--pink)}.purple{color:var(--purple)}.aqua{color:#64e8e3}.white{color:#fff}
.hero h1,.section-head h2,.blog-head h2,.vision-band h2,.contact h2,.impact h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.2px}
.hero h1{font-size:clamp(68px,8.6vw,132px);line-height:.82;margin:0 0 28px}.hero h1 span{color:var(--teal)}
.hero-text{font-size:18px;line-height:1.65;max-width:650px;color:#4c5359}.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:14px;padding:15px 22px;border-radius:100px;font-weight:900;font-size:14px;transition:.25s}.btn-primary{background:linear-gradient(90deg,var(--pink),#ff4d75);color:#fff;box-shadow:0 10px 25px rgba(237,26,140,.22)}.btn-primary:hover{transform:translateY(-3px)}.btn-ghost{border:1px solid #cfd2d5}.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.hero-visual{height:560px;position:relative;display:grid;place-items:center}.hero-photo{width:min(540px,90%);aspect-ratio:1.15;border-radius:48% 52% 36% 64% / 55% 37% 63% 45%;overflow:hidden;box-shadow:0 30px 90px rgba(20,45,80,.24);position:relative;z-index:2}.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo:after{content:"";position:absolute;inset:auto 0 0 0;height:36%;background:linear-gradient(180deg,transparent,rgba(17,103,183,.6))}
.hero-icon{position:absolute;width:280px;opacity:.12;right:-35px;bottom:5px;z-index:1}.floating-pill{position:absolute;padding:10px 16px;background:#fff;border-radius:99px;box-shadow:var(--shadow);font-weight:900;font-size:13px;z-index:4}.p1{top:14%;right:2%;color:var(--pink)}.p2{bottom:20%;left:2%;color:var(--teal-dark)}.p3{top:50%;right:-1%;color:var(--purple)}
.ribbon{position:absolute;border-radius:100px;transform:rotate(-28deg);opacity:.9}.ribbon-a{width:680px;height:90px;right:-190px;top:55px;background:linear-gradient(90deg,var(--pink),var(--orange))}.ribbon-b{width:420px;height:66px;left:-250px;bottom:70px;background:linear-gradient(90deg,var(--teal),var(--pink))}
.scroll-cue{position:absolute;bottom:25px;left:7vw;font-family:var(--display);letter-spacing:2px;color:#9ca1a5}.scroll-cue span{font-size:18px;margin-left:8px}
.section{padding:110px 7vw}.section-light{background:#f8f8f6}.section-head{max-width:850px;margin-bottom:60px}.section-head h2,.blog-head h2{font-size:clamp(58px,7vw,96px);line-height:.87;margin:0 0 22px}.section-head h2 em,.blog-head h2 em{font-style:normal;color:var(--pink)}.section-head>p:last-child{color:var(--muted);font-size:17px;line-height:1.6}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.statement{background:#fff;border-radius:28px;padding:50px;box-shadow:var(--shadow);position:relative;overflow:hidden}.statement:before{content:"";position:absolute;right:-80px;top:-80px;width:200px;height:200px;border-radius:50%;background:rgba(34,167,199,.1)}.big-number{font:400 120px/1 var(--display);color:var(--teal);opacity:.22}.statement p{font-size:22px;line-height:1.55;margin:10px 0 0;position:relative}.values{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.value-card{padding:24px;border:1px solid #ddd;border-radius:20px;background:#fff;transition:.25s}.value-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.value-card b{font-family:var(--display);font-size:19px;color:var(--pink);display:block;margin-bottom:14px}.value-card strong{font:400 34px var(--display);display:block;text-transform:uppercase}.value-card span{color:var(--muted);font-size:13px}
.vision-band{background:linear-gradient(120deg,#0b719e,#23a9c7);color:#fff;padding:90px 7vw;position:relative;overflow:hidden}.vision-inner{position:relative;z-index:2;max-width:950px}.vision-band h2{font-size:clamp(56px,6.5vw,94px);line-height:.87;margin:0 0 22px}.vision-band h2 span{color:#173f52}.vision-band p:last-child{font-size:18px;max-width:680px;line-height:1.6}.vision-mark{position:absolute;width:430px;right:-90px;top:-90px;opacity:.11;transform:rotate(-5deg)}
.timeline-section{background:#fff}.timeline-wrap{position:relative;overflow:auto;padding:20px 0 35px}.timeline{display:grid;grid-template-columns:repeat(16,230px);gap:24px;min-width:4050px;padding:20px 0}.timeline-line{height:4px;background:linear-gradient(90deg,var(--teal),var(--pink),var(--orange));position:absolute;left:0;right:0;top:45px;border-radius:4px}.timeline-item{position:relative;padding-top:55px}.timeline-item:before{content:"";position:absolute;top:36px;left:0;width:20px;height:20px;border:5px solid #fff;border-radius:50%;background:var(--pink);box-shadow:0 0 0 3px var(--pink)}.timeline-item span{font:400 48px var(--display);color:var(--teal-dark)}.timeline-item h3{font:400 27px var(--display);text-transform:uppercase;margin:8px 0}.timeline-item p{color:var(--muted);font-size:13px;line-height:1.55;max-width:190px}
.section-dark{background:#202a2d;color:#fff}.section-dark .section-head>p:last-child{color:#b7c0c3}.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.model-card{border-radius:28px;padding:0 26px 28px;min-height:455px;position:relative;overflow:hidden;transition:.3s}.model-card:hover{transform:translateY(-8px)}.model-card:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-70px;bottom:-70px;background:rgba(255,255,255,.12)}.model-card.blue{background:#188fb9}.model-card.green{background:#57b946}.model-card.orange{background:#f49a22}.model-card.pink{background:#c93899}.card-photo{height:165px;margin:0 -26px 20px;overflow:hidden}.card-photo img{width:100%;height:100%;object-fit:cover}.model-index{font-family:var(--display);font-size:18px;letter-spacing:2px}.model-card h3{font:400 44px/.85 var(--display);text-transform:uppercase;margin:14px 0}.model-card p{font-size:14px;line-height:1.55;margin:20px 0;color:rgba(255,255,255,.92)}.card-link{border:0;background:transparent;color:#fff;font-weight:900;padding:0;cursor:pointer;position:relative;z-index:2}.card-link span{margin-left:12px}
.programs{background:#f8f8f6}.program-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.tab{border:1px solid #d2d4d2;background:#fff;padding:15px 23px;border-radius:99px;font-weight:900;cursor:pointer}.tab.active{background:var(--teal);color:#fff;border-color:var(--teal)}.tab small{font-weight:700;opacity:.75;margin-left:7px}.program-content{min-height:330px}.program-panel{display:none;grid-template-columns:180px 1fr;gap:45px;align-items:center;background:#fff;border-radius:30px;padding:45px;box-shadow:var(--shadow)}.program-panel.active{display:grid}.animal-badge{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;font-size:78px;background:#daf5f0}.program-panel h3{font:400 62px/.9 var(--display);text-transform:uppercase;margin:0 0 15px}.program-panel p:not(.eyebrow){font-size:17px;line-height:1.65;color:var(--muted);max-width:800px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.chips span{font-size:12px;font-weight:900;border-radius:99px;background:#eef6f5;padding:8px 12px}.program-list{margin-top:50px;border-top:1px solid #ddd}.program-list div{display:flex;justify-content:space-between;gap:30px;padding:20px 0;border-bottom:1px solid #ddd}.program-list b{font:400 30px var(--display);color:var(--teal-dark)}.program-list span{color:var(--muted);max-width:600px}
.impact{background:#126ca6;color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;min-height:540px}.impact-photo{order:2;min-height:540px}.impact-photo img{width:100%;height:100%;object-fit:cover}.impact-inner{padding:90px 7vw;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.impact h2{font-size:clamp(54px,6vw,84px);line-height:.88;margin:0}.impact h2 span{color:#56d7e9}.impact-result{margin-top:35px;border-top:1px solid rgba(255,255,255,.4);padding-top:25px}.impact-result span{font-family:var(--display);letter-spacing:2px}.impact-result strong{display:block;font:400 52px/.9 var(--display);text-transform:uppercase;margin:10px 0}.impact-result small{opacity:.8}
.blog{background:#fff}.blog-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:45px}.blog-head>div{max-width:900px}.blog-all{font-family:var(--display);color:var(--teal-dark);font-size:20px;white-space:nowrap;margin-bottom:10px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blog-card{background:#fff;border:1px solid #e2e3e5;border-radius:22px;overflow:hidden;box-shadow:0 12px 35px rgba(20,30,40,.08);transition:.25s}.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.blog-card>img{width:100%;height:210px;object-fit:cover}.blog-card-body{padding:25px}.blog-tag{display:inline-block;background:var(--pink);color:#fff;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:.6px}.blue-tag{background:var(--teal-dark)}.orange-tag{background:var(--orange)}.blog-card h3{font:400 34px/1 var(--display);margin:17px 0 10px}.blog-card p{color:var(--muted);font-size:14px;line-height:1.6}.blog-card a{display:inline-block;margin-top:12px;color:var(--teal-dark);font-weight:900}
.participate{background:#f7f7f5}.participate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.join-card{padding:35px;border:1px solid #ddd;border-radius:25px;background:#fff;transition:.25s}.join-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.join-card>span{font-family:var(--display);font-size:20px;color:var(--pink)}.join-card h3{font:400 46px var(--display);text-transform:uppercase;margin:45px 0 10px}.join-card p{color:var(--muted);line-height:1.6}.join-card a{display:inline-block;margin-top:25px;color:var(--teal-dark);font-weight:900}
.contact{background:#111d3a;color:#fff;min-height:560px;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding:90px 7vw}.contact-inner{position:relative;z-index:2;max-width:850px}.footer-logo{width:140px;margin:0 auto 10px;filter:drop-shadow(0 10px 30px rgba(0,0,0,.15))}.contact h2{font-size:clamp(70px,9vw,126px);line-height:.78;margin:0 0 28px}.contact h2 span{color:var(--pink)}.contact p:not(.eyebrow){color:#cbd0d2;font-size:17px;line-height:1.6;max-width:650px;margin:0 auto}.contact-actions{display:flex;justify-content:center;gap:12px;margin-top:30px;flex-wrap:wrap}.btn-light{background:#fff;color:#25292d}.btn-outline-light{border:1px solid rgba(255,255,255,.4);color:#fff}.contact-ribbon{position:absolute;width:1000px;height:100px;border-radius:100px;transform:rotate(-18deg);background:linear-gradient(90deg,var(--teal),var(--pink),var(--orange));opacity:.2;left:-200px;top:80px}.contact-mark{position:absolute;width:550px;right:-130px;bottom:-180px;opacity:.08}
footer{display:flex;justify-content:space-between;padding:22px 7vw;background:#08122a;color:#8793a6;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:none;place-items:center;padding:20px;z-index:100}.modal.open{display:grid}.modal-box{background:#fff;border-radius:28px;max-width:700px;width:100%;padding:45px;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.3)}.modal-close{position:absolute;right:18px;top:15px;border:0;background:#f1f2f1;border-radius:50%;width:38px;height:38px;font-size:25px;cursor:pointer}.modal-box h3{font:400 62px/.9 var(--display);text-transform:uppercase;margin:0 0 20px}.modal-box p,.modal-box li{color:var(--muted);line-height:1.7}.modal-box ul{padding-left:20px}
.cursor-glow{position:fixed;width:220px;height:220px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(237,26,140,.08),transparent 65%);transform:translate(-50%,-50%);z-index:1}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}
@media(max-width:1000px){.nav-links{display:none}.menu-toggle{display:block}.nav.mobile .nav-links{display:flex;position:absolute;top:84px;left:0;right:0;background:#fff;padding:20px 7vw;flex-direction:column;box-shadow:0 15px 30px rgba(0,0,0,.08)}.hero{grid-template-columns:1fr;min-height:auto;padding-top:145px}.hero-visual{height:450px}.model-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.impact{grid-template-columns:1fr}.impact-photo{order:0;min-height:360px}.blog-grid{grid-template-columns:1fr}.participate-grid{grid-template-columns:1fr}.program-panel{grid-template-columns:1fr}.animal-badge{width:120px;height:120px}.program-list div{flex-direction:column;gap:5px}.blog-head{align-items:start;flex-direction:column}}
@media(max-width:640px){.section,.section-pad{padding-left:5vw;padding-right:5vw}.brand img{width:78px;height:52px}.hero h1{font-size:72px}.hero-text{font-size:16px}.hero-visual{height:350px}.hero-photo{width:92%}.hero-icon{width:210px}.floating-pill{font-size:11px;padding:8px 11px}.p1{right:2%}.model-grid{grid-template-columns:1fr}.values{grid-template-columns:1fr}.section-head h2,.blog-head h2{font-size:62px}.program-panel{padding:28px}.program-panel h3{font-size:52px}.contact h2{font-size:76px}footer{flex-direction:column;gap:8px}.timeline{grid-template-columns:repeat(16,200px);min-width:3550px}}

/* ================= SANFEL V4 ================= */
.hero{min-height:calc(100vh - 82px);grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:44px;align-items:center}.hero-visual{height:min(680px,72vh);transform-style:preserve-3d}.hero-photo{width:86%;height:88%;left:6%;top:5%;border-radius:46% 54% 38% 62% / 45% 38% 62% 55%;transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 35px 80px rgba(19,94,140,.18)}.hero-photo img{transition:transform .6s ease}.hero-visual:hover .hero-photo{transform:translateY(-8px) rotate(-1deg);box-shadow:0 42px 100px rgba(237,26,140,.18)}.hero-visual:hover .hero-photo img{transform:scale(1.045)}.floating-pill{animation:floaty 4.5s ease-in-out infinite}.p2{animation-delay:-1.4s}.p3{animation-delay:-2.8s}@keyframes floaty{50%{transform:translateY(-12px)}}
.v4-somos{background:radial-gradient(circle at 90% 20%,rgba(237,26,140,.08),transparent 26%),#f8f8f6}.mission-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:stretch}.mission-card{padding:52px;border-radius:34px;background:#202b2f;color:#fff;position:relative;overflow:hidden}.mission-card h3{font:64px/.9 'Bebas Neue';max-width:650px;margin:18px 0}.mission-card>p:last-of-type{font-size:18px;line-height:1.65;color:#dbe1e3}.mission-accent{display:flex;gap:8px;margin-top:32px}.mission-accent span{height:7px;flex:1;border-radius:20px}.mission-accent span:nth-child(1){background:#ed1a8c}.mission-accent span:nth-child(2){background:#ff941f}.mission-accent span:nth-child(3){background:#20a4c4}.mission-accent span:nth-child(4){background:#2e75d4}.values-v4{display:grid;grid-template-columns:1fr 1fr;gap:14px}.value-v4{text-align:left;border:1px solid #dfe3e5;background:#fff;border-radius:24px;padding:24px;min-height:128px;cursor:pointer;transition:.25s ease}.value-v4 strong{display:block;font:32px/1 'Bebas Neue';margin-bottom:10px}.value-v4 span{font:15px/1.45 'Nunito Sans';color:#69757b}.value-v4:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(28,37,40,.1)}.value-v4.pink strong{color:#ed1a8c}.value-v4.orange strong{color:#e77b00}.value-v4.teal strong{color:#159bbb}.value-v4.blue strong{color:#2e75d4}.value-v4.purple strong{color:#7040b7}
.vision-v4{min-height:600px;padding:80px 6%;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;background:linear-gradient(115deg,#1475a7,#22a7c4);color:#fff;overflow:hidden;position:relative}.vision-v4:after{content:"";position:absolute;width:420px;height:420px;border:100px solid rgba(255,255,255,.08);border-radius:50%;right:-130px;top:-170px}.vision-year{font:clamp(150px,21vw,360px)/.75 'Bebas Neue';color:rgba(255,255,255,.13);letter-spacing:-8px}.vision-copy{max-width:780px;position:relative;z-index:1}.vision-copy h2{font:clamp(62px,6vw,104px)/.87 'Bebas Neue';margin:14px 0 24px}.vision-copy h2 span{color:#172f45}.vision-copy>p{font-size:20px;line-height:1.55;max-width:650px}.vision-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.vision-points span{border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:9px 15px;font-weight:800}
.timeline-wrap{position:relative}.timeline-line{width:100%!important;left:0!important;right:0!important;background:linear-gradient(90deg,#20a4c4 0%,#2e75d4 25%,#ed1a8c 62%,#ff941f 100%)!important;background-size:200% 100%!important;animation:timelineGradient 5s linear infinite}@keyframes timelineGradient{to{background-position:-200% 0}}.timeline{padding-right:60px}
.model-grid-v4 .model-card h3{color:#fff!important}.model-grid-v4 .model-card{transition:transform .25s ease,box-shadow .25s ease}.model-grid-v4 .model-card:hover{transform:translateY(-10px);box-shadow:0 24px 60px rgba(0,0,0,.25)}.model-grid-v4 .model-index{display:none}.model-grid-v4 .model-card p{color:rgba(255,255,255,.9)}
.audience-tab{flex-direction:column;min-height:120px!important}.audience-tab img{width:58px;height:58px;filter:none}.audience-tab span small{font-size:14px;font-weight:900}.audience-panel{grid-template-columns:150px 1fr!important;padding:42px!important}.audience-panel p:not(.group-kicker){font-size:18px!important;line-height:1.7!important;color:#47545a!important}.audience-panel h3{font-size:64px!important}.audience-panel .chips span{font-size:13px!important;padding:9px 13px!important}
.impact-v4{min-height:680px;display:grid;grid-template-columns:1fr 1fr;background:#1475a7}.impact-v4 .impact-photo{position:relative;order:2;width:100%;height:100%}.impact-v4 .impact-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1475a7 0%,transparent 35%)}.impact-v4 .impact-inner{position:relative;inset:auto;order:1;padding:80px 7%;display:flex;flex-direction:column;justify-content:center}.impact-v4 h2{font:clamp(58px,5vw,92px)/.88 'Bebas Neue';color:#fff}.impact-v4 h2 span{color:#5ce1e6}.change-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:34px 0;color:#fff}.change-flow span,.change-flow strong{padding:9px 13px;border:1px solid rgba(255,255,255,.5);border-radius:999px}.change-flow strong{background:#ed1a8c;border-color:#ed1a8c}.impact-note{font-size:17px;line-height:1.6;color:#e5f6fb;max-width:680px}
.blog-title-mark{font:clamp(52px,6vw,94px)/.85 'Bebas Neue';color:#ed1a8c;margin:0 0 14px}.blog-grid-v4{grid-template-columns:repeat(2,1fr)!important}.blog-grid-v4 .blog-card{min-height:520px}.blog-grid-v4 .blog-card img{height:250px}.blog-card-body small{display:block;margin:16px 0 10px;font-weight:900;color:#6e777b}.blog-open,.join-open{border:0;background:none;padding:0;font:800 15px 'Nunito Sans';color:#0875aa;cursor:pointer}.blog-open:hover,.join-open:hover{text-decoration:underline}
.participate-grid-v4{grid-template-columns:repeat(2,1fr)!important}.participate-grid-v4 .join-card{min-height:330px}.participate-grid-v4 .join-card>span{display:none}.participate-grid-v4 .join-card h3{font-size:54px}
.modal-box{max-width:820px;border-radius:30px;padding:42px;background:linear-gradient(145deg,#fff,#f7fbfc);box-shadow:0 30px 100px rgba(0,0,0,.28)}#modal-body{font-size:17px;line-height:1.65;color:#435057}#modal-body ul{display:grid;gap:9px;padding-left:20px}.modal-box:before{content:"";display:block;height:7px;border-radius:20px;background:linear-gradient(90deg,#20a4c4,#2e75d4,#ed1a8c,#ff941f);margin:-18px 0 30px}
.article-modal{position:fixed;inset:0;background:rgba(18,29,33,.78);backdrop-filter:blur(10px);z-index:1000;display:none;overflow:auto;padding:5vh 20px}.article-modal.open{display:block}.article-shell{max-width:980px;margin:auto;background:#fff;border-radius:34px;min-height:80vh;padding:clamp(30px,5vw,70px);position:relative;box-shadow:0 40px 120px rgba(0,0,0,.3)}.article-close{position:absolute;right:24px;top:20px;width:48px;height:48px;border:0;border-radius:50%;font-size:32px;background:#f2f3f3;cursor:pointer}.article-shell .article-kicker{color:#ed1a8c;font-weight:900;letter-spacing:.08em}.article-shell h2{font:clamp(58px,8vw,100px)/.88 'Bebas Neue';margin:12px 0 8px}.article-shell .article-author{color:#1475a7;font-weight:900;margin-bottom:34px}.article-shell .article-body{font-size:18px;line-height:1.8;color:#3f4a4f;max-width:780px}.article-shell .article-body p{margin:0 0 24px}.article-shell .article-body strong{color:#20282c}.article-shell:before{content:"";position:absolute;left:0;top:0;width:100%;height:9px;border-radius:34px 34px 0 0;background:linear-gradient(90deg,#ed1a8c,#ff941f,#20a4c4,#2e75d4)}
.contact-mark,.hero-icon,.vision-mark{display:none!important}
@media(max-width:900px){.hero{grid-template-columns:1fr}.mission-layout,.vision-v4,.impact-v4{grid-template-columns:1fr}.vision-year{position:absolute;left:-10px;bottom:-10px}.vision-copy{z-index:2}.impact-v4 .impact-photo{order:1;height:420px}.impact-v4 .impact-inner{order:2}.blog-grid-v4,.participate-grid-v4{grid-template-columns:1fr!important}}
@media(max-width:640px){.hero{gap:10px;padding-top:28px!important}.hero-visual{height:430px!important}.hero-photo{width:100%;height:92%;left:0}.mission-card{padding:30px}.mission-card h3{font-size:52px}.values-v4{grid-template-columns:1fr 1fr}.value-v4{padding:18px;min-height:116px}.value-v4 strong{font-size:26px}.value-v4 span{font-size:13px}.vision-v4{min-height:640px;padding:64px 24px}.vision-copy h2{font-size:62px}.vision-copy>p{font-size:17px}.audience-tab{min-height:112px!important;justify-content:center!important}.audience-tab img{width:50px;height:50px}.audience-tab span{justify-content:center}.audience-panel{grid-template-columns:1fr!important;padding:28px 22px!important}.audience-panel p:not(.group-kicker){font-size:17px!important}.impact-v4 .impact-photo{height:330px}.impact-v4 .impact-inner{padding:54px 24px}.impact-v4 h2{font-size:58px}.blog-title-mark{font-size:68px}.blog-grid-v4 .blog-card{min-height:0}.blog-grid-v4 .blog-card img{height:210px}.participate-grid-v4 .join-card h3{font-size:50px}.article-shell{border-radius:24px;padding:58px 24px 36px}.article-shell .article-body{font-size:16px}.article-close{right:14px;top:14px}.timeline-line{min-width:100%!important}}

/* ===== V4.1 ajustes de portada, misión, historia, blog y galería ===== */
.hero-v41{background:#fff;min-height:100vh;padding-top:120px;position:relative;overflow:hidden}
.hero-v41-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:54px;align-items:center;position:relative;z-index:2}
.hero-v41 .hero-copy{padding:24px 0 42px}
.hero-v41 .hero-copy:before{content:"";display:block;width:76px;height:7px;border-radius:99px;background:linear-gradient(90deg,var(--pink),var(--orange));margin-bottom:24px}
.hero-v41 .hero-story{min-height:600px;position:relative;display:grid;place-items:center}
.hero-photo-v41{width:100%;height:520px;aspect-ratio:auto;border-radius:120px 34px 120px 34px;overflow:hidden;position:relative;box-shadow:0 30px 80px rgba(18,57,91,.20)}
.hero-photo-v41:before{content:"";position:absolute;inset:0;border:3px solid rgba(255,255,255,.72);border-radius:inherit;z-index:2;pointer-events:none}
.hero-photo-v41:after{content:"";position:absolute;inset:auto 0 0 0;height:35%;background:linear-gradient(180deg,transparent,rgba(10,83,156,.55));z-index:1}
.hero-photo-v41 img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.hero-story:hover .hero-photo-v41 img{transform:scale(1.045)}
.hero-story-caption{position:absolute;left:34px;right:34px;bottom:52px;display:flex;gap:10px;z-index:4;flex-wrap:wrap}
.hero-story-caption span{background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:999px;padding:10px 15px;font-weight:900;font-size:12px;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.hero-orbit-line{position:absolute;width:112%;height:112%;border:2px solid rgba(237,26,140,.18);border-radius:42% 58% 62% 38%/45% 43% 57% 55%;animation:heroOrbit 12s linear infinite;pointer-events:none}
@keyframes heroOrbit{to{transform:rotate(360deg)}}
.hero-pulse{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}
.hero-pulse button{border:1px solid #dfe3e6;background:#fff;border-radius:999px;padding:9px 14px;font-weight:900;color:var(--ink);cursor:pointer;transition:.25s}
.hero-pulse button:hover,.hero-pulse button.active{background:var(--ink);color:#fff;transform:translateY(-2px)}
.hero-color-rail{position:absolute;left:0;right:0;bottom:0;height:8px;display:grid;grid-template-columns:repeat(4,1fr)}
.hero-color-rail span:nth-child(1){background:var(--pink)}.hero-color-rail span:nth-child(2){background:var(--orange)}.hero-color-rail span:nth-child(3){background:var(--teal)}.hero-color-rail span:nth-child(4){background:var(--blue)}

.mission-card-light{background:#eef1f2!important;color:var(--ink)!important;border:1px solid #d9dfe2;box-shadow:none!important}
.mission-card-light .eyebrow{color:var(--pink)!important}
.mission-card-light .mission-copy{font-size:22px;line-height:1.62;color:#323a41;margin:16px 0 28px}
.mission-card-light .mission-copy strong{color:var(--ink);font-weight:900}
.v4-somos .section-head>p:last-child{font-size:19px;line-height:1.7;max-width:1080px;color:#48535b}

/* La línea recorre el ancho real de toda la historia */
.timeline-wrap{position:relative}
.timeline{position:relative}
.timeline-line{right:auto!important;min-width:0!important;width:4050px!important;background:linear-gradient(90deg,#20a4c4 0%,#2e75d4 28%,#ed1a8c 65%,#ff941f 100%)!important;background-size:220% 100%!important;animation:timelineGradient 7s linear infinite!important}
@keyframes timelineGradient{0%{background-position:0 0}100%{background-position:-220% 0}}

.blog-head-v41{display:block!important;margin-bottom:32px!important}
.blog-head-v41 .blog-title-mark{font-size:clamp(88px,10vw,150px)!important;line-height:.78!important;letter-spacing:-1px!important;margin:0;color:var(--pink)}
.blog-intro{max-width:760px;font-size:18px;line-height:1.6;color:var(--muted);margin:28px 0 0}

.gallery-v41{background:#f7f8f8}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px}
.gallery-item{border:0;padding:0;border-radius:24px;overflow:hidden;position:relative;cursor:pointer;background:#ddd;min-width:0}
.gallery-wide{grid-column:span 2}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}
.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(4,24,46,.68));transition:.3s}
.gallery-item span{position:absolute;left:18px;bottom:16px;color:#fff;font:400 28px var(--display);text-transform:uppercase;z-index:2}
.gallery-item:hover img{transform:scale(1.06)}
.youtube-cta{margin-top:28px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:#092d58;color:#fff;border-radius:24px;padding:22px 28px;transition:.25s}
.youtube-cta:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(9,45,88,.2)}
.youtube-play{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f11645;font-size:22px}
.youtube-cta small{display:block;font-weight:900;letter-spacing:1px;opacity:.68}.youtube-cta strong{display:block;font:400 36px/1 var(--display);text-transform:uppercase;margin:4px 0}.youtube-cta em{font-style:normal;color:#8edcf0}.youtube-cta b{font-size:34px}
.gallery-modal{position:fixed;inset:0;background:rgba(4,14,25,.88);display:none;place-items:center;padding:30px;z-index:130;backdrop-filter:blur(8px)}
.gallery-modal.open{display:grid}.gallery-modal img{max-width:min(1100px,94vw);max-height:84vh;border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.4)}
.gallery-close{position:absolute;top:22px;right:26px;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#111;font-size:30px;cursor:pointer}

/* Los títulos ya no terminan visualmente con punto */
h1,h2,h3,.blog-title-mark{font-variant-ligatures:none}

@media(max-width:1000px){
 .hero-v41-grid{grid-template-columns:1fr;gap:12px}.hero-v41 .hero-story{min-height:460px}.hero-photo-v41{height:430px}.hero-v41 .hero-copy{padding-bottom:10px}
 .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
 .hero-v41{padding-top:118px!important}.hero-v41-grid{gap:18px}.hero-v41 .hero-copy:before{margin-bottom:18px}.hero-v41 .hero-story{min-height:350px!important;height:auto!important}.hero-photo-v41{height:330px!important;border-radius:58px 20px 58px 20px}.hero-story-caption{left:14px;right:14px;bottom:18px}.hero-story-caption span{font-size:10px;padding:7px 10px}.hero-pulse{margin-top:20px}.hero-pulse button{font-size:12px;padding:8px 11px}.hero-orbit-line{display:none}
 .mission-card-light .mission-copy{font-size:18px;line-height:1.58}.v4-somos .section-head>p:last-child{font-size:17px;line-height:1.6}
 .timeline-line{width:3550px!important}
 .blog-head-v41 .blog-title-mark{font-size:76px!important;line-height:.84!important}.blog-intro{font-size:16px;margin-top:20px}
 .gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.gallery-wide{grid-column:auto}.youtube-cta{grid-template-columns:auto 1fr;padding:18px}.youtube-cta>b{display:none}.youtube-cta strong{font-size:28px}
}


/* =====================================================
   SANFEL V4.2 — corrección de portada, razón social y misión
   ===================================================== */

/* Portada: misma lógica tipográfica, foto grande que se funde hacia blanco */
.hero-v42{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#fff;
  padding-top:128px;
}
.hero-v42-content{
  position:relative;
  z-index:4;
  width:100%;
  max-width:1480px;
  margin:0 auto;
}
.hero-v42 .hero-copy{
  width:min(670px,48vw);
  max-width:670px;
  padding:30px 0 72px;
}
.hero-v42 .hero-copy:before{
  content:"";
  display:block;
  width:76px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--pink),var(--orange));
  margin-bottom:24px;
}
.hero-v42 .hero-copy h1{
  position:relative;
  z-index:5;
}
.hero-v42 .hero-text{
  max-width:620px;
  font-size:18px;
  line-height:1.62;
}
.hero-media{
  position:absolute;
  z-index:1;
  top:82px;
  right:0;
  bottom:8px;
  width:66%;
  overflow:hidden;
}
.hero-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.015);
  transition:transform .85s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}
.hero-v42:hover .hero-media img{
  transform:scale(1.055);
  filter:saturate(1.04);
}
.hero-media-fade{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 9%,rgba(255,255,255,.90) 18%,rgba(255,255,255,.52) 31%,rgba(255,255,255,.08) 49%,rgba(255,255,255,0) 65%),
    linear-gradient(180deg,rgba(255,255,255,.06) 58%,rgba(255,255,255,.58) 100%);
  pointer-events:none;
}
.hero-media-accent{
  position:absolute;
  z-index:3;
  pointer-events:none;
  border-radius:999px;
}
.hero-media-accent.accent-one{
  width:420px;height:58px;
  right:-105px;top:42px;
  transform:rotate(-28deg);
  background:linear-gradient(90deg,var(--pink),var(--orange));
  opacity:.88;
}
.hero-media-accent.accent-two{
  width:260px;height:38px;
  right:8%;bottom:9%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,var(--teal),var(--blue));
  opacity:.56;
}
.hero-keywords{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:24px;
}
.hero-keywords button{
  border:1px solid #dfe3e6;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
  border-radius:999px;
  padding:9px 14px;
  font-weight:900;
  color:var(--ink);
  cursor:pointer;
  transition:.24s ease;
}
.hero-keywords button:hover,
.hero-keywords button.active{
  background:var(--ink);
  color:#fff;
  transform:translateY(-2px);
}

/* Razón social: frase institucional, no interpretación */
.purpose-head{
  max-width:1060px!important;
  margin-bottom:54px!important;
}
.purpose-head h2{
  max-width:900px;
  margin-bottom:22px!important;
}
.purpose-head h2 em{
  display:inline;
  color:var(--pink)!important;
}
.purpose-head>p:last-child{
  max-width:1040px;
  font-size:20px!important;
  line-height:1.72!important;
  color:#4f5961!important;
}

/* Misión: recupera el bloque oscuro y la escala visual de la versión anterior */
.mission-card-restored{
  background:#202b2f!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 24px 60px rgba(25,37,41,.16)!important;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:52px!important;
}
.mission-card-restored:after{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  border-radius:50%;
  right:-100px;
  top:-100px;
  border:42px solid rgba(255,255,255,.035);
}
.mission-label{
  color:#ff5ab3!important;
  position:relative;
  z-index:2;
}
.mission-copy-restored{
  position:relative;
  z-index:2;
  margin:14px 0 12px!important;
  font-family:var(--display);
  text-transform:uppercase;
  font-size:clamp(30px,2.4vw,46px)!important;
  line-height:1.05!important;
  letter-spacing:.15px;
  color:#fff!important;
}
.mission-copy-restored strong{
  color:#fff!important;
  font-weight:400!important;
}
.mission-copy-restored strong:nth-of-type(1){color:#ff5ab3!important}
.mission-copy-restored strong:nth-of-type(2){color:#43c6dd!important}
.mission-copy-restored strong:nth-of-type(3){color:#ff9b28!important}

/* Anula el estilo claro de V4.1 si sigue presente */
.mission-card-light{background:#202b2f!important;color:#fff!important}

/* Responsive */
@media(max-width:1000px){
  .hero-v42{
    align-items:flex-start;
    padding-top:116px;
    padding-bottom:520px;
  }
  .hero-v42 .hero-copy{
    width:min(760px,92%);
    max-width:760px;
  }
  .hero-media{
    top:auto;
    left:0;
    right:0;
    bottom:8px;
    width:100%;
    height:540px;
  }
  .hero-media-fade{
    background:
      linear-gradient(180deg,#fff 0%,rgba(255,255,255,.90) 12%,rgba(255,255,255,.30) 35%,rgba(255,255,255,0) 58%),
      linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,0));
  }
}
@media(max-width:640px){
  .hero-v42{
    min-height:auto!important;
    padding-top:118px!important;
    padding-bottom:380px!important;
  }
  .hero-v42 .hero-copy{
    width:100%;
    padding:12px 0 42px;
  }
  .hero-v42 .hero-copy:before{
    margin-bottom:18px;
  }
  .hero-v42 .hero-text{
    font-size:17px!important;
    line-height:1.6!important;
  }
  .hero-media{
    height:390px;
  }
  .hero-media-fade{
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.92) 8%,rgba(255,255,255,.20) 34%,rgba(255,255,255,0) 58%);
  }
  .hero-media-accent.accent-one{
    width:250px;height:38px;right:-70px;top:30px;
  }
  .hero-media-accent.accent-two{
    width:180px;height:28px;
  }
  .hero-keywords{
    margin-top:18px;
  }
  .purpose-head{
    margin-bottom:38px!important;
  }
  .purpose-head h2{
    font-size:clamp(58px,15vw,72px)!important;
    line-height:.86!important;
  }
  .purpose-head>p:last-child{
    font-size:17px!important;
    line-height:1.62!important;
  }
  .mission-card-restored{
    padding:30px 26px!important;
  }
  .mission-copy-restored{
    font-size:clamp(32px,10.2vw,44px)!important;
    line-height:1.04!important;
  }
}


/* ==========================================================
   SANFEL V4.3 — RESPONSIVE FLUIDO UNIVERSAL
   Mantiene el diseño V4.2 y adapta composición, tipografía,
   espacios, tarjetas, imágenes y modales desde 320px a 4K.
   ========================================================== */

:root{
  --fluid-pad: clamp(18px, 5vw, 112px);
  --fluid-section-y: clamp(72px, 8vw, 128px);
  --content-max: 1560px;
}

/* Base resistente a cualquier ancho */
html,body{max-width:100%;overflow-x:hidden}
img,video{max-width:100%;height:auto}
button,a,input,select,textarea{max-width:100%}
.section,.section-pad{
  padding-left:var(--fluid-pad)!important;
  padding-right:var(--fluid-pad)!important;
}
.section{
  padding-top:var(--fluid-section-y)!important;
  padding-bottom:var(--fluid-section-y)!important;
}
.section-head,
.hero-v42-content,
.mission-layout,
.model-grid,
.program-tabs,
.program-content,
.blog-head,
.blog-grid,
.gallery-grid,
.youtube-cta,
.participate-grid{
  width:100%;
}
.hero-v42-content,
.v4-somos > *,
.timeline-section > *,
.model > *,
.programs > *,
.blog > *,
.gallery-v41 > *,
.participate > *{
  max-width:var(--content-max);
  margin-left:auto;
  margin-right:auto;
}

/* Navegación */
.nav{
  padding-left:clamp(18px,5vw,84px);
  padding-right:clamp(18px,5vw,84px);
}
.nav-links{
  gap:clamp(14px,1.7vw,28px);
  font-size:clamp(15px,1vw,18px);
}
.menu-toggle{
  min-width:46px;
  min-height:46px;
  display:none;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  cursor:pointer;
}

/* Títulos fluidos sin perder presencia */
.hero-v42 .hero-copy h1{
  font-size:clamp(68px,7.1vw,132px)!important;
  line-height:.82!important;
  text-wrap:balance;
}
.section-head h2,
.blog-head h2{
  font-size:clamp(58px,6vw,96px)!important;
  line-height:.88!important;
  text-wrap:balance;
}
.purpose-head h2{
  font-size:clamp(60px,6.2vw,98px)!important;
}
.vision-v4 h2{
  font-size:clamp(58px,6vw,104px)!important;
  text-wrap:balance;
}
.impact h2{
  font-size:clamp(52px,5.4vw,88px)!important;
  text-wrap:balance;
}
.contact h2{
  font-size:clamp(70px,8vw,126px)!important;
  text-wrap:balance;
}

/* HERO — fluido entre laptop, tablet y móvil */
.hero-v42{
  min-height:max(760px,100vh);
  padding-left:var(--fluid-pad)!important;
  padding-right:var(--fluid-pad)!important;
}
.hero-v42-content{
  padding-left:0;
  padding-right:0;
}
.hero-v42 .hero-copy{
  width:clamp(520px,43vw,690px);
  max-width:52%;
}
.hero-media{
  width:65%;
  min-width:720px;
}
.hero-media img{object-position:center center}
.hero-v42 .hero-text{
  font-size:clamp(17px,1.2vw,20px)!important;
  line-height:1.65!important;
}
.hero-actions .btn{
  min-height:48px;
  white-space:normal;
  text-align:center;
  justify-content:center;
}
.hero-keywords button{min-height:42px}

/* Misión y valores */
.mission-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.16fr)!important;
  gap:clamp(18px,2.4vw,40px)!important;
  align-items:stretch;
}
.values-v4{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(10px,1.2vw,18px)!important;
}
.value-v4{
  min-width:0;
  min-height:112px;
  padding:clamp(18px,1.8vw,28px)!important;
}
.value-v4 strong{
  font-size:clamp(25px,2vw,34px)!important;
  overflow-wrap:anywhere;
}
.value-v4 span{
  font-size:clamp(13px,1vw,15px)!important;
  line-height:1.45;
}
.mission-copy-restored{
  font-size:clamp(31px,2.25vw,46px)!important;
}

/* Visión 2028 */
.vision-v4{
  padding:clamp(70px,8vw,126px) var(--fluid-pad)!important;
  gap:clamp(28px,5vw,90px)!important;
}
.vision-year{
  font-size:clamp(110px,19vw,330px)!important;
  line-height:.72!important;
}
.vision-copy{min-width:0}
.vision-points{display:flex;flex-wrap:wrap;gap:10px}

/* Historia: tamaño legible + scroll táctil natural */
.timeline-wrap{
  width:100%;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  scroll-snap-type:x proximity;
  padding-bottom:34px!important;
}
.timeline{
  grid-template-columns:repeat(16,clamp(200px,16vw,250px))!important;
  gap:clamp(18px,2vw,30px)!important;
  min-width:max-content!important;
  width:max-content!important;
}
.timeline-line{
  width:100%!important;
  min-width:100%!important;
  right:auto!important;
}
.timeline-item{scroll-snap-align:start}
.timeline-item p{
  font-size:clamp(13px,.95vw,15px)!important;
  line-height:1.55!important;
}

/* Modelo: 4 > 2 > 1 columnas según espacio */
.model-grid,
.model-grid-v4{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(14px,1.5vw,22px)!important;
}
.model-card{
  min-width:0;
  min-height:clamp(430px,37vw,510px);
}
.model-card h3{
  font-size:clamp(34px,2.55vw,46px)!important;
  overflow-wrap:anywhere;
}
.model-card p{
  font-size:clamp(13px,.95vw,15px)!important;
}

/* Etapas */
.audience-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(10px,1.3vw,16px)!important;
}
.audience-tab{
  min-width:0;
  min-height:clamp(68px,6vw,84px)!important;
  padding:clamp(10px,1vw,16px)!important;
}
.audience-tab img{
  width:clamp(38px,3.3vw,54px)!important;
  height:clamp(38px,3.3vw,54px)!important;
}
.audience-tab small{
  font-size:clamp(12px,1vw,15px)!important;
}
.audience-panel{
  grid-template-columns:clamp(130px,13vw,190px) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,50px)!important;
  padding:clamp(28px,3.4vw,52px)!important;
}
.audience-panel h3{
  font-size:clamp(48px,4.3vw,68px)!important;
}
.audience-panel p:not(.group-kicker){
  font-size:clamp(16px,1.2vw,19px)!important;
  line-height:1.65!important;
}

/* Impacto / hipótesis */
.impact{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
}
.impact-inner{
  padding:clamp(64px,7vw,110px) var(--fluid-pad)!important;
}
.impact-photo{min-width:0}
.impact-photo img{object-position:center}

/* Blog */
.blog-head-v41 .blog-title-mark{
  font-size:clamp(82px,9.5vw,150px)!important;
  line-height:.82!important;
}
.blog-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(16px,2vw,26px)!important;
}
.blog-card{min-width:0}
.blog-card>img{
  height:clamp(210px,18vw,300px)!important;
}
.blog-card h3{
  font-size:clamp(31px,2.6vw,42px)!important;
  overflow-wrap:anywhere;
}
.blog-card p{
  font-size:clamp(14px,1vw,16px)!important;
}

/* Galería */
.gallery-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:clamp(190px,17vw,270px)!important;
}
.gallery-item{min-width:0}
.youtube-cta{
  grid-template-columns:auto minmax(0,1fr) auto!important;
}
.youtube-cta strong{
  font-size:clamp(28px,2.7vw,40px)!important;
}

/* Participa */
.participate-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(16px,2vw,24px)!important;
}
.join-card{
  min-width:0;
  padding:clamp(28px,3vw,42px)!important;
}
.join-card h3{
  font-size:clamp(42px,4vw,60px)!important;
  overflow-wrap:anywhere;
}

/* Modales legibles en cualquier pantalla */
.modal,
.blog-modal,
.participate-modal,
.gallery-modal{
  padding:clamp(12px,3vw,30px)!important;
}
.modal-box,
.blog-modal-box,
.participate-modal-box{
  width:min(92vw,900px)!important;
  max-height:88vh!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  border-radius:clamp(18px,2vw,30px)!important;
}
.modal-box{
  padding:clamp(28px,4vw,52px)!important;
}
.modal-box h3{
  font-size:clamp(45px,5vw,70px)!important;
}
.gallery-modal img{
  max-width:min(1100px,94vw)!important;
  max-height:82vh!important;
  object-fit:contain;
}

/* Footer */
footer{
  gap:18px;
  flex-wrap:wrap;
}

/* =========================
   TABLET / LAPTOP PEQUEÑA
   ========================= */
@media(max-width:1180px){
  .nav-links{display:none!important}
  .menu-toggle{display:flex!important}
  .nav.mobile .nav-links{
    display:flex!important;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    gap:0;
    padding:14px var(--fluid-pad) 22px;
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 38px rgba(0,0,0,.1);
    max-height:calc(100vh - 78px);
    overflow:auto;
  }
  .nav.mobile .nav-links a{
    min-height:48px;
    display:flex;
    align-items:center;
    border-bottom:1px solid #edf0f1;
  }

  .hero-v42{
    min-height:auto!important;
    align-items:flex-start!important;
    padding-top:126px!important;
    padding-bottom:clamp(500px,52vw,650px)!important;
  }
  .hero-v42 .hero-copy{
    width:min(800px,92%)!important;
    max-width:800px!important;
    padding-bottom:32px!important;
  }
  .hero-media{
    top:auto!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    min-width:0!important;
    height:clamp(500px,55vw,650px)!important;
  }
  .hero-media-fade{
    background:
      linear-gradient(180deg,#fff 0%,rgba(255,255,255,.96) 7%,rgba(255,255,255,.52) 26%,rgba(255,255,255,.05) 52%,rgba(255,255,255,0) 72%)!important;
  }

  .mission-layout{
    grid-template-columns:1fr!important;
  }
  .mission-card-restored{min-height:420px}

  .vision-v4{
    grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)!important;
  }

  .model-grid,
  .model-grid-v4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .model-card{min-height:460px}

  .impact{
    grid-template-columns:1fr!important;
  }
  .impact-photo{
    order:0!important;
    min-height:clamp(320px,48vw,520px)!important;
  }

  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* =========================
   TABLET VERTICAL / MÓVIL GRANDE
   ========================= */
@media(max-width:820px){
  :root{
    --fluid-pad:clamp(18px,5.5vw,42px);
    --fluid-section-y:clamp(68px,10vw,92px);
  }

  .hero-v42 .hero-copy h1{
    font-size:clamp(62px,13vw,92px)!important;
  }
  .section-head h2,
  .blog-head h2,
  .purpose-head h2{
    font-size:clamp(54px,10.8vw,76px)!important;
  }

  .values-v4{
    grid-template-columns:1fr!important;
  }
  .value-v4{
    min-height:96px;
  }

  .vision-v4{
    grid-template-columns:1fr!important;
  }
  .vision-year{
    font-size:clamp(120px,30vw,220px)!important;
    margin-bottom:-16px;
  }

  .audience-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .audience-panel{
    grid-template-columns:1fr!important;
  }
  .audience-badge{
    width:clamp(105px,22vw,150px)!important;
    height:clamp(105px,22vw,150px)!important;
  }

  .blog-grid,
  .participate-grid{
    grid-template-columns:1fr!important;
  }

  .youtube-cta{
    grid-template-columns:auto minmax(0,1fr)!important;
  }
  .youtube-cta>b{display:none!important}
}

/* =========================
   MÓVIL
   ========================= */
@media(max-width:560px){
  :root{
    --fluid-pad:clamp(16px,5vw,24px);
    --fluid-section-y:clamp(62px,14vw,82px);
  }

  body{font-size:16px}
  .nav{
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .brand img{
    width:clamp(72px,24vw,92px)!important;
    height:auto!important;
  }

  .hero-v42{
    padding-top:112px!important;
    padding-bottom:clamp(340px,103vw,440px)!important;
  }
  .hero-v42 .hero-copy{
    width:100%!important;
    padding-top:10px!important;
    padding-bottom:22px!important;
  }
  .hero-v42 .hero-copy h1{
    font-size:clamp(56px,17.5vw,76px)!important;
    line-height:.83!important;
    letter-spacing:-.2px!important;
  }
  .hero-v42 .hero-text{
    font-size:clamp(16px,4.3vw,18px)!important;
  }
  .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%;
  }
  .hero-actions .btn{
    width:100%;
    min-height:52px;
  }
  .hero-keywords{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .hero-keywords button{
    padding:8px 6px!important;
    font-size:12px!important;
    min-width:0;
  }
  .hero-media{
    height:clamp(350px,100vw,430px)!important;
  }
  .hero-media img{
    object-position:58% center!important;
  }
  .hero-media-accent.accent-one{
    width:220px!important;
    height:34px!important;
  }
  .hero-media-accent.accent-two{
    width:150px!important;
    height:24px!important;
  }
  .scroll-cue{display:none!important}

  .purpose-head h2{
    font-size:clamp(56px,16vw,72px)!important;
    line-height:.87!important;
  }
  .purpose-head>p:last-child{
    font-size:16px!important;
    line-height:1.62!important;
  }
  .mission-card-restored{
    min-height:auto!important;
    padding:28px 22px!important;
  }
  .mission-copy-restored{
    font-size:clamp(30px,9.8vw,42px)!important;
  }

  .vision-v4{
    padding-left:var(--fluid-pad)!important;
    padding-right:var(--fluid-pad)!important;
  }
  .vision-copy h2{
    font-size:clamp(52px,15vw,72px)!important;
  }

  .timeline{
    grid-template-columns:repeat(16,210px)!important;
  }
  .timeline-line{
    top:45px!important;
  }

  .model-grid,
  .model-grid-v4{
    grid-template-columns:1fr!important;
  }
  .model-card{
    min-height:0!important;
  }
  .card-photo{
    height:clamp(190px,54vw,250px)!important;
  }
  .model-card h3{
    font-size:clamp(40px,12vw,52px)!important;
  }

  .audience-tabs{
    gap:8px!important;
  }
  .audience-tab{
    flex-direction:column;
    min-height:112px!important;
    text-align:center;
  }
  .audience-tab img{
    width:44px!important;
    height:44px!important;
  }
  .audience-tab small{
    font-size:12px!important;
    line-height:1.2;
  }
  .audience-panel{
    padding:24px 20px!important;
  }
  .audience-panel h3{
    font-size:clamp(44px,13vw,56px)!important;
  }
  .audience-panel p:not(.group-kicker){
    font-size:16px!important;
    line-height:1.6!important;
  }

  .impact-inner{
    padding-left:var(--fluid-pad)!important;
    padding-right:var(--fluid-pad)!important;
  }
  .impact h2{
    font-size:clamp(48px,13.5vw,64px)!important;
  }

  .blog-head-v41 .blog-title-mark{
    font-size:clamp(72px,21vw,96px)!important;
  }
  .blog-card>img{
    height:clamp(190px,58vw,260px)!important;
  }

  .gallery-grid{
    grid-template-columns:1fr!important;
    grid-auto-rows:clamp(210px,66vw,290px)!important;
  }
  .gallery-wide{grid-column:auto!important}
  .youtube-cta{
    padding:16px!important;
    gap:12px!important;
  }
  .youtube-play{
    width:50px!important;
    height:50px!important;
  }
  .youtube-cta strong{
    font-size:clamp(25px,8vw,32px)!important;
  }

  .join-card{
    padding:26px 22px!important;
  }
  .join-card h3{
    font-size:clamp(44px,13vw,58px)!important;
  }

  .contact{
    padding-left:var(--fluid-pad)!important;
    padding-right:var(--fluid-pad)!important;
  }
  .contact h2{
    font-size:clamp(64px,18vw,86px)!important;
  }
  .contact-actions{
    display:grid!important;
    grid-template-columns:1fr;
  }
  .contact-actions .btn{
    width:100%;
    justify-content:center;
  }

  footer{
    flex-direction:column!important;
    align-items:flex-start;
  }
}

/* =========================
   MÓVIL MUY PEQUEÑO (320–360px)
   ========================= */
@media(max-width:360px){
  .hero-v42 .hero-copy h1{font-size:54px!important}
  .section-head h2,
  .purpose-head h2{font-size:52px!important}
  .hero-keywords{grid-template-columns:1fr!important}
  .audience-tabs{grid-template-columns:1fr!important}
  .audience-tab{
    flex-direction:row;
    min-height:72px!important;
  }
  .vision-year{font-size:108px!important}
}

/* =========================
   PANTALLAS MUY GRANDES
   ========================= */
@media(min-width:1800px){
  :root{
    --content-max:1680px;
  }
  .hero-v42 .hero-copy{max-width:720px}
  .hero-media{width:62%}
}

/* Accesibilidad / reducción de movimiento */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}


/* ===== SANFEL V5.1 · ayuda, galería y contacto ===== */
.participate-grid-v51{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.help-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column;min-height:540px;background:#fff}.help-card-media{height:230px;overflow:hidden;background:#edf2f3}.help-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.help-card:hover .help-card-media img{transform:scale(1.04)}.help-card-copy{padding:30px;display:flex;flex-direction:column;flex:1}.help-card-copy h3{font-size:clamp(38px,3.2vw,55px)!important}.help-card-copy .join-open{margin-top:auto;align-self:flex-start}.help-donate{background:linear-gradient(145deg,#fff 0%,#fff7fb 100%)}.help-donation-icon{height:230px;display:grid;place-items:center;background:linear-gradient(135deg,#ffe8f4,#eef9fb);color:var(--pink)}.donation-symbol{width:130px;height:130px}.help-paths{display:grid;gap:18px}.help-path{border:1px solid #dde2e4;border-radius:20px;padding:24px;background:#fff}.help-path h4{font:400 clamp(30px,4vw,42px)/1 var(--display);text-transform:uppercase;margin:8px 0 12px}.help-path p{line-height:1.6}.help-steps{margin-top:16px;padding-top:16px;border-top:1px solid #e5e8e9}.help-steps b{display:block;margin-top:12px}.help-steps ol{padding-left:22px;line-height:1.65}.donation-data{padding:18px;border-radius:16px;background:#f5f7f7}.donation-data p{margin:6px 0}
.gallery-grid-v51{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:230px;gap:12px}.gallery-grid-v51 .gallery-item{min-width:0;border-radius:18px;overflow:hidden;padding:0;border:0;background:#e9edef;cursor:zoom-in}.gallery-grid-v51 .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-grid-v51 .gallery-item:hover img{transform:scale(1.045)}.gallery-grid-v51 .gallery-wide{grid-column:span 2}.gallery-modal{padding:24px!important;background:rgba(10,16,19,.92)!important}.gallery-modal img{width:auto!important;height:auto!important;max-width:94vw!important;max-height:88vh!important;object-fit:contain!important;border-radius:14px}.gallery-close{z-index:3}
.contact-v51{position:relative;background:linear-gradient(135deg,#16272e,#106d9b);color:#fff;padding:clamp(70px,8vw,120px) var(--fluid-pad,6vw)!important;overflow:hidden}.contact-v51:before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-180px;top:-180px;border:70px solid rgba(255,255,255,.035)}.contact-v51-inner{position:relative;z-index:1;max-width:1500px;margin:auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(38px,6vw,100px);align-items:start}.contact-v51-main h2{font:400 clamp(72px,7vw,118px)/.82 var(--display);text-transform:uppercase;margin:12px 0 24px}.contact-v51-main h2 span{color:#53d6e4}.contact-email{display:inline-block;color:#fff;font-weight:800;font-size:clamp(16px,1.4vw,20px);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:5px}.social-icons{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.social-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.2);transition:.22s}.social-icon:hover{background:#fff;color:#126d98;transform:translateY(-3px)}.social-icon svg{width:23px;height:23px;fill:currentColor}.cause-stores{display:grid;gap:14px}.store-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;color:#fff;text-decoration:none;padding:22px;border:1px solid rgba(255,255,255,.2);border-radius:22px;background:rgba(255,255,255,.08);transition:.25s}.store-card:hover{background:rgba(255,255,255,.14);transform:translateY(-3px)}.store-pin{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#16759e;font-size:27px}.store-card strong{display:block;font:400 30px var(--display);text-transform:uppercase}.store-card small{display:block;margin-top:4px;color:rgba(255,255,255,.8);font-size:14px;line-height:1.45}.store-card b{font-size:24px}.footer-v51{display:flex;justify-content:space-between;gap:16px;padding:20px var(--fluid-pad,6vw);background:#101b1f;color:#aeb8bc}.footer-v51 a{color:#fff;text-decoration:none}
@media(max-width:1050px){.participate-grid-v51{grid-template-columns:1fr 1fr}.help-donate{grid-column:1/-1}.contact-v51-inner{grid-template-columns:1fr}.gallery-grid-v51{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.participate-grid-v51{grid-template-columns:1fr}.help-donate{grid-column:auto}.help-card{min-height:0}.help-card-media,.help-donation-icon{height:215px}.help-card-copy{padding:24px}.gallery-grid-v51{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px}.gallery-grid-v51 .gallery-wide{grid-column:span 2}.contact-v51{padding-left:20px!important;padding-right:20px!important}.social-icon{width:46px;height:46px}.store-card{grid-template-columns:46px minmax(0,1fr) auto;padding:17px;gap:12px}.store-pin{width:46px;height:46px}.store-card strong{font-size:26px}.footer-v51{flex-direction:column;padding-left:20px;padding-right:20px}}
@media(max-width:390px){.gallery-grid-v51{grid-template-columns:1fr;grid-auto-rows:230px}.gallery-grid-v51 .gallery-wide{grid-column:auto}.social-icons{gap:8px}.social-icon{width:43px;height:43px}.store-card{grid-template-columns:42px minmax(0,1fr);}.store-card b{display:none}.store-pin{width:42px;height:42px}.contact-v51-main h2{font-size:62px}}
