/* ============================================================
   SWARNKAR DIGITAL — VIBRANT GOLD THEME
   Signature: liquid-gold shimmer on header + button sweep
   ============================================================ */

:root {
  --bg:          #FFFAEE;
  --paper:       #FFFFFF;
  --ink:         #1C1005;
  --muted:       #7A5C2E;
  --line:        #F0D48A;
  --gold:        #E6A500;
  --gold-bright: #FFB700;
  --gold-glow:   #FFD700;
  --gold-dark:   #B07000;
  --gold-deep:   #7A4A00;
  --saffron:     #FF8C00;
  --maroon:      #B5251C;
  --teal:        #0A766E;
  --shadow:      0 18px 48px rgba(160, 80, 0, 0.14);
  --shadow-gold: 0 12px 32px rgba(255, 183, 0, 0.28);
  --radius:      10px;
  --grad-primary: linear-gradient(135deg, #FFD700 0%, #FFB700 45%, #FF7A00 100%);
  --grad-soft:    linear-gradient(135deg, #FFF8DC 0%, #FFE98A 100%);
}

* { box-sizing: border-box; }

.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, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(ellipse at 65% -5%, rgba(255, 200, 0, 0.12) 0%, transparent 55%),
    radial-gradient(ellipse at -5% 55%,  rgba(255, 140, 0, 0.07) 0%, transparent 45%),
    radial-gradient(ellipse at 100% 80%, rgba(255, 215, 0, 0.07) 0%, transparent 40%),
    linear-gradient(180deg, #FFF9EE 0%, #FFFDF9 55%, #FFF9EE 100%);
  font-family: "Nirmala UI", "Mangal", system-ui, sans-serif;
}

button, input, select, textarea { font: inherit; }
button { border: 0; cursor: pointer; color: inherit; }
img    { display: block; max-width: 100%; }
a      { color: inherit; }

/* ─── HEADER ─────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255, 252, 242, 0.97);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 183, 0, 0.25);
  box-shadow: 0 2px 24px rgba(255, 140, 0, 0.09);
}

/* Signature: animated liquid-gold bottom line */
.site-header::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    #FFB700 20%,
    #FFD700 50%,
    #FF8C00 80%,
    transparent 100%
  );
  animation: headerGlow 4s ease-in-out infinite alternate;
}

@keyframes headerGlow {
  from { opacity: 0.7; filter: brightness(0.9); }
  to   { opacity: 1;   filter: brightness(1.3); }
}

.nav-shell, .section, .footer-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.nav-shell {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.brand, .footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  text-align: left;
  text-decoration: none;
}

.logo-circle, .image-circle {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 183, 0, 0.70);
  box-shadow:
    0 4px 16px rgba(255, 140, 0, 0.28),
    0 0 0 4px rgba(255, 215, 0, 0.12);
  background: #2b251f;
}

.image-circle { width: 74px; height: 74px; }

.brand strong, .footer-brand strong {
  display: block;
  font-size: 1.2rem;
  line-height: 1.05;
  background: linear-gradient(135deg, #B07000, #FF8C00, #FFB700);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.brand small, .footer-brand small {
  color: var(--muted);
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 6px;
}

.nav-links > button, .nav-links > a, .dropdown-trigger {
  padding: 10px 14px;
  background: transparent;
  border-radius: var(--radius);
  font-weight: 800;
  transition: background 0.2s, color 0.2s;
  text-decoration: none;
  color: inherit;
  display: inline-block;
}

.nav-links > button:hover, .nav-links > a:hover, .dropdown-trigger:hover {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.18), rgba(255, 140, 0, 0.12));
  color: var(--gold-dark);
}

.nav-cta {
  background: var(--grad-primary) !important;
  color: #1C1005 !important;
}

.nav-dropdown { position: relative; }

.dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 270px;
  display: none;
  gap: 4px;
  padding: 8px;
  background: var(--paper);
  border: 1px solid rgba(255, 183, 0, 0.30);
  border-radius: var(--radius);
  box-shadow:
    0 20px 60px rgba(160, 80, 0, 0.16),
    0 0 0 1px rgba(255, 215, 0, 0.10);
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu { display: grid; }

.dropdown-menu button {
  width: 100%;
  padding: 10px;
  background: transparent;
  border-radius: 6px;
  text-align: left;
}

.dropdown-menu button:hover {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.15), rgba(255, 140, 0, 0.10));
}

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #FFE48A, #FFB700);
  font-size: 1.35rem;
  color: #5A3500;
}

/* ─── SECTIONS ────────────────────────────────────────────── */
.section {
  padding-top: 64px;
  padding-bottom: 64px;
}

/* ─── ENTRANCE ANIMATIONS ─────────────────────────────────── */
/* Soft fade + rise applied whenever panels/cards enter the DOM —
   this fires on every page render (the app re-renders #app on each
   route change), so navigating the SPA always feels animated in. */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}

.site-header {
  animation: fadeInUp 0.6s cubic-bezier(.2,.7,.2,1) both;
}

main > .section,
.award-hero,
.sesa-hero,
.founder-card,
.footer {
  animation: fadeInUp 0.65s cubic-bezier(.2,.7,.2,1) both;
}

/* Cascade top-level sections/panels down the page instead of
   popping in all at once. (main > .section covers both the SPA's
   #app container and the plain <main> on SESA.html / submission page.) */
main > .section:nth-of-type(2) { animation-delay: .08s; }
main > .section:nth-of-type(3) { animation-delay: .16s; }
main > .section:nth-of-type(4) { animation-delay: .24s; }
main > .section:nth-of-type(5) { animation-delay: .32s; }
main > .section:nth-of-type(6) { animation-delay: .4s; }
main > .section:nth-of-type(n+7) { animation-delay: .46s; }

/* Cards fade in slightly quicker than their parent section, with a
   gentle stagger so grids (types/profiles/news) don't feel flat. */
.card {
  animation: fadeInUp 0.5s ease-out both;
}

