/* =========================================================================
   style.css — தமிழக வெற்றிக் கழகம், காரிமங்கலம் பேரூர் கழகம்
   ========================================================================= */
@font-face {
  font-family: "TAU Neythal";
  src: url("../fonts/TAU-Neythal-Bold.ttf") format("truetype");
  font-weight: 700; font-display: swap;
}
@font-face {
  font-family: "TAU Neythal";
  src: url("../fonts/TAU-Neythal.ttf") format("truetype");
  font-weight: 400; font-display: swap;
}

:root {
  --maroon-900: #4A0710;
  --maroon-800: #640B17;
  --maroon-700: #7E0F1E;
  --maroon-600: #9A1426;
  --maroon-100: #F7E3E3;
  --gold-500: #F6C21C;
  --gold-400: #FFD54A;
  --gold-100: #FFF4CC;
  --cream: #FFFBF3;
  --paper: #FFFFFF;
  --ink: #2A1014;
  --ink-2: #5B4347;
  --ink-3: #8C7A7C;
  --line: #EADCCF;
  --green: #1F7A4D;   --green-bg: #E3F4EA;
  --blue: #1E5AA8;    --blue-bg: #E4EEFB;
  --amber: #A86300;   --amber-bg: #FFF1D6;
  --red: #B42318;     --red-bg: #FDE7E5;

  --font-title: "TAU Neythal", "Catamaran", "Noto Sans Tamil", sans-serif;
  --font-head: "Catamaran", "Noto Sans Tamil", sans-serif;
  --font-body: "Noto Sans Tamil", "Mukta Malar", system-ui, sans-serif;

  --ticker-h: 34px;
  --header-h: 72px;
  --radius: 14px;
  --radius-sm: 8px;
  --shadow-sm: 0 1px 2px rgba(74,7,16,.06), 0 1px 3px rgba(74,7,16,.08);
  --shadow: 0 8px 24px rgba(74,7,16,.10);
  --shadow-lg: 0 18px 50px rgba(74,7,16,.18);
  --wrap: 1180px;
  --ease: cubic-bezier(.2,.7,.2,1);
}
@media (max-width: 760px) { :root { --header-h: 62px; } }

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; font-family: var(--font-body); color: var(--ink); background: var(--cream);
  font-size: 16px; line-height: 1.75; padding-top: calc(var(--ticker-h) + var(--header-h));
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: var(--maroon-700); }
h1, h2, h3, h4 { font-family: var(--font-head); line-height: 1.3; margin: 0 0 .5em; color: var(--maroon-900); text-wrap: balance; }
h1 { font-size: clamp(1.8rem, 1.2rem + 2.4vw, 3rem); font-weight: 800; }
h2 { font-size: clamp(1.45rem, 1.1rem + 1.4vw, 2.2rem); font-weight: 800; }
h3 { font-size: 1.15rem; font-weight: 700; }
p { margin: 0 0 1em; text-wrap: pretty; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--gold-500); outline-offset: 2px; border-radius: 4px; }
.wrap { width: min(var(--wrap), 100% - 2rem); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.title-font { font-family: var(--font-title); font-weight: 700; letter-spacing: .01em; }
.eyebrow { display: inline-flex; gap: .5rem; align-items: center; font-family: var(--font-head); font-weight: 700; font-size: .85rem; color: var(--maroon-600); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .6rem; }
.eyebrow::before { content: ""; width: 26px; height: 3px; background: var(--gold-500); border-radius: 3px; }
.muted { color: var(--ink-2); }
.small { font-size: .875rem; }

/* ---------------- Loader ---------------- */
#loader {
  position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center;
  background: radial-gradient(ellipse at 50% 40%, var(--maroon-600), var(--maroon-900) 70%);
  color: var(--gold-100); transition: opacity .7s var(--ease), visibility .7s;
}
#loader.hide { opacity: 0; visibility: hidden; }
.loader-inner { text-align: center; padding: 1rem; }
.loader-logo { width: 150px; height: 150px; margin: 0 auto 1.2rem; position: relative; animation: blow 1.1s var(--ease) infinite alternate; }
.loader-logo img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 30px rgba(0,0,0,.35)); }
.loader-logo::before, .loader-logo::after {
  content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid rgba(246,194,28,.6);
  animation: ripple 1.6s ease-out infinite;
}
.loader-logo::after { animation-delay: .8s; }
.loader-title { font-family: var(--font-title); font-size: clamp(1.8rem, 6vw, 3rem); color: var(--gold-500); margin: 0; line-height: 1.3; }
.loader-sub { font-size: 1.05rem; opacity: .9; margin-top: .25rem; }
.loader-bar { width: 180px; height: 4px; border-radius: 4px; background: rgba(255,255,255,.18); margin: 1.4rem auto 0; overflow: hidden; }
.loader-bar span { display: block; height: 100%; width: 0; background: var(--gold-500); animation: fill 2.2s var(--ease) forwards; }
@keyframes blow { from { transform: rotate(-6deg) scale(1); } to { transform: rotate(4deg) scale(1.06); } }
@keyframes ripple { from { transform: scale(.85); opacity: 1; } to { transform: scale(1.45); opacity: 0; } }
@keyframes fill { to { width: 100%; } }

