/* ── app/p-academy.css — the academy page's own styles (Pages::academy loads it after the shared ones). Until 1 Oct 2026 a <style> in the page's <head>. ── */
/* ── academy.html — the Airdoot Academy (in the Academy's turquoise: body[data-f="academy"]) ──
   ONE Academy page. It replaces the old site's brochure with the nine-step form at the bottom: every CTA
   brings the application into view, and the page ends with it (application/views/forms/academy.php, styled by
   assets/css/forms.css). Built on inner-pages.css (hero, points, split, steps) and theme.css / site.css tokens; every class
   here is .ac-. The words go through app/academy.js (English, हिन्दी, मराठी, ગુજરાતી; data-t="key"),
   the programme facts come from Airdoot's brochure (js/academy.js).                                   */
body.s6-body:not(.has-hero) .s6-page > main.ac { padding-top: 0; }
.ac .i2 { display: block; }
.ac-glass { background: rgba(255, 255, 255, .82); border: 1px solid rgba(255, 255, 255, .9); -webkit-backdrop-filter: blur(12px) saturate(140%); backdrop-filter: blur(12px) saturate(140%);
  box-shadow: 0 22px 40px -18px rgba(0, 18, 40, .45), 0 2px 6px rgba(0, 18, 40, .08); }

/* ── hero ── */
.ac-hero .ac-htext { position: relative; z-index: 1; min-width: 0; }
.ac-lang { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 24px; }
.ac-lang-k { display: inline-flex; align-items: center; gap: 7px; margin-right: 4px; font: 600 13.5px/1.2 var(--font); color: var(--cd); }
.ac-lang-k svg { flex: none; }
.ac-lang button { height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--c) 30%, var(--line)); background: rgba(255, 255, 255, .85);
  color: var(--navy); font: 600 14px/1 var(--font); cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.ac-lang button:hover { background: #fff; border-color: var(--c); }
.ac-lang button[aria-pressed="true"] { background: var(--c); border-color: var(--c); color: #0B1B2B; }
.ac-lang button:focus-visible { outline: 2px solid var(--cd) !important; outline-offset: 3px; }
.ac-hero h1 { text-wrap: balance; }
.ac-hnote { display: flex; align-items: flex-start; gap: 8px; margin: 18px 0 0; font: 600 14.5px/1.45 var(--font); color: var(--cd); }
.ac-hnote svg { flex: none; margin-top: 1px; }
.ac-hero .ac-hmedia { z-index: 1; margin: 0; }
.ac-hero .ac-hmedia img { object-position: 46% 42%; }
.ac-hchip { position: absolute; left: 16px; bottom: 16px; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; border-radius: 16px; }
.ac-hchip .ib { width: 38px; height: 38px; border-radius: 11px; background: var(--navy); color: #fff; --acc: var(--c2); display: grid; place-items: center; flex: none; }
.ac-hchip .ib .i2 { width: 21px; height: 21px; }
.ac-hchip b { display: block; font: 700 15px/1.2 var(--font); color: var(--ink); }
.ac-hchip small { display: block; margin-top: 3px; font: 600 12.5px/1.2 var(--mono); color: var(--cd); letter-spacing: .01em; }
.p6-hero .s6-wrap.ac-statwrap { display: block; }
.ac-stats { list-style: none; margin: clamp(36px, 6vh, 64px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line-navy); border-bottom: 1px solid var(--line-navy); }
.ac-stats li { padding: 18px 22px 17px; min-width: 0; }
.ac-stats li + li { border-left: 1px solid var(--line-navy); }
.ac-stats b { display: block; font: 700 clamp(21px, 1.9vw, 28px)/1.15 var(--font); letter-spacing: -.02em; color: var(--navy); }
.ac-stats span { display: block; margin-top: 6px; font: 500 14px/1.35 var(--font); color: var(--muted); }

/* ── 01 · the journey: four stages as a pay ladder (the bars are tabs), the chosen stage's syllabus under it ── */
.ac-journey .p6-head .s6-h2 { max-width: 24ch; text-wrap: balance; }
.ac-lad { --ch: clamp(168px, 16vw, 220px); --g: clamp(12px, 1.5vw, 22px); position: relative; padding: 24px clamp(20px, 2.8vw, 40px) 22px;
  background: var(--card); border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow-card); }
.ac-lad-hint { margin: 0 0 18px; display: flex; align-items: center; gap: 8px; font: 500 11.5px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--slate); }
.ac-lad-hint::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 22%, transparent); }
.ac-years, .ac-lad-row { display: grid; grid-template-columns: minmax(0, 4.4fr) minmax(0, 1.2fr); gap: var(--g); }
.ac-years-in { display: grid; grid-template-columns: 1fr 1fr; gap: var(--g); }
.ac-year { margin: 0 0 16px; padding-top: 10px; border-top: 2px solid var(--c); font: 600 13px/1.35 var(--font); color: var(--cd); }
.ac-year b { font: 600 11px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.ac-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--g); }
.ac-tab { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 16px; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ac-tab .area { height: var(--ch); display: flex; align-items: flex-end; border-bottom: 1px solid var(--line); }
.ac-tab .bar { display: block; width: 100%; height: calc(var(--h) * 100%); padding: 14px 14px 0; border-radius: 14px 14px 0 0;
  background: linear-gradient(180deg, color-mix(in srgb, var(--c) calc(14% + var(--k) * 5%), #fff), color-mix(in srgb, var(--c) 4%, #fff));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 24%, transparent); transform-origin: 50% 100%; transition: background .25s ease, box-shadow .25s ease; }
.ac-tab .bar b { display: block; font: 700 clamp(17px, 1.55vw, 22px)/1.1 var(--font); letter-spacing: -.02em; color: var(--navy); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ac-tab .bar small { display: block; margin-top: 4px; font: 500 12.5px/1.2 var(--font); color: var(--muted); }
.ac-tab .lab { display: block; padding: 14px 4px 2px; }
.ac-tab .lab .m, .ac-cert .m { display: block; margin-bottom: 8px; font: 600 11px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--cd); }
.ac-tab .lab b { display: block; font: 700 15px/1.3 var(--font); color: var(--ink); }
.ac-tab:hover .bar { box-shadow: inset 0 0 0 1.5px var(--c); }
.ac-tab[aria-selected="true"] .bar { background: linear-gradient(180deg, var(--c) 0%, color-mix(in srgb, var(--c) 62%, #fff) 100%); box-shadow: 0 18px 30px -22px color-mix(in srgb, var(--cd) 90%, transparent); }
.ac-tab[aria-selected="true"] .bar b, .ac-tab[aria-selected="true"] .bar small { color: #0B1B2B; }
.ac-tab[aria-selected="true"] .lab b { color: var(--cd); }
.ac-tab:focus-visible { outline: 2px solid var(--cd) !important; outline-offset: 4px; }
.ac-cert { height: var(--ch); display: flex; flex-direction: column; justify-content: flex-end; padding: 18px; border-radius: 20px; color: #D5E1EE;
  background: radial-gradient(90% 90% at 85% 10%, color-mix(in srgb, var(--c) 55%, transparent), transparent 70%), var(--navy); box-shadow: var(--shadow-lift); }
.ac-cert .ib { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; margin-bottom: auto; background: rgba(255, 255, 255, .12); color: #fff; --acc: var(--c2); }
.ac-cert .ib .i2 { width: 24px; height: 24px; }
.ac-cert .m { color: var(--c2); margin-bottom: 7px; }
.ac-cert b { display: block; font: 700 clamp(15px, 1.3vw, 18px)/1.25 var(--font); color: #fff; letter-spacing: -.01em; }
.ac-certlab { padding: 14px 4px 2px; font: 500 14px/1.35 var(--font); color: var(--muted); }
html.fx-motion .ac-js .ac-lad:not(.in) .bar { transform: scaleY(.001); }
html.fx-motion .ac-js .ac-lad .bar { transition: transform 1.1s var(--ease), background .25s ease, box-shadow .25s ease; transition-delay: calc(.1s + var(--k) * .12s), 0s, 0s; }

.ac-panel { margin-top: 14px; padding: clamp(22px, 3vw, 36px); background: var(--card); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-card); }
.ac-panel:focus-visible { outline: 2px solid var(--cd) !important; outline-offset: 3px; }
.ac-ptop { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 28px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.ac-pk { margin: 0 0 10px; font: 600 11.5px/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--cd); }
.ac-ptop h3 { margin: 0; font: 400 clamp(24px, 2.2vw, 32px)/1.1 var(--display); letter-spacing: -.015em; color: var(--navy); }
.ac-pobj { margin: 10px 0 0; max-width: 64ch; font: 500 15.5px/1.55 var(--font); color: var(--text); }
.ac-pobj em { font-style: normal; font-weight: 700; color: var(--navy); }
.ac-pay { text-align: right; }
.ac-pay b { display: block; font: 400 clamp(30px, 3vw, 42px)/1 var(--display); letter-spacing: -.02em; color: var(--cd); font-variant-numeric: tabular-nums; }
.ac-pay small { display: block; margin-top: 6px; font: 500 13px/1.3 var(--font); color: var(--muted); }
.ac-cols { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); padding-top: 22px; }
.ac-col h4 { margin: 0 0 12px; font: 700 12px/1.3 var(--font); letter-spacing: .14em; text-transform: uppercase; color: var(--navy); }
.ac-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ac-chips li { padding: 6px 11px; border-radius: 999px; background: var(--ct); color: var(--cd); font: 600 13px/1.3 var(--font); }
.ac-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ac-ticks li { position: relative; padding-left: 20px; font: 500 14.5px/1.45 var(--font); color: var(--text); }
.ac-ticks li::before { content: ""; position: absolute; left: 2px; top: .52em; width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.ac-points { margin-top: 14px; }

/* ── 02 · after two years ── */
.ac-out .p6-split-media { aspect-ratio: 4 / 3; margin: 0; box-shadow: 0 30px 60px -34px color-mix(in srgb, var(--c) 75%, transparent); }
.ac-out .p6-split-media img { object-position: 58% 45%; }
.ac-otext { min-width: 0; }
.ac-desig { display: inline-flex; flex-direction: column; gap: 6px; margin: 22px 0 0; padding: 14px 18px; border-radius: 16px; background: var(--ct); border: 1px solid color-mix(in srgb, var(--c) 30%, transparent); }
.ac-desig .k { font: 600 11px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--cd); }
.ac-desig b { font: 700 17px/1.3 var(--font); color: var(--navy); }
.ac-out .p6-list li { font-weight: 500; }
.ac-nextprog { margin: 18px 0 0; font: 500 14px/1.5 var(--font); color: var(--muted); }
.ac-bwrap { margin-top: clamp(36px, 5vh, 56px); }
.ac-bh { margin: 0; font: 700 18px/1.3 var(--font); color: var(--ink); }
.ac-blead { margin: 6px 0 0; font: 500 15px/1.5 var(--font); color: var(--muted); }
.ac-badges { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ac-badge { display: flex; align-items: center; gap: 14px; min-width: 0; padding: 16px 18px; background: var(--card); border: 1px solid var(--line); border-radius: 18px; }
.ac-badge i { flex: none; width: 40px; height: 40px; border-radius: 50%; background: radial-gradient(circle at 32% 28%, color-mix(in srgb, var(--b) 40%, #fff), var(--b) 62%);
  box-shadow: inset 0 -3px 6px rgba(0, 0, 0, .18), 0 8px 16px -8px var(--b); }
.ac-badge .m { display: block; margin-bottom: 6px; font: 600 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--slate); }
.ac-badge b { display: block; font: 700 14.5px/1.3 var(--font); color: var(--ink); }
.ac-fine { margin: 12px 0 0; font: 500 13px/1.4 var(--font); color: var(--muted); }

/* ── 03 · who can apply ── */
.ac-who-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ac-wcard { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 24px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); }
.ac-wcard.wide { grid-column: span 2; }
.ac-wcard .ib { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; background: var(--ct); color: var(--cd); }
.ac-wcard h3 { margin: 0; font: 700 18px/1.25 var(--font); color: var(--ink); }
.ac-attrs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ac-attrs li { padding: 7px 12px; border-radius: 999px; background: var(--page); border: 1px solid var(--line); font: 600 13.5px/1.3 var(--font); color: var(--navy); }
.ac-wnote { margin: auto 0 0; padding-top: 4px; font: 500 13.5px/1.5 var(--font); color: var(--muted); }

/* ── 04 · selection ── */
.ac-steps { list-style: none; margin: 0; padding: 0; }

/* ── 05 · apply: the application (application/views/forms/academy.php), and the way in for people already on the tools ── */
.ac-alt { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 20px; margin-top: 16px; padding: 20px 22px 20px 20px;
  border-radius: 22px; background: var(--card); border: 1px solid color-mix(in srgb, var(--c) 22%, var(--line)); box-shadow: var(--shadow-card); text-decoration: none; color: var(--text);
  transition: border-color .25s ease, transform .3s var(--ease); }
.ac-alt:hover { border-color: color-mix(in srgb, var(--c) 50%, var(--line)); transform: translateY(-2px); }
.ac-alt .gi-wrap > .gi { --s: 58px; }
.ac-alt .tx { min-width: 0; }
.ac-alt .k { display: block; font: 600 11px/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--cd); }
.ac-alt b { display: block; margin-top: 6px; font: 700 19px/1.25 var(--font); letter-spacing: -.01em; color: var(--ink); }
.ac-alt .d { display: block; margin-top: 4px; font: 500 14.5px/1.45 var(--font); color: var(--muted); }
.ac-alt .go { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 20px; border-radius: 14px; white-space: nowrap; background: var(--ct); color: var(--cd); font: 700 15px/1 var(--font); transition: background .25s ease, color .25s ease; }
.ac-alt .go svg { width: 16px; height: 16px; transition: transform .25s var(--ease); }
@media (hover: hover) { .ac-alt:hover .go { background: var(--c); color: #0B1B2B; } .ac-alt:hover .go svg { transform: translateX(3px); } }

/* Hindi, Marathi, Gujarati (site.css already sets the h1/h2 face): no wide tracking on the small caps */
html:is(:lang(hi), :lang(mr), :lang(gu)) :is(.ac-lad-hint, .ac-year b, .ac-tab .lab .m, .ac-cert .m, .ac-pk, .ac-col h4, .ac-desig .k, .ac-badge .m, .ac-alt .k) { letter-spacing: .03em; }
html:is(:lang(hi), :lang(mr), :lang(gu)) .ac-ptop h3 { font-family: var(--font); font-weight: 600; letter-spacing: -.01em; }
/* JetBrains Mono has no Devanagari or Gujarati letters: the small data labels take the UI face (Manrope + Noto) instead */
html:is(:lang(hi), :lang(mr), :lang(gu)) :is(.ac-lad-hint, .ac-year b, .ac-tab .lab .m, .ac-cert .m, .ac-pk, .ac-desig .k, .ac-badge .m, .ac-alt .k, .ac-hchip small) { font-family: var(--font); text-transform: none; font-weight: 700; }

/* ── widths ── */
@media (max-width: 1100px) {
  .ac-stats li { padding: 16px 16px 15px; }
  .ac-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ac-cols .ac-col:first-child { grid-column: 1 / -1; }
  .ac-badges { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .ac-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-stats li:nth-child(3) { border-left: 0; }
  .ac-stats li:nth-child(n + 3) { border-top: 1px solid var(--line-navy); }
  .ac-who-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-wcard.wide { grid-column: 1 / -1; }
}
/* the ladder turns into a list: one row per stage, a bar across that grows with the stipend */
@media (max-width: 760px) {
  .ac-lad { padding: 20px 16px 16px; }
  .ac-years { display: none; }
  .ac-lad-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ac-tabs { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .ac-tab { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 14px; }
  .ac-tab .lab { order: 1; padding: 0; }
  .ac-tab .lab .m { margin-bottom: 5px; }
  .ac-tab .lab b { font-size: 14px; }
  .ac-tab .area { order: 2; height: auto; border: 0; display: block; }
  .ac-tab .bar { width: calc(var(--h) * 100%); height: auto; min-width: 104px; padding: 9px 10px; border-radius: 10px; }
  .ac-tab .bar b { font-size: 16px; }
  .ac-tab .bar small { font-size: 11.5px; margin-top: 2px; }
  .ac-tab[aria-selected="true"] { border-color: var(--c); background: color-mix(in srgb, var(--ct) 60%, #fff); }
  html.fx-motion .ac-js .ac-lad:not(.in) .bar { transform: scaleX(.001); }
  .ac-tab .bar { transform-origin: 0 50%; }
  .ac-cert { height: auto; display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 14px; align-items: center; padding: 14px 16px; }
  .ac-cert .ib { grid-row: span 2; margin: 0; }
  .ac-cert .m { margin: 0 0 5px; }
  .ac-certlab { display: none; }
  .ac-ptop { flex-direction: column; align-items: flex-start; }
  .ac-pay { text-align: left; }
  .ac-cols { grid-template-columns: minmax(0, 1fr); }
  .ac-alt { grid-template-columns: auto minmax(0, 1fr); gap: 14px 16px; margin-top: 12px; }
  .ac-alt .go { grid-column: 1 / -1; justify-content: center; }
}
/* phones: shorter. The three points under the ladder repeat the ladder, the syllabus and the badges, so they go;
   the eligibility cards, the selection stages and the badges get tighter */
@media (max-width: 760px) {
  .ac-points { display: none; }
  .ac-panel { padding: 20px 18px; }
  .ac-cols { gap: 20px; padding-top: 18px; }
  .ac-chips li { font-size: 12.5px; padding: 5px 10px; }
  .ac-ticks { gap: 6px; } .ac-ticks li { font-size: 14px; }
  .ac-who-grid { gap: 10px; }
  .ac-wcard { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; row-gap: 10px; align-items: center; padding: 18px; }
  .ac-wcard .ib { width: 40px; height: 40px; border-radius: 12px; }
  .ac-wcard > :not(.ib):not(h3) { grid-column: 1 / -1; }
  .ac-steps.p6-steps { gap: 8px; }
  .ac-steps .p6-step { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 10px; padding: 14px 16px; }
  .ac-steps .p6-step::before { grid-row: span 2; margin: 2px 0 0; }
  .ac-steps .p6-step span { margin-top: 3px; font-size: 13.5px; }
  .ac-badges { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ac-badge { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
  .ac-badge i { width: 30px; height: 30px; }
}
@media (max-width: 600px) {
  .ac-lang { margin-bottom: 20px; gap: 6px; }
  .ac-lang-k { flex-basis: 100%; margin: 0 0 2px; }
  .ac-lang button { height: 34px; padding: 0 12px; font-size: 13.5px; }
  .ac-hchip { left: 12px; bottom: 12px; padding: 10px 12px 10px 10px; gap: 10px; }
  .ac-hchip b { font-size: 14px; } .ac-hchip small { font-size: 12px; }
  .ac-hchip .ib { width: 34px; height: 34px; }
  .ac-stats li { padding: 14px 12px 13px; }
  .ac-stats li:nth-child(odd) { padding-left: 0; }
  .ac-stats b { font-size: 20px; }
  .ac-stats span { font-size: 13px; }
  .ac-who-grid { grid-template-columns: minmax(0, 1fr); }
  .ac-wcard { padding: 20px; }
  .ac-alt { padding: 16px; border-radius: 20px; align-items: start; }
  .ac-alt .gi-wrap > .gi { --s: 48px; }
  .ac-alt b { font-size: 17px; }
}
