/* ==========================================================================
   AIITA — All India Ideal Teacher Association
   Design system & global styles  ·  v3 "modern" refresh
   Geometric type, cool neutrals, aurora gradients, glass surfaces
   ========================================================================== */

/* ---------- Design tokens ---------- */
:root {
  /* Brand palette */
  --navy-950: #060f21;
  --navy-900: #0a1c38;
  --navy-800: #0e2a52;
  --navy-700: #123b6d;
  --navy-600: #1a55a0;
  --navy-500: #2470c8;
  --azure-600: #0798d8;
  --azure-500: #10baff;   /* wordmark azure */
  --blue-100: #dde9f9;
  --blue-50:  #eef4fc;

  --gold-600: #c07f15;
  --gold-500: #e0a83b;
  --gold-400: #f0c268;
  --gold-100: #faeed2;

  --teal-700: #0f6b6a;
  --teal-500: #15908d;
  --teal-100: #d9efee;

  --cream:    #f4f7fb;
  --paper:    #ffffff;
  --ink-900:  #0d1626;
  --ink-700:  #26354b;
  --ink-500:  #54657d;
  --ink-400:  #7d8ca1;
  --line:     #dfe7f1;
  --line-soft:#e9eff7;

  /* Semantic */
  --bg:        var(--cream);
  --surface:   var(--paper);
  --surface-2: #eaf0f8;
  --text:      var(--ink-900);
  --text-soft: var(--ink-500);
  --primary:   var(--navy-700);
  --primary-strong: var(--navy-900);
  --accent:    var(--gold-500);
  --accent-strong: var(--gold-600);
  --secondary: var(--teal-500);
  --border:    var(--line);
  --map-off:   #d3dce8;

  /* Gradients */
  --grad-primary: linear-gradient(135deg, var(--navy-700), var(--navy-500));
  --grad-gold:    linear-gradient(135deg, var(--gold-400), var(--gold-600));
  --grad-hairline: linear-gradient(90deg, transparent, rgba(224,168,59,.65), rgba(16,186,255,.55), transparent);

  /* Type */
  --font-head: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Radii & shadow */
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 22px;
  --r-xl: 30px;
  --r-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(13,28,54,.05), 0 4px 12px rgba(13,28,54,.06);
  --shadow-md: 0 6px 16px rgba(13,28,54,.08), 0 18px 44px rgba(13,28,54,.10);
  --shadow-lg: 0 24px 70px rgba(8,20,40,.20);
  --glow-gold:  0 10px 32px rgba(224,168,59,.35);
  --glow-azure: 0 10px 32px rgba(16,186,255,.22);

  /* Layout */
  --maxw: 1180px;
  --gap: clamp(1rem, 2.4vw, 2rem);
  --section-y: clamp(2.6rem, 5vw, 4.4rem);
  --nav-h: 62px;
  --ease: cubic-bezier(.22, .9, .26, 1);

  /* Decorative textures */
  --noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  /* Islamic 8-point-star lattice (two rotated squares) */
  --pat-gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23e0a83b' stroke-opacity='.16' stroke-width='1'%3E%3Crect x='20' y='20' width='32' height='32'/%3E%3Crect x='20' y='20' width='32' height='32' transform='rotate(45%2036%2036)'/%3E%3Ccircle cx='36' cy='36' r='3.5'/%3E%3C/g%3E%3C/svg%3E");
  --pat-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.06' stroke-width='1'%3E%3Crect x='20' y='20' width='32' height='32'/%3E%3Crect x='20' y='20' width='32' height='32' transform='rotate(45%2036%2036)'/%3E%3Ccircle cx='36' cy='36' r='3.5'/%3E%3C/g%3E%3C/svg%3E");
  --star-gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23e0a83b' stroke-width='0.6' opacity='0.5'%3E%3Cpath d='M50 5 61 39 95 39 68 61 79 95 50 74 21 95 32 61 5 39 39 39z'/%3E%3Cpath d='M50 18 57 40 80 40 62 54 69 76 50 62 31 76 38 54 20 40 43 40z'/%3E%3C/g%3E%3C/svg%3E");
}

[data-theme="dark"] {
  --bg:        #070d18;
  --surface:   #0c1626;
  --surface-2: #111e33;
  --surface-3: #152540;
  --text:      #ecf2fb;
  --text-soft: #93a7c4;
  --primary:   #6cb0f5;
  --primary-strong: #a5cdf8;
  --accent:    #f2c161;
  --accent-strong: #f6d18a;
  --secondary: #38c4be;
  --border:    #1d2e49;
  --line:      #1d2e49;
  --line-soft: #172640;
  --blue-50:   #10233c;
  --blue-100:  #16304e;
  --gold-100:  #2b2210;
  --teal-100:  #0f2f2d;
  --map-off:   #24384f;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 10px 30px rgba(0,0,0,.45);
  --shadow-lg: 0 26px 60px rgba(0,0,0,.55);
  --grad-primary: linear-gradient(135deg, var(--navy-600), var(--azure-600));
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  background:
    radial-gradient(60rem 42rem at 88% -12%, rgba(16,186,255,.07), transparent 60%),
    radial-gradient(52rem 38rem at -12% -2%, rgba(224,168,59,.06), transparent 55%),
    var(--bg);
  color: var(--text);
  line-height: 1.65;
  font-size: 16.5px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input, textarea, select { font: inherit; color: inherit; }
ul { list-style: none; padding: 0; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--azure-500) 70%, transparent); outline-offset: 2px; border-radius: 6px; }
::selection { background: var(--gold-400); color: #1a1204; }

/* Slim, theme-aware scrollbar */
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--text-soft) 38%, transparent);
  border-radius: var(--r-pill); border: 3px solid var(--bg);
}
::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--text-soft) 60%, transparent); }

/* ---------- Typography ---------- */
h1, h2, h3, h4 { font-family: var(--font-head); font-weight: 800; line-height: 1.08; letter-spacing: -.028em; color: var(--text); }
h1 { font-size: clamp(2.5rem, 5.4vw, 4.3rem); }
h2 { font-size: clamp(1.85rem, 3.6vw, 2.9rem); }
h3 { font-size: clamp(1.22rem, 2vw, 1.55rem); font-weight: 700; letter-spacing: -.015em; }
h4 { font-weight: 700; letter-spacing: -.01em; }
p { color: var(--text); }
.lede { font-size: clamp(1.05rem, 1.7vw, 1.26rem); color: var(--text-soft); line-height: 1.65; }
.eyebrow {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .42rem 1rem; border-radius: var(--r-pill);
  background: color-mix(in srgb, currentColor 9%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
  font-family: var(--font-body); font-weight: 700; font-size: .72rem;
  letter-spacing: .15em; text-transform: uppercase; color: var(--accent-strong);
}
.eyebrow::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor;
  box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 45%, transparent);
  animation: eyebrow-pulse 2.6s var(--ease) infinite;
}
@keyframes eyebrow-pulse {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 40%, transparent); }
  70%, 100% { box-shadow: 0 0 0 7px transparent; }
}
.text-center { text-align: center; }
.text-center .eyebrow { justify-content: center; }

