

:root{--navy:#011231;--blue:#022f57;--action:#0d6ea8;--pale:#dcecf6;--paper:#f4f8fb;--ink:#111827;--muted:#718096;--white:#fff;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.skip{position:fixed;left:1rem;top:-4rem;background:#fff;padding:1rem;z-index:1000}.skip:focus{top:1rem}.progress{position:fixed;z-index:100;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,#55b9db 0 30%,transparent 30%);transform-origin:left}.header{height:94px;position:absolute;top:0;left:0;width:100%;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;border-bottom:1px solid #ffffff2c}.brand{display:flex;align-items:center;gap:.65rem;font-weight:900;letter-spacing:.15em}.brand img{width:42px;height:42px;object-fit:cover;border-radius:50%;filter:brightness(1.25)}.header nav{display:flex;gap:clamp(1rem,2vw,2.4rem);font-size:.77rem}.header nav a{opacity:.82;position:relative}.header nav a:after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:1px;background:#fff;transition:.3s}.header nav a:hover:after{width:100%}.head-actions,.lang{display:flex;align-items:center}.head-actions{gap:1.1rem}.lang{gap:.45rem;font-size:.65rem}.lang button{background:0;border:0;color:#fff;padding:.25rem;opacity:.55;cursor:pointer}.lang button.on{opacity:1;font-weight:800}.lang i{width:18px;height:1px;background:#ffffff55}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;border:1px solid currentColor;padding:1rem 1.15rem;text-transform:uppercase;font-size:.69rem;letter-spacing:.08em;transition:.3s}.button:hover{background:var(--action);border-color:var(--action);color:#fff}.button.small{padding:.8rem 1rem}.menu-trigger{display:none;background:0;border:0;width:42px;height:42px}.menu-trigger span{display:block;width:24px;height:1px;background:#fff;margin:6px auto}.mobile-menu{display:none}
.hero{min-height:100svh;position:relative;color:#fff;background:var(--navy);overflow:hidden}.hero-photo{position:absolute;inset:0;background-image:url("../img/hero.webp");background-size:cover;background-position:center 42%;opacity:.72;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,18,49,.94) 0%,rgba(1,18,49,.7) 48%,rgba(1,18,49,.16) 100%),linear-gradient(0deg,rgba(1,18,49,.65),transparent 45%)}.hero-content{position:relative;z-index:3;min-height:100svh;padding:clamp(9rem,17vh,13rem) 7vw 8vh;display:flex;flex-direction:column;justify-content:space-between;max-width:1400px}.eyebrow,.section-no{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:700}.eyebrow:before{content:"";display:inline-block;width:42px;height:1px;background:currentColor;margin-right:1rem;vertical-align:middle}.hero h1{font-size:clamp(3.1rem,7.3vw,8.2rem);line-height:.88;letter-spacing:-.065em;font-weight:500;margin:2rem 0;max-width:1200px}.hero h1 em{font-family:var(--serif);font-weight:400}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.hero-bottom>p{max-width:580px;font-size:clamp(.95rem,1.25vw,1.16rem);line-height:1.7;color:#dcecf6}.actions{display:flex;align-items:center;gap:2rem}.button.light{background:#fff;color:var(--blue);border-color:#fff}.button.light:hover{background:var(--pale)}.text-link{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid #ffffff66;padding:.9rem 0}.text-link span{margin-left:2rem}.hero-stamp{position:absolute;right:4vw;top:21%;z-index:4;border-left:1px solid #ffffff66;padding-left:1rem;display:flex;flex-direction:column}.hero-stamp span{font-size:.64rem;letter-spacing:.2em}.hero-stamp strong{font-family:var(--serif);font-style:italic;font-size:1.2rem}.scroll{position:absolute;z-index:5;right:3vw;bottom:5vh;display:flex;align-items:center;gap:.75rem;font-size:.57rem;letter-spacing:.2em;writing-mode:vertical-rl}.scroll span{height:52px;width:1px;background:#fff}.route{position:absolute;z-index:2;bottom:-15%;width:1px;height:72%;background:linear-gradient(transparent,#7dd2ef);transform-origin:bottom;box-shadow:0 0 10px #7dd2ef}.route:after{content:"";position:absolute;top:0;left:-3px;width:7px;height:7px;border-radius:50%;background:#fff}.route-a{right:24%;transform:rotate(27deg)}.route-b{right:19%;transform:rotate(17deg);height:54%}.route-c{right:34%;transform:rotate(37deg);height:46%}
.section-pad{padding:clamp(5rem,10vw,10rem) max(5vw,calc((100vw - 1500px)/2))}.section-no{color:var(--action)}.intro{background:#fff;position:relative;overflow:hidden}.intro h2,.areas h2,.impact h2,.timeline h2,.partners h2,.faq h2{font-size:clamp(2.5rem,5vw,6rem);line-height:.98;letter-spacing:-.05em;font-weight:500;margin:4rem 0;max-width:1000px}.line-map{height:170px;position:relative;border-bottom:1px solid #d5e0e7}.line-map span{position:absolute;left:0;top:80px;width:80%;height:1px;background:var(--action);transform:rotate(-7deg);transform-origin:left}.line-map i{position:absolute;top:65px;width:13px;height:13px;border:3px solid #fff;background:var(--action);border-radius:50%;box-shadow:0 0 0 1px var(--action)}.line-map i:nth-child(2){left:20%}.line-map i:nth-child(3){left:48%;top:26px}.line-map i:nth-child(4){left:75%;top:-13px}.line-map b{position:absolute;right:3%;top:-65px;width:42px;height:42px;border:1px solid var(--action);border-radius:50%}
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;background:var(--paper);align-items:center}.about-image{height:min(760px,70vw);position:relative;background:url("../img/about.webp") center/cover}.about-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#01123199,transparent)}.about-image>span{position:absolute;z-index:2;bottom:2rem;left:2rem;color:#fff;font-family:var(--serif);font-size:clamp(8rem,18vw,17rem);line-height:.65}.about-image small{position:absolute;z-index:2;bottom:2.1rem;left:45%;color:#fff;max-width:100px;text-transform:uppercase;letter-spacing:.14em}.about-copy h3{font-family:var(--serif);font-size:clamp(2rem,3.5vw,4.2rem);line-height:1.12;font-weight:400;margin:3rem 0}.about-copy>p:not(.eyebrow){color:#526071;line-height:1.8;max-width:620px}.pillars{display:flex;border-top:1px solid #cad7df;border-bottom:1px solid #cad7df;margin:3rem 0}.pillars span{flex:1;padding:1.2rem .2rem;font-size:.75rem}.pillars b{display:block;color:var(--action);font-size:.6rem;margin-bottom:.5rem}.arrow-link{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.arrow-link span{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid #aab9c4;border-radius:50%;margin-left:1rem}
.purpose{background:var(--navy);color:#fff;padding:8vw 7vw;position:relative;overflow:hidden}.purpose:after{content:"";position:absolute;width:50vw;height:80vw;border:1px solid #3c6984;transform:rotate(38deg);right:-20vw;top:-35vw}.purpose-tabs{display:flex;gap:2rem;border-bottom:1px solid #ffffff30}.purpose-tabs button{background:0;border:0;color:#fff;padding:1rem 0;opacity:.45;cursor:pointer;text-transform:uppercase;letter-spacing:.12em}.purpose-tabs button.active{opacity:1;border-bottom:2px solid #70c7e8}.purpose-text{min-height:420px;display:flex;align-items:center;gap:5vw;position:relative;z-index:2}.purpose-text small{font-family:var(--serif);font-size:15rem;opacity:.06}.purpose-text p{font-family:var(--serif);font-size:clamp(2rem,4.4vw,5.5rem);line-height:1.06;max-width:1100px}.values{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #ffffff30;position:relative;z-index:2}.values span{padding:1.4rem .8rem;border-right:1px solid #ffffff30;font-size:.75rem}.values i{display:block;font-style:normal;color:#6dc5e7;font-size:.6rem;margin-bottom:1rem}
.areas{background:#fff}.areas-head{display:grid;grid-template-columns:1fr 2.7fr;align-items:start}.areas-head h2{margin-top:0}.areas-stage{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw}.areas-visual{min-height:600px}.area-img{height:100%;min-height:600px;position:relative;background-size:cover;background-position:center;transition:.5s}.area-0{background-image:url("../img/hero-2.webp")}.area-1{background-image:url("../img/hero-3.webp")}.area-2{background-image:url("../img/hero-4.webp")}.area-3{background-image:url("../img/hero-5.webp")}.area-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#011231aa,transparent)}.area-img>span{position:absolute;z-index:2;right:1.5rem;bottom:1rem;color:#fff;font-family:var(--serif);font-size:8rem}.areas-list button{width:100%;display:grid;grid-template-columns:50px 1fr 30px;text-align:left;gap:1rem;padding:2rem .5rem;border:0;border-bottom:1px solid #ccd7df;background:transparent;cursor:pointer}.areas-list b{color:var(--action);font-size:.65rem}.areas-list strong{display:block;font-family:var(--serif);font-size:clamp(1.4rem,2vw,2.4rem);font-weight:400}.areas-list small{display:block;max-height:0;overflow:hidden;color:#687687;line-height:1.6;transition:.35s;max-width:500px}.areas-list button.active small{max-height:100px;margin-top:1rem}.areas-list button.active strong{color:var(--action)}
.manifesto{min-height:80vh;background:linear-gradient(#012b4ecf,#011231ed),url("../img/hero-3.webp") center/cover fixed;color:#fff;display:grid;place-items:center;position:relative;padding:10vw}.manifesto p{font-family:var(--serif);font-size:clamp(2.2rem,4.8vw,6rem);line-height:1.07;max-width:1250px;text-align:center}.manifesto>span{position:absolute;bottom:3rem;font-size:.6rem;letter-spacing:.2em}.manifesto-route{position:absolute;width:1px;height:80%;background:linear-gradient(transparent,#63c8ea,transparent);transform:rotate(54deg)}
.impact{background:var(--pale);display:grid;grid-template-columns:1.3fr .7fr;gap:5vw}.impact-head>p:last-child{max-width:570px;line-height:1.7;color:#566575}.impact-number{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #a9c6d8;padding-left:4vw}.impact-number strong{font-family:var(--serif);font-size:clamp(10rem,20vw,21rem);line-height:.7;color:var(--blue)}.impact-number span{margin-top:3rem;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem}.map-panel{grid-column:1/-1;background:var(--blue);color:#fff;min-height:280px;padding:3rem;display:flex;align-items:center;justify-content:center;gap:5vw}.guatemala{font-family:var(--serif);font-size:6rem;position:relative;color:#73c7e6}.guatemala i{position:absolute;width:9px;height:9px;border:2px solid #fff;border-radius:50%}.guatemala i:nth-child(1){left:10px;top:50px}.guatemala i:nth-child(2){left:70px;top:10px}.guatemala i:nth-child(3){right:-20px;bottom:20px}.map-panel p{display:flex;flex-direction:column;gap:.5rem}.map-panel p b{font-size:2rem}.map-panel p span{opacity:.7}
.timeline{background:#fff;overflow:hidden}.timeline-track{display:flex;min-width:1100px;border-top:1px solid #8db4ca;padding-top:3rem;margin-top:7rem}.dot{width:11.11%;position:relative;color:#8b99a8}.dot:before{content:"";position:absolute;width:9px;height:9px;background:#8db4ca;border-radius:50%;top:-3.32rem;left:0}.dot b{font-size:.8rem}.dot small{display:block;margin-top:1rem;color:var(--ink)}.dot.active{color:var(--action)}.dot.active:before{width:18px;height:18px;background:var(--action);top:-3.62rem;box-shadow:0 0 0 8px #dcecf6}
.stories{min-height:800px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr}.story-photo{background:url("../img/story.webp") center/cover}.story-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.story-copy h2{font-family:var(--serif);font-size:clamp(2.5rem,5vw,6rem);line-height:1;margin:2rem 0}.story-copy>p:not(.section-no){line-height:1.7;color:#c4d4df}.pending{margin-top:3rem;padding-top:1.2rem;border-top:1px solid #ffffff36;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem}
.partners{background:var(--paper)}.partner-options{margin-top:6rem}.partner-options a{display:grid;grid-template-columns:70px 1fr 50px;align-items:center;border-top:1px solid #bbc9d2;padding:1.7rem .3rem;transition:.3s}.partner-options a:last-child{border-bottom:1px solid #bbc9d2}.partner-options a:hover{padding-left:1rem;background:#fff}.partner-options b{color:var(--action);font-size:.65rem}.partner-options span{font-family:var(--serif);font-size:clamp(1.3rem,2.5vw,2.6rem)}.partner-options i{font-style:normal}
.faq{background:#fff;display:grid;grid-template-columns:.75fr 1.25fr;gap:6vw}.faq h2{font-family:var(--serif);grid-column:1;margin-top:3rem}.faq-list{grid-column:2;grid-row:1/3}.faq details{border-top:1px solid #c8d4dc}.faq details:last-child{border-bottom:1px solid #c8d4dc}.faq summary{list-style:none;cursor:pointer;padding:1.6rem 0;display:grid;grid-template-columns:45px 1fr 20px;font-size:1.1rem}.faq summary::-webkit-details-marker{display:none}.faq summary b{font-size:.6rem;color:var(--action)}.faq summary span{font-size:1.5rem;font-weight:300;transition:.2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{margin:0 0 2rem 45px;color:#617181;line-height:1.7;max-width:650px}
.contact{background:var(--blue);color:#fff;padding:10vw 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.contact h2{font-family:var(--serif);font-size:clamp(2.7rem,5vw,6rem);line-height:1;margin:3rem 0}.contact-copy>p:not(.section-no){color:#bdd1df;line-height:1.7;max-width:500px}.contact-data{display:flex;flex-direction:column;gap:.8rem;margin-top:3rem;font-size:.85rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-grid label{display:flex;flex-direction:column;gap:.7rem}.form-grid label.wide{grid-column:1/-1}.form-grid label span{font-size:.63rem;text-transform:uppercase;letter-spacing:.12em;color:#b9d3e2}.form-grid input,.form-grid textarea,.form-grid select{background:transparent;color:#fff;border:0;border-bottom:1px solid #7ca0b8;padding:.8rem 0;outline:none}.form-grid select option{color:#111}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:#fff}.consent{display:flex;gap:.7rem;align-items:start;margin:1.7rem 0;font-size:.72rem;color:#c6d7e1;line-height:1.5}.submit{background:#fff;color:var(--blue);border:0;min-width:210px;cursor:pointer}.success{padding:1rem;border-left:3px solid #70d6a5;background:#ffffff12}.honeypot{position:absolute;left:-9999px}
footer{background:var(--navy);color:#fff;padding:8vw 7vw 3vw}.footer-mark{display:flex;align-items:baseline;gap:1rem}.footer-mark span{font-size:clamp(4rem,12vw,12rem);font-weight:900;letter-spacing:-.07em}.footer-mark strong{font-family:var(--serif);font-size:clamp(2rem,5vw,5rem);font-style:italic}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:2rem;margin-top:5rem;font-size:.7rem}.footer-bottom div{display:flex;gap:1.5rem}.whatsapp{position:fixed;right:2rem;bottom:2rem;z-index:40;display:flex;align-items:center;gap:.6rem;background:#fff;color:var(--blue);padding:.45rem .45rem .45rem 1rem;border-radius:3rem;box-shadow:0 12px 40px #01123135;font-size:.7rem}.whatsapp b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--action);color:#fff;font-size:.65rem}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1000px){.header nav,.button.small{display:none}.menu-trigger{display:block}.mobile-menu{position:fixed;display:flex;z-index:45;inset:0;background:var(--navy);color:#fff;flex-direction:column;padding:9rem 7vw 4rem;transform:translateY(-100%);transition:.5s}.mobile-menu.open{transform:none}.mobile-menu small{margin-bottom:2rem;color:#74c7e5}.mobile-menu a{display:flex;align-items:center;gap:1.5rem;font-family:var(--serif);font-size:clamp(2rem,7vw,4rem);padding:.5rem 0;border-bottom:1px solid #ffffff26}.mobile-menu a b{font:500 .6rem Arial;color:#76c9e8}.hero-bottom{align-items:start;flex-direction:column}.hero-stamp{display:none}.about{grid-template-columns:1fr}.about-image{height:70vh}.purpose-text{min-height:330px}.purpose-text small{font-size:8rem}.values{grid-template-columns:1fr 1fr}.areas-head{grid-template-columns:1fr}.areas-stage{grid-template-columns:1fr}.areas-visual{min-height:55vh}.area-img{min-height:55vh}.impact{grid-template-columns:1fr}.impact-number{border-left:0;border-top:1px solid #a9c6d8;padding:4rem 0}.stories{grid-template-columns:1fr}.story-photo{min-height:65vh}.faq{grid-template-columns:1fr}.faq h2,.faq-list{grid-column:1;grid-row:auto}.contact{grid-template-columns:1fr}}
@media(max-width:640px){.header{height:76px;padding:0 1.1rem}.brand img{width:34px;height:34px}.hero-content{padding:8rem 1.3rem 4rem}.hero h1{font-size:clamp(3rem,14vw,4.6rem)}.hero-bottom>p{font-size:.9rem;line-height:1.55}.actions{align-items:flex-start;flex-direction:column;gap:.5rem}.hero-photo{background-position:60% center}.scroll{display:none}.section-pad{padding:5rem 1.3rem}.intro h2,.areas h2,.impact h2,.timeline h2,.partners h2,.faq h2{font-size:2.7rem;margin:2.4rem 0}.about{padding-left:0;padding-right:0}.about-copy{padding:0 1.3rem}.about-image{height:62vh}.about-image small{left:auto;right:1.5rem}.pillars{overflow-x:auto}.pillars span{min-width:110px}.purpose{padding:5rem 1.3rem}.purpose-text{min-height:440px}.purpose-text small{position:absolute}.purpose-text p{font-size:2.4rem;position:relative}.values{grid-template-columns:1fr}.values span{border-bottom:1px solid #ffffff25}.areas-stage{gap:1rem}.areas-list strong{font-size:1.55rem}.areas-list small{font-size:.75rem}.manifesto{min-height:70vh;padding:4rem 1.3rem;background-attachment:scroll}.manifesto p{font-size:2.5rem}.impact-number strong{font-size:12rem}.map-panel{padding:2rem 1rem;flex-direction:column}.timeline-track{overflow:visible}.timeline{overflow-x:auto}.stories{min-height:auto}.story-photo{min-height:55vh}.story-copy{padding:5rem 1.3rem}.partner-options{margin-top:3rem}.partner-options a{grid-template-columns:42px 1fr 25px}.partner-options span{font-size:1.35rem}.contact{padding:5rem 1.3rem}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:1}.footer-bottom{flex-direction:column;gap:1.5rem}.footer-bottom div{flex-wrap:wrap}.whatsapp{right:1rem;bottom:1rem}.whatsapp span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.manifesto{background-attachment:scroll}}

.waze{position:fixed;right:2rem;bottom:6.3rem;z-index:39;display:flex;align-items:center;gap:.6rem;background:#fff;color:var(--blue);padding:.45rem .45rem .45rem 1rem;border-radius:3rem;box-shadow:0 12px 40px #01123135;font-size:.7rem}.waze b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#33ccff;color:var(--navy);font-size:.82rem;font-weight:900}.waze:hover{transform:translateY(-2px)}
@media(max-width:640px){.waze{right:1rem;bottom:5.4rem}.waze span{display:none}}

/* Premium interaction layer */
.progress{width:0;background:linear-gradient(90deg,#6ed5f5,#fff);box-shadow:0 0 18px #6ed5f5;transition:width .12s linear}
.header{transition:height .35s ease,background .35s ease,backdrop-filter .35s ease,transform .35s ease}.header.is-scrolled{position:fixed;height:72px;background:#011231d9;backdrop-filter:blur(16px);box-shadow:0 12px 40px #01123122}.header.is-hidden{transform:translateY(-110%)}
.hero-photo{transition:background-image .55s ease,transform .2s linear;will-change:transform}.hero:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(420px circle at var(--pointer-x,70%) var(--pointer-y,35%),#4cc8f218,transparent 68%)}
.hero h1 em{display:inline-block;position:relative}.hero h1 em:after{content:"";position:absolute;left:0;right:0;bottom:-.08em;height:2px;background:linear-gradient(90deg,transparent,#73d3f4,transparent);transform:scaleX(0);transform-origin:left;animation:draw-accent 1.4s .45s ease forwards}
.line-map i,.map-pin span{animation:node-pulse 2.6s ease-in-out infinite}.line-map i:nth-child(3){animation-delay:.4s}.line-map i:nth-child(4){animation-delay:.8s}
.button,.arrow-link,.partner-options a,.areas-list button,.map-actions a{transition:transform .3s ease,background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}
.button:hover,.map-actions a:hover{box-shadow:0 18px 42px #01123122}.partner-options a:hover{transform:translateX(8px)}.values span{transition:background .3s ease,color .3s ease,transform .3s ease}.values span:hover{background:#0d6ea855;transform:translateY(-6px)}
.area-img{overflow:hidden;transition:opacity .22s ease,transform .5s cubic-bezier(.2,.8,.2,1)}.area-img.is-changing{opacity:.25;transform:scale(.985)}.areas-list button i{transition:transform .3s ease}.areas-list button.active i,.areas-list button:hover i{transform:translate(4px,-4px)}
.impact-number strong{font-variant-numeric:tabular-nums}.faq details{transition:background .3s ease,padding .3s ease}.faq details[open]{background:#f4f8fb;padding:0 1rem}.story-photo,.about-image{transition:filter .5s ease,transform .7s ease}.stories:hover .story-photo,.about:hover .about-image{filter:saturate(1.08);transform:scale(1.012)}
.whatsapp,.waze{isolation:isolate;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease;padding-left:1.2rem}.whatsapp:before,.waze:before{content:"";position:absolute;right:.45rem;width:44px;height:44px;border-radius:50%;z-index:-1;animation:float-pulse 2.2s ease-out infinite}.whatsapp:before{background:#25d366}.waze:before{background:#33ccff}.whatsapp b{background:#25d366}.whatsapp b img,.waze b img{width:22px;height:22px;display:block}.whatsapp:hover,.waze:hover{transform:translateY(-6px) scale(1.035);box-shadow:0 18px 48px #01123145}.whatsapp:hover b img,.waze:hover b img{animation:icon-wiggle .55s ease}.whatsapp span,.waze span{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .45s ease,opacity .3s ease}.whatsapp:hover span,.waze:hover span{max-width:170px;opacity:1}

.location-map{display:grid;grid-template-columns:1.1fr .9fr;min-height:680px;background:#edf4f8}.map-visual{position:relative;overflow:hidden;min-height:680px;background:linear-gradient(145deg,#011231,#073e65);color:#fff}.map-grid{position:absolute;inset:-20%;opacity:.14;background-image:linear-gradient(#9adcf333 1px,transparent 1px),linear-gradient(90deg,#9adcf333 1px,transparent 1px);background-size:62px 62px;transform:rotate(-8deg) scale(1.1)}.map-route{position:absolute;height:2px;background:linear-gradient(90deg,transparent,#65cff2,#fff);transform-origin:left;box-shadow:0 0 16px #65cff2}.map-route:after{content:"";position:absolute;right:0;top:-4px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:var(--action)}.map-route-a{width:78%;left:-4%;top:62%;transform:rotate(-28deg)}.map-route-b{width:64%;left:20%;top:32%;transform:rotate(18deg)}.map-pin{position:absolute;left:58%;top:44%;width:84px;height:84px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 22px #ffffff0b,0 0 0 48px #ffffff08}.map-pin span{width:24px;height:24px;border-radius:50% 50% 50% 0;background:#fff;transform:rotate(-45deg)}.map-pin span:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--action);left:8px;top:8px}.map-label{position:absolute;left:calc(58% + 65px);top:44%;display:flex;flex-direction:column;gap:.3rem}.map-label b{font-size:1.1rem;letter-spacing:.16em}.map-label small{color:#aad4e6}.map-coordinates{position:absolute;left:2.5rem;bottom:2.5rem;font-size:.62rem;letter-spacing:.16em;color:#9fc7da}.map-information{padding:clamp(4rem,8vw,8rem) clamp(2rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center}.map-information h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.7rem,4.6vw,5.4rem);line-height:1;margin:2rem 0}.map-information>p:not(.section-no){color:#617181;line-height:1.7}.map-information address{font-style:normal;border-top:1px solid #bdccd5;border-bottom:1px solid #bdccd5;margin:2.5rem 0;display:grid;grid-template-columns:110px 1fr;gap:1rem;padding:1.5rem 0}.map-information address span{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--action)}.map-information address strong{font-family:var(--serif);font-size:1.35rem;font-weight:400;line-height:1.45}.map-actions{display:flex;flex-wrap:wrap;gap:.8rem}.map-actions a{display:flex;align-items:center;gap:.7rem;border:1px solid #9db3c0;padding:1rem 1.2rem;text-transform:uppercase;font-size:.65rem;letter-spacing:.08em}.map-actions a:first-child{background:var(--blue);color:#fff;border-color:var(--blue)}.map-actions img{width:20px;height:20px;filter:brightness(0) invert(1)}.map-actions b{margin-left:.7rem}
@keyframes draw-accent{to{transform:scaleX(1)}}@keyframes node-pulse{0%,100%{box-shadow:0 0 0 0 #62c8ea55}50%{box-shadow:0 0 0 12px #62c8ea00}}@keyframes float-pulse{0%{transform:scale(.9);opacity:.45}75%,100%{transform:scale(1.55);opacity:0}}@keyframes icon-wiggle{0%,100%{transform:rotate(0)}30%{transform:rotate(-12deg)}65%{transform:rotate(10deg)}}
@media(max-width:900px){.location-map{grid-template-columns:1fr}.map-visual{min-height:480px}.map-information{padding:5rem 1.5rem}.whatsapp span,.waze span{display:none}.whatsapp,.waze{padding-left:.45rem}}
@media(max-width:640px){.map-visual{min-height:380px}.map-pin{left:48%;top:42%}.map-label{left:calc(48% + 55px);top:42%}.map-information h2{font-size:2.8rem}.map-information address{grid-template-columns:1fr}.map-actions{flex-direction:column}.map-actions a{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.hero h1 em:after{transform:scaleX(1)}.whatsapp:before,.waze:before,.line-map i,.map-pin span{animation:none}.hero-photo{transform:none!important}}

/* Ajustes de legibilidad para cifras y accesos flotantes */
.about-image{overflow:hidden}
.about-image>span{bottom:2.4rem;line-height:.78;font-size:clamp(7rem,15vw,14rem)}
.about-image small{left:auto;right:1.5rem;bottom:1.5rem;width:min(44%,190px);max-width:none;line-height:1.45;text-align:right}
.impact-number{min-width:0}
.impact-number strong{display:block;line-height:.82}
.impact-number span{position:relative;z-index:2;max-width:22rem;line-height:1.55}
.area-img>span{line-height:.85}

.whatsapp,.waze{right:1.35rem;gap:.45rem;padding:.32rem .32rem .32rem .8rem;font-size:.64rem;box-shadow:0 9px 26px #0112312b}
.whatsapp{bottom:1.35rem}
.waze{bottom:4.75rem}
.whatsapp b,.waze b{width:36px;height:36px}
.whatsapp:before,.waze:before{right:.32rem;width:36px;height:36px}
.whatsapp b img,.waze b img{width:17px;height:17px}
.whatsapp:hover,.waze:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 13px 32px #01123138}

@media(max-width:640px){
  .about-image>span{left:1.3rem;bottom:2rem;font-size:clamp(7rem,36vw,11rem)}
  .about-image small{right:1.3rem;bottom:1.35rem;width:42%;font-size:.62rem}
  .impact-number strong{font-size:clamp(8rem,42vw,11rem)}
  .impact-number span{margin-top:1.5rem}
  .whatsapp,.waze{right:.75rem;padding:.28rem}
  .whatsapp{bottom:.75rem}
  .waze{bottom:3.8rem}
  .whatsapp b,.waze b{width:34px;height:34px}
  .whatsapp:before,.waze:before{right:.28rem;width:34px;height:34px}
  .whatsapp b img,.waze b img{width:16px;height:16px}
}

/* Rutas vivas sobre las fotografías */
.visual-routes{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none;opacity:.9}
.visual-routes i{position:absolute;left:-18%;width:138%;height:2px;display:block;transform-origin:center;background:linear-gradient(90deg,transparent 0 8%,#76cbed 18%,#fff 38%,#1689c6 58%,transparent 75%);background-size:220% 100%;filter:drop-shadow(0 0 3px #45b6e0);animation:route-travel 5.8s linear infinite}
.visual-routes i:nth-child(1){top:28%;transform:rotate(-17deg)}
.visual-routes i:nth-child(2){top:43%;transform:rotate(-31deg);height:1px;animation-duration:7.2s;animation-delay:-2.4s}
.visual-routes i:nth-child(3){top:20%;transform:rotate(-48deg);height:1px;background-image:linear-gradient(90deg,transparent 5%,#ffffffcc 20% 24%,transparent 24% 29%,#ffffffcc 29% 33%,transparent 33% 38%,#ffffffcc 38% 42%,transparent 55%);animation-duration:8.4s}
.visual-routes b{position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff25,0 0 18px #55bee9;animation:route-node 2.6s ease-in-out infinite}
.visual-routes b:nth-of-type(1){left:14%;top:43%}
.visual-routes b:nth-of-type(2){left:61%;top:23%;animation-delay:-.8s}
.visual-routes b:nth-of-type(3){right:7%;top:8%;background:#1689c6;animation-delay:-1.6s}
.about-image>span,.about-image small,.area-img>span{z-index:4}
.area-img .visual-routes{opacity:.82}
.story-photo{position:relative;overflow:hidden}
.story-photo .visual-routes{opacity:.86}

@keyframes route-travel{0%{background-position:120% 0;opacity:.42}45%{opacity:1}100%{background-position:-120% 0;opacity:.55}}
@keyframes route-node{0%,100%{transform:scale(.78);box-shadow:0 0 0 0 #63c7eb66,0 0 12px #55bee9}50%{transform:scale(1.12);box-shadow:0 0 0 11px #63c7eb00,0 0 22px #fff}}

@media(max-width:640px){
  .visual-routes{opacity:.72}
  .visual-routes b{width:10px;height:10px}
}

@media(prefers-reduced-motion:reduce){
  .visual-routes i,.visual-routes b{animation:none}
}

/* Selector de idioma con banderas locales */
.lang{gap:.6rem}
.lang i{width:14px}
.lang button{position:relative;display:grid;place-items:center;width:34px;height:28px;padding:3px;border-radius:5px;opacity:.58;transition:opacity .25s ease,transform .3s cubic-bezier(.2,.8,.2,1),background .25s ease}
.lang button img{display:block;width:27px;height:18px;object-fit:cover;border-radius:2px;box-shadow:0 2px 7px #0005;transition:transform .3s ease,filter .3s ease}
.lang button:hover{opacity:1;transform:translateY(-2px)}
.lang button:hover img{transform:scale(1.08) rotate(-2deg);filter:saturate(1.15)}
.lang button.on{opacity:1;background:#ffffff18}
.lang button.on:after{content:"";position:absolute;left:50%;bottom:-3px;width:5px;height:5px;border-radius:50%;background:#69caec;transform:translateX(-50%);animation:flag-active 1.8s ease-in-out infinite}
.lang button.on img{animation:flag-wave 2.8s ease-in-out infinite;transform-origin:left center}

@keyframes flag-wave{0%,100%{transform:perspective(80px) rotateY(0)}50%{transform:perspective(80px) rotateY(-9deg) scale(1.03)}}
@keyframes flag-active{0%,100%{box-shadow:0 0 0 0 #69caec77}50%{box-shadow:0 0 0 5px #69caec00}}

@media(prefers-reduced-motion:reduce){
  .lang button.on img,.lang button.on:after{animation:none}
}

/* Redes sociales del pie de página */
.footer-bottom div{align-items:center}
.footer-bottom .social-link{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff35;border-radius:50%;transition:transform .3s ease,border-color .3s ease,background .3s ease}
.footer-bottom .social-link img{display:block;width:17px;height:17px;object-fit:contain}
.footer-bottom .social-link span{position:absolute;left:50%;bottom:calc(100% + 9px);padding:.35rem .5rem;border-radius:3px;background:#fff;color:var(--navy);font-size:.58rem;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,5px);transition:opacity .25s ease,transform .25s ease}
.footer-bottom .social-link span:after{content:"";position:absolute;left:50%;top:100%;border:4px solid transparent;border-top-color:#fff;transform:translateX(-50%)}
.footer-bottom .social-link:hover{transform:translateY(-4px);border-color:#69caec;background:#0d6ea8}
.footer-bottom .social-link:hover span{opacity:1;transform:translate(-50%,0)}

@media(max-width:640px){
  .footer-bottom .social-link{width:36px;height:36px}
}

/* Alineación editorial uniforme de párrafos */
p:not(.eyebrow):not(.section-no){
  text-align:justify;
  text-align-last:left;
  text-justify:inter-word;
  hyphens:none;
  -webkit-hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.manifesto p{
  text-align:center;
  text-align-last:center;
}
.map-panel p,.footer-bottom p{
  text-align:left;
  text-align-last:left;
}

/* Misión, visión y manifiesto: composición editorial natural */
.purpose-text p,.manifesto p{
  text-align:left;
  text-align-last:left;
  text-justify:auto;
  word-spacing:normal;
  hyphens:none;
  -webkit-hyphens:none;
}

.admin-shell{min-height:100vh;background:#edf3f7;display:grid;grid-template-columns:280px 1fr;color:var(--ink)}.admin-side{background:var(--navy);color:#fff;padding:1.6rem 1rem;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.admin-brand{display:flex;align-items:center;gap:.8rem;padding:.3rem .7rem 2rem}.admin-brand img{width:42px;height:42px;border-radius:50%}.admin-brand>span{font-weight:900;letter-spacing:.12em}.admin-brand small{display:block;font-size:.55rem;font-weight:400;letter-spacing:.05em;color:#82a9bf}.admin-side nav{display:flex;flex-direction:column;overflow-y:auto}.admin-side nav a{display:grid;grid-template-columns:35px 1fr;padding:.72rem;border-radius:4px;font-size:.76rem;color:#b7cbd8}.admin-side nav a b{font-size:.52rem;color:#5f92ad}.admin-side nav a.active,.admin-side nav a:hover{background:#0b3653;color:#fff}.admin-user{margin-top:auto;border-top:1px solid #ffffff22;padding:1rem .5rem 0;display:flex;align-items:center;gap:.75rem}.admin-user>span{width:36px;height:36px;background:#dcecf6;color:var(--blue);display:grid;place-items:center;border-radius:50%;font-size:.7rem;font-weight:700}.admin-user p{margin:0}.admin-user b,.admin-user small{display:block;font-size:.68rem}.admin-user small{color:#7fa2b7;margin-top:.2rem}.admin-main{padding:3rem 4vw}.admin-main>header{display:flex;justify-content:space-between;align-items:end;margin-bottom:2.5rem}.admin-main header small{color:#728292}.admin-main h1{font-family:var(--serif);font-size:3rem;font-weight:400;margin:.3rem 0}.admin-main>header>a{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid;padding-bottom:.4rem}.admin-alert{background:#dbeaf2;border-left:3px solid var(--action);padding:1.2rem;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:1rem;font-size:.75rem}.admin-alert button,.card-head button{background:0;border:0;color:var(--action);font-size:.67rem;text-transform:uppercase;cursor:pointer}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}.admin-metrics article,.admin-grid article{background:#fff;padding:1.5rem}.admin-metrics small,.admin-metrics span{display:block;color:#728292;font-size:.68rem}.admin-metrics strong{display:block;font-family:var(--serif);font-size:3.5rem;font-weight:400;margin:1.5rem 0}.admin-metrics strong.status{font-size:2.5rem;color:#16835b}.admin-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:1rem}.card-head{display:flex;align-items:center;justify-content:space-between}.admin-grid h2{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin:0}.empty{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty>span{display:grid;place-items:center;width:54px;height:54px;border:1px solid #aac1ce;border-radius:50%;color:var(--action)}.empty h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;margin:1rem 0 .3rem}.empty p{font-size:.75rem;color:#748493;max-width:360px;line-height:1.6}.quick h2{margin-bottom:1.4rem}.quick button{display:grid;grid-template-columns:30px 1fr 20px;width:100%;background:0;border:0;border-top:1px solid #d8e1e7;padding:1.2rem 0;text-align:left;font-size:.76rem;cursor:pointer}.quick button b{color:var(--action);font-size:.55rem}.quick button span{text-align:right}
@media(max-width:900px){.admin-shell{grid-template-columns:72px 1fr}.admin-side{padding:1rem .5rem}.admin-brand>span,.admin-side nav a:not(.active){font-size:0}.admin-brand{padding:.3rem 0 2rem}.admin-side nav a{grid-template-columns:1fr;text-align:center}.admin-side nav a b{font-size:.6rem}.admin-user p{display:none}.admin-metrics{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.admin-alert{grid-template-columns:1fr}.admin-main{padding:2rem 1rem}}
@media(max-width:560px){.admin-shell{grid-template-columns:1fr}.admin-side{display:none}.admin-metrics{grid-template-columns:1fr}.admin-main h1{font-size:2.2rem}}



/* Representante legal integrado en la sección de impacto */
.impact-intro{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:clamp(1.5rem,3vw,3rem);align-items:end;max-width:900px}
.impact-description{margin:0;max-width:570px;line-height:1.7;color:#566575}
.impact-representative{margin:0;background:#fff;box-shadow:0 18px 45px #01123118;overflow:hidden}
.impact-representative img{display:block;width:100%;aspect-ratio:1/1.08;object-fit:cover;object-position:center 16%}
.impact-representative figcaption{padding:1rem 1.1rem;background:var(--blue);color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;font-weight:700;text-align:center}
@media(max-width:1000px){.impact-intro{grid-template-columns:minmax(0,1fr) 190px;max-width:none}}
@media(max-width:640px){.impact-intro{grid-template-columns:1fr;align-items:start}.impact-representative{width:min(100%,270px)}.impact-representative img{aspect-ratio:1/1.05}}


/* Ajustes finos exclusivos para vista móvil */
@media (max-width: 640px){
  html,body,main{width:100%;max-width:100%;overflow-x:hidden;}
  header,section,footer,.location-map,.map-visual,.map-information,.purpose,.areas,.impact,.timeline,.stories,.partners,.faq,.contact,.manifesto{max-width:100%;overflow-x:hidden;}

  p:not(.eyebrow):not(.section-no),
  .purpose-text p,
  .manifesto p,
  .impact-description,
  .map-information>p:not(.section-no),
  .story-copy p,
  .contact-copy p,
  .about-copy>p:not(.eyebrow){
    text-align:left !important;
    text-align-last:left !important;
    text-justify:auto !important;
    word-spacing:normal;
    hyphens:none;
    -webkit-hyphens:none;
  }

  .section-pad,.story-copy,.contact,.map-information,.purpose,.manifesto{
    padding-left:1.1rem;
    padding-right:1.1rem;
  }

  .intro h2,.areas h2,.impact h2,.timeline h2,.partners h2,.faq h2,.map-information h2{
    font-size:clamp(2rem,10vw,2.75rem);
    line-height:1.02;
  }

  .purpose-text{
    min-height:auto;
    padding:3.25rem 0 1.75rem;
    align-items:flex-start;
  }
  .purpose-text small{
    font-size:4.8rem;
    top:0;
    left:0;
    opacity:.08;
  }
  .purpose-text p{
    font-size:clamp(1.65rem,9vw,2.1rem);
    line-height:1.12;
    padding-top:.4rem;
  }

  .areas-list button{
    grid-template-columns:28px 1fr 18px;
    gap:.75rem;
    padding:1.15rem 0;
  }
  .areas-list strong{
    font-size:1.25rem;
    line-height:1.05;
  }
  .areas-list small{
    font-size:.74rem;
    line-height:1.55;
    max-width:none;
  }

  .manifesto{
    min-height:auto;
    overflow:hidden;
    padding-top:4rem;
    padding-bottom:4rem;
    background-position:center;
  }
  .manifesto p{
    max-width:100%;
    font-size:clamp(1.9rem,11vw,2.6rem);
    line-height:1.08;
  }
  .manifesto-route{
    right:-8%;
    left:auto;
    top:16%;
    height:88%;
    transform:rotate(47deg);
  }

  .impact-number strong{
    font-size:min(34vw,8rem);
  }
  .impact-number span{
    display:block;
    text-align:left;
  }
  .map-panel{
    align-items:flex-start;
    gap:1rem;
  }
}
