/*
 * Irada Network: public site pages (Site module). Builds on base.css tokens.
 * Layout: every section is a full-bleed band; content sits in the wide container and
 * fills it with grids (split rows, card grids, logo wall, photo grids, steps), never
 * with one long centred column. Reading measure (--measure) is kept for paragraphs.
 * Brief §4: CSS logical properties only (RTL mirrors through grid lines and inline
 * axes), no letter-spacing or uppercase on Arabic/Kurdish (EN-only rules are scoped to
 * :lang(en)), every line-height through the --lh-* tokens (1.6+ in ar/ckb), 44 px
 * targets, WCAG AA contrast (white text only on navy, purple-dark, pink-dark, teal-dark
 * or the dark shade of the hero). The brand gradient is decorative only.
 */

/* ------------------------------------------------------------------ shared */
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4) var(--space-7);margin-block-end:clamp(24px,1rem + 2vw,56px)}
.section-head__text{max-inline-size:68ch}
.section-head__text>:last-child{margin-block-end:0}
/* A head without an action: title start, intro beside it (no empty end half). */
@media (min-width:1100px){
  .section-head:not(:has(.section-head__action)) .section-head__text:has(>:nth-child(2)){max-inline-size:none;inline-size:100%;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--space-8);align-items:end}
  .section-head:not(:has(.section-head__action)) .section-head__text:has(>:nth-child(2))>*{max-inline-size:68ch;margin-block-end:0}
  .section-head:not(:has(.section-head__action)) .section-head__text:has(>:nth-child(2))>.eyebrow{grid-column:1/-1;margin-block-end:var(--space-2)}
}
.section-head__text h2{margin-block-end:var(--space-3)}
.section-head__action{margin:0}
.section-label{font-family:var(--font-body);font-size:1rem;font-weight:800;color:var(--pink-dark);margin-block-end:var(--space-3)}
:lang(en) .section-label{letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}
.callout__title{font-size:1.2rem;font-family:var(--font-body)}
.field__req,.field__opt{font-weight:400;color:var(--muted);font-size:.9rem}
.section--tight-end{padding-block-end:0}

