/* ===== thinkSMALL home: section-by-section scroll (palette and shared pieces in styles.css) ===== */
/* tighter section rhythm on the home scroll (overrides styles.css 84px) */
section.pad{padding:64px 0;}
/* grid items default to min-width:auto, so a wide image can force the whole
   page wider than the screen. Clamp every grid child so nothing overflows. */
.why-grid>*,.why3>*,.sq-pair>*,.mgrid>*,.join3>*,.tiers>*,
.regions3>*,.stats4-inner>*,.foot-top-in>*{min-width:0;}
/* small gold ornament used as a section break */
.secdiv{display:flex;align-items:center;justify-content:center;gap:18px;padding:8px 0 22px;}
.secdiv::before,.secdiv::after{content:'';height:1px;background:var(--gold);flex:0 0 120px;opacity:.75;}
.secdiv i{color:var(--gold);font-size:17px;}

/* --- 1. hero: six photos, 5s each, 1s crossfade --- */
/* the photos are 1.16:1 with faces near the top and a caption at the bottom, so the box (54% wide) keeps that shape and nothing is cropped */
.hero2{background:var(--paper);position:relative;overflow:hidden;display:flex;align-items:center;min-height:min(46.5vw,1000px);}
.hero2-photo{position:absolute;top:0;right:0;width:54%;height:100%;z-index:1;}
.hero2-photo .hp{position:absolute;inset:0;background-position:right bottom;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 1s ease;z-index:1;}
.hero2-photo .hp.on{opacity:1;}
.hp1{background-image:url('hero-1.jpg');}
.hp2{background-image:url('hero-2.jpg');}
.hp3{background-image:url('hero-3.jpg');}
.hp4{background-image:url('hero-4.jpg');}
.hp5{background-image:url('hero-5.jpg');}
.hp6{background-image:url('hero-6.jpg');}
.hero2-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(253,251,246,0) 12%);z-index:2;}
/* the photos carry their region caption in the lower right, so the dots sit at the bottom centre */
.hdots{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;display:flex;gap:8px;z-index:3;}
.hdot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:background .3s,transform .3s;}
.hdot.on{background:#fff;transform:scale(1.2);}
.hero2 .wrap{position:relative;z-index:2;width:100%;}
/* the text stops 32px before the photo, which starts at 46% of the width; the max() term is the centred wrap's left margin */
.hero2-copy{max-width:min(570px,calc(46vw - 60px - max(0px,(100vw - var(--wrap)) / 2)));padding:58px 0 52px;}
.hero2 .script{font-size:clamp(32px,3.6vw,48px);}
.hero2 .orn{margin:14px 0 20px;}
.hero-lead{font-family:'Lora';color:var(--navy);font-size:clamp(17px,1.6vw,19.5px);line-height:1.55;margin:0 0 20px;}
.hero-points{list-style:none;padding:0;margin:0;}
.hero-points li{position:relative;padding-left:26px;font-family:'Lora';color:var(--navy);font-size:clamp(17px,1.6vw,20px);line-height:1.45;margin:0 0 14px;}
.hero-points li::before{content:'';position:absolute;left:2px;top:.5em;width:10px;height:10px;border-radius:50%;}
.hero-points .pt-red::before{background:var(--red);}
.hero-points .pt-navy::before{background:var(--navy);}
.hero2 .cta-row{margin-top:26px;display:flex;justify-content:center;}

/* stats 4-up */
.stats4{background:var(--cream);border-top:1px solid var(--stat-line);}
.stats4-inner{display:grid;grid-template-columns:repeat(4,1fr);}
.st3{display:flex;align-items:center;gap:16px;justify-content:center;padding:32px 14px;position:relative;}
.st3 + .st3::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:80px;background:var(--stat-line);}
.st3 .ic{width:60px;height:60px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;flex:none;}
.st3 .num{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.3vw,30px);color:var(--navy);line-height:1;}
.st3 .l1{font-family:'Montserrat';font-weight:700;font-size:12px;letter-spacing:.07em;color:var(--red);text-transform:uppercase;margin-top:6px;}
.st3 .l2{font-family:'Montserrat';font-weight:600;font-size:11px;letter-spacing:.07em;color:var(--navy);text-transform:uppercase;margin-top:3px;}

