:root {
  --ink: #050608;
  --ink-2: #0d1117;
  --paper: #f1eee7;
  --white: #fff;
  --red: #e01822;
  --blue: #105cc9;
  --line-dark: rgba(255, 255, 255, .17);
  --line-light: rgba(5, 6, 8, .16);
  --sans: Inter, "Segoe UI", Arial, sans-serif;
  --display: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  --shell: min(91vw, 1480px);
  --header-h: 84px;
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
body { margin: 0; overflow-x: clip; color: var(--paper); background: var(--ink); font: 16px/1.55 var(--sans); }
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { color: #fff; background: var(--red); }

.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; top: 1rem; left: 1rem; padding: .65rem 1rem; color: var(--ink); background: var(--paper); transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.eyebrow { margin: 0 0 1.25rem; font-size: .72rem; line-height: 1.25; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.eyebrow::before { content: "//"; margin-right: .7em; color: var(--red); }
em { color: var(--red); font-style: normal; }
.button { display: inline-flex; min-height: 3.6rem; align-items: center; justify-content: space-between; gap: 2.2rem; padding: .78rem .82rem .78rem 1.35rem; color: var(--ink); background: var(--paper); border: 1px solid transparent; font-size: .75rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; transition: color .3s, background .3s, border-color .3s; }
.button > span { display: grid; width: 2.1rem; aspect-ratio: 1; place-items: center; color: #fff; background: var(--red); transition: transform .3s; }
.button:hover > span, .button:focus-visible > span { transform: rotate(45deg); }
.text-link, .line-link, .program__copy a, .event a { display: inline-flex; align-items: center; gap: .7rem; padding-bottom: .2rem; border-bottom: 1px solid currentColor; font-size: .75rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }

/* Persistent cinema chrome */
.page-progress { position: fixed; z-index: 160; inset: 0 0 auto; height: 2px; }
.page-progress span { display: block; height: 100%; background: var(--red); transform: scaleX(0); transform-origin: left; }
.site-header { position: fixed; z-index: 150; inset: 0 0 auto; display: flex; height: var(--header-h); align-items: center; gap: 2rem; padding: 0 3.5vw; color: #fff; border-bottom: 1px solid var(--line-dark); transition: height .35s, background .35s, transform .35s; }
.site-header.is-scrolled { height: 70px; background: rgba(5, 6, 8, .78); backdrop-filter: blur(18px) saturate(1.2); }
.brand { position: relative; z-index: 2; width: clamp(190px, 18vw, 285px); flex: 0 0 auto; }
.brand img { aspect-ratio: 588 / 146; object-fit: contain; }
.desktop-nav { display: flex; height: 100%; align-items: stretch; margin-left: auto; }
.desktop-nav > a, .nav-group > button, .nav-group > .nav-parent-link { position: relative; display: flex; height: 100%; align-items: center; gap: .4rem; padding: 0 .95rem; color: #fff; background: transparent; border: 0; font-size: .71rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; cursor: pointer; }
.desktop-nav > a::after, .nav-group > button::after, .nav-group > .nav-parent-link::after { content: ""; position: absolute; right: .95rem; bottom: 0; left: .95rem; height: 2px; background: var(--red); transform: scaleX(0); transition: transform .25s; }
.desktop-nav > a:hover::after, .desktop-nav > a:focus-visible::after, .nav-group:hover > button::after, .nav-group:focus-within > button::after, .nav-group:hover > .nav-parent-link::after, .nav-group:focus-within > .nav-parent-link::after { transform: scaleX(1); }
.nav-group { position: relative; }
.nav-group > button span, .nav-group > .nav-parent-link span { color: var(--red); font-size: 1rem; }
.nav-panel { position: absolute; top: calc(100% - 1px); right: 0; display: grid; min-width: 230px; gap: 2rem; padding: 1.5rem; color: var(--paper); background: rgba(8, 10, 14, .95); border: 1px solid var(--line-dark); box-shadow: 0 28px 70px rgba(0,0,0,.42); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .25s, transform .35s, visibility .25s; }
.nav-group:hover .nav-panel, .nav-group:focus-within .nav-panel { opacity: 1; visibility: visible; transform: none; }
.nav-panel--districts { right: -13rem; grid-template-columns: repeat(3, minmax(170px, 1fr)); width: min(680px, 72vw); }
.nav-panel div, .nav-panel--compact { display: flex; flex-direction: column; }
.nav-panel strong { margin-bottom: .7rem; color: var(--red); font-size: .67rem; letter-spacing: .14em; text-transform: uppercase; }
.nav-panel a { padding: .26rem 0; color: rgba(255,255,255,.72); font-size: .86rem; }
.nav-panel a:hover { color: #fff; }
.header-phone { font-size: .7rem; font-weight: 800; letter-spacing: .08em; white-space: nowrap; }
.menu-toggle { position: relative; z-index: 161; display: none; min-height: 44px; align-items: center; gap: .7rem; margin-left: auto; color: #fff; background: transparent; border: 0; font-size: .72rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.menu-toggle__lines { position: relative; display: block; width: 24px; height: 11px; border-top: 2px solid; border-bottom: 2px solid; transition: transform .25s; }
.menu-open .menu-toggle__lines { border-bottom-color: transparent; transform: rotate(45deg); }
.mobile-menu { position: fixed; z-index: 140; inset: 0; display: grid; align-items: center; color: var(--paper); background: var(--ink); clip-path: inset(0 0 100%); opacity: 0; visibility: hidden; transition: clip-path .55s cubic-bezier(.77,0,.18,1), opacity .3s, visibility .3s; }
.mobile-menu.is-open { clip-path: inset(0); opacity: 1; visibility: visible; }
.mobile-menu__inner { width: var(--shell); margin: 5rem auto 0; }
.mobile-menu nav { display: flex; flex-direction: column; }
.mobile-menu nav a { font-family: var(--display); font-size: clamp(2.8rem, 10vw, 5rem); line-height: 1; text-transform: uppercase; }
.mobile-menu__contact { display: flex; flex-wrap: wrap; gap: .7rem 2rem; margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid var(--line-dark); font-size: .84rem; }
.mobile-menu address { width: 100%; max-width: 430px; color: rgba(255,255,255,.55); font-style: normal; }

/* Shared scene architecture */
.film-scene { position: relative; min-height: 100svh; background: var(--ink); }
.scene-stage { position: relative; height: 100svh; min-height: 660px; overflow: hidden; isolation: isolate; perspective: 1400px; transform-style: preserve-3d; }
.scene-wipe { position: absolute; z-index: 40; inset: 0; pointer-events: none; transform: scaleY(0); transform-origin: 50% 100%; }
.scene-wipe--dark { background: var(--ink); }
.scene-wipe--red { background: var(--red); }
.scene-wipe--paper { background: var(--paper); }
.scene-wipe--blue { background: #071a34; }
.strike .scene-wipe--paper { background: linear-gradient(rgba(241,238,231,.7), rgba(241,238,231,.9)), url("../images/service/h1-service-1.jpg") center / cover; }
.statistics .scene-wipe--dark { background: linear-gradient(rgba(5,6,8,.76), rgba(5,6,8,.92)), url("../images/slider/slider-2.jpg") center / cover; }
.events .scene-wipe--paper { background: linear-gradient(rgba(241,238,231,.78), rgba(241,238,231,.94)), url("../images/about/h2-about-1.jpg") center / cover; }
.districts .scene-wipe--dark { background: linear-gradient(rgba(5,6,8,.72), rgba(5,6,8,.92)), url("../images/slider/slider-1.jpg") center / cover; }
.gallery .scene-wipe--paper { background: linear-gradient(rgba(241,238,231,.74), rgba(241,238,231,.9)), url("../images/testimonial/slider-2.jpg") center / cover; }
.voices .scene-wipe--dark { background: linear-gradient(rgba(5,6,8,.72), rgba(5,6,8,.92)), url("../images/progress/h2-progress-2.jpg") center / cover; }
.chapter-mark { position: absolute; z-index: 35; right: 2.1vw; top: 50%; display: grid; grid-template-columns: auto 46px auto; align-items: center; gap: .65rem; color: rgba(255,255,255,.48); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; transform: rotate(90deg) translateX(50%); transform-origin: 100% 50%; }
.chapter-mark > span { color: var(--red); font-weight: 900; }
.chapter-mark i { height: 1px; background: currentColor; }
.film-grain { position: absolute; inset: 0; opacity: .12; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
.particle-field { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.particle-field span { position: absolute; left: var(--x); top: var(--y); width: var(--size); height: var(--size); border-radius: 50%; background: rgba(231,240,255,.8); box-shadow: 0 0 8px rgba(145,190,255,.7); opacity: var(--opacity); transform: translate3d(0,0,0) scale(var(--scale)); will-change: transform, opacity; }

/* 01 — opening */
.hero__stage { background: #020409; }
.hero__back, .hero__back::after, .hero__back .color-wash { position: absolute; inset: 0; }
.hero__back { z-index: -4; overflow: hidden; transform-style: preserve-3d; }
.hero__back > img { height: 100%; object-fit: cover; object-position: 52% center; transform: scale(1.08); transform-origin: 66% 43%; will-change: transform, filter; }
.hero__back::after { content: ""; background: linear-gradient(90deg, rgba(2,4,8,.94), rgba(2,4,8,.6) 38%, rgba(2,4,8,.04) 72%), linear-gradient(0deg, rgba(2,4,8,.72), transparent 55%); }
.hero__back .color-wash { background: radial-gradient(circle at 70% 40%, rgba(21,88,198,.22), transparent 34%), linear-gradient(125deg, transparent 48%, rgba(224,24,34,.16)); mix-blend-mode: screen; }
.hero__mid { position: absolute; z-index: -2; inset: 0; overflow: hidden; }
.light-beam { position: absolute; top: -35%; width: 18vw; height: 155%; background: linear-gradient(90deg, transparent, rgba(126,181,255,.12), transparent); filter: blur(14px); mix-blend-mode: screen; transform: rotate(14deg); }
.light-beam--one { left: 46%; }
.light-beam--two { left: 74%; width: 10vw; transform: rotate(-7deg); }
.hero__giant { position: absolute; z-index: -1; left: 49%; top: 17%; display: flex; flex-direction: column; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.28); font: 900 clamp(8rem, 17vw, 18rem)/.67 var(--display); letter-spacing: -.04em; text-transform: uppercase; transform: translate3d(-20%,0,70px); transform-style: preserve-3d; }
.hero__giant span:nth-child(2) { color: rgba(255,255,255,.055); transform: translateX(9%); }
.hero__giant span:nth-child(3) { color: var(--red); -webkit-text-stroke: 0; transform: translateX(62%); }
.hero__content { position: relative; z-index: 3; display: flex; height: 100%; flex-direction: column; justify-content: center; padding-top: var(--header-h); transform: translateZ(40px); transform-style: preserve-3d; }
.hero h1 { margin: 0; font: 900 clamp(5.4rem, 10.7vw, 11.5rem)/.76 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.hero h1 span { display: block; }
.hero h1 span:last-child { margin-left: 9vw; color: transparent; -webkit-text-stroke: 1.5px #fff; }
.hero__eyebrow { color: rgba(255,255,255,.68); }
.hero__intro { max-width: 30rem; margin: 2rem 0 1.6rem 9vw; font-size: clamp(1.08rem, 1.55vw, 1.5rem); line-height: 1.35; }
.hero__actions { display: flex; align-items: center; gap: 1.5rem; margin-left: 9vw; }
.hero__notes { position: absolute; z-index: 4; right: 5vw; bottom: 3rem; display: grid; width: min(47vw, 680px); grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); transform: translateZ(180px); }
.hero__notes article { padding: .85rem 1rem 0; border-left: 1px solid var(--line-dark); }
.hero__notes span { color: var(--red); font-size: .67rem; font-weight: 900; }
.hero__notes p { margin: .5rem 0 0; color: rgba(255,255,255,.68); font-size: .74rem; line-height: 1.4; }
.hero__front { position: absolute; z-index: 8; inset: 0; pointer-events: none; transform: translateZ(260px); }
.hero__front i { position: absolute; right: -12vw; width: 52vw; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent); transform: rotate(-18deg); }
.hero__front i:nth-child(1) { top: 31%; }.hero__front i:nth-child(2) { top: 40%; right: -4vw; width: 35vw; opacity: .45; }.hero__front i:nth-child(3) { top: 66%; width: 65vw; opacity: .25; }
.scroll-cue { position: absolute; z-index: 8; left: 3.4vw; bottom: 2.5rem; display: flex; align-items: center; gap: .65rem; color: rgba(255,255,255,.6); font-size: .61rem; letter-spacing: .16em; text-transform: uppercase; writing-mode: vertical-rl; }
.scroll-cue i { width: 1px; height: 3rem; background: linear-gradient(var(--red) 50%, rgba(255,255,255,.2) 50%); background-size: 100% 200%; animation: cue 1.7s ease-in-out infinite; }
@keyframes cue { 50% { background-position: 0 100%; } }
.manifesto { position: relative; z-index: 3; overflow: hidden; padding: 1.25rem 0 1rem; color: var(--ink); background: var(--red); transform: rotate(-.8deg) scale(1.02); }
.manifesto__track { display: flex; width: max-content; align-items: center; gap: 1.8rem; font: 900 clamp(2.6rem, 5vw, 5rem)/1 var(--display); will-change: transform; }
.manifesto__track i { color: var(--paper); font: inherit; }

/* 02 — origin */
.origin__stage { color: var(--ink); background: var(--paper); }
.origin__back { position: absolute; z-index: -3; inset: 0; overflow: hidden; opacity: .12; }
.origin__back img { height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15); transform: scale(1.12); }
.origin__back span { position: absolute; inset: 0; background: linear-gradient(90deg, var(--paper) 28%, rgba(241,238,231,.82), var(--paper)); }
.origin__word { position: absolute; z-index: -1; left: -2vw; top: 50%; color: transparent; -webkit-text-stroke: 1px rgba(5,6,8,.12); font: 900 22vw/1 var(--display); letter-spacing: -.05em; transform: translateY(-50%); }
.origin__frame { position: absolute; z-index: 1; left: 6vw; top: 11vh; width: 35vw; height: 76vh; overflow: hidden; box-shadow: 0 35px 85px rgba(0,0,0,.22); transform-origin: 50% 50%; }
.origin__frame img { height: 100%; object-fit: cover; filter: grayscale(.9) contrast(1.08); }
.origin__frame > span { position: absolute; left: 1rem; top: 1rem; padding: .35rem .6rem; color: var(--paper); background: var(--ink); font-size: .65rem; font-weight: 850; letter-spacing: .13em; }
.origin__content { position: relative; z-index: 3; display: flex; height: 100%; flex-direction: column; justify-content: center; align-items: flex-start; padding-left: 49%; }
.origin__content h2 { margin: 0; font: 900 clamp(5rem, 9vw, 10rem)/.79 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.origin__lead { max-width: 44rem; margin: 2rem 0; font-size: clamp(.98rem, 1.2vw, 1.18rem); }
.origin__principles { position: absolute; z-index: 5; left: 7vw; bottom: 7vh; width: 33vw; padding: 1.2rem 1.4rem; color: var(--paper); background: rgba(5,6,8,.94); }
.origin__principles p { display: flex; gap: 1rem; margin: 0; padding: .65rem 0; border-bottom: 1px solid var(--line-dark); font-size: .72rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.origin__principles p:last-child { border: 0; }.origin__principles span { color: var(--red); }
.origin__years { position: absolute; z-index: 6; right: 4vw; bottom: 4vh; display: grid; grid-template-columns: auto auto 1fr; align-items: start; max-width: 330px; padding: 1rem 1.2rem; color: var(--paper); background: var(--red); }
.origin__years strong { font: 900 4.5rem/.8 var(--display); }.origin__years sup { font-size: 1.7rem; }.origin__years > span { grid-column: 1 / -1; margin-top: .7rem; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.origin .chapter-mark { color: rgba(5,6,8,.5); }

/* 03 — impact */
.strike__stage { background: var(--ink); }
.strike__image { position: absolute; z-index: -4; inset: 0; overflow: hidden; will-change: clip-path, transform; }
.strike__image img { height: 100%; object-fit: cover; will-change: transform, filter; }
.strike__image > span { position: absolute; inset: 0; }
.strike__image--one { clip-path: polygon(0 0, 52% 0, 40% 100%, 0 100%); }
.strike__image--one img { object-position: 35% center; transform: scale(1.12); }
.strike__image--one > span { background: linear-gradient(90deg, transparent 45%, var(--ink) 95%), linear-gradient(0deg, rgba(5,6,8,.55), transparent 45%); }
.strike__image--two { z-index: -5; opacity: 0; }
.strike__image--two img { object-position: 70% center; transform: scale(1.18); }
.strike__image--two > span { background: linear-gradient(90deg, rgba(5,6,8,.2), rgba(5,6,8,.82)); }
.strike__outline { position: absolute; z-index: -1; left: 22%; top: 8%; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.14); font: 900 16vw/1 var(--display); writing-mode: vertical-rl; }
.strike__content { position: relative; z-index: 4; display: flex; height: 100%; flex-direction: column; justify-content: center; align-items: flex-start; padding-left: 50%; }
.strike__content h2 { margin: 0; font: 900 clamp(4.8rem, 8.8vw, 9.5rem)/.79 var(--display); letter-spacing: -.03em; text-transform: uppercase; }
.strike__content h2 span { display: block; }.strike__content h2 span:last-child { margin-left: -8vw; color: var(--red); }
.strike__content > p:not(.eyebrow) { max-width: 43rem; margin: 2rem 0; color: rgba(255,255,255,.66); }
.strike__metrics { display: flex; gap: 3rem; }
.strike__metrics > div { display: flex; align-items: center; gap: .8rem; }
.strike__metrics strong { font: 900 3.5rem/1 var(--display); }.strike__metrics small { max-width: 8rem; color: rgba(255,255,255,.5); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.strike__energy { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.strike__energy > i { position: absolute; left: -5%; top: var(--top); width: var(--width); height: 1px; background: linear-gradient(90deg, transparent, rgba(222,238,255,.8), transparent); filter: drop-shadow(0 0 6px rgba(142,193,255,.65)); transform: rotate(-10deg) scaleX(0); transform-origin: right; }
.strike__energy > i:nth-child(1) { --top: 37%; --width: 52%; }.strike__energy > i:nth-child(2) { --top: 42%; --width: 62%; }.strike__energy > i:nth-child(3) { --top: 49%; --width: 46%; }.strike__energy > i:nth-child(4) { --top: 56%; --width: 58%; }
.strike__impact { position: absolute; z-index: 3; left: 38%; top: 46%; width: 10rem; aspect-ratio: 1; opacity: 0; transform: translate(-50%,-50%); }
.strike__impact::before { content: ""; position: absolute; inset: 40%; border-radius: 50%; background: #fff; box-shadow: 0 0 55px 26px rgba(145,195,255,.34); }
.strike__impact span { position: absolute; inset: 12%; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; }.strike__impact span:last-child { inset: 0; border-color: rgba(224,24,34,.55); }

/* 04 — programs, a single transforming stage */
.programs__stage { color: var(--ink); background: var(--paper); }
.programs__head { position: absolute; z-index: 8; left: 5vw; top: 11vh; width: 45vw; }
.programs__head h2 { margin: 0; font: 900 clamp(3.8rem, 6.2vw, 6.5rem)/.8 var(--display); letter-spacing: -.035em; text-transform: uppercase; }
.programs__counter { position: absolute; z-index: 12; right: 4vw; top: 13vh; display: flex; align-items: center; gap: .8rem; font-size: .68rem; letter-spacing: .14em; }
.programs__counter span { color: var(--red); font-weight: 900; }.programs__counter i { width: 70px; height: 1px; background: var(--line-light); }
.program { position: absolute; z-index: 3; inset: 0; transform-style: preserve-3d; }
.program__media { position: absolute; right: 0; top: 0; width: 56vw; height: 100%; overflow: hidden; clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%); }
.program__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--paper), transparent 26%), linear-gradient(0deg, rgba(5,6,8,.25), transparent 44%); }
.program__media img { height: 100%; object-fit: cover; transform: scale(1.08); }
.program__copy { position: absolute; z-index: 3; left: 5vw; bottom: 9vh; width: min(39vw, 600px); padding: 2rem 0; }
.program__copy > span { color: var(--red); font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.program__copy h3 { margin: 1rem 0 1.2rem; font: 900 clamp(2.8rem, 4.8vw, 5rem)/.88 var(--display); text-transform: uppercase; }
.program__copy p { max-width: 35rem; margin: 0 0 1.5rem; }
.programs__line { position: absolute; z-index: 10; left: 5vw; right: 5vw; bottom: 4.2vh; height: 2px; background: rgba(5,6,8,.13); }
.programs__line span { display: block; width: 33.333%; height: 100%; background: var(--red); transform-origin: left; }
.programs .chapter-mark { color: rgba(5,6,8,.5); }
.js .program--two, .js .program--three { opacity: 0; visibility: hidden; }

/* 05 — council portrait sequence */
.members__stage { background: #07101d; }
.members__stage::before { content: ""; position: absolute; z-index: -3; inset: 0; background: radial-gradient(circle at 70% 48%, rgba(35,102,184,.23), transparent 38%), linear-gradient(120deg, #050608, #09172a); }
.members__heading { position: absolute; z-index: 8; left: 5vw; top: 14vh; width: 39vw; }
.members__heading h2 { margin: 0 0 2rem; font: 900 clamp(4.5rem, 8.3vw, 8.7rem)/.8 var(--display); text-transform: uppercase; }
.members__index { position: absolute; z-index: 8; left: 5vw; bottom: 8vh; display: flex; align-items: flex-end; gap: .5rem; }
.members__index strong { color: var(--red); font: 900 5rem/.8 var(--display); }.members__index span { color: rgba(255,255,255,.42); font-size: .7rem; letter-spacing: .14em; }
.portrait { position: absolute; z-index: 4; right: 5vw; top: 9vh; width: 51vw; height: 84vh; transform-style: preserve-3d; }
.portrait__image { position: absolute; inset: 0 0 0 19%; overflow: hidden; clip-path: polygon(9% 0, 100% 0, 100% 90%, 0 100%); box-shadow: 0 34px 90px rgba(0,0,0,.42); }
.portrait__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,6,8,.42), transparent 45%), linear-gradient(0deg, rgba(5,6,8,.78), transparent 42%); }
.portrait__image img { height: 100%; object-fit: cover; object-position: center top; filter: saturate(.82) contrast(1.05); transform: scale(1.025); }
.portrait__meta { position: absolute; z-index: 3; left: 0; bottom: 7%; width: 86%; padding: 1.2rem 1.5rem; background: rgba(5,6,8,.9); border-left: 4px solid var(--red); backdrop-filter: blur(12px); }
.portrait__meta > span { color: var(--red); font-size: .65rem; font-weight: 900; letter-spacing: .14em; }.portrait__meta h3 { margin: .35rem 0 0; font: 900 clamp(2rem, 3.4vw, 3.8rem)/.95 var(--display); text-transform: uppercase; }.portrait__meta p { margin: .35rem 0 0; color: rgba(255,255,255,.58); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
.members__ghost { position: absolute; z-index: -1; left: 27%; bottom: -4vh; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.1); font: 900 18vw/.8 var(--display); }
.js .portrait:not(.portrait--one) { opacity: 0; visibility: hidden; }

/* 06 — statistics become the composition */
.statistics__stage { background: #05070b; }
.statistics__back { position: absolute; z-index: -3; inset: 0; overflow: hidden; }
.statistics__back img { height: 100%; object-fit: cover; filter: grayscale(.75) brightness(.48); transform: scale(1.1); }
.statistics__back span { position: absolute; inset: 0; background: radial-gradient(circle at 70% 45%, transparent, rgba(5,7,11,.8) 70%), linear-gradient(90deg, rgba(5,7,11,.9), rgba(5,7,11,.2)); }
.statistics__eyebrow { position: absolute; z-index: 6; left: 5vw; top: 14vh; }
.stat { position: absolute; z-index: 4; left: 5vw; top: 50%; display: grid; grid-template-columns: auto minmax(220px, 28vw); align-items: end; gap: 2rem; transform: translateY(-50%); }
.stat strong { display: flex; align-items: flex-start; font: 900 clamp(10rem, 24vw, 25rem)/.7 var(--display); letter-spacing: -.05em; }
.stat strong > span { min-width: 1.8ch; }.stat sup { margin: .7rem 0 0 .3rem; color: var(--red); font-size: clamp(2rem, 4vw, 4.5rem); letter-spacing: 0; }
.stat p { margin: 0 0 1rem; padding-left: 1rem; border-left: 2px solid var(--red); font-size: clamp(1rem, 1.5vw, 1.4rem); }
.statistics__meter { position: absolute; z-index: 7; right: 5vw; bottom: 7vh; display: flex; align-items: center; gap: 1.2rem; color: rgba(255,255,255,.45); font-size: .65rem; }
.statistics__meter i { width: 8vw; height: 2px; background: linear-gradient(90deg, var(--red) 25%, rgba(255,255,255,.18) 25%); }
.statistics__word { position: absolute; z-index: -1; right: -3vw; top: 11vh; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.12); font: 900 12vw/1 var(--display); writing-mode: vertical-rl; }
.js .stat:not(.stat--one) { opacity: 0; visibility: hidden; }

/* 07 — event stage */
.events__stage { color: var(--ink); background: var(--paper); }
.events__media { position: absolute; z-index: -2; inset: 0 0 0 46%; overflow: hidden; clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%); }
.events__image { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center; }
.events__image--two { opacity: 0; }
.events__media > span { position: absolute; inset: 0; background: linear-gradient(90deg, var(--paper), transparent 25%), linear-gradient(0deg, rgba(5,6,8,.42), transparent 50%); }
.events__heading { position: absolute; z-index: 4; left: 5vw; top: 12vh; width: 47vw; }
.events__heading h2 { margin: 0; font: 900 clamp(4rem, 7vw, 7.5rem)/.81 var(--display); text-transform: uppercase; }
.events__heading > p:last-child { max-width: 34rem; }
.event { position: absolute; z-index: 7; left: 5vw; bottom: 9vh; width: min(38vw, 560px); padding: 1.5rem 1.7rem; color: var(--paper); background: rgba(5,6,8,.94); border-top: 3px solid var(--red); box-shadow: 0 26px 60px rgba(0,0,0,.2); }
.event > span { color: var(--red); font-size: .65rem; font-weight: 900; letter-spacing: .14em; }.event h3 { margin: .7rem 0; font: 900 clamp(2.2rem, 4vw, 4rem)/.9 var(--display); text-transform: uppercase; }.event p { margin: 0 0 1rem; color: rgba(255,255,255,.67); }
.events__date { position: absolute; z-index: 5; right: 4vw; bottom: 5vh; color: #fff; text-align: right; text-shadow: 0 3px 20px rgba(0,0,0,.4); }.events__date span { display: block; font-size: .65rem; font-weight: 900; letter-spacing: .2em; }.events__date strong { font: 900 clamp(5rem, 11vw, 11rem)/.75 var(--display); }
.events .chapter-mark { color: rgba(5,6,8,.5); }
.js .event:not(.event--one) { opacity: 0; visibility: hidden; }

/* 08 — all districts remain usable inside a depth rail */
.districts__stage { color: var(--ink); background: var(--paper); }
.districts__stage::before { content: ""; position: absolute; z-index: -2; inset: 0; background: radial-gradient(circle at 70% 50%, rgba(16,92,201,.1), transparent 34%), linear-gradient(90deg, rgba(224,24,34,.04), transparent 45%); }
.districts__title { position: absolute; z-index: 6; left: 5vw; top: 12vh; width: 42vw; }
.districts__title h2 { margin: 0; font: 900 clamp(4rem, 7.3vw, 7.8rem)/.8 var(--display); text-transform: uppercase; }
.districts__title > p:last-child { max-width: 31rem; }
.districts__kerala { position: absolute; z-index: -1; left: -1vw; bottom: -4vh; color: transparent; -webkit-text-stroke: 1px rgba(5,6,8,.12); font: 900 24vw/.8 var(--display); }
.districts__depth { position: absolute; z-index: 5; right: 5vw; top: 12vh; display: flex; align-items: flex-start; color: var(--red); }.districts__depth span { font: 900 9vw/.7 var(--display); }.districts__depth i { margin: .3rem 0 0 .5rem; color: var(--ink); font-size: .66rem; font-style: normal; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.districts__rail { position: absolute; z-index: 7; left: 48vw; top: 27vh; width: 48vw; transform-style: preserve-3d; }
.districts__rail > div { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 1rem 0; background: rgba(241,238,231,.85); }
.districts__rail a { display: flex; align-items: center; gap: 1.3rem; padding: .38rem .7rem; border-bottom: 1px solid var(--line-light); font: 900 clamp(1.8rem, 3vw, 3.5rem)/1 var(--display); text-transform: uppercase; transition: color .2s, padding-left .2s; }
.districts__rail a:hover, .districts__rail a:focus-visible { padding-left: 1.2rem; color: var(--red); }.districts__rail a span { color: var(--red); font: 850 .62rem/1 var(--sans); letter-spacing: .12em; }
.districts__region { position: absolute; z-index: 8; right: 5vw; bottom: 5vh; display: flex; gap: 2rem; font-size: .62rem; font-weight: 850; letter-spacing: .15em; }.districts__region span:first-child { color: var(--red); }
.districts .chapter-mark { color: rgba(5,6,8,.5); }
.js .districts__rail > div:not(:first-child) { opacity: 0; visibility: hidden; }

/* 09 — perspective image tunnel */
.gallery__stage { background: #05070a; perspective: 1200px; }
.gallery__heading { position: absolute; z-index: 12; left: 5vw; top: 12vh; }
.gallery__heading h2 { margin: 0; font: 900 clamp(4.2rem, 7.8vw, 8.2rem)/.8 var(--display); text-transform: uppercase; }
.gallery__tunnel { position: absolute; z-index: 4; inset: 0; transform-style: preserve-3d; perspective: 1200px; }
.gallery__frame { position: absolute; left: 50%; top: 50%; width: min(58vw, 900px); height: 65vh; margin: 0; overflow: hidden; background: #111; box-shadow: 0 38px 100px rgba(0,0,0,.6); transform: translate(-50%,-50%); transform-origin: center; }
.gallery__frame::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); pointer-events: none; }
.gallery__frame img { height: 100%; object-fit: cover; }
.gallery__frame figcaption { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; padding: .7rem .9rem; color: #fff; background: rgba(5,6,8,.72); font-size: .67rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; backdrop-filter: blur(12px); }
.gallery__axis { position: absolute; z-index: 13; right: 5vw; bottom: 5vh; display: flex; align-items: center; gap: .8rem; color: rgba(255,255,255,.48); font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }.gallery__axis span { width: 100px; height: 1px; background: linear-gradient(90deg, transparent, var(--red)); }.gallery__axis i { font-style: normal; }
.js .gallery__frame:not(.gallery__frame--one) { opacity: 0; visibility: hidden; }

/* 10 — testimonial cinema */
.voices__stage { color: var(--ink); background: var(--paper); }
.voices__image { position: absolute; z-index: -2; left: 0; top: 0; width: 48vw; height: 100%; overflow: hidden; }
.voices__image img { height: 100%; object-fit: cover; filter: grayscale(.6); transform: scale(1.08); }
.voices__image span { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,6,8,.15), transparent), linear-gradient(90deg, transparent 65%, var(--paper)); }
.voices__heading { position: absolute; z-index: 5; left: 5vw; top: 12vh; color: #fff; text-shadow: 0 3px 22px rgba(0,0,0,.3); }
.voices__heading h2 { margin: 0; font: 900 clamp(4rem, 7vw, 7.5rem)/.8 var(--display); text-transform: uppercase; }
.voice { position: absolute; z-index: 7; right: 5vw; top: 50%; width: min(48vw, 720px); padding: 3rem; background: var(--paper); border: 1px solid var(--line-light); box-shadow: 0 38px 90px rgba(0,0,0,.18); transform: translateY(-50%); }
.voice__mark { position: absolute; right: 1.4rem; top: .4rem; color: var(--red); font: 900 7rem/1 var(--display); }
.voice blockquote { margin: 0 0 2rem; font-size: clamp(1.15rem, 1.7vw, 1.6rem); line-height: 1.55; }
.voice footer { display: flex; align-items: center; gap: 1rem; padding-top: 1.2rem; border-top: 1px solid var(--line-light); }
.voice footer img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; }.voice footer div { display: flex; flex-direction: column; }.voice footer strong { text-transform: uppercase; }.voice footer span { color: #6c6c6c; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.voices .chapter-mark { color: rgba(5,6,8,.5); }
.js .voice--two { opacity: 0; visibility: hidden; }

/* Contact rests inside the same visual world, while the form stays stable */
.contact-scene { position: relative; min-height: 115svh; display: flex; align-items: center; overflow: hidden; isolation: isolate; padding: 9rem 0; background: var(--ink); }
.contact-scene__back { position: absolute; z-index: -2; inset: 0; overflow: hidden; }
.contact-scene__back img { height: 100%; object-fit: cover; filter: grayscale(.7) brightness(.38); transform: scale(1.08); }
.contact-scene__back > span { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,6,8,.96), rgba(5,6,8,.68) 55%, rgba(5,6,8,.28)); }
.contact-scene__back b { position: absolute; right: -2vw; bottom: -6vh; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.12); font: 900 22vw/.8 var(--display); }
.contact-scene__layout { display: grid; grid-template-columns: .88fr 1.12fr; gap: 8vw; align-items: center; }
.contact-scene__intro h2 { margin: 0; font: 900 clamp(4.7rem, 8vw, 8.5rem)/.8 var(--display); text-transform: uppercase; }
.contact-scene__intro > p:not(.eyebrow) { max-width: 38rem; color: rgba(255,255,255,.65); }
.contact-scene__intro > div { display: flex; flex-direction: column; margin-top: 2rem; }.contact-scene__intro > div a { font-weight: 800; }.contact-scene__intro > div span { color: rgba(255,255,255,.55); }
.contact-form { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.5rem; padding: clamp(2rem, 4vw, 4rem); color: var(--paper); background: rgba(8,10,14,.9); border: 1px solid var(--line-dark); box-shadow: 0 35px 100px rgba(0,0,0,.35); backdrop-filter: blur(18px); }
.contact-form h3 { grid-column: 1 / -1; margin: 0 0 1.5rem; font: 900 clamp(2rem, 3vw, 3.4rem)/1 var(--display); text-transform: uppercase; }
.contact-form label { display: flex; flex-direction: column; gap: .35rem; }.contact-form label > span { color: rgba(255,255,255,.52); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-height: 3.25rem; padding: .65rem 0; color: var(--paper); background: transparent; border: 0; border-bottom: 1px solid var(--line-dark); border-radius: 0; }.contact-form select { color-scheme: dark; }.contact-form textarea { resize: vertical; }
.contact-form__message, .contact-form .button, .form-status { grid-column: 1 / -1; }.contact-form .button { justify-self: start; margin-top: .7rem; }.form-status { min-height: 1.4rem; margin: 0; color: rgba(255,255,255,.68); font-size: .82rem; }

/* 11 — ending */
.final-cta__stage { background: var(--ink); }
.final-cta__image { position: absolute; z-index: -3; inset: 0; overflow: hidden; }
.final-cta__image img { height: 100%; object-fit: cover; object-position: center; transform: scale(1.18); filter: brightness(.58) saturate(.8); }
.final-cta__image span { position: absolute; inset: 0; background: radial-gradient(circle at 68% 45%, transparent, rgba(5,6,8,.8) 72%), linear-gradient(90deg, rgba(5,6,8,.9), rgba(5,6,8,.15)); }
.final-cta__content { position: relative; z-index: 5; display: flex; height: 100%; flex-direction: column; justify-content: center; align-items: flex-start; }
.final-cta__content h2 { margin: 0 0 2rem; font: 900 clamp(6rem, 13vw, 14rem)/.72 var(--display); text-transform: uppercase; }.final-cta__content h2 span { display: block; }.final-cta__content h2 span:last-child { margin-left: 8vw; color: transparent; -webkit-text-stroke: 1.5px #fff; }
.final-cta__seal { position: absolute; z-index: 5; right: 8vw; top: 50%; width: clamp(130px, 18vw, 270px); opacity: .85; transform: translateY(-50%); }.final-cta__seal img { aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 20px 50px rgba(0,0,0,.35)); }
.final-cta__rings { position: absolute; z-index: 1; right: 2vw; top: 50%; width: 36vw; aspect-ratio: 1; transform: translateY(-50%); }.final-cta__rings i { position: absolute; inset: var(--ring); border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }.final-cta__rings i:nth-child(1) { --ring: 0; }.final-cta__rings i:nth-child(2) { --ring: 10%; }.final-cta__rings i:nth-child(3) { --ring: 21%; }

/* Footer */
.site-footer { position: relative; padding: clamp(5rem, 8vw, 8rem) 0 1.5rem; background: var(--ink); border-top: 1px solid var(--line-dark); }
.site-footer__grid { display: grid; grid-template-columns: 1.7fr 1fr .75fr .9fr; gap: 4vw; }.site-footer__brand img { max-width: 310px; }.site-footer p, .site-footer address { color: rgba(255,255,255,.55); font-style: normal; }.site-footer h3 { margin: 0 0 1.3rem; color: var(--red); font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; }.site-footer nav { display: flex; flex-direction: column; gap: .4rem; }.site-footer nav a, .site-footer__grid > div:not(:first-child) > a { color: rgba(255,255,255,.7); font-size: .85rem; }.social-links { display: flex; flex-wrap: wrap; gap: .45rem 1rem; margin-top: 1.4rem; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.site-footer__bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 5rem; padding-top: 1.3rem; border-top: 1px solid var(--line-dark); font-size: .74rem; }.site-footer__bottom p { margin: 0; }.site-footer__bottom > div { display: flex; gap: 1.5rem; }.back-to-top { position: absolute; right: 2rem; bottom: 1.3rem; color: var(--paper); background: transparent; border: 0; cursor: pointer; font-size: .67rem; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 1180px) {
  .desktop-nav, .header-phone { display: none; }
  .menu-toggle { display: flex; }
  .site-footer__grid { grid-template-columns: 1.6fr 1fr 1fr; }
  .site-footer__grid > div:last-child { grid-column: 2; }
}

@media (max-width: 900px) {
  :root { --header-h: 70px; --shell: min(90vw, 720px); }
  .site-header { padding-inline: 5vw; }
  .brand { width: 205px; }
  .chapter-mark { display: none; }
  .film-scene { min-height: auto; }
  .scene-stage { height: auto; min-height: 108svh; perspective: 900px; transform-style: flat; contain: paint; }
  .scene-wipe { display: none; }
  .hero__content { min-height: 100svh; padding: 8rem 0 10rem; }
  .hero__back > img { object-position: 62% center; }
  .hero__giant { left: 36%; top: 29%; font-size: clamp(7rem, 28vw, 13rem); opacity: .72; }
  .hero h1 { font-size: clamp(4.1rem, 16vw, 7.5rem); }
  .hero h1 span:last-child, .hero__intro, .hero__actions { margin-left: 0; }
  .hero__actions { align-items: flex-start; flex-direction: column; }
  .hero__notes { left: 5vw; right: 5vw; bottom: 2rem; width: auto; }
  .hero__notes article { padding-inline: .65rem; }
  .scroll-cue { display: none; }
  .origin__stage { min-height: 122svh; padding: 5rem 0; }
  .origin__frame { left: 5vw; top: 7rem; width: 62vw; height: 49vh; }
  .origin__content { height: auto; min-height: 94svh; justify-content: flex-end; padding: 0 0 2rem; }
  .origin__content h2 { font-size: clamp(4rem, 15vw, 7rem); }
  .origin__principles { left: auto; right: 5vw; bottom: 2.5rem; width: 61vw; }
  .origin__years { right: 5vw; top: 21rem; bottom: auto; max-width: 220px; }
  .strike__stage { min-height: 108svh; display: flex; align-items: flex-end; padding: 6rem 0 3.5rem; }
  .strike__image--one { clip-path: none; }.strike__image--one > span { background: linear-gradient(0deg, var(--ink) 15%, rgba(5,6,8,.64) 56%, rgba(5,6,8,.12)); }.strike__image--two { display: none; }
  .strike__content { height: auto; padding-left: 0; }.strike__content h2 { font-size: clamp(4rem, 14vw, 7rem); }.strike__content h2 span:last-child { margin-left: 0; }.strike__content > p:not(.eyebrow) { color: rgba(255,255,255,.82); }
  .strike__impact { left: 66%; top: 31%; }.strike__energy > i { width: 78%; }
  .programs__stage { min-height: 112svh; }
  .programs__head { left: 5vw; top: 7rem; width: 85vw; }.programs__head h2 { font-size: clamp(3.8rem, 14vw, 6rem); }
  .programs__counter { top: 8rem; }
  .program__media { top: 30vh; width: 100%; height: 40vh; clip-path: polygon(0 8%, 100% 0, 100% 100%, 0 92%); }.program__media::after { background: linear-gradient(0deg, var(--paper), transparent 24%); }
  .program__copy { left: 5vw; bottom: 3vh; width: 90vw; padding: 1rem 0; }.program__copy h3 { font-size: clamp(2.8rem, 10vw, 4.5rem); }
  .members__stage { min-height: 108svh; }
  .members__heading { left: 5vw; top: 7rem; width: 90vw; }.members__heading h2 { font-size: clamp(4rem, 14vw, 6.5rem); }
  .portrait { right: 5vw; top: 30vh; width: 90vw; height: 68vh; }.portrait__image { inset: 0; }.portrait__meta { bottom: 4%; width: 92%; }.portrait__meta h3 { font-size: clamp(2rem, 7vw, 3.3rem); }
  .members__index { bottom: 3vh; }
  .statistics__stage { min-height: 100svh; }
  .stat { grid-template-columns: 1fr; gap: .5rem; top: 52%; }.stat strong { font-size: clamp(9rem, 42vw, 17rem); }.stat p { max-width: 76vw; margin: 0; }
  .statistics__word { font-size: 22vw; }
  .events__stage { min-height: 112svh; }
  .events__media { inset: 31vh 0 0; clip-path: polygon(0 7%, 100% 0, 100% 100%, 0 100%); }.events__media > span { background: linear-gradient(0deg, rgba(5,6,8,.55), transparent 55%), linear-gradient(180deg, var(--paper), transparent 22%); }
  .events__heading { left: 5vw; top: 7rem; width: 90vw; }.events__heading h2 { font-size: clamp(3.7rem, 13vw, 6rem); }
  .event { left: 5vw; bottom: 4vh; width: 90vw; }.events__date { display: none; }
  .districts__stage { min-height: 110svh; }
  .districts__title { left: 5vw; top: 7rem; width: 90vw; }.districts__title h2 { font-size: clamp(3.8rem, 13vw, 6rem); }
  .districts__depth { right: 5vw; top: auto; bottom: 6vh; }.districts__depth span { font-size: 18vw; }
  .districts__rail { left: 5vw; top: 48vh; width: 90vw; }.districts__rail a { font-size: clamp(1.65rem, 6.5vw, 3rem); }
  .gallery__stage { min-height: 104svh; }
  .gallery__heading { top: 7rem; }.gallery__heading h2 { font-size: clamp(4rem, 14vw, 6.2rem); }
  .gallery__frame { width: 84vw; height: 56vh; top: 60%; }
  .voices__stage { min-height: 108svh; }
  .voices__image { width: 100%; height: 51vh; }.voices__image span { background: linear-gradient(0deg, var(--paper), transparent 45%); }
  .voices__heading { top: 7rem; }.voices__heading h2 { font-size: clamp(4rem, 14vw, 6.3rem); }
  .voice { right: 5vw; top: auto; bottom: 3.5vh; width: 90vw; padding: 2rem; transform: none; }.voice blockquote { font-size: 1.05rem; }
  .contact-scene { min-height: auto; padding: 8rem 0; }.contact-scene__layout { grid-template-columns: 1fr; gap: 4rem; }.contact-scene__intro h2 { font-size: clamp(4rem, 14vw, 6.5rem); }
  .final-cta__stage { min-height: 100svh; }.final-cta__content h2 { font-size: clamp(5rem, 20vw, 9rem); }.final-cta__content h2 span:last-child { margin-left: 0; }.final-cta__seal { right: 5vw; top: 25%; width: 135px; }.final-cta__rings { right: -20vw; width: 80vw; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }.site-footer__grid > div:last-child { grid-column: auto; }
}

@media (max-width: 600px) {
  .brand { width: 174px; }.menu-toggle__label { display: none; }
  .hero__content { padding-bottom: 5rem; }.hero__eyebrow { max-width: 260px; }.hero__intro { max-width: 19rem; font-size: 1rem; }.hero__notes { display: none; }
  .origin__frame { width: 72vw; }.origin__principles { width: 78vw; bottom: 2.5rem; }.origin__years { top: 22rem; }
  .strike__metrics { width: 100%; gap: 1rem; }.strike__metrics > div { flex: 1; flex-direction: column; align-items: flex-start; }.strike__metrics strong { font-size: 2.8rem; }
  .programs__counter { display: none; }.program__media { top: 28vh; }.program__copy { bottom: 2.5vh; }
  .members__index { display: none; }.portrait { top: 29vh; }.portrait__meta { padding: 1rem; }
  .event { padding: 1.2rem; }.event h3 { font-size: 2.8rem; }
  .districts__rail { top: 48vh; }.districts__rail a { word-break: break-word; }
  .gallery__frame { height: 50vh; top: 60%; }.gallery__axis { display: none; }
  .voice { padding: 1.4rem; }.voice__mark { font-size: 4.5rem; }.voice footer img { width: 48px; height: 48px; }
  .contact-form { grid-template-columns: 1fr; padding: 1.4rem; }.contact-form h3, .contact-form__message, .contact-form .button, .form-status { grid-column: 1; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 3rem; }.site-footer__bottom { flex-direction: column; }.back-to-top { bottom: .6rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .film-scene { min-height: auto; }
  .scene-stage { height: auto; min-height: 100svh; overflow: visible; padding-block: 7rem; }
  .hero__content { min-height: 100svh; }.hero__front, .hero__mid, .strike__energy, .strike__impact, .scene-wipe { display: none !important; }
  .origin__stage, .programs__stage, .members__stage, .statistics__stage, .events__stage, .districts__stage, .gallery__stage, .voices__stage { display: flex; flex-direction: column; gap: 2rem; min-height: auto; padding: 7rem 5vw; }
  .origin__frame, .origin__content, .origin__principles, .origin__years, .programs__head, .program, .members__heading, .portrait, .statistics__eyebrow, .stat, .events__heading, .event, .districts__title, .districts__rail, .gallery__heading, .gallery__tunnel, .gallery__frame, .voices__heading, .voice { position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .origin__content { padding: 0; }.origin__frame { min-height: 520px; }.origin__principles { color: var(--paper); }.origin__years { align-self: flex-start; }
  .program { display: grid; grid-template-columns: 1fr 1fr; margin-top: 2rem; }.program__media { position: relative; inset: auto; width: 100%; height: 500px; clip-path: none; }.program__copy { position: relative; inset: auto; width: auto; padding: 2rem; }
  .members__stage { color: var(--paper); }.portrait { min-height: 650px; }.portrait__image { inset: 0; }.portrait__meta { left: 0; right: 0; }
  .statistics__stage { color: var(--paper); }.stat { display: block; margin-block: 2rem; }.stat strong { font-size: 9rem; }
  .events__stage { gap: 2rem; }.event { color: var(--paper); }
  .districts__rail > div { position: relative; opacity: 1 !important; visibility: visible !important; }.districts__rail a { font-size: 2rem; }
  .gallery__tunnel { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.gallery__frame { min-height: 420px; }.gallery__frame img { position: absolute; inset: 0; }
  .voices__stage { color: var(--ink); }.voice { margin-block: 1rem; }
}
