@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&display=swap');
:root{--blue:#073b8c;--ink:#0c1018;--paper:#f7f8fa;--muted:#687282;--yellow:#ffd22e;--red:#e63946;--line:#dfe4ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.7rem 1rem}.header{position:absolute;z-index:20;top:0;display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem clamp(1rem,4vw,4rem);color:var(--ink);background:#f4f6f9;border-bottom:1px solid #d9e0eb;box-shadow:0 8px 24px #06142e12}.header:after{content:"";position:absolute;left:0;bottom:-3px;width:34%;height:3px;background:var(--yellow);box-shadow:34vw 0 0 var(--red)}.brand{display:flex;align-items:center;gap:.7rem}.brand img{width:4.2rem;height:4.2rem;object-fit:contain;filter:drop-shadow(0 8px 14px #0005)}.brand span{font:700 1.3rem 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif;letter-spacing:.05em}.brand small{display:block;font:700 .43rem 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif;letter-spacing:.07em;color:#4a5666;line-height:1.2}.nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.3rem);font-size:.73rem;font-weight:800;letter-spacing:.1em;color:var(--ink)}.nav>a{position:relative;padding:.4rem 0}.nav>a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--yellow);transform:scaleX(.45);transform-origin:left;transition:.2s}.nav>a:nth-child(2):after{background:var(--red)}.nav>a:hover:after{transform:scaleX(1)}.languages{display:flex;gap:.3rem}.languages button{display:inline-flex;align-items:center;gap:.35rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink);padding:.3rem;font-size:.68rem}.languages .active{border-color:var(--blue)}.flag{display:inline-block;width:1.15rem;height:.72rem;border:1px solid #0002;box-shadow:0 1px 2px #0002;vertical-align:middle}.flag-co{background:linear-gradient(to bottom,#f9d616 0 50%,#194fa3 50% 75%,#d8282f 75%)}.flag-us{position:relative;background:repeating-linear-gradient(to bottom,#c91e32 0 10%,#fff 10% 20%)}.flag-us:before{content:"";position:absolute;left:0;top:0;width:45%;height:52%;background:#173a78}.flag-fr{background:linear-gradient(to right,#1b4b9b 0 33.33%,#fff 33.33% 66.66%,#e12c3c 66.66%)}.menu-toggle{display:none;border:0;background:none;color:var(--ink);font-size:1.5rem}.hero{position:relative;isolation:isolate;min-height:clamp(42rem,88vh,56rem);display:flex;align-items:flex-end;overflow:hidden;background:var(--blue);color:#fff;padding-top:5.8rem}.hero-video,.hero-fallback,.hero-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-video{z-index:0;opacity:.98}.hero-fallback{z-index:-1}.hero-overlay{z-index:1;background:linear-gradient(90deg,#06142ebb 0%,#06142e63 45%,#06142e12),linear-gradient(0deg,#06142e65,transparent 58%)}.hero-copy{position:relative;z-index:2;max-width:58rem;padding:clamp(6rem,15vh,10rem) clamp(1.2rem,8vw,8rem) 6rem}.eyebrow{display:inline-block;color:#c3d7fc;font-size:.69rem;font-weight:800;letter-spacing:.2em;line-height:1.3}.eyebrow.dark{color:var(--blue)}h1,h2,h3{font-family:'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif}h1{max-width:57rem;margin:1rem 0 1.3rem;font-size:clamp(2.8rem,7vw,6.2rem);line-height:.95;letter-spacing:-.055em;text-transform:uppercase}h1 span,h2 span{color:var(--yellow)}.hero-copy p{max-width:34rem;color:#e6edfb}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero-language{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:1.25rem;font-size:.68rem;font-weight:800;letter-spacing:.08em}.hero-language>span{margin-right:.35rem;color:#dce7fa}.hero-language button{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid #ffffff70;color:#fff;font-size:.68rem}.hero-language button:hover,.hero-language button.active{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:0;padding:.82rem 1.15rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;will-change:transform,box-shadow;transition:transform .32s cubic-bezier(.23,1,.32,1),background .32s cubic-bezier(.23,1,.32,1),box-shadow .32s cubic-bezier(.23,1,.32,1),filter .32s cubic-bezier(.23,1,.32,1)}.button:hover{transform:translateY(-3px);filter:brightness(1.06);box-shadow:0 12px 24px #06142e26}.button:active{transform:translateY(-1px) scale(.98);transition-duration:.12s}.button.yellow:hover{box-shadow:0 14px 26px #8b6c0040,8px 8px 0 #fff3}.button.red:hover{box-shadow:0 14px 26px #8f152440}.button.yellow{background:var(--yellow);color:#111}.button.red{background:var(--red);color:#fff}.button.ghost{border:1px solid #fff8;color:#fff;background:transparent}.hero-stamp{position:absolute;z-index:2;right:5vw;bottom:5rem;display:flex;align-items:center;gap:.8rem;font-size:.75rem;font-weight:800;text-transform:uppercase}.hero-stamp b{display:grid;place-items:center;width:3.3rem;height:3.3rem;border:1px solid #fff8;border-radius:50%;color:var(--yellow)}.donate-strip{display:grid;grid-template-columns:1.2fr .8fr auto;gap:clamp(1rem,5vw,5rem);align-items:center;padding:2rem clamp(1.2rem,8vw,8rem);background:var(--yellow)}.donate-strip h2{margin:.3rem 0 0;font-size:clamp(1.6rem,3vw,3rem);line-height:1.05}.donate-strip h2 em,.intro h2 em,.donation h2 em,.community h2 em,.contact h2 em{color:var(--red);font-style:normal}.donate-strip p{margin:0;font-size:.9rem}.intro{position:relative;isolation:isolate;display:grid;grid-template-columns:.35fr 1fr;gap:clamp(2rem,7vw,8rem);padding:clamp(5rem,10vw,9rem) clamp(1.2rem,8vw,8rem);background:#fff}.intro:after{content:"";position:absolute;z-index:-1;right:-5rem;top:3rem;width:16rem;height:16rem;border:2px solid #073b8c18;border-radius:48% 52% 62% 38%;transform:rotate(23deg)}.intro-label{font-size:.7rem;font-weight:800;letter-spacing:.16em;color:var(--blue)}.intro h2{max-width:62rem;margin:0 0 1.5rem;font-size:clamp(2.4rem,5vw,5.5rem);line-height:1;letter-spacing:-.055em}.intro p{max-width:42rem;color:#535b67;font-size:clamp(1.05rem,1.5vw,1.25rem)}.text-link{display:inline-flex;gap:.5rem;margin-top:1rem;padding-bottom:.35rem;border-bottom:2px solid var(--red);font-size:.75rem;font-weight:800;letter-spacing:.06em}.values{display:grid;grid-template-columns:repeat(3,1fr);background:var(--blue);color:#fff}.values>div{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;padding:2.2rem clamp(1.2rem,4vw,4rem);border-right:1px solid #ffffff22;color:var(--yellow)}.values b,.values small{grid-column:2}.values b{color:#fff;font:700 .95rem 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif}.values small{color:#c8d7f6;font-size:.76rem}.services{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,8vw,8rem)}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:3rem}.section-head h2{margin:.6rem 0 0;font-size:clamp(2.4rem,5vw,5.5rem);line-height:.95;letter-spacing:-.06em}.section-head>p{max-width:24rem;color:var(--muted)}.service-grid{display:grid;gap:1.5rem}.service{display:grid;grid-template-columns:minmax(18rem,.95fr) 1.05fr;background:#fff;min-height:27rem;box-shadow:0 20px 60px #0b1d3b0b;overflow:hidden}.service-photo{position:relative;min-height:20rem;overflow:hidden}.service-photo img{width:100%;height:100%;object-fit:cover;display:block}.service-photo span{position:absolute;z-index:2;left:1.4rem;bottom:1.1rem;color:#fff;font:700 .75rem 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif;letter-spacing:.1em}.service-photo button{position:absolute;z-index:3;bottom:1rem;display:grid;place-items:center;width:2.35rem;height:2.35rem;border:1px solid #fff8;background:#06142e55;color:#fff;font-size:1.7rem;line-height:1}.service-photo .prev{right:3.7rem}.service-photo .next{right:1rem}.service-photo button:hover{background:var(--yellow);color:#111}.service-body{align-self:center;padding:clamp(2rem,5vw,4.4rem)}.service-number{color:var(--blue);font:700 .75rem 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif}.red-text{color:var(--red)}.service h3{max-width:33rem;margin:1rem 0;font-size:clamp(1.7rem,3vw,3.1rem);line-height:.99;letter-spacing:-.04em}.service strong{display:block;max-width:36rem;color:var(--blue);font-size:1.02rem}.service p{max-width:37rem;color:#626b78;font-size:.95rem}.donation{display:grid;grid-template-columns:1fr minmax(19rem,28rem);gap:clamp(2rem,8vw,10rem);align-items:center;padding:clamp(5rem,9vw,9rem) clamp(1.2rem,8vw,8rem);background:#0e121b;color:#fff}.donation h2{margin:.7rem 0 1.2rem;font-size:clamp(2.5rem,5vw,5rem);line-height:.96;letter-spacing:-.055em}.donation p{max-width:35rem;color:#aab6ca}.secure{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.8rem;color:#dce6f8;font-size:.75rem;font-weight:700}.account{padding:2rem;background:#f6f8fb;color:var(--ink);border-top:5px solid var(--yellow);box-shadow:18px 18px 0 var(--blue)}.account small,.account b{display:block}.account small{font-size:.7rem;letter-spacing:.1em}.account b{border-bottom:1px solid var(--line);padding-bottom:1rem}.account label{display:block;margin:1.2rem 0 .1rem;color:var(--muted);font-size:.7rem}.account strong{font:700 1.2rem 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif;letter-spacing:.06em}.account .button{width:100%;margin-top:1.7rem}.faq{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,8vw,8rem);background:#f4f6f9}.faq-list{max-width:60rem;margin:2.5rem auto 0;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);background:#fff;transition:background .25s cubic-bezier(.23,1,.32,1)}.faq-list details[open]{background:#eef3fb}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem;font:700 1.02rem 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:var(--red);font-size:1.5rem;font-weight:400;transition:transform .25s cubic-bezier(.23,1,.32,1)}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details p{max-width:52rem;margin:0;padding:0 1.4rem 1.35rem;color:#626b78;font-size:.95rem}.mission{display:grid;grid-template-columns:1fr 1fr}.mission>div{padding:clamp(3rem,7vw,7rem) clamp(1.2rem,8vw,8rem);background:#eef3fb}.mission .mission-dark{background:var(--blue);color:#fff}.mission p{max-width:31rem;margin:1.5rem 0 0;font:500 clamp(1.45rem,2.3vw,2.35rem)/1.1 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif;letter-spacing:-.035em}.community{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,8vw,8rem);background:#fff}.commitments{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:3rem}.commitments>div{padding:2rem;background:#fff}.commitments b{color:var(--red);font:700 .75rem 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif}.commitments h3{margin:.7rem 0;font-size:1.6rem}.commitments p{margin:0;color:var(--muted);font-size:.9rem}.quote{padding:clamp(4rem,8vw,7rem) 1.2rem;background:var(--blue);color:#fff;text-align:center}.quote p{max-width:58rem;margin:0 auto 1rem;font:500 clamp(2rem,4vw,4.5rem)/1 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif;letter-spacing:-.055em}.quote span{font-size:.75rem;font-weight:800;letter-spacing:.12em}.contact{display:grid;grid-template-columns:1fr minmax(20rem,31rem);gap:clamp(3rem,10vw,11rem);padding:clamp(5rem,9vw,9rem) clamp(1.2rem,8vw,8rem);background:#fff}.contact h2{margin:.8rem 0 1.5rem;font-size:clamp(2.7rem,5vw,5.5rem);line-height:.94;letter-spacing:-.06em}.contact p{color:#626b78}.contact form{display:grid;gap:1rem}.contact label{display:grid;gap:.35rem;font-size:.72rem;font-weight:800;letter-spacing:.07em}.contact input,.contact textarea{width:100%;border:1px solid var(--line);background:#fafbfd;padding:.9rem 1rem;outline:none;resize:vertical}.contact input:focus,.contact textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #073b8c18}.contact form .button{justify-self:start}.footer{display:grid;grid-template-columns:1.4fr .8fr .9fr;gap:3rem;align-items:end;padding:3rem clamp(1.2rem,8vw,8rem);background:#070a10;color:#fff}.footer img{width:min(18rem,100%);height:auto}.footer p{max-width:19rem;color:#8f9db2;font-size:.8rem}.footer nav{display:grid;gap:.5rem;font-size:.78rem;font-weight:700}.footer nav a:hover{color:var(--yellow)}.footer>small{color:#778196;font-size:.7rem}.whatsapp{position:fixed;z-index:30;right:1.25rem;bottom:1.25rem;display:grid;place-items:center;width:3.7rem;height:3.7rem;border-radius:50%;background:#25d366;color:#fff;font:800 .8rem 'Century Gothic','Avenir Next',Montserrat,Arial,sans-serif;box-shadow:0 12px 28px #0003}.whatsapp:hover{transform:translateY(-4px)}
@media(max-width:900px){.menu-toggle{display:block}.nav{position:absolute;right:1rem;top:5rem;display:none;flex-direction:column;align-items:flex-start;min-width:15rem;padding:1.2rem;background:#f4f6f9;backdrop-filter:blur(16px);box-shadow:0 20px 50px #0004}.nav.open{display:flex}.languages{margin-top:.4rem}.hero-stamp{display:none}.donate-strip,.contact{grid-template-columns:1fr}.donate-strip .button{justify-self:start}.service{grid-template-columns:1fr}.service-photo{min-height:21rem}.section-head{align-items:start;flex-direction:column}.section-head>p{margin:0}.values{grid-template-columns:1fr}.values>div{border-right:0;border-bottom:1px solid #ffffff22}.mission{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}.footer>small{grid-column:1/-1}}
@media(max-width:600px){.faq-list summary{font-size:.92rem;padding:1.1rem}.faq-list details p{padding:0 1.1rem 1.15rem;font-size:.88rem}.brand img{width:3.5rem;height:3.5rem}.brand span{font-size:1rem}.brand small{font-size:.38rem}.hero{padding-top:5rem}.hero-copy{padding-bottom:4rem}h1{font-size:clamp(2.55rem,14vw,4rem)}.actions{flex-direction:column;align-items:flex-start}.donate-strip{padding-top:3rem;padding-bottom:3rem}.intro{grid-template-columns:1fr;gap:1.6rem}.service-body{padding:2rem 1.4rem 2.4rem}.service h3{font-size:2rem}.donation{padding-top:4rem;padding-bottom:4rem}.account{box-shadow:10px 10px 0 var(--blue)}.commitments{grid-template-columns:1fr}.footer{grid-template-columns:1fr}.footer>small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Compact mobile hero: lighter rhythm and lower visual load */
@media(max-width:600px){.hero{min-height:35rem;padding-top:4.8rem}.hero-video{min-height:35rem;object-position:58% center}.hero-copy{padding:3.5rem 1rem 1.55rem}h1{max-width:19rem;margin:.55rem 0 .8rem;font-size:clamp(1.92rem,9.7vw,3rem);line-height:.98;letter-spacing:-.055em}.hero-copy p{max-width:18rem;font-size:.82rem;line-height:1.38}.actions{gap:.45rem;margin-top:1rem}.actions .button{min-height:2.55rem;padding:.65rem .8rem;font-size:.63rem}.hero-language{gap:.25rem;margin-top:.8rem;font-size:.54rem}.hero-language>span{font-size:.56rem}.hero-language button{padding:.35rem .2rem;font-size:.53rem}.hero-language .flag{width:.9rem;height:.56rem}.whatsapp{right:.7rem;bottom:.7rem;width:3.15rem;height:3.15rem}.whatsapp svg{width:22px;height:22px}}
@media(max-width:360px){.hero{min-height:33.5rem}.hero-video{min-height:33.5rem}.hero-copy{padding-top:3rem}h1{font-size:1.83rem}.hero-copy p{font-size:.77rem}.actions .button{min-height:2.35rem;font-size:.58rem}.hero-language button{font-size:.49rem}}

/* Service image lightbox */
.service-photo img{cursor:zoom-in}.service-photo img:focus-visible{outline:3px solid var(--yellow);outline-offset:-5px}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:clamp(1rem,4vw,4rem);background:#05070dcc;backdrop-filter:blur(12px);animation:lightbox-in .2s cubic-bezier(.23,1,.32,1)}.lightbox>img{max-width:min(92vw,1100px);max-height:88vh;width:auto;height:auto;object-fit:contain;box-shadow:0 24px 80px #0008;border:4px solid #fff}.lightbox__close{position:absolute;top:1.25rem;right:1.25rem;display:grid;place-items:center;width:3rem;height:3rem;border:1px solid #fff8;border-radius:50%;background:#07101ddd;color:#fff;font-size:2rem;line-height:1;cursor:pointer;transition:transform .2s cubic-bezier(.23,1,.32,1),background .2s}.lightbox__close:hover{transform:rotate(8deg) scale(1.05);background:var(--red)}.lightbox-open{overflow:hidden}@keyframes lightbox-in{from{opacity:0}to{opacity:1}}@media(max-width:600px){.lightbox{padding:1rem}.lightbox>img{max-width:94vw;max-height:76vh;border-width:2px}.lightbox__close{top:.75rem;right:.75rem;width:2.7rem;height:2.7rem}}@media(prefers-reduced-motion:reduce){.lightbox{animation:none}.lightbox__close{transition:none}}

.lightbox__content{display:flex;flex-direction:column;align-items:center;gap:.8rem;max-width:min(92vw,1100px)}.lightbox__caption{max-width:58rem;margin:0;color:#fff;text-align:center;font-size:clamp(.9rem,1.6vw,1.1rem);line-height:1.45;font-weight:600;letter-spacing:.01em}.lightbox__nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:3.4rem;height:3.4rem;border:1px solid #fff8;border-radius:50%;background:#07101ddd;color:#fff;font-size:2.4rem;line-height:1;transform:translateY(-50%);transition:transform .2s cubic-bezier(.23,1,.32,1),background .2s;cursor:pointer}.lightbox__nav:hover{background:var(--blue);transform:translateY(-50%) scale(1.08)}.lightbox__nav--prev{left:clamp(.75rem,4vw,3rem)}.lightbox__nav--next{right:clamp(.75rem,4vw,3rem)}@media(max-width:600px){.lightbox__content{max-width:84vw;gap:.55rem}.lightbox__nav{width:2.8rem;height:2.8rem;font-size:2rem}.lightbox__nav--prev{left:.35rem}.lightbox__nav--next{right:.35rem}}

/* WhatsApp widget: white icon for contrast */
.whatsapp svg,
.whatsapp svg * {
  color: #fff !important;
  stroke: #fff !important;
  fill: none !important;
}

/* Social rail and donation QR: Pulso Azul institutional treatment */
.social-float{position:fixed;left:.85rem;top:50%;z-index:45;display:grid;gap:.55rem;transform:translateY(-50%)}
.social-float__link{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:2px solid #fff;border-radius:50%;color:#fff;box-shadow:0 8px 22px #06142e35;transition:transform .2s cubic-bezier(.23,1,.32,1),filter .2s cubic-bezier(.23,1,.32,1)}
.social-float__link:hover,.social-float__link:focus-visible{transform:translateX(4px) scale(1.06);filter:brightness(1.1);outline:none}
.social-float__link--facebook{background:#1877f2}.social-float__link--instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d 52%,#fcb045)}
.social-float__link--facebook span{font:bold 1.45rem Arial,sans-serif}.social-float__link--instagram span{font:1.8rem Arial,sans-serif;line-height:1}
.account-qr{display:block;width:min(100%,13rem);aspect-ratio:768 / 1180;margin:1.15rem auto .4rem;object-fit:contain;background:#fff;border:.35rem solid #fff;box-shadow:0 10px 22px #06142e18}
@media(max-width:600px){.social-float{left:.45rem;top:auto;bottom:calc(5.15rem + env(safe-area-inset-bottom));transform:none;gap:.4rem}.social-float__link{width:2.45rem;height:2.45rem}.social-float__link--facebook span{font-size:1.25rem}.social-float__link--instagram span{font-size:1.55rem}.account-qr{width:min(100%,11.5rem)}}

/* Legibility pass: slightly larger supporting text across all breakpoints */
.eyebrow{font-size:clamp(.74rem,.75vw,.86rem)}
.hero-language,.hero-language>span,.hero-language button{font-size:.72rem}
.button{font-size:.76rem}
.service-photo>span,.service-body .service-number{font-size:.78rem}
.service-body strong{font-size:1.02rem;line-height:1.45}
.secure{font-size:.82rem}
.account label{font-size:.84rem}
.account strong{font-size:1.05rem}
.footer nav{font-size:.84rem}
.footer>small{font-size:.78rem}
@media(max-width:600px){.eyebrow{font-size:.72rem}.hero-language,.hero-language>span,.hero-language button{font-size:.67rem}.button{font-size:.7rem}.service-photo>span,.service-body .service-number{font-size:.72rem}.service-body strong{font-size:.96rem}.secure,.account label{font-size:.78rem}.account strong{font-size:.98rem}.footer nav{font-size:.8rem}.footer>small{font-size:.74rem}}

/* Webmaster mobile pass: donation image must never crop; WhatsApp stays above all floating UI */
.account-qr{width:min(100%,15rem);height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.whatsapp{position:fixed!important;right:max(.85rem,env(safe-area-inset-right))!important;bottom:max(1rem,env(safe-area-inset-bottom))!important;z-index:10000!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
@media(max-width:600px){.account{overflow:visible}.account-qr{display:block;width:min(100%,14rem);height:auto;max-height:none;margin:1rem auto .85rem}.social-float{bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:9000}.whatsapp{right:max(.75rem,env(safe-area-inset-right))!important;bottom:max(.9rem,env(safe-area-inset-bottom))!important;width:3.35rem;height:3.35rem}}

/* Donaciones USA y widget WhatsApp con icono oficial */
.account--usa { align-self: start; }
.us-payment-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: 1rem; }
.us-payment-option { display: grid; gap: .55rem; justify-items: center; align-content: center; min-width: 0; padding: .8rem .6rem; background: #fff; border: 1px solid #d7dce4; }
.us-payment-option img { display: block; width: min(100%, 8rem); height: 3.1rem; object-fit: contain; }
.us-payment-option strong { color: #111827; font-size: .95rem; letter-spacing: .04em; }
.whatsapp { padding: 0; background: transparent; border: 0; }
.whatsapp img { display: block; width: 3.3rem; height: 3.3rem; object-fit: contain; border-radius: 50%; }
@media (max-width: 700px) {
  .us-payment-options { gap: .55rem; }
  .us-payment-option { padding: .65rem .4rem; }
  .us-payment-option img { width: min(100%, 6.8rem); height: 2.7rem; }
  .us-payment-option strong { font-size: .86rem; }
  .whatsapp img { width: 3rem; height: 3rem; }
}

/* Refinamiento institucional CAMA: donaciones multicanal, iconografía y responsive */
.brand span { font-size: clamp(1.05rem, 1.45vw, 1.42rem); letter-spacing: .06em; font-weight: 800; }
.brand small { font-size: clamp(.48rem, .62vw, .62rem); letter-spacing: .08em; font-weight: 700; color: #4b5563; }
.service-body h3 { font-size: clamp(1.1rem, 1.55vw, 1.42rem); }
.mission > div, .mission-dark { position: relative; overflow: hidden; }
.mission > div::before, .mission-dark::before { content: '◎'; display: grid; place-items: center; width: 4.2rem; height: 4.2rem; margin-bottom: 1.2rem; border-radius: 50%; background: #f4c20d; color: #073b8c; font-size: 2rem; font-weight: 900; box-shadow: 8px 8px 0 #1112; }
.mission-dark::before { content: '◉'; background: #f7f9fc; }
.donation { grid-template-columns: minmax(15rem,.82fr) minmax(17rem,.95fr) minmax(25rem,1.55fr); align-items: start; gap: 1.1rem; }
.donation > div:first-child { padding-top: 1.25rem; }
.account { min-width: 0; padding: 1.35rem; }
.account--usa { background: #f6f8fb; color: #12243d; box-shadow: 12px 12px 0 #cf2036; }
.us-payment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; margin-top: 1rem; }
.us-payment-option { display: grid; justify-items: center; gap: .42rem; min-width: 0; padding: .72rem .5rem .8rem; background: #fff; border: 1px solid #cbd5e1; border-radius: .3rem; text-align: center; }
.us-payment-option > img:first-child { display: block; width: min(100%, 7rem); height: 2.35rem; object-fit: contain; }
.us-payment-option strong { color: #0f172a; font-size: .86rem; letter-spacing: .08em; }
.us-payment-option span:not(.payment-brand) { color: #334155; font-size: .92rem; font-weight: 750; overflow-wrap: anywhere; }
.payment-qr { display: block; width: min(100%, 8.4rem); aspect-ratio: 1 / 1.24; object-fit: contain; border: 1px solid #e2e8f0; background: #fff; }
.payment-qr--placeholder { display: grid; place-items: center; aspect-ratio: 1; color: #64748b; font-size: .76rem; letter-spacing: .08em; background: #eef2f7; }
.payment-brand { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border-radius: .45rem; background: #1166d8; color: #fff !important; font-size: 1.7rem !important; font-weight: 900 !important; font-family: Arial, sans-serif; }
@media (max-width: 1100px) { .donation { grid-template-columns: minmax(14rem,.8fr) minmax(17rem,1fr); } .donation > div:first-child { grid-column: 1 / -1; max-width: 48rem; } .account--usa { grid-column: 2; } }
@media (max-width: 900px) { .donation { grid-template-columns: 1fr; } .donation > div:first-child, .account--usa { grid-column: auto; } .account--usa { box-shadow: 8px 8px 0 #cf2036; } }
@media (max-width: 600px) { .brand span { font-size: 1.08rem; } .brand small { font-size: .48rem; letter-spacing: .045em; } .mission > div::before, .mission-dark::before { width: 3.6rem; height: 3.6rem; } .donation { gap: 1.25rem; } .account { padding: 1rem; } .us-payment-grid { gap: .55rem; } .us-payment-option { padding: .6rem .3rem .7rem; } .us-payment-option > img:first-child { width: min(100%, 5.8rem); height: 2rem; } .payment-qr { width: min(100%, 6.75rem); } .us-payment-option strong { font-size: .76rem; } .us-payment-option span:not(.payment-brand) { font-size: .8rem; } }

/* CAMA mobile hero fit: keep every headline and language control inside the viewport. */
@media (max-width:600px){
  .hero-copy{width:100%;max-width:100%;padding-inline:1rem;overflow:hidden}
  .hero-copy h1{width:100%;max-width:16.5rem;margin-inline:0;font-size:clamp(1.42rem,7.1vw,2rem);line-height:1.04;letter-spacing:-.045em;overflow-wrap:break-word}
  .hero-copy p{width:100%;max-width:17.5rem;margin-right:auto;font-size:.76rem;line-height:1.42;overflow-wrap:break-word}
  .actions{width:100%;max-width:17.5rem;flex-wrap:wrap;gap:.45rem}
  .actions .button{max-width:100%;min-height:2.5rem;padding:.68rem .75rem;font-size:.62rem}
  .hero-language{width:100%;max-width:100%;flex-wrap:wrap;gap:.28rem;overflow:hidden}
  .hero-language>span{flex:0 0 100%;font-size:.58rem}
  .hero-language button{flex:0 1 auto;min-width:0;padding:.38rem .42rem;font-size:.56rem;white-space:nowrap}
}
@media (max-width:380px){
  .hero-copy{padding-inline:.78rem}
  .hero-copy h1{max-width:14.5rem;font-size:1.34rem}
  .hero-copy p{max-width:15.5rem;font-size:.72rem}
  .actions{max-width:15.5rem}
  .actions .button{font-size:.58rem}
  .hero-language button{padding-inline:.3rem;font-size:.52rem}
}

/* Donation accessibility pass: stronger contrast and scannable QR sizes. */
.donation-card--colombia{background:#124478;color:#fff;border:1px solid #5f9bd3;box-shadow:12px 12px 0 #061f43}.donation-card--colombia .donation-card__top{border-bottom-color:#d9eaff}.donation-card--colombia .donation-card__top b,.donation-card--colombia label,.donation-card--colombia small,.donation-card--colombia strong,.donation-card--colombia span{color:#fff}.donation-card--colombia strong{font-size:1.18rem;letter-spacing:.08em}.donation-card--colombia label{font-size:.86rem;font-weight:700}.donation-card--usa{background:#fff;color:#12243d;border:2px solid #b9c7d8;box-shadow:12px 12px 0 var(--red)}.donation-card--usa .donation-card__top{border-bottom-color:#94a3b8}.donation-card--usa .donation-card__top b{color:#123f79}.us-payment-option{background:#fff;border:2px solid #b8c5d6;box-shadow:0 4px 0 #d5deea}.us-payment-option strong{color:#071a33;font-size:.95rem}.us-payment-option span:not(.payment-brand){color:#172b45;font-size:.98rem}.payment-qr{width:min(100%,10.5rem);border:2px solid #c7d2df;background:#fff}.payment-qr--placeholder{color:#334155;background:#e8eef5;border:2px dashed #64748b;font-weight:800}@media(max-width:600px){.donation-card--colombia,.donation-card--usa{padding:1.15rem}.us-payment-grid{grid-template-columns:1fr;gap:.9rem}.us-payment-option{padding:1rem .7rem 1.1rem}.us-payment-option>img:first-child{width:min(100%,8rem);height:2.8rem}.payment-qr{width:min(100%,13rem);max-width:13rem;min-height:10rem;margin-inline:auto}.payment-qr--placeholder{min-height:13rem}.donation-card--colombia strong{font-size:1.08rem}}

/* QR focus pass: show the code as the primary visual element. */
.payment-qr { width: min(100%, 15rem); height: 15rem; aspect-ratio: 1 / 1; min-height: 15rem; object-fit: contain; padding: .18rem; margin-inline: auto; }
@media (max-width: 600px) {
  .us-payment-option { min-width: 0; }
  .payment-qr { width: min(100%, 15rem); height: 15rem; max-width: 15rem; aspect-ratio: 1 / 1; min-height: 15rem; padding: .15rem; }
  .payment-qr--placeholder { width: min(100%, 15rem); height: 15rem; min-height: 15rem; }
}