/* --- 2. why children --- */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.why-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;box-shadow:0 18px 40px rgba(42,38,32,.16);}
.why .kicker{letter-spacing:.24em;}
.why .script{margin-top:8px;}
.why-verse{font-family:'Lora';font-style:italic;font-weight:600;color:var(--navy);font-size:20px;margin:0;}
.why-ref{font-family:'Lora';font-style:italic;color:var(--navy);font-size:16px;margin:2px 0 16px;}
.why-grid p:not([class]){font-family:'Lora';color:var(--navy);font-size:16.5px;line-height:1.6;margin:0 0 14px;}
.why-turn{font-family:var(--font-display);font-style:italic;font-weight:700;color:var(--navy);font-size:clamp(20px,2.2vw,26px);margin:6px 0 20px;}
.why-divider{display:flex;align-items:center;gap:20px;margin:48px 0 30px;}
.why-divider::before,.why-divider::after{content:'';flex:1;height:1.5px;background:var(--gold);}
.why-divider span{font-family:'Montserrat';font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-size:15px;}
.why3{display:grid;grid-template-columns:repeat(3,1fr);}
.why-item{display:flex;gap:16px;padding:0 24px;}
.why-item:first-child{padding-left:0;}
.why-item + .why-item{border-left:1.5px solid var(--gold);}
.why-item .wi{width:58px;height:58px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;flex:none;}
.why-item h3{font-family:'Montserrat';font-weight:700;color:var(--navy);font-size:20px;margin:6px 0 8px;}
.why-item p{font-family:'Lora';color:var(--navy);font-size:15px;line-height:1.55;margin:0;}
.wref{font-family:'Montserrat';font-weight:700;color:var(--gold-deep);letter-spacing:.06em;text-transform:uppercase;font-size:14px;margin-top:10px;}
.why-gen{font-family:'Lora';font-style:italic;color:var(--navy);font-size:clamp(17px,1.9vw,21px);text-align:center;max-width:860px;margin:44px auto 4px;border-top:1.5px solid var(--gold);padding-top:26px;}
.why-gen-ref{font-family:'Montserrat';font-weight:700;color:var(--gold-deep);letter-spacing:.06em;text-transform:uppercase;font-size:14px;text-align:center;margin:0;}
.why-glory{font-family:var(--font-display);font-style:italic;font-weight:600;color:var(--red);font-size:clamp(24px,2.8vw,34px);text-align:center;margin:26px 0 0;}

/* --- 3. process: see .p5 in styles.css --- */

/* --- 4. testimonials --- */
.says .qm{font-family:var(--font-display);color:var(--gold);line-height:.8;flex:none;}
.sq-main{display:flex;gap:22px;justify-content:center;max-width:900px;margin:10px auto 0;text-align:center;}
.sq-main .qm{font-size:110px;}
.sq-main p{font-family:var(--font-display);color:var(--navy);font-weight:600;font-size:clamp(26px,3.4vw,44px);line-height:1.2;margin:0;}
.sq-main cite{display:block;font-style:normal;font-family:var(--font-display);color:var(--navy);font-weight:700;font-size:clamp(20px,2.2vw,28px);}
.sq-main cite small{font-family:'Lora';font-weight:400;font-size:.62em;}
.sq-pair{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;}
.sq{display:flex;gap:16px;padding:0 30px;}
.sq:first-child{padding-left:0;}
.sq + .sq{border-left:1.5px solid var(--gold);}
.sq .qm{font-size:70px;}
.sq p{font-family:var(--font-display);color:var(--navy);font-size:clamp(17px,1.8vw,21px);line-height:1.4;margin:0;}
.sq cite{display:block;font-style:normal;text-align:center;font-family:var(--font-display);color:var(--navy);font-weight:700;font-size:16px;}
.sq cite small{font-family:'Lora';font-weight:400;font-size:14px;}
.says .tq .orn{margin:14px 0;}
.says .tq .orn::before,.says .tq .orn::after{flex:0 0 80px;}