/* ------------------------------------------------------------------ media slots */
.media{position:relative;overflow:hidden;background:var(--light)}
.media__img{display:block;inline-size:100%;block-size:100%;object-fit:cover;object-position:center}
.media__img--top{object-position:center top}
.media__img--bottom{object-position:center bottom}
/* Brand-pattern placeholder while a slot has no image (pure CSS, decorative). */
.media--placeholder::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1.5px,transparent 1.7px);background-size:28px 28px}
.media--tone-navy{background:radial-gradient(circle at 78% 22%,rgba(233,30,140,.55),transparent 42%),radial-gradient(circle at 18% 82%,rgba(0,188,212,.4),transparent 45%),radial-gradient(circle at 60% 70%,rgba(156,39,176,.45),transparent 50%),linear-gradient(135deg,var(--navy-900),var(--navy-700))}
.media--tone-light{background:radial-gradient(circle at 80% 20%,rgba(233,30,140,.2),transparent 45%),radial-gradient(circle at 15% 85%,rgba(0,188,212,.22),transparent 45%),linear-gradient(135deg,var(--faint),#DCE2F3)}
.media--tone-light::after{background-image:radial-gradient(rgba(29,45,94,.16) 1.5px,transparent 1.7px)}
.media--tone-pink{background:radial-gradient(circle at 25% 25%,rgba(0,188,212,.35),transparent 45%),radial-gradient(circle at 80% 80%,rgba(233,30,140,.55),transparent 50%),linear-gradient(135deg,var(--purple-dark),var(--navy-700))}

/* ------------------------------------------------------------------ page hero band */
/* Breakout grid: text in the container's start half, media from the middle to the
   viewport edge. Grid lines follow the inline direction, so RTL mirrors by itself. */
.page-hero{position:relative;background:var(--light);overflow:hidden}
.page-hero::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:3px;background:var(--gradient);opacity:.9}
.page-hero--navy{background:radial-gradient(circle at 85% 15%,rgba(233,30,140,.28),transparent 40%),linear-gradient(135deg,var(--navy-900),var(--navy) 60%,var(--navy-700));color:var(--on-dark)}
.page-hero__grid{display:grid;grid-template-columns:[full-start] minmax(var(--gutter),1fr) [content-start] minmax(0,calc(var(--container-max) / 2)) [middle] minmax(0,calc(var(--container-max) / 2)) [content-end] minmax(var(--gutter),1fr) [full-end];min-block-size:clamp(340px,30vw,580px)}
.page-hero__text{grid-column:content-start/middle;align-self:center;padding-block:clamp(48px,2rem + 4vw,112px);padding-inline-end:clamp(24px,4vw,88px)}
.page-hero--side-none .page-hero__text{grid-column:content-start/content-end}
.page-hero--side-none .page-hero__grid{min-block-size:0}
.page-hero__media{grid-column:middle/full-end;border-end-start-radius:clamp(48px,8vw,180px)}
.page-hero__media .media__img{position:absolute;inset:0}
.page-hero__aside{grid-column:middle/content-end;align-self:center;padding-block:var(--space-7)}
/* Text + small aside (Privacy, Terms, a RISE phase): no tall half-empty band. */
.page-hero--side-aside .page-hero__grid{min-block-size:0}
.page-hero--side-aside .page-hero__text{padding-block:clamp(40px,1.5rem + 3vw,88px)}
.page-hero__aside .hero-notes{max-inline-size:440px;margin-inline-start:auto}
.page-hero--navy .page-hero__aside .phase-mark{align-items:center;margin-inline:auto;inline-size:max-content}
/* A collage of three photos in the media column (Activities). */
.page-hero__media--collage{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;background:transparent}
.page-hero__media--collage>.media{border-radius:0}
.page-hero__media--collage>:first-child{grid-row:1/3}
.page-hero__media--collage .media__img{position:absolute;inset:0}
.page-hero__title{font-size:var(--fs-h1);max-inline-size:20ch;margin-block-end:var(--space-4)}
:lang(en) .page-hero__title{line-height:var(--lh-tight)}
.page-hero--side-none .page-hero__title{max-inline-size:28ch}
.page-hero__lead{margin-block-end:0;max-inline-size:60ch}
.page-hero__eyebrow{margin-block-end:var(--space-3)}
.page-hero__back{margin-block-end:var(--space-4)}
.page-hero__back a{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:var(--target);font-weight:600;text-decoration:none}
.page-hero__back a:hover{text-decoration:underline}
.page-hero__actions{margin-block:var(--space-5) 0}
.page-hero--navy :is(.page-hero__title,h1){color:#FFFFFF}
.page-hero--navy .page-hero__lead{color:var(--on-dark)}
.page-hero--navy .page-hero__eyebrow{color:var(--pink-50)}
.page-hero--navy a{color:#FFFFFF}
.page-hero--navy :focus-visible{outline-color:#FFFFFF}
@media (max-width:899px){
  .page-hero__grid{grid-template-columns:[full-start] var(--gutter) [content-start] minmax(0,1fr) [content-end] var(--gutter) [full-end];min-block-size:0}
  .page-hero__text{grid-column:content-start/content-end;padding-inline-end:0;padding-block:var(--space-7) var(--space-6)}
  .page-hero__media{grid-column:full-start/full-end;aspect-ratio:16/9;border-end-start-radius:0}
  .page-hero__aside{grid-column:content-start/content-end;padding-block:0 var(--space-7)}
  .page-hero__aside .hero-notes{margin-inline-start:0}
  .page-hero--navy .page-hero__aside .phase-mark{margin-inline:0}
}
.hero-notes{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.hero-notes li{display:flex;align-items:center;gap:var(--space-3);min-block-size:var(--target);padding:var(--space-3) var(--space-5);background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--navy);font-weight:600}
.hero-notes a{display:inline-flex;align-items:center;min-block-size:var(--target)}
.hero-notes--inline{display:flex;flex-wrap:wrap;margin-block-start:var(--space-5)}
.hero-notes--inline li{padding:var(--space-2) var(--space-4);border-radius:999px}

/* ------------------------------------------------------------------ home: hero */
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;min-block-size:clamp(560px,84vh,900px);background:var(--navy-900);color:#FFFFFF}
.hero::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:4px;background:var(--gradient);z-index:1}
.hero__media{position:absolute;inset:0;z-index:-2;background-color:var(--navy-900)}
.hero__media .media__img{position:absolute;inset:0}
/* Darkest behind the text (start side), lighter towards the end; mirrored in RTL. The
   stops are capped in px so the text column (title 15ch, lead 58ch: at most ~900 px from
   the start edge) always sits on >= .8 navy (white text >= 6:1 even over a white photo),
   while the end half lets the photo show. */
.hero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(17,28,60,.92) 0%,rgba(17,28,60,0) 38%),linear-gradient(var(--to-end),rgba(17,28,60,.94) 0%,rgba(17,28,60,.84) min(54%,920px),rgba(29,45,94,.42) min(80%,1320px),rgba(106,27,154,.22) 100%)}
.hero__inner{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-8);padding-block:clamp(56px,2rem + 6vw,150px) var(--space-7)}
.hero__text{max-inline-size:min(100%,880px)}
.hero__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--pink-50);font-weight:700;margin-block-end:var(--space-4)}
.hero__eyebrow::before{content:"";inline-size:32px;block-size:3px;border-radius:2px;background:var(--gradient)}
:lang(en) .hero__eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}
.hero__title{color:#FFFFFF;font-size:var(--fs-display);line-height:var(--lh-tight);margin-block-end:var(--space-5);max-inline-size:15ch}
:lang(ar) .hero__title,:lang(ckb) .hero__title{max-inline-size:18ch;font-size:clamp(2.2rem,1.3rem + 3.4vw,4.4rem)}
.hero__lead{font-size:var(--fs-lead);color:var(--on-dark);max-inline-size:58ch;margin-block-end:var(--space-6)}
.hero__actions{margin:0}
.hero a:focus-visible{outline-color:#FFFFFF}
/* Phones and tablets: the photo is shown in full at the top (no wash over it), fading
   into navy, and the text sits below on solid navy (contrast never depends on the photo). */
@media (max-width:899px){
  .hero{min-block-size:0;flex-direction:column}
  .hero__media{position:relative;inset:auto;z-index:0;inline-size:100%;aspect-ratio:16/9;max-block-size:62svh}
  .hero__media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(17,28,60,0) 42%,rgba(17,28,60,.78) 76%,var(--navy-900) 100%)}
  .hero__shade{display:none}
  .hero__inner{position:relative;z-index:1;margin-block-start:-40px;padding-block:0 var(--space-7);gap:var(--space-6)}
}
@media (max-width:599px){.hero__media{aspect-ratio:4/3}}