/* ---------------- Ticker ---------------- */
.ticker {
  position: fixed; top: 0; left: 0; right: 0; height: var(--ticker-h); z-index: 1001;
  background: var(--gold-500); color: var(--maroon-900); display: flex; align-items: center; overflow: hidden;
  font-weight: 600; font-size: .92rem; border-bottom: 1px solid rgba(74,7,16,.15);
}
.ticker-label { flex: none; height: 100%; display: flex; align-items: center; gap: .4rem; padding: 0 .9rem; background: var(--maroon-800); color: var(--gold-500); font-family: var(--font-head); font-weight: 800; position: relative; z-index: 1; }
.ticker-label .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold-500); animation: pulse 1.2s infinite; }
@keyframes pulse { 50% { opacity: .2; } }
.ticker-track { display: flex; white-space: nowrap; animation: marquee 45s linear infinite; padding-left: 1rem; }
.ticker:hover .ticker-track { animation-play-state: paused; }
.ticker-track span { padding-right: 3rem; }
.ticker-track span::before { content: "◆"; color: var(--maroon-700); margin-right: .8rem; font-size: .7em; vertical-align: middle; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------------- Header ---------------- */
.site-header {
  position: fixed; top: var(--ticker-h); left: 0; right: 0; height: var(--header-h); z-index: 1000;
  background: rgba(255,251,243,.94); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--line); transition: box-shadow .3s;
}
.site-header.scrolled { box-shadow: var(--shadow); }
.header-inner { height: 100%; display: flex; align-items: center; gap: 1rem; padding-right: 1rem; padding-left: 1rem; max-width: 1400px; margin: 0 auto; }
.brand { display: flex; align-items: center; gap: .65rem; text-decoration: none; color: inherit; min-width: 0; flex: none; }
.brand img.logo { width: 56px; height: 56px; object-fit: contain; flex: none; }
.brand-text { line-height: 1.15; min-width: 0; }
.brand-title { font-family: var(--font-title); font-weight: 700; color: var(--maroon-700); font-size: 1.32rem; white-space: nowrap; }
.brand-title img { height: 30px; width: auto; }
.brand-sub { font-size: .8rem; color: var(--ink-2); font-weight: 600; white-space: nowrap; }
.nav { margin-left: auto; display: flex; align-items: center; gap: .15rem; }
.nav a { text-decoration: none; color: var(--ink); font-weight: 600; font-size: .86rem; padding: .42rem .5rem; border-radius: 8px; white-space: nowrap; transition: background .2s, color .2s; }
.nav a:hover { background: var(--maroon-100); color: var(--maroon-700); }
.nav a.active { background: var(--maroon-700); color: #fff; }
.nav a.nav-cta { background: var(--gold-500); color: var(--maroon-900); }
.nav-toggle { display: none; margin-left: auto; width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--line); background: #fff; cursor: pointer; align-items: center; justify-content: center; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after { display: block; width: 20px; height: 2px; background: var(--maroon-800); border-radius: 2px; position: relative; transition: transform .3s, background .3s; }
.nav-toggle span::before, .nav-toggle span::after { content: ""; position: absolute; left: 0; }
.nav-toggle span::before { top: -6px; } .nav-toggle span::after { top: 6px; }
.nav-open .nav-toggle span { background: transparent; }
.nav-open .nav-toggle span::before { transform: translateY(6px) rotate(45deg); }
.nav-open .nav-toggle span::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1023px) {
  /* backdrop-filter would trap the fixed menu inside the header */
  .site-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: #FFFBF3; }
  .nav-toggle { display: inline-flex; }
  .nav {
    position: fixed; top: calc(var(--ticker-h) + var(--header-h)); left: 0; right: 0; bottom: 0;
    flex-direction: column; align-items: stretch; gap: .25rem; padding: 1rem; background: var(--cream);
    transform: translateX(100%); transition: transform .35s var(--ease), visibility 0s linear .35s; overflow-y: auto; margin: 0; visibility: hidden;
  }
  .nav a { font-size: 1.05rem; padding: .85rem 1rem; border: 1px solid var(--line); background: #fff; }
  .nav-open .nav { transform: none; visibility: visible; transition: transform .35s var(--ease); }
  .header-inner { padding-right: .75rem; }
}
/* Header flag + flying-flag canvas (see layout.js) */
.hdr-flag { flex: none; display: block; width: 72px; position: relative; }
.hdr-flag img { display: block; width: 100%; height: auto; }
.flag-wave { position: relative; }
.flag-wave img { display: block; width: 100%; height: auto; }
.flag-src { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.flag-canvas { display: block; filter: drop-shadow(0 6px 10px rgba(0,0,0,.28)); }
.hdr-flag .flag-canvas { filter: drop-shadow(0 2px 3px rgba(74,7,16,.3)); }
/* flag pole */
.flag-wave.pole { padding-left: 12px; }
.flag-wave.pole::before { content: ""; position: absolute; left: 0; top: -10px; bottom: -48px; width: 8px; border-radius: 4px; background: linear-gradient(90deg, #8a8f98, #f4f5f7 45%, #9aa0a8); box-shadow: 1px 2px 4px rgba(0,0,0,.3); }
.flag-wave.pole::after { content: ""; position: absolute; left: -3px; top: -20px; width: 14px; height: 14px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff3b0, var(--gold-500) 55%, #b8860b); box-shadow: 0 1px 3px rgba(0,0,0,.35); }

/* Desktop: two-row header with always-visible menu */
@media (min-width: 1024px) {
  :root { --header-h: 124px; }
  .header-inner { flex-wrap: wrap; align-content: flex-start; gap: 0 1rem; }
  .brand { height: 74px; }
  .hdr-flag { margin-left: auto; }
  .nav { flex-basis: 100%; min-width: 0; height: 50px; flex-wrap: wrap; align-content: center; margin: 0; justify-content: center; gap: .15rem; background: var(--maroon-800); box-shadow: 0 0 0 100vmax var(--maroon-800); clip-path: inset(0 -100vmax); }
  .nav a { color: #fff; font-size: .8rem; padding: .42rem .35rem; }
  .nav a:hover { background: rgba(255,255,255,.14); color: #fff; }
  .nav a.active { background: var(--gold-500); color: var(--maroon-900); }
  .nav a.nav-cta { background: #fff; color: var(--maroon-800); }
}
@media (min-width: 1280px) { .nav { gap: .25rem; } .nav a { font-size: .92rem; padding: .45rem .6rem; } }
@media (min-width: 1440px) { .nav a { font-size: .98rem; padding: .45rem .85rem; } }
@media (max-width: 1023px) {
  .hdr-flag { margin-left: auto; }
  .hdr-flag + .nav-toggle { margin-left: .6rem; }
}
@media (max-width: 560px) {
  .hdr-flag { width: 46px; }
  .hdr-flag + .nav-toggle { margin-left: .45rem; }
  .brand { flex: 1; }
  .brand img.logo { width: 40px; height: 40px; }
  .brand-title { font-size: 1.02rem; }
  .brand-sub { font-size: .72rem; }
  .nav-toggle { width: 40px; height: 40px; }
}

/* Persistent secretary badge (bottom-right, every page) */
.leader-badge {
  position: fixed; z-index: 900; right: 18px; bottom: 18px;
  display: flex; flex-direction: column; align-items: center; text-decoration: none; color: var(--maroon-900);
  transition: transform .3s var(--ease);
}
.leader-badge:hover { transform: translateY(-4px); }
.leader-badge .ph { width: 112px; height: 112px; border-radius: 50%; overflow: hidden; border: 4px solid var(--gold-500); box-shadow: 0 10px 28px rgba(74,7,16,.35); background: var(--maroon-700); }
.leader-badge img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.leader-badge .nm { margin-top: -14px; position: relative; background: var(--maroon-700); color: var(--gold-100); font-size: 1rem; font-weight: 800; padding: 4px 14px 5px; border-radius: 12px; white-space: nowrap; box-shadow: var(--shadow-sm); text-align: center; line-height: 1.25; border: 2px solid var(--gold-500); }
.leader-badge .rl { display: block; font-size: .7rem; font-weight: 600; color: #fff; opacity: .9; }
@media (max-width: 1100px) { .leader-badge .ph { width: 88px; height: 88px; } .leader-badge .nm { font-size: .88rem; } }
@media (max-width: 760px) { .leader-badge { right: 10px; bottom: 10px; } .leader-badge .ph { width: 62px; height: 62px; border-width: 3px; } .leader-badge .nm { font-size: .66rem; padding: 2px 8px; margin-top: -10px; border-width: 1px; } .leader-badge .rl { display: none; } }

/* ---------------- Buttons & forms ---------------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .78rem 1.35rem; border-radius: 999px; font-weight: 700; font-family: var(--font-head); border: 2px solid transparent; cursor: pointer; text-decoration: none; transition: transform .2s var(--ease), box-shadow .2s, background .2s; font-size: 1rem; line-height: 1.2; }
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.btn:active { transform: none; }
.btn[disabled] { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.btn-primary { background: var(--maroon-700); color: #fff; }
.btn-primary:hover { background: var(--maroon-600); }
.btn-gold { background: var(--gold-500); color: var(--maroon-900); }
.btn-ghost { background: transparent; border-color: currentColor; color: var(--maroon-700); }
.btn-light { background: #fff; color: var(--maroon-800); border-color: var(--line); }
.btn-sm { padding: .45rem .9rem; font-size: .88rem; }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem 1.1rem; }
.form-grid .full { grid-column: 1 / -1; }
@media (max-width: 640px) { .form-grid { grid-template-columns: 1fr; } }
.field label { display: block; font-weight: 700; font-size: .92rem; margin-bottom: .3rem; color: var(--maroon-900); }
.field label .req { color: var(--red); }
.field input, .field select, .field textarea {
  width: 100%; padding: .75rem .9rem; border: 1.5px solid var(--line); border-radius: 10px; background: #fff; transition: border-color .2s, box-shadow .2s; min-height: 48px;
}
.field textarea { min-height: 120px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--maroon-600); box-shadow: 0 0 0 4px rgba(154,20,38,.12); }
.field input[readonly] { background: var(--gold-100); border-color: #F0DFA6; font-weight: 700; color: var(--maroon-900); }
.field .hint { font-size: .8rem; color: var(--ink-3); margin-top: .25rem; }
.field.invalid input, .field.invalid select, .field.invalid textarea { border-color: var(--red); }
.field .err { display: none; color: var(--red); font-size: .82rem; margin-top: .25rem; }
.field.invalid .err { display: block; }
.input-row { display: flex; gap: .5rem; }
.input-row > input { flex: 1; min-width: 0; }
.prefix { display: inline-flex; align-items: center; padding: 0 .8rem; border: 1.5px solid var(--line); border-radius: 10px; background: var(--maroon-100); font-weight: 700; color: var(--maroon-800); }
.notice { display: flex; gap: .7rem; padding: .9rem 1rem; border-radius: 12px; font-size: .92rem; line-height: 1.6; }
.notice svg { flex: none; margin-top: 2px; }
.notice-warn { background: var(--red-bg); color: #7A1B12; border: 1px solid #F5C2BC; }
.notice-info { background: var(--blue-bg); color: #143E75; border: 1px solid #C4D7F2; }
.notice-gold { background: var(--gold-100); color: var(--maroon-900); border: 1px solid #F0DFA6; }
.check { display: flex; gap: .6rem; align-items: flex-start; font-size: .92rem; }
.check input { width: 20px; height: 20px; margin-top: 4px; accent-color: var(--maroon-700); flex: none; }

/* ---------------- Page hero (inner pages) ---------------- */
.page-hero { background: linear-gradient(120deg, var(--maroon-800), var(--maroon-600)); color: #fff; padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(2.5rem, 6vw, 4rem); position: relative; overflow: hidden; }
.page-hero::after { content: ""; position: absolute; right: -80px; top: -80px; width: 340px; height: 340px; border-radius: 50%; border: 40px solid rgba(246,194,28,.14); }
.page-hero h1 { color: #fff; margin-bottom: .3rem; }
.page-hero p { color: rgba(255,255,255,.88); max-width: 62ch; margin: 0; }
.page-hero .crumbs { font-size: .85rem; color: var(--gold-400); margin-bottom: .5rem; font-weight: 600; }
.page-hero .crumbs a { color: var(--gold-400); text-decoration: none; }
.section { padding: clamp(2.5rem, 6vw, 4.5rem) 0; }
.section-alt { background: #fff; }
.card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.card-pad { padding: clamp(1.1rem, 3vw, 1.8rem); }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(1.2rem, 3vw, 2.5rem); align-items: center; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.25rem; }
@media (max-width: 900px) { .grid-3 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 760px) { .grid-2 { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .grid-3 { grid-template-columns: 1fr; } }

/* reveal on scroll */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity: 1; transform: none; }

/* ---------------- HOME: full-screen sections ---------------- */
.home-section { min-height: calc(100svh - var(--ticker-h) - var(--header-h)); position: relative; display: flex; flex-direction: column; justify-content: center; padding: 3rem 0 6rem; scroll-margin-top: calc(var(--ticker-h) + var(--header-h)); }
.next-btn {
  position: absolute; left: 50%; bottom: 1.2rem; transform: translateX(-50%); display: inline-flex; flex-direction: column; align-items: center; gap: .1rem;
  background: none; border: 0; cursor: pointer; font-family: var(--font-head); font-weight: 800; font-size: .95rem; color: inherit; padding: .3rem .8rem; z-index: 5;
}
.next-btn .arr { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 2px solid currentColor; animation: bob 1.6s ease-in-out infinite; }
@keyframes bob { 50% { transform: translateY(6px); } }

/* Section 1 — greeting animation */
.s1 { background: radial-gradient(120% 90% at 50% 30%, var(--maroon-600) 0%, var(--maroon-800) 55%, var(--maroon-900) 100%); color: #fff; overflow: hidden; text-align: center; }
.s1 .rays { position: absolute; inset: -40%; background: repeating-conic-gradient(from 0deg, rgba(246,194,28,.07) 0 8deg, transparent 8deg 20deg); animation: spin 60s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.stage { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; }
.duo { display: flex; justify-content: center; align-items: flex-start; gap: clamp(1rem, 6vw, 5rem); margin-bottom: 1.2rem; }
.duo figure { margin: 0; text-align: center; opacity: 0; }
.duo .ring { width: clamp(130px, 24vw, 230px); aspect-ratio: 1; border-radius: 50%; padding: 6px; background: conic-gradient(var(--gold-500), var(--gold-100), var(--gold-500)); box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.duo .ring img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: top; background: var(--maroon-700); }
.duo figcaption { margin-top: .7rem; font-weight: 700; font-family: var(--font-head); color: var(--gold-100); font-size: clamp(.85rem, 2vw, 1.05rem); }
.duo figcaption small { display: block; font-weight: 500; opacity: .8; font-size: .8em; }
.play .duo .left { animation: inL 1.1s var(--ease) .2s forwards, nod 1.2s ease-in-out 1.6s 2; }
.play .duo .right { animation: inR 1.1s var(--ease) .45s forwards, nod 1.2s ease-in-out 1.6s 2; }
@keyframes inL { from { opacity: 0; transform: translateX(-60px) scale(.9); } to { opacity: 1; transform: none; } }
@keyframes inR { from { opacity: 0; transform: translateX(60px) scale(.9); } to { opacity: 1; transform: none; } }
@keyframes nod { 0%,100% { transform: none; } 40% { transform: translateY(8px) rotate(-1.5deg); } }
.vanakkam { font-family: var(--font-title); font-size: clamp(3rem, 12vw, 7.5rem); color: var(--gold-500); line-height: 1.1; margin: 0; text-shadow: 0 6px 30px rgba(0,0,0,.35); display: flex; justify-content: center; }
.vanakkam span { display: inline-block; opacity: 0; transform: translateY(30px) scale(.7); }
.play .vanakkam span { animation: letter .6s var(--ease) forwards; }
@keyframes letter { to { opacity: 1; transform: none; } }
.namaste { font-size: 1rem; color: var(--gold-100); opacity: 0; margin-top: .3rem; }
.play .namaste { animation: fadeUp .8s var(--ease) 2.2s forwards; }
.scene2 { position: absolute; inset: 0; display: grid; place-items: center; z-index: 3; opacity: 0; pointer-events: none; padding: 1rem; }
.scene2 h2 { color: #fff; font-size: clamp(1.4rem, 4.5vw, 2.8rem); }
.scene2 .tt { font-family: var(--font-title); color: var(--gold-500); font-size: clamp(2.2rem, 8vw, 5rem); margin: 0; line-height: 1.2; }
.scene2 p { color: rgba(255,255,255,.9); font-size: clamp(1rem, 2.4vw, 1.25rem); }
.emblems { display: flex; align-items: flex-end; justify-content: center; gap: clamp(1rem, 4vw, 2.5rem); margin-bottom: 1rem; }
.emblems figure { margin: 0; text-align: center; }
.emblems figcaption { color: var(--gold-300, #f6d98a); font-size: .85rem; font-weight: 600; margin-top: .5rem; }
.flag-pole .flag-wave { width: clamp(162px, 28vw, 300px); }
.scene2 #s1logo { width: clamp(80px, 14vw, 120px); margin: 0 auto; display: block; animation: blow 1.1s var(--ease) infinite alternate; }
.play.to2 .stage { animation: out .9s var(--ease) forwards; }
.play.to2 .scene2 { animation: fadeUp 1s var(--ease) .5s forwards; pointer-events: auto; }
@keyframes out { to { opacity: 0; transform: scale(.85) translateY(-30px); filter: blur(4px); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
.replay { margin-top: 1.4rem; }
.s1 .next-btn { color: var(--gold-500); }

/* Section 2 — secretary intro + carousel */
.s2 { background: var(--cream); }
.slider { position: relative; border-radius: 22px; overflow: hidden; box-shadow: var(--shadow-lg); aspect-ratio: 4/5; max-height: 72svh; background: var(--maroon-800); margin-inline: auto; width: 100%; max-width: 460px; }
.slides { display: flex; height: 100%; transition: transform .8s var(--ease); }
.slide { flex: 0 0 100%; position: relative; height: 100%; }
.slide img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.slide .cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 3.5rem 1.2rem 1.2rem; background: linear-gradient(transparent, rgba(40,4,9,.92)); color: #fff; }
.slide .cap b { display: block; font-family: var(--font-head); font-size: 1.25rem; color: var(--gold-500); }
.slide .cap span { font-size: .9rem; opacity: .92; }
.slider.single { max-width: 480px; }
.flag-section { background: linear-gradient(180deg, #fff 0%, var(--cream) 100%); }
.flag-stage { padding: 1.5rem; }
.flag-points { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .7rem; }
.flag-points li { padding: .7rem .9rem; border-left: 4px solid var(--gold-500); background: #fff; border-radius: 0 10px 10px 0; box-shadow: var(--shadow-sm); }
.flag-points li b { display: block; color: var(--maroon-700); }
[id] { scroll-margin-top: calc(var(--ticker-h) + var(--header-h) + 12px); }
.flag-wave.big { width: 90%; max-width: 540px; margin-inline: auto; }
.slider-dots { position: absolute; top: 12px; right: 12px; display: flex; gap: 6px; }
.slider-dots button { width: 10px; height: 10px; border-radius: 10px; border: 0; background: rgba(255,255,255,.5); cursor: pointer; transition: width .3s, background .3s; padding: 0; }
.slider-dots button.on { width: 26px; background: var(--gold-500); }
.slider-arrows { position: absolute; inset: 50% 8px auto; display: flex; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.slider-arrows button { pointer-events: auto; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.85); color: var(--maroon-800); cursor: pointer; display: grid; place-items: center; box-shadow: var(--shadow-sm); }
.role-chip { display: inline-flex; align-items: center; gap: .4rem; background: var(--maroon-700); color: var(--gold-100); padding: .35rem .9rem; border-radius: 999px; font-weight: 700; font-size: .9rem; margin-bottom: .8rem; }
.quote { border-left: 4px solid var(--gold-500); padding: .8rem 1.1rem; background: #fff; border-radius: 0 12px 12px 0; font-size: 1.05rem; color: var(--maroon-900); font-weight: 600; margin: 1.2rem 0; box-shadow: var(--shadow-sm); }
.duty-list { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .55rem; }
.duty-list li { display: flex; gap: .6rem; align-items: flex-start; }
.duty-list li::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 3px; border-radius: 50%; background: var(--gold-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237E0F1E' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/13px no-repeat; border: 1px solid #F0DFA6; }
.s2 .next-btn { color: var(--maroon-700); }

/* Section 3 — ideological leaders */
.s3 { background: var(--maroon-900); color: #fff; }
.s3 h2 { color: #fff; }
.s3 .muted { color: rgba(255,255,255,.75); }
.ideo { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 1.1rem; margin-top: 1.8rem; align-items: stretch; }
.ideo > * { min-width: 0; }
.ideo-card { background: rgba(255,255,255,.06); border: 1px solid rgba(246,194,28,.25); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: transform .3s var(--ease), border-color .3s; }
.ideo-card:hover { transform: translateY(-6px); border-color: var(--gold-500); }
.ideo-card .ph { aspect-ratio: 4/5; overflow: hidden; background: #2a0509; }
.ideo-card .ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; filter: saturate(.95); transition: transform .6s var(--ease); }
.ideo-card:hover .ph img { transform: scale(1.05); }
.ideo-card .bd { padding: .95rem 1rem 1rem; flex: 1; }
.ideo-card h3 { color: var(--gold-500); font-size: 1.08rem; margin-bottom: .15rem; }
.ideo-card .tag { font-size: .8rem; color: var(--gold-100); font-weight: 700; margin-bottom: .5rem; display: block; }
.ideo-card p { font-size: .88rem; line-height: 1.65; color: rgba(255,255,255,.85); margin: 0; }
.ideo-card.lead { grid-column: 1 / -1; display: grid; grid-template-columns: 300px minmax(0,1fr); background: linear-gradient(120deg, var(--gold-500), #E9A90E); border: 0; }
.ideo-card.lead:hover { transform: none; }
.ideo-card.lead .ph { aspect-ratio: auto; height: 100%; min-height: 260px; grid-row: span 2; }
.ideo-card.lead .bd { align-self: center; padding: 1.6rem 2rem .6rem; }
.ideo-card.lead h3 { font-size: 1.7rem; }
.ideo-card.lead .tag { font-size: .95rem; }
.ideo-card.lead p { font-size: 1rem; max-width: 62ch; }
.ideo-card.lead .credit { padding: 0 2rem 1rem; }
.ideo-card.lead h3, .ideo-card.lead .tag, .ideo-card.lead p { color: var(--maroon-900); }
.credit { font-size: .66rem; color: rgba(255,255,255,.55); padding: 0 1rem .7rem; }
.ideo-card.lead .credit { color: rgba(74,7,16,.65); }
@media (max-width: 1100px) {
  .ideo { display: flex; flex-wrap: wrap; justify-content: center; }
  .ideo-card { flex: 0 0 calc((100% - 2.2rem) / 3); }
  .ideo-card.lead { flex-basis: 100%; grid-template-columns: 40% minmax(0,1fr); }
  .ideo-card.lead .bd { padding: 1.2rem 1.4rem .5rem; }
  .ideo-card.lead h3 { font-size: 1.4rem; }
  .ideo-card.lead .credit { padding: 0 1.4rem .9rem; }
}
@media (max-width: 640px) {
  .ideo { gap: .7rem; }
  .ideo-card { flex-basis: calc((100% - .7rem) / 2); }
  .ideo-card.lead { grid-template-columns: 1fr; }
  .ideo-card.lead .ph { aspect-ratio: 4/3; min-height: 0; grid-row: auto; }
  .ideo-card.lead .bd { padding: 1rem 1rem .4rem; }
  .ideo-card.lead p { font-size: .9rem; }
  .ideo-card.lead .credit { padding: 0 1rem .8rem; }
  .ideo-card p { font-size: .82rem; }
  .ideo-card .bd { padding: .8rem .75rem .9rem; }
  .ideo-card h3 { font-size: .95rem; overflow-wrap: normal; word-break: normal; }
  .ideo-card .tag { font-size: .74rem; }
}
.s3 .next-btn { color: var(--gold-500); }

/* Section 4 — leadership */
.s4 { background: #fff; }
.lead-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.4rem; margin-top: 1.5rem; }
@media (max-width: 860px) { .lead-grid { grid-template-columns: 1fr; } }
.leader-card { display: grid; grid-template-columns: 150px 1fr; gap: 1.2rem; padding: 1.3rem; align-items: start; }
.leader-card .ph { width: 150px; aspect-ratio: 4/5; border-radius: 12px; overflow: hidden; background: var(--maroon-100); }
.leader-card .ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.leader-card .ini { width: 100%; height: 100%; display: grid; place-items: center; font-family: var(--font-head); font-size: 2.6rem; font-weight: 800; color: var(--maroon-700); }
.leader-card h3 { margin-bottom: .1rem; font-size: 1.25rem; }
.leader-card .role { color: var(--maroon-600); font-weight: 700; font-size: .92rem; display: block; margin-bottom: .5rem; }
.leader-card p { font-size: .93rem; color: var(--ink-2); margin: 0; }
@media (max-width: 520px) { .leader-card { grid-template-columns: 96px 1fr; gap: .9rem; padding: 1rem; } .leader-card .ph { width: 96px; } }
.timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.timeline::before { content: ""; position: absolute; left: 9px; top: 6px; bottom: 6px; width: 2px; background: var(--line); }
.timeline li { position: relative; padding: 0 0 1.1rem 2.1rem; }
.timeline li::before { content: ""; position: absolute; left: 2px; top: 7px; width: 16px; height: 16px; border-radius: 50%; background: var(--gold-500); border: 3px solid #fff; box-shadow: 0 0 0 2px var(--maroon-700); }
.timeline b { display: block; color: var(--maroon-700); font-family: var(--font-head); }
.timeline span { font-size: .93rem; color: var(--ink-2); }
.s4 .next-btn { color: var(--maroon-700); }

/* Section 5 — join */
.s5 { background: linear-gradient(135deg, var(--maroon-800), var(--maroon-600)); color: #fff; padding-bottom: 7rem; }
.s5 h2 { color: #fff; }
.s5 .lead-text { color: rgba(255,255,255,.88); font-size: 1.08rem; }
.s5 .card { color: var(--ink); }
.stat-row { display: flex; gap: 1.6rem; flex-wrap: wrap; margin: 1.4rem 0; }
.stat-row div b { display: block; font-family: var(--font-head); font-size: 2rem; color: var(--gold-500); line-height: 1; }
.stat-row div span { font-size: .85rem; color: rgba(255,255,255,.8); }
.s5 .next-btn { color: var(--gold-500); }

/* ---------------- Footer ---------------- */
.site-footer { background: var(--maroon-900); color: rgba(255,255,255,.82); padding: 3rem 0 1.2rem; font-size: .92rem; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 2rem; }
@media (max-width: 860px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .footer-grid { grid-template-columns: 1fr; } }
.site-footer h4 { color: var(--gold-500); font-size: 1rem; margin-bottom: .7rem; }
.site-footer a { color: rgba(255,255,255,.85); text-decoration: none; }
.site-footer a:hover { color: var(--gold-400); }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.footer-brand { display: flex; gap: .7rem; align-items: center; margin-bottom: .8rem; }
.footer-brand img { width: 52px; height: 52px; }
.footer-brand .t { font-family: var(--font-title); font-size: 1.35rem; color: var(--gold-500); line-height: 1.2; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 2rem; padding-top: 1rem; display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; justify-content: space-between; font-size: .8rem; color: rgba(255,255,255,.6); }

/* ---------------- Filters / chips ---------------- */
.filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.4rem; }
.chip { border: 1.5px solid var(--line); background: #fff; color: var(--ink); padding: .45rem 1rem; border-radius: 999px; cursor: pointer; font-weight: 700; font-size: .9rem; transition: all .2s; }
.chip:hover { border-color: var(--maroon-600); color: var(--maroon-700); }
.chip.on { background: var(--maroon-700); border-color: var(--maroon-700); color: #fff; }
.chip .n { display: inline-block; min-width: 22px; padding: 0 6px; margin-left: .3rem; border-radius: 10px; background: rgba(0,0,0,.08); font-size: .78rem; }
.chip.on .n { background: rgba(255,255,255,.22); }

/* Gallery */
.gallery { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
@media (max-width: 860px) { .gallery { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 480px) { .gallery { grid-template-columns: 1fr; } }
.g-item { position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 4/3; cursor: zoom-in; background: var(--maroon-100); border: 0; padding: 0; text-align: left; }
.g-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.g-item:hover img { transform: scale(1.06); }
.g-item .cap { position: absolute; inset: auto 0 0 0; padding: 2rem .9rem .8rem; background: linear-gradient(transparent, rgba(40,4,9,.85)); color: #fff; font-weight: 700; }
.g-item .cap small { display: block; font-weight: 500; color: var(--gold-400); font-size: .78rem; }
.sample-tag { position: absolute; top: 10px; left: 10px; background: rgba(255,255,255,.92); color: var(--maroon-800); font-size: .7rem; font-weight: 800; padding: 2px 8px; border-radius: 6px; }
.lightbox { position: fixed; inset: 0; z-index: 3000; background: rgba(20,2,5,.92); display: none; place-items: center; padding: 1rem; }
.lightbox.open { display: grid; }
.lightbox figure { margin: 0; max-width: 1000px; width: 100%; }
.lightbox img { width: 100%; max-height: 80svh; object-fit: contain; border-radius: 10px; }
.lightbox figcaption { color: #fff; text-align: center; margin-top: .6rem; font-weight: 700; }
.lightbox .x { position: absolute; top: 14px; right: 14px; width: 46px; height: 46px; border-radius: 50%; border: 0; background: #fff; cursor: pointer; font-size: 1.4rem; color: var(--maroon-800); }

/* Events */
.events { display: grid; gap: 1rem; }
.event { display: grid; grid-template-columns: 92px 1fr auto; gap: 1.1rem; align-items: center; padding: 1rem 1.2rem; }
.event .date { text-align: center; background: var(--maroon-700); color: #fff; border-radius: 12px; padding: .55rem .3rem; line-height: 1.15; }
.event .date b { display: block; font-size: 1.9rem; font-family: var(--font-head); color: var(--gold-500); }
.event .date span { font-size: .78rem; font-weight: 700; }
.event h3 { margin: 0 0 .2rem; font-size: 1.08rem; }
.event .meta { font-size: .86rem; color: var(--ink-2); display: flex; flex-wrap: wrap; gap: .3rem 1rem; }
.event.past { opacity: .7; }
.event.past .date { background: var(--ink-3); }
@media (max-width: 600px) { .event { grid-template-columns: 70px 1fr; } .event .badge-wrap { grid-column: 1 / -1; } .event .date b { font-size: 1.5rem; } }

/* Badges */
.badge { display: inline-flex; align-items: center; gap: .35rem; font-size: .78rem; font-weight: 800; padding: .22rem .65rem; border-radius: 999px; white-space: nowrap; }
.badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.b-new { background: var(--blue-bg); color: var(--blue); }
.b-listed { background: var(--amber-bg); color: var(--amber); }
.b-resolved { background: var(--green-bg); color: var(--green); }
.b-rejected { background: var(--red-bg); color: var(--red); }
.b-neutral { background: var(--maroon-100); color: var(--maroon-700); }

/* Office-bearers */
.team { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
@media (max-width: 960px) { .team { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 640px) { .team { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .7rem; } }
.member { text-align: center; padding: 1.1rem .8rem 1.2rem; transition: transform .3s var(--ease), box-shadow .3s; }
.member:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.member .ph { width: 104px; height: 104px; margin: 0 auto .8rem; border-radius: 50%; overflow: hidden; border: 3px solid var(--gold-500); background: var(--maroon-100); display: grid; place-items: center; }
.member .ph img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.member .ph .ini { font-family: var(--font-head); font-weight: 800; font-size: 1.8rem; color: var(--maroon-700); }
.member h3 { font-size: 1rem; margin: 0; }
.member .role { font-size: .85rem; color: var(--maroon-600); font-weight: 700; }
.member.pending h3 { color: var(--ink-3); font-weight: 600; }

/* ---------------- Complaints ---------------- */
.cmp-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 1.6rem; align-items: start; }
@media (max-width: 980px) { .cmp-layout { grid-template-columns: 1fr; } }
.step-head { display: flex; align-items: center; gap: .7rem; margin: 1.6rem 0 .9rem; }
.step-head:first-child { margin-top: 0; }
.step-head .n { width: 30px; height: 30px; border-radius: 50%; background: var(--maroon-700); color: var(--gold-500); display: grid; place-items: center; font-weight: 800; font-family: var(--font-head); flex: none; }
.step-head h3 { margin: 0; }
.otp-box { display: none; margin-top: .7rem; }
.otp-box.show { display: block; }
.verified { display: none; align-items: center; gap: .5rem; color: var(--green); font-weight: 800; background: var(--green-bg); padding: .5rem .9rem; border-radius: 10px; margin-top: .6rem; }
.verified.show { display: inline-flex; }
.locked { opacity: .45; pointer-events: none; filter: grayscale(.4); transition: opacity .3s; }
.file-drop { border: 2px dashed var(--line); border-radius: 12px; padding: 1.2rem; text-align: center; background: #fff; cursor: pointer; transition: border-color .2s, background .2s; }
.file-drop:hover, .file-drop.drag { border-color: var(--maroon-600); background: var(--maroon-100); }
.file-drop input { display: none; }
.file-drop .fn { font-weight: 700; color: var(--maroon-700); margin-top: .3rem; word-break: break-all; }

.kpis { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; }
@media (max-width: 520px) { .kpis { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.kpi { padding: 1rem; border-radius: 14px; background: #fff; border: 1px solid var(--line); position: relative; overflow: hidden; }
.kpi .lbl { font-size: .8rem; color: var(--ink-2); font-weight: 700; display: block; }
.kpi .val { font-family: var(--font-head); font-size: 1.9rem; font-weight: 800; line-height: 1.15; color: var(--maroon-900); font-variant-numeric: tabular-nums; }
.kpi::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--c, var(--maroon-700)); }
.kpi.perf { background: var(--maroon-800); border-color: var(--maroon-800); }
.kpi.perf .lbl { color: var(--gold-100); }
.kpi.perf .val { color: var(--gold-500); }
.perf-bar { height: 6px; border-radius: 6px; background: rgba(255,255,255,.18); margin-top: .4rem; overflow: hidden; }
.perf-bar span { display: block; height: 100%; background: var(--gold-500); width: 0; transition: width 1.2s var(--ease); }
.tabs { display: flex; gap: .3rem; overflow-x: auto; border-bottom: 2px solid var(--line); margin: 1.4rem 0 0; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tab { flex: none; background: none; border: 0; padding: .7rem .9rem; font-weight: 800; color: var(--ink-2); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; font-size: .92rem; }
.tab.on { color: var(--maroon-700); border-color: var(--maroon-700); }
.tab .n { font-size: .75rem; background: var(--maroon-100); color: var(--maroon-700); padding: 0 .45rem; border-radius: 8px; margin-left: .25rem; }
.list-tools { display: flex; gap: .6rem; margin: .9rem 0; flex-wrap: wrap; }
.list-tools input, .list-tools select { padding: .55rem .8rem; border: 1.5px solid var(--line); border-radius: 10px; background: #fff; min-height: 44px; }
.list-tools input { flex: 1; min-width: 160px; }
.cmp-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.cmp-table th { text-align: left; font-size: .78rem; color: var(--ink-2); font-weight: 800; padding: .6rem .7rem; background: var(--cream); border-bottom: 1px solid var(--line); white-space: nowrap; }
.cmp-table td { padding: .75rem .7rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.cmp-table tr:hover td { background: #FFFDF8; }
.cmp-no { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-weight: 700; color: var(--maroon-800); font-size: .85rem; white-space: nowrap; }
.link-btn { background: none; border: 0; color: var(--maroon-700); font-weight: 800; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; padding: 0; white-space: nowrap; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.res-note { margin-top: .35rem; font-size: .8rem; color: var(--green); background: var(--green-bg); padding: .3rem .55rem; border-radius: 6px; }
@media (max-width: 640px) {
  .cmp-table thead { display: none; }
  .cmp-table, .cmp-table tbody, .cmp-table tr, .cmp-table td { display: block; width: 100%; }
  .cmp-table tr { padding: .8rem .9rem; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: .2rem .6rem; }
  .cmp-table td { border: 0; padding: 0; }
  .cmp-table td[data-k="cat"] { grid-column: 1 / -1; font-weight: 700; }
  .cmp-table td[data-k="loc"] { grid-column: 1 / -1; color: var(--ink-2); font-size: .86rem; }
  .cmp-table td[data-k="act"] { grid-column: 1 / -1; }
}
.empty { text-align: center; padding: 2.5rem 1rem; color: var(--ink-2); }
.empty svg { margin: 0 auto .6rem; color: var(--ink-3); }
.demo-banner { background: var(--gold-100); border-bottom: 1px solid #F0DFA6; color: var(--maroon-900); font-size: .85rem; text-align: center; padding: .5rem 1rem; font-weight: 600; }

/* Modal */
.modal { position: fixed; inset: 0; z-index: 2500; background: rgba(30,4,8,.6); display: none; align-items: center; justify-content: center; padding: 1rem; }
.modal.open { display: flex; animation: fadeIn .2s; }
@keyframes fadeIn { from { opacity: 0; } }
.modal-card { background: #fff; border-radius: 18px; width: min(620px, 100%); max-height: 90svh; overflow-y: auto; box-shadow: var(--shadow-lg); animation: pop .3s var(--ease); }
@keyframes pop { from { transform: translateY(16px) scale(.98); opacity: 0; } }
.modal-head { padding: 1.1rem 1.3rem; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 1rem; position: sticky; top: 0; background: #fff; }
.modal-head h3 { margin: 0; }
.modal-body { padding: 1.2rem 1.3rem 1.4rem; }
.modal-x { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; cursor: pointer; font-size: 1.2rem; flex: none; }
.dl { display: grid; grid-template-columns: 150px 1fr; gap: .55rem 1rem; margin: 0; font-size: .93rem; }
.dl dt { color: var(--ink-2); font-weight: 700; }
.dl dd { margin: 0; }
@media (max-width: 480px) { .dl { grid-template-columns: 1fr; gap: .1rem; } .dl dd { margin-bottom: .6rem; } }

/* Toast */
.toast-wrap { position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 4000; display: grid; gap: .5rem; width: min(440px, calc(100% - 2rem)); }
.toast { background: var(--maroon-900); color: #fff; padding: .85rem 1.1rem; border-radius: 12px; box-shadow: var(--shadow-lg); font-size: .92rem; animation: fadeUp .3s var(--ease); border-left: 4px solid var(--gold-500); }
.toast.ok { border-left-color: #4ADE80; }
.toast.err { border-left-color: #F87171; }

/* Success panel */
.success { text-align: center; padding: 2rem 1rem; }
.success .tick { width: 76px; height: 76px; border-radius: 50%; background: var(--green-bg); color: var(--green); display: grid; place-items: center; margin: 0 auto 1rem; animation: pop .5s var(--ease); }
.success .no { font-family: ui-monospace, Menlo, monospace; font-size: 1.5rem; font-weight: 800; color: var(--maroon-800); background: var(--gold-100); display: inline-block; padding: .3rem 1rem; border-radius: 10px; margin: .4rem 0 1rem; }

/* Admin */
.admin-login { max-width: 420px; margin: 3rem auto; }
.admin-bar { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.admin-table td { font-size: .86rem; }
.admin-table select, .admin-table textarea { width: 100%; padding: .45rem .55rem; border: 1.5px solid var(--line); border-radius: 8px; background: #fff; font-size: .85rem; }
.admin-table textarea { min-height: 64px; min-width: 200px; }
.pvt { display: inline-block; font-size: .7rem; font-weight: 800; color: var(--red); background: var(--red-bg); padding: 1px 6px; border-radius: 5px; margin-left: .3rem; }

/* Value / feature cards */
.feature { padding: 1.4rem; }
.feature .ic { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; background: var(--gold-100); color: var(--maroon-700); margin-bottom: .9rem; }
.feature h3 { margin-bottom: .35rem; }
.feature p { color: var(--ink-2); font-size: .94rem; margin: 0; }
.prose { max-width: 72ch; }
.prose p { font-size: 1.02rem; }
.hero-img { border-radius: 20px; overflow: hidden; box-shadow: var(--shadow-lg); aspect-ratio: 16/10; }
.hero-img img { width: 100%; height: 100%; object-fit: cover; }
.credits-list { font-size: .82rem; color: var(--ink-2); padding-left: 1.1rem; }
.credits-list li { margin-bottom: .3rem; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1; transform: none; }
  .ticker-track { animation: none; }
}

/* Lists & misc (inner pages) */
.ticks { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .6rem; }
.ticks li { position: relative; padding-left: 2rem; }
.ticks li::before { content: "✓"; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%; background: var(--gold-100); color: var(--maroon-700); display: grid; place-items: center; font-weight: 800; font-size: .8rem; }
fieldset[disabled] { min-width: 0; }
fieldset { min-width: 0; }
.otp-demo { display: inline-block; font-family: ui-monospace, Menlo, monospace; font-weight: 800; letter-spacing: .15em; background: var(--gold-100); color: var(--maroon-900); padding: 0 .4rem; border-radius: 4px; }
.admin-row-actions { display: grid; gap: .4rem; min-width: 220px; }
.proof-img { max-width: 100%; border-radius: 10px; border: 1px solid var(--line); margin-top: .5rem; }
@media (max-width: 860px) { .grid-2, .grid-3 { grid-template-columns: 1fr; } .lead-grid { grid-template-columns: 1fr !important; } }
@media (max-width: 520px) { .leader-card { grid-template-columns: 96px 1fr; padding: 1rem; } .leader-card .ph { width: 96px; } .form-grid { grid-template-columns: 1fr; } }
.grid-2 > *, .grid-3 > *, .cmp-layout > *, .form-grid > * { min-width: 0; }
.field select { max-width: 100%; }
h1, h2, h3 { overflow-wrap: break-word; }
@media (max-width: 980px) { .cmp-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 860px) { .grid-2, .grid-3 { grid-template-columns: minmax(0, 1fr); } }

/* complaints: form on top (centered), dashboard full width below */
.cmp-layout { grid-template-columns: minmax(0, 1fr) !important; gap: 2.5rem; }
#formCard { width: 100%; max-width: 860px; margin-inline: auto; }
@media (min-width: 900px) { #dashboard .kpis { grid-template-columns: repeat(6, minmax(0,1fr)); } }

/* ---------- Complaint tracker ---------- */
.tracker { background: linear-gradient(135deg, var(--maroon-800), var(--maroon-700)); color: #fff; border-radius: 18px; padding: 1.4rem 1.5rem; margin-bottom: 1.6rem; box-shadow: var(--shadow); }
.tracker h2 { color: var(--gold-500); font-size: 1.35rem; margin: 0 0 .25rem; }
.tracker p { color: rgba(255,255,255,.82); margin: 0 0 .9rem; font-size: .92rem; }
.tracker form { display: flex; gap: .6rem; flex-wrap: wrap; }
.tracker input { flex: 1; min-width: 200px; color: var(--ink); background: #fff; min-height: 46px; padding: .55rem .9rem; border-radius: 10px; border: 0; font-family: ui-monospace, Menlo, monospace; font-size: 1rem; text-transform: uppercase; }
.tracker input::placeholder { text-transform: none; font-family: var(--font-body, inherit); }
.track-out { margin-top: 1rem; background: #fff; color: var(--ink); border-radius: 14px; padding: 1.1rem 1.2rem; display: none; animation: pop .4s var(--ease); }
.track-out.show { display: block; }
.track-out .hd { display: flex; justify-content: space-between; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .9rem; }
.track-out .hd b { font-family: ui-monospace, Menlo, monospace; color: var(--maroon-800); font-size: 1.1rem; }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); position: relative; margin: .4rem 0 .9rem; }
.steps .st { text-align: center; position: relative; font-size: .82rem; color: var(--ink-2); font-weight: 600; }
.steps .st::before { content: ""; position: absolute; top: 15px; left: -50%; right: 50%; height: 3px; background: var(--line); z-index: 0; }
.steps .st:first-child::before { display: none; }
.steps .st.done::before { background: var(--green); }
.steps .dot { width: 32px; height: 32px; border-radius: 50%; background: #fff; border: 3px solid var(--line); display: grid; place-items: center; margin: 0 auto .35rem; position: relative; z-index: 1; font-weight: 800; font-size: .8rem; color: var(--ink-2); }
.steps .st.done .dot { background: var(--green); border-color: var(--green); color: #fff; }
.steps .st.cur .dot { border-color: var(--maroon-700); color: var(--maroon-700); box-shadow: 0 0 0 5px rgba(139,16,32,.12); }
.steps .st.rej .dot { background: var(--red); border-color: var(--red); color: #fff; }
.steps .st.done, .steps .st.cur { color: var(--ink); }
.track-out .note { background: var(--cream, #FFF8E7); border-radius: 10px; padding: .7rem .9rem; font-size: .9rem; }
.track-out .meta { font-size: .82rem; color: var(--ink-2); margin-top: .6rem; }

/* ---------- Ward chart ---------- */
.ward-chart { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 1.1rem 1.2rem 1rem; margin-top: 1rem; }
.ward-chart .hd { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; flex-wrap: wrap; margin-bottom: .8rem; }
.ward-chart h3 { margin: 0; font-size: 1.05rem; }
.legend { display: flex; gap: .9rem; flex-wrap: wrap; font-size: .78rem; color: var(--ink-2); }
.legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 4px; vertical-align: middle; }
.wbars { display: grid; grid-template-columns: repeat(15, minmax(0,1fr)); gap: .45rem; align-items: end; height: 170px; padding-top: 1.2rem; }
.wbar { display: flex; flex-direction: column; align-items: stretch; height: 100%; justify-content: flex-end; cursor: pointer; background: none; border: 0; padding: 0; font: inherit; position: relative; }
.wbar .stack { display: flex; flex-direction: column-reverse; border-radius: 6px 6px 2px 2px; overflow: hidden; background: var(--maroon-100); min-height: 4px; transition: height .7s var(--ease); }
.wbar .stack span { display: block; }
.wbar .n { position: absolute; top: -1.1rem; left: 0; right: 0; text-align: center; font-size: .75rem; font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; }
.wbar .w { font-size: .72rem; text-align: center; color: var(--ink-2); margin-top: .3rem; font-weight: 700; }
.wbar:hover .stack, .wbar.on .stack { outline: 2px solid var(--maroon-700); outline-offset: 2px; }
.wbar.on .w { color: var(--maroon-700); }
@media (max-width: 640px) { .wbars { gap: .2rem; height: 140px; } .wbar .w { font-size: .62rem; } .wbar .n { font-size: .64rem; } }

/* ---------- Receipt actions ---------- */
.receipt-actions { display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap; margin-bottom: 1rem; }

/* ---------- Back to top ---------- */
.to-top { position: fixed; left: 18px; bottom: 18px; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--maroon-700); color: var(--gold-500); box-shadow: var(--shadow); display: grid; place-items: center; cursor: pointer; opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .3s, transform .3s var(--ease); z-index: 60; }
.to-top.show { opacity: 1; transform: none; pointer-events: auto; }
.to-top:hover { background: var(--maroon-800); }
@media print { .site-header, .site-footer, .ticker, .to-top, .tracker, #dashboard, .demo-banner, .page-hero, .receipt-actions { display: none !important; } }
#tracker, #dashboard, #formCard, .list-tools { scroll-margin-top: 130px; }
.track-out p { color: var(--ink); font-size: .92rem; }

/* Ward-wise summary (About page) */
.ward-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .75rem; margin: 1.5rem 0; }
.ward-kpis .wk { background: var(--maroon-800); color: #fff; border-radius: 14px; padding: .9rem 1rem; }
.ward-kpis .wk b { display: block; font-size: 1.5rem; color: var(--gold-500); line-height: 1.2; }
.ward-kpis .wk span { font-size: .85rem; opacity: .9; }
.ward-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.ward-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 1rem 1.1rem; box-shadow: var(--shadow-sm); }
.ward-card header { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; }
.ward-card h3 { margin: 0; font-size: 1.1rem; color: var(--maroon-700); }
.ward-card .pop { font-weight: 800; font-size: 1.15rem; }
.ward-card .pop small { font-weight: 600; color: var(--ink-2); font-size: .75rem; }
.ward-card .wbar { height: 6px; background: var(--maroon-100); border-radius: 6px; margin: .55rem 0; overflow: hidden; }
.ward-card .wbar i { display: block; height: 100%; background: linear-gradient(90deg, var(--maroon-700), var(--gold-500)); border-radius: 6px; }
.ward-card .wmeta { font-size: .82rem; color: var(--ink-2); margin: 0 0 .5rem; }
.ward-card summary { cursor: pointer; font-weight: 700; font-size: .88rem; color: var(--maroon-700); }
.ward-card ul { margin: .5rem 0 0; padding-left: 1.1rem; font-size: .88rem; columns: 2; column-gap: 1rem; }
.ward-card li { break-inside: avoid; }
@media (max-width: 420px) { .ward-card ul { columns: 1; } }
.flag-pole figcaption { margin-top: 2.9rem; }
.flag-stage { padding-bottom: 3.5rem; }

/* Responsive home sections: let content set height and keep navigation in flow. */
body[data-page="home"] .home-section { min-height: calc(100svh - var(--ticker-h) - var(--header-h)); height: auto; padding: clamp(1.5rem, 3vw, 2.8rem) 0 1.25rem; gap: 1.5rem; }
body[data-page="home"] .home-section > .wrap { flex: 1; width: min(1180px, calc(100% - 2.5rem)); }
body[data-page="home"] .home-section > .next-btn { position: relative; inset: auto; transform: none; align-self: center; flex: none; margin-top: .5rem; }
body[data-page="home"] .s1 { display: grid; grid-template-columns: minmax(0,1fr); align-content: center; }
body[data-page="home"] .s1 .stage, body[data-page="home"] .s1 .scene2 { grid-area: 1 / 1; position: relative; inset: auto; width: min(1100px, calc(100% - 2rem)); margin-inline: auto; align-self: center; padding: .5rem; min-width: 0; }
body[data-page="home"] .s1 > .next-btn { grid-area: 2 / 1; justify-self: center; }
body[data-page="home"] .s1 .scene2 > div { max-width: 100%; }
body[data-page="home"] .scene2 .tt { font-size: clamp(1.7rem, 5.5vw, 4rem); line-height: 1.5; }
body[data-page="home"] .scene2 h2 { font-size: clamp(1.2rem, 3.5vw, 2.3rem); line-height: 1.6; }
body[data-page="home"] .duo .ring { width: clamp(110px, 19vw, 190px); }
body[data-page="home"] .emblems .flag-wave { width: clamp(130px, 20vw, 230px); }
body[data-page="home"] .slider { max-height: 58svh; max-width: 360px; }
body[data-page="home"] .ideo-card.lead { grid-template-columns: 200px minmax(0,1fr); }
body[data-page="home"] .ideo-card.lead .ph { min-height: 200px; }
body[data-page="home"] .ideo-card:not(.lead) .ph { aspect-ratio: 1; }
body[data-page="home"] .lead-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
body[data-page="home"] .leader-card { grid-template-columns: 110px minmax(0,1fr); }
body[data-page="home"] .leader-card .ph { width: 110px; }
@media (max-width: 760px) {
 body[data-page="home"] .home-section > .wrap { width: calc(100% - 2rem); }
 body[data-page="home"] .ideo-card.lead { grid-template-columns: 1fr; }
 body[data-page="home"] .ideo-card.lead .ph { max-height: 300px; }
 body[data-page="home"] .lead-grid { grid-template-columns: minmax(0,1fr); }
 body[data-page="home"] .duo { gap: 1rem; }
 body[data-page="home"] .duo figure { min-width: 0; max-width: 48%; }
 body[data-page="home"] .vanakkam { font-size: clamp(2.5rem, 12vw, 5rem); }
 body[data-page="home"] .scene2 p { font-size: .95rem; }
}
@media (max-height: 740px) and (min-width: 761px) {
 body[data-page="home"] .duo .ring { width: 140px; }
 body[data-page="home"] .vanakkam { font-size: 4rem; }
 body[data-page="home"] .emblems .flag-wave { width: 170px; }
 body[data-page="home"] .scene2 .tt { font-size: 2.8rem; }
}
body[data-page="home"] .s1.to2 .stage { visibility: hidden; pointer-events: none; }
body[data-page="home"] .s1:not(.to2) .scene2 { visibility: hidden; }
body[data-page="home"] .s1.to2 .scene2 { visibility: visible; }
/* Readable Tamil cards and consistent verification panels. */
.team { grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr)); gap: 1.2rem; align-items: stretch; }
.member { padding: 1.6rem 1.2rem; border-top: 3px solid var(--gold-500); background: linear-gradient(180deg,#fff,#fffdf8); }
.member h3 { font-size: 1.06rem; line-height: 1.7; word-break: keep-all; overflow-wrap: normal; hyphens: none; }
.member .role { display: block; margin-top: .45rem; line-height: 1.85; word-break: keep-all; overflow-wrap: normal; hyphens: none; }
.member .ph { width: 116px; height: 116px; box-shadow: 0 5px 18px #740d1714; }
.phone-verification { border: 1px solid #ead8b5; border-radius: 14px; padding: 1rem; background: #fffbf1; }
.otp-heading { display:flex; align-items: center; justify-content: space-between; gap:.5rem; flex-wrap:wrap; }
.otp-status { font-size: .75rem; color: var(--maroon-700); padding: .15rem .5rem; background: #f5e8dc; border-radius: 20px; }
.otp-entry { display:flex; align-items:flex-end; gap:.7rem; margin-top: .8rem; }
.otp-entry[hidden] { display:none; }
.otp-entry label { flex:1; min-width:0; font-size:.85rem; }
.otp-entry input { display:block; width:100%; letter-spacing:.25em; margin-top:.3rem; }
.otp-hint { margin:.7rem 0 0; overflow-wrap:break-word; }
.phone-verification.is-verified { border-color:#9bc6a5; background:#f4fbf4; }
.is-verified .otp-status { color:#236136; background:#e1f2e2; }
button:disabled { cursor:not-allowed; opacity:.6; }
@media (max-width: 640px) {
 .team { grid-template-columns: minmax(0,1fr); gap:1rem; }
 .member { max-width:440px; width:100%; margin-inline:auto; }
 .member h3 { font-size:1.12rem; }
 .member .role { font-size:.95rem; }
 .phone-verification { padding:.85rem; }
 .otp-entry { flex-wrap:wrap; }
 .leader-badge { opacity:.95; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }

.complaint-terms { margin:1.3rem 0; padding:1.2rem; border:1px solid #e8d9b6; border-radius:14px; background:#fffcf3; line-height:1.9; }
.complaint-terms h3 { font-size:1.05rem; margin-bottom:.7rem; }
.complaint-terms p,.complaint-terms li { font-size:.9rem; }
.complaint-terms ul { padding-left:1.3rem; margin-bottom:0; }
.complaint-terms li+li { margin-top:.65rem; }
.terms-link{border:0;background:none;color:var(--maroon-700);text-decoration:underline;font:inherit;font-size:.85rem;font-weight:700;padding:0 .3rem;cursor:pointer}
#termsDialog{border:0;border-radius:20px;padding:1.25rem;width:min(720px,calc(100% - 2rem));max-height:85svh;color:var(--ink);box-shadow:0 24px 90px #24040855}
#termsDialog::backdrop{background:#240408aa;backdrop-filter:blur(5px)}
.terms-toolbar{display:flex;justify-content:space-between;align-items:center;font-weight:700;gap:1rem}.terms-toolbar button{border:0;border-radius:50%;width:36px;height:36px;cursor:pointer}.complaint-terms{margin:1rem 0}
.landing-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 80% 30%,#9c2735,transparent 52%),linear-gradient(135deg,#36070f,#670f1e 60%,#490b15);color:#fff;padding:clamp(2rem,5vw,5rem) 0 1.5rem}
.landing-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center;min-height:490px;position:relative;z-index:1}
.landing-copy{animation:landing-enter .9s ease both}.landing-kicker{display:inline-flex;gap:.6rem;align-items:center;color:#f6d881;font-size:.83rem;letter-spacing:.02em}.landing-kicker>span{width:7px;height:7px;background:#ffc82c;border-radius:50%;box-shadow:0 0 0 5px #ffc82c20}
.landing-copy h1{font-size:clamp(2rem,3.8vw,3.6rem);line-height:1.6;letter-spacing:-.035em;color:white;margin:1.2rem 0 .8rem;font-weight:800}.landing-copy h1 em{font-style:normal;color:#ffd05c}.landing-intro{font-size:1.16rem;color:#ffedbb;font-weight:600}.landing-description{color:#ecd6d8;max-width:58ch;font-size:.94rem;line-height:2}
.landing-actions{display:flex;flex-wrap:wrap;gap:1rem;margin:1.7rem 0 2rem}.landing-actions .btn-ghost{color:#fff1c7;border-color:#ffffff40}.landing-actions .btn-gold{box-shadow:0 7px 28px #ffc52822;gap:1.5rem}
.hero-facts{display:flex;gap:1.8rem;padding-top:1.2rem;border-top:1px solid #ffffff24}.hero-facts>div{display:flex;flex-direction:column;gap:.3rem}.hero-facts b{font-size:1rem;color:#ffda7e}.hero-facts>div:first-child b{font-size:1.6rem;line-height:1.1}.hero-facts span{font-size:.72rem;color:#dac2c5}
.landing-visual{position:relative;min-height:490px;display:flex;justify-content:center;align-items:center;animation:landing-enter 1.1s .15s both}
.portrait-halo{position:absolute;width:380px;aspect-ratio:1;border:1px solid #ffd46140;border-radius:50%;box-shadow:0 0 0 30px #ffd46107,0 0 0 65px #ffd46104;animation:halo-breathe 6s ease-in-out infinite}
.hero-main-portrait{position:relative;width:300px;height:380px;border-radius:150px 150px 28px 28px;border:1px solid #e7ba654d;overflow:hidden;box-shadow:0 25px 70px #20020970;background:#d7b37e}.hero-main-portrait>img{width:100%;height:100%;object-fit:cover;object-position:top}.portrait-caption{position:absolute;inset:auto 0 0;padding:3rem 1.5rem 1.2rem;background:linear-gradient(transparent,#39070fee);display:flex;flex-direction:column}.portrait-caption small{color:#f6d482;font-size:.75rem}.portrait-caption strong{font-size:1.4rem}
.hero-secretary{position:absolute;left:-5px;bottom:8px;display:flex;align-items:center;gap:.8rem;background:#fffaf0;color:#600b1b;padding:.8rem 1.2rem .8rem .8rem;border-radius:18px;box-shadow:0 15px 40px #23030b40;animation:card-float 6s ease-in-out infinite}.hero-secretary img{width:74px;height:84px;object-fit:cover;object-position:top;border-radius:11px}.hero-secretary div{display:flex;flex-direction:column;gap:.2rem}.hero-secretary small{font-size:.67rem}.hero-secretary strong{font-size:1.2rem}.hero-secretary span{font-size:.72rem}
.hero-flag{position:absolute;right:-10px;top:0;width:155px;background:#fff9ed12;border:1px solid #ffffff28;padding:.7rem;border-radius:14px;backdrop-filter:blur(8px);transform:rotate(5deg)}.hero-flag .flag-wave{width:125px;margin:auto}.hero-flag>span{display:block;font-size:.6rem;color:#ffdfa2;text-align:center;margin-top:.4rem}
.hero-orbit{position:absolute;z-index:-1;border:1px solid #e9be4d16;border-radius:50%;width:850px;height:850px;right:-300px;top:-290px;pointer-events:none}.orbit-two{width:1000px;height:1000px;right:-375px;top:-365px}
.service-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #ffffff25;border-radius:18px;background:#ffffff08;margin-top:3rem;position:relative}.service-strip>a{display:flex;gap:.8rem;padding:1.35rem 1.1rem;align-items:center;color:white;text-decoration:none;transition:background .2s}.service-strip>a:hover{background:#ffffff0c}.service-strip>a+a{border-left:1px solid #ffffff20}.service-strip>a>span{font-size:.8rem;color:#e6b84c}.service-strip b{font-size:.8rem;display:block}.service-strip small{display:block;font-size:.68rem;color:#d4b6bb;margin-top:.4rem}.service-strip i{font-style:normal;color:#ffd36c;margin-left:auto}
.hero-scroll{display:flex;align-items:center;justify-content:center;gap:.8rem;color:#d6b8bc;font-size:.72rem;text-decoration:none;margin:1.5rem 0 0}.hero-scroll span{color:#ffd05c;animation:bob 2s infinite}
@keyframes landing-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes card-float{50%{transform:translateY(-9px)}}@keyframes halo-breathe{50%{transform:scale(1.06);opacity:.6}}
@media(max-width:860px){.landing-grid{grid-template-columns:1fr;gap:1rem}.landing-copy h1{font-size:clamp(1.9rem,6vw,3rem)}.landing-visual{width:min(450px,100%);margin:auto;min-height:470px}.service-strip{grid-template-columns:1fr;margin-top:1.5rem}.service-strip>a+a{border-left:0;border-top:1px solid #ffffff20}.hero-facts{gap:1.2rem;flex-wrap:wrap}.hero-secretary{left:0}.hero-flag{right:0}.landing-hero{padding-top:2rem}.portrait-halo{width:300px}}
@media(max-width:380px){.hero-main-portrait{width:250px;height:350px}.hero-secretary{padding:.6rem;gap:.5rem}.hero-secretary img{width:58px;height:68px}.hero-flag{width:125px}.hero-flag .flag-wave{width:100px}.hero-facts{gap:.8rem}}
@media(prefers-reduced-motion:reduce){.landing-copy,.landing-visual,.portrait-halo,.hero-secretary,.hero-scroll span{animation:none!important}}
/* Leadership-first welcome and scroll-led flag chapter. */
.welcome-stage{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#a02936 0,#650c1d 55%,#360810 100%);color:#fff;text-align:center;padding:1.8rem 0 1rem;min-height:calc(100svh - var(--ticker-h) - var(--header-h));display:grid;align-items:center}
.welcome-rays{position:absolute;inset:-70%;z-index:-1;background:repeating-conic-gradient(from 0deg,#e7a52f09 0deg 9deg,transparent 9deg 24deg);animation:spin 120s linear infinite}
.welcome-inner{position:relative}.welcome-unit{font-size:.9rem;color:#ffe29a;margin:0 0 1.3rem;font-weight:700;letter-spacing:.03em}.welcome-unit span{display:block;color:#edd2d5;font-size:.78rem;margin-top:.3rem}
.welcome-leaders{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,3.5vw,3.5rem)}.welcome-leaders figure{margin:0;width:min(29vw,245px)}
.welcome-photo{border:3px solid #f3c44f;padding:5px;border-radius:50% 50% 20px 20px;background:linear-gradient(135deg,#fce9b5,#be8a28);box-shadow:0 15px 55px #29030e66;aspect-ratio:1/1.08;overflow:hidden;animation:portrait-arrive .9s ease-out both}
.welcome-photo img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:inherit}.welcome-leaders figure:last-child .welcome-photo{animation-name:portrait-arrive-right}
.welcome-leaders figcaption{margin:.7rem -.6rem 0;display:flex;flex-direction:column;gap:.2rem}.welcome-leaders small{font-size:.78rem;color:#f2cf78}.welcome-leaders strong{font-size:clamp(.95rem,2vw,1.3rem);color:white;white-space:nowrap}
.welcome-symbol{width:75px;display:grid;gap:.5rem;justify-items:center}.welcome-symbol img{width:70px;filter:drop-shadow(0 5px 10px #22000966)}.welcome-symbol span{letter-spacing:.35em;font-size:.75rem;color:#efc653}
.welcome-greeting{margin:1.2rem 0 .8rem;animation:greeting-arrive 1s .35s both}.welcome-greeting>p{font-family:var(--font-title);font-size:clamp(2.4rem,5vw,4rem);color:#ffdb68;line-height:1.4;margin:0}.welcome-greeting h1{font-size:clamp(1.1rem,2.3vw,1.8rem);line-height:1.7;color:white;margin:.25rem 0 .5rem}.welcome-greeting h1 br{display:none}.welcome-greeting em{font-style:normal}.welcome-greeting>span{color:#e6c4ca;font-size:.8rem}.welcome-explore{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem;color:#ffe397;font-size:.72rem;text-decoration:none;margin:.5rem 0}.welcome-explore b{font-size:1.5rem;animation:bob 2s infinite}
.chapter-links{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:1rem;background:#fffaf1;border-bottom:1px solid #eadbc2}.chapter-links a{font-size:.8rem;color:#6b1423;text-decoration:none;border-radius:30px;padding:.45rem .9rem}.chapter-links a:hover,.chapter-links a.active{background:#6b1423;color:#ffe394}
.flag-chapter{padding:clamp(3rem,7vw,6rem) 0;background:radial-gradient(ellipse at 70% 40%,#892432,#350810 75%);color:#f5e0d8;overflow:hidden}.flag-story{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.chapter-number{color:#d8ae54;font-size:.75rem;letter-spacing:.06em}.flag-story h2{font-size:clamp(2rem,4.5vw,4rem);line-height:1.6;color:#fff;margin:.8rem 0}.flag-story em{font-style:normal;color:#ffd25b}.gold-rule{height:2px;width:65px;background:#ffd25b;margin:1rem 0}.flag-motto{font-size:1.1rem;color:#ffe8a5}.flag-story-copy>p:not(.flag-motto){font-size:.95rem;line-height:2;max-width:43ch}.flag-story .btn{margin-top:1rem}
.hoist-scene{position:relative;height:450px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;--hoist:0}.hoist-pole{height:385px;width:9px;position:relative;background:linear-gradient(90deg,#8f652c,#fff2bc,#bc873e);border-radius:9px}.hoist-pole>span{position:absolute;top:-14px;left:-5px;width:19px;height:19px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff6cf,#d4a039);box-shadow:0 0 30px #eacb7240}.hoisted-flag{position:absolute!important;left:8px;top:calc(235px - var(--hoist)*230px);width:clamp(160px,24vw,310px);filter:drop-shadow(0 12px 18px #21000a55);transition:top .1s linear}.flag-plinth{width:130px;height:18px;background:linear-gradient(#e0bb79,#93703f);border-radius:5px}.hoist-scene>small{font-size:.68rem;color:#d5b6ad;margin-top:1rem}
@keyframes portrait-arrive{from{transform:translateX(-25px);filter:brightness(.75)}to{transform:none;filter:none}}@keyframes portrait-arrive-right{from{transform:translateX(25px);filter:brightness(.75)}to{transform:none;filter:none}}@keyframes greeting-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:760px){.welcome-stage{padding-top:1.5rem}.welcome-leaders{gap:1rem}.welcome-leaders figure{width:40%;max-width:220px}.welcome-symbol{display:none}.welcome-unit{font-size:.85rem}.welcome-leaders small{font-size:.67rem}.welcome-leaders strong{font-size:clamp(.8rem,3.6vw,1.1rem)}.welcome-greeting h1 br{display:block}.welcome-greeting{margin-top:1.5rem}.welcome-greeting>span{font-size:.7rem}.flag-story{grid-template-columns:1fr;gap:1rem}.hoist-scene{height:370px}.hoist-pole{height:310px}.hoisted-flag{width:200px;top:calc(235px - var(--hoist)*230px)}.chapter-links{gap:0;padding:.75rem .5rem}.chapter-links a{font-size:.7rem;padding:.45rem .6rem}}
@media(max-height:760px) and (min-width:761px){.welcome-leaders figure{width:185px}.welcome-greeting>p{font-size:2.7rem}.welcome-greeting{margin-top:.7rem}.welcome-stage{padding-top:1rem}.welcome-unit{margin-bottom:.8rem}}
@media(prefers-reduced-motion:reduce){.welcome-rays,.welcome-photo,.welcome-greeting,.welcome-explore b{animation:none!important}.hoisted-flag{transition:none}}
/* Consistent Tamil type and compact, content-safe sections. */
:root { --font-head:"Noto Sans Tamil",sans-serif; --font-body:"Noto Sans Tamil",system-ui,sans-serif; --screen-space:calc(100svh - var(--ticker-h) - var(--header-h)); }
.party-wordmark{font-family:"TAU Neythal"!important;letter-spacing:normal!important;line-height:1.5}
.page-hero{padding:1.5rem 0 1.6rem}.page-hero h1{font-size:clamp(1.6rem,2.5vw,2.3rem);margin-bottom:.4rem}.page-hero p{margin-bottom:0;max-width:68ch;font-size:.95rem}.crumbs{margin-bottom:.6rem}.section{padding:2rem 0}
body[data-page="home"] .home-section{min-height:var(--screen-space);padding:1.25rem 0 .75rem;gap:.7rem;justify-content:center}
body[data-page="home"] .home-section>.wrap{flex:0 1 auto}
body[data-page="home"] .home-section>.next-btn{margin-top:.2rem;font-size:.72rem}.next-btn .arr{width:28px;height:28px}
.welcome-stage{padding:1rem 0 .6rem;min-height:var(--screen-space)}.welcome-unit{margin-bottom:.75rem}.welcome-greeting{margin:.6rem 0 .3rem}.welcome-greeting>p{font-size:clamp(2rem,4vw,3rem)}.welcome-leaders figure{width:min(24vw,210px)}.welcome-greeting h1{font-size:clamp(1rem,1.7vw,1.4rem)}
.flag-chapter{min-height:var(--screen-space);padding:1.4rem 0;display:grid;align-items:center}.flag-story h2{font-size:clamp(2rem,4vw,3rem);max-width:13ch}.hoist-scene{height:min(420px,60svh)}
body[data-page="home"] #secretary .grid-2{align-items:center;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);max-width:1030px;gap:2rem}
body[data-page="home"] #secretary .slider{max-width:330px;max-height:min(480px,62svh);aspect-ratio:4/5}
#secretary h2{margin-bottom:.5rem}#secretary p,#secretary li{font-size:.92rem;line-height:1.85}#secretary .duty-list{gap:.4rem;margin:.8rem 0}#secretary .secretary-motto{font-weight:700;color:var(--maroon-700)}#secretary .role-chip{font-size:.8rem;margin-bottom:.5rem}
body[data-page="home"] .ideo{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;margin-top:.8rem;padding-bottom:.7rem;justify-content:flex-start;scrollbar-color:#d7b150 #ffffff15;scrollbar-width:thin}
body[data-page="home"] .ideo-card,body[data-page="home"] .ideo-card.lead{display:flex;flex-direction:column;flex:0 0 calc((100% - 2.4rem)/4);min-width:215px;scroll-snap-align:start;transform:none}
body[data-page="home"] .ideo-card .ph,body[data-page="home"] .ideo-card.lead .ph{height:190px;min-height:190px;aspect-ratio:auto;flex:none;grid-row:auto;background:#28070c}
body[data-page="home"] .ideo-card .ph img{height:100%;width:100%;object-fit:contain;object-position:center}
body[data-page="home"] .ideo-card .bd,body[data-page="home"] .ideo-card.lead .bd{padding:.8rem .8rem .4rem;align-self:stretch}
body[data-page="home"] .ideo-card h3,body[data-page="home"] .ideo-card.lead h3{font-size:.95rem;line-height:1.6}
body[data-page="home"] .ideo-card p,body[data-page="home"] .ideo-card.lead p{font-size:.75rem;line-height:1.75}
body[data-page="home"] .ideo-card .tag,body[data-page="home"] .ideo-card.lead .tag{font-size:.7rem}
body[data-page="home"] .ideo-card .credit,body[data-page="home"] .ideo-card.lead .credit{padding:0 .8rem .6rem;font-size:.57rem}
#leaders>.wrap>.reveal>p{font-size:.85rem;margin-bottom:.5rem}#leaders h2{margin-bottom:.3rem}
.leader-gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.68rem;color:#e7c979}.leader-gallery-tools button{width:34px;height:30px;border:1px solid #e7c97970;border-radius:8px;background:transparent;color:#ffe290;cursor:pointer}
body[data-page="home"] #leadership .leader-card{padding:.8rem;gap:.8rem;grid-template-columns:85px minmax(0,1fr)}body[data-page="home"] #leadership .leader-card .ph{width:85px}#leadership .leader-card p,#leadership .timeline span{font-size:.78rem;line-height:1.8}#leadership .timeline li{padding-bottom:.7rem}#leadership .lead-grid{margin-top:.8rem;gap:1rem}
.join-invitation{text-align:center}.join-mark{font-size:3rem;color:var(--maroon-600)}.join-invitation small{display:block;margin-top:1rem;font-size:.75rem;color:var(--ink-2)}.s5 .lead-text{font-size:.95rem}
@media(max-width:760px){
 body[data-page="home"] .home-section{padding:1rem 0 .6rem}.welcome-leaders figure{width:40%;max-width:190px}
 body[data-page="home"] #secretary .grid-2{grid-template-columns:minmax(0,1fr);gap:.8rem}
 body[data-page="home"] #secretary .slider{max-width:200px;max-height:25svh;aspect-ratio:4/5}#secretary .slide .cap{padding:1.5rem .5rem .5rem}#secretary .slide .cap b{font-size:.9rem}#secretary .slide .cap span{font-size:.6rem}
 #secretary h2{font-size:1.3rem}#secretary p,#secretary li{font-size:.75rem;line-height:1.75}#secretary .eyebrow{margin-bottom:.2rem}#secretary .role-chip{font-size:.67rem}#secretary .duty-list{gap:.2rem;margin:.5rem 0}#secretary .duty-list li::before{width:16px;height:16px}
 body[data-page="home"] .ideo-card,body[data-page="home"] .ideo-card.lead{flex-basis:85%;min-width:0}
 body[data-page="home"] .ideo-card .ph,body[data-page="home"] .ideo-card.lead .ph{height:230px;min-height:230px;max-height:34svh}
 body[data-page="home"] #leadership .lead-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem}
 #leadership .lead-grid>*{flex:0 0 95%;scroll-snap-align:start;min-width:0}#leadership .lead-grid>div:first-child{display:grid;gap:.7rem}
 .flag-story{gap:.5rem}.flag-story h2{font-size:2rem;margin:.4rem 0}.flag-story-copy>p:not(.flag-motto){font-size:.8rem}.flag-motto{font-size:.9rem}.hoist-scene{height:33svh;min-height:210px}.hoist-pole{height:190px}.hoisted-flag{width:150px;top:calc(150px - var(--hoist)*145px)}
 #join .grid-2{gap:1rem}#join .stat-row{margin:.7rem 0}#join .lead-text{font-size:.8rem}.join-invitation{padding:1rem}.join-mark{font-size:1.5rem}.join-invitation h3{font-size:1rem}
}
@media(max-height:700px) and (min-width:761px){.welcome-leaders figure{width:150px}.welcome-greeting>p{font-size:2rem}body[data-page="home"] .ideo-card .ph,body[data-page="home"] .ideo-card.lead .ph{height:135px;min-height:135px}#secretary p,#secretary li{font-size:.8rem}#leadership .leader-card p{font-size:.7rem}}
body[data-page="home"] .ideo{align-items:flex-start}body[data-page="home"] .ideo-card .bd{flex:none}
@media(max-width:760px){
 #leaders>.wrap>.reveal>p{font-size:.72rem;line-height:1.7}#leaders h2{font-size:1.3rem}.leader-gallery-tools{font-size:.6rem}
 body[data-page="home"] .ideo-card .ph,body[data-page="home"] .ideo-card.lead .ph{height:190px;min-height:190px}
 body[data-page="home"] .ideo-card .bd,body[data-page="home"] .ideo-card.lead .bd{padding:.6rem}.ideo-card p{margin:0}
 body[data-page="home"] #leadership .leader-card{grid-template-columns:65px minmax(0,1fr);padding:.65rem}body[data-page="home"] #leadership .leader-card .ph{width:65px}#leadership .leader-card h3{font-size:.9rem}#leadership .leader-card .role{font-size:.65rem}#leadership .leader-card p{font-size:.7rem}#leadership .lead-grid{align-items:flex-start}#leadership .lead-grid>div:first-child{gap:.6rem!important}#leadership>.wrap>.reveal>p{font-size:.75rem}#leadership .timeline span{font-size:.7rem}
 #join .lead-text{font-size:.75rem;line-height:1.8}#join h2{font-size:1.3rem}#join .stat-row b{font-size:1.3rem}#join .stat-row{gap:1rem}.join-invitation p{font-size:.8rem}.join-invitation .btn{font-size:.75rem}.join-invitation small{font-size:.65rem;margin-top:.6rem}.join-invitation{padding:.8rem}
}
@media(max-width:760px){#leadership .leader-card p{display:none}#leadership>.wrap>.reveal>p{font-size:.67rem;line-height:1.6}#leadership .timeline li{padding-bottom:.4rem}#leadership .timeline b{font-size:.8rem}#leadership .card-pad{padding:1rem}#leadership h2{font-size:1.3rem}}
/* Two-stage welcome: portraits first, then the flag and large unit wordmark. */
.welcome-stage{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;row-gap:.5rem;padding:1rem 0 .6rem}
.welcome-scene-one,.welcome-scene-two{grid-area:1/1;position:relative;align-self:center;width:min(1180px,calc(100% - 2rem));transition:opacity .7s ease,transform .7s ease,visibility .7s}
.welcome-scene-one{opacity:1;transform:none;visibility:visible}.welcome-scene-two{opacity:0;visibility:hidden;transform:translateY(20px) scale(.96);pointer-events:none}
.brand-scene .welcome-scene-one{opacity:0;visibility:hidden;transform:translateY(-15px) scale(.97);pointer-events:none}.brand-scene .welcome-scene-two{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.welcome-unit{font-size:clamp(1.9rem,4.5vw,3.7rem);line-height:1.2;margin-bottom:.8rem;color:#ffd465}.welcome-unit>span:not(.party-wordmark){font-size:clamp(1.05rem,2.4vw,1.75rem);line-height:1.5;margin-top:.45rem;color:#fff2d0}
.welcome-leaders figure{width:min(22vw,195px)}.welcome-greeting>p{font-size:clamp(1.8rem,3vw,2.6rem)}.welcome-greeting h1{font-size:clamp(.95rem,1.6vw,1.3rem)}
.welcome-controls{grid-area:2/1;position:relative;z-index:5;display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.welcome-controls .welcome-explore{margin:0;flex-direction:row;font-size:.68rem}.welcome-small-button{border:1px solid #f4d27d60;color:#ffe8ad;background:#4a07104d;border-radius:30px;padding:.35rem .7rem;font:inherit;font-size:.68rem;cursor:pointer}
.welcome-emblems{display:flex;align-items:center;justify-content:center;gap:2.5rem;margin:0 auto 1rem}.welcome-emblems .flag-wave{width:clamp(145px,23vw,245px)}.scene-whistle{width:clamp(65px,10vw,100px);animation:whistle-sway 3s ease-in-out infinite}
.scene-party-title{font-size:clamp(2.5rem,7vw,6rem);color:#ffd251;margin:.4rem 0 0;line-height:1.35}.scene-unit-title{font-size:clamp(1.2rem,3.4vw,2.6rem);font-weight:800;line-height:1.6;color:#fff8dc;margin:.5rem 0}.scene-motto{font-size:clamp(.85rem,1.7vw,1.15rem);color:#f2d698;margin:.3rem 0}
.elephant-pair{display:flex;justify-content:center;align-items:center;gap:1.4rem;color:#e5b74a;margin:.5rem auto 0}.elephant-pair span{width:clamp(65px,10vw,110px);animation:elephant-step 4s ease-in-out infinite}.elephant-pair span:last-child{transform:scaleX(-1);animation-name:elephant-step-reverse}.elephant-pair i{font-size:1.3rem;font-style:normal;color:#ffe4a2}
@keyframes elephant-step{50%{transform:translateY(-4px) rotate(-2deg)}}@keyframes elephant-step-reverse{50%{transform:scaleX(-1) translateY(-4px) rotate(-2deg)}}@keyframes whistle-sway{50%{transform:rotate(-6deg) translateY(-3px)}}
.welcome-paused *{animation-play-state:paused!important}
@media(max-width:760px){.welcome-unit{font-size:clamp(1.8rem,7.5vw,2.5rem)}.welcome-unit>span:not(.party-wordmark){font-size:clamp(.95rem,4.3vw,1.3rem)}.welcome-leaders figure{width:40%;max-width:175px}.welcome-controls{gap:.5rem}.welcome-controls .welcome-explore{flex-basis:100%;justify-content:center}.scene-party-title{font-size:clamp(2rem,9.5vw,3.5rem)}.scene-unit-title{font-size:clamp(1.1rem,5vw,1.6rem)}.welcome-emblems{gap:1.5rem}.welcome-scene-two{padding:1rem 0}}
@media(max-height:700px) and (min-width:761px){.welcome-unit{font-size:2.7rem}.welcome-unit>span:not(.party-wordmark){font-size:1.3rem}.welcome-leaders figure{width:145px}.welcome-greeting>p{font-size:1.7rem}.welcome-emblems .flag-wave{width:165px}.scene-party-title{font-size:3.9rem}.scene-unit-title{font-size:1.8rem}.elephant-pair span{width:65px}}
@media(prefers-reduced-motion:reduce){.welcome-scene-one,.welcome-scene-two{transition:none}.scene-whistle,.elephant-pair span{animation:none}.welcome-stage.brand-scene .welcome-scene-one{display:none}}
.welcome-unit>.party-wordmark{font-size:inherit!important;color:inherit;display:inline;margin:0;font-weight:700}
/* Final welcome composition: uploaded leaders above the name, small emblems below. */
.scene-leaders-banner{width:min(560px,70vw);max-height:27svh;object-fit:contain;margin:0 auto .6rem;border-radius:12px}
.scene-party-title{font-size:clamp(2.4rem,6vw,5rem);margin:0;line-height:1.25}.scene-unit-title{font-size:clamp(1.15rem,2.9vw,2.2rem);margin:.3rem 0}.scene-motto{margin:.35rem 0 .7rem}
.welcome-scene-two .welcome-emblems{gap:1.7rem;margin:.5rem auto 0}.welcome-scene-two .welcome-emblems .flag-wave{width:105px}.welcome-scene-two .scene-whistle{width:52px}
.flag-chapter{position:relative;padding:1.25rem 0 4.4rem}.flag-chapter>.next-btn{bottom:.65rem;color:#ffdb7b}
.hoisted-flag{transition:none!important}
body[data-page="home"] .ideo{align-items:stretch}
body[data-page="home"] .ideo-card,body[data-page="home"] .ideo-card.lead{height:400px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:190px minmax(0,1fr) 28px;align-content:stretch}
body[data-page="home"] .ideo-card .ph,body[data-page="home"] .ideo-card.lead .ph{height:190px;min-height:0;grid-row:1;grid-column:1}
body[data-page="home"] .ideo-card .bd,body[data-page="home"] .ideo-card.lead .bd{grid-row:2;align-self:start;min-height:0;padding:.7rem .8rem}
body[data-page="home"] .ideo-card .credit,body[data-page="home"] .ideo-card.lead .credit{grid-row:3;align-self:end}
@media(max-width:760px){
 .scene-leaders-banner{width:100%;max-height:24svh;border-radius:8px}.scene-party-title{font-size:clamp(2rem,9vw,3.4rem)}.scene-unit-title{font-size:clamp(1.05rem,4.8vw,1.6rem)}.scene-motto{font-size:.78rem}
 .welcome-scene-two .welcome-emblems .flag-wave{width:90px}.welcome-scene-two .scene-whistle{width:45px}
 body[data-page="home"] #secretary .slider{max-height:none;max-width:190px;aspect-ratio:auto;overflow:hidden;background:#fff;border-radius:14px;box-shadow:var(--shadow)}
 #secretary .slides,#secretary .slide{height:auto;display:block}
 #secretary .slide img{height:155px;object-fit:contain;object-position:top;background:#eaf1f8}
 #secretary .slide .cap{position:static;background:#fff;padding:.45rem .6rem;text-align:center;color:var(--maroon-800)}
 #secretary .slide .cap b{font-size:.93rem;color:var(--maroon-700)}#secretary .slide .cap span{font-size:.6rem}
 #secretary .grid-2>div:nth-child(2)>h2,#secretary .grid-2>div:nth-child(2)>.eyebrow{display:none}
 #secretary .grid-2{gap:.6rem!important}#secretary p,#secretary li{font-size:.72rem;line-height:1.7}#secretary .role-chip{font-size:.63rem}
 body[data-page="home"] .ideo-card,body[data-page="home"] .ideo-card.lead{height:390px;grid-template-rows:190px minmax(0,1fr) 28px;flex-basis:85%;min-width:0}
 body[data-page="home"] .ideo-card .ph,body[data-page="home"] .ideo-card.lead .ph{height:190px;min-height:0;max-height:none}
 .flag-chapter{padding-bottom:3.6rem}.flag-story-copy .btn{font-size:.75rem}.flag-story h2{margin:.2rem 0}.flag-story .gold-rule{margin:.5rem 0}.hoist-scene{height:220px;min-height:220px}
}
@media(max-height:700px) and (min-width:761px){.scene-leaders-banner{max-height:24svh;width:420px}.scene-party-title{font-size:3.5rem}.welcome-scene-two .welcome-emblems .flag-wave{width:80px}.welcome-scene-two .scene-whistle{width:40px}}
body[data-page="home"] .ideo-card.lead{border:1px solid transparent}
@media(max-width:760px){#leadership>.wrap>.reveal>p{display:none}#leadership .timeline span{font-size:.64rem;line-height:1.6}#leadership .timeline b{font-size:.7rem}#leadership .timeline li{padding-bottom:.3rem}#leadership .timeline{margin-bottom:.4rem}#leadership .card-pad>h3{margin-bottom:.5rem!important}}
.welcome-stage{height:var(--screen-space);min-height:var(--screen-space);display:block}
.welcome-scene-one,.welcome-scene-two{position:absolute;inset:1rem 0 75px;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center}
.welcome-leaders{width:100%}.welcome-controls{position:absolute;bottom:1rem;left:1rem;right:1rem}
@media(max-width:760px){.welcome-scene-one,.welcome-scene-two{inset:.75rem 0 90px}.scene-leaders-banner{max-height:22svh}.welcome-scene-one .welcome-unit{font-size:clamp(1.8rem,7.5vw,2.5rem)}}
.scene-leaders-banner{background:transparent;border-radius:0}
#flagChapterTitle{max-width:none;white-space:nowrap;font-size:clamp(1.6rem,4.1vw,3.8rem);line-height:1.5}
.mobile-secretary-next{display:none}.secretary-pledge{margin:.7rem 0;padding:.6rem .8rem;border-left:3px solid var(--gold-500);background:#f8efd7;font-size:.86rem;line-height:1.8;color:var(--maroon-800);font-weight:600}
#secretary .secretary-motto{font-size:.8rem;font-weight:500}
.leadership-people{display:grid;grid-template-columns:1fr;gap:.6rem}
body[data-page="home"] #leadership .leadership-people .leader-card{grid-template-columns:70px minmax(0,1fr);padding:.65rem;align-items:center;min-height:104px}
body[data-page="home"] #leadership .leadership-people .ph{width:70px;height:78px;aspect-ratio:auto}.leadership-people .leader-card h3{font-size:1rem}.leadership-people .leader-card .role{font-size:.75rem;margin:0;line-height:1.7}
.portrait-fallback{position:relative}.portrait-fallback .ini{position:absolute;inset:0}.portrait-fallback img{position:relative}.portrait-fallback img[hidden]{display:none}
@media(max-width:760px){
 #flagChapterTitle{font-size:clamp(1.65rem,7.6vw,2.4rem);white-space:nowrap}
 body[data-page="home"] #secretary{display:block;padding:0;min-height:0;position:relative}
 body[data-page="home"] #secretary>.grid-2{display:block;width:100%;max-width:none}
 #secretary>.grid-2>div:first-child{position:relative;min-height:var(--screen-space);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.2rem 1rem 4.5rem}
 body[data-page="home"] #secretary .slider{width:min(82vw,340px);max-width:340px;max-height:none;border-radius:20px}
 #secretary .slide img{height:clamp(230px,49svh,420px);width:100%;object-fit:cover;object-position:top}
 #secretary .slide .cap{padding:.8rem .6rem}#secretary .slide .cap b{font-size:1.25rem}#secretary .slide .cap span{font-size:.78rem;line-height:1.8}
 #secretary .mobile-secretary-next{display:flex;position:absolute;bottom:.75rem;left:50%;transform:translateX(-50%);color:var(--maroon-700)}
 #secretary .secretary-details{min-height:var(--screen-space);padding:1.6rem 1rem 5rem;display:flex;flex-direction:column;justify-content:center;position:relative}
 #secretary .secretary-details>.eyebrow{display:inline-flex}#secretary .secretary-details>h2{display:block}#secretary .secretary-details p,#secretary .secretary-details li{font-size:.78rem;line-height:1.85}.secretary-pledge{font-size:.8rem;line-height:1.8}
 #secretary>.next-btn{position:absolute!important;bottom:.7rem!important;left:50%!important;transform:translateX(-50%)!important}
 body[data-page="home"] #leadership .leadership-people{display:grid!important;gap:.5rem!important;grid-template-columns:1fr}
 body[data-page="home"] #leadership .leadership-people .leader-card{grid-template-columns:65px minmax(0,1fr);min-height:100px;padding:.55rem}
 body[data-page="home"] #leadership .leadership-people .ph{width:65px;height:75px}.leadership-people .leader-card .role{font-size:.7rem}
}
/* Match the currently visible mobile viewport and fixed header exactly. */
:root{--screen-space:calc(100dvh - var(--ticker-h) - var(--header-h))}
body[data-page="home"] main>section,body[data-page="home"] #secretaryDetails{scroll-margin-top:calc(var(--ticker-h) + var(--header-h))}
body[data-page="home"] .home-section{padding-top:.65rem;gap:.5rem}
.flag-chapter{padding-top:.65rem}
@media(max-width:760px){
 #secretary .secretary-details>.role-chip{display:none}
 #secretary .secretary-details{padding-top:.8rem}
 #secretary>.grid-2>div:first-child{padding-top:.65rem}
 body[data-page="home"] #secretary{padding-top:0}
}
.leadership-people img.sivan-portrait{object-fit:cover;object-position:50% 12%;background:#f9ecd7}
/* Event albums, vertical photo browsing, and local development proposals. */
.album-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.album-card{padding:0;border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}.album-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.album-cover{position:relative;aspect-ratio:4/3;overflow:hidden}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.album-card:hover img{transform:scale(1.035)}.album-count{position:absolute;right:.7rem;bottom:.7rem;color:white;background:#4a0710e0;padding:.25rem .65rem;border-radius:20px;font-size:.72rem}.album-copy{padding:1rem}.album-copy small{color:var(--maroon-600);font-size:.7rem}.album-copy h2{font-size:1.05rem;margin:.4rem 0;line-height:1.7}.album-copy>span{font-size:.73rem;color:var(--ink-3)}
.album-is-open{overflow:hidden!important}#albumDialog{width:min(1000px,calc(100% - 2rem));max-height:90dvh;border:0;border-radius:22px;padding:0;background:#fffaf2;color:var(--ink);overflow:hidden;box-shadow:0 20px 80px #24040866;animation:album-open .35s ease both}#albumDialog::backdrop{background:#240408bb;backdrop-filter:blur(6px)}.album-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem;border-bottom:1px solid var(--line);background:#fffaf2}.album-header h2{font-size:1.25rem;line-height:1.7;margin:0}.album-header p{font-size:.75rem;color:var(--ink-2);margin:.3rem 0 0}.album-header>button{border:1px solid var(--line);width:40px;height:40px;border-radius:50%;background:white;cursor:pointer;flex:none}.album-scroll-hint{font-size:.7rem;color:var(--ink-3);padding:.6rem 1.2rem;margin:0}.album-photos{padding:0 1.2rem 1.2rem;max-height:calc(90dvh - 155px);overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.album-photo{margin:0;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;animation:photo-rise .45s var(--photo-delay,0ms) both}.album-photo img{width:100%;height:auto;display:block}.album-photo figcaption{font-size:.73rem;padding:.7rem;line-height:1.8;color:var(--ink-2)}
@keyframes album-open{from{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:none}}@keyframes photo-rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;align-items:start}.plan-intro{max-width:850px}.plan-intro p{font-size:.92rem;color:var(--ink-2);line-height:2}.plan-card{overflow:hidden}.plan-image{position:relative;aspect-ratio:16/9;background:var(--cream)}.plan-image img{width:100%;height:100%;object-fit:cover}.plan-image>span{position:absolute;bottom:.5rem;right:.5rem;padding:.15rem .5rem;border-radius:6px;background:#fffdf0dd;font-size:.6rem}.plan-body{padding:1rem}.plan-body h2{font-size:1.08rem;line-height:1.7;margin:.6rem 0}.plan-body p{font-size:.85rem;line-height:1.9;color:var(--ink-2)}.plan-meta{display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.6rem;color:var(--maroon-600)}.plan-meta b{background:var(--gold-100);padding:.2rem .5rem;border-radius:14px;white-space:nowrap}.plan-body details{border-top:1px solid var(--line);padding-top:.7rem}.plan-body summary{cursor:pointer;font-size:.8rem;font-weight:700;color:var(--maroon-700);line-height:1.8}.plan-body dl{font-size:.78rem;line-height:1.9}.plan-body dt{font-weight:700;color:var(--maroon-800);margin-top:.7rem}.plan-body dd{margin:0;color:var(--ink-2)}.plan-feedback{display:block;font-size:.7rem;margin-top:1rem;line-height:1.9}.plan-card[hidden]{display:none}.plan-roadmap{margin-top:2rem}.plan-roadmap ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:roadmap}.plan-roadmap li{padding:1rem;background:var(--cream);border-radius:12px;counter-increment:roadmap}.plan-roadmap li:before{content:'0' counter(roadmap);color:var(--maroon-600);font-size:.8rem;display:block}.plan-roadmap b{display:block;margin:.5rem 0}.plan-roadmap span{font-size:.8rem;line-height:1.9;color:var(--ink-2)}
@media(min-width:1024px){.nav{flex-wrap:nowrap;gap:.1rem}.nav a{font-size:.74rem;padding:.45rem .3rem}}
@media(min-width:1440px){.nav a{font-size:.82rem;padding:.45rem .5rem}}
@media(max-width:960px){.album-grid,.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-roadmap ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.album-grid,.plans-grid{grid-template-columns:minmax(0,1fr)}#albumDialog{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0;animation:album-sheet-up .4s ease both}.album-photos{grid-template-columns:minmax(0,1fr);max-height:calc(92dvh - 165px);padding:.2rem 1rem 1.4rem}.album-header{padding:1rem}.album-header h2{font-size:1.05rem}.album-photo img{width:100%;height:auto}.plan-roadmap ol{grid-template-columns:1fr}.plan-body{padding:1rem}.album-scroll-hint{padding:.6rem 1rem}.plan-filters{flex-wrap:wrap}}
@keyframes album-sheet-up{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#albumDialog,.album-photo{animation:none}.album-card,.album-cover img{transition:none}}
@media(max-width:400px){.header-inner{gap:.45rem;padding-inline:.65rem}.brand{flex:1;min-width:0;gap:.4rem}.brand img.logo{width:40px;height:40px}.brand-title{font-size:1.08rem}.brand-sub{font-size:.63rem}.hdr-flag{width:38px}.nav-toggle{width:38px;height:38px;flex:none;margin-left:0}}
/* Admin workspace */
.admin-section{padding-top:1.2rem}.admin-intro h1{font-size:2rem}.admin-intro p{font-size:.9rem;color:var(--ink-2)}.admin-mode-note{border:1px solid #e9cd85;background:#fff4d6;border-radius:12px;padding:1rem;line-height:1.9;font-size:.85rem;margin:1rem 0}.admin-login{max-width:480px;margin:1.8rem auto}.admin-login form>.field{margin-top:1rem}.admin-login button{margin:1rem 0;width:100%}.admin-login[hidden],#adminApp[hidden]{display:none}.admin-top-actions{display:flex;gap:.5rem;flex-wrap:wrap}.admin-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:1.2rem;align-items:start;margin:1.5rem 0}.admin-sidebar{display:flex;flex-direction:column;gap:.3rem;position:sticky;top:calc(var(--ticker-h) + var(--header-h) + 12px);background:#fff;border:1px solid var(--line);border-radius:14px;padding:.5rem}.admin-sidebar button{text-align:left;border:0;background:transparent;padding:.75rem;border-radius:8px;cursor:pointer;font-size:.8rem;color:var(--ink-2);line-height:1.7}.admin-sidebar button.on{background:var(--maroon-800);color:#ffdf85}.admin-workspace{min-width:0}.admin-workspace>div>h2{font-size:1.35rem}.admin-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-overview p{font-size:.85rem;line-height:1.9}.admin-rights{margin:2rem 0;font-size:.85rem;line-height:2}.admin-rights summary{cursor:pointer;font-weight:700;font-size:1rem}.admin-rights h3,#aPanel>h3{margin-top:1.2rem}.admin-status-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.admin-complaint-list,.admin-record-list,.admin-content-list{display:grid;gap:1rem}.admin-complaint header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.admin-complaint h3{font-family:system-ui,sans-serif;font-size:1.05rem}.admin-complaint details{background:#fff8eb;padding:.8rem;border-radius:10px;margin:1rem 0}.admin-complaint summary{cursor:pointer;color:var(--maroon-700);font-size:.85rem;font-weight:700}.admin-complaint dl{font-size:.82rem;line-height:1.9}.admin-complaint dd{margin:0 0 .7rem;white-space:pre-wrap;overflow-wrap:anywhere}.admin-complaint dt{font-weight:700}.admin-complaint .field label,.admin-record-list label{display:block;font-size:.8rem}.admin-complaint textarea{min-height:85px}.admin-complaint small{font-size:.68rem;color:var(--ink-3)}.admin-record-list textarea,.admin-record-list select{display:block;width:100%;margin:.4rem 0 .8rem}.admin-original-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem}.admin-content-toolbar{display:flex;align-items:flex-start;gap:1rem;justify-content:space-between;margin-bottom:1rem}.admin-content-toolbar .btn{flex:none}.admin-content-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-content-list h3{font-size:1rem;margin:.5rem 0;line-height:1.7}.admin-content-list p{margin:0}.admin-settings dt{font-weight:700;color:var(--maroon-800);margin-top:1rem}.admin-settings dd{margin:.3rem 0;font-size:.85rem;line-height:1.9}
#adminEditor{width:min(750px,calc(100% - 2rem));max-height:90dvh;padding:1.25rem;border:0;border-radius:18px;color:var(--ink);background:#fffaf3;box-shadow:0 25px 80px #24040866}#adminEditor::backdrop{background:#240408aa;backdrop-filter:blur(4px)}.admin-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-dialog-bar h2{font-size:1.2rem;line-height:1.7}.admin-dialog-bar button{border:1px solid var(--line);width:38px;height:38px;border-radius:50%;background:#fff;cursor:pointer}#contentForm>.field{margin:1rem 0}#contentForm label{font-size:.85rem}#contentForm small{font-size:.7rem;color:var(--ink-3)}.admin-editor-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}.admin-publish-check{background:#fff0c8;padding:1rem;border-radius:12px;font-size:.78rem;line-height:1.9;margin:1rem 0}.admin-inline-preview{margin-top:1.3rem;padding:1rem;border:1px dashed var(--maroon-600);border-radius:12px;font-size:.85rem}.admin-preview-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.admin-preview-photos img{width:100%;height:100px;object-fit:contain;background:#f4e9dc}#editorError,#loginError{color:var(--red);font-size:.85rem}
@media(max-width:800px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;display:flex;flex-direction:row;overflow-x:auto}.admin-sidebar button{white-space:nowrap}.admin-overview{grid-template-columns:1fr}.admin-content-list article{flex-direction:column;align-items:flex-start}.admin-content-toolbar{flex-direction:column}.admin-intro h1{font-size:1.6rem}.admin-top-actions .btn{font-size:.7rem}.admin-dialog-bar h2{font-size:1rem}}
[hidden]{display:none!important}

/* Compact admin login and temporary demo notice, removed automatically in live mode. */
.admin-login .admin-login-title{white-space:nowrap;font-size:clamp(1.05rem,4.4vw,1.5rem);line-height:1.6;letter-spacing:0}
#adminDemoNotice{width:min(520px,calc(100% - 2rem));max-height:85dvh;overflow:auto;padding:clamp(1rem,4vw,1.8rem);border:1px solid var(--line);border-radius:18px;background:var(--cream,#fffaf1);color:var(--ink)}
#adminDemoNotice::backdrop{background:rgba(37,8,15,.65);backdrop-filter:blur(4px)}
#adminDemoNotice h2{font-size:1.2rem;line-height:1.7;margin:0 0 1rem}#adminDemoNotice p{font-size:.85rem;line-height:1.95;margin:0 0 1rem}#adminDemoLogin{padding:.9rem;background:#fff4d6;border-radius:10px;overflow-wrap:anywhere}#adminDemoNotice form{text-align:right}

/* Public copy deterrence. Form editing remains available. */
.content-protected body{-webkit-user-select:none;user-select:none}.content-protected input,.content-protected textarea,.content-protected select,.content-protected [contenteditable="true"],.content-protected [data-allow-copy]{-webkit-user-select:text;user-select:text}.content-protected img{-webkit-user-drag:none;user-drag:none}
.ops-overview-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:1rem;margin-bottom:1rem}.ops-bars>div{display:grid;grid-template-columns:minmax(110px,1fr) 1.2fr 24px;align-items:center;gap:.6rem;margin:.65rem 0;font-size:.74rem}.ops-bar{height:8px;background:#f1e4dc;border-radius:10px;overflow:hidden}.ops-bar i{display:block;min-height:8px;background:linear-gradient(90deg,#730e29,#d79b16);border-radius:10px}.ops-case-list{display:grid;gap:.8rem}.ops-case-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ops-case-list h3{font-size:1rem;margin:.6rem 0}.ops-case-list p{font-size:.8rem;margin:.35rem 0}.ops-case-list .btn{flex-shrink:0}.ops-late{color:#b42318;font-weight:700}.ops-dialog,.crop-dialog{width:min(900px,calc(100% - 2rem));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:1.3rem;background:#fffaf3;color:var(--ink)}.ops-dialog::backdrop,.crop-dialog::backdrop{background:#240710b8;backdrop-filter:blur(3px)}.ops-dialog h2,.crop-dialog h2{font-size:1.25rem}.ops-dialog h3{font-size:1.05rem}.ops-dialog p,.ops-dialog dl,.ops-dialog label{font-size:.85rem;line-height:1.9}.ops-dialog .field{display:block;margin:.7rem 0}.ops-dialog input,.ops-dialog select,.ops-dialog textarea{display:block;width:100%;margin-top:.4rem}.ops-dialog input[type="checkbox"]{display:inline-block;width:auto;flex-shrink:0}.ops-dialog .check{display:flex;align-items:flex-start;gap:.6rem;margin:.7rem 0}.ops-dialog fieldset{border:1px solid var(--line);padding:1rem;border-radius:12px}.ops-case-heading{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.ops-private{padding:.8rem;border:1px solid var(--line);border-radius:10px;background:#fff}.ops-task-facts{display:grid;grid-template-columns:150px 1fr;gap:.45rem 1rem;margin:1rem 0;padding:1rem;background:#fff;border-radius:12px}.ops-task-facts dt{font-weight:700}.ops-task-facts dd{margin:0;overflow-wrap:anywhere}.ops-action-chooser{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0}.ops-timeline{list-style:none;margin:1rem 0;padding:0 0 0 1.2rem;border-left:2px solid #d9a92e}.ops-timeline li{position:relative;padding:.4rem 0 1rem 1rem;font-size:.8rem;line-height:1.8}.ops-timeline li:before{content:'';position:absolute;left:-1.55rem;top:.9rem;width:10px;height:10px;background:#8a1733;border:2px solid #ffefbd;border-radius:50%}.ops-timeline span{display:block;color:var(--ink-3);font-size:.7rem}.ops-timeline p{margin:.3rem 0;white-space:pre-wrap}.ops-evidence-grid,.ops-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.ops-evidence-grid figure,.ops-media-grid figure{margin:0;min-width:0}.ops-evidence-grid img,.ops-media-grid img{display:block;width:100%;height:160px;object-fit:contain;background:#eee3d7;border-radius:10px}.ops-evidence-grid figcaption,.ops-media-grid figcaption{font-size:.7rem;overflow-wrap:anywhere;margin-top:.5rem}#opsError{color:#a12424;font-size:.85rem;line-height:1.8}#opsCaseForm{padding:1rem;background:#fff;border:1px solid var(--line);border-radius:12px;margin:1rem 0}.crop-stage{background:#211d1b;border-radius:12px;padding:.6rem;margin:1rem 0}.crop-stage canvas{display:block;width:100%;max-height:45dvh;object-fit:contain}.crop-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.crop-dialog label{font-size:.8rem;display:block;line-height:1.8}.crop-dialog input,.crop-dialog select{display:block;width:100%;margin-top:.4rem}.crop-dialog p{line-height:1.8}.cmp-table td{vertical-align:top;overflow-wrap:anywhere}.ops-dialog .btn{white-space:normal}.ops-dialog details{margin-top:1rem}.ops-dialog #caseEvidenceChecks .check input{margin-top:.35rem}
@media(max-width:700px){.ops-overview-grid{grid-template-columns:1fr}.ops-task-facts{grid-template-columns:1fr;gap:.25rem;padding:.8rem}.ops-task-facts dd{margin-bottom:.6rem}.ops-dialog,.crop-dialog{padding:1rem;width:calc(100% - 1rem);max-height:93dvh}.ops-dialog h2,.crop-dialog h2{font-size:1.05rem}.ops-media-grid,.ops-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-case-list article{display:block}.ops-case-list .btn{margin-top:.6rem;width:100%}.ops-bars>div{grid-template-columns:110px 1fr 20px}.crop-controls{grid-template-columns:1fr;gap:.3rem}.ops-dialog .admin-dialog-bar{align-items:flex-start}.ops-dialog .admin-dialog-bar h2{overflow-wrap:anywhere}.ops-action-chooser .btn{flex:1 1 45%}.ops-media-grid img,.ops-evidence-grid img{height:125px}}

.ops-avatar{width:36px;height:45px;object-fit:cover;border-radius:6px;vertical-align:middle;margin-right:.5rem}.ops-person-photo{display:block;width:120px;height:150px;object-fit:cover;border-radius:10px;margin:.8rem 0}
/* Persistent language selector and distinctive final navigation action. */
.language-picker{display:flex;align-items:center;flex:none;margin-left:auto}.language-picker select{font:600 .72rem/1.2 "Noto Sans Tamil",system-ui,sans-serif;width:88px;min-height:36px;border:1px solid #ddcfbb;border-radius:8px;padding:.4rem .5rem;background:#fffaf2;color:#5b2030;cursor:pointer}.nav a.nav-complaints{background:#861b36!important;color:#fff!important;border:1px solid #a53650;box-shadow:0 4px 13px #6a102018;margin-left:.5rem;padding:.55rem .9rem;display:inline-flex;gap:.45rem;align-items:center}.nav a.nav-complaints:before{content:'!';display:inline-flex;width:17px;height:17px;align-items:center;justify-content:center;border:1px solid #ffffff8c;border-radius:50%;font:700 .7rem system-ui}.nav a.nav-complaints:hover{background:#a12745!important}.nav a.nav-complaints.active{outline:2px solid #e5bd54;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html[lang="en"] body{--font-head:system-ui,sans-serif;--font-body:system-ui,sans-serif;font-family:system-ui,sans-serif;line-height:1.65}html[lang="en"] .party-wordmark,html[lang="en"] .brand-title,html[lang="en"] .loader-title{font-family:system-ui,sans-serif!important;letter-spacing:-.02em}html[lang="en"] .scene-party-title{font-size:clamp(1.1rem,4.8vw,3.9rem)!important}html[lang="en"] .nav a{font-size:.73rem}.language-picker [data-no-translate]{font-family:system-ui,sans-serif}html[lang="en"] .admin-login-title{font-size:1.35rem!important}.language-picker select:focus-visible{outline:2px solid #ad772b;outline-offset:3px}#siteLanguage{white-space:nowrap}
@media(min-width:1101px){.header-inner{gap:.65rem}.nav{gap:.08rem}.nav a{padding-left:.5rem;padding-right:.5rem}.brand-title{font-size:1.1rem}.brand-sub{font-size:.6rem}.language-picker{order:2}.hdr-flag{order:3}.nav{order:1}}
@media(max-width:760px){.language-picker select{width:76px;font-size:.65rem;min-height:32px}.header-inner{gap:.45rem}.brand-title{font-size:1rem}.brand-sub{font-size:.58rem}.hdr-flag{display:none}.nav a.nav-complaints{display:flex;margin:.5rem .6rem;padding:.7rem 1rem}.nav-toggle{margin-left:0}.brand{margin-right:auto}html[lang="en"] .brand-title{font-size:.72rem}html[lang="en"] .brand-sub{font-size:.57rem}html[lang="en"] .welcome-unit{font-size:.8rem}html[lang="en"] .leader-card h3{font-size:1.1rem}}

/* Keep the flag and language control on the top desktop row. */
@media(min-width:1024px){
 .site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto 72px;grid-template-rows:74px 50px;align-content:start;align-items:center;column-gap:16px;max-width:none;padding-inline:clamp(20px,3.5vw,64px)}
 .site-header .brand{grid-column:1;grid-row:1;min-width:0;justify-self:start}
 .site-header .language-picker{grid-column:2;grid-row:1;order:0;margin:0;align-self:center}
 .site-header .hdr-flag{grid-column:3;grid-row:1;order:0;margin:0;justify-self:end;width:72px}
 .site-header .nav{grid-column:1/-1;grid-row:2;order:0;width:100%;height:50px;flex-wrap:nowrap;margin:0}
}
@media(min-width:1024px){.site-header .header-inner{row-gap:0}}
/* Greeting remains two readable phrases in both languages. */
.welcome-greeting h1{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:.4em;row-gap:.12em;margin:.45rem auto .65rem;max-width:960px;line-height:1.65}
.welcome-greeting h1>span,.welcome-greeting h1>em{display:block;word-break:normal}
.welcome-greeting>p{padding-block:.15em;line-height:1.5}
.welcome-scene-two .scene-whistle{width:105px;height:78px;object-fit:contain;filter:drop-shadow(0 5px 5px #22020866)}
@media(max-width:760px){.welcome-greeting h1{flex-direction:column;align-items:center;row-gap:.2em}.welcome-scene-two .scene-whistle{width:90px;height:70px}.welcome-greeting{padding-top:.35rem}}

.scene-whistle,.console-emblem{animation:none!important;transform:none!important}
@media(min-width:1024px){
 .page-hero:after{right:clamp(0px,4vw,90px);top:0;width:300px;height:100%;border:0;border-radius:0;background:url('../images/leaders/vijay-public-header.jpg') center 35%/cover no-repeat;opacity:.92;mask-image:linear-gradient(90deg,transparent,#000 25%,#000 90%,transparent);pointer-events:none}
 .page-hero .wrap{position:relative;z-index:1;padding-right:330px}.page-hero p{max-width:65ch}
 .nav a.nav-complaints{background:linear-gradient(110deg,#ffdc65,#efb823)!important;color:#4d0b20!important;border:1px solid #ffedac;box-shadow:0 0 0 3px #ffdd6333,0 5px 18px #26000b44;font-weight:800;padding:.65rem 1.2rem;margin-left:.8rem}.nav a.nav-complaints:before{background:#710f2b;color:#fff;border:0;width:21px;height:21px}.nav a.nav-complaints:hover{background:#ffe799!important}
}
@media(max-width:1023px){body .nav a.nav-complaints{background:linear-gradient(110deg,#ffe38a,#f3c33e)!important;color:#53152d!important;border:2px solid #d0a536;box-shadow:0 4px 14px #6b19351a;font-weight:800}body .nav a.nav-complaints:before{background:#6e1935;color:#fff;border:0}}

/* v58 — quiet author credit, outside existing page content. */
.site-credit{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 12px 6px;text-align:center;font:400 .72rem/1.65 system-ui,sans-serif;color:#765c61;letter-spacing:.015em}
.site-credit strong{font-weight:650}.site-footer .site-credit{border-top:1px solid #ffffff24;margin-top:20px;color:#ead7b7}.site-credit span{display:block}
.loader-credit{position:absolute;left:16px;right:16px;bottom:max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:4px;text-align:center;font:400 .7rem/1.65 system-ui,sans-serif;letter-spacing:.025em;color:#f4dfad}
.loader-credit strong{font-weight:650;color:#fff5d5}
@media(max-height:480px){.loader-credit{bottom:8px;font-size:.6rem;gap:1px}.loader-inner{padding-bottom:40px}}
@media print{.site-credit,.loader-credit{display:none!important}}
