@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/poppins-latin-800-normal.woff2) format('woff2')}
/* Give A Feed 2026 - site styles */
:root{
  --navy:#22398c; --navy-deep:#16286b; --red:#d62a1e; --red-dark:#b21f15;
  --tint:#eef1fa; --pink:#fff2f1; --ink:#1b2340; --muted:#4a5680; --line:#e3e7f2;
  --radius:22px; --wrap:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.65}
img,video{max-width:100%;display:block}
a{color:var(--navy)}
a:hover{color:var(--navy-deep)}
h1,h2,h3{line-height:1.12;margin:0;font-weight:800;color:var(--navy)}
h1{font-size:clamp(34px,5.2vw,58px)}
h2{font-size:clamp(28px,3.6vw,42px)}
h3{font-size:22px}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.section{padding:clamp(56px,8vw,96px) 0}
.tint{background:var(--tint)} .pink{background:radial-gradient(900px 420px at 88% 0%,rgba(226,38,27,.09),transparent 65%),radial-gradient(800px 380px at 0% 100%,rgba(43,58,156,.08),transparent 60%),linear-gradient(180deg,#ffffff,#f3f6ff)} .navy{background:var(--navy);color:#fff} .deep{background:var(--navy-deep);color:#fff} .red{background:var(--red);color:#fff}
.navy h2,.deep h2,.red h2,.navy h3,.deep h3,.red h3{color:#fff}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.chip{display:inline-block;background:var(--red);color:#fff;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:6px}
.lead{font-size:clamp(18px,1.8vw,21px);line-height:1.55}
.muted{color:var(--muted)}
.center{text-align:center}
.stack>*+*{margin-top:16px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:100}
.skip:focus{left:10px;top:10px}
:focus-visible{outline:3px solid #ffb300;outline-offset:2px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 28px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark);color:#fff}
.btn-white{background:#fff;color:var(--navy)}.btn-white:hover{color:var(--navy-deep)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-ghost{border-color:rgba(255,255,255,.75);color:#fff;background:transparent}.btn-ghost:hover{color:#fff;background:rgba(255,255,255,.1)}
.btn-stack{flex-direction:column;gap:0;line-height:1.1;padding:6px 26px}
.btn-stack small{font-size:11px;font-weight:600;opacity:.8}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.btn-block{width:100%}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:58px;height:58px}
.brand span{font-weight:700;font-size:13px;line-height:1.2;color:var(--navy)}
.nav{display:flex;gap:26px;font-size:15px;font-weight:500}
.nav a{text-decoration:none;color:var(--navy)}
.nav a[aria-current=page]{color:var(--red)}
.header-cta{display:flex;gap:10px}
.header-cta .btn{min-height:44px;padding:0 20px;font-size:15px}
.menu-btn{display:none;position:relative;width:48px;height:48px;border:0;border-radius:13px;background:#fff;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .35s ease}
.mobile-nav{display:none}
@media (max-width:1020px){
  .nav,.header-cta .btn-outline{display:none}
  .menu-btn{display:inline-flex}
  .mobile-nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--navy);padding:8px 20px 24px;box-shadow:0 18px 30px rgba(10,20,70,.35);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .45s cubic-bezier(.7,0,.2,1),visibility 0s .45s}
  .mobile-nav[data-open=true]{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .5s cubic-bezier(.2,.8,.2,1),visibility 0s}
  .mobile-nav a{color:#fff;text-decoration:none;font-size:18px;font-weight:600;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.18);opacity:0;transform:translateX(-18px);transition:opacity .3s,transform .3s}
  .mobile-nav[data-open=true] a{opacity:1;transform:none;transition:opacity .4s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
  .mobile-nav[data-open=true] a:nth-child(1){transition-delay:.12s}.mobile-nav[data-open=true] a:nth-child(2){transition-delay:.17s}.mobile-nav[data-open=true] a:nth-child(3){transition-delay:.22s}.mobile-nav[data-open=true] a:nth-child(4){transition-delay:.27s}.mobile-nav[data-open=true] a:nth-child(5){transition-delay:.32s}.mobile-nav[data-open=true] a:nth-child(6){transition-delay:.37s}
  .mobile-nav .btn{margin-top:16px;border:0}
  .mobile-nav a.btn-white{color:var(--navy);border-bottom:0;justify-content:center;font-weight:800}
}
@media (max-width:420px){.brand span{display:none}.header-cta .btn{padding:0 16px}}

/* hero */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--navy-deep)}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,40,107,.96) 0%,rgba(22,40,107,.86) 36%,rgba(22,40,107,.3) 62%,rgba(22,40,107,0) 80%)}
.hero .wrap{position:relative;z-index:1;padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,9vw,120px)}
.hero-copy{max-width:600px}
.hero h1{color:#fff;margin-top:18px}
.hero .lead{margin-top:20px;color:#e4e9fb}
.catch{margin-top:14px;font-size:21px;font-weight:700}
.hero .btn-row{margin-top:28px}
.tally{margin-top:34px;max-width:460px}
.tally-row{display:flex;justify-content:space-between;font-size:14px;font-weight:600}
.tally-bar{margin-top:8px;height:12px;border-radius:999px;background:rgba(255,255,255,.22);overflow:hidden}
.tally-fill{height:12px;border-radius:999px;background:#fff;min-width:14px;width:0;transition:width 1s ease}
@media (max-width:760px){
  .hero{display:flex;flex-direction:column}
  .hero-media{position:relative;height:300px;object-position:72% center}
  .hero::after{display:none}
  .hero .wrap{background:var(--navy-deep);padding-top:32px;padding-bottom:44px}
}

/* layout helpers */
.split{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(28px,5vw,56px)}
.split>*{flex:1 1 420px;min-width:0}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
.photo{width:100%;object-fit:cover;border-radius:var(--radius)}
.photo-frame{border:10px solid #fff;border-radius:32px;box-shadow:0 24px 60px rgba(8,18,60,.25)}
.narrow{max-width:860px;margin:0 auto}

/* donate widget */
.widget{max-width:780px;margin:0 auto;border-radius:28px;overflow:hidden;box-shadow:0 18px 50px rgba(20,35,90,.14);background:#fff}
.widget-top{background:var(--navy);color:#fff;padding:clamp(26px,4vw,44px)}
.widget-top h2{color:#fff;font-size:clamp(24px,3vw,34px)}
.tabs{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:6px;background:rgba(255,255,255,.12);padding:6px;border-radius:999px}
.tab{min-height:48px;border:0;border-radius:999px;background:transparent;color:#fff;font:600 15px 'Poppins',sans-serif;cursor:pointer}
.tab[aria-selected=true]{background:#fff;color:var(--navy);font-weight:700}
.picker{margin-top:20px;background:rgba(255,255,255,.1);border-radius:18px;padding:20px}
.presets{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.preset{min-height:72px;border:2px solid #fff;border-radius:12px;background:#fff;color:var(--navy);font-family:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center}
.preset b{font-size:22px;font-weight:800}
.preset span{font-size:12px;font-weight:600;color:var(--muted)}
.preset[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}
.preset[aria-pressed=true] span{color:#fff}
.stepper{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.stepper-ctl{display:flex;align-items:center;gap:8px}
.stepper button{width:48px;height:48px;border:0;border-radius:12px;background:#fff;color:var(--navy);font:700 24px 'Poppins',sans-serif;cursor:pointer}
.stepper output{min-width:176px;padding:0 10px;height:48px;border-radius:12px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px}
.impact{margin-top:18px;font-size:15px;color:#e4e9fb}
.widget-bottom{padding:20px clamp(26px,4vw,44px) 26px;font-size:13px;color:var(--muted)}
.secure{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:var(--navy);padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}
@media (max-width:520px){.presets{grid-template-columns:repeat(2,1fr)}.tab{font-size:13px}.stepper output{min-width:150px}}

/* cards */
.card{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:0 10px 30px rgba(20,35,90,.08)}
.how-item{text-align:center}
.how-item img{height:230px;margin:0 auto}
.how-item h3{margin-top:20px}
.how-item p{margin-top:8px;color:var(--muted)}
.contents{columns:2;column-gap:32px;margin:0;padding-left:18px;line-height:1.95;font-size:15px}
@media (max-width:520px){.contents{columns:1}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;text-align:center}
.stat b{display:block;font-size:clamp(40px,5vw,54px);font-weight:800;line-height:1;color:var(--navy)}
.stat:nth-child(2) b{color:var(--red)}
.stat span{display:block;margin-top:10px;font-weight:600;color:var(--muted)}

/* people */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:26px}
.person{text-align:center;text-decoration:none;color:var(--ink)}
.person img{width:128px;height:128px;border-radius:999px;object-fit:cover;margin:0 auto;border:5px solid #fff;box-shadow:0 0 0 3px var(--red)}
.person b{display:block;margin-top:12px}
.person span{display:block;font-size:13px;color:var(--muted)}
.amb-card{background:#fff;border-radius:24px;box-shadow:0 10px 30px rgba(20,35,90,.08);transition:transform .25s ease,box-shadow .25s ease}
.amb-card:hover,.amb-card:focus-within{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,35,90,.14)}
.amb-open{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;padding:26px 22px;border:0;background:none;font:inherit;color:inherit;text-align:center;cursor:pointer;border-radius:24px}
.amb-open:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.amb-name{display:block;margin-top:16px;font-size:20px;font-weight:800;line-height:1.25;color:var(--navy)}
.amb-card .role,.amb-dialog .role{display:block;margin-top:4px;font-size:13px;font-weight:700;color:var(--red)}
.amb-short{display:block;margin-top:10px;font-size:14px;color:var(--muted)}
.amb-more{display:inline-block;margin-top:auto;padding-top:14px;font-size:14px;font-weight:700;color:var(--navy)}
.amb-open:hover .amb-more{color:var(--red)}
.amb-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:clamp(24px,4vw,40px);border:0;border-radius:24px;color:var(--ink);box-shadow:0 30px 80px rgba(10,20,60,.35);overflow:auto}
.amb-dialog::backdrop{background:rgba(22,40,107,.72);backdrop-filter:blur(3px)}
.amb-dialog[open]{animation:amb-pop .28s cubic-bezier(.2,.9,.3,1.2)}
@keyframes amb-pop{from{opacity:0;transform:translateY(16px) scale(.96)}}
.amb-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;border-radius:999px;background:var(--tint);color:var(--navy);font-size:28px;line-height:1;cursor:pointer}
.amb-close:hover{background:var(--red);color:#fff}
.amb-dlg-head{display:flex;align-items:center;gap:20px;padding-right:40px}
.amb-dlg-head img{flex:0 0 auto;width:120px;height:120px;border-radius:999px;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 4px var(--red)}
.amb-dlg-head h2{font-size:clamp(24px,4vw,30px);line-height:1.2}
.amb-bio{margin-top:22px}
.amb-bio p+p{margin-top:14px}
@media (max-width:520px){.amb-dlg-head{flex-direction:column;align-items:flex-start;gap:14px}.amb-dlg-head img{width:96px;height:96px}}
.ticks{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:12px}
.ticks li{position:relative;padding-left:36px}
.ticks li::before{content:"";position:absolute;left:0;top:3px;width:24px;height:24px;border-radius:999px;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/16px no-repeat}
.apply{background:linear-gradient(180deg,#fff,#f3f6ff)}

/* partners */
.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.logo-tile{height:120px;border-radius:18px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;padding:18px}
.logo-tile img{max-height:72px;width:auto}
.chips{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.chips li{padding:9px 16px;border-radius:999px;background:#fff;border:1px solid #d5dcf0;font-size:14px;font-weight:600;color:var(--navy)}

/* video */
.video-box{border-radius:24px;overflow:hidden;background:#000;aspect-ratio:16/9}
.video-box video{width:100%;height:100%;object-fit:cover}

/* forms */
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.form .full{grid-column:1/-1}
.form input,.form select,.form textarea{min-height:50px;padding:10px 14px;border:2px solid var(--line);border-radius:12px;font:400 16px 'Poppins',sans-serif;color:var(--ink);background:#fff}
.form textarea{min-height:110px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--navy);outline:none}
.check{flex-direction:row!important;align-items:flex-start;font-weight:400!important}
.check input{min-height:auto;width:22px;height:22px;margin:2px 0 0}
.hp{position:absolute;left:-9999px}
.error{color:var(--red);font-weight:600;font-size:14px}

/* checkout */
.steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:720px}
.steps li{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--navy);font-size:15px}
.steps i{flex:0 0 auto;width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;background:#fff;border:2px solid #c3cbe6;color:var(--muted)}
.steps li[data-state=current] i{background:var(--red);border-color:var(--red);color:#fff}
.steps li[data-state=done] i{background:var(--navy);border-color:var(--navy);color:#fff}
@media (max-width:560px){.steps li span{display:none}}
.checkout{margin-top:26px;display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.checkout-main{flex:1 1 560px;min-width:0;background:#fff;border-radius:26px;padding:clamp(22px,4vw,36px);box-shadow:0 16px 44px rgba(20,35,90,.1)}
.summary{flex:1 1 320px;min-width:0;position:sticky;top:96px;background:var(--navy);color:#fff;border-radius:26px;overflow:hidden}
.summary img{width:100%;height:200px;object-fit:cover}
.summary .in{padding:24px 26px 28px}
.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:16px}
.choice button{text-align:left;border:2px solid var(--line);background:#fff;border-radius:16px;padding:16px;font-family:inherit;cursor:pointer;color:var(--ink)}
.choice button b{display:block;font-size:17px;color:var(--navy)}
.choice button span{display:block;margin-top:4px;font-size:14px;color:var(--muted)}
.choice button[aria-checked=true]{border-color:var(--navy);background:var(--tint)}
.big-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:16px}
.big-presets .preset{border-color:var(--line)}
.panel[hidden]{display:none}
.gift-box{margin-top:24px;padding:22px;border-radius:18px;background:var(--pink)}
.gift-box h3{color:var(--red);font-size:19px}

/* certificate */
.cert{background:#fff;border-radius:22px;padding:14px;box-shadow:0 18px 50px rgba(20,35,90,.14)}
.cert-in{border:3px solid var(--navy);border-radius:14px;padding:40px 30px;text-align:center;position:relative;overflow:hidden}
.cert-in img{width:100px;height:100px;margin:0 auto;position:relative}
.cert-name{margin-top:12px;font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--navy);position:relative}

/* footer */
.site-footer{background:var(--navy-deep);color:#d6ddf6;font-size:14px}
.site-footer a{color:#fff}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:40px 0 20px;border-bottom:1px solid rgba(255,255,255,.18)}
.foot-top .brand span{color:#fff;font-size:18px}
.social{display:flex;gap:10px}
.social a{width:46px;height:46px;border:2px solid #fff;border-radius:12px;display:flex;align-items:center;justify-content:center}
.foot-links{display:flex;flex-wrap:wrap;gap:22px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:15px}
.foot-links a{text-decoration:none}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:22px 0 40px;line-height:1.6}
.foot-bottom p+p{margin-top:8px}

/* mobile sticky donate bar */
.sticky-bar{display:none}
@media (max-width:760px){
  .sticky-bar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:10px 14px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(20,35,90,.12)}
  .sticky-bar .btn{min-height:50px}
  .sticky-bar .btn-red{flex:1}
  body.has-bar{padding-bottom:78px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Stories and News */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px}
.news-card,.press-card{display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 10px 30px rgba(20,35,90,.08);transition:transform .25s ease,box-shadow .25s ease}
.news-card:hover,.press-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,35,90,.14)}
.news-card img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;display:block}
.news-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.news-meta{display:block;font-size:13px;color:var(--muted)}
.news-meta b{color:var(--red)}
.news-title{display:block;margin-top:8px;font-size:20px;font-weight:800;line-height:1.3;color:var(--navy)}
.news-sum{display:block;margin-top:10px;font-size:15px;color:var(--muted)}
.news-card .amb-more,.press-card .amb-more{margin-top:auto;padding-top:16px}
.news-feature{grid-column:1/-1}
@media (min-width:860px){.news-feature{flex-direction:row}.news-feature img{width:58%;aspect-ratio:auto;min-height:340px}.news-feature .news-body{justify-content:center;padding:36px}.news-feature .news-title{font-size:28px}}
.press-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.press-card{padding:24px;border:1px solid var(--line);box-shadow:none;border-top:5px solid var(--red)}
.story-hero{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:24px;box-shadow:0 20px 50px rgba(20,35,90,.18)}
.story-body h2{margin-top:36px;font-size:26px}
.story-body p{margin-top:16px;font-size:18px;line-height:1.75}
.story-body p:first-child{font-size:20px}
.spread{padding:34px;background:var(--tint);border:0}

/* Gift buttons wrapped like a present: silky red ribbon and bow */
.btn-gift,.header-cta .btn.btn-gift{position:relative;isolation:isolate;padding-right:58px;overflow:visible}
.btn-gift::before{content:"";position:absolute;z-index:-1;top:-2px;bottom:-2px;right:28px;width:8px;background:linear-gradient(90deg,#7d0c06 0%,#c01d13 22%,#ff8b7e 48%,#d3261b 70%,#7d0c06 100%);box-shadow:-1.5px 0 0 #d9ad52,1.5px 0 0 #d9ad52}
.btn-gift::after{content:"";position:absolute;right:1px;top:-25px;width:62px;height:44px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 56'%3E %3Cdefs%3E %3ClinearGradient id='s' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23ff8a7c'/%3E%3Cstop offset='.3' stop-color='%23e3261a'/%3E%3Cstop offset='.62' stop-color='%23b5140b'/%3E%3Cstop offset='1' stop-color='%236e0a05'/%3E%3C/linearGradient%3E %3ClinearGradient id='r' x1='1' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ff8a7c'/%3E%3Cstop offset='.3' stop-color='%23e3261a'/%3E%3Cstop offset='.62' stop-color='%23b5140b'/%3E%3Cstop offset='1' stop-color='%236e0a05'/%3E%3C/linearGradient%3E %3ClinearGradient id='in' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237a0b05'/%3E%3Cstop offset='1' stop-color='%23a8130a'/%3E%3C/linearGradient%3E %3ClinearGradient id='k' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%238f1108'/%3E%3Cstop offset='.45' stop-color='%23ff7a6b'/%3E%3Cstop offset='.6' stop-color='%23e2281b'/%3E%3Cstop offset='1' stop-color='%237d0c06'/%3E%3C/linearGradient%3E %3ClinearGradient id='t' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23c01d13'/%3E%3Cstop offset='1' stop-color='%237d0c06'/%3E%3C/linearGradient%3E %3C/defs%3E %3Cg stroke='%23d9ad52' stroke-width='.6' stroke-linejoin='round'%3E %3Cpath d='M37 33 L27 53 L31.5 50.5 L34 55 L42 35 Z' fill='url(%23t)'/%3E %3Cpath d='M43 33 L53 53 L48.5 50.5 L46 55 L38 35 Z' fill='url(%23t)'/%3E %3Cpath d='M40 30 C33 13 13 2 7 13 C2 23 18 33 40 30 Z' fill='url(%23s)'/%3E %3Cpath d='M40 30 C47 13 67 2 73 13 C78 23 62 33 40 30 Z' fill='url(%23r)'/%3E %3C/g%3E %3Cpath d='M40 30 C33 21 20 15 15 19 C19 25 30 29 40 30 Z' fill='url(%23in)' opacity='.9'/%3E %3Cpath d='M40 30 C47 21 60 15 65 19 C61 25 50 29 40 30 Z' fill='url(%23in)' opacity='.9'/%3E %3Cpath d='M11.5 14.5 C14 10.5 20 10 27 14.5' fill='none' stroke='%23ffd0c9' stroke-width='1.6' stroke-linecap='round' opacity='.75'/%3E %3Cpath d='M68.5 14.5 C66 10.5 60 10 53 14.5' fill='none' stroke='%23ffd0c9' stroke-width='1.6' stroke-linecap='round' opacity='.55'/%3E %3Crect x='34.5' y='24.5' width='11' height='12' rx='3.5' fill='url(%23k)' stroke='%23d9ad52' stroke-width='.6'/%3E %3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 2px 2px rgba(60,5,2,.35));transform-origin:50% 60%}
.btn-gift:hover::after,.btn-gift:focus-visible::after{animation:bow-wiggle .6s ease}
@keyframes bow-wiggle{0%,100%{transform:rotate(0) scale(1)}30%{transform:rotate(-8deg) scale(1.08)}65%{transform:rotate(6deg) scale(1.04)}}
@media (prefers-reduced-motion:reduce){.btn-gift:hover::after{animation:none}}
.sticky-bar .btn.btn-gift{padding-right:46px}
.sticky-bar .btn-gift::before{right:22px;width:7px}
.sticky-bar .btn-gift::after{right:2px;top:-20px;width:48px;height:34px}

/* Animated Give A Feed hamper box */
.gbox-stage{position:relative;height:380px;perspective:1100px;display:flex;align-items:center;justify-content:center}
.gbox{--w:300px;--h:215px;--d:170px;position:relative;width:var(--w);height:var(--h);transform-style:preserve-3d;transform:rotateX(-16deg) rotateY(-30deg);animation:gbox-turn 9s ease-in-out infinite,gbox-float 4.5s ease-in-out infinite}
.gbox-face{position:absolute;left:0;top:0;backface-visibility:hidden;border-radius:6px;overflow:hidden}
.gbox-front{width:var(--w);height:var(--h);transform:translateZ(calc(var(--d)/2));background:linear-gradient(160deg,#4a5bd0,#3446b4 55%,#2b3a9c);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 14px 12px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}
.gbox-side{width:var(--d);height:var(--h);transform:rotateY(90deg) translateZ(calc(var(--w) - var(--d)/2));background:linear-gradient(200deg,#3a4bc0,#26338a);display:flex;flex-direction:column;justify-content:center;gap:10px;padding:0 10px}
.gbox-top{width:var(--w);height:var(--d);transform:rotateX(90deg) translateZ(calc(var(--d)/2));background:linear-gradient(135deg,#5868d8,#3d4fc0);box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}
.gbox-seam{position:absolute;left:0;right:0;top:50%;height:3px;background:rgba(20,30,90,.45)}
.gbox-tag{position:absolute;left:12px;top:12px;background:#fff;color:#2b3a9c;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:3px}
.gbox-plate{position:absolute;left:50%;top:12px;width:200px;height:150px;transform:translateX(-50%)}
.gbox-hands{position:absolute;left:0;top:78px;width:200px;height:auto;z-index:2}
.gbox-disc{position:absolute;left:50%;top:0;transform:translateX(-50%);width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,#ece8e4 70%,#d9d2cb);box-shadow:0 3px 8px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:1}
.gbox-disc img{width:84px;height:84px;border-radius:50%}
.gbox-line{position:relative;color:#fff;font-weight:700;font-size:13px;z-index:3;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.gbox-url{position:relative;color:#dfe4ff;font-size:11px;z-index:3}
.gbox-band{display:block;background:#fff;color:#2b3a9c;font-weight:800;font-size:12px;line-height:1.25;text-align:center;padding:9px 6px;border-radius:3px}
.gbox-shadow{position:absolute;left:50%;bottom:34px;width:300px;height:36px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(20,35,90,.32),transparent);animation:gbox-shadow 4.5s ease-in-out infinite}
.gbox-heart{position:absolute;left:50%;top:44%;color:var(--red);font-size:22px;opacity:0;animation:gbox-heart 4.5s ease-in infinite}
.gbox-heart.h2{animation-delay:1.5s;font-size:16px;margin-left:-60px}
.gbox-heart.h3{animation-delay:3s;font-size:18px;margin-left:50px}
@keyframes gbox-turn{0%,100%{transform:rotateX(-16deg) rotateY(-36deg)}50%{transform:rotateX(-12deg) rotateY(-12deg)}}
@keyframes gbox-float{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes gbox-shadow{0%,100%{transform:translateX(-50%) scale(1);opacity:1}50%{transform:translateX(-50%) scale(.85);opacity:.7}}
@keyframes gbox-heart{0%{opacity:0;transform:translate(0,0) scale(.6)}15%{opacity:1}100%{opacity:0;transform:translate(10px,-170px) scale(1.3)}}
@media (prefers-reduced-motion:reduce){.gbox,.gbox-shadow{animation:none}.gbox-heart{display:none}}
@media (max-width:520px){.gbox-tag{display:none}.gbox{--w:240px;--h:196px;--d:130px}.gbox-plate{transform:translateX(-50%) scale(.82);transform-origin:top center}.gbox-line{font-size:11px}.gbox-band{font-size:10px}.gbox-stage{height:330px}}

/* Ambassador photo rings: the hand-drawn circle from the Give A Feed logo, in blue and red, turning slowly on hover */
.amb-ring{position:relative;display:block;width:176px;height:176px;border-radius:999px}
.amb-ring::before,.amb-ring::after{content:"";position:absolute;inset:0;background:url("/assets/img/ring-blue.webp") center/100% 100% no-repeat;pointer-events:none}
.amb-ring::after{inset:4px;background-image:url("/assets/img/ring-red.webp");transform:rotate(140deg)}
.amb-ring img{position:absolute;left:13px;top:13px;width:150px;height:150px;border-radius:999px;object-fit:cover;display:block}
.amb-open:hover .amb-ring::before,.amb-open:focus-visible .amb-ring::before{animation:ring-spin 16s linear infinite}
.amb-open:hover .amb-ring::after,.amb-open:focus-visible .amb-ring::after{animation:ring-spin-rev 22s linear infinite}
@keyframes ring-spin{to{transform:rotate(360deg)}}
@keyframes ring-spin-rev{from{transform:rotate(140deg)}to{transform:rotate(-220deg)}}
@media (prefers-reduced-motion:reduce){.amb-open:hover .amb-ring::before,.amb-open:hover .amb-ring::after{animation:none}}

/* Gift A Hamper page */
.gift-hero{background:radial-gradient(circle at 80% 20%,#e8463a,var(--red) 45%,#a8160d);color:#fff;padding-top:clamp(56px,8vw,96px);padding-bottom:clamp(56px,8vw,96px)}
.gift-hero h1{font-size:clamp(36px,5.4vw,60px)}
.gift-visual{position:relative;max-width:520px;margin:0 auto;transform:rotate(-3deg);animation:gift-bob 6s ease-in-out infinite}
.gift-cert{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 30px 60px rgba(60,5,2,.45)}
.gift-ribbon-v,.gift-ribbon-h{position:absolute;background:linear-gradient(90deg,#c9a227,#ffe9a3 45%,#e8c45a 55%,#b38a17);box-shadow:0 2px 6px rgba(0,0,0,.25)}
.gift-ribbon-v{top:-6px;bottom:-6px;left:94.5%;width:20px}
.gift-ribbon-h{left:-6px;right:-6px;top:90%;height:20px;background:linear-gradient(180deg,#c9a227,#ffe9a3 45%,#e8c45a 55%,#b38a17)}
.gift-bow{position:absolute;left:94.5%;top:90%;width:140px;height:96px;transform:translate(-42%,-60%);background:url("/assets/img/bow-gold.svg") center/contain no-repeat;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}
@keyframes gift-bob{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-10px)}}
.gsteps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;position:relative}
.gstep{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px 24px 26px;text-align:center}
.gstep-icon{display:flex;align-items:center;justify-content:center;width:84px;height:84px;margin:0 auto;border-radius:999px;background:var(--pink);color:var(--red)}
.gstep-icon svg{width:46px;height:46px}
.gstep-num{position:absolute;top:18px;left:18px;width:34px;height:34px;border-radius:999px;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.gstep h3{margin-top:18px;font-size:20px}
.gstep p{margin-top:8px;color:var(--muted);font-size:15px}
.phone{width:300px;max-width:100%;margin:0 auto;padding:12px;border-radius:44px;background:#1b2340;box-shadow:0 30px 60px rgba(20,35,90,.25)}
.phone-screen{border-radius:34px;overflow:hidden;background:#fff;min-height:560px}
.mail-head{background:var(--navy);padding:18px;text-align:center}
.mail-head img{display:inline-block}
.mail-body{padding:20px 20px 26px;font-size:14px;line-height:1.55}
.mail-body h3{font-size:22px;color:var(--navy)}
.mail-body p{margin-top:10px}
.mail-meta{color:var(--muted);font-size:12px;margin-top:0!important}
.mail-msg{padding:12px 14px;background:var(--pink);border-radius:12px;font-style:italic;min-height:84px}
.mail-msg .caret{display:inline-block;width:2px;height:1em;background:var(--red);vertical-align:-2px;margin-left:1px;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.mail-btn{display:inline-block;margin-top:14px;background:var(--red);color:#fff;font-weight:700;padding:10px 18px;border-radius:999px}
.gfor h3{font-size:19px}
.gfor p{margin-top:8px;font-size:15px}
.gift-quote{background:var(--navy);color:#fff}
.gift-big{font-size:clamp(26px,3.6vw,40px);font-weight:800;line-height:1.25}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(var(--i,0)*120ms)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.gift-visual{animation:none}.reveal{opacity:1;transform:none;transition:none}}
.btn-white.btn-gift{padding-right:58px}
.gift-hero{overflow:hidden}

.page-intro{padding:clamp(36px,5vw,56px) 0}
.page-intro h1{font-size:clamp(30px,4.2vw,46px)}
.amb-apply-inline{font-weight:700;color:var(--red-dark);text-decoration:none;display:inline-block}
.amb-apply-inline:hover{text-decoration:underline}

/* Bio pop-out: a big photo pushed back, with the story drifting over its faded edge */
.amb-dialog{width:min(1060px,calc(100vw - 32px));height:min(680px,calc(100vh - 48px));padding:0;overflow:hidden}
.amb-dialog[open]{display:flex;flex-direction:column}
.amb-close{z-index:5;background:rgba(255,255,255,.9)}
@property --reveal{syntax:'<percentage>';inherits:false;initial-value:100%}
.amb-dlg-body{position:static;flex:1 1 auto;min-height:0;overflow:auto;margin-left:50%;scrollbar-width:thin}
.amb-dlg-photo{position:absolute;left:0;top:0;bottom:0;width:66%;overflow:hidden;background:#eef1fb;z-index:0}
.amb-dlg-photo.is-small{width:56%}
.amb-dlg-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;transform-origin:40% 40%;animation:dlg-photo 1.4s cubic-bezier(.2,.8,.2,1) both}
.amb-dlg-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 52%,rgba(255,255,255,.55) 72%,rgba(255,255,255,.92) 88%,#fff 100%);pointer-events:none}
.amb-dlg-text{position:relative;z-index:1;padding:clamp(32px,4vw,48px) clamp(24px,4vw,48px) 8px 0;text-shadow:0 0 14px #fff,0 0 4px #fff;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - var(--reveal)),transparent calc(100% - var(--reveal) + 18%));mask-image:linear-gradient(180deg,#000 calc(100% - var(--reveal)),transparent calc(100% - var(--reveal) + 18%));animation:dlg-reveal 1.4s .45s ease-out both}
.amb-dlg-text h2{font-size:clamp(28px,3.8vw,38px);line-height:1.12;padding-right:44px}
.amb-dlg-actions{position:relative;z-index:1;flex:0 0 auto;margin:0 0 0 50%;padding:16px clamp(24px,4vw,48px) clamp(22px,3vw,32px) 0}
@keyframes dlg-photo{from{transform:scale(1.12);opacity:.4}to{transform:scale(1);opacity:1}}
@keyframes dlg-reveal{from{--reveal:118%}to{--reveal:-20%}}
/* Landscape photos (families, groups): show the whole picture across the top, story rising up over it */
.amb-dialog:has(.is-wide){height:auto;max-height:calc(100vh - 48px);overflow:auto}
.amb-dialog[open]:has(.is-wide){display:block}
.amb-dialog:has(.is-wide) .amb-dlg-body{margin-left:0;overflow:visible}
.amb-dialog:has(.is-wide) .amb-dlg-photo{position:relative;width:100%;height:auto}
.amb-dialog:has(.is-wide) .amb-dlg-photo img{height:auto;max-height:560px}
.amb-dialog:has(.is-wide) .amb-dlg-photo::after{background:linear-gradient(180deg,transparent 60%,rgba(255,255,255,.7) 84%,#fff 100%)}
.amb-dialog:has(.is-wide) .amb-dlg-text{margin-top:-96px;padding:0 clamp(24px,5vw,64px) 4px}
.amb-dialog:has(.is-wide) .amb-dlg-actions{margin:0;padding:16px clamp(24px,5vw,64px) 32px}
@media (max-width:760px){
  .amb-dialog{height:auto;max-height:calc(100vh - 32px);overflow:auto}
  .amb-dialog[open]{display:block}
  .amb-dlg-body{margin-left:0;overflow:visible}
  .amb-dlg-photo,.amb-dlg-photo.is-small{position:relative;width:100%;height:min(66vh,480px)}
  .amb-dlg-photo img{object-position:center 25%}
  .amb-dlg-photo::after{background:linear-gradient(180deg,transparent 55%,rgba(255,255,255,.7) 82%,#fff 100%)}
  .amb-dlg-text{padding:0 22px 4px;margin-top:-84px}
  .amb-dlg-actions{margin:0;padding:16px 22px 24px;background:none}
  .amb-dialog:has(.is-wide) .amb-dlg-photo img{height:min(40vh,270px);object-position:center 35%}
  .amb-dialog:has(.is-wide) .amb-dlg-text{margin-top:-64px;padding:0 22px 4px}
  .amb-dialog:has(.is-wide) .amb-dlg-actions{padding:16px 22px 24px}
}
@media (prefers-reduced-motion:reduce){.amb-dlg-photo img,.amb-dlg-text{animation:none;-webkit-mask-image:none;mask-image:none}}

.gift-poem{font-family:inherit;font-style:italic;font-size:19px;color:#fff;opacity:.92;border-left:3px solid rgba(255,255,255,.6);padding-left:14px}

.credit{margin-top:6px}
.credit a{color:#fff;font-weight:700}
.szw{letter-spacing:.04em;text-decoration:none}
.szw span{color:#ff4a3d}
.szw:hover{text-decoration:underline}
.credit-heart{display:inline-block;color:#ff4a3d;animation:beat 1.6s ease-in-out infinite}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.18)}60%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.credit-heart{animation:none}}
.credit a{text-decoration:none}.credit a:hover{text-decoration:underline}

/* Gift steps: photos instead of icons */
.gsteps .gstep{padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(20,35,90,.07)}
.gstep-media{position:relative;display:block;aspect-ratio:4/3;background:var(--pink);overflow:hidden}
.gstep-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.gstep:hover .gstep-media img{transform:scale(1.05)}
.gstep-media .gstep-cert{object-fit:cover;object-position:50% 40%;transform:scale(1.12)}
.gstep:hover .gstep-media .gstep-cert{transform:scale(1.18)}
.gsteps .gstep-num{top:auto;bottom:-18px;left:20px;width:40px;height:40px;font-size:18px;border:3px solid #fff;z-index:2}
.gstep-media{overflow:visible}
.gstep-media img{border-radius:24px 24px 0 0}
.gstep-body{display:block;padding:30px 22px 24px}
.gsteps .gstep h3{margin-top:0}
.gnote{position:absolute;inset:18px 20px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:18px 20px;background:#fff;border-radius:14px;box-shadow:0 10px 24px rgba(160,30,20,.15);transform:rotate(-2deg);font-style:italic;color:var(--ink);font-size:15px;line-height:1.45}
.gnote::before{content:"";position:absolute;top:-10px;left:50%;width:70px;height:20px;transform:translateX(-50%) rotate(2deg);background:rgba(214,42,30,.22);border-radius:3px}
.gnote-to{font-weight:700;font-style:normal;color:var(--navy)}
.gnote-from{text-align:right;font-weight:600}
.gnote-from b{color:var(--red);font-style:normal}
.test-banner{position:sticky;top:0;z-index:80;background:#ffd23f;color:#1b2340;font-weight:800;text-align:center;padding:10px 16px;font-size:14px}
[data-gift][hidden]{display:none}

/* ---------- Story thread: empty bowl to full table ---------- */
.poem{display:flex;flex-direction:column;gap:4px;margin:0 auto 18px;font-size:clamp(32px,5.2vw,56px);font-weight:800;line-height:1.1;letter-spacing:-.01em;color:var(--navy)}
.poem .poem-red{color:var(--red)}
.story-open h2{font-size:clamp(22px,2.6vw,30px);font-weight:700;color:var(--ink);max-width:720px;margin:0 auto}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.fact{background:var(--tint);border-radius:var(--radius);padding:24px 22px;text-align:center}
.fact b{display:block;font-size:clamp(30px,3.6vw,42px);font-weight:800;line-height:1.05;color:var(--red)}
.fact span{display:block;margin-top:10px;font-size:15px;line-height:1.5;color:var(--muted)}
@media (max-width:760px){.facts{grid-template-columns:1fr;gap:12px}.fact{padding:18px}}
.poem-sm{font-size:clamp(20px,2.4vw,26px);font-weight:700;font-style:italic;color:var(--red);margin:0}
.ty-smile{margin:30px auto 0;max-width:420px}
.ty-smile img{display:block;width:100%;height:auto;border-radius:20px;border:6px solid #fff;box-shadow:0 18px 40px rgba(0,0,0,.25);transform:rotate(-2deg);animation:ty-smile 1s .4s cubic-bezier(.2,.9,.3,1.2) both}
.ty-smile figcaption{margin-top:14px;font-weight:700;font-style:italic;font-size:20px;color:#fff}
@keyframes ty-smile{from{opacity:0;transform:rotate(-8deg) scale(.8)}to{opacity:1;transform:rotate(-2deg) scale(1)}}

/* Clean, bright photos everywhere */
.photo,.hero-media,.how-item img,.gstep img,.news-card img,.amb-dlg-photo img,.ty-smile img{filter:saturate(1.08) brightness(1.04) contrast(1.02)}

/* ---------- Donate: the Christmas table fills as you choose ---------- */
.feeds{margin-top:22px;padding:18px 18px 16px;border-radius:16px;background:var(--tint);text-align:center}
.feeds-k{display:block;font-size:14px;font-weight:600;color:var(--muted)}
.feeds-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 16px;margin:8px 0 6px}
.feeds-n{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.feeds-n b{font-size:clamp(40px,8vw,52px);font-weight:800;line-height:1;color:var(--red);font-variant-numeric:tabular-nums}
.feeds-n span{font-size:clamp(22px,4vw,30px);font-weight:800;color:var(--navy)}
.feeds-amp{font-size:clamp(30px,5vw,40px);font-weight:300;color:var(--muted)}
.feeds-n b.bump{animation:preset-bump .35s cubic-bezier(.2,.9,.3,1.6)}
.hburst{position:fixed;z-index:200;pointer-events:none;color:var(--red);font-size:18px;animation:hburst .9s ease-out forwards}
@keyframes hburst{from{opacity:1;transform:translate(0,0) scale(.6)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.3)}}
.preset[aria-pressed="true"]{animation:preset-bump .35s cubic-bezier(.2,.9,.3,1.6)}
@keyframes preset-bump{50%{transform:scale(1.06)}}
.dsum{display:none}
@media (max-width:760px){
  body:has(.dsum) .sticky-bar{display:none!important}
  body:has(.dsum) footer{padding-bottom:110px}
  .dsum{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--line);padding:10px 14px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(20,30,90,.14)}
  .dsum-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
  .dsum-txt b{color:var(--navy);font-size:16px}
  .dsum-txt span{font-size:12px;color:var(--muted)}
  .dsum-total{margin-left:auto;font-weight:800;font-size:22px;color:var(--red)}
  .dsum-total.bump{animation:preset-bump .35s}
  .dsum .btn{min-height:50px;padding:0 20px}
}
@media (prefers-reduced-motion:reduce){.feeds-n b,.preset[aria-pressed="true"],.ty-smile img{animation:none}.hburst{display:none}}

/* Mobile sticky Gift button: room for the bow */
.sticky-bar .btn.btn-gift{flex:0 0 auto;padding-left:20px;padding-right:56px}

/* Footer dedication */
.credit-dedication{font-style:italic;opacity:.88;margin-top:6px}

/* Confetti on thank you */
.confetti{position:fixed;inset:0;pointer-events:none;z-index:150}
.feeds-ty{max-width:440px;margin:26px auto 4px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.feeds-ty .feeds-k,.feeds-ty .feeds-amp{color:#cfd7f5}
.feeds-ty .feeds-n span{color:#fff}
.feeds-ty .feeds-n b{color:#ff8a80}
@media (max-width:520px){.feeds{padding:16px 10px 14px}.feeds-row{gap:2px 10px}.feeds-n{gap:6px}.feeds-n b{font-size:34px}.feeds-n span{font-size:19px}.feeds-amp{font-size:28px}}

/* Sponsor logos: a slow, endless scroll above the footer */
.logo-strip{background:#fff;border-top:1px solid var(--line);padding:26px 0 30px;overflow:hidden}
.logo-strip-k{margin:0 0 16px;text-align:center;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.logo-track{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-run{display:flex;align-items:center;width:max-content;animation:logo-run 70s linear infinite}
.logo-track:hover .logo-run,.logo-track:focus-within .logo-run{animation-play-state:paused}
.lg{flex:0 0 auto;display:flex;align-items:center;height:64px;margin-right:56px;opacity:.92;transition:opacity .2s,transform .2s}
.lg:hover,.lg:focus-visible{opacity:1;transform:scale(1.06)}
.lg img{display:block;height:64px;width:auto;max-width:200px;object-fit:contain}
@keyframes logo-run{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:700px){.logo-strip{padding:20px 0 24px}.logo-run{animation-duration:55s}.lg{margin-right:36px}.lg,.lg img{height:46px}.lg img{max-width:150px}}
@media (prefers-reduced-motion:reduce){.logo-run{animation:none}.logo-track{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}
.poem .poem-sub{font-size:.52em;line-height:1.25;margin-top:8px}
.story-open .lead{max-width:680px;margin:0 auto}
.story-open .poem{margin-bottom:34px}.story-open h2{margin-bottom:14px}.story-open .catch{margin-top:16px}
/* Hero buttons on phones: one tidy, full-width stack */
@media (max-width:760px){
  .hero .btn-row{display:grid;grid-template-columns:1fr;gap:12px;width:100%}
  .hero .btn-row .btn{width:100%;min-height:60px;justify-content:center;font-size:17px}
  .hero .btn-row .btn-stack{padding-left:56px;padding-right:56px}
  .hero .btn-row .btn-ghost{min-height:44px;border:0;background:none;font-size:15px;justify-self:center;width:auto;padding:4px 10px;text-decoration:underline;text-underline-offset:4px}
}
/* Story opening: calmer rhythm, no orphan words */
.story-open .poem,.story-open h2,.story-open .lead,.story-open .catch,.fact b,.fact span{text-wrap:balance}
.story-open .poem{margin-bottom:6px}
.story-open .poem .poem-sub{font-size:clamp(17px,2.2vw,24px);margin-top:12px;letter-spacing:0}
.story-div{display:flex;align-items:center;justify-content:center;gap:14px;margin:26px auto 22px;color:var(--red);font-size:16px}
.story-div i{display:block;width:56px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(214,38,27,.5))}
.story-div i:last-child{transform:scaleX(-1)}
.story-open h2{color:var(--navy);font-size:clamp(22px,2.6vw,30px);line-height:1.25;margin-bottom:12px}
.story-open .lead{font-size:clamp(16px,1.6vw,19px);line-height:1.65;color:var(--muted)}
.story-open .catch{font-size:15px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--red)!important;margin-top:18px}
@media (max-width:760px){
  .story-open .poem{font-size:34px}
  .facts{margin-top:30px}
  .fact{display:grid;grid-template-columns:118px 1fr;align-items:center;gap:14px;text-align:left;padding:16px 18px}
  .fact b{font-size:26px;line-height:1.1}
  .fact span{margin-top:0;font-size:14px;line-height:1.45}
}
/* Floating hamper: our real box artwork, no hands */
.gbox{--w:300px;--h:212px;--d:180px}
.gbox-face{border-radius:4px}
.gbox-front{background:#fafafa url("/assets/img/hamper-front.webp") center/100% 100% no-repeat;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.gbox-side{background:#f3f3f3;padding:12px}
.gbox-side::before{content:"";position:absolute;inset:12px;border-radius:10px;background:linear-gradient(200deg,#1a2fa8,#0d1f86)}
.gbox-band{position:relative;z-index:1}
.gbox-top{background:#f7f7f7;box-shadow:none}
.gbox-top::before,.gbox-top::after{content:"";position:absolute;left:10px;right:10px;height:calc(50% - 14px);border-radius:8px;background:linear-gradient(135deg,#2337b8,#0d1f86)}
.gbox-top::before{top:10px}.gbox-top::after{bottom:10px}
.gbox-seam{z-index:1;height:2px;background:rgba(0,0,0,.18)}
@media (max-width:520px){.gbox{--w:236px;--h:167px;--d:142px}}
.gbox-heart{top:14%}

/* Media partners row scrolls the other way */
.logo-run.rev{animation-direction:reverse;animation-duration:50s}

/* Home: ambassadors drift past, rings slowly turning */
.amb-scroll{margin-top:30px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.amb-run{display:flex;width:max-content;padding:8px 0 4px;animation:logo-run 90s linear infinite}
.amb-scroll:hover .amb-run,.amb-scroll:focus-within .amb-run{animation-play-state:paused}
.amb-chip{flex:0 0 auto;width:178px;margin-right:22px;display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:var(--ink)}
.amb-chip .amb-ring{width:150px;height:150px;transition:transform .3s}
.amb-chip .amb-ring img{left:11px;top:11px;width:128px;height:128px}
.amb-chip .amb-ring::before{animation:ring-spin 22s linear infinite}
.amb-chip .amb-ring::after{animation:ring-spin-rev 30s linear infinite}
.amb-chip:hover .amb-ring,.amb-chip:focus-visible .amb-ring{transform:scale(1.06)}
.amb-chip b{margin-top:12px;font-size:16px;color:var(--navy)}
.amb-chip>span:last-child{margin-top:2px;font-size:13px;line-height:1.35;color:var(--muted)}
.amb-q{position:absolute;left:11px;top:11px;width:128px;height:128px;border-radius:999px;background:radial-gradient(circle at 35% 30%,#3a4fd0,#1b2a8f 70%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:800;line-height:1}
.amb-you b{color:var(--red)}
.amb-you>span:last-child{font-weight:700;color:var(--navy)}
@media (max-width:700px){.amb-run{animation-duration:70s}.amb-chip{width:150px;margin-right:14px}.amb-chip .amb-ring{width:128px;height:128px}.amb-chip .amb-ring img,.amb-q{left:10px;top:10px;width:108px;height:108px}.amb-q{font-size:54px}}
@media (prefers-reduced-motion:reduce){.amb-run{animation:none}.amb-scroll{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.amb-chip .amb-ring::before,.amb-chip .amb-ring::after{animation:none}}

/* Mission and vision */
.mv{display:grid;grid-template-columns:1fr 1fr;background:#fff}
.mv-cell{min-height:360px}
.mv-text{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:clamp(36px,6vw,80px) clamp(24px,6vw,90px)}
.mv-text .eyebrow{font-size:clamp(26px,3vw,36px);letter-spacing:0;text-transform:none;font-weight:800;color:var(--navy)}
.mv-text p{margin-top:16px;max-width:520px;font-size:clamp(17px,1.6vw,21px);line-height:1.6;color:var(--ink);text-wrap:balance}
.mv-img{overflow:hidden}
.mv-img img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.08) brightness(1.04)}
.mv-1 img{object-position:right center}
@media (max-width:760px){.mv{grid-template-columns:1fr}.mv-cell{min-height:0}.mv-img{height:240px}.mv>.mv-text:first-child{order:1}.mv-1{order:2}.mv>.mv-text:last-child{order:3}.mv-2{order:4}}
.bar-live-fill{transition:height 1.6s cubic-bezier(.2,.8,.2,1);box-shadow:0 -6px 18px rgba(226,38,27,.25)}
.mv-statement{font-size:clamp(24px,2.8vw,34px);font-weight:800;line-height:1.25;color:var(--navy);text-wrap:balance;margin:0}
@media (min-width:761px){.mv-flip>img{order:-1}}
@media (max-width:760px){.mvs .photo-frame{height:260px!important}}
.mvs .photo-frame{border:10px solid var(--red);border-radius:30px}

/* Ambassador social icons: glossy colour when filled, quiet grey when empty */
.soc-row{display:flex;gap:12px;margin-top:22px}
.soc{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;color:#fff;text-decoration:none;
  box-shadow:0 6px 14px rgba(20,30,90,.25),inset 0 -3px 0 rgba(0,0,0,.18),inset 0 2px 0 rgba(255,255,255,.35);transition:transform .2s,box-shadow .2s}
.soc::after{content:"";position:absolute;left:4px;right:4px;top:3px;height:45%;border-radius:11px 11px 16px 16px;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0));pointer-events:none}
.soc svg{width:24px;height:24px;position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
a.soc:hover,a.soc:focus-visible{transform:translateY(-3px) scale(1.06);box-shadow:0 12px 22px rgba(20,30,90,.3),inset 0 -3px 0 rgba(0,0,0,.18),inset 0 2px 0 rgba(255,255,255,.35)}
.soc-fb{background:linear-gradient(160deg,#4f8dff,#1458d8)}
.soc-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.soc-li{background:linear-gradient(160deg,#2b8ad1,#0a5a9c)}
.soc-web{background:linear-gradient(160deg,#e94a3f,#b81c12)}
.soc-off{background:linear-gradient(160deg,#f4f5f8,#dcdfe7);color:#9aa1b2;box-shadow:inset 0 -3px 0 rgba(0,0,0,.06),inset 0 2px 0 rgba(255,255,255,.8)}
.soc-off::after{display:none}
/* Partners section: sponsor logos scrolling as tidy cards */
.partner-scroll{margin-top:8px}
.partner-scroll .lg{height:104px;margin-right:22px;padding:0 26px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 18px rgba(20,30,90,.06);opacity:1}
.partner-scroll .lg img{height:64px;max-width:220px}
.partner-also{margin:26px auto 0;max-width:760px;text-align:center;color:var(--muted);font-size:15px}
.partner-also b{color:var(--navy)}
@media (max-width:700px){.partner-scroll .lg{height:80px;padding:0 18px;margin-right:14px}.partner-scroll .lg img{height:46px;max-width:160px}}

/* Foodbank WA page: their purple, our layout */
:root{--fb:#6a1e76;--fb-deep:#4a1253;--fb-tint:#f6eef8}
.fb-hero{background:radial-gradient(900px 500px at 90% 0%,rgba(255,255,255,.12),transparent 60%),linear-gradient(135deg,#7a2588,var(--fb) 45%,var(--fb-deep));color:#fff}
.fb-band{background:linear-gradient(135deg,var(--fb),var(--fb-deep));color:#fff}
.fb-tint{background:var(--fb-tint)}
.fb-eyebrow{color:var(--fb)!important}
.fb-frame{border:10px solid var(--fb);border-radius:30px;box-shadow:0 24px 60px rgba(74,18,83,.25)}
.fb-lockup{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}
.fb-card{display:flex;align-items:center;justify-content:center;width:190px;height:190px;border-radius:28px;background:#fff;box-shadow:0 24px 50px rgba(30,5,40,.35);transform:rotate(-3deg)}
.fb-card:last-child{transform:rotate(3deg)}
.fb-card img{max-width:150px;max-height:150px;width:auto;height:auto}
.fb-x{font-size:34px;color:#fff;animation:fb-beat 1.6s ease-in-out infinite}
@keyframes fb-beat{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}
.fb-stat{background:#fff;border-radius:var(--radius);padding:28px 24px;text-align:center;box-shadow:0 10px 30px rgba(74,18,83,.08);border-top:5px solid var(--fb)}
.fb-stat b{display:block;font-size:clamp(28px,3.4vw,42px);font-weight:800;line-height:1.1;color:var(--fb);text-wrap:balance}
.fb-stat span{display:block;margin-top:10px;color:var(--muted);line-height:1.5}
@media (max-width:760px){.fb-card{width:140px;height:140px}.fb-card img{max-width:110px;max-height:110px}.fb-frame{height:260px!important}}
@media (prefers-reduced-motion:reduce){.fb-x{animation:none}}
/* Header: keep five tabs on one line */
.nav a,.header-cta .btn{white-space:nowrap}
@media (max-width:1320px){.site-header .brand span{display:none}.nav{gap:20px}}
@media (max-width:1180px) and (min-width:1021px){.nav{gap:14px;font-size:14px}.header-cta .btn{padding:0 14px;font-size:14px}.header-cta .btn.btn-gift{padding-right:52px}}
.site-header .brand span{white-space:nowrap}
button.amb-chip{background:none;border:0;padding:0;font:inherit;cursor:pointer}

/* Animated share cards */
.sh-wrap{margin-top:34px}
.sh-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:22px}
.sh-tab{border:2px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-weight:700;font-size:15px;padding:10px 18px;border-radius:999px;cursor:pointer}
.sh-tab[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.sh-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:36px;align-items:start;max-width:960px;margin:0 auto}
.sh-canvas{display:block;width:100%;height:auto;border-radius:24px;box-shadow:0 30px 60px rgba(16,26,94,.35)}
.sh-side label{display:block;font-weight:700;font-size:14px;color:var(--navy);margin-bottom:14px}
.sh-side input{display:block;width:100%;margin-top:6px;padding:12px 14px;border:2px solid var(--line);border-radius:12px;font:inherit}
.sh-cap-k{margin:0 0 6px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sh-cap{white-space:pre-line;margin:0 0 18px;padding:14px 16px;border-radius:14px;background:var(--tint);font-size:15px;line-height:1.55;color:var(--ink)}
.sh-go{min-height:58px;font-size:18px}
.sh-status{min-height:22px;margin:10px 0 4px;font-weight:700;color:var(--red);font-size:14px}
.sh-more{display:flex;flex-wrap:wrap;gap:8px}
.sh-more .btn{flex:1 1 auto;min-height:44px;font-size:14px;padding:0 14px}
.sh-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px}
.sh-l{font-weight:700;font-size:14px;color:var(--navy)}
.sh-tip{margin-top:14px;font-size:13px;color:var(--muted)}
@media (max-width:760px){.sh-grid{grid-template-columns:1fr;gap:22px}.sh-stage{max-width:360px;margin:0 auto;width:100%}}

.sh-side label[hidden]{display:none}

.ty-msg{position:relative;margin:0 0 26px;padding:22px 24px 22px 26px;background:#fff;border-radius:16px;border-left:6px solid var(--red);box-shadow:0 14px 34px rgba(20,35,90,.12);animation:tyMsgIn .8s cubic-bezier(.2,.8,.2,1) both .3s}
.ty-msg-k{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.ty-msg-t{margin:8px 0 0;font-size:clamp(20px,2.6vw,26px);line-height:1.4;font-style:italic;font-weight:600;color:var(--navy)}
.ty-msg::after{content:"\201D";position:absolute;right:18px;top:-8px;font-size:96px;line-height:1;color:rgba(214,42,30,.12);font-family:Georgia,serif}
@keyframes tyMsgIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ty-msg{animation:none}}

.vid-embed{position:relative;flex:1 1 480px;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.vid-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.gift-note{margin-top:14px;font-size:14px;line-height:1.5;opacity:.88;max-width:560px}
.gift-note.center{margin-left:auto;margin-right:auto;text-align:center}
.gift-note a{font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.checkout-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.secure-note{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--navy);background:#eef1fa;padding:8px 14px;border-radius:999px}
.help-link{font-weight:700;font-size:15px;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.checkout-header .brand span{display:none}.secure-note{font-size:13px;padding:7px 11px}.help-link{font-size:13px}}
body.is-checkout .sticky-bar{display:none}

.ty-done{margin:0 0 22px;padding:22px 24px;background:#fff;border-radius:16px;border-left:6px solid #1f8a4c;box-shadow:0 14px 34px rgba(20,35,90,.1)}
.ty-done h2{font-size:22px;margin:0}
.ty-done ul{list-style:none;margin:12px 0 0;padding:0}
.ty-done li{position:relative;padding:6px 0 6px 32px;line-height:1.5;font-size:16px}
.ty-done li::before{content:"\2713";position:absolute;left:0;top:5px;width:22px;height:22px;border-radius:50%;background:#1f8a4c;color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center}
.ty-done p{margin:12px 0 0;font-weight:600;color:var(--navy)}

.ty-jump{display:inline-flex;align-items:center;gap:10px;color:var(--navy)}
.ty-jump span{display:inline-block;font-size:20px;line-height:1;animation:tyNudge 1.6s ease-in-out infinite}
#your-certificate{scroll-margin-top:90px}
@keyframes tyNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media (prefers-reduced-motion:reduce){.ty-jump span{animation:none}}

/* Home hero actions */
.hero .catch{margin-top:18px}
.hero-cta{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:14px;margin-top:30px}
.hero-cta .btn{width:100%;min-height:64px;font-size:17px;box-shadow:0 10px 24px rgba(5,12,50,.28)}
.hero-cta .btn-stack small{font-size:11.5px;margin-top:3px;white-space:nowrap}
.hero-chips{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:14px;margin-top:18px}
.hx{display:flex;align-items:center;gap:12px;padding:9px 16px 9px 9px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;text-decoration:none;transition:background .25s,transform .25s,border-color .25s}
.hx:hover,.hx:focus-visible{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.45);transform:translateY(-2px)}
.hx-ic{position:relative;flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.hx-play .hx-ic{background:#fff;color:var(--red)}
.hx-play .hx-ic svg{margin-left:3px}
.hx-play .hx-ic::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:hxPulse 2.2s ease-out infinite}
.hx-gift .hx-ic{background:var(--red);color:#fff}
.hx-gift:hover .hx-ic svg{animation:bow-wiggle .6s ease}
.hx-t{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.hx-t b{font-size:15px;font-weight:700}
.hx-t small{font-size:12.5px;opacity:.75;margin-top:2px}
@keyframes hxPulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.35);opacity:0}}
@media (max-width:860px){
  .hero-cta,.hero-chips{grid-template-columns:1fr;width:100%}
  .hero-cta .btn-stack{padding-left:56px;padding-right:56px}
  .hero-chips{margin-top:14px}
}
@media (prefers-reduced-motion:reduce){.hx-play .hx-ic::after{animation:none;opacity:0}.hx:hover{transform:none}}

.tally-card{margin-top:36px;max-width:574px;padding:16px 20px 18px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.tally-card .tally{margin:0;max-width:none}
.tally-card .tally-row{font-size:14px}
.hc{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0}
.hc .btn{width:100%}
.hc-sub{position:relative;display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:15px;font-weight:600;text-decoration:none;padding-bottom:7px;opacity:.92;transition:opacity .2s}
.hc-sub span{font-size:17px;line-height:1;transition:transform .3s}
.hc-sub::before,.hc-sub::after{content:"";position:absolute;left:0;right:0;bottom:0;border-radius:2px}
.hc-sub::before{height:1.5px;background:rgba(255,255,255,.45)}
.hc-sub::after{height:2.5px;bottom:-.5px;background:linear-gradient(90deg,#d62a1e,#ff5a4e 60%,#ff8a7e);transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.22,.8,.2,1)}
.hc-sub:hover,.hc-sub:focus-visible,.hc-sub.is-lit{opacity:1;color:#fff}
.hc-sub:hover::after,.hc-sub:focus-visible::after,.hc-sub.is-lit::after{transform:scaleX(1);animation:lineFlash .9s ease-out}
.hc-sub:hover span,.hc-sub.is-lit span{transform:translateX(3px)}
@keyframes lineFlash{0%{box-shadow:0 0 0 rgba(255,90,78,0)}45%{box-shadow:0 0 12px 2px rgba(255,90,78,.95);filter:brightness(1.6)}100%{box-shadow:0 0 4px rgba(255,90,78,.35);filter:none}}
@media (prefers-reduced-motion:reduce){.hc-sub::after{transition:none}.hc-sub:hover::after,.hc-sub.is-lit::after{animation:none}}
@media (max-width:860px){.hero-cta{gap:22px}.hc{gap:12px}.tally-card{max-width:none;margin-top:28px}}

/* Mobile menu button: logo rings in blue and red, bars morph to a cross */
.mb-ring{position:absolute;inset:-4px;border-radius:50%;pointer-events:none}
.mb-ring::before,.mb-ring::after{content:"";position:absolute;inset:0;background:url("/assets/img/ring-blue.webp") center/100% 100% no-repeat;animation:ring-spin 18s linear infinite}
.mb-ring::after{inset:3px;background-image:url("/assets/img/ring-red.webp");animation:ring-spin-rev 24s linear infinite}
.mb-bars{position:relative;width:20px;height:14px}
.mb-bars i{position:absolute;left:0;width:100%;height:2.6px;border-radius:3px;background:var(--navy);transition:transform .45s cubic-bezier(.68,-.55,.27,1.55),opacity .25s,background .3s,top .3s .15s}
.mb-bars i:nth-child(1){top:0}.mb-bars i:nth-child(2){top:5.7px;width:70%;left:15%}.mb-bars i:nth-child(3){top:11.4px}
.menu-btn[aria-expanded=true]{background:var(--navy)}
.menu-btn[aria-expanded=true] .mb-bars i{background:#fff;top:5.7px;transition:top .2s,transform .45s .15s cubic-bezier(.68,-.55,.27,1.55),opacity .2s,background .3s}
.menu-btn[aria-expanded=true] .mb-bars i:nth-child(1){transform:rotate(225deg)}
.menu-btn[aria-expanded=true] .mb-bars i:nth-child(2){opacity:0;transform:scaleX(0)}
.menu-btn[aria-expanded=true] .mb-bars i:nth-child(3){transform:rotate(-225deg)}
.menu-btn.is-pop{animation:mbPop .5s cubic-bezier(.3,1.6,.5,1)}
.menu-btn.is-pop .mb-ring::before{animation:ring-spin .7s cubic-bezier(.2,.8,.2,1) 1,ring-spin 18s linear .7s infinite}
.menu-btn.is-pop .mb-ring::after{animation:ring-spin-rev .7s cubic-bezier(.2,.8,.2,1) 1,ring-spin-rev 24s linear .7s infinite}
@keyframes mbPop{0%{transform:scale(1)}35%{transform:scale(.82)}70%{transform:scale(1.1)}100%{transform:scale(1)}}
/* Header slides away when scrolling down on phones, back when scrolling up */
.site-header{transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.site-header.is-hidden{transform:translateY(-100%)}
.site-header.is-scrolled{box-shadow:0 8px 22px rgba(20,35,90,.12)}
@media (prefers-reduced-motion:reduce){.mb-ring::before,.mb-ring::after,.menu-btn.is-pop,.menu-btn.is-pop .mb-ring::before,.menu-btn.is-pop .mb-ring::after{animation:none}.mobile-nav a{transition:none!important}}

/* Hamper tally: flip-counter digits */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.t6-k{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 0 8px rgba(255,255,255,.55),0 0 16px rgba(255,255,255,.25)}
.t6-row{display:flex;align-items:center;gap:14px;margin-top:8px}
.t6-odo{display:flex;gap:3px;min-height:44px}
.t6-d{width:32px;height:44px;border-radius:7px;background:linear-gradient(#fff 49%,#e9ecf7 51%);color:var(--navy);font:800 30px/44px Poppins,sans-serif;text-align:center;overflow:hidden;box-shadow:0 5px 12px rgba(0,0,0,.3)}
.t6-d span{display:block;transition:transform .12s ease-out}
.t6-d.sep{width:10px;background:none;box-shadow:none;color:#fff}
.t6-of{font-size:14px;line-height:1.35;opacity:.9}
.t6-bar{margin-top:14px}.t6-bar .tally-fill{background:#ff5a4e}
@media (prefers-reduced-motion:reduce){.t6-d span{transition:none}}

/* Phone order: Donate, Gift, How gifting works, Watch our video */
@media (max-width:860px){
  .hero-cta{display:flex;flex-direction:column;align-items:center;gap:12px}
  .hero-cta .hc{display:contents}
  .hero-cta .hc .btn{width:100%}
  .hero-cta .hc:first-child .btn{order:1}
  .hero-cta .hc:last-child .btn{order:2}
  .hero-cta .hc:last-child .hc-sub{order:3;margin-top:6px}
  .hero-cta .hc:first-child .hc-sub{order:4}
}

/* Menu button: back to the rounded square, with a turning red and blue border */
@property --mba{syntax:"<angle>";inherits:false;initial-value:0deg}
.mb-ring{inset:-1px;border-radius:14px;padding:2.5px;background:conic-gradient(from var(--mba),#22398c 0deg,#d62a1e 90deg,#22398c 180deg,#d62a1e 270deg,#22398c 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:mbSpin 4s linear infinite}
.mb-ring::before,.mb-ring::after{display:none}
@keyframes mbSpin{to{--mba:360deg}}
.menu-btn.is-pop .mb-ring{animation:mbSpin .6s cubic-bezier(.2,.8,.2,1) 1,mbSpin 4s linear .6s infinite}
.menu-btn[aria-expanded=true] .mb-ring{background:conic-gradient(from var(--mba),#fff 0deg,#ff5a4e 90deg,#fff 180deg,#ff5a4e 270deg,#fff 360deg)}
@media (prefers-reduced-motion:reduce){.mb-ring{animation:none}}

.privacy ul{margin:0;padding-left:22px}.privacy li{margin:6px 0}

.story-img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;margin-top:6px}
.story-cap{display:block;margin-top:8px;font-size:13px;color:#5b6690;font-style:italic}
.story-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}

/* donate: feeding sentence with rolling numbers + shimmer button */
.feeds2{margin:18px 0 0;text-align:center;font-size:clamp(18px,3.6vw,22px);font-weight:600;line-height:1.45;color:var(--navy)}
.feeds2 b{color:var(--red);font-weight:800}
.froll{display:inline-flex;vertical-align:bottom;height:1.4em;line-height:1.4em;overflow:hidden;font-variant-numeric:tabular-nums}
.froll i{display:block;font-style:normal;transition:transform .55s cubic-bezier(.2,.9,.3,1.15)}
.froll i span{display:block;height:1.4em;text-align:center}
.fsw{position:relative;white-space:nowrap}
.fsw::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px;background:linear-gradient(90deg,#d62a1e,#ff8a80);transform:scaleX(0);transform-origin:left}
.fsw.go::after{animation:fsweep .7s ease-out forwards}
@keyframes fsweep{to{transform:scaleX(1)}}
.btn-shim{position:relative;overflow:hidden;isolation:isolate}
.btn-shim::before{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);animation:bshim 2.6s ease-in-out infinite;pointer-events:none}
@keyframes bshim{0%,40%{left:-60%}100%{left:130%}}
@media (prefers-reduced-motion:reduce){.btn-shim::before{animation:none;display:none}.froll i{transition:none}.fsw.go::after{animation:none;transform:scaleX(1)}}
