/* One campaign palette, with coral reserved for taking the challenge. */
[data-join-action],#complete-challenge{background:var(--challenge,#ff5fa8)!important;color:#0b1f5c!important;min-height:48px;border:2px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .18s ease,transform .18s ease;box-shadow:none!important}
[data-join-action]:hover:not(:disabled),#complete-challenge:hover:not(:disabled){background:#ff3d93!important;transform:translateY(-1px)}
[data-join-action]:active:not(:disabled),#complete-challenge:active:not(:disabled){background:#f0247f!important;transform:translateY(1px)}
[data-join-action]:focus-visible,#complete-challenge:focus-visible{outline:3px solid var(--paper);outline-offset:3px;box-shadow:0 0 0 6px var(--ink)!important}
[data-join-action]:disabled,#complete-challenge:disabled{background:#d9c9bd!important;color:#4a3f38!important;opacity:1;cursor:not-allowed;transform:none}
.splash-header{align-items:flex-start}.splash-timer-tools{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
#close-splash{display:flex;align-items:center;gap:10px;width:auto;height:auto;min-height:44px;padding:8px 15px;font:600 14px var(--body-font);border-radius:999px}
kbd{font:11px var(--body-font);padding:2px 5px;border:1px solid currentColor;border-radius:4px;opacity:.8}
@media(hover:none) and (pointer:coarse){kbd{display:none}}
.splash-dots{display:flex;gap:5px}.splash-dots i{width:12px;height:8px;border-radius:2px;border:1px solid currentColor;opacity:.5}.splash-dots i.filled{background:currentColor;opacity:1}
#splash-stay{border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px;font:13px var(--body-font);padding:5px;min-height:32px}
.splash-tiles{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:740px;margin:22px auto;text-align:center}
.splash-tile{border:1px solid color-mix(in srgb,var(--paper) 50%,transparent);border-radius:20px;padding:24px 22px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;justify-content:center;min-height:225px}
.splash-tile p{margin:0 0 8px}.splash-total,.splash-tile .countdown-number{font:600 68px/1.15 var(--body-font)}
.splash-tile .countdown-simple{display:flex;flex-direction:column;gap:2px;margin:0;font-size:17px;line-height:1.5}
.splash-tile .g-day-name{font-size:25px;color:var(--ink)}.splash-tile .g-day-meaning{font-size:13px;color:var(--muted)}
.splash-tile .goal-progress{margin-top:16px}.goal-progress{width:100%;max-width:330px;margin:14px auto}
.goal-progress progress{display:block;width:100%;height:10px;accent-color:var(--ink);border:0;border-radius:99px;overflow:hidden;background:var(--line)}
.goal-progress progress::-webkit-progress-bar{background:var(--line);border-radius:99px}.goal-progress progress::-webkit-progress-value{background:var(--ink);border-radius:99px}
.goal-progress .goal-label{font-size:12px;margin:8px 0 0;color:var(--muted)}
#goal-celebration{font-size:14px;color:var(--ink);font-weight:600}
.splash{transform-origin:top;transition:transform .24s ease,opacity .24s ease}.splash.fold-away{opacity:0;transform:perspective(1000px) rotateX(-12deg) translateY(-12%)}
.reason-band{display:flex;align-items:center;gap:22px;border-block:1px solid var(--line);padding-block:17px;margin-block:20px}
.reason-text{flex:1;margin:0;font-size:16px;line-height:1.6;min-height:26px}.reason-band a{font-size:13px;font-weight:600;white-space:nowrap}
.reason-pause{background:none;border:1px solid var(--line);border-radius:99px;color:var(--ink);font:12px var(--body-font);padding:8px 12px;min-height:40px;white-space:nowrap}
.reason-band.reason-change .reason-text{animation:reason-fade .4s ease}@keyframes reason-fade{from{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:none}}
.wall-teaser{padding-block:54px}.wall-teaser>p{max-width:650px}.latest-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}
.teaser-story{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--white);min-width:0}.teaser-story p{overflow-wrap:anywhere;font-size:15px;line-height:1.8}.teaser-story .teaser-label{font-size:11px;font-weight:600}
.teaser-story p:not(.teaser-label){display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.ripple-wall{margin-top:36px;margin-bottom:56px}.wall-filters{margin:22px 0;display:flex;flex-wrap:wrap;gap:12px 15px;align-items:center}.wall-filters [role=group]{display:flex;gap:7px;flex-wrap:wrap}
.wall-filters button{border:1px solid var(--line);background:var(--white);color:var(--ink);padding:11px 17px;border-radius:99px;min-height:44px;font:600 13px var(--body-font)}
.wall-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.wall-filters label{font-size:12px}.wall-filters select,#story-thread{color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:10px;padding:12px;font:14px var(--body-font);min-height:46px}
#story-thread{width:100%;margin:8px 0 25px}.rw-family{font-weight:600}.rw-kind{letter-spacing:0;text-transform:none;font-weight:400}
#wall-verify{max-width:min(460px,calc(100% - 32px));border:1px solid var(--line);border-radius:20px;padding:26px;background:var(--paper);color:var(--ink)}
#wall-verify::backdrop{background:#193ba066}#wall-verify .actions button{padding:12px 20px;border:1px solid var(--ink);border-radius:99px;min-height:44px;color:var(--ink);background:var(--white)}
@media(max-width:760px){.splash-tile{padding:18px 12px;min-height:215px}.splash-tiles{gap:12px}.splash-total,.splash-tile .countdown-number{font-size:54px}.latest-stories{grid-template-columns:1fr}.reason-band{gap:10px;flex-wrap:wrap}.reason-text{flex-basis:100%;font-size:15px}.reason-band a{margin-inline-start:auto}.wall-filters label{flex-basis:100%}.wall-filters select{width:100%}}
@media(prefers-reduced-motion:reduce){.splash,.reason-text,[data-join-action]{transition:none!important;animation:none!important}.splash.fold-away{transform:none}}
/* Splash text sits on the blue field: keep it light. */
.gratitude-splash .splash-content>.eyebrow,.gratitude-splash #gratitude-splash-heading,.gratitude-splash .splash-intro,.gratitude-splash .countdown-status,
.gratitude-splash .splash-more,.gratitude-splash .splash-content>.small,.gratitude-splash .splash-timer-tools,.gratitude-splash #splash-stay{color:var(--paper)}
.gratitude-splash .splash-dots i{border-color:var(--paper);opacity:.55}.gratitude-splash .splash-dots i.filled{background:var(--tt-hl,#adff00);border-color:var(--tt-hl,#adff00);opacity:1}
/* Reasons: bold headline, italic line beneath */
.reason-text strong{display:block;font-size:17px;line-height:1.4}.reason-text em{display:block;font-size:14px;line-height:1.5;opacity:.85}
.reason-band{min-height:96px}
html[lang="ar"] .reason-text em{font-style:normal}
/* Floating "why take part" callout: one reason at a time, a different spot each time. */
.reason-float{position:fixed;z-index:40;width:250px;padding:18px 18px 14px;border-radius:20px;background:var(--ink);color:var(--paper);
  box-shadow:0 14px 34px color-mix(in srgb,var(--ink) 30%,transparent);opacity:0;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s ease}
.reason-float[hidden]{display:none}
.reason-float::before{content:"";position:absolute;inset-block-start:-9px;inset-inline-start:22px;width:58px;height:18px;border-radius:3px;background:var(--tt-hl,#adff00);transform:rotate(-4deg)}
.reason-float .reason-text{margin:6px 0 12px;font-size:15px;line-height:1.5;min-height:0}
.reason-float .reason-text strong{display:block;font-size:17px;line-height:1.35;margin-bottom:6px;color:var(--tt-hl,#adff00)}
.reason-float .reason-text em{display:block;font-size:14px;line-height:1.5;opacity:1}
.reason-float a{display:inline-flex;align-items:center;gap:6px;color:var(--paper);font-size:13px;font-weight:700}
.reason-float a .action-arrow{width:16px;height:16px}
.reason-close{position:absolute;inset-block-start:6px;inset-inline-end:6px;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--paper);font-size:20px;line-height:1;cursor:pointer}
.reason-close:hover,.reason-close:focus-visible{background:color-mix(in srgb,var(--paper) 18%,transparent);outline:none}
.reason-float a:focus-visible{outline:2px solid var(--tt-hl,#adff00);outline-offset:3px}
/* desktop spots: the card stays and glides between three heights on the right */
.reason-float{right:22px;transform:translateX(120%) rotate(1.5deg);transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s ease,top .8s cubic-bezier(.2,.8,.2,1)}
.reason-float.slot-1{top:16vh}.reason-float.slot-2{top:34vh}.reason-float.slot-3{top:52vh}
.reason-float.is-visible{opacity:1;transform:rotate(1.5deg)}
.reason-float.slot-2.is-visible{transform:rotate(-1.5deg)}
.reason-float .reason-text{transition:opacity .25s ease}
.reason-float.reason-swap .reason-text,.reason-float.reason-swap .reason-count{opacity:0}
.reason-title{margin:4px 30px 6px 0;font-family:var(--heading-font);font-size:18px;line-height:1.45;color:var(--paper)}
html[dir="rtl"] .reason-title{margin:4px 0 6px 30px}
.reason-count{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--challenge,#ff5fa8);font-variant-numeric:tabular-nums;transition:opacity .25s ease}
.reason-float .reason-text strong{color:var(--tt-hl,#adff00)}
/* phones: a small card that rises from the bottom, less often */
@media(max-width:760px){
  .reason-float,.reason-float[class*="slot-"]{left:16px;right:16px;top:auto!important;bottom:16px;width:auto;transform:translateY(130%)}
  .reason-float[class*="slot-"].is-visible{transform:none}
  .reason-title{font-size:16px}
  .reason-float .reason-text strong{font-size:16px}.reason-float .reason-text em{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.reason-float,.reason-float[class*="slot-"]{transition:opacity .2s linear;transform:none!important;animation:none!important}}
html[lang="ar"] .reason-float .reason-text em{font-style:normal}
/* Who could your ten be */
.recipients li.who-anyone{font-weight:700}

/* ---- Challenge scoreboard: one navy board, two equal halves, buttons on one line ---- */
:root{--challenge:#ff5fa8}
.counter-grid.scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--ink);color:var(--paper);border-radius:28px;overflow:hidden;
  box-shadow:0 18px 40px color-mix(in srgb,var(--ink) 25%,transparent);position:relative}
.scoreboard .counter-card{background:transparent;border:0;border-radius:0;padding:34px 30px 26px;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--paper)}
.scoreboard .counter-card+.counter-card{border-inline-start:2px dashed color-mix(in srgb,var(--tt-hl,#adff00) 55%,transparent)}
.scoreboard .counter-card h3{color:var(--tt-hl,#adff00);margin-bottom:6px}
.scoreboard .counter-card>p:first-of-type{color:var(--paper);opacity:.9;min-height:44px}
.scoreboard .counter-reading{margin:14px 0 18px;align-items:center;width:100%}
.scoreboard .counter-reading strong{color:var(--challenge);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:clamp(64px,8vw,104px);line-height:1;
  padding:10px 18px;border-radius:16px;background:color-mix(in srgb,#000 22%,var(--ink));box-shadow:inset 0 -3px 0 color-mix(in srgb,#000 30%,transparent)}
.scoreboard .counter-reading>span{color:var(--paper);opacity:.85;font-size:13px}
.scoreboard .goal-progress progress{background:color-mix(in srgb,var(--paper) 25%,transparent)}
.scoreboard .goal-progress progress::-webkit-progress-bar{background:color-mix(in srgb,var(--paper) 25%,transparent)}
.scoreboard .goal-progress progress::-webkit-progress-value{background:var(--challenge)}
.scoreboard .goal-progress progress::-moz-progress-bar{background:var(--challenge)}
.scoreboard .goal-progress .goal-label{color:var(--paper);opacity:.85}
.scoreboard #goal-celebration{color:var(--tt-hl,#adff00);font-weight:700}
.scoreboard .counter-card .button{margin-top:auto}
.scoreboard .counter-card .status{color:var(--paper);opacity:.85;min-height:40px;margin-top:10px}
.scoreboard .counter-reading strong[data-i18n="notLive"]{color:var(--paper);letter-spacing:0}
@media(max-width:760px){.counter-grid.scoreboard{grid-template-columns:1fr}.scoreboard .counter-card+.counter-card{border-inline-start:0;border-top:2px dashed color-mix(in srgb,var(--tt-hl,#adff00) 55%,transparent)}}
/* Splash counter matches the scoreboard */
.splash-tile .splash-total{color:#c2185b;font-variant-numeric:tabular-nums;letter-spacing:.04em}
/* ---- Top bar: label on the first line, count underneath; both pills the same size ---- */
.participation-links{display:flex;gap:10px}
.participation-links a{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:168px;padding:6px 16px!important;text-align:center;line-height:1.2}
.participation-links a span{order:-1;font-size:11px;opacity:.9;display:inline-flex;align-items:center;gap:4px}
.participation-links a strong{font-size:22px!important;line-height:1.1;color:var(--challenge);font-variant-numeric:tabular-nums;letter-spacing:.05em}
.participation-links a strong[data-i18n="notLive"]{font-size:13px!important;color:inherit;letter-spacing:0}
@media(max-width:560px){.participation-links a{min-width:0;flex:1 1 0;padding:5px 8px!important}.participation-links a strong{font-size:18px!important}}
/* Footer: both columns open with a heading and a one-line tagline */
.initiative-grid section>p{font-size:15px;margin:0 0 14px}
.scoreboard .counter-reading>span{order:1}.scoreboard .counter-reading .goal-progress{order:2;margin:10px auto 0}.scoreboard #goal-celebration{order:3}
/* Gratitude Wall: tidy, aligned cards below the writing area */
.ripple-wall{border-top:1px solid var(--line);padding-top:48px;margin-top:56px}
.rw-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;align-items:stretch}
.rw-post,.rw-post:nth-child(n){transform:none!important;display:flex;flex-direction:column}
.rw-post:hover{transform:translateY(-2px)!important}
.rw-post::before{display:none}
.rw-post{border-top:5px solid var(--tt-hl,#adff00)}.rw-post.family-receiver{border-top-color:var(--challenge,#ff5fa8)}
.rw-post .rw-foot{margin-top:auto}
#ripple-wall-sentinel{height:1px}
@media(max-width:760px){.reason-float{padding:12px 14px 10px}.reason-float .reason-text{margin:2px 0 6px}.reason-float .reason-text em{display:none}.reason-title{font-size:15px;margin-bottom:2px}}
/* splash: countdown tile mirrors the challenge tile; G-Day readable on cream */
.splash-tile .countdown-simple{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
body .splash .splash-tile .g-day-name{color:#193ba0;font-weight:400}
.splash-tile #gday-days{color:#c2185b;font-variant-numeric:tabular-nums}

/* ===== Round 8 Oct ===== */
/* Logo: flashy green at the top, links home; blue on the green footer */
header .brand-home{display:inline-flex;align-items:center;text-decoration:none;border-radius:12px}
header .brand-home .logo{color:#adff00;filter:drop-shadow(1.5px 1.5px 0 #193ba0) drop-shadow(-.5px -.5px 0 #193ba0);transition:transform .2s ease}
header .brand-home:hover .logo{transform:scale(1.05) rotate(-2deg)}
header .brand-home:focus-visible{outline:3px solid #193ba0;outline-offset:4px}
.initiative-footer .footer-brandline .logo{color:#193ba0}
/* Arabic: the 10x10 logo replaces the ١٠×١٠ text, in the colour of the text around it */
.inline-logo{display:inline-block;width:2.55em;height:.85em;vertical-align:-.08em;margin:0 .12em;color:currentColor;overflow:visible}

/* Navigation: bigger, all capitals, aligned */
header nav{gap:28px;align-items:center}
header nav a{font-size:14.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;white-space:nowrap}
html[lang="ar"] header nav a{font-size:17px;letter-spacing:0}

/* Date line above the title: bold and a point bigger */
.eyebrow[data-i18n="copy15"]{font-size:13px;font-weight:800;letter-spacing:.14em}
html[lang="ar"] .eyebrow[data-i18n="copy15"]{font-size:16px;letter-spacing:0}

/* Main titles a little smaller */
h1.campaign-title{font-size:clamp(40px,4.3vw,60px)}
.ripple-intro h1{font-size:clamp(33px,4.6vw,56px)}

/* The four "why" titles in italics */
.why-card h3{font-style:italic}

/* Hashtags: left-aligned, one under the other */
.footer-brandline .tt-tags{display:block;text-align:left;direction:ltr;align-self:flex-start;font-size:14px;line-height:1.5}

/* Reasons card: light teal so it stands apart from the blue sections */
.reason-float{background:#cfeeea;color:#0b1f5c;border:1.5px solid #7fcfc3;box-shadow:0 14px 34px #0b1f5c33}
.reason-float::before{background:#ff5fa8}
.reason-title{color:#0b1f5c}
.reason-count{color:#c2185b}
.reason-float .reason-text strong{color:#0b5f56}
.reason-float .reason-text em{color:#1d3566}
.reason-float a{color:#193ba0}
.reason-float a:focus-visible{outline-color:#193ba0}
.reason-close{color:#0b1f5c}
.reason-close:hover,.reason-close:focus-visible{background:#0b1f5c1a}

/* Scoreboard: more compact so the whole card fits when you jump to it */
#challenge-counters .counter-card{padding-top:26px;padding-bottom:22px}
#challenge-counters .counter-card h3{margin-bottom:4px}
#challenge-counters .counter-card > p:not(.status){margin-bottom:12px}
#challenge-counters .counter-reading{margin:6px 0 10px}
#challenge-counters #taking-total,#challenge-counters #completion-total{font-size:clamp(46px,5.2vw,68px);padding:4px 18px;line-height:1.15}
#challenge-counters .counter-reading .goal-progress{margin-top:6px}
#taking-challenge,#completed-challenge,#challenge-counters{scroll-margin-top:96px}

/* Phones: keep everything readable */
@media(max-width:760px){
  header nav{gap:10px 20px;flex-wrap:wrap;justify-content:flex-start}
  header nav a{font-size:14px}
  html[lang="ar"] header nav a{font-size:16px}
  h1.campaign-title{font-size:clamp(33px,9.2vw,44px)}
  .ripple-intro h1{font-size:clamp(30px,8.6vw,40px)}
  .participation-title{font-size:12.5px}
  .participation-links span{font-size:12.5px}
  .equation span{font-size:14px}
  .small,.counter-privacy,.goal-label,.status,.ready-note{font-size:14px}
  .why-card p,.steps p{font-size:15.5px}
  .footer-brandline p{font-size:15px}
  .share-control-label{font-size:14px}
  #challenge-counters #taking-total,#challenge-counters #completion-total{font-size:52px}
  #challenge-counters .counter-card{padding-top:20px;padding-bottom:18px}
  #taking-challenge,#completed-challenge{scroll-margin-top:110px}
  .reason-float .reason-text strong{font-size:16px}
  .reason-count{font-size:12px}
}
.logo-word{white-space:nowrap}
@media(max-width:760px){
  header nav{display:grid;grid-template-columns:auto auto;justify-content:start;gap:10px 26px}
  .language-cloud > span:not([lang="en"]):not([lang="tl"]):not([lang="sw"]):not([lang="ar"]){font-size:24px}
}
html[lang="ar"] .reason-title{font-size:20px;line-height:1.5}
@media(max-width:760px){html[lang="ar"] .reason-title{font-size:18px}}

/* ===== Round 8 Oct (b) ===== */
/* Logo back to blue */
header .brand-home .logo{color:#193ba0;filter:none}
/* Reasons card: all teal, a little wider, with arrows */
.reason-float{width:300px}
.reason-float::before{background:#2bb5a3}
.reason-count{color:#0b7a6e;margin:0}
.reason-nav{display:flex;align-items:center;gap:10px;margin:2px 0 6px}
.reason-nav button{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1.5px solid #7fcfc3;border-radius:50%;background:#ffffff80;color:#0b7a6e;cursor:pointer;transition:background .15s ease,color .15s ease}
.reason-nav button svg{width:11px;height:13px}
.reason-nav button:hover{background:#0b7a6e;color:#fff;border-color:#0b7a6e}
.reason-nav button:focus-visible{outline:2px solid #193ba0;outline-offset:2px}
html[dir="rtl"] .reason-nav button svg{transform:scaleX(-1)}
@media(max-width:760px){.reason-float{width:auto}.reason-nav{margin:0 0 4px}.reason-nav button{width:32px;height:32px}}
/* Reasons card: taller, navigation along the bottom */
.reason-float:not([hidden]){display:flex;flex-direction:column}
.reason-float{min-height:400px;padding:26px 22px 16px}
.reason-float .reason-title{margin-bottom:14px}
.reason-float .reason-text{margin:4px 0 18px}
.reason-float .reason-text strong{font-size:18px;margin-bottom:10px}
.reason-float .reason-text em{font-size:15px;line-height:1.6}
.reason-float > a{align-self:flex-start}
.reason-nav{margin:auto 0 0;padding-top:14px;border-top:1px dashed #7fcfc3;justify-content:space-between}
.reason-float.slot-1{top:14vh}.reason-float.slot-2{top:26vh}.reason-float.slot-3{top:38vh}
@media(max-height:760px){.reason-float{min-height:340px}.reason-float.slot-1{top:12vh}.reason-float.slot-2{top:18vh}.reason-float.slot-3{top:24vh}}
@media(max-width:760px){.reason-float{min-height:0;padding:14px 16px 10px}.reason-float .reason-title{margin-bottom:4px}.reason-float .reason-text{margin:2px 0 8px}.reason-nav{padding-top:8px}}
.rw-post.family-advice{border-top-color:#2bb5a3}
.quote-gratifying q{font-weight:600}

/* Punch line closing the opening paragraph */
.punchline{display:inline-block;margin-top:10px;padding:2px 10px 4px;border-radius:8px;background:#adff00;color:#0b1f5c;font-family:var(--heading-font);font-weight:400;font-size:1.12em;line-height:1.5;transform:rotate(-1deg);box-shadow:3px 3px 0 #193ba0}
html[lang="ar"] .punchline{font-size:1.2em;transform:rotate(1deg);box-shadow:-3px 3px 0 #193ba0}
/* Why cards: heading and text sit further in */
.why-card{padding:30px 30px 28px}
.why-card .why-number{margin-bottom:24px}
.why-card h3{margin:0 0 16px;padding-inline-start:4px}
.why-card p{padding-inline-start:4px}
@media(max-width:760px){.why-card{padding:26px 26px 24px}}
/* Punch line: part of the paragraph, in bold */
.punchline{display:inline;margin:0;padding:0;background:none;box-shadow:none;transform:none;font:inherit;font-weight:700;color:inherit}
html[lang="ar"] .punchline{font-size:inherit;transform:none;box-shadow:none}
/* Wall teaser: no gap when there are no stories yet */
.wall-teaser #teaser-status{margin-top:4px;font-weight:600}
.latest-stories[hidden]{display:none}

/* ===== Questions and answers ===== */
.faq{padding-block:64px;max-width:900px}
.faq h2{margin-bottom:26px}
.faq-list{display:grid;gap:12px}
.faq-item{border:1px solid var(--line);border-radius:18px;background:var(--white,#fffdf2);overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-weight:700;font-size:17px;line-height:1.4;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#cfeeea;color:#0b5f56;font-size:20px;font-weight:600;transition:transform .2s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:focus-visible{outline:3px solid #193ba0;outline-offset:-3px;border-radius:18px}
.faq-answer{padding:0 22px 20px}
.faq-answer p{margin:0;font-size:16px;line-height:1.75;color:var(--ink)}
.faq-answer a{font-weight:700}
html[lang="ar"] .faq-item summary{font-size:18px}
@media(max-width:760px){.faq{padding-block:44px}.faq-item summary{padding:16px 18px;font-size:16px}.faq-answer{padding:0 18px 18px}}
/* Language links (blog pages use links instead of buttons) */
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:6px 14px;border-radius:999px;font-weight:700;font-size:13px;text-decoration:none;color:inherit}
.language-switch a[aria-current="true"]{background:var(--ink);color:var(--paper)}
/* FAQ question line: plain text flow so the inline logo stays inside the sentence */
.faq-item summary{display:block;position:relative;padding-inline-end:66px}
.faq-item summary::after{position:absolute;inset-inline-end:20px;top:50%;transform:translateY(-50%)}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.reason-float .reason-text a.reason-more{color:inherit;text-decoration:none;background-image:linear-gradient(#2bb5a3,#2bb5a3);background-size:100% 2px;background-position:0 100%;background-repeat:no-repeat}
.reason-float .reason-text a.reason-more:hover{background-size:100% 100%;color:#fff}

/* Footer brand line: logo, then the tagline with the hashtags lined up under it */
.footer-brandline{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:22px;row-gap:6px;align-items:center;justify-content:start}
.footer-brandline .brand{grid-row:1 / span 2;align-self:center}
.footer-brandline p{grid-column:2;margin:0;font:400 20px/1.4 var(--heading-font);text-align:start}
.footer-brandline .tt-tags{grid-column:2;justify-self:start;align-self:start;text-align:left;direction:ltr;font-size:14px;line-height:1.5}
html[dir="rtl"] .footer-brandline .tt-tags{text-align:right}
html[lang="ar"] .footer-brandline p{font-size:22px}
@media(max-width:760px){.footer-brandline{column-gap:16px}.footer-brandline .logo{width:96px;height:auto}.footer-brandline p{font-size:17px}html[lang="ar"] .footer-brandline p{font-size:19px}}

/* Home: photo beside the opening paragraph */
.hero-photo{margin:0;align-self:center;position:relative}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:28px;box-shadow:12px 12px 0 #adff00,0 18px 40px #0b1f5c26;transform:rotate(1.2deg)}
html[dir="rtl"] .hero-photo img{transform:rotate(-1.2deg);box-shadow:-12px 12px 0 #adff00,0 18px 40px #0b1f5c26}
@media(min-width:761px){.hero-photo img{aspect-ratio:4/3.4}}
@media(max-width:760px){.hero-photo{margin-top:30px}.hero-photo img{border-radius:22px;box-shadow:8px 8px 0 #adff00,0 12px 28px #0b1f5c22}html[dir="rtl"] .hero-photo img{box-shadow:-8px 8px 0 #adff00,0 12px 28px #0b1f5c22}}
@media(prefers-reduced-motion:reduce){.hero-photo img{transform:none}}
/* Home photo: soft shadow instead of the lime edge */
.hero-photo img,html[dir="rtl"] .hero-photo img{box-shadow:0 22px 48px #0b1f5c33,0 6px 14px #0b1f5c1f}
@media(max-width:760px){.hero-photo img,html[dir="rtl"] .hero-photo img{box-shadow:0 14px 30px #0b1f5c2e,0 4px 10px #0b1f5c1a}}
/* Copyright line at the very bottom of every page */
.site-copyright{margin:0 auto;padding-top:4px;padding-bottom:26px;font-size:13px;line-height:1.7;color:var(--ink);opacity:.85}
.site-copyright .copyright-mark{font-weight:700}
@media(max-width:760px){.site-copyright{font-size:13.5px;padding-bottom:22px}}
/* Jumping to the challenge: land with the section title visible under the sticky totals bar */
html{scroll-padding-top:91px}
#challenge-counters{scroll-margin-top:0}
#taking-challenge,#completed-challenge{scroll-margin-top:clamp(178px,calc(118px + 6.3vw),214px)}
@media(max-width:760px){
  html{scroll-padding-top:108px}
  #taking-challenge{scroll-margin-top:162px}
  #completed-challenge{scroll-margin-top:0}
}
/* "clip" keeps the rounded corners without turning the scoreboard into a scroll box,
   so the jump-to links respect the landing offset above */
.counter-grid.scoreboard{overflow:clip}
html{scroll-padding-top:85px}
#taking-challenge,#completed-challenge{scroll-margin-top:clamp(172px,calc(112px + 6.3vw),208px)}
@media(max-width:760px){html{scroll-padding-top:108px}#taking-challenge{scroll-margin-top:162px}#completed-challenge{scroll-margin-top:0}}
/* Reasons card: bigger statement, a line of space under the title, small blue button */
.reason-float .reason-title{margin-bottom:0}
.reason-float .reason-text{margin:1.6em 0 16px}
.reason-float .reason-text strong{font-size:21px;line-height:1.35;margin-bottom:12px}
html[lang="ar"] .reason-float .reason-text strong{font-size:22px}
.reason-float a.reason-cta{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin:4px 0 22px;padding:9px 16px;border-radius:999px;background:var(--ink,#193ba0);color:var(--paper,#fff8e6);font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 3px 10px #0b1f5c26;transition:transform .2s ease,filter .2s ease}
.reason-float a.reason-cta:hover{transform:translateY(-2px);filter:brightness(1.08)}
.reason-float a.reason-cta:focus-visible{outline:2px solid #193ba0;outline-offset:3px}
.reason-float a.reason-cta .action-arrow{width:14px;height:14px}
@media(max-width:760px){
  .reason-float .reason-text{margin:10px 0 8px}
  .reason-float .reason-text strong{font-size:18px;margin-bottom:0}
  .reason-float a.reason-cta{margin:2px 0 10px;padding:7px 14px;font-size:12.5px}
}
.reason-float .reason-text a.reason-more{display:inline;font-size:inherit;font-weight:inherit;line-height:inherit;gap:0}
/* Longer slogan: let "a hundred times" wrap naturally */
h1.campaign-title .tt-mark{white-space:normal;display:inline}
