
:root{
  --plum:#4b155c;
  --plum-2:#6f3a86;
  --lavender:#c9b1d7;
  --lavender-soft:#f1e9f5;
  --mint:#dceee5;
  --teal:#2f696c;
  --ink:#17242a;
  --muted:#56616a;
  --cream:#fffaf1;
  --white:#ffffff;
  --gold:#f5c76c;
  --danger:#7e2344;
  --shadow:0 18px 48px rgba(38,22,45,.12);
  --radius:24px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;font-size:17px}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{text-decoration-thickness:.14em}
img{max-width:100%;height:auto}
.skip-link{position:absolute;left:-999px;top:1rem;background:#fff;color:#000;padding:.75rem 1rem;border-radius:.5rem;z-index:99}
.skip-link:focus{left:1rem}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,241,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(75,21,92,.12)}
.announcement{background:var(--plum);color:#fff;text-align:center;padding:.55rem 1rem;font-size:.92rem;line-height:1.35}
.announcement-line{display:block}.announcement-line+ .announcement-line{margin-top:.12rem}.announcement a{font-weight:900}
.nav-wrap{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem}
.brand,.footer-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.brand-mark{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--plum),var(--plum-2));color:#fff;font-weight:900;letter-spacing:-.06em;box-shadow:0 12px 28px rgba(75,21,92,.22)}
.brand small{display:block;color:var(--muted);font-size:.82rem;margin-top:-.15rem}
.primary-nav{display:flex;align-items:center;gap:.2rem;flex-wrap:wrap;justify-content:flex-end}
.primary-nav a{padding:.55rem .7rem;border-radius:999px;text-decoration:none;font-size:.94rem;color:#263238}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{background:var(--lavender-soft);color:var(--plum)}
.primary-nav .nav-donate{background:var(--gold);color:#211a04;font-weight:800;margin-left:.35rem}
.menu-button{display:none;border:0;border-radius:999px;background:var(--plum);color:#fff;padding:.65rem 1rem;font-weight:800}
.section{max-width:var(--max);margin:auto;padding:4.5rem 1.25rem}
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:2.5rem;align-items:center;min-height:650px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;right:8%;top:12%;width:260px;height:260px;background:var(--mint);border-radius:999px;z-index:-1;filter:blur(1px)}
.hero:after{content:"";position:absolute;right:25%;bottom:13%;width:180px;height:180px;background:var(--lavender);border-radius:999px;z-index:-1;opacity:.55}
.kicker{font-weight:900;color:var(--plum);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;margin:0 0 .75rem}
h1,h2,h3{line-height:1.08;margin:0 0 1rem;color:var(--ink)}
h1{font-size:clamp(2.7rem,7vw,5.9rem);letter-spacing:-.07em;max-width:960px}
h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.055em}
h3{font-size:1.35rem;letter-spacing:-.03em}.lead{font-size:clamp(1.16rem,2.2vw,1.45rem);color:#33424a;max-width:780px}.hero-actions,.button-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.15rem;border-radius:999px;background:var(--plum);color:#fff!important;text-decoration:none;font-weight:900;border:2px solid var(--plum);box-shadow:0 12px 26px rgba(75,21,92,.18)}.button:hover{transform:translateY(-1px)}.button-soft{background:#fff!important;color:var(--plum)!important;border-color:rgba(75,21,92,.2);box-shadow:none}.hero-panel{min-height:440px;border-radius:40px;background:radial-gradient(circle at 30% 20%,#fff 0 16%,transparent 17%),linear-gradient(145deg,var(--plum),#7e5695 60%,var(--lavender));color:#fff;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-panel:before{content:"";position:absolute;inset:auto -80px -120px auto;width:300px;height:300px;background:rgba(255,255,255,.16);border-radius:50%}.rc-mark{font-size:9rem;font-weight:1000;letter-spacing:-.1em;line-height:.8;opacity:.9}.hero-panel p{font-size:1.15rem;max-width:360px;position:relative}.hero-badge{align-self:flex-start;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);padding:.55rem .85rem;border-radius:999px;font-weight:800;margin-top:.5rem;position:relative}.section-heading{max-width:760px;margin-bottom:2rem}.section-heading.compact{max-width:900px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.card-grid.three{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid rgba(75,21,92,.12);border-radius:var(--radius);padding:1.45rem;box-shadow:0 12px 28px rgba(38,22,45,.07)}.card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--lavender-soft);color:var(--plum);font-weight:900;margin-bottom:1rem}.text-link{font-weight:900;color:var(--plum)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);gap:2rem;align-items:start}.muted{background:linear-gradient(180deg,rgba(241,233,245,.8),rgba(220,238,229,.45));max-width:none}.muted>*{max-width:var(--max);margin-left:auto;margin-right:auto}.timetable-card,.callout{background:#fff;border-radius:var(--radius);padding:1.55rem;box-shadow:var(--shadow);border:1px solid rgba(75,21,92,.12)}.callout.lavender{background:var(--lavender-soft)}.tick-list{list-style:none;margin:1rem 0 0;padding:0}.tick-list li{position:relative;padding-left:1.65rem;margin:.62rem 0}.tick-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--teal);font-weight:1000}.impact-strip{background:#fff;border-top:1px solid rgba(75,21,92,.08);border-bottom:1px solid rgba(75,21,92,.08);max-width:none}.impact-strip>*{max-width:var(--max);margin-left:auto;margin-right:auto}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem auto}.stat{border-radius:24px;background:var(--plum);color:#fff;padding:1.35rem;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 14px 30px rgba(75,21,92,.16)}.stat:nth-child(even){background:var(--teal)}.stat strong{display:block;font-size:clamp(2.1rem,5vw,4rem);line-height:.95;letter-spacing:-.07em}.stat p{margin:.35rem 0 0;font-weight:800}.stat span{font-size:.84rem;opacity:.85}.steps{counter-reset:step;list-style:none;margin:0;padding:0}.steps li{counter-increment:step;background:#fff;border:1px solid rgba(75,21,92,.12);border-radius:18px;padding:1.15rem 1.15rem 1.15rem 4.2rem;margin:1rem 0;position:relative}.steps li:before{content:counter(step);position:absolute;left:1rem;top:1rem;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--plum);color:#fff;font-weight:900}.accordion{display:grid;gap:.65rem}.accordion button{width:100%;text-align:left;background:#fff;border:1px solid rgba(75,21,92,.12);border-radius:18px;padding:1rem 3rem 1rem 1rem;font:inherit;font-weight:900;color:var(--ink);cursor:pointer;position:relative}.accordion button:after{content:"+";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-weight:900;color:var(--plum)}.accordion button[aria-expanded="true"]:after{content:"–"}.accordion div{display:none;background:#fff;border-radius:18px;padding:0 1rem 1rem;margin-top:-.7rem;border:1px solid rgba(75,21,92,.12);border-top:0}.accordion button[aria-expanded="true"]+div{display:block}.urgent-box{background:#fff1f5;border:1px solid rgba(126,35,68,.18);border-radius:36px;margin-top:2rem;margin-bottom:2rem}.urgent-box h2{color:var(--danger)}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.contact-card h2{font-size:2rem}.donation-panel{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;background:var(--plum);color:#fff;max-width:none}.donation-panel>*{max-width:var(--max)}.donation-panel h2,.donation-panel .kicker{color:#fff}.giving-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.giving-grid div{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:1rem}.giving-grid strong{display:block;font-size:2rem}.giving-grid span{display:block}.narrow-page{max-width:850px}.note{color:var(--muted)}.site-footer{background:#211029;color:#fff;padding:3rem 1.25rem 1.2rem}.site-footer a{color:#fff}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.3fr .8fr .8fr 1fr;gap:2rem}.footer-grid h2{font-size:1.05rem;color:#fff;letter-spacing:0}.footer-grid ul{list-style:none;padding:0;margin:.5rem 0}.footer-grid li{margin:.42rem 0}.footer-brand{margin-bottom:1rem}.small{font-size:.88rem;color:rgba(255,255,255,.72)}.footer-bottom{max-width:var(--max);margin:2rem auto 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.92rem;color:rgba(255,255,255,.8)}
@media (max-width:920px){.menu-button{display:inline-flex}.primary-nav{position:absolute;left:1rem;right:1rem;top:calc(100% + .5rem);background:#fff;border-radius:24px;padding:1rem;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}.primary-nav.open{display:flex}.primary-nav a{padding:.8rem 1rem}.hero,.split,.donation-panel{grid-template-columns:1fr}.hero{min-height:auto}.hero-panel{min-height:280px}.card-grid,.card-grid.three,.stats-grid,.contact-grid,.footer-grid{grid-template-columns:1fr 1fr}.footer-grid{gap:1.2rem}}
@media (max-width:620px){body{font-size:16px}.announcement{text-align:left}.nav-wrap{padding:.85rem}.brand small{display:none}.brand-mark{width:42px;height:42px}.section{padding:3rem 1rem}.hero-actions,.button-row{flex-direction:column}.button{width:100%}.card-grid,.card-grid.three,.stats-grid,.contact-grid,.footer-grid,.giving-grid{grid-template-columns:1fr}.footer-bottom{display:block}.rc-mark{font-size:6rem}.hero-panel{border-radius:28px}h1{font-size:2.75rem}.urgent-box{border-radius:24px}.donation-panel{padding:3rem 1rem}}
@media (prefers-reduced-motion:no-preference){.button,.card{transition:transform .2s ease, box-shadow .2s ease}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}}
:focus-visible{outline:4px solid var(--gold);outline-offset:3px}


/* Video and lived-experience quote sections */
.video-feature{background:linear-gradient(135deg,rgba(241,233,245,.92),rgba(255,255,255,.95) 52%,rgba(220,238,229,.88));max-width:none;position:relative;overflow:hidden}
.video-feature:before{content:"";position:absolute;left:-90px;top:-90px;width:260px;height:260px;border-radius:999px;background:rgba(245,199,108,.45)}
.video-feature:after{content:"";position:absolute;right:-110px;bottom:-120px;width:320px;height:320px;border-radius:999px;background:rgba(75,21,92,.10)}
.video-feature-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);gap:2.4rem;align-items:center;position:relative;z-index:1}
.video-copy p{font-size:1.08rem;max-width:650px}.video-side{display:grid;gap:1rem}.video-card{position:relative;overflow:hidden;border-radius:32px;background:#111;aspect-ratio:16/9;box-shadow:0 24px 70px rgba(38,22,45,.18);border:1px solid rgba(75,21,92,.15)}
.video-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.quote-stack{display:grid;gap:.85rem;margin-top:1.4rem}.quote-stack blockquote{margin:0;background:rgba(255,255,255,.82);border:1px solid rgba(75,21,92,.12);border-left:6px solid var(--gold);border-radius:18px;padding:1rem 1.1rem;font-weight:900;color:var(--ink);box-shadow:0 10px 26px rgba(38,22,45,.06)}
.transcript-accordion{margin-top:.2rem}.transcript-accordion button{background:rgba(255,255,255,.9)}.quote-list{margin:.5rem 0 0;padding-left:1.2rem}.quote-list li{margin:.65rem 0}.quote-band{padding-top:3.5rem;padding-bottom:3.5rem}.quote-panel{background:#fff;border:1px solid rgba(75,21,92,.12);border-radius:32px;padding:2rem;box-shadow:var(--shadow);max-width:var(--max);margin:auto}.large-quote h2{max-width:980px;color:var(--plum)}.quote-cards .quote-card{display:flex;align-items:flex-end;min-height:170px;background:linear-gradient(145deg,#fff,var(--lavender-soft))}.quote-card p{font-size:1.35rem;line-height:1.25;font-weight:900;color:var(--plum);margin:0}.about-video{padding-top:3.5rem;padding-bottom:3.5rem}
@media (max-width:920px){.video-feature-grid{grid-template-columns:1fr}.video-feature{padding-top:3.5rem;padding-bottom:3.5rem}.quote-panel{border-radius:24px}.quote-card p{font-size:1.2rem}}
@media (max-width:620px){.video-card{border-radius:22px}.quote-stack blockquote{font-size:.98rem}.quote-panel{padding:1.35rem}.large-quote h2{font-size:1.8rem}.quote-band{padding-top:2.5rem;padding-bottom:2.5rem}}


/* Lifted Recovery Cymru image assets */
.brand-logo{display:block;width:58px;height:58px;border-radius:16px;object-fit:contain;background:#fff;padding:.32rem;box-shadow:0 10px 24px rgba(75,21,92,.16);border:1px solid rgba(75,21,92,.10)}
.footer-brand .brand-logo{width:54px;height:54px;background:#fff}
.hero-image-card{position:relative;margin:0;min-height:440px;border-radius:40px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(75,21,92,.15);background:#fff}
.hero-image-card img{width:100%;height:100%;min-height:440px;object-fit:cover;display:block}
.hero-image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(33,16,41,.72) 100%)}
.hero-image-card figcaption{position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem;z-index:1;color:#fff;font-weight:900;background:rgba(75,21,92,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.24);padding:.75rem 1rem;border-radius:18px}
.card-media{width:100%;height:180px;border-radius:20px;object-fit:cover;margin:0 0 1rem;background:var(--lavender-soft);border:1px solid rgba(75,21,92,.12)}
.card-media.icon{height:120px;object-fit:contain;padding:1rem;background:var(--lavender-soft)}
.image-card{margin:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(75,21,92,.12);overflow:hidden}
.image-card img{display:block;width:100%;height:auto}.image-card figcaption{padding:.9rem 1rem;color:var(--muted);font-size:.92rem}
.timetable-image-card{align-self:start}.timetable-image-card img{background:#fff}.timetable-image-card figcaption{font-weight:800;color:var(--plum)}
.logo-strip{background:#fff;max-width:none;border-top:1px solid rgba(75,21,92,.08);border-bottom:1px solid rgba(75,21,92,.08)}
.logo-strip-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(0,.7fr) minmax(320px,1fr);gap:2rem;align-items:center}.logo-strip img{background:#fff;border-radius:20px;border:1px solid rgba(75,21,92,.08);padding:1rem;box-shadow:0 10px 28px rgba(38,22,45,.06)}
.asset-note{font-size:.85rem;color:var(--muted);margin-top:.8rem}.badge-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1rem}.badge-row img{max-width:110px;height:auto;background:#fff;border-radius:18px;padding:.5rem;border:1px solid rgba(75,21,92,.12)}
@media (max-width:920px){.hero-image-card,.hero-image-card img{min-height:320px}.logo-strip-inner{grid-template-columns:1fr}.card-media{height:220px}}
@media (max-width:620px){.brand-logo{width:46px;height:46px}.hero-image-card{border-radius:28px}.hero-image-card,.hero-image-card img{min-height:260px}.hero-image-card figcaption{font-size:.9rem}.card-media{height:180px}}


.legal-page h2 { margin-top: 2rem; }
.legal-page .button-row { margin: 1.5rem 0 2rem; }
.legal-page p { max-width: 74ch; }


/* Mobile optimisation patch */
html, body { max-width: 100%; overflow-x: hidden; }
img, svg, video, iframe { max-width: 100%; }
.nav-wrap { position: relative; }
.menu-button { min-height: 44px; min-width: 44px; align-items: center; justify-content: center; touch-action: manipulation; }
.button, .primary-nav a, .accordion button, .text-link { touch-action: manipulation; }
.site-header { isolation: isolate; }

@media (hover: none) {
  .button:hover, .card:hover { transform: none; box-shadow: 0 12px 28px rgba(38,22,45,.07); }
}

@media (max-width: 920px) {
  .site-header { position: sticky; }
  .announcement { padding: .5rem 1rem; line-height: 1.32; }
  .nav-wrap { padding: .75rem 1rem; }
  .primary-nav {
    z-index: 80;
    top: calc(100% + .35rem);
    left: .75rem;
    right: .75rem;
    max-height: calc(100dvh - 128px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .primary-nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    border-radius: 16px;
    font-size: 1rem;
  }
  .primary-nav .nav-donate { margin-left: 0; justify-content: center; }
  .hero { padding-top: 2.2rem; gap: 1.8rem; }
  .hero-copy { min-width: 0; }
  .hero-image-card, .hero-image-card img { min-height: 300px; }
  .card { min-width: 0; }
  .split { gap: 1.4rem; }
  .video-feature-grid, .video-side, .video-copy { min-width: 0; }
  .footer-grid { align-items: start; }
}

@media (max-width: 620px) {
  body { font-size: 16px; line-height: 1.58; }
  .announcement { font-size: .82rem; padding: .45rem .85rem; }
  .announcement strong { display: inline; }
  .nav-wrap { gap: .55rem; padding: .7rem .85rem; }
  .brand { gap: .55rem; min-width: 0; }
  .brand > span { min-width: 0; }
  .brand strong { display: block; max-width: 160px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .menu-button { padding: .6rem .85rem; }
  .primary-nav { left: .6rem; right: .6rem; border-radius: 20px; padding: .7rem; }
  .section { padding: 2.55rem 1rem; }
  .hero { padding-top: 1.7rem; gap: 1.25rem; }
  h1 { font-size: clamp(2.1rem, 11vw, 2.75rem); letter-spacing: -.052em; }
  h2 { font-size: clamp(1.75rem, 8vw, 2.25rem); letter-spacing: -.045em; }
  h3 { font-size: 1.18rem; }
  .lead { font-size: 1.06rem; }
  .kicker { font-size: .76rem; letter-spacing: .095em; }
  .hero-actions, .button-row { gap: .65rem; margin-top: 1.25rem; }
  .button { min-height: 50px; padding: .78rem 1rem; }
  .hero-image-card { border-radius: 24px; }
  .hero-image-card, .hero-image-card img { min-height: 230px; }
  .hero-image-card figcaption { left: .8rem; right: .8rem; bottom: .8rem; padding: .65rem .75rem; border-radius: 14px; font-size: .88rem; }
  .card { padding: 1.1rem; border-radius: 20px; }
  .card-media { height: 155px; border-radius: 16px; }
  .card-media.icon { height: 96px; padding: .75rem; object-fit: contain; }
  .card-icon { width: 40px; height: 40px; border-radius: 12px; margin-bottom: .7rem; }
  .stats-grid { gap: .75rem; }
  .stat { min-height: 112px; padding: 1rem; border-radius: 20px; }
  .stat strong { font-size: clamp(2.2rem, 15vw, 3.25rem); }
  .steps li { padding: 1rem 1rem 1rem 3.65rem; border-radius: 16px; }
  .steps li:before { width: 36px; height: 36px; border-radius: 12px; left: .8rem; top: .95rem; }
  .accordion button { min-height: 50px; padding: .85rem 2.6rem .85rem .9rem; border-radius: 16px; }
  .accordion div { border-radius: 16px; }
  .video-feature { padding-top: 2.6rem; padding-bottom: 2.6rem; }
  .video-feature-grid { gap: 1.35rem; }
  .video-card { border-radius: 18px; box-shadow: 0 14px 36px rgba(38,22,45,.16); }
  .quote-stack { gap: .65rem; }
  .quote-stack blockquote { padding: .85rem .9rem; border-radius: 14px; border-left-width: 5px; }
  .quote-card p { font-size: 1.08rem; }
  .timetable-image-card img { width: 100%; max-height: 75vh; object-fit: contain; }
  .image-card { border-radius: 20px; }
  .logo-strip-inner { gap: 1.1rem; }
  .logo-strip img { padding: .6rem; border-radius: 16px; }
  .contact-card h2 { font-size: 1.55rem; }
  .donation-panel { gap: 1.2rem; }
  .footer-grid { gap: 1.35rem; }
  .footer-brand { align-items: center; }
  .footer-bottom p { margin: .75rem 0; }
}

@media (max-width: 420px) {
  .brand-logo { width: 42px; height: 42px; border-radius: 13px; }
  .brand strong { max-width: 138px; font-size: .95rem; }
  .menu-button { font-size: .92rem; padding: .55rem .72rem; }
  .section { padding-left: .85rem; padding-right: .85rem; }
  h1 { font-size: 2.05rem; }
  .lead { font-size: 1rem; }
  .hero-image-card, .hero-image-card img { min-height: 210px; }
  .card-media { height: 145px; }
  .footer-grid { grid-template-columns: 1fr; }
}

@supports (padding: max(0px)) {
  @media (max-width: 620px) {
    .section, .site-footer { padding-left: max(1rem, env(safe-area-inset-left)); padding-right: max(1rem, env(safe-area-inset-right)); }
    .nav-wrap { padding-left: max(.85rem, env(safe-area-inset-left)); padding-right: max(.85rem, env(safe-area-inset-right)); }
  }
}


/* Sticky header restoration patch
   Keeps the urgent support banner and main navigation visible while scrolling.
   JS below measures the live header height so the page never hides underneath it. */
:root { --site-header-offset: 132px; }
body { padding-top: var(--site-header-offset); }
.site-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  box-shadow: 0 10px 30px rgba(38,22,45,.10);
}
html { scroll-padding-top: calc(var(--site-header-offset) + 16px); }
.primary-nav { z-index: 1001; }
@media (max-width: 920px) {
  :root { --site-header-offset: 122px; }
  .primary-nav { max-height: calc(100dvh - var(--site-header-offset) - 18px); }
}
@media (max-width: 620px) {
  :root { --site-header-offset: 118px; }
  .site-header { box-shadow: 0 8px 22px rgba(38,22,45,.12); }
}


/* Image fit patch: show the full wide peer-led community banner instead of cropping it. */
.hero-image-card--contain {
  min-height: unset;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #ffffff, var(--lavender-soft));
  aspect-ratio: 16 / 9;
}
.hero-image-card--contain img {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  object-fit: contain !important;
  background: #ffffff;
}
.hero-image-card--contain:after {
  background: linear-gradient(180deg, rgba(0,0,0,0) 56%, rgba(33,16,41,.62) 100%);
}
@media (max-width: 620px) {
  .hero-image-card--contain { aspect-ratio: 16 / 10; }
  .hero-image-card--contain img { min-height: 0 !important; }
}


/* Additional Recovery Cymru image variety patch */
.card-media--contain{object-fit:contain;background:#fff;padding:.6rem}
.card-media--tall{height:320px}
.hero-image-card--contain{background:#fff}
.hero-image-card--contain img{object-fit:contain;background:#fff;padding:.35rem}
.hero-image-card--contain:after{display:none}
.image-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.image-story-grid .image-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.image-story-grid .image-card:nth-child(2) img{object-fit:contain;background:#fff;padding:.5rem}
@media (max-width:720px){.image-story-grid{grid-template-columns:1fr}.card-media--tall{height:260px}}


/* Subpage image tidy patch
   Homepage remains unchanged; these rules make supporting-page images feel more deliberate. */
.hero-image-card--photo img {
  object-fit: cover;
  object-position: center;
}
.hero-image-card--square img {
  object-position: center top;
}
.hero-image-card--contain {
  background: #fff;
  padding: .45rem;
}
.hero-image-card--contain img {
  object-fit: contain !important;
  padding: .25rem;
  background: #fff;
}
.card-media--wide {
  height: auto !important;
  max-height: 235px;
  aspect-ratio: 16 / 9;
  object-fit: contain !important;
  background: #fff;
  padding: .55rem;
}
.card-media--photo {
  object-position: center;
}
.image-card--contain img {
  aspect-ratio: 1 / 1;
  object-fit: contain !important;
  background: #fff;
  padding: .85rem;
}
.image-card--photo img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}
.image-card--photo figcaption,
.image-card--contain figcaption {
  font-weight: 700;
}
@media (max-width: 620px) {
  .card-media--wide { max-height: 185px; }
  .image-card--contain img, .image-card--photo img { aspect-ratio: 16 / 10; }
}


/* Welsh language switch, transcript and smaller urgent banner patch */
.language-switch{display:inline-flex;align-items:center;justify-content:center;border:2px solid rgba(75,21,92,.18);border-radius:999px;background:#fff;color:var(--plum);font-weight:900;text-decoration:none;padding:.48rem .78rem;white-space:nowrap;box-shadow:0 8px 18px rgba(38,22,45,.06)}
.language-switch:hover{background:var(--lavender-soft);text-decoration:none}
.transcript-box{margin-top:1rem;background:#fff;border:1px solid rgba(75,21,92,.12);border-radius:20px;box-shadow:0 12px 28px rgba(38,22,45,.07);overflow:hidden}
.transcript-box summary{cursor:pointer;font-weight:900;color:var(--plum);padding:1rem 1.15rem;list-style:none}
.transcript-box summary::-webkit-details-marker{display:none}
.transcript-box summary:after{content:"+";float:right;font-weight:1000}
.transcript-box[open] summary:after{content:"–"}
.transcript-box>div{padding:0 1.15rem 1.1rem}
.transcript-box p{font-size:.98rem;margin:.7rem 0}
@media (max-width:620px){.announcement{font-size:.74rem!important;padding:.32rem .72rem!important;line-height:1.2!important;text-align:left}.announcement-line{display:block}.announcement-line+ .announcement-line{margin-top:.08rem}.announcement strong{display:inline!important;margin-right:.18rem}.language-switch{font-size:.82rem;padding:.48rem .58rem}.brand strong{max-width:145px}.menu-button{font-size:.9rem}.nav-wrap{padding-top:.58rem!important;padding-bottom:.58rem!important}.transcript-box summary{padding:.85rem .95rem}.transcript-box>div{padding:0 .95rem .95rem}}
@media (max-width:420px){.language-switch{font-size:.78rem;padding:.42rem .5rem}.brand strong{max-width:116px}.menu-button{padding:.52rem .62rem}}


/* Bells and whistles feature patch */
.calm-toggle{display:inline-flex;align-items:center;justify-content:center;border:2px solid rgba(75,21,92,.18);border-radius:999px;background:#fff;color:var(--plum);font-weight:900;text-decoration:none;padding:.48rem .78rem;white-space:nowrap;box-shadow:0 8px 18px rgba(38,22,45,.06);cursor:pointer}.calm-toggle[aria-pressed="true"]{background:var(--teal);color:#fff;border-color:var(--teal)}
body.calm-mode{--shadow:0 8px 24px rgba(38,22,45,.08);background:#fffaf1}body.calm-mode .hero-image-card:not(.essential-media),body.calm-mode .card-media,body.calm-mode .image-card{display:none!important}body.calm-mode .card,body.calm-mode .quote-panel,body.calm-mode .timetable-card{box-shadow:none!important}body.calm-mode .section{padding-top:2.4rem;padding-bottom:2.4rem}body.calm-mode *{scroll-behavior:auto!important;animation:none!important;transition:none!important}

/* Launch-readiness polish */
.contact-grid{align-items:stretch}
.contact-card{height:100%;display:flex;flex-direction:column}
.timetable-hero-callout{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.timetable-poster{margin-top:1.5rem;background:#fff;border:1px solid rgba(75,21,92,.14);border-radius:20px;padding:1rem}
.timetable-poster summary{cursor:pointer;font-weight:900;color:var(--plum)}
.festival-film .video-fallback{margin-top:1.25rem;color:var(--muted)}
.festival-film .video-fallback a{font-weight:900;color:var(--plum)}
.editing-suite-link{display:block;width:max-content;margin:1.2rem auto 0;color:rgba(255,255,255,.52)!important;font-size:.72rem;text-decoration:none}.editing-suite-link:hover,.editing-suite-link:focus{color:#fff!important;text-decoration:underline}
@media (max-width:620px){.guide-options{padding-bottom:1rem}.floating-support.context-hidden{opacity:0;pointer-events:none;transform:translateY(calc(100% + 2rem))}.floating-support{transition:opacity .2s ease,transform .2s ease}}
.support-guide{background:linear-gradient(135deg,#fff 0%,var(--lavender-soft) 54%,#e7f4f1 100%);max-width:none}.support-guide>*{max-width:var(--max);margin-left:auto;margin-right:auto}.guide-layout{display:grid;grid-template-columns:minmax(280px,.45fr) 1fr;gap:1.25rem;align-items:stretch}.guide-options{display:grid;gap:.65rem}.guide-option,.timetable-filters button,.impact-choice-buttons button{border:1px solid rgba(75,21,92,.16);background:#fff;color:var(--ink);border-radius:18px;padding:.9rem 1rem;font:inherit;font-weight:900;text-align:left;cursor:pointer}.guide-option.active,.guide-option[aria-selected="true"],.timetable-filters button.active,.impact-choice-buttons button.active{background:var(--plum);color:#fff;border-color:var(--plum)}.guide-result{background:#fff;border:1px solid rgba(75,21,92,.12);border-radius:28px;padding:1.6rem;box-shadow:var(--shadow)}.guide-result h3{font-size:clamp(1.7rem,3vw,2.4rem);margin-top:.2rem}.guide-result[hidden]{display:none!important}
.quote-wall{background:#fff;max-width:none}.quote-wall>*{max-width:var(--max);margin-left:auto;margin-right:auto}.quote-wall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.quote-wall blockquote{margin:0;background:linear-gradient(145deg,#fff,var(--lavender-soft));border:1px solid rgba(75,21,92,.12);border-radius:24px;padding:1.25rem;min-height:160px;display:flex;align-items:flex-end;font-size:1.2rem;line-height:1.25;font-weight:900;color:var(--plum);box-shadow:0 12px 26px rgba(38,22,45,.06);opacity:0;transform:translateY(18px)}.quote-wall blockquote.visible{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
.stat strong{font-variant-numeric:tabular-nums}.accessible-timetable{background:linear-gradient(180deg,#fff,var(--cream));max-width:none}.accessible-timetable>*{max-width:var(--max);margin-left:auto;margin-right:auto}.timetable-filters{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:1.1rem}.timetable-filters button{text-align:center;border-radius:999px;padding:.65rem 1rem}.accessible-schedule{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.accessible-schedule article{background:#fff;border:1px solid rgba(75,21,92,.13);border-radius:18px;padding:1rem;box-shadow:0 10px 24px rgba(38,22,45,.055)}.accessible-schedule article strong,.accessible-schedule article span{display:block}.accessible-schedule article strong{color:var(--plum);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}.accessible-schedule article span{font-weight:900;color:var(--ink);margin:.25rem 0}.accessible-schedule article p{margin:.35rem 0 0}.accessible-schedule article.is-hidden{display:none}
.reassurance-cards{background:#fff;max-width:none}.reassurance-cards>*{max-width:var(--max);margin-left:auto;margin-right:auto}.donation-selector{background:#fff}.impact-choice-layout{display:grid;grid-template-columns:minmax(260px,.4fr) 1fr;gap:1.2rem}.impact-choice-buttons{display:grid;gap:.6rem}.impact-choice-card{background:linear-gradient(145deg,var(--plum),#6f2a82);color:#fff;border-radius:30px;padding:2rem;box-shadow:var(--shadow)}.impact-choice-card h3{font-size:clamp(1.8rem,3vw,2.7rem);margin-top:0}.impact-choice-card .button{background:#fff!important;color:var(--plum)!important;border-color:#fff}.copy-tools{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}.copy-tools button{border:1px solid rgba(75,21,92,.18);border-radius:999px;background:#fff;color:var(--plum);padding:.55rem .8rem;font-weight:900;cursor:pointer}.copy-tools button.copied{background:var(--teal);color:#fff;border-color:var(--teal)}
.floating-support{position:fixed;right:1rem;bottom:1rem;z-index:950}.floating-support__trigger{border:2px solid #fff;border-radius:999px;background:var(--plum);color:#fff;font-weight:1000;padding:.85rem 1.05rem;box-shadow:0 16px 40px rgba(75,21,92,.28);cursor:pointer}.floating-support__panel{position:absolute;right:0;bottom:calc(100% + .7rem);width:min(320px,calc(100vw - 2rem));background:#fff;border:1px solid rgba(75,21,92,.16);border-radius:24px;padding:1rem;box-shadow:0 22px 70px rgba(38,22,45,.2);display:none}.floating-support.open .floating-support__panel{display:grid;gap:.55rem}.floating-support__panel p{margin:.2rem 0 .5rem}.floating-support__panel a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:14px;background:var(--lavender-soft);color:var(--plum);font-weight:900;text-decoration:none;padding:.55rem}.floating-support__close{position:absolute;top:.5rem;right:.65rem;border:0;background:transparent;font-size:1.4rem;line-height:1;color:var(--plum);cursor:pointer}
@media (max-width:920px){.guide-layout,.impact-choice-layout{grid-template-columns:1fr}.accessible-schedule{grid-template-columns:repeat(2,1fr)}.quote-wall-grid{grid-template-columns:1fr 1fr}.calm-toggle{font-size:.88rem;padding:.48rem .58rem}}
@media (max-width:620px){.calm-toggle{order:3;font-size:.76rem;padding:.42rem .48rem}.support-guide,.accessible-timetable,.quote-wall{padding-top:2.6rem;padding-bottom:2.6rem}.guide-result,.impact-choice-card{padding:1.2rem;border-radius:22px}.guide-option,.impact-choice-buttons button{border-radius:16px;padding:.78rem .85rem}.accessible-schedule{grid-template-columns:1fr}.quote-wall-grid{grid-template-columns:1fr}.quote-wall blockquote{min-height:120px;font-size:1.06rem}.floating-support{left:1rem;right:1rem;bottom:max(.75rem,env(safe-area-inset-bottom))}.floating-support__trigger{width:100%;min-height:48px}.floating-support__panel{left:0;right:0;width:auto}.site-footer{padding-bottom:5.5rem}}


/* Compact collapsible accessible timetable */
.timetable-hint{margin:-.45rem auto 1rem;color:var(--muted);font-weight:700;max-width:var(--max)}
.accessible-schedule.day-accordion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;align-items:start}
.timetable-day{background:#fff;border:1px solid rgba(75,21,92,.13);border-radius:22px;box-shadow:0 10px 24px rgba(38,22,45,.055);overflow:hidden}
.timetable-day[hidden]{display:none!important}
.timetable-day summary{list-style:none;cursor:pointer;padding:1rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:950;color:var(--ink);min-height:62px}
.timetable-day summary::-webkit-details-marker{display:none}
.timetable-day summary:after{content:'+';display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:12px;background:var(--lavender-soft);color:var(--plum);font-weight:1000;font-size:1.15rem}
.timetable-day[open] summary{border-bottom:1px solid rgba(75,21,92,.1);background:linear-gradient(90deg,#fff,var(--lavender-soft))}
.timetable-day[open] summary:after{content:'–'}
.day-name{font-size:1.08rem}.day-count{font-size:.84rem;color:var(--plum);background:rgba(75,21,92,.08);padding:.32rem .55rem;border-radius:999px;white-space:nowrap}
.day-sessions{padding:.55rem;display:grid;gap:.45rem}.day-sessions .session-card{box-shadow:none;border:1px solid rgba(75,21,92,.1);border-radius:15px;padding:.75rem .85rem;background:#fff;display:grid;grid-template-columns:minmax(95px,.28fr) 1fr;gap:.65rem;align-items:start}.day-sessions .session-card span{margin:0;color:var(--plum);font-weight:950}.day-sessions .session-card p{margin:0;line-height:1.35}.day-sessions .session-card.is-hidden{display:none!important}
@media (max-width:780px){.accessible-schedule.day-accordion{grid-template-columns:1fr}.timetable-filters{display:grid;grid-template-columns:1fr 1fr}.timetable-filters button{padding:.62rem .72rem}.timetable-hint{font-size:.95rem;margin-top:-.2rem}.timetable-day summary{padding:.85rem .9rem;min-height:56px}.day-sessions .session-card{grid-template-columns:1fr;gap:.15rem;padding:.7rem .75rem}.day-sessions .session-card span{font-size:.95rem}.day-count{font-size:.78rem}.accessible-timetable .section-heading{margin-bottom:1.05rem}}

/* Compact homepage timetable call-to-action */
.timetable-cta{background:linear-gradient(180deg,rgba(241,233,245,.75),rgba(255,250,241,.95));max-width:none}
.timetable-cta>*{max-width:var(--max);margin-left:auto;margin-right:auto}
.timetable-cta-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.4rem;align-items:center;background:#fff;border:1px solid rgba(75,21,92,.13);border-radius:30px;padding:1.6rem;box-shadow:var(--shadow)}
.timetable-cta-card h2{margin-top:.15rem}
.timetable-cta-card p:last-child{margin-bottom:0}
.timetable-cta-actions{justify-content:flex-end;min-width:260px}
.timetable-download-panel .callout{align-self:stretch}
@media (max-width:760px){.timetable-cta-card{grid-template-columns:1fr;padding:1.2rem;border-radius:24px}.timetable-cta-actions{justify-content:stretch;min-width:0}.timetable-cta-actions .button{width:100%;text-align:center}}

/* Final contrast polish: make all text inside purple action panels readable */
.impact-choice-card,
.impact-choice-card h1,
.impact-choice-card h2,
.impact-choice-card h3,
.impact-choice-card p,
.impact-choice-card span,
.impact-choice-card strong,
.donation-panel,
.donation-panel h1,
.donation-panel h2,
.donation-panel h3,
.donation-panel p,
.donation-panel span,
.donation-panel strong {
  color: #fff !important;
}
.impact-choice-card .button,
.donation-panel .button-soft {
  color: var(--plum) !important;
}

/* June 2026 content and accessibility improvements */
.service-promise{background:var(--plum);color:#fff;border-radius:28px;padding:1.25rem 1.4rem;margin:1.5rem 0}.service-promise strong{display:block;font-size:clamp(1.35rem,2.2vw,2rem);margin-bottom:.75rem}.service-chips{display:flex;flex-wrap:wrap;gap:.55rem}.service-chips span{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.45rem .72rem;font-weight:800}.mobile-priority-links{display:none}.resource-links{display:grid;gap:.65rem;margin-top:1rem}.resource-links a{display:block;background:#fff;border:1px solid rgba(75,21,92,.16);border-radius:14px;padding:.85rem 1rem;font-weight:800;color:var(--plum)}.policy-status{font-size:.9rem;color:var(--muted)}
@media (min-width:921px){h1{font-size:clamp(3rem,5vw,4.7rem)}h2{font-size:clamp(2.1rem,3.4vw,3.2rem)}.kicker{font-size:.95rem}}
@media (max-width:920px){.mobile-priority-links{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.25rem .25rem .8rem;margin-bottom:.4rem;border-bottom:2px solid var(--lavender-soft)}.mobile-priority-links strong{grid-column:1/-1;color:var(--plum);padding:.35rem .5rem}.primary-nav .mobile-priority-links a{background:var(--lavender-soft);border-radius:12px;padding:.7rem;font-weight:800}.service-chips{display:grid;grid-template-columns:1fr 1fr}.primary-nav{overflow-y:auto}}
@media (max-width:420px){.mobile-priority-links{grid-template-columns:1fr}.service-chips{grid-template-columns:1fr}}
.deployment-version{display:block;width:max-content;margin:1rem auto 0;padding:.28rem .58rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:rgba(255,255,255,.7);font-size:.72rem;font-weight:750;letter-spacing:.04em}

/* Deployment v17: calmer, premium desktop navigation */
@media (min-width:1241px){
  :root{--site-header-offset:126px}
  .announcement{display:flex;justify-content:center;align-items:center;gap:2rem;min-height:34px;padding:.35rem 1rem;font-size:.82rem;letter-spacing:.01em}
  .announcement-line{display:inline-flex;align-items:center;gap:.28rem;margin:0!important}
  .nav-wrap{max-width:1720px;display:grid;grid-template-columns:minmax(250px,auto) minmax(0,1fr) auto auto;align-items:center;gap:.65rem;padding:.8rem 1.5rem}
  .brand{grid-column:1;gap:.72rem;white-space:nowrap}
  .brand-logo{width:52px;height:52px;border-radius:15px;box-shadow:0 10px 26px rgba(75,21,92,.12)}
  .brand strong{display:block;font-size:1.04rem;line-height:1.15;letter-spacing:-.015em}
  .brand small{font-size:.75rem;margin-top:.08rem}
  .primary-nav{grid-column:2;grid-row:1;display:flex;flex-wrap:nowrap;justify-content:center;gap:.06rem;min-width:0}
  .primary-nav a{padding:.54rem .58rem;font-size:clamp(.76rem,.72vw,.9rem);font-weight:720;white-space:nowrap}
  .primary-nav .nav-donate{margin-left:.25rem;padding-left:.88rem;padding-right:.88rem;box-shadow:0 8px 20px rgba(245,199,108,.24)}
  .language-switch{grid-column:3;grid-row:1;padding:.48rem .68rem;font-size:.82rem;box-shadow:none;border-width:1px}
  .calm-toggle{grid-column:4;grid-row:1;padding:.48rem .68rem;font-size:.82rem;box-shadow:none;border-width:1px}
}
@media (min-width:921px) and (max-width:1240px){
  .nav-wrap{max-width:none;padding:.72rem 1.1rem}
  .menu-button{display:inline-flex;margin-left:auto}
  .primary-nav{position:absolute;left:1rem;right:1rem;top:calc(100% + .45rem);display:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;background:#fff;border:1px solid rgba(75,21,92,.12);border-radius:24px;padding:.8rem;box-shadow:0 24px 60px rgba(38,22,45,.18)}
  .primary-nav.open{display:grid}
  .primary-nav a{display:flex;align-items:center;min-height:46px;padding:.68rem .85rem;border-radius:14px}
  .primary-nav .nav-donate{margin:0;justify-content:center}
}

/* Deployment v18: full-screen, distraction-free mobile navigation */
@media (max-width:1240px){
  body.menu-open{overflow:hidden;touch-action:none}
  .primary-nav .mobile-priority-links{display:none!important}
  body.menu-open .menu-button{position:fixed;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:2002;background:var(--plum);color:#fff;border:1px solid rgba(255,255,255,.28);box-shadow:0 12px 30px rgba(38,22,45,.25);min-width:76px}
  .primary-nav,.primary-nav.open{position:fixed;inset:0;z-index:2001;width:100%;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;background:radial-gradient(circle at 92% 8%,rgba(201,177,215,.5),transparent 24%),linear-gradient(145deg,#fffaf1 0%,#fff 52%,#f1e9f5 100%);box-shadow:none;padding:max(5.8rem,calc(env(safe-area-inset-top) + 5rem)) max(1.2rem,env(safe-area-inset-right)) max(1.4rem,env(safe-area-inset-bottom)) max(1.2rem,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain}
  .primary-nav{display:none}
  .primary-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;align-items:stretch;gap:.65rem}
  .primary-nav.open:before{content:'Explore Recovery Cymru';grid-column:1/-1;color:var(--plum);font-size:clamp(1.6rem,4vw,2.35rem);font-weight:950;letter-spacing:-.045em;margin:0 0 .65rem;text-align:center}
  .menu-utilities{grid-column:1/-1;display:flex;justify-content:center;gap:.65rem;margin:-.15rem 0 .5rem}
  .menu-utilities .language-switch,.menu-utilities .calm-toggle{min-height:46px;padding:.62rem 1rem;background:#fff;border:1px solid rgba(75,21,92,.2);box-shadow:0 8px 22px rgba(38,22,45,.06);font-size:.92rem}
  .menu-utilities .calm-toggle{display:inline-flex!important;visibility:visible!important;color:var(--plum)!important;white-space:nowrap;overflow:visible}
  .menu-utilities .calm-toggle[aria-pressed='true']{background:var(--teal)!important;color:#fff!important;border-color:var(--teal)!important;box-shadow:0 10px 24px rgba(47,105,108,.22)}
  .primary-nav a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:.8rem 1rem;border:1px solid rgba(75,21,92,.12);border-radius:18px;background:rgba(255,255,255,.82);color:var(--ink);font-size:1.03rem;font-weight:850;text-align:center;box-shadow:0 8px 24px rgba(38,22,45,.06)}
  .primary-nav a:hover,.primary-nav a:focus,.primary-nav a[aria-current='page']{background:var(--lavender-soft);color:var(--plum);border-color:rgba(75,21,92,.25)}
  .primary-nav .nav-donate{margin:0;background:var(--gold);border-color:transparent;color:#211a04}
}
@media (max-width:620px){
  .primary-nav,.primary-nav.open{padding-top:max(4.6rem,calc(env(safe-area-inset-top) + 4.2rem));padding-bottom:max(.75rem,env(safe-area-inset-bottom))}
  .primary-nav.open{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:.38rem}
  .primary-nav.open:before{text-align:center;font-size:1.45rem;line-height:1.05;margin-bottom:.18rem}
  .menu-utilities{justify-content:center;margin:0 0 .25rem;gap:.4rem}
  .menu-utilities .language-switch,.menu-utilities .calm-toggle{flex:1;min-width:0;min-height:40px;font-size:.78rem;padding:.46rem .45rem}
  .primary-nav a{justify-content:center;min-height:44px;padding:.48rem .42rem;border-radius:13px;text-align:center;font-size:.84rem;line-height:1.15}
  .primary-nav .nav-donate{grid-column:1/-1;min-height:46px}
}
@media (max-width:620px) and (max-height:680px){
  .primary-nav,.primary-nav.open{padding-top:max(4rem,calc(env(safe-area-inset-top) + 3.7rem));padding-left:.8rem;padding-right:.8rem}
  .primary-nav.open:before{font-size:1.25rem;margin:0}
  .menu-utilities .language-switch,.menu-utilities .calm-toggle{min-height:36px;padding:.35rem .4rem}
  .primary-nav a{min-height:39px;padding:.36rem .35rem;font-size:.79rem}
}
.timetable-page-hero{grid-template-columns:minmax(0,900px);min-height:auto;padding-top:4rem;padding-bottom:3rem}

/* Deployment v22: compact two-up homepage statistics on phones */
.calm-popover{position:absolute;right:1rem;top:calc(100% + .55rem);z-index:30;width:min(330px,calc(100vw - 2rem));padding:1rem;background:#fff;border:1px solid rgba(75,21,92,.18);border-radius:18px;box-shadow:0 18px 50px rgba(38,22,45,.2)}
.calm-popover[hidden]{display:none!important}.calm-help{margin:0 0 .8rem;color:var(--ink);font-size:.92rem;line-height:1.45}.calm-action{width:100%;min-height:44px;border:0;border-radius:999px;padding:.7rem 1rem;background:var(--plum);color:#fff;font:inherit;font-weight:900;cursor:pointer}.calm-action:hover{background:var(--teal)}.calm-action:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:1240px){.menu-utilities{flex-wrap:wrap}.menu-utilities .calm-popover{position:static;flex:0 0 100%;width:100%;margin:.1rem 0 .4rem;text-align:left}.menu-utilities .calm-help{color:var(--ink);font-size:.88rem}}
@media (max-width:620px){
  .impact-strip .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem auto}
  .impact-strip .stat{min-height:104px;padding:.82rem;border-radius:17px}
  .impact-strip .stat strong{font-size:clamp(1.65rem,9vw,2.35rem);letter-spacing:-.055em;overflow-wrap:anywhere}
  .impact-strip .stat p{font-size:.84rem;line-height:1.22;margin-top:.3rem}
  .announcement{text-align:center!important}
  .announcement-line{width:100%;text-align:center}
  .brand small{display:block!important;max-width:145px;font-size:.67rem;line-height:1.18;margin-top:.08rem;white-space:normal}
}

/* Deployment v28: compact, coherent homepage impact dashboard */
.quote-wall blockquote{opacity:1!important;transform:none!important}
.impact-inner{max-width:var(--max);margin:0 auto}
.impact-strip .section-heading{margin-left:0;margin-right:0}
.impact-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.impact-experience{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 0}
.impact-experience article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.85rem;padding:1rem 1.1rem;background:var(--cream);border:1px solid rgba(75,21,92,.12);border-radius:18px}
.impact-experience strong{color:var(--plum);font-size:1.55rem;line-height:1}
.impact-experience span{color:var(--ink);font-weight:750;line-height:1.3}
.impact-action{display:flex;justify-content:flex-start;margin-top:1.35rem}
.impact-action .button{width:auto;margin:0}
@media(max-width:920px){.impact-experience{grid-template-columns:1fr}}
@media(max-width:620px){.impact-strip{padding-top:2.8rem;padding-bottom:2.8rem}.impact-strip .section-heading{margin-bottom:1.25rem}.impact-action .button{width:100%}}

/* Deployment v32: tighter professional journey and calmer safety note */
.professionals-page .hero{min-height:500px;padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3rem,6vw,5rem);align-items:center}
.professionals-page .hero-copy{display:block!important;visibility:visible!important;opacity:1!important;position:relative;z-index:2;align-self:center}
.professionals-page .hero-image-card{align-self:center;max-height:430px}
.professionals-page .professionals-visual-panel{padding-top:clamp(2.5rem,5vw,4rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.professional-safety-note{display:grid;grid-template-columns:42px minmax(0,1fr);gap:1rem;align-items:start;max-width:var(--max);margin:1.5rem auto 2.5rem;padding:1.2rem 1.35rem;background:#f2f8f6;border:1px solid rgba(47,105,108,.22);border-left:5px solid var(--teal);border-radius:18px}
.professional-safety-note h2{margin:0 0 .35rem;color:var(--plum);font-size:clamp(1.3rem,2.5vw,1.75rem)}
.professional-safety-note p{margin:0;max-width:900px;color:var(--ink)}
.professional-safety-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--teal);color:#fff;font-weight:950;font-family:Georgia,serif;font-size:1.1rem}
@media(max-width:920px){.professionals-page .hero{min-height:auto}.professionals-page .hero-image-card{max-height:none}}
@media(max-width:620px){.professional-safety-note{grid-template-columns:34px 1fr;margin:1rem 1rem 2rem;padding:1rem}.professional-safety-icon{width:32px;height:32px}}