/* ------------------------------------------------------------------ figures (stats) */
.stats__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));margin:0}
.stats__item{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:var(--space-1);padding:var(--space-4) var(--space-5);border-inline-start:1px solid var(--line)}
.stats__value{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,1.3rem + 2vw,3.25rem);line-height:var(--lh-tight);color:var(--navy);font-variant-numeric:lining-nums tabular-nums}
.stats__label{margin:0;color:var(--muted);font-size:.95rem;max-inline-size:28ch}
.stats--hero .stats__list{border-block-start:1px solid rgba(255,255,255,.22)}
.stats--hero .stats__item{border-color:rgba(255,255,255,.22);padding-block:var(--space-5) 0}
.stats--hero .stats__item:first-child{border-inline-start:0;padding-inline-start:0}
.stats--hero .stats__value{color:#FFFFFF}
.stats--hero .stats__label{color:var(--on-dark)}
.stats--band .stats__item:first-child{border-inline-start:0;padding-inline-start:0}
/* Hero figures: one row on wide screens, 2 x 2 below (no orphan, no stray start border). */
@media (min-width:1024px){.stats--hero .stats__list{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}
@media (max-width:1023px){
  .stats--hero .stats__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-4)}
  .stats--hero .stats__item:nth-child(odd){border-inline-start:0;padding-inline-start:0}
}
.stats--aside .stats__list{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
.stats--aside .stats__item{border-inline-start:4px solid var(--pink-dark);background:var(--light);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5)}
.stats--aside .stats__value{font-size:clamp(1.4rem,1.1rem + 1vw,2.2rem)}
.facts-band{background:var(--surface);border-block-end:1px solid var(--line-soft);padding-block:var(--space-6)}
@media (max-width:600px){.stats__item{border-inline-start:0;border-block-start:1px solid var(--line);padding-inline:0}.stats--hero .stats__list{border-block-start:0}.stats--hero .stats__item{border-color:rgba(255,255,255,.22);padding-block:var(--space-3) 0}.stats--aside .stats__item{border-block-start:0;padding-inline:var(--space-4)}}

