/*
 * Results Page — Dedicated Stylesheet
 * ====================================
 * Loaded ONLY on the Results page/archive.
 * Covers: banner slides, stats strip, year tabs,
 *         exam chips, achievement cards, show-more, responsive.
 *
 * Depends on: main.css (CSS variables, .container, .section, .section-header)
 * Enqueued in: functions.php → irf_enqueue_scripts()
 */


/* =============================================================
   0. SCROLLING TICKER STRIP
   ============================================================= */

.results-ticker-strip {
    width: 100%;
    background: #ee2c3c;
    border-bottom: 2px solid rgba(238, 44, 60, 0.14);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    position: relative;
    z-index: 100;
}

.results-ticker-inner {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    /* Duration is set by JS based on content width; fallback: 30s */
    animation: resultsTicker 30s linear infinite;
}

.results-ticker-strip:hover .results-ticker-inner {
    animation-play-state: paused;
}

@keyframes resultsTicker {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

.rtk-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 11px 30px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    flex-shrink: 0;
}

.rtk-icon {
    font-size: 11px;
    color: #fcf1f5;
    flex-shrink: 0;
    line-height: 1;
}

.rtk-value {
    font-weight: 700;
    font-size: 15px;
    color: #ffffff;
    letter-spacing: -0.2px;
}

.rtk-text {
    font-weight: 500;
    color: #ffffff;
}

@media (max-width: 767px) {
    .rtk-item  { padding: 9px 20px; font-size: 13px; gap: 6px; }
    .rtk-value { font-size: 14px; }
}

/* =============================================================
   1. CINEMATIC BANNER SLIDES
   ============================================================= */

/* =============================================================
   1b. BATCH-WISE RESULTS SECTION
   ============================================================= */