/* --- 5. book: see .bookx in styles.css --- */
#book .profits{display:inline-block;margin-top:16px;}

/* --- 6. global gift / map --- */
.gift h2{text-align:center;font-family:var(--font-display);color:var(--navy);font-size:clamp(25px,3.3vw,41px);font-weight:700;margin:0;}
.pct-banner{background:var(--red-deep);color:#fff;border-radius:8px;padding:16px 24px;font-family:var(--font-display);font-size:clamp(17px,2vw,23px);font-weight:600;text-align:center;margin:26px 0 20px;}
.gift .support{text-align:center;color:var(--navy);font-size:15.5px;font-family:'Inter';margin-bottom:22px;line-height:1.6;}
.mapbox{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper);}
.mapbox img{width:100%;display:block;}
.regions3{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px;}
.reg{border:1px solid var(--gold);border-radius:12px;padding:20px 16px;text-align:center;background:rgba(255,255,255,.45);}
.reg .ri{color:var(--gold);font-size:23px;margin-bottom:8px;}
.reg h4{font-family:var(--font-display);color:var(--navy);font-size:17px;font-weight:700;letter-spacing:.04em;margin:0 0 10px;}
.reg p{font-size:13.5px;color:var(--navy);line-height:1.6;margin:0;font-family:'Inter';}
.gift .closer{text-align:center;font-family:var(--font-display);color:var(--navy);font-weight:700;font-size:clamp(19px,2.3vw,27px);margin:26px 0 18px;}

/* --- 7. monthly --- */
.monthly h2{text-align:center;font-family:var(--font-display);font-size:clamp(27px,3.7vw,45px);font-weight:700;line-height:1.15;color:var(--navy);margin:0;}
.monthly h2 em{font-style:normal;color:var(--red);display:block;}
.monthly .tag{text-align:center;color:var(--red);font-family:var(--font-display);font-weight:700;font-size:clamp(17px,2vw,23px);}
.monthly .verse{text-align:center;color:var(--navy);font-size:15px;font-family:'Inter';margin:12px 0 30px;line-height:1.6;}
.mgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px;align-items:start;}
.panel-soft{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px 24px;}
.panel-soft h3{font-family:'Montserrat';font-weight:700;color:var(--red);font-size:15.5px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 16px;text-align:center;}
.doitem{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line);}
.doitem:last-child{border-bottom:0;}
.doitem .di{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;}
.doitem p{margin:0;color:var(--navy);font-size:14px;line-height:1.55;font-family:'Inter';}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.tier{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px 10px;text-align:center;transition:transform .15s,box-shadow .15s;}
.tier:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(42,38,32,.12);}
.tier .amt{font-family:var(--font-display);font-weight:700;font-size:clamp(23px,2.5vw,31px);color:var(--red);line-height:1;}
.tier .per{font-family:'Montserrat';font-weight:700;font-size:10.5px;letter-spacing:.08em;color:var(--navy);margin-top:4px;}
.tier .divd{height:1px;background:var(--red);margin:12px 8px;}
.tier .kids{color:var(--navy);font-size:24px;margin-bottom:8px;}
.tier .cnt2{font-family:'Montserrat';font-weight:700;font-size:13.5px;color:var(--red);}
.tier .cnt3{font-family:'Montserrat';font-weight:600;font-size:10px;letter-spacing:.06em;color:var(--navy);margin-top:2px;}

