:root{--sun-gold:#efbd48;--living-green:#0e4d3d;--deep-green:#062c24}
.world-times{background:linear-gradient(105deg,#052b23,#0d513f 55%,#123d34);color:#fff;overflow:hidden;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.14)}
.world-times-inner{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:28px;padding:17px 0}.world-times-title{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#f5d680;white-space:nowrap}.clock-track{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:10px}.world-clock{border-left:1px solid rgba(255,255,255,.22);padding-left:14px}.world-clock strong{display:block;font-size:1rem;letter-spacing:.03em}.world-clock span{font-size:.67rem;color:#c9dcd5;text-transform:uppercase;letter-spacing:.1em}.world-clock:first-child strong{color:#f5d680}
.hope-stories{position:relative;overflow:hidden;background:linear-gradient(135deg,#fffaf0,#e9f4ec)}.hope-stories::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-160px;top:-180px;background:radial-gradient(circle,rgba(239,189,72,.32),transparent 68%);animation:softGlow 5s ease-in-out infinite}.hope-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.hope-card{min-height:540px;position:relative;overflow:hidden;border-radius:26px;background:var(--deep-green);box-shadow:0 22px 60px rgba(6,44,36,.16)}.hope-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.hope-card:hover>img{transform:scale(1.045)}.hope-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,34,28,.97) 0%,rgba(5,34,28,.56) 42%,rgba(5,34,28,.03) 78%)}.hope-card-copy{position:absolute;z-index:2;inset:auto 0 0;padding:34px;color:#fff}.hope-card-copy span{color:#f5d680;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em}.hope-card-copy h3{font:400 clamp(2rem,4vw,3.1rem)/1 'DM Serif Display',serif;margin:.5rem 0}.hope-card-copy p{color:#eef5f2;line-height:1.6;margin:0}.hope-card.widows>img{object-position:center 35%}.hope-card.children>img{object-position:center 45%}
.story-carousel::before{content:"✦";position:absolute;z-index:3;right:6vw;top:12%;font-size:clamp(28px,4vw,58px);color:#f6cf73;text-shadow:0 0 22px rgba(255,220,131,.8);animation:glimmer 3s ease-in-out infinite;pointer-events:none}.programme-story,.gallery figure,.field-story,.project-grid figure{transition:transform .35s ease,box-shadow .35s ease}.programme-story:hover,.gallery figure:hover,.field-story:hover,.project-grid figure:hover{transform:translateY(-5px);box-shadow:0 22px 60px rgba(6,44,36,.18)}
.programme-archive .photo-mosaic{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.programme-archive .photo-mosaic figure{margin:0;display:grid;grid-template-rows:290px auto;height:100%}.programme-archive .photo-mosaic img{height:290px;object-fit:cover}.programme-archive .photo-mosaic figcaption{background:#fff;min-height:70px}.programme-archive .photo-mosaic figure:hover img{transform:scale(1.035)}
@keyframes glimmer{0%,100%{opacity:.45;transform:scale(.85) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}@keyframes softGlow{50%{transform:scale(1.12);opacity:.7}}
@media(max-width:960px){.world-times-inner{grid-template-columns:1fr}.clock-track{grid-template-columns:repeat(3,1fr)}.programme-archive .photo-mosaic{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.world-times-inner{width:100%;padding:15px 14px}.world-times-title{padding-left:2px}.clock-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.world-clock{min-width:122px;scroll-snap-align:start}.hope-grid,.programme-archive .photo-mosaic{grid-template-columns:1fr}.hope-card{min-height:500px}.programme-archive .photo-mosaic figure{grid-template-rows:340px auto}.programme-archive .photo-mosaic img{height:340px}}@media(prefers-reduced-motion:reduce){.story-carousel::before,.hope-stories::before{animation:none}.hope-card>img{transition:none}}