/* ------------------------------------------------------------------ home: mission */
.home-mission__grid{display:grid;gap:var(--space-7);align-items:start}
@media (min-width:760px){.home-mission__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-mission__media{grid-column:1/-1;aspect-ratio:21/9}}
/* Tablets and small laptops: text | body side by side, the photo full width below. */
@media (min-width:760px) and (max-width:1179px){
  .home-mission__grid:not(.home-mission__grid--no-body){grid-template-areas:"main body" "media media"}
  .home-mission__main{grid-area:main}
  .home-mission__body{grid-area:body}
  .home-mission__media{grid-area:media}
}
@media (min-width:1180px){
  .home-mission__grid{grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr);align-items:stretch}
  .home-mission__media{grid-column:auto;aspect-ratio:auto;min-block-size:420px}
  .home-mission__grid--no-media{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
}
.home-mission__grid--no-body{grid-template-columns:minmax(0,1fr)}
@media (min-width:1180px){.home-mission__grid--no-body:not(.home-mission__grid--no-media){grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.home-mission__media{border-radius:var(--radius-lg);min-block-size:260px}
.home-mission__media .media__img{position:absolute;inset:0}
.mission-quote{margin:0 0 var(--space-5);padding:0;color:var(--navy);font-size:clamp(1.6rem,1.05rem + 1.9vw,2.75rem);font-weight:700;line-height:var(--lh-snug)}
:lang(en) .mission-quote{font-family:var(--font-display);line-height:1.22}
.mission-quote p{margin:0}
.mission-quote::before{content:"";display:block;inline-size:64px;block-size:4px;border-radius:2px;background:var(--gradient);margin-block-end:var(--space-5)}
.home-mission__text{color:var(--muted);font-size:var(--fs-lead);max-inline-size:52ch}
.home-mission__body{background:var(--light);border-radius:var(--radius-lg);padding:clamp(24px,1rem + 2vw,48px)}
.home-mission__body h2{font-size:var(--fs-h3);margin-block-start:0}
.home-mission__body p:last-child{margin-block-end:0}

/* ------------------------------------------------------------------ RISE steps */
.rise-steps{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
@media (min-width:1100px){
  .rise-steps:not(.rise-steps--compact){grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-5)}
  .rise-steps:not(.rise-steps--compact)::before{content:"";position:absolute;inset-inline:0;inset-block-start:64px;block-size:2px;background:var(--gradient);opacity:.6}
}
.rise-step{position:relative;display:flex}
.rise-step__link{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-3);inline-size:100%;padding:var(--space-6) var(--space-5) var(--space-5);background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.rise-step__link::before{content:"";position:absolute;inset-inline:0;inset-block-start:0;block-size:4px;background:var(--gradient)}
.rise-step__link:hover{border-color:var(--navy-700);box-shadow:var(--shadow-lg);transform:translateY(-3px);color:var(--ink)}
.rise-step__num{font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,1.6rem + 1.6vw,3.2rem);line-height:var(--lh-tight);color:var(--pink-dark);font-variant-numeric:lining-nums tabular-nums}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .rise-step__num{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
}
.rise-step__label{font-weight:800;color:var(--navy);font-size:var(--fs-h3);line-height:var(--lh-snug)}
.rise-step__text{color:var(--muted);font-size:.98rem}
.rise-step__tags{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}
.rise-step__tag{display:inline-flex;padding:2px var(--space-3);border-radius:999px;background:var(--light);color:var(--navy);font-size:.82rem;font-weight:600;line-height:1.6}
.rise-step__more{margin-block-start:auto;padding-block-start:var(--space-2);color:var(--pink-dark)}
.rise-step.is-current .rise-step__link{background:var(--navy);border-color:var(--navy)}
.rise-step.is-current .rise-step__label{color:#FFFFFF}
.rise-step.is-current .rise-step__num{background:none;color:#FFFFFF}
.rise-steps--compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:var(--space-3)}
.rise-steps--compact .rise-step__link{flex-direction:row;align-items:center;gap:var(--space-3);min-block-size:var(--target);padding:var(--space-3) var(--space-4);border-radius:999px;box-shadow:none}
.rise-steps--compact .rise-step__link::before{display:none}
.rise-steps--compact .rise-step__num{font-size:1.1rem}
.rise-steps--compact .rise-step__label{font-size:1rem}
@media (max-width:600px){
  .rise-steps:not(.rise-steps--compact) .rise-step__link{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-4);row-gap:var(--space-1);align-items:start;padding:var(--space-5) var(--space-4)}
  .rise-steps:not(.rise-steps--compact) .rise-step__num{grid-row:span 4;font-size:2rem}
  .rise-step__more{display:none}
}

/* ------------------------------------------------------------------ RISE phase page */
.phase-mark{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}
.phase-mark__num{font-family:var(--font-display);font-variant-numeric:lining-nums;font-weight:800;font-size:clamp(5rem,3rem + 8vw,11rem);line-height:var(--lh-tight);color:#FFFFFF;opacity:.95}
.phase-mark__dots{display:flex;gap:var(--space-2)}
.phase-mark__dot{inline-size:44px;block-size:6px;border-radius:3px;background:rgba(255,255,255,.25)}
.phase-mark__dot.is-done{background:rgba(255,255,255,.6)}
.phase-mark__dot.is-current{background:var(--gradient)}
/* One 12-column row: typical support (5) | services and the map link (4) | photo (3). */
.rise-phase{padding-block:clamp(32px,1rem + 3vw,72px)}
.rise-phase__grid{display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr);align-items:stretch}
@media (min-width:760px){.rise-phase__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rise-phase__media{grid-column:1/-1;aspect-ratio:21/9}}
@media (min-width:1100px){
  .rise-phase__grid{grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr)}
  .rise-phase__grid--no-media{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
  .rise-phase__media{grid-column:auto;aspect-ratio:auto;min-block-size:280px}
}
.rise-phase__block{display:flex;flex-direction:column;gap:var(--space-3);background:var(--faint);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:clamp(24px,1rem + 1.5vw,40px)}
.rise-phase__block .chips{margin-block-end:0}
.rise-phase__chips .chip--static{min-block-size:var(--target);font-size:1rem;padding-inline:var(--space-4)}
.rise-phase__map{margin:auto 0 0;padding-block-start:var(--space-3)}
.rise-phase__map .link-arrow{color:var(--pink-dark)}
.rise-phase__media{border-radius:var(--radius-lg);min-block-size:220px}
.rise-phase__media .media__img{position:absolute;inset:0}
.phase-nav{padding-block:var(--space-7)}

/* ------------------------------------------------------------------ map bands (home teaser, RISE call-outs) */
.home-map,.map-band{position:relative;overflow:hidden;color:var(--on-dark);background:radial-gradient(circle at 88% 20%,rgba(233,30,140,.25),transparent 38%),radial-gradient(circle at 70% 95%,rgba(0,188,212,.2),transparent 40%),linear-gradient(135deg,var(--navy-900),var(--navy) 55%,var(--navy-700))}
.map-band{padding-block:var(--section-y)}
.map-band__inner{display:grid;gap:var(--space-7);align-items:center}
@media (min-width:960px){.map-band__inner{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.map-band__text h2{color:#FFFFFF}
.map-band__text>:last-child{margin-block-end:0}
.map-band__lead{font-size:var(--fs-lead);color:var(--on-dark);max-inline-size:60ch}
.map-band__note{color:var(--on-dark-muted);font-size:.95rem;max-inline-size:60ch}
.home-map a:focus-visible,.map-band a:focus-visible{outline-color:#FFFFFF}
.map-band__art{display:flex;justify-content:center}
.mini-tiles{direction:ltr;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:8px;inline-size:min(440px,100%);aspect-ratio:1/1;margin-inline:auto}
.mini-tile{border-radius:10px;background:var(--light);border:1.5px solid var(--navy-700)}
.mini-tile--l1{background:#DCE2F3}.mini-tile--l2{background:#C3CCEA}.mini-tile--l3{background:#A9B5E0}
.mini-tile--kr{box-shadow:inset 0 0 0 2px var(--purple)}
.mini-tiles--on-dark .mini-tile{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.3)}
.mini-tiles--on-dark .mini-tile--l1{background:rgba(255,255,255,.14)}
.mini-tiles--on-dark .mini-tile--l2{background:rgba(255,255,255,.22)}
.mini-tiles--on-dark .mini-tile--l3{background:linear-gradient(135deg,rgba(233,30,140,.85),rgba(156,39,176,.85));border-color:transparent}
.mini-tiles--on-dark .mini-tile--kr{box-shadow:inset 0 0 0 2px rgba(0,188,212,.9)}
.mt-c0{grid-column:1}.mt-c1{grid-column:2}.mt-c2{grid-column:3}.mt-c3{grid-column:4}.mt-c4{grid-column:5}
.mt-r0{grid-row:1}.mt-r1{grid-row:2}.mt-r2{grid-row:3}.mt-r3{grid-row:4}.mt-r4{grid-row:5}

/* ------------------------------------------------------------------ members: logo wall (home) */
.logo-wall{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr))}
@media (min-width:1200px){.logo-wall{grid-template-columns:repeat(5,minmax(0,1fr))}}
.logo-wall__item{display:flex}
.logo-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);inline-size:100%;min-block-size:180px;padding:var(--space-5) var(--space-4);background:var(--faint);border:1px solid var(--line-soft);border-radius:var(--radius-lg);color:var(--navy);text-decoration:none;text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s}
.logo-tile:hover{background:var(--surface);border-color:var(--navy-700);box-shadow:var(--shadow-lg);transform:translateY(-3px);color:var(--navy)}
.logo-tile:has(.logo-tile__mark img){background:#FFFFFF}
.logo-tile__mark{display:grid;place-items:center;inline-size:100%;block-size:92px}
/* Logos sit on white, one height per row. Wordmarks are stored trimmed (wide), so they fill
   the width; square marks on their own colour read as tiles (rounded). */
.logo-tile__mark img{max-block-size:84px;max-inline-size:84%;inline-size:auto;block-size:auto;object-fit:contain;border-radius:12px}
.logo-tile__mark--monogram{inline-size:76px;border-radius:14px}
.logo-tile__name{font-weight:700;line-height:var(--lh-snug)}
/* One monogram face and shape everywhere (Network, home wall; map cards in map.css). */
.monogram{font-family:var(--font-body);font-weight:800;font-size:1.6rem;color:#FFFFFF;line-height:1}
.monogram:is([lang="ar"],[lang="ckb"]){line-height:1.6}
/* The five tones are the map's (map.css .map-mark--t0..t4): the same slug gets the same colour. */
:is(.member-card__logo,.logo-tile__mark).member-card__logo--tone-0{background-color:#1A2752;background-image:linear-gradient(135deg,#243571,#111C3C)}
:is(.member-card__logo,.logo-tile__mark).member-card__logo--tone-1{background-color:#A8144F;background-image:linear-gradient(135deg,#C2185B,#8E0F44)}
:is(.member-card__logo,.logo-tile__mark).member-card__logo--tone-2{background-color:#621882;background-image:linear-gradient(135deg,#7B1FA2,#4A1263)}
:is(.member-card__logo,.logo-tile__mark).member-card__logo--tone-3{background-color:#005462;background-image:linear-gradient(135deg,#00697A,#003F4A)}
:is(.member-card__logo,.logo-tile__mark).member-card__logo--tone-4{background-color:#3A2167;background-image:linear-gradient(135deg,#1D2D5E,#5B1670)}
/* Phones: two tiles per row instead of one long column. */
@media (max-width:600px){
  .logo-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
  .logo-tile{min-block-size:132px;padding:var(--space-4) var(--space-3);gap:var(--space-3)}
  .logo-tile__mark{block-size:64px}
  .logo-tile__mark--monogram{inline-size:56px}
  .logo-tile__mark img{max-block-size:58px;border-radius:10px}
  .logo-tile .monogram{font-size:1.25rem}
}

/* ------------------------------------------------------------------ members: cards (network) */
.member-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
@media (min-width:1400px){.member-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.member-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);scroll-margin-block-start:var(--sticky-offset);transition:box-shadow .2s,border-color .2s}
.member-card:hover{box-shadow:var(--shadow-lg);border-color:var(--line)}
.member-card:target{outline:3px solid var(--focus);outline-offset:2px}
/* One fixed header height per row: logos of any shape line up, names and descriptors align. */
.member-card__logo{position:relative;display:grid;place-items:center;block-size:clamp(136px,9vw,168px);background:var(--faint);border-block-end:1px solid var(--line-soft);padding:var(--space-5) var(--space-6)}
.member-card__logo:not(.member-card__logo--monogram){background:#FFFFFF}
.member-card__logo img{max-block-size:min(104px,100%);max-inline-size:78%;inline-size:auto;block-size:auto;object-fit:contain;border-radius:14px}
.member-card__logo--monogram{border-block-end:0}
.member-card__logo--monogram::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.5px,transparent 1.7px);background-size:22px 22px;pointer-events:none}
.member-card__logo--monogram .monogram{position:relative;z-index:1;display:grid;place-items:center;inline-size:88px;block-size:88px;border-radius:22px;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.5);font-size:2rem}
.member-card__body{flex:1;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5)}
.member-card__name{margin:0;font-size:var(--fs-h3)}
.member-card__alt{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);color:var(--muted);font-size:.92rem}
.member-card__text{margin:0}
.member-card__meta{margin-block:auto 0;padding-block-start:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center;color:var(--muted);font-size:.92rem}
.member-card__city{display:inline-flex;align-items:center;gap:var(--space-1)}
.member-card__site{margin:0}
.member-card__site a{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:var(--target);font-weight:600}
.network-members .section-head{margin-block-end:var(--space-6)}
.join-band{background:linear-gradient(var(--to-end),var(--pink-50),var(--light));padding-block:var(--section-y)}
.join-band__grid{display:grid;gap:var(--space-5) var(--space-8);align-items:start}
@media (min-width:960px){.join-band__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.join-band__title{font-size:var(--fs-h2);margin:0}
.join-band__body .prose{font-size:var(--fs-lead)}

/* ------------------------------------------------------------------ activities */
.activity-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.activity-grid--strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
@media (min-width:768px){.activity-grid--strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){.activity-grid--strip{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* Phones: the home strip is a sideways rail (scroll-snap, no JS needed). The negative
   margin equals the gutter, so the page itself never scrolls sideways. */
@media (max-width:767px){
  .activity-grid--strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(78%,300px);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);padding-block-end:var(--space-3)}
  .activity-grid--strip>.activity-card{scroll-snap-align:start}
}
/* The Activities page: 4 columns, the newest post featured at 2 x 2 (page 1). */
@media (min-width:1280px){
  .activity-grid--feed{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense}
  .activity-grid--featured>.activity-card:first-child{grid-column:span 2;grid-row:span 2}
  .activity-grid--featured>.activity-card:first-child .activity-card__visual{aspect-ratio:auto;flex:1;min-block-size:320px}
  .activity-grid--featured>.activity-card:first-child .activity-card__caption{font-size:var(--fs-lead);-webkit-line-clamp:5;line-clamp:5}
  .activity-grid--feed>.activity-card--wide{grid-column:span 2}
  .activity-grid--feed>.activity-card--wide .activity-card__visual{aspect-ratio:2/1}
}
.activity-card{display:flex}
.activity-card__figure{margin:0;display:flex;flex-direction:column;inline-size:100%;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}
.activity-card__figure:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.activity-card__visual{position:relative;aspect-ratio:1/1}
.activity-card__media{position:absolute;inset:0}
.activity-card__media .media__img{position:absolute;inset:0;transition:transform .5s ease}
.activity-card__figure:hover .media__img{transform:scale(1.04)}
.activity-card__sample{position:absolute;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);z-index:1}
.activity-card__body{flex:1;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-5)}
.activity-card__meta{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);align-items:center;color:var(--muted);font-size:.9rem;font-weight:600}
.activity-card__city{display:inline-flex;align-items:center;gap:var(--space-1)}
.activity-card__caption{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.activity-grid--strip .activity-card__caption{-webkit-line-clamp:3;line-clamp:3;font-size:.95rem}
.activity-card__link{margin:auto 0 0;padding-block-start:var(--space-2)}
.activity-card__link a{display:inline-flex;align-items:center;gap:var(--space-2);min-block-size:var(--target);font-weight:700}
.activities__sample-note{margin-block-end:var(--space-6)}
.empty-state{display:grid;justify-items:start;gap:var(--space-2);padding:clamp(24px,1rem + 3vw,64px);background:var(--light);border-radius:var(--radius-lg);border:1px dashed var(--line)}
.empty-state__title{font-size:var(--fs-h3);margin:0}
.empty-state p{margin:0;max-inline-size:60ch}
.follow-card{display:grid;gap:var(--space-3);padding:var(--space-6);background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);max-inline-size:440px}
.follow-card p{margin:0}
.follow-card--inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-4) var(--space-5);max-inline-size:680px}
.follow-card--inline .follow-card__handle{font-size:1.2rem}
.follow-card--inline .follow-card__text{flex:1 1 220px}
/* In the hero band the follow card and the contact channels sit at the end of their column (mirrors in RTL), not mid-band. */
@media (min-width:900px){.page-hero__aside>:is(.follow-card,.channel-list){margin-inline-start:auto}}
.follow-card__handle{display:inline-flex;align-items:center;gap:var(--space-3);font-size:1.4rem;font-weight:800;color:var(--navy)}
.follow-card__handle .icon{color:var(--pink-dark)}
.follow-card__text{color:var(--muted)}

