/* Wheeling2Help / V5.2 — A consistent editorial flow across desktop & mobile. */
:root{
  --flow-white:#ffffff;
  --flow-wash:#f2f7fa;
  --flow-ink:#133a56;
  --flow-blue:#2478a8;
  --flow-night:#0b2941;
  --flow-space:clamp(82px,8.1vw,122px);
  --flow-ease:cubic-bezier(.22,1,.36,1);
}
/* Keep spacing, section labels and headline rhythm consistent across pages. */
.home-page main > .section{padding-block:var(--flow-space)}
.home-page main > .section.section-soft{background:var(--flow-wash)}
.home-page #about-section{background:var(--flow-white)}
.home-page #epomena{background:var(--flow-wash);border-top:1px solid rgba(24,81,119,.055)}
.home-page #draseis{background:var(--flow-wash);border-top:1px solid rgba(30,92,132,.10)}
.home-page #our-world{background:linear-gradient(135deg,#0f344f 0%,#0b2941 76%);padding-block:var(--flow-space)}
.home-page .statement{background:linear-gradient(120deg,#0b2941,#0c3553);border-top:1px solid rgba(173,216,239,.13);padding-block:clamp(74px,6vw,103px)}
.home-page main > .section:has(.feature-grid){background:#fff}
.home-page main > .section.section-soft:has(.feature-grid){background:var(--flow-wash)}
.home-page .film-section{background:#0b2941}
.home-page .closing-section{background:linear-gradient(to bottom,#0b2941 0%,#0b2941 32%,#fff 32%,#fff 100%);padding-block:clamp(58px,6vw,95px) var(--flow-space)!important}
.home-page .closing-section .cta-panel{box-shadow:0 34px 100px rgba(7,43,71,.14);border:1px solid rgba(33,91,130,.10)}
.home-page .editorial-intro{background:#fff;border-bottom:0}
.home-page .hero-bottom{background:#fff;border-bottom:1px solid #e8f0f4}
.home-page .editorial-intro-inner{border-bottom:1px solid #e6eef3}
.home-page #about-section{padding-top:clamp(68px,7vw,104px)}
.home-page #epomena::before{display:none}
.home-page .section-head,.home-page .opportunities-heading{margin-bottom:clamp(30px,4vw,49px)}
.home-page .section-head h2,.home-page .opportunities-heading h2,
.home-page .about-copy h2,.home-page .feature-copy h2{line-height:1.18;letter-spacing:-.045em;text-wrap:balance}
.home-page .section-head p{max-width:430px;font-size:14px;line-height:1.85}
.home-page .eyebrow,.home-page .editorial-index{font-size:10px;letter-spacing:.155em;font-weight:800}
.home-page .eyebrow:before{width:18px;margin-right:10px}
.home-page .hero-strip{padding-block:23px}
.home-page .hero-strip-item{gap:16px}
.home-page .strip-icon{background:#f1f7fb;border-color:#e0edf4;color:#377fa9}
.home-page .program-grid,.home-page .stories-grid{gap:22px}
.home-page .program-card{border:1px solid #e0eaf0;border-radius:16px;box-shadow:0 10px 35px rgba(15,54,82,.035)}
.home-page .program-card-image{overflow:hidden}
.home-page .story-img{border-radius:15px;overflow:hidden}
.home-page .about-photo>img{border-radius:18px;max-width:100%}
.home-page .about-floater{transform:none;right:4px;border-radius:13px}
.home-page .about-photo:hover .about-floater{transform:translateY(-5px)}
.home-page .feature-float{border-radius:9px;box-shadow:0 12px 30px rgba(12,49,75,.09)}
.home-page .world-head{margin-bottom:clamp(31px,4vw,51px)}
.home-page .world-section+.statement{margin-top:0}
.home-page .film-copy{max-width:100%;}
/* Interior pages share the same background, padding scale and typographic markers. */
body:not(.home-page):not(.privacy-page){background:#fff}
body:not(.home-page) .page-hero{background:linear-gradient(150deg,#eef6fa,#e7f2f7);}
body:not(.home-page) .page-intro{background:#fff}
body:not(.home-page) main > .section{padding-block:var(--flow-space)}
body:not(.home-page) main > .section.section-soft{background:var(--flow-wash)}
body:not(.home-page) .page-intro + .section{border-top:1px solid #edf1f4}
body:not(.home-page) .section-head h2{max-width:820px}
/* Real, accessible arrow — no icon font or emoji. */
.back-to-top{
  position:fixed;
  right:clamp(20px,3.5vw,45px);
  bottom:calc(24px + env(safe-area-inset-bottom,0px));
  z-index:110;
  width:53px;height:53px;
  display:grid;place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:#143f5e;
  color:#fff;
  box-shadow:0 12px 32px rgba(4,38,62,.20);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(15px) scale(.95);
  transition:opacity .35s ease,visibility .35s ease,transform .48s var(--flow-ease),background .25s ease;
}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.back-to-top svg{display:block;transition:transform .35s var(--flow-ease)}
.back-to-top:hover{background:#297ca8;transform:translateY(-3px)}
.back-to-top:hover svg{transform:translateY(-2px)}
.back-to-top:focus-visible{outline:3px solid #8fd4ef;outline-offset:4px}
/* Menu icon: replace font-rendered hamburger/close glyph with precise CSS strokes. */
.menu-toggle{align-items:center;justify-content:center}
.menu-lines{width:20px;height:16px;position:relative;display:block;flex:0 0 20px}
.menu-lines>span{position:absolute;width:20px;height:1.7px;background:currentColor;left:0;top:4px;border-radius:2px;transition:top .3s,transform .3s,opacity .2s}
.menu-lines>span+span{top:11px}
.menu-toggle[aria-expanded="true"] .menu-lines>span:first-child{top:8px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-lines>span+span{top:8px;transform:rotate(-45deg)}
/* The tiny digital ornaments are intentionally not part of the mobile design. */
@media(max-width:700px){
 :root{--flow-space:clamp(64px,10vw,83px)}
 .container{width:calc(100% - 40px)}
 .home-page main > .section{padding-block:var(--flow-space)}
 .home-page .hero-bottom{background:#fff}
 .home-page .hero-strip{padding:11px 0}
 .home-page .hero-strip-item{padding:11px 0;gap:0}
 .home-page .hero-strip-item b{font-size:12px;line-height:1.45}
 .home-page .hero-strip-item small{line-height:1.5;font-size:10px}
 .home-page .hero-strip-item:not(:first-child){border-color:#e7eff3}
 .home-page .strip-icon,
 .home-page .hero-floating,
 .home-page .hero-floating-icon,
 .home-page .eyebrow-sun,
 .home-page .opportunities-empty-mark,
 .home-page .hero-side-text,
 .home-page .hero-edition,
 .home-page .hero-image-credit,
 .home-page .hero-frame-line,
 .home-page .feature-float,
 .home-page .about-floater{display:none!important}
 .home-page .hero-kicker{font-size:9px;letter-spacing:.075em;line-height:1.5;max-width:100%;white-space:normal}
 .home-page .hero-buttons{flex-wrap:wrap}
 .home-page .hero-scroll{bottom:21px}
 .home-page .editorial-intro-inner{padding:33px 0;gap:15px}
 .home-page .editorial-intro p{font-size:clamp(21px,5.5vw,25px);line-height:1.5;letter-spacing:-.035em}
 .home-page #about-section{padding-top:var(--flow-space)}
 .home-page .about-photo{height:330px}
 .home-page .about-photo>img{width:100%;height:100%;object-fit:cover;border-radius:14px}
 .home-page .about-grid,.home-page .feature-grid{gap:29px}
 .home-page .section-head,.home-page .opportunities-heading{margin-bottom:27px}
 .home-page .section-head h2,.home-page .about-copy h2,.home-page .feature-copy h2{letter-spacing:-.043em}
 .home-page .section-head p{margin-top:14px}
 .home-page .opportunities-empty{padding:23px}
 .home-page .program-grid,.home-page .stories-grid{gap:16px}
 .home-page .program-card,.home-page .opportunity-card{box-shadow:0 7px 28px rgba(6,39,68,.045)}
 .home-page .program-card:active{transform:none}
 .home-page .film-photo-left{height:195px}
 .home-page .film-copy{padding:63px 24px 70px}
 .home-page .closing-section{padding-top:40px!important;padding-bottom:70px!important;background:linear-gradient(to bottom,#0b2941 0%,#0b2941 15%,#fff 15%,#fff 100%)}
 .home-page .closing-section .cta-panel{border-radius:17px}
 .home-page .cta-text{padding:32px 25px}
 .home-page .cta-text h2{font-size:clamp(31px,8vw,39px)}
 .home-page .world-head{gap:14px}
 .home-page .world-section{padding-block:var(--flow-space)}
 .home-page .statement{padding-block:65px}
 .home-page .film-copy h2{font-size:clamp(34px,8vw,43px)}
 .mobile-nav a>span[aria-hidden="true"]{display:none!important}
 /* Hide decorative Unicode symbols, not meaningful headings or links. */
 .step-num.is-symbol,.country-icon,.way-icon{display:none!important}
 .step,.support-way{padding-top:24px}
 .footer-bottom > span:last-child{display:none}
 .back-to-top{width:47px;height:47px;right:19px;bottom:calc(19px + env(safe-area-inset-bottom,0px));box-shadow:0 9px 25px rgba(4,38,62,.19)}
 .back-to-top svg{width:20px;height:20px}
 .hero-cinematic .btn[data-tilt],.program-card[data-tilt]{transform:none!important}
}
@media(max-width:390px){.home-page .hero-buttons .btn{padding-inline:14px}.home-page .hero-kicker{font-size:8px}}
@media(prefers-reduced-motion:reduce){.back-to-top,.back-to-top svg,.menu-lines>span{transition:none!important}}

/* V5.3 — prevent accidental double-tap zoom on touch screens, while
   preserving normal scrolling and two-finger pinch zoom (accessibility).
   Do not use user-scalable=no or JS preventDefault() on touch events. */
@media (pointer: coarse) {
  html, body, a, button, input, select, textarea, label, [role="button"] {
    touch-action: manipulation;
  }
}
