:root{
    --bg:#0A111C;
    --panel:#0F1826;
    --panel-2:#131F30;
    --accent:#67D4FF;
    --accent-fill:#67D4FF;
    --steel:#8B9BB4;
    --line:rgba(255,255,255,0.08);
    --line-2:rgba(255,255,255,0.16);
    --text:#E7EEF9;
    --muted:#9FB2CF;
    --wa:#128C7E;
    --head:'Titillium Web','Inter',sans-serif;
    --max:1240px;
    --pad:38px;
    --mcta-height:62px;
  }
  /* ---- light theme: same navy/cyan family, re-tuned for contrast on white ----
     --accent darkens (the bright cyan alone fails contrast on white); --accent-fill
     stays the original bright cyan since it's only ever paired with dark navy text
     on top, which reads fine regardless of page background. */
  :root[data-theme="light"]{
    --bg:#FFFFFF;
    --panel:#F5F8FB;
    --panel-2:#EAF1F8;
    --accent:#0075A3;
    --steel:#56657C;
    --line:rgba(10,17,28,0.10);
    --line-2:rgba(10,17,28,0.18);
    --text:#0A111C;
    --muted:#3D4B60;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;scroll-padding-top:104px}
button{font-family:inherit;font-size:15px}
/* Lead-form honeypot and status line. Defined here, not in positions.css,
   because /aerospace-defense-advisory-india/ does not load positions.css and
   an unstyled .cap-hp would render the honeypot visible to real visitors. */
.cap-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.adv-msg{margin:12px 0 0;font-size:15px}
.adv-msg.ok{color:var(--accent)}
.adv-msg.err{color:var(--warn,var(--steel))}
/* The footer legal-link row carries no size of its own, so its anchors fell
   back to the 16px UA default - the last value off the type scale. */
footer .links a{font-size:15px}
/* Legal-page list items carried no size and fell back to the 16px UA default.
   Must live here, not international.css - /privacy-policy/ and /terms/ load
   styles.css only. */
.legal-doc li{font-size:17px}
.skip-link{font-size:15px}
  body{
    font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    transition:background-color .25s ease,color .25s ease;
    background:var(--bg);
    color:var(--text);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  h1,h2,h3,h4{font-family:var(--head);font-weight:700;line-height:1.12;letter-spacing:-0.02em;text-wrap:balance}
  h1{font-size:clamp(34px,4.6vw,58px);letter-spacing:-0.03em}
  h2{font-size:clamp(26px,3.2vw,40px)}
  h3{font-size:20px}
  h4{font-size:17px}
/* Headings promoted to repair a WCAG 1.3.1 outline skip keep the size they
   had, so the document outline is correct without changing the visual rhythm. */
.h-keep4{font-size:17px}
.h-keep3{font-size:20px}

/* ---------- WCAG 2.5.8 target size ----------
   Discrete controls get a 44px minimum hit area via padding, so the visual
   size is unchanged but the tappable region is not. Links that sit inline
   inside a sentence are deliberately excluded - 2.5.8 exempts them, and
   padding them would break the line box. */
.foot .links a,
.ch .v a{display:inline-flex;align-items:center;min-height:44px}
/* The header cluster is left alone on purpose: it already carries 24px target
   rules further down, and .tel is deliberately hidden under 640px. Broader
   selectors here outrank both, which un-hides the phone number on a phone and
   pushes the header past the viewport. */
.theme-toggle{min-width:44px;min-height:44px}
@media(max-width:900px){
  .navdd-panel a,nav a{min-height:44px;display:flex;align-items:center}
}
  p{color:var(--muted);font-size:17px;line-height:1.7;text-wrap:pretty}
  .wrap{width:min(100% - 40px,var(--max));margin:0 auto}
  section{padding:var(--pad) 0;border-top:1px solid var(--line)}
  section.flush{border-top:0}

  /* ---- surgical eyebrow: short cyan registration rule + tracked caps ---- */
  .eyebrow{
    display:flex;align-items:center;gap:12px;
    font-family:var(--head);font-size:13px;font-weight:700;
    letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);
    margin-bottom:20px;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--accent);flex:none}
  .eyebrow.plain::before{display:none}

  .section-head{max-width:860px;margin-bottom:44px}
  .section-head h2{margin-bottom:16px}
  .section-head p{font-size:17px}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    padding:15px 26px;border-radius:0;font-weight:700;font-size:15px;
    letter-spacing:0.03em;border:1px solid transparent;
    transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
    cursor:pointer;font-family:'Inter',sans-serif;white-space:nowrap;
  }
  .btn-primary{background:var(--accent-fill);color:#0A111C;border-color:var(--accent-fill)}
  .btn-primary:hover{background:#8adfff;border-color:#8adfff;box-shadow:0 0 0 6px rgba(103,212,255,0.16);transform:translateY(-2px)}
  .btn-ghost{background:transparent;color:var(--text);border-color:var(--line-2)}
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
  .btn-wa{background:transparent;color:var(--text);border-color:var(--line-2)}
  .btn-wa:hover{border-color:var(--wa);color:#3ddcc4;transform:translateY(-2px)}
  :root[data-theme="light"] .btn-wa:hover{color:#0e7a6e}
  .btn-sm{padding:11px 18px;font-size:15px}
  a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

  .skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:999}
  .skip-link:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;overflow:visible;background:var(--accent-fill);color:#0A111C;padding:12px 20px;font-family:var(--head);font-weight:700;font-size:15px}

  .panel{background:var(--panel);border:1px solid var(--line);padding:32px}
  .panel-2{background:var(--panel-2)}

  /* ---------- header ---------- */
  header{position:sticky;top:0;z-index:50;background:rgba(10,17,28,.92);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s ease,background .2s ease}
  header.scrolled{border-bottom-color:var(--line);background:rgba(10,17,28,.98)}
  :root[data-theme="light"] header{background:rgba(255,255,255,.86)}
  :root[data-theme="light"] header.scrolled{background:rgba(255,255,255,.96)}
  .hdr{display:flex;align-items:center;justify-content:space-between;gap:28px;height:clamp(76px,7vw,88px);padding:10px 0}
  .brand{display:flex;align-items:center;gap:18px}
  .brand svg{height:clamp(34px,3.4vw,48px);width:clamp(34px,3.4vw,48px);flex:none;color:var(--text)}
  .brand .wm{font-family:var(--head);font-size:clamp(19px,1.7vw,23px);font-weight:700;letter-spacing:-0.02em;line-height:1;display:block}
  .brand .wm b{color:var(--accent)}
  .brand .sub{font-family:var(--head);font-size:13px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--steel);margin-top:5px;display:block}
  nav{display:flex;align-items:center;gap:22px;flex:1;justify-content:center}
  nav a{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0.01em;white-space:nowrap}
  nav a:hover,nav a.on{color:var(--text)}
  nav a.on{border-bottom:2px solid var(--accent);padding-bottom:2px}
  .navdd{position:relative}
  .navdd-btn{background:none;border:0;padding:0;font:inherit;font-size:15px;font-weight:500;letter-spacing:0.01em;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
  .navdd-btn::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;opacity:.75}
  .navdd-btn:hover,.navdd-btn.on{color:var(--text)}
  .navdd-btn.on{border-bottom:2px solid var(--accent);padding-bottom:2px}
  .navdd-panel{display:none;position:absolute;top:100%;left:0;margin-top:16px;min-width:230px;background:var(--panel);border:1px solid var(--line-2);padding:8px 0;box-shadow:0 16px 40px rgba(0,0,0,.45);z-index:80}
  .navdd.open .navdd-panel{display:block}
  .navdd-panel a{display:block;padding:9px 18px;font-size:15px;color:var(--text);white-space:nowrap}
  .navdd-panel a:hover,.navdd-panel a.on{color:var(--accent)}
  .navdd-label{display:block;padding:12px 18px 4px;font-size:13px;letter-spacing:0.09em;text-transform:uppercase;color:var(--steel);font-weight:700}
  .navdd-label:first-child{padding-top:8px}
  .hdr-cta{display:flex;align-items:center;gap:16px}
  .tel{font-size:15px;font-weight:600;color:var(--text);white-space:nowrap}
  .tel:hover{color:var(--accent)}
  .mail-ic{display:inline-flex;align-items:center;color:var(--text)}
  .mail-ic:hover{color:var(--accent)}
  .theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;background:none;border:1px solid var(--line-2);color:var(--text);cursor:pointer;transition:border-color .18s ease,color .18s ease}
  .theme-toggle:hover{border-color:var(--accent);color:var(--accent)}
  .theme-toggle .ic-moon{display:none}
  :root[data-theme="light"] .theme-toggle .ic-sun{display:none}
  :root[data-theme="light"] .theme-toggle .ic-moon{display:inline-flex}
  .navtoggle{display:none;appearance:none;background:none;border:1px solid var(--line-2);width:44px;height:44px;padding:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
  .navtoggle span{display:block;width:18px;height:1.5px;background:var(--text);transition:transform .2s ease,opacity .2s ease}
  .navtoggle:hover{border-color:var(--accent)}
  .navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .nav-tel{display:none}
  @media(max-width:1080px){
    .navtoggle{display:flex}
    nav{display:none;position:absolute;top:100%;left:0;right:0;flex:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line-2)}
    nav.open{display:flex}
    nav a{padding:16px 20px;font-size:17px;border-bottom:1px solid var(--line)}
    nav a:last-child{border-bottom:0}
    .nav-tel{display:block;color:var(--accent);font-weight:600}
    .navdd-btn{width:100%;justify-content:space-between;padding:16px 20px;font-size:17px;border-bottom:1px solid var(--line)}
    .navdd-btn::after{transition:transform .2s ease}
    .navdd.open .navdd-btn::after{transform:rotate(225deg)}
    .navdd-panel{position:static;margin-top:0;border:0;box-shadow:none;background:rgba(255,255,255,0.03);padding:0}
    .navdd-panel a{padding:14px 20px 14px 34px;border-bottom:1px solid var(--line);white-space:normal}
    .navdd-label{padding:14px 20px 4px 34px}
  }
  @media(max-width:640px){.tel{display:none}.brand .sub{display:none}}

  /* ---------- hero ---------- */
  .hero{padding:60px 0 var(--pad);border-top:0}
  .hero-grid{display:grid;grid-template-columns:1fr .85fr;gap:56px;align-items:start}
  .hero h1{margin-bottom:22px;font-weight:700;font-size:clamp(34px,4.6vw,58px);line-height:1.04;letter-spacing:-0.035em;max-width:14ch}
  .hero .lead{font-size:20px;color:var(--muted);max-width:580px}
  .trust{border-left:2px solid var(--accent);padding:18px 0 18px 22px;margin-top:32px;max-width:620px}
  .trust .who{font-family:var(--head);font-size:17px;font-weight:700;color:var(--text);letter-spacing:0}
  .trust p{font-size:15px;margin-top:6px;line-height:1.65}
  .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
  .hero-note{margin-top:18px;font-size:15px;color:var(--steel)}
  .hero-note a{color:var(--text);border-bottom:1px solid var(--line-2)}

  .hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);margin-top:28px;max-width:620px}
  .hero-proof .hp{padding:18px 20px;border-right:1px solid var(--line)}
  .hero-proof .hp:last-child{border-right:0}
  .hero-proof .hp .n{font-family:var(--head);font-size:20px;font-weight:700;color:var(--text);letter-spacing:-0.01em;line-height:1.25}
  .hero-proof .hp .l{font-size:13px;color:var(--steel);letter-spacing:0.06em;text-transform:uppercase;margin-top:8px;line-height:1.4}
  @media(max-width:640px){.hero-proof{grid-template-columns:1fr}.hero-proof .hp{border-right:0;border-bottom:1px solid var(--line)}.hero-proof .hp:last-child{border-bottom:0}}

  .diag{background:var(--panel);border:1px solid var(--line-2);padding:24px}
  .diag h3{margin-bottom:6px}
  .diag .sub{font-size:15px;color:var(--steel);padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}
  .diag ul{list-style:none;display:grid;gap:13px}
  .diag li{position:relative;padding-left:26px;font-size:15px;color:var(--muted);line-height:1.5}
  .diag li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:1px;background:var(--accent)}
  .diag .join{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
  .diag .join b{color:var(--text);font-weight:600}
  .diag .btn{width:100%;margin-top:22px}
  .diag .alt{display:block;text-align:center;margin-top:14px;font-size:15px;color:var(--steel)}
  .diag .alt a{color:var(--accent)}

  /* ---------- exhibit plates (museum-grade credential framing) ---------- */
  .exhibits{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line)}
  .exhibit{padding:30px 26px;border-right:1px solid var(--line)}
  .exhibit:last-child{border-right:0}
  .exhibit .idx{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--steel)}
  .exhibit .val{font-family:var(--head);font-size:24px;font-weight:700;color:var(--text);margin:16px 0 14px;letter-spacing:-0.01em;line-height:1.2}
  .exhibit .rule{height:1px;background:var(--accent);width:22px;margin-bottom:14px}
  .exhibit p{font-size:15px;line-height:1.6}

  /* seven-plate credential grids: last plate spans to fill its row */
  .exhibits.creds2{grid-template-columns:1fr 1fr}
  .exhibits.creds2 .exhibit{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .exhibits.creds2 .exhibit:nth-child(2n){border-right:0}
  .exhibits.creds2 .exhibit:last-child{grid-column:span 2;border-right:0;border-bottom:0}
  .exhibits.creds4{grid-template-columns:repeat(4,1fr)}
  .exhibits.creds4 .exhibit{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .exhibits.creds4 .exhibit:nth-child(4n){border-right:0}
  .exhibits.creds4 .exhibit:nth-last-child(-n+3){border-bottom:0}
  .exhibits.creds4 .exhibit:last-child{grid-column:span 2;border-right:0}
  @media(max-width:1080px){
    .exhibits.creds4{grid-template-columns:1fr 1fr}
    .exhibits.creds4 .exhibit{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
    .exhibits.creds4 .exhibit:nth-child(2n){border-right:0}
    .exhibits.creds4 .exhibit:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
    .exhibits.creds4 .exhibit:last-child{border-bottom:0}
  }
  @media(max-width:768px){
    .exhibits.creds2,.exhibits.creds4{grid-template-columns:1fr}
    .exhibits.creds2 .exhibit,.exhibits.creds4 .exhibit{border-right:0}
    .exhibits.creds2 .exhibit:last-child,.exhibits.creds4 .exhibit:last-child{grid-column:auto;border-bottom:0}
  }

  /* ---------- generic grids ---------- */
  .g2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
  .g3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .g4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}

  .quote{font-family:var(--head);font-size:clamp(26px,3.2vw,40px);font-weight:700;line-height:1.28;letter-spacing:-0.025em;color:var(--text);border-left:3px solid var(--accent);padding-left:28px}

  /* fit check */
  .fit{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
  .fit div{padding:24px 28px 24px 0;border-bottom:1px solid var(--line);font-size:17px;color:var(--muted);display:flex;gap:16px;align-items:flex-start}
  .fit div:nth-child(odd){padding-right:40px}
  .fit .n{font-family:var(--head);font-size:13px;font-weight:700;color:var(--accent);letter-spacing:0.06em;padding-top:5px;flex:none}
  .fit-note{margin-top:32px;font-family:var(--head);font-size:20px;font-weight:700;color:var(--text)}

  /* problem cards */
  .pcard{background:var(--panel);border:1px solid var(--line);padding:30px 26px;transition:transform .18s ease,border-color .18s ease}
  .pcard:hover{transform:translateY(-3px);border-color:var(--line-2)}
  .pcard .tagline{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
  .pcard h3{font-size:20px;margin-bottom:12px}
  .pcard p{font-size:15px}

  /* ---------- service route cards (tablist) ---------- */
  .tablist{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:0}
  .tab{
    appearance:none;background:var(--panel);border:0;text-align:left;cursor:pointer;
    padding:24px 22px;display:flex;flex-direction:column;gap:10px;
    transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
  }
  .tab:hover{background:var(--panel-2);transform:translateY(-2px)}
  .tab .tag{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--steel)}
  .tab .ttl{font-family:var(--head);font-size:17px;font-weight:700;color:var(--text);line-height:1.3}
  .tab .out{font-size:15px;color:var(--muted);line-height:1.5}
  .tab[aria-selected="true"]{background:var(--panel-2);box-shadow:inset 0 -3px 0 var(--accent)}
  .tab[aria-selected="true"] .tag{color:var(--accent)}
  @media(max-width:1080px){.tablist{grid-template-columns:1fr 1fr}}
  @media(max-width:640px){.tablist{grid-template-columns:1fr}}
  .tabpanel{max-height:0;opacity:0;overflow:hidden;padding:0;transition:opacity .3s ease,max-height .4s ease,padding .3s ease}
  .tabpanel.on{max-height:800px;opacity:1;padding:44px 0 0}
  .tabpanel .inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
  .tabpanel h3{font-size:24px;margin-bottom:16px}
  .tabpanel .focus{list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
  .tabpanel .focus li{padding:15px 0;border-bottom:1px solid var(--line);font-size:17px;color:var(--muted);display:flex;gap:16px}
  .tabpanel .focus li::before{content:"";width:7px;height:1px;background:var(--accent);margin-top:13px;flex:none}
  .outcome{margin-top:26px;border-left:2px solid var(--accent);padding:4px 0 4px 20px}
  .outcome .lbl{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--steel);display:block;margin-bottom:6px}
  .outcome .txt{font-family:var(--head);font-size:17px;font-weight:700;color:var(--text)}

  /* comparison */
  .cmp{background:var(--panel);border:1px solid var(--line);padding:32px 28px}
  .cmp .kind{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--steel);margin-bottom:16px}
  .cmp h3{font-size:20px;margin-bottom:14px;color:var(--muted)}
  .cmp p{font-size:15px}
  .cmp.us{border-color:var(--accent);background:var(--panel-2)}
  .cmp.us .kind{color:var(--accent)}
  .cmp.us h3{color:var(--text)}

  /* ladder + 90 days */
  .step{background:var(--panel);border:1px solid var(--line);padding:30px 26px;transition:transform .18s ease,border-color .18s ease}
  .step:hover{transform:translateY(-3px);border-color:var(--line-2)}
  .step .num{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
  .step h4{margin-bottom:10px;font-size:20px}
  .step p{font-size:15px}
  .step p b{color:var(--text);font-weight:600}
  .note-bar{margin-top:28px;border:1px solid var(--line);padding:20px 24px;font-size:17px;color:var(--text);background:var(--panel)}

  /* expandable discipline columns */
  .disc-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
  .disc{border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s ease}
  .disc summary{cursor:pointer;padding:24px 22px;font-family:var(--head);font-size:17px;font-weight:700;list-style:none;position:relative;color:var(--text)}
  .disc summary::-webkit-details-marker{display:none}
  .disc summary .idx{display:block;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--steel);margin-bottom:14px}
  .disc summary::after{content:"+";position:absolute;right:20px;top:24px;color:var(--accent);font-size:20px;font-weight:700}
  .disc[open]{background:var(--panel)}
  .disc[open] summary::after{content:"\2013"}
  .disc[open] summary .idx{color:var(--accent)}
  .disc-body{padding:0 22px 24px}
  .disc-body p{font-size:15px;line-height:1.6}
  @media(max-width:1080px){.disc-grid{grid-template-columns:1fr 1fr}.disc:nth-child(2n){border-right:0}}
  @media(max-width:640px){.disc-grid{grid-template-columns:1fr}.disc{border-right:0}}

  /* leadership */
  .lead-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:52px;align-items:start}
  .portrait-photo{width:100%;max-width:280px;height:auto;display:block;border:1px solid var(--line-2)}
  .plate{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}
  .plate .nm{font-family:var(--head);font-size:24px;font-weight:700;letter-spacing:-0.01em}
  .plate .role{font-size:15px;color:var(--accent);margin-top:6px;font-weight:600}
  .plate p{font-size:15px;margin-top:14px}
  .plate a{color:var(--accent);border-bottom:1px solid var(--line-2)}

  .tl{border-left:1px solid var(--line-2)}
  .tl .item{position:relative;padding:0 0 34px 30px}
  .tl .item:last-child{padding-bottom:0}
  .tl .item::before{content:"";position:absolute;left:-3px;top:8px;width:5px;height:5px;background:var(--accent)}
  .tl .yr{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent)}
  .tl h4{margin:8px 0 8px;font-size:17px}
  .tl p{font-size:15px}
  .means{margin-top:34px;border:1px solid var(--line);padding:26px 28px;background:var(--panel);font-size:17px;color:var(--muted)}
  .means b{color:var(--accent);font-weight:600}

  /* certification exhibit grid */
  .certs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
  .cert{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .cert .nm{font-family:var(--head);font-size:17px;font-weight:700;color:var(--text);line-height:1.3}
  .cert .by{font-size:13px;color:var(--steel);margin-top:10px;letter-spacing:0.06em;text-transform:uppercase}

  /* standards */
  .chips{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
  .chip{padding:18px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:170px;flex:1 1 170px}
  .chip .c{font-family:var(--head);font-size:17px;font-weight:700;color:var(--text)}
  .chip .d{font-size:13px;color:var(--steel);margin-top:5px}
  a.chip:hover{background:var(--panel-2)}
  a.chip:hover .c{color:var(--accent)}
  .fold{border:1px solid var(--line);margin-top:24px;background:var(--panel)}
  .fold summary{cursor:pointer;padding:20px 54px 20px 24px;font-family:var(--head);font-size:17px;font-weight:700;list-style:none;position:relative}
  .fold summary::-webkit-details-marker{display:none}
  .fold summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:20px;font-weight:700}
  .fold[open] summary::after{content:"–"}
  .fold .chips{border-top:1px solid var(--line);border-left:0}
  .fold .chip:first-child{border-left:0}

  /* faq */
  .faq{border-top:1px solid var(--line)}
  .faq details{border-bottom:1px solid var(--line)}
  .faq summary{cursor:pointer;padding:22px 56px 22px 0;font-family:var(--head);font-size:17px;font-weight:600;list-style:none;position:relative;color:var(--text)}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:20px;font-weight:700}
  .faq details[open] summary{color:var(--accent)}
  .faq details[open] summary::after{content:"–"}
  .faq p{padding:0 60px 26px 0;font-size:17px;max-width:900px}

  /* contact */
  .contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:start}
  #contact h2{font-size:clamp(26px,3.2vw,40px)}
  .ch{border-top:1px solid var(--line)}
  .ch div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}
  .ch .k{color:var(--steel);letter-spacing:0.06em;text-transform:uppercase;font-size:13px;font-family:var(--head);font-weight:700;padding-top:3px}
  .ch .v{text-align:right}
  .ch .v a{color:var(--accent)}

  footer{border-top:1px solid var(--line);padding:56px 0 64px}
  .foot{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:start}
  .foot p{font-size:15px}
  .foot .links{display:flex;flex-wrap:wrap;gap:18px;font-size:15px;color:var(--muted)}
  .foot .links a:hover{color:var(--accent)}
  .foot .legal{margin-top:22px;font-size:15px;color:var(--steel)}

  .mcta{display:none}

  @media(max-width:1080px){
    :root{--pad:30px}
    .hero-grid,.lead-grid,.contact-grid,.tabpanel .inner{grid-template-columns:1fr;gap:40px}
    .g3,.g4,.exhibits{grid-template-columns:1fr 1fr}
    .exhibit{border-bottom:1px solid var(--line)}
    .exhibit:nth-child(2n){border-right:0}
    .certs{grid-template-columns:1fr 1fr}
    .foot{grid-template-columns:1fr}
  }
  @media(max-width:768px){
    :root{--pad:24px}
    .g2,.g3,.g4,.exhibits,.fit,.certs{grid-template-columns:1fr}
    .exhibit{border-right:0}
    .fit div{padding-right:0}
    .hero{padding-top:56px}
    .panel,.diag,.pcard,.cmp,.step{padding:24px 20px}
    .faq p{padding-right:0}
    body{padding-bottom:var(--mcta-height)}
    .hdr-cta .btn,.hdr-cta .mail-ic{display:none}
    .mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--panel);border-top:1px solid var(--line-2)}
    .mcta a{flex:1;text-align:center;padding:17px 2px;font-size:13px;font-weight:700;font-family:var(--head);letter-spacing:0.02em;text-transform:uppercase;color:var(--text);min-height:52px}
    .mcta a+a{border-left:1px solid var(--line)}
    .mcta a.wa{color:#3ddcc4}
    :root[data-theme="light"] .mcta a.wa{color:#0e7a6e}
    .mcta a.em{color:var(--muted)}
    .mcta a.bk{background:var(--accent-fill);color:#0A111C}
  }
  @media(max-width:360px){
    .mcta a{font-size:13px;letter-spacing:0;padding-left:1px;padding-right:1px}
  }
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ---- practice cross-links ---- */
.related{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.rel{padding:28px 26px;border-right:1px solid var(--line);display:block}
.rel:last-child{border-right:0}
.rel .std{font-family:var(--head);font-size:20px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rel .kind{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);margin-top:10px}
.rel .desc{font-size:15px;color:var(--muted);margin-top:12px;line-height:1.6}
a.rel:hover{background:var(--panel-2)}
a.rel:hover .std{color:var(--accent)}
.rel.current{background:var(--panel-2)}
.here{font-family:'Inter',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#0A111C;background:var(--accent-fill);padding:3px 8px}

/* ---- requirement breakdown rows ---- */
.adds{border-top:1px solid var(--line)}
.adds .row{display:grid;grid-template-columns:.34fr .66fr;gap:36px;padding:24px 0;border-bottom:1px solid var(--line)}
.adds .t{font-family:var(--head);font-size:17px;font-weight:700;color:var(--text);line-height:1.35}
.adds p{font-size:15px}

@media(max-width:1080px){.related{grid-template-columns:1fr 1fr}.rel:nth-child(2n){border-right:0}.rel:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:768px){.related{grid-template-columns:1fr}.rel{border-right:0;border-bottom:1px solid var(--line)}.rel:last-child{border-bottom:0}}
@media(max-width:768px){.adds .row{grid-template-columns:1fr;gap:10px}}

/* ---- advisor h2: manual break after the em dash; text-wrap:balance doesn't
   balance the tail after a forced <br>, so this heading uses :pretty instead
   to avoid re-introducing a widow when the second line wraps further ---- */
#advisor h2{text-wrap:pretty}

/* ---- aerospace-defense-advisory-india: cash-risk window banner ---- */
:root{--warn:#FF8A65;--warn-line:rgba(255,138,101,0.35)}
.cash-window{border:1px solid var(--line-2);background:var(--panel)}
.cw-track{display:grid;grid-template-columns:repeat(4,1fr)}
.cw-seg{padding:26px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.cw-seg:last-child{border-right:0}
.cw-seg .lbl{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent)}
.cw-seg .txt{font-size:15px;color:var(--muted);line-height:1.55}
.cw-seg.cw-break{background:var(--panel-2)}
.cw-seg.cw-break .lbl{color:#8adfff}
.cw-note{padding:18px 22px;border-top:1px solid var(--line);font-size:15px;color:var(--steel)}
@media(max-width:1080px){.cw-track{grid-template-columns:1fr 1fr}.cw-seg{border-bottom:1px solid var(--line)}.cw-seg:nth-child(2n){border-right:0}}
@media(max-width:640px){.cw-track{grid-template-columns:1fr}.cw-seg{border-right:0}}

/* ---- narrative vs ground-truth comparison grid ---- */
.cmp2{border-top:1px solid var(--line)}
.cmp2-row{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--line)}
.cmp2-cell{padding:24px 28px}
.cmp2-cell.narrative{border-right:1px solid var(--line);background:var(--panel)}
.cmp2-cell.truth{background:var(--panel-2)}
.cmp2-cell .kind{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--steel);margin-bottom:10px}
.cmp2-cell.truth .kind{color:var(--accent)}
.cmp2-cell p{font-size:15px;color:var(--muted)}
.cmp2-cell.truth p{color:var(--text)}
@media(max-width:768px){.cmp2-row{grid-template-columns:1fr}.cmp2-cell.narrative{border-right:0;border-bottom:1px solid var(--line)}}

/* ---- risk-avoid pcard variant + decision-gate step variant ---- */
.pcard.warn{border-color:var(--warn-line)}
.pcard.warn .tagline{color:var(--warn)}
.step.gate{border-color:var(--warn-line);background:var(--panel-2)}
.step.gate .num{color:var(--warn)}

/* ---- executive consultation form ---- */
.xform{border:1px solid var(--line);background:var(--panel);padding:32px}
.xform .frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.xform .fld{display:flex;flex-direction:column;gap:8px;margin-top:18px;font-size:15px;color:var(--steel)}
.xform .frow:first-child .fld{margin-top:0}
.xform .fld-full{width:100%}
.xform label span{font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--steel)}
.xform input,.xform select{
  background:var(--bg);border:1px solid var(--line-2);color:var(--text);
  padding:12px 14px;font-family:'Inter',sans-serif;font-size:15px;width:100%;
}
.xform input:focus,.xform select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.xform select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--steel) 50%),linear-gradient(135deg,var(--steel) 50%,transparent 50%);background-position:calc(100% - 18px) center,calc(100% - 13px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.xform .fnote{font-size:15px;color:var(--steel);margin-top:14px}
@media(max-width:640px){.xform .frow{grid-template-columns:1fr}}


/* ---------- v1.3 corrections ---------- */
/* Diagnostic panel title: styled as a heading, not marked up as one, so the
   document outline no longer opens with an h3 before the first h2. */
.dh{font-family:var(--head);font-weight:700;font-size:20px;line-height:1.12;letter-spacing:-0.02em;text-wrap:balance;margin-bottom:6px;color:var(--text)}
/* Cookie consent — only rendered when analytics is configured. */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--panel);border-top:1px solid var(--line-2);padding:18px 20px;display:none}
.cc.show{display:block}
.cc-in{max-width:1180px;margin:0 auto;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.cc p{flex:1 1 320px;margin:0;font-size:15px;color:var(--muted);line-height:1.5}
.cc p a{color:var(--accent)}
.cc-btns{display:flex;gap:10px;flex-wrap:wrap}
.cc .btn{white-space:nowrap}
@media (max-width:620px){.cc{padding-bottom:calc(18px + var(--mcta-height,0px))}.cc-btns{width:100%}.cc .btn{flex:1}}
/* Submit button busy state */
.btn[aria-busy="true"]{opacity:.65;pointer-events:none}

/* Recommendations — third-party corroboration, quoted with attribution */
.rec{background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--accent);padding:26px 28px;margin:0;display:flex;flex-direction:column;gap:18px}
.rec blockquote{margin:0;display:flex;flex-direction:column;gap:12px}
.rec blockquote p{font-size:15px;line-height:1.62;color:var(--muted);margin:0}
.rec figcaption{display:flex;flex-direction:column;gap:4px;padding-top:16px;border-top:1px solid var(--line);margin-top:auto}
.rec .who{font-family:var(--head);font-size:17px;font-weight:700;color:var(--text);letter-spacing:0}
.rec .what{font-size:15px;color:var(--steel);line-height:1.45}
.rec .rel{font-size:13px;color:var(--steel);letter-spacing:0.02em}
@media (max-width:620px){.rec{padding:20px 18px}}