/* ------------------------------------------------------------------ events */
.event-grid{display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
@media (min-width:900px){.event-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.event-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){
  .event-grid--1 .event-card--feature{flex-direction:row}
  .event-grid--1 .event-card--feature .event-card__visual{flex:0 0 48%;aspect-ratio:auto;min-block-size:340px}
}
/* Two events (the usual case): wide feature rows, not two tall 16:9 boxes of placeholder art. */
@media (min-width:900px){.event-grid--2 .event-card__visual{aspect-ratio:21/9}}
@media (min-width:1280px){
  .event-grid--2 .event-card--feature{flex-direction:row}
  .event-grid--2 .event-card--feature .event-card__visual{flex:0 0 42%;aspect-ratio:auto;min-block-size:280px}
}
.event-grid--compact{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}
.event-card{display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:var(--radius-lg)}
.event-card--feature:hover{transform:translateY(-3px)}
.event-card__visual{position:relative;aspect-ratio:16/9}
.event-card__media{position:absolute;inset:0}
.event-card__media .media__img{position:absolute;inset:0}
.date-chip{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-inline-size:92px;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--surface);color:var(--navy);text-align:center;line-height:var(--lh-snug);box-shadow:var(--shadow)}
.event-card__visual .date-chip{position:absolute;inset-block-start:var(--space-4);inset-inline-start:var(--space-4)}
.date-chip__days{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:var(--lh-tight)}
.date-chip__month{font-size:.82rem;font-weight:600}
.event-card__body{flex:1;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) var(--space-6) var(--space-6)}
.event-card__title{font-size:var(--fs-h3);margin:0}
.event-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);color:var(--muted);font-size:.95rem;margin:0}
.event-card__meta>span{display:inline-flex;align-items:center;gap:var(--space-2)}
.event-card__summary{margin:0}
.event-card__more{margin:auto 0 0;padding-block-start:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;color:var(--pink-dark)}
.event-card--compact{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);align-items:start;padding:var(--space-5)}
.event-card--compact .date-chip{background:var(--navy);color:#FFFFFF;box-shadow:none}
.event-card--compact .event-card__body{padding:0}
.event-card--past .date-chip{background:var(--muted);color:#FFFFFF}
.event-card--past .event-card__visual .date-chip{background:var(--surface);color:var(--muted)}
@media (max-width:520px){
  .event-card--compact{grid-template-columns:minmax(0,1fr)}
  .event-card--compact .date-chip{flex-direction:row;gap:var(--space-2);inline-size:max-content;max-inline-size:100%;padding:var(--space-2) var(--space-3)}
  .event-card--compact .date-chip__days{font-size:1.1rem}
  .event-card__body{padding:var(--space-4) var(--space-4) var(--space-5)}
}
.events-section--past{background:var(--surface)}
.event-body__grid{display:grid;gap:var(--space-7);align-items:start}
@media (min-width:960px){.event-body__grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}.event-body__aside{position:sticky;inset-block-start:var(--sticky-offset)}}
.event-body__main .prose{font-size:var(--fs-lead)}
.event-body__aside{display:grid;gap:var(--space-5)}
.event-facts{display:grid;gap:var(--space-3);margin:0 0 var(--space-4)}
.event-facts dt{font-size:.88rem;color:var(--muted);font-weight:700}
.event-facts dd{margin:0;font-weight:700;color:var(--navy)}

/* ------------------------------------------------------------------ cards in asides */
.aside-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow)}
.aside-card>:last-child{margin-block-end:0}
.aside-card__title{font-size:var(--fs-h3);font-family:var(--font-body)}
.aside-card__mail{display:flex;align-items:center;gap:var(--space-2)}
.aside-card__mail a{display:inline-flex;align-items:center;min-block-size:var(--target)}
.aside-card--navy{background:linear-gradient(135deg,var(--navy-900),var(--navy-700));border-color:transparent;color:var(--on-dark)}
.aside-card--navy .aside-card__title{color:#FFFFFF}
.aside-card--navy :focus-visible{outline-color:#FFFFFF}
.aside-links{list-style:none;margin:var(--space-5) 0 0;padding:0;display:grid;gap:var(--space-1)}
.aside-links a{display:flex;align-items:center;min-block-size:var(--target);padding-inline:var(--space-4);border-radius:var(--radius-sm);text-decoration:none;font-weight:600}
.aside-links a:hover{background:var(--light)}
.aside-links a[aria-current]{background:var(--light);color:var(--pink-dark)}

/* ------------------------------------------------------------------ copy pages: rows, cards, intro, gallery */
.split-row{padding-block:var(--section-y)}
.split-row--white{background:var(--surface)}
.split-row--light{background:var(--light)}
.split-row__grid{display:grid;gap:var(--space-5) var(--space-8)}
@media (min-width:960px){
  .split-row__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .split-row:not(.split-row--cards) .split-row__head{position:sticky;inset-block-start:var(--sticky-offset);align-self:start}
  .split-row--cards .split-row__grid{grid-template-columns:minmax(0,1fr)}
  .split-row--cards .split-row__head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--space-8);align-items:end}
  .split-row--cards .split-row__head .split-row__num{grid-column:1/-1}
}
.split-row__num{display:flex;align-items:center;gap:var(--space-3);margin-block-end:var(--space-3);font-weight:800;color:var(--pink-dark);font-variant-numeric:lining-nums tabular-nums}
.split-row__num::after{content:"";inline-size:48px;block-size:3px;border-radius:2px;background:var(--gradient)}
.split-row__title{font-size:var(--fs-h2);margin-block-end:var(--space-3);max-inline-size:22ch}
.split-row__lead{font-size:var(--fs-lead)}
.split-row__body{font-size:clamp(1.05rem,1rem + .2vw,1.18rem)}
/* The body column is used in full; only running text keeps the reading measure. */
.split-row__body.prose{max-inline-size:none}
.split-row__body>:is(p,h3,h4,blockquote,ol){max-inline-size:var(--measure)}
.split-row__body>ul{list-style:none;padding:0;max-inline-size:none;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
/* A section that opens with a list: heading above, the list as cards across the container. */
.split-row--list .split-row__body>ul{margin-block-end:var(--space-5)}
.split-row--list .split-row__body>ul>li{padding:var(--space-6)}
/* Short statements (Mission, Vision): large type; two in a row share one band. */
.split-row--statement .split-row__body,.statement__body{font-size:clamp(1.35rem,1.05rem + 1.2vw,2.1rem);color:var(--navy);line-height:var(--lh-snug);font-weight:600}
:lang(en) :is(.split-row--statement .split-row__body,.statement__body){font-family:var(--font-display);line-height:1.35;font-weight:500}
.statement__body>:last-child{margin-block-end:0}
.statement-pair{display:grid;gap:var(--space-7) var(--space-8);grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.statement{position:relative;padding-block-start:var(--space-5);border-block-start:4px solid transparent;border-image:var(--gradient) 1}
.statement .split-row__title{max-inline-size:none}
.link-row{margin-block:var(--space-5) 0;gap:var(--space-2) var(--space-6)}
.link-row .link-arrow{color:var(--pink-dark)}
.link-row .link-arrow:hover{color:var(--pink-darker)}
.split-row__body>ul>li{margin:0;padding:var(--space-5);background:var(--faint);border:1px solid var(--line-soft);border-block-start:3px solid var(--pink-dark);border-radius:var(--radius)}
.split-row--light .split-row__body>ul>li{background:var(--surface)}
.split-row__body>ul>li strong{display:block;color:var(--navy);margin-block-end:var(--space-1)}
.pillars{list-style:none;margin:var(--space-6) 0 0;padding:0;display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.pillar{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-7) var(--space-6) var(--space-6);background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.split-row--white .pillar{background:var(--faint);box-shadow:none}
.pillar::before{content:"";position:absolute;inset-inline:0;inset-block-start:0;block-size:4px;background:var(--gradient)}
.pillar__num{font-family:var(--font-display);font-variant-numeric:lining-nums;font-weight:800;font-size:2.6rem;line-height:var(--lh-tight);color:var(--pink-dark)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .pillar__num{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
}
.pillar__title{font-size:var(--fs-h3);margin:0}
.pillar__text>:last-child{margin-block-end:0}
.intro-row__grid{display:grid;gap:var(--space-6) var(--space-8);align-items:start}
.intro-row__text{font-size:clamp(1.15rem,1rem + .7vw,1.6rem);max-inline-size:60ch;padding-inline-start:var(--space-6);border-inline-start:4px solid transparent;border-image:var(--gradient) 1}
.intro-row__text>:last-child{margin-block-end:0}
@media (min-width:960px){.intro-row__grid--aside{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}}
.intro-row__grid--aside>.prose{font-size:var(--fs-lead)}
.gallery{background:var(--surface)}
.gallery__grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.gallery__item{aspect-ratio:4/3}
.gallery__item .media__img{position:absolute;inset:0}
@media (min-width:900px){
  .gallery__grid--3{grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr)}
  .gallery__grid--3 .gallery__item{aspect-ratio:auto;min-block-size:clamp(280px,26vw,480px)}
}
.page-body .prose>:first-child{margin-block-start:0}
.prose--legal h2{font-size:1.4rem}
.prose--legal h3{font-size:1.15rem}

/* ------------------------------------------------------------------ legal: three-column document */
.doc__grid{display:grid;gap:var(--space-7);align-items:start}
/* The text keeps its measure; the slack goes to the contents list and the aside equally.
   Below 1100 px: one column (contents list on top, collapsible; the aside after the text). */
@media (min-width:1100px){.doc__grid{grid-template-columns:minmax(220px,1fr) minmax(0,72ch) minmax(240px,1fr);column-gap:clamp(32px,3vw,64px)}}
.doc__toc{background:var(--faint);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:var(--space-5)}
.doc__toc-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-block-size:var(--target);cursor:pointer;list-style:none}
.doc__toc-summary::-webkit-details-marker{display:none}
.doc__toc-summary::after{content:"";inline-size:9px;block-size:9px;border-inline-end:2px solid var(--pink-dark);border-block-end:2px solid var(--pink-dark);transform:rotate(45deg);flex:none}
.doc__toc-details[open]>.doc__toc-summary::after{transform:rotate(-135deg)}
[dir="rtl"] .doc__toc-summary::after{transform:rotate(-45deg)}
[dir="rtl"] .doc__toc-details[open]>.doc__toc-summary::after{transform:rotate(135deg)}
.doc__toc-summary .doc__toc-title{margin:0}
.doc__toc-details[open]>.doc__toc-summary{margin-block-end:var(--space-2)}
@media (min-width:1100px){.doc__toc,.doc__aside{position:sticky;inset-block-start:var(--sticky-offset);max-block-size:calc(100vh - var(--sticky-offset) - var(--space-4));overflow-y:auto}}
.doc__toc-title{font-family:var(--font-body);font-size:1rem;color:var(--pink-dark);margin-block-end:var(--space-3)}
:lang(en) .doc__toc-title{letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
.doc__toc-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.doc__toc-list a{display:flex;align-items:center;min-block-size:var(--target);padding-inline:var(--space-3);border-radius:var(--radius-sm);text-decoration:none;color:var(--navy);font-weight:600;font-size:.95rem;line-height:var(--lh-snug)}
.doc__toc-list a:hover{background:var(--light)}
.doc__body{font-size:clamp(1rem,.96rem + .2vw,1.1rem)}
.doc__body.prose{max-inline-size:none}
.doc__section{scroll-margin-block-start:var(--sticky-offset)}
.doc__section>h2{padding-block-start:var(--space-5);border-block-start:1px solid var(--line-soft)}
.doc__aside{display:grid;gap:var(--space-4)}

/* ------------------------------------------------------------------ call-to-action band */
.cta-band{position:relative;background:linear-gradient(var(--to-end),var(--pink-50) 0%,#F3E5F5 50%,var(--light) 100%);padding-block:clamp(40px,1rem + 3vw,80px)}
.cta-band__inner{display:flex;flex-wrap:wrap;gap:var(--space-5) var(--space-8);align-items:center;justify-content:space-between}
.cta-band__text{max-inline-size:60ch}
/* Wide screens: title | line | actions across the band (no lone line with buttons far away). */
@media (min-width:1100px){
  .cta-band__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-8)}
  .cta-band__text{max-inline-size:none;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--space-8);align-items:center}
  .cta-band__text h2{margin:0}
  .cta-band__text p{max-inline-size:60ch}
}
.cta-band h2{margin-block-end:var(--space-2)}
.cta-band p{margin:0;font-size:var(--fs-lead);color:var(--ink)}
.cta-band__action{margin:0}

/* ------------------------------------------------------------------ contact */
.channel-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3);max-inline-size:480px}
.channel-list--inline{display:flex;flex-wrap:wrap;max-inline-size:none;margin-block-start:var(--space-5)}
.channel-list--inline .channel{padding:var(--space-3) var(--space-4)}
.channel{display:flex;align-items:center;gap:var(--space-4);min-block-size:var(--target);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);text-decoration:none;color:var(--navy);box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}
.channel:hover{border-color:var(--navy-700);box-shadow:var(--shadow-lg);color:var(--navy)}
.channel .icon{color:var(--pink-dark)}
.channel__text{display:grid}
.channel__label{font-size:.9rem;color:var(--muted)}
.channel__value{font-weight:800;font-size:1.1rem}
.contact-grid{display:grid;gap:var(--space-7);align-items:start}
@media (min-width:960px){.contact-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.contact-grid__aside{position:sticky;inset-block-start:var(--sticky-offset)}}
.contact-form{padding:clamp(24px,1rem + 2vw,48px);border-radius:var(--radius-lg)}
.contact-form__title{font-size:var(--fs-h2);margin-block-end:var(--space-5)}
.contact-form__privacy{margin-block-end:0}
.contact-form textarea.input{min-block-size:12rem;resize:vertical}
.contact-form select.input{appearance:auto}
@media (min-width:700px){
  .contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-5)}
  .contact-form>*{grid-column:1/-1}
  .contact-form>.field:has(#contact-name),.contact-form>.field:has(#contact-email){grid-column:auto}
}
.contact-grid__aside .aside-card{max-inline-size:none}
.contact-grid__aside h2{font-size:1.25rem;font-family:var(--font-body)}
.contact-grid__aside h2:first-child{margin-block-start:0}
.error-summary ul{margin-block:var(--space-2) 0;padding-inline-start:1.2em}
.error-summary a{color:var(--err-ink);font-weight:700}
.contact-sent{margin-block-end:var(--space-5)}

/* ------------------------------------------------------------------ narrow screens */
@media (max-width:480px){
  .hero__actions .btn,.map-band .cluster .btn,.home-map .cluster .btn,.cta-band__action .btn,.page-hero__actions .btn{inline-size:100%}
  .section-head__action{inline-size:100%}
  .section-head__action .btn{inline-size:100%}
}

/* ------------------------------------------------------------------ print */
@media print{
  .hero,.page-hero--navy,.home-map,.map-band{background:none;color:#000000}
  .hero{min-block-size:0}
  .hero__title,.hero__lead,.hero__eyebrow,.page-hero--navy :is(h1,p),.map-band :is(h2,p),.home-map :is(h2,p){color:#000000}
  .hero__media,.hero__shade,.page-hero__media,.media,.map-band__art,.contact-form,.phase-nav,.cta-band,.gallery,.doc__toc,.doc__aside{display:none!important}
  .stats--hero .stats__value,.stats--hero .stats__label{color:#000000}
  .date-chip{background:none;color:#000000;border:1px solid #999999}
  .split-row__head{position:static}
}
.section-head__lead{font-size:var(--fs-lead);max-inline-size:72ch;margin-block-start:var(--space-2)}
.section-head__lead>:last-child{margin-block-end:0}