.grid > .card:nth-child(1),
.admin-list > .card:nth-child(1) { animation-delay: .04s; }
.grid > .card:nth-child(2),
.admin-list > .card:nth-child(2) { animation-delay: .09s; }
.grid > .card:nth-child(3),
.admin-list > .card:nth-child(3) { animation-delay: .14s; }
.grid > .card:nth-child(4),
.admin-list > .card:nth-child(4) { animation-delay: .19s; }
.grid > .card:nth-child(5),
.admin-list > .card:nth-child(5) { animation-delay: .24s; }
.grid > .card:nth-child(6),
.admin-list > .card:nth-child(6) { animation-delay: .29s; }
.grid > .card:nth-child(7),
.admin-list > .card:nth-child(7) { animation-delay: .34s; }
.grid > .card:nth-child(8),
.admin-list > .card:nth-child(8) { animation-delay: .39s; }
.grid > .card:nth-child(n+9),
.admin-list > .card:nth-child(n+9) { animation-delay: .42s; }

/* ─── HERO ────────────────────────────────────────────────── */
.hero {
  min-height: calc(100vh - 82px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.9fr);
  align-items: center;
  gap: 42px;
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 183, 0, 0.20), transparent 34rem),
    linear-gradient(135deg, #FFF9E6 0%, #FFF4D0 100%);
}

.hero-showcase {
  position: relative;
  overflow: hidden;
  max-width: none;
  min-height: calc(100vh - 82px);
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  justify-items: center;
  gap: 36px;
  padding: 68px 20px 74px;
  background:
    radial-gradient(circle at 15% 55%, rgba(255, 200, 0, 0.14), transparent 34rem),
    radial-gradient(circle at 88% 15%, rgba(255, 130, 0, 0.11), transparent 28rem),
    radial-gradient(circle at 50% 100%, rgba(255, 215, 0, 0.08), transparent 38rem),
    linear-gradient(175deg, #FFF9EC 0%, #FFF4DC 100%);
}

/* Decorative gold ring in hero (background texture) — centred & contained */
.hero-showcase::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 700px;
  height: 700px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(255, 183, 0, 0.08);
  pointer-events: none;
  z-index: 0;
}

.hero-showcase > * { position: relative; z-index: 1; }

.hero-showcase h1 {
  max-width: 980px;
  text-align: center;
  font-size: clamp(1.63rem, 4vw, 3.6rem);
}

.hero h1, .page-title {
  margin: 0;
  font-size: clamp(2.5rem, 5.5vw, 5.5rem);
  line-height: 1.02;
  background: linear-gradient(135deg, #7A4A00 0%, #D47000 40%, #FFB700 70%, #E06000 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero p, .lead {
  color: var(--muted);
  font-size: 1.13rem;
  line-height: 1.8;
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--saffron);
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

/* ─── PILLS ───────────────────────────────────────────────── */
.hero-pills {
  display: flex;
  justify-content: center;
  gap: 96px;
  width: min(560px, 100%);
}

.pill {
  min-width: 150px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  border-radius: 999px;
  font-weight: 900;
  transition: transform 0.22s, box-shadow 0.22s;
}

.pill:hover { transform: translateY(-4px); }

.pill-primary {
  color: #1C1005;
  background: linear-gradient(135deg, #FFD700 0%, #FFB700 45%, #FF7000 100%);
  box-shadow:
    0 14px 40px rgba(255, 140, 0, 0.45),
    0 0 0 2px rgba(255, 215, 0, 0.35);
}

.pill-primary:hover {
  box-shadow:
    0 20px 50px rgba(255, 140, 0, 0.55),
    0 0 0 2px rgba(255, 215, 0, 0.5);
}

.pill-light {
  color: #5A3500;
  background: linear-gradient(135deg, #FFF8DC, #FFE98A);
  border: 1.5px solid rgba(255, 183, 0, 0.5);
  box-shadow: 0 8px 24px rgba(180, 100, 0, 0.15);
}

/* ─── BUTTONS ─────────────────────────────────────────────── */
.btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 20px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #FFF3C8, #FFE090);
  font-weight: 900;
  text-decoration: none;
  color: #5A3500;
  transition: transform 0.18s, box-shadow 0.18s, filter 0.18s;
}

.btn:hover { transform: translateY(-2px); filter: brightness(1.06); }

/* Signature shimmer sweep on primary button */
.btn-primary {
  color: #1C1005;
  background: var(--grad-primary);
  box-shadow: 0 8px 28px rgba(255, 140, 0, 0.38);
  position: relative;
  overflow: hidden;
}

.btn-primary::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 30%,
    rgba(255, 255, 255, 0.40) 50%,
    transparent 70%
  );
  transform: translateX(-100%);
  transition: transform 0.55s ease;
}

.btn-primary:hover { box-shadow: 0 14px 36px rgba(255, 140, 0, 0.52); }
.btn-primary:hover::after { transform: translateX(150%); }