/* --- 8. join: photos fade in from both top corners --- */
.join-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:34px;}
.join-ph{width:100%;max-width:300px;aspect-ratio:4/3;object-fit:cover;border-radius:14px;}
.join-ph-l{justify-self:start;}
.join-ph-r{justify-self:end;}
.join-title{text-align:center;}
.join .tag{font-family:var(--font-display);color:var(--navy);font-weight:700;font-size:clamp(17px,2.1vw,24px);margin:0;}
.join .tag em{font-style:normal;color:var(--red);}
.join3{display:grid;grid-template-columns:repeat(3,1fr);}
.jcard{text-align:center;display:flex;flex-direction:column;align-items:center;padding:6px 30px;}
.jcard + .jcard{border-left:1.5px solid var(--gold);}
.jcard .ji{color:var(--gold);font-size:46px;margin-bottom:12px;}
.jcard h3{font-family:var(--font-display);color:var(--navy);font-size:26px;font-weight:700;margin:0 0 10px;}
.jcard p{color:var(--navy);font-size:16px;line-height:1.55;margin:0 0 18px;font-family:'Lora';flex:1;}
.jcard .btn{justify-content:center;width:100%;max-width:300px;font-size:15px;}
.jcard .jcard-2nd{margin-top:12px;}

/* footer band */
.foot-top{background:var(--navy);padding:26px 0;}
.foot-top-in{display:grid;grid-template-columns:1fr auto 1fr;gap:26px;align-items:center;}
.foot-follow{color:#fff;font-family:var(--font-display);font-size:17px;display:flex;align-items:center;gap:14px;}
.foot-follow a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;}
.foot-follow a:hover{background:var(--gold);color:var(--navy);}
.foot-mark{background:var(--cream);border-radius:10px;padding:12px 20px;text-align:center;}
.foot-mark img{height:44px;margin:0 auto;display:block;}
.foot-mark .gm{font-family:'Montserrat';font-weight:600;letter-spacing:.3em;font-size:10px;color:var(--navy);margin-top:5px;padding-left:.3em;}
.foot-donate{display:flex;justify-content:flex-end;}
.foot-legal{background:var(--navy);color:#B9C4DA;text-align:center;font-size:13px;padding:4px 0 26px;line-height:1.9;font-family:'Inter';}
.foot-legal a{color:#B9C4DA;}

@media(max-width:980px){
  section.pad{padding:48px 0;}
  .why-grid,.mgrid,.foot-top-in{grid-template-columns:1fr;}
  .why-grid{gap:30px;}
  .stats4-inner{grid-template-columns:1fr 1fr;}
  .st3{justify-content:flex-start;padding:20px 12px;}
  .st3 + .st3::before{display:none;}
  .why3,.join3{grid-template-columns:1fr;gap:26px;}
  .why-item{padding:0;}
  .why-item + .why-item,.jcard + .jcard{border-left:0;border-top:1.5px solid var(--gold);padding-top:26px;}
  .tiers,.regions3{grid-template-columns:repeat(2,1fr);}
  .sq-pair{grid-template-columns:1fr;gap:30px;}
  .sq{padding:0;}
  .sq + .sq{border-left:0;border-top:1.5px solid var(--gold);padding-top:30px;}
  .hero2{display:block;min-height:0;}
  .hero2-photo{position:relative;width:100%;height:auto;aspect-ratio:1200/1033;}
  .hero2-photo::before{display:none;}
  .hero2-copy{max-width:none;padding:36px 0 30px;}
  .foot-top-in{justify-items:center;}
  .foot-donate{justify-content:center;}
  .secdiv::before,.secdiv::after{flex:0 0 70px;}
  .join-head{grid-template-columns:1fr 1fr;}
  .join-title{grid-column:1 / -1;grid-row:1;}
}
/* phones: everything goes full-width single column (no skinny cards) */
@media(max-width:640px){
  section.pad{padding:38px 0;}
  .stats4-inner{grid-template-columns:1fr;max-width:300px;margin:0 auto;}
  .st3{padding:14px 0;}
  .st3 + .st3{border-top:1px solid var(--stat-line);}
  .st3 > div:last-child{min-width:0;flex:1;}
  .st3 .ic{width:52px;height:52px;font-size:21px;}
  .tiers,.regions3{grid-template-columns:1fr;}
  .tier{padding:18px 16px;}
  .panel-soft{padding:22px 18px;}
  .sq-main{gap:10px;}
  .sq-main .qm{font-size:70px;}
  .sq .qm{font-size:52px;}
  .jcard{padding:0;}
  .join-ph{max-width:none;}
}
