*{margin:0;padding:0;box-sizing:border-box;}
:root{--royal:#1B3A6B;--royal-dark:#0F2550;--royal-mid:#2A5298;--teal:#3ABFBF;--teal-light:#7EC8E3;--sky:#EDF5FC;--white:#FFFFFF;--off:#F7F9FC;--text:#1a2535;--muted:#5a6a7e;--border:#dde5f0;--red:#EF4444;--bubble-shadow:0 4px 24px rgba(0,0,0,.22),0 1px 4px rgba(0,0,0,.14);}
html{scroll-behavior:smooth;}
body{font-family:'Lato',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;}
/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(158deg,#07152E 0%,var(--royal) 52%,#1a4a90 100%);}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 65% at center, var(--royal) 0%, var(--royal) 32%, rgba(27,58,107,.7) 60%, rgba(27,58,107,0) 100%);pointer-events:none;z-index:1;}
.hero-bg{position:absolute;inset:0;background:url('images/mission-background.png') center/cover no-repeat;opacity:.22;pointer-events:none;}
.hero-rings{position:absolute;inset:0;pointer-events:none;opacity:.07;}
.hero-rings circle{fill:none;stroke:var(--teal-light);}
.hero-content{text-align:center;z-index:2;padding:5rem 2rem 6rem;max-width:840px;width:100%;}
.anim{opacity:0;animation:fadeUp .8s forwards;}
.a1{animation-delay:.2s;}.a2{animation-delay:.42s;}.a3{animation-delay:.62s;}.a4{animation-delay:.82s;}.a5{animation-delay:1s;}.a6{animation-delay:1.18s;}
.hero-eye{font-family:'Caveat Brush',cursive;font-size:1.3rem;color:var(--teal-light);margin-bottom:1.4rem;letter-spacing:.5px;}
.hero-eye-lead{font-size:1.18em;letter-spacing:.7px;}
.hero-logo-ring{width:240px;height:240px;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;position:relative;}
.hero-logo-ring img{width:100%;height:100%;object-fit:contain;position:relative;z-index:2;}
@media(prefers-reduced-motion:no-preference){
  .hero-logo-ring::before,.hero-logo-ring::after{content:'';position:absolute;inset:-22px;border-radius:50%;pointer-events:none;z-index:1;will-change:transform,opacity;filter:blur(6px);}
  .hero-logo-ring::before{background:radial-gradient(circle,rgba(126,200,227,.6) 0%,rgba(126,200,227,0) 62%);animation:pulseFieldA 3s ease-in-out infinite;}
  .hero-logo-ring::after{background:radial-gradient(circle,rgba(126,200,227,.45) 0%,rgba(126,200,227,0) 72%);animation:pulseFieldB 3s ease-in-out infinite;animation-delay:-1.5s;}
  .hero-logo-ring img{animation:logoBreath 3s ease-in-out infinite;transform-origin:center;will-change:transform;}
}
@keyframes pulseFieldA{0%,100%{transform:scale(.88);opacity:.4;}50%{transform:scale(1.45);opacity:.85;}}
@keyframes pulseFieldB{0%,100%{transform:scale(1.15);opacity:.6;}50%{transform:scale(1.7);opacity:.25;}}
@keyframes logoBreath{0%,100%{transform:scale(1);}50%{transform:scale(1.02);}}
.logo-ph{color:rgba(255,255,255,.3);font-size:.65rem;letter-spacing:2px;text-transform:uppercase;text-align:center;padding:1rem;}
.hero-h1{font-family:'Rubik Dirt',cursive;font-weight:400;font-synthesis:none;font-size:clamp(2.4rem,6vw,4.2rem);color:var(--white);line-height:1.05;}
.hero-h1 em{color:var(--teal-light);font-style:normal;}
.hero-rule{width:44px;height:2px;background:var(--teal);margin:1.6rem auto;}
.hero-verse{font-family:'Playfair Display',serif;font-style:italic;color:rgba(255,255,255,.7);font-size:1rem;line-height:1.75;max-width:520px;margin:0 auto .4rem;}
.hero-ref{font-family:'Caveat Brush',cursive;font-size:1.15rem;color:var(--teal-light);margin-bottom:2.2rem;}
.hero-btns{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;}
.btn-t{background:var(--teal);color:var(--white);padding:.82rem 1.9rem;border-radius:4px;text-decoration:none;font-weight:700;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;border:2px solid var(--teal);transition:all .2s;}
@media(hover:hover){.btn-t:hover{background:transparent;color:var(--teal);}}
.btn-g{background:transparent;color:var(--white);padding:.82rem 1.9rem;border-radius:4px;text-decoration:none;font-weight:700;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;border:2px solid rgba(255,255,255,.3);transition:all .2s;}
@media(hover:hover){.btn-g:hover{border-color:var(--white);background:rgba(255,255,255,.08);}}
/* PROGRESS */
.progress-band{background:#080E1E;padding:2rem 1.5rem;}
.p-inner{max-width:960px;margin:0 auto;}
.p-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.7rem;gap:1rem;}
.p-raised{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:900;color:var(--white);white-space:nowrap;}
.p-raised small{font-family:'Caveat Brush',cursive;font-size:1rem;color:var(--teal-light);margin-left:.3rem;}
.p-goal-label{font-size:.7rem;color:rgba(255,255,255,.4);letter-spacing:1.5px;text-transform:uppercase;text-align:right;flex-shrink:0;}
.p-goal-label strong{display:block;font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--teal-light);font-weight:700;letter-spacing:0;}
.p-track{height:10px;background:rgba(255,255,255,.07);border-radius:5px;overflow:hidden;}
.p-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-light));border-radius:5px;width:0;transition:width 1.5s cubic-bezier(.22,1,.36,1);}
.p-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.9rem;}
.p-stat{font-size:.67rem;color:rgba(255,255,255,.38);letter-spacing:.8px;text-transform:uppercase;line-height:1.4;}
.p-stat strong{display:block;color:var(--white);font-size:.85rem;letter-spacing:0;margin-bottom:.1rem;}
.p-stat:nth-child(2){text-align:center;}.p-stat:nth-child(3){text-align:right;}
/* CHAPTERS */
.chapter{height:190px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.ch-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.ch-overlay{position:absolute;inset:0;}
.ch-label{position:relative;z-index:2;text-align:center;}
.ch-label h3{font-family:'Rubik Dirt',cursive;font-weight:400;font-synthesis:none;font-size:clamp(1.5rem,4vw,2.4rem);color:var(--white);}
.ch-label p{font-family:'Caveat Brush',cursive;font-size:1.2rem;color:var(--teal-light);margin-top:.3rem;}
.ch-mission .ch-bg{background-color:#0a1f4e;}
.ch-mission .ch-overlay{background:linear-gradient(to bottom,rgba(10,30,70,.72),rgba(10,30,70,.88));}
.ch-help .ch-bg{background-color:#071828;}.ch-help .ch-overlay{background:rgba(7,24,40,.8);}
.ch-team .ch-bg{background-color:#0d1f3c;}.ch-team .ch-overlay{background:rgba(10,25,55,.78);}
/* SECTIONS */
.sec{padding:5rem 2rem;}
.inner{max-width:1140px;margin:0 auto;}
.sec-label{font-family:'Caveat Brush',cursive;font-size:1.3rem;color:var(--teal);margin-bottom:.7rem;display:block;}
.sec-h{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,4vw,2.7rem);font-weight:900;color:var(--royal);line-height:1.15;margin-bottom:1.3rem;}
.sec-h.on-dark{color:var(--white);}
.sec.sky-bg{background:var(--sky);}.sec.white-bg{background:var(--white);}
/* MISSION */
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.m-wrap{position:relative;}
.m-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;display:block;position:relative;z-index:1;}
.m-deck{position:relative;aspect-ratio:4/5;width:100%;perspective:1200px;cursor:grab;-webkit-tap-highlight-color:transparent;touch-action:pan-y;padding:0;border:none;background:transparent;display:block;}
.m-deck:active{cursor:grabbing;}
.m-card{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:8px;box-shadow:0 10px 28px rgba(27,58,107,.22);transition:transform .65s cubic-bezier(.22,1,.36,1),box-shadow .4s,z-index 0s .33s;will-change:transform;transform-style:preserve-3d;backface-visibility:hidden;}
.m-card-back{transform:rotate(-5deg) translate3d(-4%,1%,-30px);z-index:1;}
.m-card-front{transform:rotate(4deg) translate3d(4%,-1%,0);z-index:2;}
.m-deck.swapped .m-card-back{transform:rotate(4deg) translate3d(4%,-1%,0);z-index:2;box-shadow:0 14px 36px rgba(27,58,107,.28);}
.m-deck.swapped .m-card-front{transform:rotate(-5deg) translate3d(-4%,1%,-30px);z-index:1;}
.m-ph{width:100%;aspect-ratio:4/5;background:linear-gradient(135deg,var(--royal),#1e5080);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;position:relative;z-index:1;}
.m-ph p{color:rgba(255,255,255,.35);font-size:.7rem;letter-spacing:2px;text-transform:uppercase;text-align:center;padding:0 1rem;}
.m-accent{position:absolute;bottom:-1rem;right:-1rem;width:90px;height:90px;background:var(--teal);border-radius:6px;opacity:.2;}
.m-text p{color:var(--muted);line-height:1.85;font-size:1rem;margin-bottom:1.2rem;}
.obj-list{border-left:3px solid var(--teal);padding-left:1.4rem;margin:1.75rem 0;display:flex;flex-direction:column;gap:.95rem;}
.obj-item strong{font-family:'Caveat Brush',cursive;font-size:1.1rem;color:var(--royal);display:block;margin-bottom:.1rem;}
.obj-item p{font-size:.9rem;color:var(--muted);line-height:1.6;margin:0;}
/* STATS */
.stats-sec{background:var(--royal);padding:4.5rem 2rem;}
.stats-row{display:flex;justify-content:center;max-width:860px;margin:0 auto;}
.s-item{flex:1;text-align:center;padding:1.5rem 1rem;position:relative;}
.s-item+.s-item::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);height:56px;width:1px;background:rgba(126,200,227,.18);}
.s-num{font-family:'Rubik Dirt',cursive;font-size:3.8rem;color:var(--teal-light);line-height:1;}
.s-num sup{font-size:2rem;color:var(--teal);}
.s-lbl{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);line-height:1.5;margin-top:.5rem;}
/* HELP CARDS */
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem;}
.h-card{border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--white);}
[data-action]{touch-action:manipulation;}
.h-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.h-img-ph{width:100%;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;}
.h-img-ph.dr{background:linear-gradient(135deg,#0d2a5e,#1a5a5a);}
.h-img-ph.shirt{background:linear-gradient(135deg,#1B3A6B,#2A5298);}
.h-img-ph.box{background:linear-gradient(135deg,#0F2550,#1a3a70);}
.h-img-ph p{color:rgba(255,255,255,.4);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;text-align:center;padding:0 1rem;}
.h-body{padding:1.4rem;}
.h-pill{display:inline-block;background:#EBF8F8;border:1px solid rgba(58,191,191,.25);border-radius:20px;padding:.25rem .85rem;font-size:.75rem;font-weight:700;color:#0d6e6e;margin-bottom:.85rem;}
.h-body h3{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--royal);margin-bottom:.5rem;}
.h-body p{color:var(--muted);font-size:.88rem;line-height:1.65;margin-bottom:1.1rem;}
.hbtn{display:inline-block;padding:.55rem 1.3rem;border-radius:4px;font-size:.75rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:all .2s;border:none;cursor:pointer;font-family:'Lato',sans-serif;-webkit-tap-highlight-color:rgba(255,255,255,.18);touch-action:manipulation;}
.hbtn-t{background:var(--teal);color:var(--white);}
.hbtn-r{background:var(--royal);color:var(--white);}
@media(hover:hover){.hbtn-t:hover{background:#2aa8a8;}.hbtn-r:hover{background:var(--royal-mid);}}
/* DOLLAR IMPACT */
.dollar-sec{background:var(--royal-dark);padding:4.5rem 2rem;}
.dollar-row{display:flex;justify-content:center;max-width:900px;margin:2rem auto 0;}
.d-item{flex:1;text-align:center;padding:1.5rem .75rem;position:relative;}
.d-item+.d-item::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);height:46px;width:1px;background:rgba(126,200,227,.14);}
.d-amt{font-family:'Rubik Dirt',cursive;font-size:2.5rem;color:var(--teal-light);line-height:1;}
.d-eq{font-family:'Caveat Brush',cursive;font-size:1.1rem;color:rgba(255,255,255,.35);margin:.2rem 0;}
.d-desc{font-size:.82rem;color:rgba(255,255,255,.72);line-height:1.5;}
/* QUOTE */
.quote-sec{padding:5rem 2rem;background:var(--royal-dark);}
.q-wrap{max-width:760px;margin:0 auto;text-align:center;}
.q-mark{font-family:'Caveat Brush',cursive;font-size:5rem;line-height:.35;color:var(--teal-light);opacity:.45;margin-bottom:1.2rem;}
.q-text{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.15rem,2.5vw,1.55rem);color:var(--white);line-height:1.65;margin-bottom:1.2rem;}
.q-attr{font-family:'Caveat Brush',cursive;font-size:1.1rem;color:var(--teal-light);}
/* DONATIONS */
.donations-sec{background:var(--white);padding:5rem 2rem;}
.deadline-row{display:flex;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap;}
.d-badge{display:inline-flex;flex-direction:column;gap:.12rem;background:var(--sky);border:1px solid rgba(58,191,191,.3);border-radius:4px;padding:.65rem 1.1rem;}
.d-badge .dl{font-family:'Caveat Brush',cursive;font-size:1rem;color:var(--teal);}
.d-badge .dv{color:var(--royal);font-size:.88rem;font-weight:700;}
.don-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
.don-cat{border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--white);box-shadow:0 2px 12px rgba(27,58,107,.06);}
.don-hd{background:var(--royal);padding:.85rem 1.2rem;display:flex;align-items:center;gap:.6rem;}
.don-hd h4{font-family:'Caveat Brush',cursive;color:var(--white);font-size:1.15rem;letter-spacing:.3px;}
.don-img-wrap{width:100%;aspect-ratio:3/2;overflow:hidden;position:relative;}
.don-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
@media(hover:hover){.don-cat:hover .don-img-wrap img{transform:scale(1.04);}}
.don-img-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;}
.don-img-ph.food{background:linear-gradient(135deg,#2d5a1b,#4a8a2a);}
.don-img-ph.hygiene{background:linear-gradient(135deg,#1a4a7a,#2a7ab0);}
.don-img-ph.clean{background:linear-gradient(135deg,#1a3a6a,#2a5a9a);}
.don-img-ph.hope{background:linear-gradient(135deg,#6a1a3a,#9a2a5a);}
.don-img-ph p{color:rgba(255,255,255,.4);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;text-align:center;padding:0 1rem;}
/* TEAM */
.team-sec{background:var(--sky);padding:5rem 2rem;}
.mosaic{display:grid;gap:.75rem;margin-top:2rem;}
.mosaic.three{grid-template-columns:2fr 1fr;}
.mosaic-item{border-radius:8px;overflow:hidden;cursor:pointer;position:relative;padding:0;border:none;background:transparent;font:inherit;color:inherit;width:100%;display:block;-webkit-tap-highlight-color:rgba(27,58,107,.10);touch-action:manipulation;}
.mosaic-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
@media(hover:hover){.mosaic-item:hover img{transform:scale(1.04);}}
.mosaic-item.tall{grid-row:span 2;}
.mosaic-ph{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--royal),var(--royal-mid));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;}
.mosaic-ph.tall{aspect-ratio:unset;height:100%;min-height:280px;}
.mosaic-ph p{color:rgba(255,255,255,.35);font-size:.68rem;letter-spacing:2px;text-transform:uppercase;text-align:center;padding:0 1rem;}
.mosaic-expand{position:absolute;bottom:.75rem;right:.75rem;background:rgba(10,22,50,.65);color:var(--white);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;opacity:0;transition:opacity .25s;backdrop-filter:blur(4px);}
@media(hover:hover){.mosaic-item:hover .mosaic-expand{opacity:1;}}
/* PATRONS */
.patrons-sec{background:var(--white);padding:5rem 2rem;}
.patron-intro{color:var(--muted);font-size:.97rem;line-height:1.8;max-width:560px;margin-bottom:2.5rem;}
.patron-tier{margin-bottom:2.2rem;}
.tier-title{font-family:'Caveat Brush',cursive;font-size:1.2rem;color:var(--teal);margin-bottom:1rem;padding-bottom:.4rem;border-bottom:1px solid rgba(58,191,191,.2);}
.patron-names{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;}
.patron-name{background:var(--off);border:1px solid var(--border);border-radius:4px;padding:.55rem 1.2rem;font-family:'Playfair Display',serif;font-size:.97rem;color:var(--royal);}
.patron-empty{background:var(--sky);border:2px dashed #c8d5e8;border-radius:6px;padding:1.5rem 2rem;text-align:center;width:100%;}
.patron-empty p{color:#9aacbe;font-size:.85rem;line-height:1.7;}
.patron-cta{display:inline-block;margin-top:.9rem;background:var(--royal);color:var(--white);padding:.55rem 1.4rem;border-radius:4px;font-size:.74rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;font-family:'Lato',sans-serif;}
/* FOOTER */
footer{background:var(--royal-dark);padding:4rem 2rem;text-align:center;}
.foot-title{font-family:'Rubik Dirt',cursive;font-weight:400;font-synthesis:none;font-size:clamp(1.4rem,4vw,2.2rem);color:var(--white);text-transform:uppercase;margin-bottom:1.2rem;}
.foot-rule{width:44px;height:1px;background:var(--teal);margin:.2rem auto 1.5rem;}
.foot-verse{font-family:'Playfair Display',serif;font-style:italic;color:rgba(255,255,255,.5);font-size:.95rem;line-height:1.75;max-width:540px;margin:0 auto 2rem;}
.foot-canons{font-family:'Caveat Brush',cursive;font-size:1rem;color:rgba(126,200,227,.45);}
/* LIGHTBOX */
.lightbox{position:fixed;inset:0;background:rgba(6,13,28,.94);z-index:600;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .25s;}
.lightbox.open{opacity:1;pointer-events:all;}
.lightbox img{max-width:90vw;max-height:88vh;border-radius:6px;object-fit:contain;}
.lb-close{position:absolute;top:1.2rem;right:1.4rem;background:transparent;border:none;color:rgba(255,255,255,.6);font-size:2rem;cursor:pointer;line-height:1;}
/* GENERAL MODALS */
.modal-overlay{position:fixed;inset:0;background:rgba(6,13,28,.9);z-index:500;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .25s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal-box-gen{background:var(--white);border-radius:10px;max-width:540px;width:100%;max-height:90vh;overflow-y:auto;position:relative;transform:translateY(16px);transition:transform .25s;}
.modal-overlay.open .modal-box-gen{transform:translateY(0);}
.m-img-ph{width:100%;aspect-ratio:16/9;border-radius:10px 10px 0 0;display:flex;align-items:center;justify-content:center;}
.m-img-ph.dr{background:linear-gradient(135deg,#0d2a5e,#1a5a5a);}
.m-img-ph.box{background:linear-gradient(135deg,#0F2550,#1a3a70);}
.gen-modal-close{position:absolute;top:.85rem;right:.85rem;background:rgba(0,0,0,.3);border:none;color:var(--white);width:30px;height:30px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;}
.m-body{padding:1.75rem;}
.m-body h2{font-family:'Playfair Display',serif;font-size:1.45rem;color:var(--royal);margin-bottom:.65rem;}
.m-body p{color:var(--muted);font-size:.92rem;line-height:1.75;margin-bottom:.9rem;}
.m-levels{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0;}
.m-lvl{display:flex;justify-content:space-between;align-items:center;padding:.62rem .9rem;background:var(--sky);border-radius:4px;font-size:.88rem;}
.m-lvl strong{color:var(--royal);font-size:1rem;}.m-lvl span{color:var(--muted);}
.m-cta{display:inline-block;background:var(--teal);color:var(--white);padding:.75rem 1.75rem;border-radius:4px;font-weight:700;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:background .2s;}
.m-cta.r{background:var(--royal);}
@media(hover:hover){.m-cta:hover{background:#2aa8a8;}}
/* SHIRT MODAL */
.shirt-modal-overlay{position:fixed;inset:0;background:rgba(6,13,28,.88);z-index:500;display:flex;align-items:flex-end;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(0px,env(safe-area-inset-bottom)) 1rem;opacity:0;pointer-events:none;transition:opacity .3s;}
.shirt-modal-overlay.open{opacity:1;pointer-events:all;}
.shirt-modal-box{background:var(--white);border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:94vh;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-mask-image:-webkit-radial-gradient(white,black);transform:translateY(40px);transition:transform .35s cubic-bezier(.22,1,.36,1);box-shadow:0 -8px 48px rgba(0,0,0,.2);display:flex;flex-direction:column;}
.shirt-modal-overlay.open .shirt-modal-box{transform:translateY(0);}
@media(min-width:520px){.shirt-modal-overlay{align-items:center;}.shirt-modal-box{border-radius:20px;max-height:90vh;box-shadow:0 24px 80px rgba(0,0,0,.25);}}
.drag-handle{position:absolute;top:.6rem;left:50%;transform:translateX(-50%);width:36px;height:4px;border-radius:2px;background:rgba(255,255,255,.5);z-index:20;pointer-events:none;flex-shrink:0;}
.close-anchor{position:sticky;top:0;height:0;overflow:visible;z-index:30;flex-shrink:0;}
.shirt-modal-close{position:absolute;top:.75rem;right:.85rem;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);border:none;color:var(--royal);width:28px;height:28px;border-radius:50%;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:30;box-shadow:0 2px 8px rgba(0,0,0,.15);}
@media(hover:hover){.shirt-modal-close:hover{background:rgba(255,255,255,1);}}
.hero-step{flex-shrink:0;}
.shirt-img-area{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--royal) 0%,var(--royal-mid) 100%);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:20px 20px 0 0;flex-shrink:0;}
.shirt-img-area img{width:100%;height:100%;object-fit:cover;display:block;}
.shirt-img-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:100%;height:100%;}
.shirt-img-ph svg{opacity:.35;}.shirt-img-ph p{color:rgba(255,255,255,.35);font-size:.7rem;letter-spacing:2px;text-transform:uppercase;}
.price-badge{position:absolute;top:1rem;left:1rem;background:var(--teal);border:1.5px solid rgba(255,255,255,.85);border-radius:20px;padding:.35rem 1rem;font-family:'Rubik Dirt',cursive;color:var(--white);font-size:1.05rem;box-shadow:0 4px 14px rgba(0,0,0,.25);letter-spacing:.5px;}
.step1-text{padding:1.25rem 1.4rem 0;}
.step1-title{font-family:'Rubik Dirt',cursive;font-size:1.35rem;color:var(--royal);text-transform:uppercase;letter-spacing:.3px;line-height:1.1;}
.step1-sub{font-family:'Caveat Brush',cursive;font-size:1rem;color:var(--teal);margin-top:.2rem;}
.pickup-row{display:flex;align-items:flex-start;gap:.6rem;margin-top:.9rem;background:var(--sky);border:1px solid rgba(58,191,191,.2);border-radius:10px;padding:.75rem .9rem;}
.pickup-row p{font-size:.8rem;color:var(--muted);line-height:1.55;}
.pickup-row strong{color:var(--royal);font-size:.82rem;display:block;margin-bottom:.15rem;}
.compact-header{display:none;align-items:center;gap:.75rem;padding:.85rem 1.1rem .7rem;border-bottom:1px solid var(--border);flex-shrink:0;}
.compact-header.show{display:flex;}
.compact-thumb{width:44px;height:44px;border-radius:8px;background:linear-gradient(135deg,var(--royal),var(--royal-mid));flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.compact-thumb img{width:100%;height:100%;object-fit:cover;}.compact-thumb svg{opacity:.5;}
.compact-title{font-family:'Rubik Dirt',cursive;font-size:.9rem;color:var(--royal);text-transform:uppercase;letter-spacing:.3px;line-height:1.1;}
.compact-sub{font-family:'Caveat Brush',cursive;font-size:.82rem;color:var(--teal);line-height:1.2;}
.shirt-modal-body{padding:1.1rem 1.4rem 1.4rem;flex:1;}
.steps{display:flex;gap:.45rem;margin-bottom:1.1rem;}
.step-dot{flex:1;height:3px;border-radius:2px;background:var(--border);transition:background .3s;}
.step-dot.active{background:var(--teal);}.step-dot.done{background:var(--teal);opacity:.38;}
.step-panel{display:none;}.step-panel.active{display:block;}
.field{margin-bottom:.9rem;}
.field label{display:block;font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:.38rem;}
.field label .opt{font-size:.62rem;color:#9aacbe;letter-spacing:.5px;text-transform:none;font-weight:400;margin-left:.25rem;}
.field input{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:.68rem .9rem;font-size:.95rem;font-family:'Lato',sans-serif;color:var(--text);outline:none;background:var(--off);transition:border-color .2s,box-shadow .2s;}
.field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(58,191,191,.1);background:var(--white);}
.field input.error{border-color:var(--red);}
.field textarea{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:.68rem .9rem;font-size:.95rem;font-family:'Lato',sans-serif;color:var(--text);outline:none;background:var(--off);resize:vertical;min-height:96px;transition:border-color .2s,box-shadow .2s;}
.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(58,191,191,.1);background:var(--white);}
.field textarea.error{border-color:var(--red);}
.field-err{font-size:.72rem;color:var(--red);margin-top:.28rem;display:none;}.field-err.show{display:block;}
.size-heading{font-family:'Caveat Brush',cursive;font-size:1.05rem;color:var(--royal);margin-bottom:.6rem;}
.size-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.85rem;}
.sz-card{border:1.5px solid var(--border);border-radius:10px;padding:.55rem .3rem .6rem;text-align:center;transition:border-color .2s,background .2s;background:var(--off);}
.sz-card.has-qty{border-color:var(--teal);background:#F0FBFB;}
.sz-lbl{font-size:.82rem;font-weight:700;color:var(--royal);letter-spacing:.3px;margin-bottom:.38rem;}
.sz-lbl small{display:block;font-size:.58rem;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:.05rem;}
.qty-row{display:flex;align-items:center;justify-content:center;gap:.35rem;}
.qbtn{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);background:var(--white);color:var(--royal);font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:'Lato',sans-serif;line-height:1;}
.qbtn:disabled{opacity:.28;cursor:default;}
@media(hover:hover){.qbtn:hover{border-color:var(--teal);color:var(--teal);}}
.qval{font-size:.95rem;font-weight:900;color:var(--royal);width:18px;text-align:center;font-family:'Playfair Display',serif;}
.size-hint-err{font-size:.72rem;color:var(--red);margin-bottom:.5rem;display:none;}.size-hint-err.show{display:block;}
.order-summary{background:var(--sky);border:1.5px solid rgba(58,191,191,.2);border-radius:10px;padding:.85rem 1rem;}
.os-title{font-family:'Caveat Brush',cursive;font-size:.95rem;color:var(--teal);margin-bottom:.5rem;}
.os-empty{font-size:.78rem;color:#9aacbe;font-style:italic;text-align:center;padding:.3rem 0;}
.os-rows{display:flex;flex-direction:column;gap:.25rem;}
.os-row{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text);}
.os-row .os-muted{color:var(--muted);}
.os-divider{height:1px;background:rgba(58,191,191,.18);margin:.5rem 0;}
.os-fee-row{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);}
.os-total-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:.2rem;}
.os-total-lbl{font-family:'Caveat Brush',cursive;font-size:.95rem;color:var(--royal);}
.os-total-amt{font-family:'Rubik Dirt',cursive;font-size:1.4rem;color:var(--royal);}
.os-note{font-size:.68rem;color:#9aacbe;margin-top:.35rem;text-align:right;font-style:italic;}
.confirm-box{background:var(--sky);border:1px solid rgba(58,191,191,.2);border-radius:10px;padding:1rem;margin-bottom:.9rem;}
.confirm-row{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.38rem;}
.confirm-row:last-child{margin-bottom:0;}.confirm-lbl{color:var(--muted);font-size:.76rem;}
.confirm-pills{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.2rem;}
.cpill{background:var(--royal);color:var(--white);border-radius:20px;padding:.15rem .65rem;font-size:.72rem;font-weight:700;}
.confirm-divider{height:1px;background:rgba(58,191,191,.18);margin:.6rem 0;}
.confirm-total-row{display:flex;justify-content:space-between;align-items:baseline;}
.confirm-total-lbl{font-family:'Caveat Brush',cursive;font-size:1rem;color:var(--royal);}
.confirm-total-amt{font-family:'Rubik Dirt',cursive;font-size:1.5rem;color:var(--royal);}
.confirm-fee-note{font-size:.68rem;color:#9aacbe;margin-top:.25rem;font-style:italic;}
.btn-row{display:flex;gap:.5rem;margin-top:.9rem;}
.btn-back{flex:1;background:transparent;border:1.5px solid var(--border);color:var(--muted);padding:.72rem;border-radius:8px;font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;font-family:'Lato',sans-serif;transition:all .2s;}
@media(hover:hover){.btn-back:hover{border-color:var(--royal);color:var(--royal);}}
.btn-next{flex:2;background:var(--teal);color:var(--white);border:none;padding:.72rem;border-radius:8px;font-size:.85rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;font-family:'Lato',sans-serif;transition:background .2s,transform .15s;display:flex;align-items:center;justify-content:center;gap:.45rem;}
.btn-next:active{transform:scale(.98);}
@media(hover:hover){.btn-next:hover{background:#2aa8a8;}}
.btn-next:disabled{background:#9aacbe;cursor:default;transform:none;}
.btn-pay{background:var(--royal);}.btn-pay:hover:not(:disabled){background:var(--royal-mid);}
.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite;display:none;}
.btn-next.loading .spinner{display:block;}.btn-next.loading .btn-text{display:none;}
.success-panel{text-align:center;padding:2.5rem 1.5rem;display:none;}.success-panel.show{display:block;}
.success-icon{font-size:3rem;margin-bottom:.85rem;}
.success-panel h3{font-family:'Rubik Dirt',cursive;font-weight:400;font-synthesis:none;font-size:1.35rem;color:var(--royal);text-transform:uppercase;margin-bottom:.6rem;}
.success-panel p{color:var(--muted);font-size:.88rem;line-height:1.65;}
.success-caveat{font-family:'Caveat Brush',cursive;font-size:1.1rem;color:var(--teal);margin-top:.9rem;display:block;}
/* BUBBLE NAV */
.lang-pill{position:fixed;bottom:1.75rem;right:1.75rem;z-index:400;display:flex;align-items:center;gap:0;background:var(--white);border-radius:30px;box-shadow:var(--bubble-shadow);border:1.5px solid rgba(27,58,107,.12);overflow:hidden;transition:opacity .35s,transform .35s;pointer-events:none;}
.lang-pill:not(.hidden) *{pointer-events:auto;}
.lang-pill.hidden{opacity:0;pointer-events:none;transform:translateY(6px);}
.lang-pill-label{font-family:'Caveat Brush',cursive;font-size:1rem;color:var(--muted);padding:.55rem .9rem .55rem 1.1rem;white-space:nowrap;}
.lp-btn{background:transparent;border:none;border-left:1px solid var(--border);color:var(--muted);padding:.55rem .9rem;font-size:.75rem;font-weight:700;letter-spacing:1px;cursor:pointer;font-family:'Lato',sans-serif;transition:all .2s;}
.lp-btn.active{background:var(--teal);color:var(--white);}.lp-btn:last-child{border-radius:0 30px 30px 0;}
.nav-bubble{position:fixed;bottom:1.75rem;right:1.75rem;z-index:400;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s;transform:translateY(6px);}
.nav-bubble.visible{opacity:1;transform:translateY(0);}
.nb-items{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;opacity:0;pointer-events:none;transform:translateY(10px) scale(.96);transition:opacity .22s,transform .22s;position:relative;}
.nb-items::before{content:'';position:absolute;inset:-.7rem;background:rgba(10,28,62,.78);border-radius:20px;z-index:-1;pointer-events:none;opacity:0;transition:opacity .35s;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 32px rgba(0,0,0,.25);}
.nav-bubble.open .nb-items::before{opacity:1;}
.nav-bubble.open .nb-items{opacity:1;pointer-events:all;transform:translateY(0) scale(1);}
.nb-item{display:flex;align-items:center;gap:.6rem;cursor:pointer;text-decoration:none;}
.nb-label{color:var(--white);font-size:.78rem;font-weight:700;letter-spacing:.4px;white-space:nowrap;font-family:'Lato',sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.25);}
.nb-icon{width:42px;height:42px;border-radius:50%;background:var(--white);border:1.5px solid rgba(27,58,107,.1);box-shadow:var(--bubble-shadow);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;transition:transform .2s,box-shadow .2s;backdrop-filter:blur(6px);}
@media(hover:hover){.nb-item:hover .nb-icon{transform:scale(1.1);box-shadow:0 6px 28px rgba(0,0,0,.28);}}
.nb-divider{width:90px;height:1px;background:rgba(255,255,255,.55);box-shadow:0 1px 2px rgba(0,0,0,.12);border-radius:1px;align-self:flex-end;margin:.4rem .15rem;}
.nb-icon.donate{background:var(--teal);color:var(--white);border-color:var(--teal);}
.nb-lang-row{display:flex;gap:.35rem;align-items:center;}
.nb-lang-btn{background:var(--white);border:1.5px solid rgba(27,58,107,.1);color:var(--muted);padding:.3rem .7rem;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:1px;cursor:pointer;font-family:'Lato',sans-serif;box-shadow:var(--bubble-shadow);transition:all .2s;}
.nb-lang-btn.active{background:var(--teal);border-color:var(--teal);color:var(--white);}
.nb-toggle{width:52px;height:52px;border-radius:50%;background:var(--white);border:1.5px solid rgba(27,58,107,.1);box-shadow:var(--bubble-shadow);color:var(--royal);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;backdrop-filter:blur(8px);touch-action:manipulation;}
.nav-bubble.visible .nb-toggle{pointer-events:auto;}
@media(hover:hover){.nb-toggle:hover{box-shadow:0 6px 28px rgba(0,0,0,.28);transform:scale(1.05);}}
.nav-bubble.open .nb-toggle{color:var(--teal);transform:rotate(45deg);}
/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes spin{to{transform:rotate(360deg);}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s;}
.reveal.visible{opacity:1;transform:translateY(0);}
/* RESPONSIVE */
@media(max-width:900px){.mission-grid{grid-template-columns:1fr;}.stats-row{flex-direction:column;gap:0;}.s-item+.s-item::before{display:none;}.help-grid{grid-template-columns:1fr;}.don-grid{grid-template-columns:1fr;}.dollar-row{flex-direction:column;}.d-item+.d-item::before{display:none;}.m-accent{display:none;}.mosaic.three{grid-template-columns:1fr 1fr;}.mosaic-item.tall{grid-row:span 1;}.mosaic-ph.tall{min-height:200px;aspect-ratio:16/9;}}
@media(max-width:600px){.p-bottom{grid-template-columns:1fr 1fr;gap:.4rem;}.p-stat:nth-child(1){display:none;}.p-stat:nth-child(2){text-align:left;}.p-stat:nth-child(3){text-align:right;}.deadline-row{flex-direction:column;}.mosaic.three{grid-template-columns:1fr;}.lang-pill-label{display:none;}.hero-eye{margin-bottom:.6rem;font-size:1.1rem;}.hero-logo-ring{width:200px;height:200px;margin:0 auto .8rem;}.hero-logo-ring img{width:100%;height:100%;}.hero-h1{margin-top:0;}.hero-rule{margin:1rem auto;}}
@media(max-width:360px){.size-grid{grid-template-columns:repeat(2,1fr);}}
.turnstile-slot{margin:0 0 .9rem;display:flex;justify-content:center;min-height:0;}
.turnstile-slot:empty{display:none;}