.btn-dark {
  color: #fff;
  background: linear-gradient(135deg, #3D2000, #6B3800);
}

.btn-dark:hover { background: linear-gradient(135deg, #5A3200, #8B5000); }

.btn-ghost {
  background: transparent;
  border: 1.5px solid var(--line);
  color: var(--gold-dark);
}

.btn-ghost:hover {
  background: rgba(255, 215, 0, 0.10);
  border-color: var(--gold-bright);
}

.danger {
  background: linear-gradient(135deg, #FAE1E6, #F8C5CE);
  color: #7A1020;
}

/* ─── HERO PANEL (side card on /about, etc.) ──────────────── */
.hero-panel {
  overflow: hidden;
  padding: 22px;
  border-radius: 18px;
  border: 2px solid rgba(255, 215, 0, 0.50);
  background:
    linear-gradient(180deg, rgba(44, 22, 4, 0.90), rgba(110, 62, 10, 0.86)),
    url("assets/swarnkar-digital-logo.png") center/72% no-repeat;
  box-shadow:
    0 24px 64px rgba(180, 100, 0, 0.25),
    0 0 0 1px rgba(255, 215, 0, 0.20);
}

/* ─── CAROUSEL ────────────────────────────────────────────── */
.hero-banner {
  width: min(1100px, 100%);
  border-radius: 18px;
  position: relative;
  z-index: 1;
  box-shadow:
    0 24px 64px rgba(180, 100, 0, 0.25),
    0 0 0 1px rgba(255, 215, 0, 0.20);
}

.hero-carousel {
  position: relative;
  width: min(860px, 100%);
  height: 430px;
  overflow: visible;
}

.ui-slider-card {
  position: absolute;
  top: 48px;
  width: 260px;
  min-height: 305px;
  padding: 18px;
  color: #2f2d2a;
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.97);
  border: 1.5px solid rgba(255, 183, 0, 0.28);
  box-shadow:
    0 24px 52px rgba(160, 80, 0, 0.12),
    0 0 0 1px rgba(255, 215, 0, 0.08);
  animation-duration: 9s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.ui-slider-card h3 { margin: 14px 0 8px; font-size: 1.12rem; color: #3D2000; }
.ui-slider-card p  { color: #7A5C2E; line-height: 1.55; font-size: 0.9rem; }

.ui-slider-card.left {
  left: 16px;
  transform: scale(0.86);
  opacity: 0.92;
  animation-name: cardLeftCycle;
}

.ui-slider-card.center {
  left: 50%;
  top: 0;
  width: 305px;
  min-height: 365px;
  transform: translateX(-50%) scale(1);
  z-index: 3;
  animation-name: cardCenterCycle;
  border: 2px solid rgba(255, 183, 0, 0.55);
  box-shadow:
    0 32px 64px rgba(160, 80, 0, 0.20),
    0 0 30px rgba(255, 200, 0, 0.18);
}

.ui-slider-card.right {
  right: 16px;
  transform: scale(0.86);
  opacity: 0.92;
  animation-name: cardRightCycle;
}

.ui-slider-card.incoming {
  left: -280px;
  transform: scale(0.82);
  opacity: 0;
  animation-name: cardIncomingCycle;
}

@keyframes cardLeftCycle {
  0%, 24%  { left: 16px; top: 48px; width: 260px; min-height: 305px; transform: scale(0.86); opacity: 0.92; z-index: 1; }
  34%, 58% { left: 50%; top: 0; width: 305px; min-height: 365px; transform: translateX(-50%) scale(1); opacity: 1; z-index: 3; }
  68%,100% { right: 16px; left: auto; top: 48px; width: 260px; min-height: 305px; transform: scale(0.86); opacity: 0.92; z-index: 2; }
}

@keyframes cardCenterCycle {
  0%, 24%  { left: 50%; top: 0; width: 305px; min-height: 365px; transform: translateX(-50%) scale(1); opacity: 1; z-index: 3; }
  34%, 58% { right: 16px; left: auto; top: 48px; width: 260px; min-height: 305px; transform: scale(0.86); opacity: 0.92; z-index: 2; }
  68%,100% { right: -300px; left: auto; top: 48px; width: 260px; min-height: 305px; transform: scale(0.82); opacity: 0; z-index: 0; }
}

@keyframes cardRightCycle {
  0%, 24%  { right: 16px; top: 48px; width: 260px; min-height: 305px; transform: scale(0.86); opacity: 0.92; z-index: 2; }
  34%, 58% { right: -300px; top: 48px; width: 260px; min-height: 305px; transform: scale(0.82); opacity: 0; z-index: 0; }
  68%,100% { left: 16px; right: auto; top: 48px; width: 260px; min-height: 305px; transform: scale(0.86); opacity: 0.92; z-index: 1; }
}

@keyframes cardIncomingCycle {
  0%, 24%  { left: -300px; top: 48px; width: 260px; min-height: 305px; transform: scale(0.82); opacity: 0; z-index: 0; }
  34%, 58% { left: 16px; top: 48px; width: 260px; min-height: 305px; transform: scale(0.86); opacity: 0.92; z-index: 1; }
  68%,100% { left: 50%; top: 0; width: 305px; min-height: 365px; transform: translateX(-50%) scale(1); opacity: 1; z-index: 3; }
}

.hero-logo {
  width: 132px;
  height: 132px;
  margin: 0 auto 18px;
}

/* ─── SECTION HEAD ────────────────────────────────────────── */
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  margin-bottom: 26px;
}

.section-head h2 {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 3rem);
  background: linear-gradient(135deg, #7A4A00, #D47000, #FFB700);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ─── GRID ────────────────────────────────────────────────── */
.grid   { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ─── CARDS ───────────────────────────────────────────────── */
.card {
  background: #FFFFFF;
  border: 1px solid rgba(255, 183, 0, 0.22);
  border-radius: var(--radius);
  box-shadow: 0 8px 28px rgba(160, 80, 0, 0.09);
  transition: transform 0.22s, box-shadow 0.22s, border-color 0.22s;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 18px 48px rgba(160, 80, 0, 0.16),
    0 0 0 1.5px rgba(255, 183, 0, 0.35);
  border-color: rgba(255, 183, 0, 0.45);
}

.content-card, .type-card, .profile-card, .news-card, .admin-card { padding: 20px; }

.type-card {
  display: grid;
  gap: 14px;
  min-height: 230px;
}

.profile-card {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 16px;
}

.muted { color: var(--muted); }

/* ─── TAGS ────────────────────────────────────────────────── */
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

.tag {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 4px 11px;
  border-radius: 999px;
  background: linear-gradient(135deg, #FFE080, #FFB700);
  color: #5A3200;
  font-size: 0.82rem;
  font-weight: 900;
  box-shadow: 0 2px 8px rgba(255, 140, 0, 0.20);
}

/* ─── AD SLOTS ────────────────────────────────────────────── */
.ad-slot {
  overflow: hidden;
  display: grid;
  place-items: center;
  min-height: var(--ad-height, 180px);
  padding: 20px;
  color: #1C1005;
  background: linear-gradient(
    135deg,
    #FFB700 0%,
    #FF8000 30%,
    #FFD700 60%,
    #FF9500 80%,
    #FFB700 100%
  );
  background-size: 200% 200%;
  animation: adShimmer 6s ease infinite;
  border-radius: var(--radius);
  box-shadow: 0 12px 44px rgba(255, 140, 0, 0.32);
}

@keyframes adShimmer {
  0%   { background-position: 0%   50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0%   50%; }
}

.ad-slot img {
  width: 100%;
  height: 100%;
  min-height: var(--ad-height, 180px);
  object-fit: cover;
  border-radius: var(--radius);
}

.ad-note {
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 800;
}

.ad-pattern {
  display: grid;
  grid-template-columns: 1.35fr 0.8fr 0.8fr;
  gap: 18px;
  align-items: stretch;
}

/* ─── FORM FIELDS ─────────────────────────────────────────── */
.checkline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  font-weight: 800;
}

.checkline input { width: 18px; height: 18px; accent-color: var(--gold-bright); }

/* ─── SLIDE TOGGLE SWITCH ─────────────────────────────────── */
.switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
}
.switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.switch-track {
  position: relative;
  width: 38px;
  height: 20px;
  border-radius: 999px;
  background: #d8d0c4;
  transition: background .2s ease;
  flex-shrink: 0;
}
.switch-track::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.25);
  transition: transform .2s ease;
}
.switch input:checked + .switch-track { background: var(--gold-bright); }
.switch input:checked + .switch-track::after { transform: translateX(18px); }
.switch-label { font-size: 13px; font-weight: 700; color: var(--ink); }

.filters {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 12px;
  margin-bottom: 24px;
}

.field { display: grid; gap: 7px; }

.field label { color: var(--muted); font-size: 0.9rem; font-weight: 900; }

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border-radius: var(--radius);
  border: 1.5px solid rgba(255, 183, 0, 0.35);
  background: #FFFDF8;
  outline: 0;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.field textarea { min-height: 110px; resize: vertical; }

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--gold-bright);
  box-shadow: 0 0 0 3px rgba(255, 183, 0, 0.22);
}

/* ─── PROFILE DETAIL ──────────────────────────────────────── */
.detail-hero { display: grid; grid-template-columns: 150px 1fr; gap: 24px; align-items: center; }
.detail-hero .image-circle { width: 150px; height: 150px; }

/* ─── TABLE LIST ──────────────────────────────────────────── */
.table-list { display: grid; gap: 10px; }

.table-list div {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 12px;
  padding: 12px;
  background: linear-gradient(135deg, #FFFBF0, #FFF5D6);
  border: 1px solid rgba(255, 183, 0, 0.25);
  border-radius: var(--radius);
}

.table-list dt, .table-list dd { margin: 0; }
.table-list dt { color: var(--muted); font-weight: 900; }

/* ─── NEWS ────────────────────────────────────────────────── */
.news-thumb {
  min-height: 185px;
  display: grid;
  align-items: end;
  padding: 14px;
  color: #fff;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #A04800, #FFB700);
  background-size: cover;
  background-position: center;
}

.news-content { font-size: 1.08rem; line-height: 1.85; }

.notice {
  padding: 14px 16px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #FFF8DC, #FFE98A);
  border: 1px solid rgba(255, 183, 0, 0.40);
  color: #5A3500;
  font-weight: 800;
}

/* ─── LOGIN PAGE ──────────────────────────────────────────── */
.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    linear-gradient(135deg, rgba(28, 14, 2, 0.94), rgba(100, 55, 8, 0.88)),
    url("assets/swarnkar-digital-logo.png") center/560px no-repeat;
}

.login-card { width: min(440px, 100%); padding: 28px; }

/* ─── ADMIN ───────────────────────────────────────────────── */
.admin-layout {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  background: #FFF6E0;
}

.admin-sidebar {
  padding: 22px;
  background: linear-gradient(180deg, #2A1800 0%, #4A2800 100%);
  color: #FFF7DF;
}

.admin-sidebar .brand small { color: #EAD8B6; }

.admin-sidebar .brand strong {
  background: linear-gradient(135deg, #FFD700, #FFB700);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.admin-tabs { display: grid; gap: 8px; margin-top: 28px; }

.admin-tabs button {
  padding: 12px;
  text-align: left;
  border-radius: var(--radius);
  background: transparent;
  color: #F6EAD1;
  font-weight: 900;
  transition: background 0.2s;
}

.admin-tabs button.active {
  background: linear-gradient(135deg, rgba(255, 183, 0, 0.28), rgba(255, 120, 0, 0.20));
  color: #FFD700;
}

.admin-tabs button:hover { background: rgba(255, 255, 255, 0.12); }

.admin-main   { padding: 28px; }

.admin-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}

.admin-list { display: grid; gap: 12px; }

.admin-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  flex-wrap: wrap;
}

.admin-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}

.position-input-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.position-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--gold-dark);
}

.position-input {
  width: 52px;
  height: 34px;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  border: 1.5px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  color: var(--ink);
}

.position-input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px var(--gold-glow, rgba(255,183,0,.25));
}

