/* Approved Gentle motion and Colour Sweep controls. */
html body .button:not(:disabled),html body .nav-download,html body main .sdg-pillar-links a{position:relative;isolation:isolate;overflow:hidden;background:#fff!important;border:2px solid #F26B23!important;color:#202b25!important;transition:color .3s,transform .25s,box-shadow .3s!important}
html body .button:not(:disabled)::before,html body .nav-download::before,html body main .sdg-pillar-links a::before{content:'';position:absolute;inset:0;width:auto;height:auto;border-radius:inherit;background:#D82428!important;opacity:1;z-index:-1;pointer-events:none;transform:translateX(-105%);transition:transform .4s ease}
html body .button:not(:disabled):is(:hover,:focus-visible),html body .hero .button[href="#our-impact"]:is(:hover,:focus-visible),html body .nav-download:is(:hover,:focus-visible),html body main .sdg-pillar-links a:is(:hover,:focus-visible){background:#fff!important;color:#fff!important;transform:translateY(-2px);text-decoration:none}
html body .button:not(:disabled):is(:hover,:focus-visible)::before,html body .nav-download:is(:hover,:focus-visible)::before,html body main .sdg-pillar-links a:is(:hover,:focus-visible)::before{transform:translateX(0)}
html body .button:not(:disabled):active,html body .nav-download:active{transform:scale(.97)}
html body main .pillar-card{transition:transform .3s,box-shadow .3s,border-color .3s,background .3s}
html body main .pillar-card:is(:hover,:focus-visible){transform:translateY(-6px);border-color:var(--pillar-base,#F26B23);background:color-mix(in srgb,var(--pillar-base,#F26B23) 7%,white);box-shadow:0 12px 26px #202b2512}
.card-arrow{transition:transform .3s}.pillar-card:is(:hover,:focus-visible) .card-arrow{transform:translate(3px,-3px)}
.finance-doughnut path[data-index]{transform-box:view-box;transform-origin:center;transition:transform .35s,opacity .3s}
.finance-doughnut path[data-index].is-highlighted{transform:scale(1.025)}
.finance-doughnut .legend-item{transition:background .3s,box-shadow .3s,transform .3s}.finance-doughnut .legend-item.is-active{transform:translateX(4px)}
.sdg-community-graphic{translate:0 var(--gentle-parallax,0px)}
.stat strong{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){html body .button,html body .button::before,html body .nav-download,html body .nav-download::before,html body .pillar-card,.card-arrow,.finance-doughnut path[data-index],.finance-doughnut .legend-item{transition:none!important;transform:none!important}.sdg-community-graphic{translate:none!important}}
body.motion-paused .sdg-community-graphic{translate:none!important}
@media print{.sdg-community-graphic{translate:none!important}}

/* Keep sweep labels readable above older secondary-button colour rules. */
html body main .button:not(:disabled):is(:hover,:focus-visible),
html body .site-header .nav-download:is(:hover,:focus-visible){color:#fff!important}
html body main .button:not(:disabled):is(:hover,:focus-visible) *,
html body .site-header .nav-download:is(:hover,:focus-visible) *{color:inherit!important}

/* Download Report: approved Arrow Nudge treatment. */
html body main .button.button-primary,
html body .site-header .nav-download,
html body main .button.button-primary:is(:hover,:focus-visible),
html body .site-header .nav-download:is(:hover,:focus-visible){
 background:linear-gradient(110deg,#D82428 65%,#F26B23)!important;
 color:#fff!important;border-color:transparent!important;
}
html body main .button.button-primary::before,
html body .site-header .nav-download::before{content:none!important}
html body main .button.button-primary span,
html body .site-header .nav-download span{color:inherit!important;display:inline-block;transition:transform .3s ease}
html body main .button.button-primary:not(:disabled):is(:hover,:focus-visible),
html body .site-header .nav-download:is(:hover,:focus-visible){transform:translateY(-3px)}
html body main .button.button-primary:not(:disabled):is(:hover,:focus-visible) span,
html body .site-header .nav-download:is(:hover,:focus-visible) span{transform:translate(3px,-3px)}
html body main .button.button-primary:disabled{cursor:not-allowed;transform:none!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){html body main .button.button-primary,html body .site-header .nav-download,html body main .button.button-primary span,html body .site-header .nav-download span{transition:none!important;transform:none!important}}

/* Keep card entrances independent of the hover transition overrides. */
html body[data-page=index] main #our-impact .pillar-card.entrance-ready{
 transition:opacity .65s ease,translate .65s cubic-bezier(.2,.7,.2,1),transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease;
 transition-delay:var(--entrance-delay,0ms),var(--entrance-delay,0ms),0ms,0ms,0ms,0ms;
}
@media(prefers-reduced-motion:reduce){html body[data-page=index] main #our-impact .pillar-card.entrance-ready{transition:none!important}}
body.motion-paused #our-impact .pillar-card.entrance-ready{transition:none!important}

/* Sweep text must also apply to sections outside main. */
html body .button:not(.button-primary):not(:disabled):is(:hover,:focus-visible),
html body .button[href="special-feature.html"]:is(:hover,:focus-visible){color:#fff!important}
html body .button:not(.button-primary):not(:disabled):is(:hover,:focus-visible) span{color:#fff!important}

/* Vector arrows avoid platform emoji substitution while inheriting control colour. */
.arrow-icon{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.125em;flex-shrink:0;pointer-events:none}

/* Explicit menu colour and vector controls prevent Safari native blue/emoji styling. */
html body .site-header .menu-toggle{-webkit-appearance:none;appearance:none;color:var(--ink,#252525);-webkit-text-fill-color:currentColor;text-decoration:none}
html body .site-header #site-nav{color:var(--ink,#252525)}
html body .site-header #site-nav a:not(.nav-download),html body .site-header #site-nav summary{color:inherit}
.menu-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;pointer-events:none}
.play-icon{display:block;width:12px;height:12px;pointer-events:none}
.pending-play .play-icon{width:24px;height:24px}