.results-batches-section { background: #f8f9fb; }

/* ── Year tabs (side-by-side, same style as yr-tabs) ── */
.batch-yr-tabs {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 32px;
    border-bottom: 2px solid #E2E8F0;
    padding-bottom: 0;
}
.batch-yr-tab {
    padding: 10px 28px;
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: transparent;
    color: #181A17;
    font-size: 15px;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: -2px;
}
.batch-yr-tab:hover  { color: #ee2c3c; }
.batch-yr-tab.active { color: #ee2c3c; border-bottom-color: #ee2c3c; }

/* ── Year panels ── */
.batch-yr-panel         { display: none; }
.batch-yr-panel.active  { display: block; }

.batch-group {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(24,26,23,0.08);
}
.batch-group:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }

/* ── Batch header bar ── */
.batch-header {
    background: #ffffff;
    border-radius: 12px;
    padding: 18px 24px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
    box-shadow: 0 1px 8px rgba(0,0,0,0.06);
    border-left: 4px solid #ee2c3c;
}

.batch-header-info { flex: 1; min-width: 150px; }
.batch-name {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #181A17;
    line-height: 1.2;
}
.batch-label { font-size: 13px; color: #666; margin-top: 3px; }

.batch-stats-row { display: flex; gap: 28px; flex-shrink: 0; }
.batch-stat-box  { text-align: center; }
.batch-stat-num  {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: #181A17;
    line-height: 1;
}
.batch-pct { color: #ee2c3c; }
.batch-stat-lbl {
    font-size: 10.5px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-top: 4px;
}

.batch-progress-wrap  { flex: 0 0 210px; }
.batch-progress-meta  {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 600;
    color: #181A17;
    opacity: 0.55;
    margin-bottom: 6px;
}
.batch-progress-bar   { height: 7px; background: #eee; border-radius: 50px; overflow: hidden; }
.batch-progress-fill  { height: 100%; background: linear-gradient(90deg, #ee2c3c, #ff6060); border-radius: 50px; }
.batch-progress-pct   { font-size: 11px; font-weight: 700; color: #ee2c3c; margin-top: 5px; text-align: right; }

@media (max-width: 767px) {
    .batch-header        { gap: 14px; padding: 14px 16px; }
    .batch-progress-wrap { flex: 0 0 100%; }
    .batch-stats-row     { gap: 20px; }
    .batch-stat-num      { font-size: 17px; }
}

/* Mobile / desktop banner image switching */
.banner-bg-mobile  { display: none; }
.banner-bg-desktop { display: block; }
@media (max-width: 767px) {
    .banner-bg-mobile  { display: block; }
    .banner-bg-desktop { display: none; }
}

/* Results page banner height — pure visual, no text content */
.results-page-banner {
    height: 30vw;
    min-height: 280px;
    max-height: 460px;
}

/* Full-slide inner wrapper */
.rbslide {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

/* --- Gradient backgrounds per theme --- */
.rbslide-bg { position: absolute; inset: 0; }

.rbslide-theme-dark-red    .rbslide-bg { background: linear-gradient(135deg,#050d14 0%,#1a0505 48%,#6b0000 100%); }
.rbslide-theme-dark-purple .rbslide-bg { background: linear-gradient(135deg,#0a0508 0%,#1a0508 48%,#5c0018 100%); }
.rbslide-theme-dark-teal   .rbslide-bg { background: linear-gradient(135deg,#080508 0%,#180510 48%,#4a0018 100%); }

/* Ken Burns subtle zoom on active slide */
.banner-slide.active .rbslide-bg { animation: kenBurns 7s ease-out forwards; }

/* --- Decorative orbs --- */
.rbslide-deco { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.rbslide-orb  { position: absolute; border-radius: 50%; animation: rbOrbFloat 6s ease-in-out infinite; }

.rbo1 { width: 560px; height: 560px; top: -180px; right: -140px; animation-delay:  0s; }
.rbo2 { width: 340px; height: 340px; bottom: -120px; left: 3%;   animation-delay: -2s; }
.rbo3 { width: 200px; height: 200px; top: 20%;  left: 35%;       animation-delay: -4s; }
.rbo4 { width: 260px; height: 260px; top: -80px; left: -60px;    animation-delay: -1s; }

.rbslide-theme-dark-red  .rbo1 { background: radial-gradient(circle,rgba(254,0,0,0.28)   0%,transparent 65%); }
.rbslide-theme-dark-red  .rbo2 { background: radial-gradient(circle,rgba(254,0,0,0.16)   0%,transparent 65%); }
.rbslide-theme-dark-red  .rbo3 { background: radial-gradient(circle,rgba(255,80,80,0.10) 0%,transparent 65%); }
.rbslide-theme-dark-red  .rbo4 { background: radial-gradient(circle,rgba(180,0,0,0.20)   0%,transparent 65%); }

.rbslide-theme-dark-purple .rbo1 { background: radial-gradient(circle,rgba(238,44,60,0.28)  0%,transparent 65%); }
.rbslide-theme-dark-purple .rbo2 { background: radial-gradient(circle,rgba(196,32,47,0.18)  0%,transparent 65%); }
.rbslide-theme-dark-purple .rbo3 { background: radial-gradient(circle,rgba(238,80,100,0.12) 0%,transparent 65%); }
.rbslide-theme-dark-purple .rbo4 { background: radial-gradient(circle,rgba(160,20,30,0.22)   0%,transparent 65%); }

.rbslide-theme-dark-teal .rbo1 { background: radial-gradient(circle,rgba(238,44,60,0.26) 0%,transparent 65%); }
.rbslide-theme-dark-teal .rbo2 { background: radial-gradient(circle,rgba(196,32,47,0.16) 0%,transparent 65%); }
.rbslide-theme-dark-teal .rbo3 { background: radial-gradient(circle,rgba(238,80,100,0.12) 0%,transparent 65%); }
.rbslide-theme-dark-teal .rbo4 { background: radial-gradient(circle,rgba(140,20,30,0.22)  0%,transparent 65%); }

@keyframes rbOrbFloat {
    0%, 100% { transform: translateY(0)    scale(1);    }
    50%       { transform: translateY(-24px) scale(1.04); }
}

/* --- Trophy / Year / Exam-pills watermarks --- */
.rbslide-watermark {
    position: absolute;
    right: 4%; top: 50%;
    transform: translateY(-50%);
    font-size: clamp(120px,20vw,220px);
    line-height: 1;
    opacity: 0.18;
    pointer-events: none;
    animation: rbWmSway 8s ease-in-out infinite;
}
@keyframes rbWmSway {
    0%, 100% { transform: translateY(-50%) rotate(-4deg); }
    50%       { transform: translateY(-54%) rotate(4deg);  }
}

.rbwm-year {
    font-family: 'Poppins', sans-serif;
    font-weight: 800;
    font-size: clamp(80px,18vw,220px);
    opacity: 0.13;
    color: #fff;
    right: -10px; bottom: -20px; top: auto;
    transform: none;
    animation: none;
    line-height: 1;
}

.rbslide-exam-pills {
    position: absolute;
    right: 6%; top: 50%;
    transform: translateY(-50%);
    display: flex; flex-direction: column; gap: 10px;
    pointer-events: none;
}
.rbslide-exam-pills span {
    display: block;
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.28);
    color: rgba(255,255,255,0.90);
    padding: 8px 22px;
    border-radius: 50px;
    font-size: 13px; font-weight: 600; letter-spacing: 0.5px;
    backdrop-filter: blur(6px);
    animation: rbPillBob 3.5s ease-in-out infinite;
}
.rbslide-exam-pills span:nth-child(even) { animation-delay: -1.75s; }
@keyframes rbPillBob {
    0%, 100% { transform: translateX(0);   }
    50%       { transform: translateX(-8px); }
}

/* --- Slide content (badge/title/sub/stats — kept in markup for future use) --- */
.rbslide-inner   { position: relative; z-index: 4; height: 100%; display: flex; align-items: center; }
.rbslide-content { max-width: 620px; padding: 20px 0; }

.banner-slide .rbslide-content .rbslide-badge,
.banner-slide .rbslide-content .rbslide-title,
.banner-slide .rbslide-content .rbslide-sub,
.banner-slide .rbslide-content .rbslide-stats { opacity: 0; }

.banner-slide.active .rbslide-content .rbslide-badge { animation: rbFadeUp 0.55s 0.30s ease-out both; }
.banner-slide.active .rbslide-content .rbslide-title { animation: rbFadeUp 0.65s 0.50s ease-out both; }
.banner-slide.active .rbslide-content .rbslide-sub   { animation: rbFadeUp 0.55s 0.70s ease-out both; }
.banner-slide.active .rbslide-content .rbslide-stats { animation: rbFadeUp 0.55s 0.90s ease-out both; }
@keyframes rbFadeUp {
    from { transform: translateY(20px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

.rbslide-badge {
    display: inline-block;
    background: var(--red); color: var(--white);
    font-size: 11px; font-weight: 700; letter-spacing: 2px;
    text-transform: uppercase; padding: 6px 18px; border-radius: 50px; margin-bottom: 18px;
}
.rbslide-title {
    font-size: clamp(28px,4.5vw,54px);
    font-family: 'Poppins', sans-serif; font-weight: 800;
    color: var(--white); line-height: 1.1; margin-bottom: 16px;
}
.rbslide-sub {
    font-size: clamp(14px,1.5vw,17px);
    color: rgba(255,255,255,0.80); line-height: 1.65; margin-bottom: 28px; max-width: 520px;
}
.rbslide-stats {
    display: flex; align-items: center; gap: 0;
    background: rgba(0,0,0,0.35); border: 1px solid rgba(255,255,255,0.12);
    border-radius: 14px; backdrop-filter: blur(10px); padding: 16px 24px; width: fit-content;
}
.rbs-stat    { text-align: center; padding: 0 20px; }
.rbs-divider { width: 1px; height: 40px; background: rgba(255,255,255,0.15); flex-shrink: 0; }
.rbs-num  { display: block; font-size: clamp(18px,2.2vw,26px); font-family: 'Poppins',sans-serif; font-weight: 700; color: var(--white); line-height: 1.1; margin-bottom: 4px; }
.rbs-lbl  { display: block; font-size: 11px; color: rgba(255,255,255,0.55); font-weight: 500; text-transform: uppercase; letter-spacing: 0.8px; }


/* =============================================================
   2. STATS STRIP
   ============================================================= */
.results-stats-strip {
    background: #ffffff;
    padding: 32px 0;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.07);
}
/* Red top accent bar */
.results-stats-strip::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 4px;
    background: #ee2c3c;
}
.results-stats-strip::after { display: none; }
.results-stats-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    position: relative; z-index: 1;
}
.rss-item {
    text-align: center;
    padding: 14px 28px;
    border-right: 1px solid rgba(24,26,23,0.09);
    display: flex; flex-direction: column; align-items: center; gap: 5px;
}
.rss-item:last-child { border-right: none; }
.rss-icon    { font-size: 26px; line-height: 1; }
.rss-num-wrap{ line-height: 1; }
.rss-num     { font-size: clamp(26px,3vw,38px); font-weight: 800; font-family: 'Poppins',sans-serif; color: #181A17; display: inline; }
.rss-lbl     { font-size: 11px; color: #181A17; font-weight: 600; text-transform: uppercase; letter-spacing: 1.4px; opacity: 0.55; margin-top: 2px; }


/* =============================================================
   3. SECTION BACKGROUNDS & HEADINGS
   ============================================================= */
.results-yearwise-section { background: #fcf1f5; }
.results-examwise-section { background: #fff; }

.results-yearwise-section .section-tag,
.results-examwise-section .section-tag { background: #ee2c3c; color: #fff; }

.results-yearwise-section .section-title,
.results-examwise-section .section-title { color: #181A17; }


/* =============================================================
   4. YEAR FILTER TABS  (underline style)
   ============================================================= */
.yr-tabs {
    display: flex; align-items: center; justify-content: center;
    gap: 8px; flex-wrap: wrap;
    margin-bottom: 44px;
    border-bottom: 2px solid #E2E8F0;
    padding-bottom: 0;
}
.yr-tab {
    padding: 10px 28px;
    border: none; border-bottom: 3px solid transparent; border-radius: 0;
    background: transparent; color: #181A17;
    font-size: 14px; font-weight: 600; font-family: 'Poppins',sans-serif;
    cursor: pointer; transition: all 0.2s ease;
    margin-bottom: -2px;  /* align with border-bottom of parent */
}
.yr-tab:hover              { color: #ee2c3c; }
.yr-tab.active             { color: #ee2c3c; border-bottom-color: #ee2c3c; }


/* =============================================================
   5. EXAM FILTER CHIPS  (pill style)
   ============================================================= */
.exam-chips {
    display: flex; align-items: center; justify-content: center;
    gap: 10px; flex-wrap: wrap; margin-bottom: 44px;
}
.exam-chip {
    padding: 9px 22px; border-radius: 50px;
    border: 1.5px solid #f0dde2; background: #fff; color: #181A17;
    font-size: 13px; font-weight: 600; font-family: 'Poppins',sans-serif;
    cursor: pointer; transition: all 0.2s ease;
}
.exam-chip:hover  { border-color: #ee2c3c; color: #ee2c3c; background: #fcf1f5; }
.exam-chip.active { background: #ee2c3c; border-color: #ee2c3c; color: #fff; box-shadow: 0 4px 14px rgba(238,44,60,0.28); }


/* =============================================================
   6. ACHIEVEMENT CARD GRID
   ============================================================= */
.results-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 14px;
}

/* --- Card shell --- */
.rcard {
    background: #fff;
    border-radius: 12px;
    overflow: visible;
    box-shadow: 0 2px 10px rgba(15,23,42,0.08);
    border: 1px solid #E8EDF5;
    text-align: center;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    display: flex; flex-direction: column;
    position: relative;
    min-width: 0;    /* prevent grid column blowout */
    width: 100%;     /* stay within grid column */
}
.rcard:hover           { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(15,23,42,0.13); }
.rcard.rcard-hidden    { display: none; }
.rcard.rcard-overlimit { display: none; }

/* --- Full-width photo area --- */
.rcard-photo-area {
    width: 100%;
    height: 150px;
    overflow: hidden;
    position: relative;
    background: #f0f2f7;
    flex-shrink: 0;
    border-radius: 12px 12px 0 0;
}
.rcard-photo-area img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
.rcard-initials-ph {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-size: 40px; font-weight: 800; font-family: 'Poppins',sans-serif; color: #fff;
}

/* --- Multi-selection badge + tooltip --- */
.rcard-multi-wrap {
    position: absolute;
    top: 8px; right: 8px;
    z-index: 20;
}
.rcard-multi-badge {
    display: inline-block;
    background: #f59e0b;
    color: #fff;
    font-size: 10px; font-weight: 800; font-family: 'Poppins', sans-serif;
    padding: 3px 8px;
    border-radius: 50px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.22);
    cursor: default;
    letter-spacing: 0.3px;
}
.rcard-tooltip {
    position: absolute;
    bottom: calc(100% + 8px); right: 0;
    background: #1e293b;
    color: #fff;
    font-size: 11px; font-family: 'Poppins', sans-serif;
    padding: 10px 13px;
    border-radius: 10px;
    min-width: 150px;
    white-space: nowrap;
    opacity: 0; visibility: hidden;
    transform: translateY(4px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    pointer-events: none;
    box-shadow: 0 8px 24px rgba(0,0,0,0.28);
    z-index: 10;
}
.rcard-tooltip::before {
    content: '';
    position: absolute;
    top: 100%; right: 12px;
    border: 6px solid transparent;
    border-top-color: #1e293b;
}
/* Hover — desktop only (pointer: fine = mouse) */
@media (hover: hover) and (pointer: fine) {
    .rcard-multi-wrap:hover .rcard-tooltip {
        opacity: 1; visibility: visible;
        transform: translateY(0);
    }
}
.rcard-tooltip-title {
    font-size: 10px; font-weight: 700; color: #f59e0b;
    text-transform: uppercase; letter-spacing: 0.5px;
    margin-bottom: 6px;
}
.rcard-tooltip-item {
    padding: 3px 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    line-height: 1.4;
}
.rcard-tooltip-item:last-child { border-bottom: none; }

/* --- Accent bar at bottom of photo area --- */
.rcard-photo-area::after {
    content: '';
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 3px;
    background: var(--rcard-accent, #ee2c3c);
}

/* --- Card body --- */
.rcard-body {
    padding: 10px 10px 13px;
    display: flex; flex-direction: column; align-items: center; gap: 5px;
    flex: 1;
}
.rcard-name {
    font-size: 12px; font-weight: 700; color: #181A17; line-height: 1.3;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}
.rcard-exam-pill {
    display: block;
    font-size: 10px; font-weight: 700; letter-spacing: 0.3px;
    padding: 3px 10px; border-radius: 50px; color: #fff;
    width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    box-sizing: border-box;
}
.rcard-ht        { font-size: 10px; color: #6b7280; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.rcard-ht strong { color: #374151; font-weight: 600; }


/* =============================================================
   7. SHOW MORE BUTTON
   ============================================================= */
.results-show-more-wrap { text-align: center; margin-top: 40px; }
.btn-show-more {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 13px 36px; border-radius: 50px;
    border: 2px solid #ee2c3c; background: transparent; color: #ee2c3c;
    font-size: 14px; font-weight: 600; font-family: 'Poppins',sans-serif;
    cursor: pointer; transition: all 0.22s ease;
}
.btn-show-more:hover { background: #ee2c3c; color: #fff; box-shadow: 0 6px 20px rgba(238,44,60,0.28); }
.btn-show-more.hidden { display: none; }


/* =============================================================
   8. FILTER EMPTY STATE
   ============================================================= */
.filter-empty {
    text-align: center; color: #6C757D; font-size: 15px;
    padding: 40px 20px; grid-column: 1 / -1;
}


/* =============================================================
   9. RESPONSIVE BREAKPOINTS
   ============================================================= */
@media (max-width: 900px) {
    .results-stats-grid    { grid-template-columns: repeat(2,1fr); }
    .rss-item:nth-child(2) { border-right: none; }
    .rss-item:nth-child(3) { border-top: 1px solid rgba(24,26,23,0.09); }
    .rbslide-exam-pills    { display: none; }
    .rbslide-watermark     { opacity: 0.05; }
    .results-cards-grid    { grid-template-columns: repeat(auto-fill,minmax(130px,1fr)); gap: 12px; }
    .rcard-photo-area      { height: 135px; }
}

@media (max-width: 768px) {
    .results-page-banner { height: 56vw; min-height: 320px; max-height: 420px; }
    .rbslide-stats       { flex-wrap: wrap; gap: 12px; }
    .rbs-stat            { padding: 0 12px; }
    .rbs-divider         { display: none; }
    .rbslide-title       { font-size: clamp(22px,6vw,36px); }
    .rbslide-sub         { font-size: 14px; }
    .yr-tabs             { gap: 4px; }
    .yr-tab              { padding: 9px 18px; font-size: 13px; }
    .results-cards-grid  { grid-template-columns: repeat(auto-fill,minmax(120px,1fr)); gap: 10px; }
    .rcard-photo-area    { height: 125px; }
}

@media (max-width: 480px) {
    .results-stats-grid  { grid-template-columns: repeat(2,1fr); }
    .exam-chips          { gap: 6px; }
    .exam-chip           { padding: 7px 14px; font-size: 12px; }
    .rbslide-stats       { display: none; }
    .results-cards-grid  { grid-template-columns: repeat(3,1fr); gap: 8px; }
    .rcard-photo-area    { height: 110px; }
    .rcard-body          { padding: 8px 8px 10px; }
}


/* =============================================================
   10. ALL INDIA RANK ACHIEVERS SECTION
   ============================================================= */

/* ─────────────────────────────────────────────────────────────
   ALL INDIA RANK ACHIEVERS SECTION
───────────────────────────────────────────────────────────── */

/* Section shell */
.air-achievers-section {
    background: linear-gradient(170deg, #06080f 0%, #4444ad 40%, #0c0b1f 70%, #3858e9 100%);
    position: relative;
    overflow: hidden;
    padding: 90px 0 80px;
}

/* Multi-layer offset star field — 4 grids of different size/offset look organic */
.air-achievers-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(rgba(255,255,255,0.72) 1px,   transparent 0),
        radial-gradient(rgba(255,255,255,0.45) 1px,   transparent 0),
        radial-gradient(rgba(255,215,0,0.38)   0.8px, transparent 0),
        radial-gradient(rgba(255,255,255,0.28) 0.6px, transparent 0);
    background-size: 318px 248px, 208px 172px, 148px 108px, 85px 66px;
    background-position: 0 0, 78px 138px, 44px 28px, 22px 58px;
    pointer-events: none;
    z-index: 0;
    opacity: 0.60;
}

/* Spotlight cone from above */
.air-achievers-section::after {
    content: '';
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 800px; height: 65%;
    background: conic-gradient(
        from 180deg at 50% -5%,
        transparent 20deg,
        rgba(255,185,0,0.055) 50deg,
        transparent 80deg
    );
    pointer-events: none;
    z-index: 0;
}

/* Background orbs */
.air-bg-orbs { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.air-orb { position: absolute; border-radius: 50%; filter: blur(80px); animation: airOrbDrift 16s ease-in-out infinite; }
.air-orb1 { width: 500px; height: 500px; top: -180px; right: -60px;  background: radial-gradient(circle, rgba(255,185,0,0.09) 0%, transparent 65%); animation-delay: 0s; }
.air-orb2 { width: 360px; height: 360px; bottom: -100px; left: -70px; background: radial-gradient(circle, rgba(20,30,90,0.60) 0%, transparent 70%); animation-delay: -6s; }
.air-orb3 { width: 280px; height: 280px; top: 35%; left: 42%;         background: radial-gradient(circle, rgba(180,130,0,0.07) 0%, transparent 70%); animation-delay: -11s; }
/* Warm amber glow behind India map (right side) */
.air-orb4 { width: 650px; height: 650px; top: 5%; right: -12%;        background: radial-gradient(circle, rgba(255,140,0,0.18) 0%, rgba(255,100,0,0.08) 40%, transparent 65%); filter: blur(75px); animation-delay: -4s; }
@keyframes airOrbDrift {
    0%, 100% { transform: translateY(0) scale(1); }
    50%       { transform: translateY(-24px) scale(1.04); }
}


/* SVG star field */
.air-stars {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

/* Section header overrides */
.air-section-tag      { background: linear-gradient(135deg, #C9A227, #FFD700) !important; color: #0f0818 !important; box-shadow: 0 4px 18px rgba(201,162,39,0.35); }
.air-section-title    { color: #ffffff !important; }
.air-section-subtitle { color: rgba(255,255,255,0.52) !important; }
.air-achievers-section .container { position: relative; z-index: 1; }

/* ── Featured wrapper ── */
.air-featured-wrap { display: flex; justify-content: center; margin-bottom: 52px; }

/* ── Hero card — horizontal layout ── */
.air-featured-card {
    display: flex;
    align-items: stretch;
    max-width: 700px;
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
    background: transparent;
    border: 1px solid rgba(255,215,0,0.18);
    box-shadow:
        0 0 0 1px rgba(255,215,0,0.07),
        0 32px 80px rgba(0,0,0,0.65),
        0 0 60px rgba(255,185,0,0.06);
    position: relative;
}

/* Glassmorphism inner fill */
.air-featured-card::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(12,10,28,0.92) 0%, rgba(16,12,34,0.94) 100%);
    backdrop-filter: blur(16px) saturate(1.4);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    z-index: 0;
    pointer-events: none;
}

/* Gold left accent stripe — tapered glow line */
.air-featured-card::before {
    content: '';
    position: absolute;
    left: 0; top: 15%; bottom: 15%;
    width: 3px;
    background: linear-gradient(180deg, transparent 0%, #FFE566 30%, #FFD700 70%, transparent 100%);
    box-shadow: 0 0 12px rgba(255,215,0,0.60);
    border-radius: 0 2px 2px 0;
    z-index: 2;
}
/* On mobile (column layout) switch accent to top bar */
@media (max-width: 768px) {
    .air-featured-card::before {
        top: 0; left: 15%; right: 15%; bottom: auto;
        width: auto; height: 3px;
        background: linear-gradient(90deg, transparent 0%, #FFE566 30%, #FFD700 70%, transparent 100%);
        box-shadow: 0 0 12px rgba(255,215,0,0.60);
        border-radius: 0 0 2px 2px;
    }
}
/* Ensure all children sit above the ::after background */
.air-featured-left,
.air-featured-right { position: relative; z-index: 1; }

/* Left panel — photo */
.air-featured-left {
    flex: 0 0 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 12px 40px 30px;
    position: relative;
    z-index: 1;
}

/* Photo wrap — overflow visible so badge above and ribbon below show */
.air-featured-photo-wrap {
    position: relative;
    width: 150px;
    height: 150px;
    overflow: visible;
}

/* ── Photo decoration: double ring + rays + halo ── */
.air-photo-deco {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 224px; height: 224px;
    pointer-events: none;
    z-index: 2;
}

/* Subtle rotating ray burst behind photo */
.air-deco-rays {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(
        from 0deg,
        transparent 0deg, rgba(255,215,0,0.07) 8deg, transparent 16deg,
        transparent 45deg, rgba(255,215,0,0.05) 53deg, transparent 61deg,
        transparent 90deg, rgba(255,215,0,0.07) 98deg, transparent 106deg,
        transparent 135deg, rgba(255,215,0,0.05) 143deg, transparent 151deg,
        transparent 180deg, rgba(255,215,0,0.07) 188deg, transparent 196deg,
        transparent 225deg, rgba(255,215,0,0.05) 233deg, transparent 241deg,
        transparent 270deg, rgba(255,215,0,0.07) 278deg, transparent 286deg,
        transparent 315deg, rgba(255,215,0,0.05) 323deg, transparent 331deg,
        transparent 360deg
    );
    animation: airRaysRotate 28s linear infinite;
}
@keyframes airRaysRotate { to { transform: rotate(360deg); } }

/* Broken arcs — 4 visible arc segments separated by gaps */
.air-deco-arcs {
    position: absolute;
    inset: 6px;
    border-radius: 50%;
    border: 1.5px solid transparent;
    background:
        linear-gradient(#0c0b1f, #0c0b1f) padding-box,
        conic-gradient(
            from 20deg,
            rgba(255,215,0,0.55) 0deg, rgba(255,215,0,0.55) 65deg,
            transparent 65deg, transparent 90deg,
            rgba(255,215,0,0.45) 90deg, rgba(255,215,0,0.45) 155deg,
            transparent 155deg, transparent 180deg,
            rgba(255,215,0,0.55) 180deg, rgba(255,215,0,0.55) 245deg,
            transparent 245deg, transparent 270deg,
            rgba(255,215,0,0.45) 270deg, rgba(255,215,0,0.45) 335deg,
            transparent 335deg, transparent 360deg
        ) border-box;
    animation: airArcsRotate 18s linear infinite reverse;
}
@keyframes airArcsRotate { to { transform: rotate(360deg); } }

/* Outer thin ring */
.air-deco-ring-outer {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(255,215,0,0.22);
    box-shadow: 0 0 18px rgba(255,215,0,0.08), inset 0 0 18px rgba(255,215,0,0.04);
}

/* Inner thicker glowing ring */
.air-deco-ring-inner {
    position: absolute;
    inset: 22px;
    border-radius: 50%;
    border: 3px solid rgba(255,215,0,0.62);
    box-shadow:
        0 0 0 5px rgba(255,215,0,0.07),
        0 0 26px rgba(255,215,0,0.30),
        inset 0 0 18px rgba(255,215,0,0.07);
}

/* Soft halo glow behind photo */
.air-deco-halo {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 160px; height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,215,0,0.16) 0%, rgba(255,185,0,0.05) 55%, transparent 72%);
    filter: blur(8px);
}

/* Photo / initials circle */
.air-featured-photo,
.air-featured-initials {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 134px;
    height: 134px;
    border-radius: 50%;
    z-index: 3;
}
.air-featured-photo {
    object-fit: cover;
    object-position: center top;
    border: 3px solid rgba(255,215,0,0.75);
    box-shadow:
        0 0 0 5px rgba(255,215,0,0.10),
        0 0 32px rgba(255,215,0,0.28),
        0 10px 30px rgba(0,0,0,0.55);
}
.air-featured-initials {
    display: flex; align-items: center; justify-content: center;
    font-size: 46px; font-weight: 800; font-family: 'Poppins', sans-serif; color: #fff;
    border: 3px solid rgba(255,215,0,0.75);
    box-shadow: 0 0 0 5px rgba(255,215,0,0.10), 0 0 32px rgba(255,215,0,0.25);
}

/* Top Ranker badge — floats above the photo with angular diamond ends */
.air-top-badge {
    position: absolute;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #FFE566, #FFD700 50%, #C9A227);
    color: #0f0808;
    font-family: 'Poppins', sans-serif;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    padding: 5px 14px;
    clip-path: polygon(10px 0%, calc(100% - 10px) 0%, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0% 50%);
    white-space: nowrap;
    box-shadow: 0 0 20px rgba(255,215,0,0.55), 0 4px 12px rgba(0,0,0,0.35);
}

/* Right panel — info */
.air-featured-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px 40px 40px 12px;
    position: relative;
    z-index: 1;
}

/* Subtle divider between left/right */
.air-featured-right::before {
    content: '';
    position: absolute;
    left: 0; top: 20%; bottom: 20%;
    width: 1px;
    background: linear-gradient(180deg, transparent 0%, rgba(255,215,0,0.18) 50%, transparent 100%);
}

.air-featured-rank-prefix {
    font-family: 'Poppins', sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 4px;
    color: rgba(255,215,0,0.50);
    text-transform: uppercase;
    margin-bottom: 2px;
}

.air-featured-rank-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 10px;
}

.air-featured-rank-num {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(50px, 7vw, 72px);
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(135deg, #FFE566 0%, #FFD700 40%, #C9A227 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 0 18px rgba(255,215,0,0.50)) drop-shadow(0 0 36px rgba(255,185,0,0.25));
}
.air-rank-ord {
    font-size: 0.36em;
    font-weight: 800;
    vertical-align: super;
    line-height: 0;
}
.air-featured-rank-word {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 800;
    letter-spacing: 4px;
    background: linear-gradient(135deg, #FFE566, #C9A227);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    padding-bottom: 4px;
}

/* Thin gold rule between rank row and name */
.air-featured-right .air-featured-name::before {
    content: '';
    display: block;
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, #FFD700, transparent);
    margin-bottom: 10px;
    border-radius: 2px;
}

.air-featured-name {
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}
.air-featured-exam {
    font-size: 12px;
    color: rgba(255,255,255,0.60);
    font-style: italic;
    margin-bottom: 10px;
}
.air-featured-year {
    display: inline-block;
    font-size: 9px; font-weight: 700; letter-spacing: 2px;
    color: rgba(255,215,0,0.42);
    text-transform: uppercase;
}

/* ── Featured card fade transitions ── */
@keyframes airFeatOut {
    from { opacity: 1; transform: translateY(0); }
    to   { opacity: 0; transform: translateY(-8px); }
}
@keyframes airFeatIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}
.air-feat-out { animation: airFeatOut 0.18s ease forwards; }
.air-feat-in  { animation: airFeatIn  0.24s ease forwards; }

/* ─────────────────────────────────────────────────────────────
   MINI PREVIEW STRIP
───────────────────────────────────────────────────────────── */
.air-preview-strip {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 6px 4px 24px;
    margin-bottom: 8px;
}
.air-preview-strip::-webkit-scrollbar { display: none; }

.air-prev-card {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 8px 10px 10px;
    border-radius: 14px;
    background: rgba(14,12,30,0.55);
    border: 1.5px solid rgba(201,162,39,0.15);
    cursor: pointer;
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
    outline: none;
    min-width: 72px;
}
.air-prev-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255,215,0,0.35);
    background: rgba(20,16,42,0.75);
}
.air-prev-card.active {
    border-color: #FFD700;
    background: rgba(255,215,0,0.07);
    box-shadow: 0 0 18px rgba(255,215,0,0.22), 0 4px 16px rgba(0,0,0,0.40);
    transform: translateY(-4px) scale(1.05);
}

.air-prev-photo {
    width: 48px; height: 48px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255,215,0,0.30);
    transition: border-color 0.22s ease;
    background: rgba(10,8,20,0.7);
    flex-shrink: 0;
}
.air-prev-card.active .air-prev-photo { border-color: #FFD700; }
.air-prev-photo img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center top; display: block;
}
.air-prev-initials {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; font-weight: 800; font-family: 'Poppins', sans-serif; color: #fff;
}

.air-prev-rank {
    font-family: 'Poppins', sans-serif;
    font-size: 8px; font-weight: 800;
    background: linear-gradient(135deg, #FFD700, #C9A227);
    color: #1a0a18;
    padding: 2px 7px;
    border-radius: 50px;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.air-prev-name {
    font-family: 'Poppins', sans-serif;
    font-size: 9px; font-weight: 600; color: rgba(255,255,255,0.65);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 68px;
    text-align: center;
}
.air-prev-card.active .air-prev-name { color: rgba(255,215,0,0.85); }

/* ─────────────────────────────────────────────────────────────
   CAROUSEL
───────────────────────────────────────────────────────────── */
.air-carousel-wrap {
    position: relative;
    padding: 0 44px;
}
.air-carousel {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    overflow-y: visible;   /* allow active card scale to show without clipping */
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 10px 4px 24px;
}
.air-carousel::-webkit-scrollbar { display: none; }

/* ── Rank card — glassmorphism ── */
.air-card {
    flex: 0 0 162px;
    background: rgba(255,255,255,0.035);
    border-radius: 18px;
    overflow: hidden;
    text-align: center;
    scroll-snap-align: start;
    border: 1px solid rgba(255,215,0,0.16);
    backdrop-filter: blur(14px) saturate(1.6);
    -webkit-backdrop-filter: blur(14px) saturate(1.6);
    box-shadow: 0 8px 28px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.05);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}
.air-card:hover {
    transform: translateY(-8px);
    background: rgba(255,215,0,0.05);
    border-color: rgba(255,215,0,0.42);
    box-shadow:
        0 0 0 1px rgba(255,215,0,0.30),
        0 0 30px rgba(255,185,0,0.18),
        0 22px 50px rgba(0,0,0,0.55);
}
.air-card.active {
    background: rgba(255,215,0,0.07);
    border-color: rgba(255,215,0,0.70);
    box-shadow:
        0 0 0 2px rgba(255,215,0,0.55),
        0 0 40px rgba(255,185,0,0.28),
        0 16px 40px rgba(0,0,0,0.55);
    transform: translateY(-10px) scale(1.03);
}

/* Photo header area */
.air-card-photo-outer {
    position: relative;
    height: 96px;
    background: linear-gradient(135deg, rgba(20,14,46,0.85) 0%, rgba(12,10,30,0.85) 100%);
    border-bottom: 1px solid rgba(255,215,0,0.10);
}

/* Photo circle — overlaps divider into card body */
.air-card-photo-wrap {
    position: absolute;
    bottom: -34px;
    left: 50%;
    transform: translateX(-50%);
    width: 76px; height: 76px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid rgba(255,215,0,0.70);
    box-shadow:
        0 0 0 4px rgba(255,215,0,0.10),
        0 0 20px rgba(255,215,0,0.22),
        0 6px 18px rgba(0,0,0,0.55);
    z-index: 3;
    background: rgba(10,8,20,0.8);
}
.air-card-photo-wrap img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center top; display: block;
}
.air-card-initials {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; font-weight: 800; font-family: 'Poppins', sans-serif; color: #fff;
}

/* AIR badge — top-right, angular diamond/arrow ends */
.air-card-rank-badge {
    position: absolute;
    top: 8px; right: 8px;
    z-index: 4;
    background: linear-gradient(135deg, #FFE566, #FFD700 55%, #C9A227);
    color: #0f0808;
    font-family: 'Poppins', sans-serif;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 3px 11px;
    clip-path: polygon(7px 0%, calc(100% - 7px) 0%, 100% 50%, calc(100% - 7px) 100%, 7px 100%, 0% 50%);
    white-space: nowrap;
    box-shadow: 0 0 14px rgba(255,215,0,0.50), 0 2px 8px rgba(0,0,0,0.30);
}

/* Card body — top padding to clear photo overlap */
.air-card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 42px 12px 18px;
}

.air-card-name {
    font-family: 'Poppins', sans-serif;
    font-size: 12px; font-weight: 700; color: #ffffff; line-height: 1.3;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}
.air-card-exam {
    font-size: 9px; font-weight: 700; color: #fff;
    padding: 3px 10px; border-radius: 50px; letter-spacing: 0.3px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; box-sizing: border-box;
}
.air-card-year { font-size: 10px; color: rgba(255,215,0,0.42); font-weight: 600; letter-spacing: 0.5px; }

/* ── Carousel nav arrows ── */
.air-carousel-btn {
    position: absolute;
    top: 50%; transform: translateY(-58%);
    width: 40px; height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #C9A227, #FFD700);
    color: #1a0a18;
    border: none; cursor: pointer; z-index: 10;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 16px rgba(0,0,0,0.45), 0 0 0 2px rgba(255,215,0,0.20);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.air-carousel-btn:hover {
    transform: translateY(-58%) scale(1.12);
    box-shadow: 0 6px 22px rgba(0,0,0,0.55), 0 0 0 3px rgba(255,215,0,0.45);
}
.air-prev { left: -4px; }
.air-next { right: -4px; }

/* ─────────────────────────────────────────────────────────────
   RESPONSIVE — full device coverage
───────────────────────────────────────────────────────────── */

/* Large tablet (≤ 1024px) */
@media (max-width: 1024px) {
    .air-featured-card  { max-width: 620px; }
    .air-featured-left  { flex: 0 0 200px; padding: 36px 10px 36px 22px; }
    .air-featured-right { padding: 36px 32px 36px 12px; }
}

/* Tablet (≤ 900px) */
@media (max-width: 900px) {
    .air-featured-card  { max-width: 560px; }
    .air-featured-left  { flex: 0 0 185px; }
    .air-card           { flex: 0 0 148px; }
    .air-carousel-wrap  { padding: 0 38px; }
}

/* Tablet portrait / large phone (≤ 768px)
   Featured card switches to vertical stack */
@media (max-width: 768px) {
    .air-achievers-section { padding: 60px 0 50px; }

    /* Featured card: full-width vertical */
    .air-featured-wrap  { padding: 0 12px; margin-bottom: 36px; }
    .air-featured-card  {
        flex-direction: column;
        max-width: 100%;
        border-radius: 20px;
    }

    /* Left panel: centre the photo, reduce top padding */
    .air-featured-left  {
        flex: unset;
        width: 100%;
        padding: 28px 20px 10px;
        justify-content: center;
    }

    /* Right panel: centre all text */
    .air-featured-right {
        width: 100%;
        padding: 10px 28px 28px;
        align-items: center;
        text-align: center;
    }
    .air-featured-right::before    { display: none; }
    .air-featured-rank-row         { justify-content: center; }
    .air-featured-right .air-featured-name::before { margin: 0 auto 10px; }

    /* Photo + laurel: scale down */
    .air-featured-photo-wrap { width: 128px; height: 128px; }
    .air-featured-photo,
    .air-featured-initials   { width: 114px; height: 114px; font-size: 38px; }
    .air-photo-deco          { width: 192px; height: 192px; }

    /* Rank text */
    .air-featured-rank-num  { font-size: clamp(42px, 11vw, 60px); }
    .air-featured-rank-word { font-size: clamp(16px, 4vw, 22px); }
    .air-featured-name      { font-size: 16px; }
    .air-featured-exam      { font-size: 12px; }

    /* Carousel */
    .air-card           { flex: 0 0 145px; }
    .air-carousel-wrap  { padding: 0 38px; }
    .air-carousel-btn   { width: 32px; height: 32px; }
    .air-carousel       { gap: 12px; padding: 12px 2px 24px; }

    /* Active card — reduce scale so it doesn't clip */
    .air-card.active    { transform: translateY(-6px) scale(1.02); }
}

/* Mobile (≤ 480px) */
@media (max-width: 480px) {
    .air-achievers-section { padding: 50px 0 40px; }

    .air-featured-wrap  { padding: 0 8px; margin-bottom: 28px; }
    .air-featured-card  { border-radius: 16px; }
    .air-featured-left  { padding: 24px 16px 8px; }
    .air-featured-right { padding: 8px 20px 24px; }

    .air-featured-photo-wrap { width: 108px; height: 108px; }
    .air-featured-photo,
    .air-featured-initials   { width: 96px; height: 96px; font-size: 32px; }
    .air-photo-deco          { width: 164px; height: 164px; }

    .air-featured-rank-num  { font-size: clamp(38px, 12vw, 52px); }
    .air-featured-rank-word { font-size: clamp(14px, 4.5vw, 18px); letter-spacing: 3px; }
    .air-featured-name      { font-size: 14px; letter-spacing: 0.3px; }
    .air-featured-exam      { font-size: 11px; }

    .air-card          { flex: 0 0 136px; }
    .air-carousel-wrap { padding: 0 34px; }
    .air-carousel-btn  { width: 28px; height: 28px; }
    .air-carousel-btn svg { width: 14px; height: 14px; }
    .air-carousel      { gap: 10px; }

    .air-card.active   { transform: translateY(-4px) scale(1.01); }
}

/* Very small phones (≤ 360px) */
@media (max-width: 360px) {
    .air-featured-left  { padding: 20px 12px 6px; }
    .air-featured-right { padding: 6px 16px 20px; }

    .air-featured-photo-wrap { width: 92px; height: 92px; }
    .air-featured-photo,
    .air-featured-initials   { width: 80px; height: 80px; font-size: 26px; }
    .air-photo-deco          { width: 142px; height: 142px; }

    .air-featured-rank-num  { font-size: clamp(34px, 13vw, 46px); }
    .air-featured-name      { font-size: 13px; }

    .air-card          { flex: 0 0 126px; }
    .air-carousel-wrap { padding: 0 30px; }
    .air-carousel-btn  { width: 26px; height: 26px; }
    .air-card-photo-outer { height: 82px; }
    .air-card-photo-wrap  { width: 66px; height: 66px; bottom: -30px; }
    .air-card-body        { padding: 38px 10px 14px; }
    .air-card-name        { font-size: 11px; }
}