.position-go-btn {
  height: 34px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
}

/* ─── FOOTER (light amber — not dark) ────────────────────── */
.footer {
  background: linear-gradient(175deg, #FFF3C4 0%, #FFE480 55%, #FFD060 100%);
  color: #3D2200;
  border-top: 2px solid rgba(255, 183, 0, 0.50);
}

.footer-inner {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr 1fr;
  gap: 28px;
  padding-top: 44px;
  padding-bottom: 44px;
}

.footer-brand strong {
  background: linear-gradient(135deg, #7A4A00, #D47000);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.footer h3    { color: #5A3200; margin: 0 0 12px; }
.footer p     { color: #5A3200; }
.footer button, .footer-inner a {
  display: block;
  margin: 8px 0;
  background: transparent;
  color: #6B4000;
  text-decoration: none;
  transition: color 0.2s;
}
.footer button:hover, .footer-inner a:hover { color: #B07000; }

/* ─── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 900px) {
  .menu-toggle { display: grid; place-items: center; }
  .nav-shell   { flex-wrap: wrap; }
  .nav-links   {
    width: 100%;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding-bottom: 16px;
  }
  .nav-links.open { display: flex; }
  .dropdown-menu  { position: static; display: grid; width: 100%; box-shadow: none; margin-top: 6px; }
  .nav-links > a.nav-cta {
    margin-top: 10px;
    padding: 14px 14px;
    border-radius: 999px;
    text-align: center;
    font-size: 1.02rem;
    box-shadow: 0 8px 20px rgba(255, 140, 0, 0.28);
  }
  .hero, .grid-2, .grid-3, .grid-4,
  .footer-inner, .admin-layout, .ad-pattern { grid-template-columns: 1fr; }
  .filters       { grid-template-columns: 1fr; }
  .hero-carousel { width: min(560px, 100%); height: 360px; }
  .ui-slider-card { width: 190px; min-height: 255px; }
  .ui-slider-card.center { width: 230px; min-height: 305px; }
  .hero-pills    { gap: 24px; }
}

@media (max-width: 480px) {
  .hero-pills { gap: 12px; flex-wrap: wrap; }
  .pill       { min-width: 130px; padding: 0 16px; }
}

@media (max-width: 640px) {
  .hero h1, .page-title { font-size: 2.45rem; }
  .section               { padding-top: 42px; padding-bottom: 42px; }
  .profile-card, .detail-hero,
  .table-list div { grid-template-columns: 1fr; }
  .admin-row { flex-direction: column; align-items: stretch; }
  .admin-actions { margin-left: 0; }
  .admin-main { padding: 18px; }
}

@media (max-width: 480px) {
  .nav-shell, .section, .footer-inner { padding-left: 14px; padding-right: 14px; }
  .hero-showcase { padding: 28px 14px 40px; min-height: 0; gap: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::after, *::before { animation: none !important; transition: none !important; }
}

/* ─── FOUNDER CARD (NEW) ────────────────────────────────────── */
.founder-section {
  background: linear-gradient(135deg, #FFF8DC 0%, #FFFAEE 100%);
  border-radius: 16px;
  padding: 48px 32px;
  margin: 32px auto;
  border: 2px solid var(--line);
  box-shadow: 0 8px 24px rgba(230, 165, 0, 0.12);
  display: flex;
  justify-content: center;
}

.founder-card {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.founder-img-wrap {
  position: relative;
  flex-shrink: 0;
}

.founder-img {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--gold-bright);
  box-shadow: 0 0 0 4px var(--paper), 0 12px 24px rgba(230, 165, 0, 0.18);
}

.founder-info {
  flex: 1;
  min-width: 0;
}

.founder-info .eyebrow {
  color: var(--gold);
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin: 0 0 8px;
}

.founder-name {
  font-size: 2rem;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 4px;
  line-height: 1.2;
}

.founder-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--gold-dark);
  margin: 0 0 12px;
}

.founder-bio {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ink);
  margin: 12px 0;
}

.founder-info .tag-row {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

@media (max-width: 768px) {
  .founder-card {
    flex-direction: column;
    gap: 24px;
    align-items: center;
    text-align: center;
  }

  .founder-img {
    width: 120px;
    height: 120px;
  }

  .founder-name {
    font-size: 1.6rem;
  }

  .founder-section {
    padding: 32px 20px;
  }

  .founder-info .tag-row {
    justify-content: center;
  }
}

/* ─── ZOOMABLE PROFILE / FOUNDER IMAGES ───────────────────────── */
.zoomable-img {
  cursor: zoom-in;
  transition: filter 0.15s ease;
}

.zoomable-img:hover {
  filter: brightness(0.92);
}

/* ─── LIGHTBOX ─────────────────────────────────────────────────── */
.lightbox-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 6, 2, 0.88);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 24px;
  animation: lightboxFade 0.15s ease;
}

@keyframes lightboxFade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.lightbox-overlay img {
  max-width: min(92vw, 720px);
  max-height: 88vh;
  width: auto;
  height: auto;
  border-radius: 12px;
  object-fit: contain;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  cursor: zoom-out;
}

.lightbox-close {
  position: absolute;
  top: 18px;
  right: 22px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox-close:hover {
  background: rgba(255, 255, 255, 0.22);
}

@media (prefers-reduced-motion: reduce) {
  .lightbox-overlay { animation: none; }
}


/* ─── DEITY HERO ─────────────────────────────────────────────── */
.deity-hero {
  background: #1e0500;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  overflow: hidden;
}

.deity-banner-wrap {
  width: 100%;
  position: relative;
  line-height: 0;
}

.deity-banner-img {
  width: 100%;
  display: block;
  /* Crop 200px from bottom by clipping the overflow */
  object-fit: cover;
  object-position: center top;
  /* Natural height minus 200px bottom crop */
  height: calc((100vw / 1920) * (1080 - 320));
}

/* Names row — hidden on desktop (names removed) */
.deity-names-row {
  display: none;
}

/* Gold headline */
.deity-title {
  color: #FFD700;
  font-size: clamp(1.4rem, 3.5vw, 2.8rem);
  font-weight: 900;
  text-align: center;
  margin: 20px 20px 22px;
  line-height: 1.25;
  text-shadow: 0 2px 20px rgba(255, 180, 0, 0.4);
}

/* CTA pills */
.deity-pills {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding: 0 20px 36px;
}

.deity-pill {
  min-width: 148px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 0.95rem;
  cursor: pointer;
  border: none;
  transition: transform 0.2s, box-shadow 0.2s;
  font-family: inherit;
}

.deity-pill:hover { transform: translateY(-3px); }

.deity-pill--primary {
  background: linear-gradient(135deg, #FFD700 0%, #FFB700 50%, #E07000 100%);
  color: #1C1005;
  box-shadow: 0 6px 24px rgba(255, 140, 0, 0.45);
}

.deity-pill--light {
  background: rgba(255, 210, 80, 0.10);
  color: #E8C870;
  border: 1.5px solid rgba(255, 200, 80, 0.35);
}

/* Show/hide desktop vs mobile blocks */
.deity-mobile-only { display: none; }
.deity-desktop-only { display: block; width: 100%; }

/* Mobile portrait image */
.deity-mobile-img {
  width: 100%;
  display: block;
}

/* ── Mobile: swap to portrait image ── */
@media (max-width: 700px) {
  .deity-desktop-only { display: none; }
  .deity-mobile-only  { display: block; width: 100%; }

  .deity-pills {
    gap: 14px;
    padding: 0 16px 28px;
  }

  .deity-pill {
    min-width: 130px;
    height: 46px;
    font-size: 0.9rem;
  }

  /* Pills blend into the dark background */
  .deity-pill--primary {
    background: linear-gradient(135deg, rgba(255,200,50,0.9), rgba(200,110,0,0.95));
    box-shadow: 0 4px 16px rgba(200, 110, 0, 0.5);
    color: #1C1005;
  }

  .deity-pill--light {
    background: rgba(255, 200, 80, 0.07);
    border-color: rgba(255, 200, 80, 0.22);
    color: #E8C870;
  }
}

/* ── AI Chat Widget ─────────────────────────────────────── */

/* ============================================================
   AWARD HERO — Swarnkar Excellence Student Award 2026
   Fully scoped under .award-hero (own --aw- prefixed variables,
   own reset, own keyframe) so it can't affect any other component.
   Palette matches the site's own gold/saffron/maroon theme colors.
   ============================================================ */
:root{
  --aw-ink:#1C1005;          /* dark text — matches the site's own --ink */
  --aw-gold:#E6A500;         /* matches the site's own --gold */
  --aw-gold-bright:#FFB700;  /* matches the site's own --gold-bright */
  --aw-gold-glow:#FFD700;    /* matches the site's own --gold-glow */
  --aw-gold-dark:#B07000;    /* matches the site's own --gold-dark */
  --aw-gold-pale:#FFF3D0;
  --aw-saffron:#FF8C00;      /* matches the site's own --saffron */
  --aw-maroon:#B5251C;       /* matches the site's own --maroon */
  --aw-maroon-deep:#7A1710;
  --aw-navy:#16305A;         /* sampled from the medallion seal's rim */
  --aw-navy-deep:#0A1B33;    /* sampled from the medallion seal's rim */
  --aw-ivory:#f8f1e0;
  --aw-ivory-dim:#e7dcc0;
}

/* Scoped reset — only affects elements inside .award-hero, never the
   rest of the site (the site already has its own global box-sizing
   reset without zeroing margin/padding on every element). */
.award-hero, .award-hero *, .sesa-hero, .sesa-hero *{box-sizing:border-box; margin:0; padding:0;}

.award-hero{
  position:relative;
  min-height:100vh;
  width:100%;
  overflow:hidden;
  font-family:'Hind', sans-serif;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(ellipse 85% 65% at 50% 12%, var(--aw-gold-glow) 0%, transparent 55%),
    linear-gradient(160deg, var(--aw-gold-bright) 0%, var(--aw-saffron) 50%, var(--aw-gold-dark) 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:0 24px;
}

/* ---- radiating engraved rays, echoes the medallion ---- */
.rays{
  position:absolute;
  top:50%; left:50%;
  width:1800px; height:1800px;
  transform:translate(-50%,-52%);
  background:repeating-conic-gradient(from 0deg,
    rgba(122,23,16,0.06) 0deg 4deg,
    transparent 4deg 12deg);
  opacity:.55;
  pointer-events:none;
  animation: awardRaysRotate 220s linear infinite;
}
@keyframes awardRaysRotate{ to{ transform:translate(-50%,-52%) rotate(360deg);} }

.hairline-ring{
  position:absolute;
  border:1px solid rgba(122,23,16,0.15);
  border-radius:50%;
  pointer-events:none;
}
.ring1{ width:900px; height:900px; top:8%; left:50%; transform:translateX(-50%); }
.ring2{ width:1300px; height:1300px; top:-6%; left:50%; transform:translateX(-50%); }

/* ---- top bar ---- */
.topbar{
  position:relative;
  z-index:5;
  width:100%;
  max-width:1180px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:28px 4px 0;
}
.brandmark{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--aw-ink);
  letter-spacing:.14em;
  font-family:'Cinzel',serif;
  font-size:12.5px;
  text-transform:uppercase;
  opacity:.85;
}
.brandmark::before{
  content:"";
  width:7px; height:7px;
  background:var(--aw-maroon);
  border-radius:50%;
  box-shadow:0 0 8px 1px rgba(122,27,46,.5);
}
.location-tag{
  color:var(--aw-ink);
  font-family:'Cinzel',serif;
  font-size:11.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.75;
}

/* ---- main content ---- */
.content{
  position:relative;
  z-index:5;
  max-width:1080px;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:46px 0 0;
}

.medallion-wrap{
  position:relative;
  width:190px; height:190px;
  margin-bottom:26px;
}
.medallion-wrap img{
  width:100%; height:100%;
  filter:drop-shadow(0 10px 22px rgba(28,16,5,.35));
}
.medallion-glow{
  position:absolute;
  inset:-30px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.55) 0%, transparent 68%);
  z-index:-1;
}

.award-eyebrow{
  font-family:'Hind', sans-serif;
  font-weight:600;
  font-size:14.5px;
  letter-spacing:.04em;
  color:var(--aw-maroon);
  margin-bottom:18px;
}
.award-eyebrow span{ color:var(--aw-ink); opacity:.65; font-weight:500; }

h1.headline{
  font-family:'Noto Serif Devanagari', serif;
  font-weight:800;
  color:var(--aw-ink);
  font-size:clamp(15px, 6vw, 62px);
  line-height:1.28;
  letter-spacing:.005em;
  max-width:100%;
  white-space:nowrap;
  text-shadow:0 2px 18px rgba(169,118,31,.25);
}
h1.headline .gold-text{
  background:linear-gradient(180deg, var(--aw-ink) 0%, var(--aw-maroon-deep) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
h1.headline .year{
  font-family:'Cinzel', serif;
  font-weight:700;
}

.subline{
  margin-top:20px;
  max-width:660px;
  color:rgba(28,16,5,.78);
  font-family:'Hind', sans-serif;
  font-weight:400;
  font-size:17.5px;
  line-height:1.85;
}

/* ---- ribbon eligibility strip, echoes the seal's banner ---- */
.ribbon{
  margin-top:34px;
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:0;
  background:linear-gradient(180deg, var(--aw-maroon) 0%, var(--aw-maroon-deep) 100%);
  border-top:1px solid rgba(240,203,107,.55);
  border-bottom:1px solid rgba(0,0,0,.3);
  box-shadow:0 10px 30px -8px rgba(0,0,0,.55);
}
.ribbon::before, .ribbon::after{
  content:"";
  position:absolute;
  bottom:-13px;
  width:0; height:0;
  border-left:16px solid transparent;
  border-right:16px solid transparent;
  border-top:13px solid var(--aw-maroon-deep);
}
.ribbon::before{ left:0; }
.ribbon::after{ right:0; }
.ribbon-item{
  padding:14px 30px;
  font-family:'Cinzel', serif;
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--aw-gold-pale);
  white-space:nowrap;
}
.ribbon-item strong{
  display:block;
  font-family:'Noto Serif Devanagari', serif;
  font-size:16px;
  letter-spacing:0;
  text-transform:none;
  color:#fff;
  margin-top:3px;
  font-weight:600;
}
.ribbon-div{
  width:1px;
  align-self:stretch;
  background:rgba(240,203,107,.3);
  margin:12px 0;
}

/* ---- CTA cluster ---- */
.cta-row{
  margin-top:46px;
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  justify-content:center;
}
.btn-apply{
  position:relative;
  display:inline-block;
  font-family:'Cinzel', serif;
  font-weight:700;
  font-size:14.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--aw-ink);
  background:linear-gradient(135deg, var(--aw-gold-glow) 0%, var(--aw-gold-bright) 45%, var(--aw-saffron) 100%);
  border:none;
  padding:17px 46px;
  cursor:pointer;
  box-shadow:0 12px 28px -8px rgba(255,140,0,.45), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.btn-apply:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px -8px rgba(255,140,0,.6), inset 0 1px 0 rgba(255,255,255,.4);
}
.more-details-link{
  display:block;
  margin-top:16px;
  font-family:'Hind', sans-serif;
  font-size:14.5px;
  color:var(--aw-ink);
  text-decoration:none;
  text-align:center;
  border-bottom:1px solid rgba(28,16,5,.35);
  padding-bottom:2px;
  transition:color .2s ease, border-color .2s ease;
}
.more-details-link:hover{ color:var(--aw-maroon); border-color:var(--aw-maroon); }

/* ---- footer strip ---- */
.foot-strip{
  position:relative;
  z-index:5;
  margin-top:52px;
  margin-bottom:0;
  width:100%;
  max-width:1180px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px 4px 30px;
  border-top:1px solid rgba(28,16,5,.16);
}
.foot-item{
  font-family:'Hind', sans-serif;
  font-size:13px;
  color:var(--aw-ink);
  opacity:.75;
  letter-spacing:.02em;
}
.foot-item b{ color:var(--aw-maroon); font-weight:600; opacity:1; }

.stars{
  display:flex;
  gap:10px;
  color:var(--aw-maroon);
  opacity:.55;
  font-size:13px;
}

@media (max-width:640px){
  .award-hero, .sesa-hero{
    min-height:auto;
    padding:0 20px;
  }
  .content{ padding-top:36px; }
  .topbar{ flex-direction:column; gap:8px; padding-top:20px;}
  .medallion-wrap{ width:150px; height:150px; }
  .ribbon{ flex-direction:column; }
  .ribbon-div{ width:80%; height:1px; align-self:center; margin:0; }
  .ribbon::before, .ribbon::after{ display:none; }
  .foot-strip{ flex-direction:column; gap:10px; text-align:center; }
  h1.headline{
    font-size:clamp(22px,7.2vw,34px);
    white-space:normal;
    text-wrap:balance;
    line-height:1.35;
  }
}

/* ============================================================
   SESA HERO — used only on the standalone /SESA page (SESA.html).
   Deliberately distinct from .award-hero on the homepage: navy-
   forward instead of gold-forward, echoing the navy already used
   for the numbered step circles and the closing CTA band further
   down this same page, so the hero and the page read as one piece.
   Reuses all the shared inner classes (.content, h1.headline,
   .ribbon, .btn-apply, .foot-strip, etc.) and only overrides what
   needs to change for the dark field.
   ============================================================ */
.sesa-hero{
  position:relative;
  min-height:100vh;
  width:100%;
  overflow:hidden;
  font-family:'Hind', sans-serif;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(ellipse 80% 55% at 50% 0%, rgba(181,37,28,.28) 0%, transparent 60%),
    radial-gradient(ellipse 70% 50% at 85% 100%, rgba(230,165,0,.14) 0%, transparent 60%),
    linear-gradient(165deg, var(--aw-navy) 0%, var(--aw-navy-deep) 55%, #060f1e 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:0 24px;
}

.sesa-hero .rays{
  background:repeating-conic-gradient(from 0deg,
    rgba(255,183,0,0.05) 0deg 4deg,
    transparent 4deg 12deg);
}
.sesa-hero .hairline-ring{ border-color:rgba(255,183,0,0.12); }

.sesa-hero .medallion-wrap img{
  filter:drop-shadow(0 10px 26px rgba(0,0,0,.55));
}
.sesa-hero .medallion-glow{
  background:radial-gradient(circle, rgba(255,183,0,.35) 0%, transparent 68%);
}

.sesa-hero .award-eyebrow{ color:var(--aw-gold-bright); }
.sesa-hero .award-eyebrow span{ color:var(--aw-ivory-dim); opacity:.75; }

.sesa-hero h1.headline{
  color:#fff;
  text-shadow:0 2px 22px rgba(0,0,0,.4);
}
.sesa-hero h1.headline .gold-text{
  background:linear-gradient(180deg, var(--aw-gold-glow) 10%, var(--aw-gold-bright) 90%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.sesa-hero .subline{ color:var(--aw-ivory-dim); }

.sesa-hero .ribbon{
  background:linear-gradient(180deg, var(--aw-gold-bright) 0%, var(--aw-gold-dark) 100%);
  border-top:1px solid rgba(255,255,255,.35);
}
.sesa-hero .ribbon::before, .sesa-hero .ribbon::after{
  border-top-color:var(--aw-gold-dark);
}
.sesa-hero .ribbon-item{ color:var(--aw-ink); opacity:.85; }
.sesa-hero .ribbon-item strong{ color:var(--aw-ink); }
.sesa-hero .ribbon-div{ background:rgba(28,16,5,.25); }

.sesa-hero .foot-strip{ border-top-color:rgba(255,255,255,.14); }
.sesa-hero .foot-item{ color:var(--aw-ivory-dim); opacity:.85; }
.sesa-hero .foot-item b{ color:var(--aw-gold-bright); }
.sesa-hero .stars{ color:var(--aw-gold-bright); opacity:.7; }
.sesa-hero .more-details-link{ color:var(--aw-ivory-dim); border-color:rgba(248,241,224,.35); }
.sesa-hero .more-details-link:hover{ color:var(--aw-gold-bright); border-color:var(--aw-gold-bright); }

/* ============================================================
   SESA PAGE (/SESA) — below-the-fold sections that follow the
   award-hero on the dedicated award page. Scoped under .sesa-page
   and reusing the --aw- tokens defined above, so it stays visually
   fused to the hero it sits under. Uses the site's own .card /
   .grid utilities for structure.
   ============================================================ */
.sesa-page .sesa-head{
  text-align:center;
  max-width:640px;
  margin:0 auto 36px;
}
.sesa-page .sesa-eyebrow{
  font-family:'Cinzel', serif;
  font-weight:600;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--aw-maroon);
  margin-bottom:10px;
}
.sesa-page .sesa-title{
  font-family:'Noto Serif Devanagari', serif;
  font-weight:800;
  font-size:clamp(22px, 3vw, 32px);
  color:var(--aw-ink);
  line-height:1.35;
  margin:0 0 10px;
}
.sesa-page .sesa-sub{
  font-family:'Hind', sans-serif;
  font-size:15px;
  color:var(--muted);
  line-height:1.75;
  margin:0;
}

/* divider ornament between sections */
.sesa-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  max-width:1100px;
  margin:0 auto;
  padding:0 24px;
}
.sesa-divider::before, .sesa-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg, transparent, var(--line), transparent);
}
.sesa-divider span{
  color:var(--aw-gold-dark);
  font-size:13px;
  letter-spacing:.3em;
}

/* pillars (why this award) */
.sesa-pillar-card{
  padding:30px 24px;
  text-align:center;
  position:relative;
}
.sesa-pillar-card::before{
  content:"";
  position:absolute;
  top:0; left:50%; transform:translateX(-50%);
  width:36px; height:2px;
  background:var(--aw-gold-dark);
}
.sesa-pillar-card h3{
  font-family:'Noto Serif Devanagari', serif;
  font-weight:700;
  font-size:17.5px;
  color:var(--aw-ink);
  margin:6px 0 8px;
}
.sesa-pillar-card p{
  font-family:'Hind', sans-serif;
  font-size:13.5px;
  color:var(--muted);
  line-height:1.7;
  margin:0;
}

.sesa-icon{
  width:52px; height:52px;
  margin:4px auto 6px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:linear-gradient(180deg, var(--aw-gold-pale), #fff);
  border:1px solid rgba(176,112,0,.35);
  font-size:24px;
}
.sesa-icon.sm{ width:44px; height:44px; font-size:19px; }

/* eligibility certificate box */
.sesa-eligibility{
  max-width:900px;
  margin:0 auto;
  background:linear-gradient(180deg, #fffefb 0%, var(--aw-gold-pale) 140%);
  border:1px solid var(--line);
  position:relative;
  padding:40px 36px;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 32px;
}
.sesa-eligibility::before,
.sesa-eligibility::after{
  content:"";
  position:absolute;
  width:18px; height:18px;
  border:2px solid var(--aw-gold-dark);
}
.sesa-eligibility::before{ top:9px; left:9px; border-right:none; border-bottom:none; }
.sesa-eligibility::after{ bottom:9px; right:9px; border-left:none; border-top:none; }
.sesa-elig-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.sesa-elig-item span{
  flex-shrink:0;
  width:24px; height:24px;
  border-radius:50%;
  background:var(--aw-navy);
  color:var(--aw-gold-pale);
  display:flex; align-items:center; justify-content:center;
  font-size:13px;
  margin-top:2px;
}
.sesa-elig-item p{
  font-family:'Hind', sans-serif;
  font-size:14.5px;
  color:var(--aw-ink);
  line-height:1.6;
  margin:0;
}

/* benefits grid */
.sesa-benefit{
  text-align:center;
  padding:10px 8px;
}
.sesa-benefit h4{
  font-family:'Hind', sans-serif;
  font-weight:600;
  font-size:14px;
  color:var(--aw-ink);
  margin:4px 0 6px;
}
.sesa-benefit p{
  font-family:'Hind', sans-serif;
  font-size:12.5px;
  color:var(--muted);
  line-height:1.6;
  margin:0;
}

/* application steps */
.sesa-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  max-width:900px;
  margin:0 auto;
}
.sesa-steps::before{
  content:"";
  position:absolute;
  top:24px; left:12%; right:12%;
  height:1px;
  background:repeating-linear-gradient(90deg, var(--aw-maroon) 0 8px, transparent 8px 16px);
  opacity:.4;
  z-index:0;
}
.sesa-step{ position:relative; z-index:1; text-align:center; }
.sesa-step-num{
  width:48px; height:48px;
  margin:0 auto 16px;
  border-radius:50%;
  background:linear-gradient(180deg, var(--aw-navy) 0%, var(--aw-navy-deep) 100%);
  color:var(--aw-gold-pale);
  display:flex; align-items:center; justify-content:center;
  font-family:'Cinzel', serif;
  font-weight:600;
  font-size:16px;
  box-shadow:0 8px 18px -6px rgba(10,27,51,.5);
}
.sesa-step h4{
  font-family:'Noto Serif Devanagari', serif;
  font-weight:700;
  font-size:16px;
  color:var(--aw-ink);
  margin:0 0 8px;
}
.sesa-step p{
  font-family:'Hind', sans-serif;
  font-size:13px;
  color:var(--muted);
  line-height:1.7;
  max-width:220px;
  margin:0 auto;
}

/* closing CTA band */
.sesa-cta-band{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(ellipse 70% 100% at 50% 0%, rgba(181,37,28,.3) 0%, transparent 60%),
    linear-gradient(180deg, var(--aw-navy) 0%, var(--aw-navy-deep) 100%);
  padding:60px 24px;
  text-align:center;
}
.sesa-cta-eyebrow{
  font-family:'Cinzel', serif;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--aw-gold-bright);
  margin-bottom:14px;
}
.sesa-cta-band h2{
  font-family:'Noto Serif Devanagari', serif;
  font-weight:800;
  font-size:clamp(20px, 3vw, 28px);
  color:#fff;
  max-width:560px;
  margin:0 auto 14px;
  line-height:1.4;
}
.sesa-cta-band p{
  font-family:'Hind', sans-serif;
  font-size:14px;
  color:rgba(255,255,255,.72);
  max-width:460px;
  margin:0 auto 30px;
}
.sesa-cta-btn{
  display:inline-block;
  font-family:'Cinzel', serif;
  font-weight:700;
  font-size:14px;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--aw-ink);
  background:linear-gradient(135deg, var(--aw-gold-glow) 0%, var(--aw-gold-bright) 45%, var(--aw-saffron) 100%);
  padding:16px 42px;
  border-radius:2px;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .25s ease;
}
.sesa-cta-btn:hover{ transform:translateY(-2px); }

@media (max-width:820px){
  .sesa-pillars{ grid-template-columns:1fr !important; }
  .sesa-benefits{ grid-template-columns:1fr 1fr !important; }
  .sesa-eligibility{ grid-template-columns:1fr; padding:32px 24px; }
  .sesa-steps{ grid-template-columns:1fr; gap:34px; }
  .sesa-steps::before{ display:none; }
}