/* Signature gold flourish under headings that follow an eyebrow chip */
.eyebrow + h2, .eyebrow + h1 { position: relative; padding-bottom: .95rem; }
.eyebrow + h2::after, .eyebrow + h1::after {
  content: ""; position: absolute; left: 2px; bottom: 0; width: 64px; height: 4px;
  border-radius: 4px; background: var(--grad-gold);
}
.text-center .eyebrow + h2::after, .text-center .eyebrow + h1::after,
.cta-band .eyebrow + h2::after { left: 50%; transform: translateX(-50%); }

/* ---------- Layout ---------- */
.wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: clamp(1.1rem, 4vw, 2.2rem); }
.section { padding-block: var(--section-y); }
.section--tint { background-color: var(--surface-2); background-image: var(--pat-gold); }
.section--navy { position: relative; background: var(--navy-900); color: #eaf0fb; }
.section--navy::before { content:""; position:absolute; inset:0; background-image: var(--pat-white); pointer-events:none; }
.section--navy > * { position: relative; }
.section--navy h1,.section--navy h2,.section--navy h3 { color: #fff; }
.section-head { max-width: 720px; margin-bottom: clamp(1.4rem, 2.8vw, 2.2rem); }
.section-head.text-center { margin-inline: auto; }
.grid { display: grid; gap: var(--gap); }
.g-2 { grid-template-columns: repeat(2, 1fr); }
.g-3 { grid-template-columns: repeat(3, 1fr); }
.g-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 960px){ .g-3,.g-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px){ .g-2,.g-3,.g-4 { grid-template-columns: 1fr; } }

/* ---------- Buttons ---------- */
.btn {
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  padding: .85rem 1.55rem; border-radius: var(--r-pill); font-weight: 700;
  font-size: .95rem; letter-spacing: .005em; cursor: pointer;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .2s, border-color .2s;
  will-change: transform; white-space: nowrap;
}
.btn:active { transform: translateY(0) scale(.98); }
.btn svg { width: 1.05em; height: 1.05em; }
/* shine sweep on solid buttons */
.btn--primary::after, .btn--accent::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 42%, rgba(255,255,255,.38) 50%, transparent 58%);
  transform: translateX(-130%); transition: transform .65s var(--ease);
}
.btn--primary:hover::after, .btn--accent:hover::after { transform: translateX(130%); }
.btn--primary { background: var(--grad-primary); color: #fff; box-shadow: var(--shadow-sm); }
.btn--primary:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(18,59,109,.35); }
.btn--accent { background: var(--grad-gold); color: #2c1f04; box-shadow: 0 8px 22px rgba(200,138,30,.32); }
.btn--accent:hover { transform: translateY(-2px); box-shadow: var(--glow-gold); }
.btn--ghost { background: transparent; color: var(--text); border: 1.5px solid var(--border); }
.btn--ghost:hover { border-color: var(--primary); color: var(--primary); transform: translateY(-2px); background: color-mix(in srgb, var(--primary) 6%, transparent); }
.btn--light { background: rgba(255,255,255,.10); color: #fff; border: 1px solid rgba(255,255,255,.26); backdrop-filter: blur(8px); }
.btn--light:hover { background: rgba(255,255,255,.2); transform: translateY(-2px); }
.btn--sm { padding: .55rem 1.05rem; font-size: .85rem; }
.btn--block { width: 100%; }

/* ---------- Header / Nav — floating glass pill ---------- */
.site-header { position: sticky; top: 10px; z-index: 100; margin-top: 10px; }
.nav {
  position: relative;
  display: flex; align-items: center; gap: 1rem; height: var(--nav-h);
  padding-inline: 1.1rem .55rem;
  background: color-mix(in srgb, var(--surface) 78%, transparent);
  -webkit-backdrop-filter: saturate(1.5) blur(18px);
  backdrop-filter: saturate(1.5) blur(18px);
  border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
  border-radius: var(--r-pill);
  box-shadow: var(--shadow-sm);
  transition: background .3s, box-shadow .3s, border-color .3s;
}
.site-header.scrolled .nav {
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  box-shadow: var(--shadow-md);
}
.brand { display: flex; align-items: center; gap: .8rem; margin-right: auto; }
.brand__logo { height: 36px; width: auto; flex: none; }
.brand__divider { width: 1px; height: 28px; background: var(--border); flex: none; }
.brand__tag { font-family: var(--font-head); font-size: .78rem; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; color: var(--text-soft); }
@media (max-width: 1080px){ .brand__divider, .brand__tag { display: none; } }
@media (max-width: 560px){ .brand__logo { height: 32px; } }
.nav__links { display: flex; align-items: center; gap: .15rem; }
.nav__links a {
  position: relative; padding: .5rem .85rem; border-radius: var(--r-pill);
  font-weight: 600; font-size: .92rem; color: var(--text-soft);
  transition: color .2s, background .2s;
}
.nav__links a:hover { color: var(--text); background: color-mix(in srgb, var(--text) 7%, transparent); }
.nav__links a.active { color: var(--primary); background: color-mix(in srgb, var(--primary) 10%, transparent); }
.nav__actions { display: flex; align-items: center; gap: .5rem; }
.theme-toggle {
  width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center;
  color: var(--text-soft); border: 1px solid var(--border); transition: .2s; flex: none;
}
.theme-toggle:hover { color: var(--accent-strong); border-color: var(--accent); transform: rotate(12deg); }
.theme-toggle svg { width: 19px; height: 19px; }
.theme-toggle .sun { display: none; }
[data-theme="dark"] .theme-toggle .sun { display: block; }
[data-theme="dark"] .theme-toggle .moon { display: none; }
.nav__burger { display: none; width: 42px; height: 42px; border-radius: 50%; flex: none; }
.nav__burger span { display:block; width: 20px; height: 2px; background: var(--text); margin: 4px auto; border-radius: 2px; transition: .3s; }

/* Dropdown */
.has-drop { position: relative; }
.drop {
  position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%) translateY(8px);
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  border: 1px solid var(--border); border-radius: var(--r-md);
  box-shadow: var(--shadow-lg); padding: .45rem; min-width: 225px;
  opacity: 0; visibility: hidden; transition: .22s var(--ease); z-index: 50;
}
.has-drop:hover .drop, .has-drop:focus-within .drop { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.drop a { display: block; padding: .6rem .8rem; border-radius: 10px; font-size: .9rem; color: var(--text-soft); }
.drop a:hover { background: color-mix(in srgb, var(--primary) 8%, transparent); color: var(--primary); }

@media (max-width: 940px){
  .nav__links {
    position: absolute; top: calc(100% + 10px); left: 50%;
    width: min(100%, 540px);
    flex-direction: column; align-items: stretch;
    background: color-mix(in srgb, var(--surface) 94%, transparent);
    -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
    border: 1px solid var(--border); border-radius: var(--r-lg); padding: .7rem;
    gap: .1rem; box-shadow: var(--shadow-lg);
    opacity: 0; visibility: hidden;
    transform: translateX(-50%) translateY(-10px) scale(.98);
    transition: transform .3s var(--ease), opacity .3s var(--ease), visibility .3s;
    max-height: calc(100vh - var(--nav-h) - 40px); overflow-y: auto;
  }
  .nav__links.open { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0) scale(1); }
  .nav__links a { padding: .8rem 1rem; font-size: 1rem; border-radius: 12px; }
  .drop { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; padding: 0 0 .4rem 1rem; min-width: 0; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .nav__burger { display: block; }
  .nav__burger.open span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
  .nav__burger.open span:nth-child(2){ opacity: 0; }
  .nav__burger.open span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }
}

/* ---------- Hero ---------- */
.hero {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, var(--navy-950) 0%, var(--navy-900) 100%);
  color: #eef3fb; padding-block: clamp(2.8rem, 6.5vw, 5.2rem);
  margin-top: calc(-1 * (var(--nav-h) + 10px)); padding-top: calc(clamp(2.8rem, 6.5vw, 5.2rem) + var(--nav-h) + 10px);
}
.hero::before {
  content:""; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(52% 48% at 85% 8%, rgba(224,168,59,.24), transparent 62%),
    radial-gradient(44% 52% at 4% 96%, rgba(21,144,141,.26), transparent 62%),
    radial-gradient(38% 42% at 55% 115%, rgba(16,186,255,.18), transparent 65%);
}
.hero__pattern {
  position:absolute; inset:0; z-index:0; opacity:.55;
  background-image:
    var(--noise),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 160px 160px, 46px 46px, 46px 46px;
  -webkit-mask-image: radial-gradient(80% 75% at 50% 25%, #000 30%, transparent 78%);
  mask-image: radial-gradient(80% 75% at 50% 25%, #000 30%, transparent 78%);
}
.hero__photo {
  position: absolute; inset: 0; z-index: 0; opacity: .28;
  background: url('../img/events/event-2.webp') center 30%/cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 24%, #000 62%);
  mask-image: linear-gradient(90deg, transparent 24%, #000 62%);
}
.hero__orb { position: absolute; border-radius: 50%; filter: blur(70px); z-index: 0; pointer-events: none; }
.hero__orb--gold  { width: 380px; height: 380px; top: -100px; right: 12%;
  background: radial-gradient(circle at 40% 40%, rgba(224,168,59,.6), transparent 70%);
  animation: orb-drift 16s ease-in-out infinite alternate; }
.hero__orb--azure { width: 340px; height: 340px; bottom: -90px; left: 4%;
  background: radial-gradient(circle at 60% 60%, rgba(16,186,255,.5), transparent 70%);
  animation: orb-drift 21s ease-in-out -7s infinite alternate-reverse; }
@keyframes orb-drift { to { transform: translate(48px, 30px) scale(1.18); } }
.hero .wrap { position: relative; z-index: 2; }
.hero__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (max-width: 900px){ .hero__grid { grid-template-columns: 1fr; } }
.hero h1 { color: #fff; }
.hero h1 .hl {
  background: linear-gradient(92deg, #ffd98a, #eeb04b 30%, #5bc9ff 62%, #ffd98a);
  background-size: 220% auto;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: hl-pan 7s ease-in-out infinite alternate;
}
@keyframes hl-pan { to { background-position: 100% center; } }
.hero .lede { color: #c3d2ea; max-width: 46ch; }
.hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; }
.hero__cta .btn { padding: 1rem 1.85rem; font-size: 1rem; }
.hero__badges { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.7rem; }
.hero__badge {
  display:flex; align-items:center; gap:.6rem; font-size:.84rem; color:#b7c7e0;
  background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.12);
  padding: .65rem 1.05rem; border-radius: 16px;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.hero__badge b { display:block; font-family:var(--font-head); font-weight:800; font-size:1.45rem; letter-spacing:-.02em; color:#fff; line-height:1.1; }
.hero__badge .num {
  background: linear-gradient(120deg, #ffd98a, #e69b23);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.hero__card {
  position: relative;
  background: linear-gradient(165deg, rgba(255,255,255,.09), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-lg);
  padding: 1.7rem; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: var(--shadow-lg);
}
.hero .hero__card::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(160deg, rgba(255,217,138,.55), transparent 32%, transparent 68%, rgba(91,201,255,.45));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
}
.hero__card h3 { color:#fff; font-size:1.15rem; }
.pledge-line { display:flex; gap:.7rem; padding:.62rem 0; border-bottom:1px solid rgba(255,255,255,.09); color:#cdd9ee; font-size:.94rem; }
.pledge-line:last-child { border-bottom: none; }
.pledge-line svg { width:20px; height:20px; color: var(--gold-400); flex:none; margin-top:2px; }

/* ---------- Marquee / ticker ---------- */
.ticker {
  background: linear-gradient(90deg, var(--navy-950), #0d2140 50%, var(--navy-950));
  color:#fff; overflow:hidden; border-bottom:1px solid rgba(224,168,59,.35);
}
.ticker .wrap {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.ticker__inner { display:flex; gap:3rem; padding:.55rem 0; white-space:nowrap; width:max-content; animation: ticker 32s linear infinite; }
.ticker:hover .ticker__inner { animation-play-state: paused; }
.ticker__item { display:inline-flex; align-items:center; gap:.55rem; font-size:.88rem; color:#dbe6f7; }
.ticker__item b { color: var(--gold-400); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.7rem; }
@keyframes ticker { to { transform: translateX(-50%); } }

/* ---------- Cards ---------- */
.card {
  position: relative;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg);
  overflow: hidden; box-shadow: var(--shadow-sm);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }
.card__body { padding: 1.4rem; }
.card__media { display: block; aspect-ratio: 16/10; position: relative; overflow: hidden; }
.card__media img { width:100%; height:100%; object-fit: cover; transition: transform .55s var(--ease); }
.card:hover .card__media img { transform: scale(1.06); }
.tag {
  display:inline-flex; align-items:center; gap:.4rem; font-size:.7rem; font-weight:700; letter-spacing:.05em;
  text-transform:uppercase; padding:.34rem .75rem; border-radius:var(--r-pill);
  background: var(--gold-100); color: var(--gold-600);
}
.tag--teal { background: var(--teal-100); color: var(--teal-700); }
.tag--blue { background: var(--blue-100); color: var(--navy-600); }
[data-theme="dark"] .tag--blue { color: #8ec2f8; }
[data-theme="dark"] .tag { color: var(--gold-400); }
[data-theme="dark"] .tag--teal { color: #4fd0ca; }
.card h3 a:hover { color: var(--primary); }
.card__meta { display:flex; align-items:center; gap:.8rem; font-size:.82rem; color:var(--text-soft); margin-top:.8rem; }
.card__meta svg { width:15px; height:15px; opacity:.7; }

/* Feature cards */
.feature {
  position: relative; text-align:left; padding:1.8rem; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-sm);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.feature::before {
  content:""; position:absolute; top:0; left:14%; right:14%; height:2px; border-radius:2px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  opacity:0; transition:.35s var(--ease);
}
.feature:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }
.feature:hover::before { opacity:1; }
.feature__icon {
  width:56px; height:56px; border-radius:18px; display:grid; place-items:center; margin-bottom:1.15rem;
  background: linear-gradient(140deg, var(--blue-50), var(--blue-100)); color:var(--primary);
  border: 1px solid color-mix(in srgb, var(--primary) 14%, transparent);
  transition: transform .35s var(--ease);
}
.feature:hover .feature__icon { transform: scale(1.07) rotate(-4deg); }
.feature__icon svg { width:26px; height:26px; }
.feature:nth-child(3n+2) .feature__icon { background:linear-gradient(140deg, var(--gold-100), color-mix(in srgb, var(--gold-400) 38%, var(--gold-100))); color:var(--gold-600); border-color: color-mix(in srgb, var(--gold-500) 25%, transparent); }
.feature:nth-child(3n+3) .feature__icon { background:linear-gradient(140deg, var(--teal-100), color-mix(in srgb, var(--teal-500) 25%, var(--teal-100))); color:var(--teal-700); border-color: color-mix(in srgb, var(--teal-500) 25%, transparent); }
[data-theme="dark"] .feature:nth-child(3n+2) .feature__icon { color: var(--gold-400); }
[data-theme="dark"] .feature:nth-child(3n+3) .feature__icon { color: #4fd0ca; }
.feature h3 { font-size:1.2rem; margin-bottom:.5rem; }
.feature p { color:var(--text-soft); font-size:.96rem; }

/* Stat band */
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
@media (max-width:720px){ .stats{ grid-template-columns:repeat(2,1fr);} }
.stat { text-align:center; padding:1.5rem 1rem; border-radius:var(--r-lg); background:linear-gradient(160deg, var(--surface), var(--blue-50)); border:1px solid var(--border); }
.stat b {
  display:block; font-family:var(--font-head); font-weight:800; letter-spacing:-.02em;
  font-size:clamp(2rem,4vw,2.9rem); line-height:1;
  background: linear-gradient(120deg, var(--navy-700), #1f7fd6);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
[data-theme="dark"] .stat b { background: linear-gradient(120deg, #8ec2f8, #4cc3ff); -webkit-background-clip: text; background-clip: text; }
.stat span { display:block; margin-top:.5rem; font-size:.84rem; letter-spacing:.05em; text-transform:uppercase; color:var(--text-soft); font-weight:600; }

/* ---------- Team cards ---------- */
.person {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--shadow-sm); text-align:center;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.person:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
.person__avatar { height:150px; background:linear-gradient(135deg,var(--navy-700),var(--navy-500)); position:relative; overflow:hidden; }
.person:nth-child(3n+2) .person__avatar { background:linear-gradient(135deg,var(--teal-700),var(--teal-500)); }
.person:nth-child(3n+3) .person__avatar { background:linear-gradient(135deg,var(--gold-600),var(--gold-400)); }
.person__initials {
  position:absolute; left:50%; bottom:-34px; transform:translateX(-50%);
  width:88px; height:88px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--font-head); font-size:1.6rem; font-weight:700; color:#fff;
  background:rgba(255,255,255,.16); border:4px solid var(--surface);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
}
.person__body { padding:2.6rem 1.3rem 1.5rem; }
.person__role { display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-strong); margin-bottom:.35rem; }
.person h3 { font-size:1.16rem; }
.person__qual { font-size:.84rem; color:var(--text-soft); margin-top:.3rem; }
.person__foot { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line-soft); font-size:.84rem; color:var(--text-soft); }
.person__foot a { display:inline-flex; align-items:center; gap:.35rem; color:var(--primary); font-weight:600; }
.person__foot svg { width:15px; height:15px; }
.chip { display:inline-flex; align-items:center; gap:.35rem; font-size:.78rem; padding:.28rem .65rem; border-radius:var(--r-pill); background:var(--surface-2); color:var(--text-soft); font-weight:600; }

/* ---------- States / map ---------- */
.map-split { display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
/* compact wrapping chips beside the map — keeps the column height near the map's */
.state-chips__head { font-family:var(--font-body); font-weight:700; font-size:.78rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--text-soft); margin-bottom:.85rem; }
.state-chips { display:flex; flex-wrap:wrap; gap:.5rem; align-content:flex-start; }
.state-chip { display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .85rem;
  border-radius:var(--r-pill); background:var(--surface); border:1px solid var(--border);
  font-size:.88rem; font-weight:600; color:var(--text); cursor:pointer;
  transition:transform .2s var(--ease), border-color .2s, background .2s, box-shadow .2s; }
.state-chip:hover { transform:translateY(-2px); box-shadow:var(--shadow-sm);
  border-color:color-mix(in srgb, var(--accent) 55%, var(--border)); }
.state-chip.active { background:color-mix(in srgb, var(--accent) 12%, var(--surface));
  border-color:color-mix(in srgb, var(--accent) 60%, var(--border)); box-shadow:var(--shadow-sm); }
.state-chip__dot { width:9px; height:9px; border-radius:50%; flex:none; }
.state-chip__n { font-size:.72rem; font-weight:700; color:var(--text-soft);
  background:var(--surface-2); border-radius:var(--r-pill); padding:.1rem .45rem; }
@media (max-width:900px){ .map-split{ grid-template-columns:1fr; align-items:start; } }
.india-map { width:100%; height:auto; filter: drop-shadow(0 20px 40px rgba(12,34,63,.14)); }
.india-map .state { fill: var(--blue-100); stroke: var(--surface); stroke-width:1.4; transition:.25s var(--ease); cursor:pointer; }
.india-map .state:hover { fill: var(--gold-400); }
.india-map .state.state-active { fill: var(--primary); }
.map-pin { cursor:pointer; }
.map-pin .pin-dot, .map-pin .pin-halo { transition:.3s var(--ease); transform-origin:center; }
.map-pin:hover .pin-dot { r:11; }
.map-pin:hover .pin-halo { opacity:.2 !important; }
.map-pin.on .pin-halo { animation: pulse 1.8s ease-in-out infinite; }
@keyframes pulse { 0%,100%{ opacity:.12; } 50%{ opacity:.32; } }
.state-list { display:flex; flex-direction:column; gap:.6rem; }
.state-item {
  display:flex; align-items:center; gap:1rem; padding:1rem 1.2rem; border-radius:var(--r-md);
  background:var(--surface); border:1px solid var(--border); cursor:pointer;
  transition:.25s var(--ease); text-align:left; width:100%;
}
.state-item:hover, .state-item.active {
  border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  transform:translateX(5px); box-shadow: var(--shadow-sm);
}
.state-item__dot { width:13px; height:13px; border-radius:50%; flex:none; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 0%, transparent); }
.state-item.active .state-item__dot { box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent); }
.state-item h4 { font-family:var(--font-body); font-weight:700; font-size:1rem; margin:0; }
.state-item p { font-size:.82rem; color:var(--text-soft); margin:0; }
.state-item__count { margin-left:auto; font-family:var(--font-head); font-weight:800; font-size:1.35rem; color:var(--primary); }

/* State directory */
.state-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:.9rem; }
.state-card {
  display:flex; align-items:center; gap:.8rem; padding:1rem 1.1rem; border-radius:var(--r-md);
  background:var(--surface); border:1px solid var(--border); transition:.25s var(--ease);
}
.state-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); }
.state-card__flag { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; font-weight:700; color:#fff; font-size:.85rem; flex:none; }
.state-card b { font-size:.98rem; font-weight:650; }
.state-card small { display:block; color:var(--text-soft); font-size:.78rem; }

/* ---------- Search / filter bar ---------- */
.toolbar { display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; margin-bottom:2rem; }
.search {
  flex:1 1 280px; display:flex; align-items:center; gap:.6rem; padding:.72rem 1.15rem;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-pill); box-shadow:var(--shadow-sm);
  transition: border-color .2s, box-shadow .2s;
}
.search:focus-within { border-color: color-mix(in srgb, var(--azure-500) 60%, var(--border)); box-shadow: 0 0 0 4px color-mix(in srgb, var(--azure-500) 12%, transparent); }
.search svg { width:19px; height:19px; color:var(--text-soft); flex:none; }
.search input { border:none; background:none; outline:none; width:100%; font-size:.98rem; }
.filters { display:flex; flex-wrap:wrap; gap:.45rem; }
.filter-chip {
  padding:.5rem 1.05rem; border-radius:var(--r-pill); background:var(--surface); border:1px solid var(--border);
  font-size:.86rem; font-weight:600; color:var(--text-soft); transition:.2s;
}
.filter-chip:hover { border-color:var(--primary); color:var(--primary); }
.filter-chip.active { background:var(--grad-primary); color:#fff; border-color:transparent; box-shadow: var(--shadow-sm); }

/* ---------- Forms ---------- */
.form-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); padding:clamp(1.5rem,4vw,2.6rem); box-shadow:var(--shadow-md); }
.field { margin-bottom:1.15rem; }
.field label { display:block; font-weight:600; font-size:.9rem; margin-bottom:.45rem; }
.field .req { color:#d1495b; }
.field input, .field select, .field textarea {
  width:100%; padding:.82rem 1rem; border:1.5px solid var(--border); border-radius:12px;
  background:var(--bg); transition: border-color .2s, box-shadow .2s; font-size:.98rem;
}
.field input:focus, .field select:focus, .field textarea:focus {
  outline:none; border-color: color-mix(in srgb, var(--azure-500) 65%, var(--primary));
  box-shadow:0 0 0 4px color-mix(in srgb, var(--azure-500) 14%, transparent);
}
.field textarea { resize:vertical; min-height:120px; }
.field small { display:block; color:var(--text-soft); font-size:.8rem; margin-top:.35rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.15rem; }
@media (max-width:560px){ .form-row{ grid-template-columns:1fr; } }
.form-note { display:flex; gap:.7rem; padding:1rem; border-radius:var(--r-md); background:var(--blue-50); font-size:.88rem; color:var(--text-soft); }
.form-note svg{ width:20px;height:20px;color:var(--primary);flex:none; }
.alert { padding:1rem 1.2rem; border-radius:var(--r-md); font-size:.92rem; margin-bottom:1rem; display:none; }
.alert.show { display:block; }
.alert--ok { background:var(--teal-100); color:var(--teal-700); border:1px solid color-mix(in srgb,var(--teal-500) 30%,transparent); }
[data-theme="dark"] .alert--ok { color:#4fd0ca; }
.alert--err { background:#fbe4e6; color:#b0324a; }
[data-theme="dark"] .alert--err { background:#3a1520; color:#ff9aac; }

/* ---------- Page header (interior) ---------- */
.page-hero {
  background: linear-gradient(180deg, var(--navy-950) 0%, var(--navy-900) 100%);
  color:#fff; padding-block:clamp(2.4rem,5vw,3.6rem); position:relative; overflow:hidden;
  margin-top: calc(-1 * (var(--nav-h) + 10px)); padding-top: calc(clamp(2.4rem,5vw,3.6rem) + var(--nav-h) + 10px);
}
.page-hero::before {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(46% 60% at 88% 6%, rgba(224,168,59,.26), transparent 62%),
    radial-gradient(42% 55% at 4% 100%, rgba(21,144,141,.24), transparent 62%),
    radial-gradient(34% 40% at 55% 120%, rgba(16,186,255,.15), transparent 65%);
}
.page-hero::after {
  content:""; position:absolute; inset:0; opacity:.75; pointer-events:none;
  background-image: var(--noise), var(--pat-white), var(--star-gold);
  background-size: 160px 160px, 72px 72px, 300px 300px;
  background-position: 0 0, 0 0, calc(100% + 80px) -70px;
  background-repeat: repeat, repeat, no-repeat;
}
.page-hero .wrap { position:relative; z-index:1; }
.page-hero h1 { color:#fff; max-width:20ch; }
.page-hero p { color:#c3d2ea; max-width:60ch; margin-top:.8rem; }
.crumbs { display:inline-flex; gap:.5rem; align-items:center; font-size:.82rem; color:#aebfda; margin-bottom:1.1rem;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); padding:.4rem .9rem; border-radius:var(--r-pill);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.crumbs a:hover { color:#fff; }
.crumbs svg{ width:14px;height:14px;opacity:.6; }

/* ---------- Gallery ---------- */
.masonry { columns: 3 260px; column-gap: 1rem; }
.masonry .shot { break-inside: avoid; margin-bottom:1rem; border-radius:var(--r-md); overflow:hidden; position:relative; box-shadow:var(--shadow-sm); cursor:pointer; transition: box-shadow .3s var(--ease); }
.masonry .shot:hover { box-shadow: var(--shadow-md); }
.masonry .shot img { width:100%; transition:transform .55s var(--ease); }
.masonry .shot:hover img { transform:scale(1.05); }
.shot__cap { position:absolute; inset:auto 0 0 0; padding:1.6rem .9rem .8rem; background:linear-gradient(transparent,rgba(6,15,33,.88)); color:#fff; font-size:.85rem; font-weight:600; opacity:0; transform: translateY(6px); transition:.3s var(--ease); }
.masonry .shot:hover .shot__cap { opacity:1; transform: translateY(0); }

/* Lightbox */
.lightbox { position:fixed; inset:0; z-index:200; background:rgba(4,10,22,.9); display:none; place-items:center; padding:2rem; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.lightbox.open { display:grid; }
.lightbox img { max-width:92vw; max-height:82vh; border-radius:var(--r-md); box-shadow:var(--shadow-lg); }
.lightbox__close { position:absolute; top:1.4rem; right:1.4rem; width:46px; height:46px; border-radius:50%; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); color:#fff; display:grid; place-items:center; transition:.2s; }
.lightbox__close:hover { background:rgba(255,255,255,.25); transform: rotate(90deg); }
.lightbox__cap { position:absolute; bottom:1.6rem; left:0; right:0; text-align:center; color:#dbe6f7; font-size:.95rem; }

/* ---------- CTA band ---------- */
.cta-band {
  position:relative; overflow:hidden; border-radius:var(--r-xl);
  background: linear-gradient(135deg, var(--navy-900), var(--navy-700) 55%, #14508f);
  color:#fff; padding:clamp(2.6rem,6vw,4.2rem); text-align:center; box-shadow:var(--shadow-lg);
}
.cta-band::before {
  content:""; position:absolute; inset:0;
  background-image:
    var(--pat-white),
    radial-gradient(42% 70% at 12% 0%, rgba(16,186,255,.22), transparent 60%),
    radial-gradient(46% 75% at 90% 100%, rgba(224,168,59,.26), transparent 60%);
}
.cta-band > * { position:relative; z-index:1; }
.cta-band h2 { color:#fff; }
.cta-band p { color:#c9d7ee; max-width:52ch; margin:1rem auto 1.8rem; }
.cta-band .btn-row { display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }

/* ---------- Footer ---------- */
.site-footer { position:relative; background-color:var(--navy-950); background-image:var(--pat-white); color:#c6d4ea; padding-top:clamp(2.4rem,4.5vw,3.4rem); }
.site-footer::before { content:""; position:absolute; top:0; left:0; right:0; height:1px; background: var(--grad-hairline); }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:1.8rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.08); }
@media (max-width:860px){ .footer-grid{ grid-template-columns:1fr 1fr; gap:1.8rem; } }
@media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-brand__logo{ display:flex; align-items:center; gap:.7rem; margin-bottom:1.1rem; }
.footer-wordmark{ height:44px; width:auto; filter: brightness(1.15); }
.site-footer p { color:#a9bad6; font-size:.92rem; }
.footer-col h4 { color:#fff; font-family:var(--font-body); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:1rem; }
.footer-col a { display:block; padding:.32rem 0; color:#a9bad6; font-size:.93rem; transition:.2s; }
.footer-col a:hover { color:var(--gold-400); transform:translateX(4px); }
.footer-contact li { display:flex; gap:.6rem; margin-bottom:.8rem; font-size:.92rem; color:#a9bad6; }
.footer-contact svg { width:18px; height:18px; color:var(--gold-400); flex:none; margin-top:2px; }
.social { display:flex; gap:.6rem; margin-top:1.2rem; }
.social a { width:40px; height:40px; border-radius:13px; display:grid; place-items:center; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); color:#c6d4ea; transition:.25s var(--ease); }
.social a:hover { background:var(--grad-gold); border-color:transparent; color:#2c1f04; transform:translateY(-3px); box-shadow: var(--glow-gold); }
.social svg { width:19px; height:19px; }
.footer-bottom { display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; padding:1.5rem 0; font-size:.85rem; color:#8ea3c4; }
.footer-bottom a:hover { color:#fff; }

/* ---------- Newsletter ---------- */
.news-inline { display:flex; gap:.5rem; margin-top:1rem; }
.news-inline input { flex:1; padding:.7rem 1rem; border-radius:var(--r-pill); border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.07); color:#fff; }
.news-inline input::placeholder{ color:#8ea3c4; }

/* ---------- Utilities / animation ---------- */
.reveal { opacity:0; transform:translateY(26px) scale(.99); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in { opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s; }
.reveal[data-d="2"]{ transition-delay:.16s; }
.reveal[data-d="3"]{ transition-delay:.24s; }
.reveal[data-d="4"]{ transition-delay:.32s; }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; }
}
.divider { height:1px; background:var(--border); border:0; margin-block:1.5rem; }
.pill-note { display:inline-flex; align-items:center; gap:.5rem; padding:.45rem .95rem; border-radius:var(--r-pill); background:var(--surface-2); border:1px solid var(--border); font-size:.82rem; color:var(--text-soft); font-weight:600; }
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.6rem}.mb-0{margin-bottom:0}
.muted{ color:var(--text-soft); }
.empty-state{ text-align:center; padding:3rem 1rem; color:var(--text-soft); }
.empty-state svg{ width:52px; height:52px; opacity:.4; margin-bottom:1rem; }

/* ==========================================================================
   v2 components — slider, accurate map, real photos, state panels
   ========================================================================== */

.tag--gold { background: var(--grad-gold); color: #2c1f04; }
[data-theme="dark"] .tag--gold { color: #2c1f04; }

/* ---------- Recent-work slider ---------- */
.slider { position: relative; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--shadow-lg); }
.slider__track { position: relative; height: clamp(420px, 56vw, 620px); }
@media (max-width: 620px){ .slider__track { height: clamp(360px, 88vw, 520px); } }
.slide {
  position: absolute; inset: 0; display: flex; align-items: flex-end;
  background-size: cover; background-position: center; color: #fff;
  opacity: 0; visibility: hidden; transform: scale(1.04);
  transition: opacity .8s var(--ease), transform 6s linear, visibility .8s;
}
.slide.active { opacity: 1; visibility: visible; transform: scale(1); }
.slide__inner { padding: clamp(1.5rem, 4vw, 3rem); max-width: 640px; }
.slide__inner h3 { color: #fff; font-size: clamp(1.4rem, 3.2vw, 2.3rem); margin: .7rem 0 .5rem; letter-spacing:-.02em; }
.slide__inner p { color: #d7e0ee; font-size: clamp(.95rem, 1.4vw, 1.08rem); max-width: 52ch; }
.slide__cta { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.1rem; font-weight: 700; color: var(--gold-400); }
.slide__cta svg { width: 1.1em; height: 1.1em; transition: transform .25s; }
.slide:hover .slide__cta svg { transform: translateX(4px); }
.slider__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(255,255,255,.13); color: #fff;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.25); transition: .2s;
}
.slider__arrow:hover { background: var(--grad-gold); color: #2c1f04; border-color: transparent; }
.slider__arrow svg { width: 22px; height: 22px; }
.slider__arrow.prev { left: 1rem; } .slider__arrow.next { right: 1rem; }
.slider__dots { position: absolute; bottom: 1.1rem; right: 1.4rem; z-index: 5; display: flex; gap: .5rem; }
.slider__dots .dot { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.4); transition: .25s; }
.slider__dots .dot.active { background: var(--gold-400); width: 26px; border-radius: var(--r-pill); }
@media (max-width: 560px){ .slider__arrow { width: 40px; height: 40px; } }

/* ---------- Video cards (YouTube facade) ---------- */
.video-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s; }
.video-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
.video-thumb, .video-frame { display: block; width: 100%; aspect-ratio: 16/9; border: 0; }
.video-thumb { position: relative; background-size: cover; background-position: center; cursor: pointer; }
.video-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,15,33,.05), rgba(6,15,33,.5)); transition: opacity .3s; }
.video-thumb:hover::after { opacity: .75; }
.video-play {
  position: absolute; inset: 0; margin: auto; z-index: 2; width: 62px; height: 62px; border-radius: 50%;
  display: grid; place-items: center; background: var(--grad-gold); color: #2c1f04;
  box-shadow: 0 8px 24px rgba(0,0,0,.35), 0 0 0 0 rgba(240,194,104,.55);
  transition: transform .25s var(--ease);
}
.video-thumb:hover .video-play { transform: scale(1.1); animation: play-ring 1.4s var(--ease) infinite; }
@keyframes play-ring {
  0% { box-shadow: 0 8px 24px rgba(0,0,0,.35), 0 0 0 0 rgba(240,194,104,.5); }
  100% { box-shadow: 0 8px 24px rgba(0,0,0,.35), 0 0 0 18px transparent; }
}
.video-play svg { width: 28px; height: 28px; margin-left: 3px; }
.video-card__body { padding: 1.1rem 1.3rem 1.3rem; }
.video-card__body h3 { font-size: 1.05rem; line-height: 1.3; }
.video-card__body p { font-size: .85rem; margin-top: .3rem; }
.video-all svg { transition: transform .25s; }
.video-all:hover svg { transform: translateX(4px); }

/* ---------- Accurate India map ---------- */
.india-real { width: 100%; height: auto; max-height: 560px; display: block; filter: drop-shadow(0 20px 45px rgba(12,34,63,.16)); overflow: visible; }
.india-real path { outline: none; }
.india-real path.st-on:hover { fill-opacity: .75 !important; }
.india-real path.st-off { cursor: default; }
#stateMap { position: relative; }

/* ---------- Real photo avatars (leadership cards) ---------- */
.person__avatar--photo { height: 260px; }
.person__avatar--photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .5s var(--ease); }
.person:hover .person__avatar--photo img { transform: scale(1.04); }
.person__avatar--photo + .person__body { padding-top: 1.4rem; }
.person__avatar--photo::after {
  content: ""; position: absolute; inset: 0; box-shadow: inset 0 -50px 60px -30px rgba(6,15,33,.55); pointer-events: none;
}

/* ---------- State panels (state-teams page) ---------- */
.state-block { margin-bottom: 2.2rem; }
.state-block__title { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.2rem; font-family: var(--font-head); font-weight: 800; font-size: 1.25rem; letter-spacing:-.01em; }
.state-panels { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }
.state-panel { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 1.25rem; box-shadow: var(--shadow-sm); transition: .25s var(--ease); }
.state-panel:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }
.state-panel--empty { opacity: .72; border-style: dashed; }
.state-panel__head { display: flex; align-items: center; gap: .8rem; margin-bottom: .3rem; }
.state-panel__flag { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; color: #fff; font-weight: 700; font-size: .95rem; flex: none; }
.state-panel__head b { font-size: 1.08rem; font-family: var(--font-head); font-weight: 700; letter-spacing:-.01em; }
.state-panel__head small { display: block; color: var(--text-soft); font-size: .8rem; }
.state-panel__members { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line-soft); display: flex; flex-direction: column; gap: 1rem; }
.mini { display: flex; gap: .9rem; align-items: flex-start; }
.mini__photo, .mini__ini { width: 58px; height: 58px; border-radius: 14px; flex: none; object-fit: cover; object-position: top center; }
.mini__ini { display: grid; place-items: center; color: #fff; font-weight: 700; }
.mini__info { display: flex; flex-direction: column; min-width: 0; }
.mini__role { font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mini__info b { font-size: 1rem; line-height: 1.2; }
.mini__info small { color: var(--text-soft); font-size: .82rem; margin-top: .1rem; }
.mini__phone { display: inline-flex; align-items: center; gap: .35rem; color: var(--primary); font-weight: 600; font-size: .84rem; margin-top: .35rem; }
.mini__phone svg { width: 14px; height: 14px; }

/* ---------- "Who we are" — photo composition + stat strip ---------- */
.about-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
@media (max-width: 900px){ .about-grid { grid-template-columns: 1fr; } }

.about-visual { position: relative; padding: 0 1.4rem 2.6rem 0; min-height: 380px; }
.about-photo { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-lg); border: 4px solid var(--surface); }
.about-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.about-photo--a { width: 78%; aspect-ratio: 4/3; }
.about-photo--b {
  position: absolute; right: 0; bottom: 1.2rem; width: 46%; aspect-ratio: 1/1;
  z-index: 2;
}
.about-visual::before {
  content: ""; position: absolute; left: -18px; top: -18px; width: 100px; height: 100px; z-index: 0;
  background-image: radial-gradient(var(--accent) 1.4px, transparent 1.4px); background-size: 14px 14px; opacity: .5;
  border-radius: 8px;
  -webkit-mask-image: radial-gradient(#000 40%, transparent 72%);
  mask-image: radial-gradient(#000 40%, transparent 72%);
}
.about-badge {
  position: absolute; left: -12px; bottom: -14px; z-index: 3;
  display: flex; align-items: center; gap: .8rem; max-width: 300px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border: 1px solid var(--border); border-radius: var(--r-md);
  padding: .85rem 1.1rem; box-shadow: var(--shadow-lg);
}
.about-badge__ring { width: 42px; height: 42px; border-radius: 13px; flex: none; display: grid; place-items: center; background: var(--grad-gold); color: #2c1f04; }
.about-badge__ring svg { width: 22px; height: 22px; }
.about-badge b { display: block; font-family: var(--font-body); font-size: .86rem; line-height: 1.25; color: var(--text); }
.about-badge span { font-size: .76rem; color: var(--text-soft); }
@media (max-width: 460px){ .about-photo--a { width: 88%; } .about-photo--b { width: 52%; } .about-badge { position: static; margin-top: 1rem; max-width: none; } }

.stat-strip {
  position: relative;
  /* spreads evenly however many stats there are */
  display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; margin-top: clamp(1.8rem, 3.5vw, 2.8rem);
  background: linear-gradient(120deg, var(--navy-950), var(--navy-800));
  border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-md);
}
.stat-strip::before {
  content:""; position:absolute; inset:0;
  background-image:
    var(--pat-white),
    radial-gradient(40% 120% at 8% 0%, rgba(16,186,255,.16), transparent 60%),
    radial-gradient(40% 120% at 92% 100%, rgba(224,168,59,.18), transparent 60%);
}
.stat-strip__item { position: relative; padding: 1.8rem 1rem; text-align: center; }
.stat-strip__item + .stat-strip__item::before { content: ""; position: absolute; left: 0; top: 22%; height: 56%; width: 1px; background: rgba(255,255,255,.12); }
.stat-strip__item b {
  display: block; font-family: var(--font-head); font-weight: 800; letter-spacing:-.02em;
  font-size: clamp(1.8rem, 3.4vw, 2.7rem); line-height: 1;
  background: linear-gradient(120deg, #ffd98a, #e69b23);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.stat-strip__item span { display: block; margin-top: .5rem; font-size: .78rem; letter-spacing: .07em; text-transform: uppercase; color: #b7c7e0; font-weight: 600; }
@media (max-width: 620px){ .stat-strip { grid-auto-flow: row; grid-template-columns: repeat(2, 1fr); } .stat-strip__item:nth-child(odd)::before { display: none; } }

/* ---------- Character: ornaments & texture ---------- */
.section--tint { position: relative; }
.ornament { display:flex; align-items:center; justify-content:center; gap:.8rem; color:var(--accent); margin: 0 auto 1rem; }
.ornament::before, .ornament::after { content:""; height:1px; width:min(60px,12vw); background:linear-gradient(90deg,transparent,var(--accent)); }
.ornament::after { background:linear-gradient(90deg,var(--accent),transparent); }
.ornament svg { width: 26px; height: 26px; }
.hero::after, .cta-band::after {
  content:""; position:absolute; right:-60px; top:-60px; width:300px; height:300px; z-index:0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23e0a83b' stroke-width='0.6' opacity='0.5'%3E%3Cpath d='M50 5 61 39 95 39 68 61 79 95 50 74 21 95 32 61 5 39 39 39z'/%3E%3Cpath d='M50 18 57 40 80 40 62 54 69 76 50 62 31 76 38 54 20 40 43 40z'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain;
  opacity:.45; pointer-events:none;
  animation: star-spin 90s linear infinite;
}
@keyframes star-spin { to { transform: rotate(360deg); } }
.cta-band::after { right:auto; left:-40px; bottom:-50px; top:auto; width:210px; height:210px; }

/* Objectives — Islamic list with numerals */
.obj-list { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:720px){ .obj-list{ grid-template-columns:1fr; } }
.obj { display:flex; gap:1rem; padding:1.25rem 1.35rem; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); box-shadow:var(--shadow-sm); transition:.25s var(--ease); }
.obj:hover { transform:translateX(5px); border-color:color-mix(in srgb,var(--accent) 45%,var(--border)); box-shadow: var(--shadow-md); }
.obj__n { font-family:var(--font-head); font-weight:800; font-size:1.45rem; line-height:1.1;
  background: var(--grad-gold); -webkit-background-clip: text; background-clip: text; color: transparent;
  flex:none; width:2ch; }
.obj p { color:var(--text-soft); font-size:.96rem; margin:0; }
.urdu { font-size:1.15rem; line-height:2.1; direction:rtl; text-align:right; color:var(--text-soft); font-family:"Noto Nastaliq Urdu","Jameel Noori Nastaleeq",serif; }

/* Full Urdu objectives block */
.urdu-objectives { margin-top: clamp(1.6rem, 3.5vw, 2.4rem); padding-top: clamp(1.6rem, 3.5vw, 2.4rem); border-top: 1px solid var(--border); }
.urdu-objectives__head { text-align: center; margin-bottom: 1.8rem; }
.urdu-objectives__head h3 { font-family: "Noto Nastaliq Urdu", serif; font-size: clamp(1.6rem, 3.4vw, 2.3rem); color: var(--text); line-height: 1.8; direction: rtl; font-weight: 700; }
.urdu-objectives__head p { color: var(--text-soft); margin-top: .4rem; }
.obj-list--rtl .obj--rtl { flex-direction: row-reverse; text-align: right; }
.obj--rtl .obj__n--ur { font-family: "Noto Nastaliq Urdu", serif; width: auto; min-width: 1.6ch; text-align: center; }
.obj--rtl .urdu { margin: 0; color: var(--text); font-size: 1.08rem; line-height: 2; }

/* Prose (blog article) */
.prose{ max-width:720px; margin-inline:auto; }
.prose p{ margin-bottom:1.2rem; color:var(--text); line-height:1.8; }
.prose h2{ margin:2rem 0 1rem; }
.prose h3{ margin:1.6rem 0 .8rem; }
.prose ul{ list-style:disc; padding-left:1.4rem; margin-bottom:1.2rem; color:var(--text); }
.prose li{ margin-bottom:.5rem; }
.prose blockquote{ border-left:4px solid var(--accent); padding:.4rem 0 .4rem 1.4rem; margin:1.5rem 0; font-family:var(--font-head); font-size:1.25rem; font-weight:600; letter-spacing:-.01em; color:var(--text); }
.prose img{ border-radius:var(--r-md); margin:1.5rem 0; }

/* Hindi (Devanagari) objectives — mirrors the Urdu block */
.hindi { font-family: "Noto Sans Devanagari", "Nirmala UI", sans-serif; line-height: 1.85; }
.hindi-objectives { margin-top: clamp(1.6rem,3.5vw,2.4rem); padding-top: clamp(1.6rem,3.5vw,2.4rem); border-top: 1px solid var(--border); }
.hindi-objectives__head { text-align: center; margin-bottom: 1.8rem; }
.hindi-objectives__head h3 { font-family: "Noto Sans Devanagari", "Nirmala UI", sans-serif; font-size: clamp(1.5rem,3vw,2.1rem); font-weight: 700; color: var(--text); }
.hindi-objectives__head p { color: var(--text-soft); margin-top: .4rem; }
.hindi-objectives .obj p { color: var(--text); font-size: .99rem; }

/* ---------- Video News Bulletin ---------- */
.bulletin-wrap { display:grid; grid-template-columns:1.55fr 1fr; gap:clamp(1rem,2.5vw,1.8rem); align-items:start; }
@media (max-width:900px){ .bulletin-wrap{ grid-template-columns:1fr; } }
.bulletin-main { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--shadow-sm); transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s; }
.bulletin-main:hover { transform:translateY(-4px); box-shadow:var(--shadow-md);
  border-color:color-mix(in srgb, var(--accent) 40%, var(--border)); }
.bulletin-main__body { padding:1.1rem 1.3rem 1.3rem; }
.bulletin-main__body h3 { font-size:1.15rem; line-height:1.3; }
.bulletin-list { display:flex; flex-direction:column; gap:.65rem; }
.bulletin-item { display:flex; gap:.85rem; align-items:center; padding:.6rem; border-radius:var(--r-md);
  background:var(--surface); border:1px solid var(--border); transition:.22s var(--ease); }
.bulletin-item:hover { border-color:color-mix(in srgb, var(--accent) 50%, var(--border));
  transform:translateX(4px); box-shadow:var(--shadow-sm); }
.bulletin-item img { width:104px; aspect-ratio:16/9; object-fit:cover; border-radius:10px; flex:none; }
.bulletin-item b { display:block; font-size:.88rem; line-height:1.3; font-weight:650; }
.bulletin-item small { color:var(--text-soft); font-size:.78rem; }

/* ---------- Useful links ---------- */
.link-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:1rem; }
.link-card { display:block; padding:1.2rem 1.3rem; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-lg); box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.link-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md);
  border-color:color-mix(in srgb, var(--accent) 45%, var(--border)); }
.link-card__top { display:flex; align-items:baseline; gap:.55rem; flex-wrap:wrap; }
.link-card__top b { font-family:var(--font-head); font-weight:800; font-size:1.02rem; letter-spacing:-.01em; }
.link-card__top svg { width:14px; height:14px; color:var(--text-soft); align-self:center; margin-left:auto; flex:none; }
.link-card__full { display:block; font-size:.8rem; color:var(--text-soft); margin-top:.15rem; }
.link-card p { font-size:.88rem; color:var(--text-soft); margin-top:.6rem; line-height:1.55; }
.link-card__host { display:inline-block; margin-top:.7rem; font-size:.78rem; font-weight:700; color:var(--primary); }