/* ---------- v1.3 accessibility: WCAG 2.2 AA target size (2.5.8) ----------
   Four link groups sat below the 24x24 minimum. These are not prose links, so
   the "inline in a sentence" exception does not apply to them.

   The ::after overlay enlarges the pointer/touch target to 24px WITHOUT changing
   layout or visual appearance — adding real padding here would reflow the header
   and the contact lists. Links that genuinely sit inside a sentence are left
   alone; they are exempt, and padding them would break the line box. */
.hdr-cta a.tel{min-height:24px;display:inline-flex;align-items:center}
/* Re-assert the under-640px hide. The rule above raises the target size but its
   specificity also outranks @media(max-width:640px){.tel{display:none}}, which
   put the 113px phone number back into the header on phones and pushed the row
   past the viewport. Same specificity here, so the hide wins again. */
@media(max-width:640px){.hdr-cta a.tel{display:none}}
.hdr-cta a.mail-ic{min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center}
.ch .v a,
.diag .alt a,
footer .foot p a{position:relative;display:inline-block}
.ch .v a::after,
.diag .alt a::after,
footer .foot p a::after{content:"";position:absolute;left:0;right:0;top:50%;
  transform:translateY(-50%);height:24px;pointer-events:auto}
/* Nav and footer link lists computed to 23.8px from line-height (14px x 1.7) —
   0.2px under the 24px WCAG 2.2 AA target minimum. min-height closes it without
   altering the visual rhythm. */
header nav a,
footer .links a{min-height:24px;display:flex;align-items:center}
