/* ==========================================================================
   Embassy of India, Ashgabat — Stylesheet
   Layout from the "new-ui" design, reworked to the
   Digital Brand Identity Manual (DBIM) v3, Jan 2025 and GIGW 3.0.
   ========================================================================== */


/* ---------------------------------------------------------------------- */
/* 0. NOTO SANS — self-hosted; fallback for Hindi and Cyrillic (Russian)        */
/* ---------------------------------------------------------------------- */
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/noto-sans-devanagari-400-normal.woff2) format("woff2"); unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:500; font-display:swap; src:url(fonts/noto-sans-devanagari-500-normal.woff2) format("woff2"); unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:600; font-display:swap; src:url(fonts/noto-sans-devanagari-600-normal.woff2) format("woff2"); unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:700; font-display:swap; src:url(fonts/noto-sans-devanagari-700-normal.woff2) format("woff2"); unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/noto-sans-latin-ext-400-normal.woff2) format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:500; font-display:swap; src:url(fonts/noto-sans-latin-ext-500-normal.woff2) format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:600; font-display:swap; src:url(fonts/noto-sans-latin-ext-600-normal.woff2) format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:700; font-display:swap; src:url(fonts/noto-sans-latin-ext-700-normal.woff2) format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/noto-sans-latin-400-normal.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:500; font-display:swap; src:url(fonts/noto-sans-latin-500-normal.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:600; font-display:swap; src:url(fonts/noto-sans-latin-600-normal.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:700; font-display:swap; src:url(fonts/noto-sans-latin-700-normal.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* Noto Sans Cyrillic (same family name; downloaded only when Russian text is shown) */
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/noto-sans-cyrillic-400-normal.woff2) format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:500; font-display:swap; src:url(fonts/noto-sans-cyrillic-500-normal.woff2) format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:600; font-display:swap; src:url(fonts/noto-sans-cyrillic-600-normal.woff2) format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:700; font-display:swap; src:url(fonts/noto-sans-cyrillic-700-normal.woff2) format("woff2"); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
/* Noto Sans Arabic (same family name, so Arabic text uses it automatically; downloaded only when Arabic text is shown) */
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/noto-sans-arabic-arabic-400-normal.woff2) format("woff2"); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:500; font-display:swap; src:url(fonts/noto-sans-arabic-arabic-400-normal.woff2) format("woff2"); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:600; font-display:swap; src:url(fonts/noto-sans-arabic-arabic-700-normal.woff2) format("woff2"); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face{ font-family:"Noto Sans"; font-style:normal; font-weight:700; font-display:swap; src:url(fonts/noto-sans-arabic-arabic-700-normal.woff2) format("woff2"); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }

/* ---------------------------------------------------------------------- */
/* 0b. MEA TYPEFACES — same as www.mea.gov.in (checked 11 Oct 2026)         */
/*     Body/UI: Google Sans Flex · Section titles: Libre Caslon Text        */
/*     Both SIL OFL 1.1, self-hosted. Noto Sans (above) stays as the        */
/*     fallback for Hindi (Devanagari), Arabic and Cyrillic.                */
/* ---------------------------------------------------------------------- */
@font-face{ font-family:"Google Sans Flex"; font-style:normal; font-weight:300 700; font-display:swap; src:url(fonts/google-sans-flex-latin-ext-wght.woff2) format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:"Google Sans Flex"; font-style:normal; font-weight:300 700; font-display:swap; src:url(fonts/google-sans-flex-latin-wght.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Libre Caslon Text"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/libre-caslon-text-latin-ext-400-normal.woff2) format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:"Libre Caslon Text"; font-style:normal; font-weight:700; font-display:swap; src:url(fonts/libre-caslon-text-latin-ext-700-normal.woff2) format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:"Libre Caslon Text"; font-style:normal; font-weight:400; font-display:swap; src:url(fonts/libre-caslon-text-latin-400-normal.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"Libre Caslon Text"; font-style:normal; font-weight:700; font-display:swap; src:url(fonts/libre-caslon-text-latin-700-normal.woff2) format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }



/* ---------------------------------------------------------------------- */
/* 1. DESIGN TOKENS                                                        */
/*    Primary palette: ONE colour group (DBIM §2.1, Figure 1) — "Blue":    */
/*    #162F6A · #214AAB · #5279D7 · #A3BBF3 · #D2DFFF                      */
/* ---------------------------------------------------------------------- */
:root{
  --key-900:#162F6A;   /* key colour — darkest shade: footer, icons, PM quote, headings */
  --key-700:#214AAB;   /* buttons, links, active states */
  --key-500:#5279D7;
  --key-200:#A3BBF3;   /* borders */
  --key-50:#D2DFFF;    /* light backgrounds, icon circles, hover */

  /* Functional palette — exact DBIM Table 1 values */
  --linen:#EBEAEA;
  --inclusive:#FFFFFF;
  --text:#150202;      /* Deep Earthy Brown */
  --success:#198754;
  --warning:#FFC107;
  --error:#DC3545;
  --info:#0D6EFD;
  --grey1:#C6C6C6;
  --grey2:#8E8E8E;
  --grey3:#606060;

  --card-shadow:0 2px 8px rgba(0,0,0,.08);
  --font:"Google Sans Flex","Noto Sans",system-ui,-apple-system,"Segoe UI",sans-serif;   /* as mea.gov.in */
  --font-title:"Libre Caslon Text","Noto Sans",Georgia,serif;                           /* mea.gov.in section titles */
  --text-body:#323232;   /* mea.gov.in body text */
  --text-muted:#666666;  /* mea.gov.in dates */
  --content-width:1440px;
  --fs-base:16px;
}
html.hc{
  --key-900:#000; --key-700:#000; --key-200:#fff; --key-50:#fff;
  --linen:#fff; --text:#000; --text-body:#000; --text-muted:#000; --info:#0000EE; --grey3:#000;
}
html.hc img{ filter:grayscale(1) contrast(1.1); }

/* ---------------------------------------------------------------------- */
/* 2. BASE                                                                 */
/* ---------------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ font-size:var(--fs-base); scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--inclusive); color:var(--text-body);
  font-family:var(--font); font-size:1rem; font-weight:400; line-height:1.5;   /* 16px / 24px, as mea.gov.in */
}
a{ color:var(--info); text-decoration:none; }   /* DBIM Table 1: Blue #0D6EFD for hyperlinks */
a:hover{ color:var(--key-900); text-decoration:underline; }
p > a:not([class]){ text-decoration:underline; }   /* links inside running text stay distinguishable (WCAG 1.4.1) */
img{ max-width:100%; display:block; }
picture{ display:contents; }   /* WebP <source> wrapper must not change layout */
picture > source{ display:none; }
img[data-fallback]{ background:var(--linen); }
button{ font:inherit; }
ul{ list-style:none; margin:0; padding:0; }
:focus-visible{ outline:3px solid var(--warning); outline-offset:2px; }

/* Type scale — desktop (DBIM Table 3); body text left-aligned */
/* Sizes and weights follow www.mea.gov.in (11 Oct 2026) */
h1,h2,h3,h4{ font-family:var(--font); color:var(--key-900); margin:0 0 16px; line-height:1.35; }
h1{ font-size:2.125rem; font-weight:500; font-family:var(--font-title); }   /* 34px Caslon */
h2{ font-size:1.25rem;  font-weight:700; }                                  /* 20px */
h3{ font-size:1rem;     font-weight:600; line-height:1.625; }                /* 16px / 26px */
h4{ font-size:1rem;     font-weight:600; }
p{ margin:0 0 12px; }

.wrap{ max-width:var(--content-width); margin:0 auto; padding:0 32px; }
.card{ background:var(--key-50); border:1px solid var(--key-200); border-radius:0; box-shadow:var(--card-shadow); }
.icon{ width:22px; height:22px; flex:none; stroke:currentColor; fill:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.icon.sm{ width:16px; height:16px; }
.icon.md{ width:20px; height:20px; }
.sr-only{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; padding:0; margin:-1px; }
.skip-link{ position:absolute; left:-9999px; top:0; background:var(--key-900); color:#fff; padding:10px 16px; z-index:2000; font-weight:600; }
.skip-link:focus{ left:10px; top:10px; color:#fff; }
.section-title{ display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.section-title h2{ margin:0; position:relative; padding-bottom:8px; font-family:var(--font-title); font-size:1.25rem; font-weight:400; line-height:1.35; color:var(--text-body); }   /* mea.gov.in .titleText: Caslon 20px/27px */
.section-title h2::after{ content:""; position:absolute; left:0; bottom:0; width:48px; height:4px; background:var(--key-700); }
.ft{ font-size:.6875rem; font-weight:700; color:var(--error); border:1px solid currentColor; padding:0 4px; margin-left:4px; vertical-align:1px; }
.btn-primary{ display:inline-flex; align-items:center; gap:6px; background:var(--key-700); color:#fff; padding:10px 20px; font-size:.875rem; font-weight:600; border:2px solid var(--key-700); cursor:pointer; }
.btn-primary:hover,.btn-primary:focus-visible{ background:var(--key-900); border-color:var(--key-900); color:#fff; text-decoration:none; }
.btn-outline{ display:inline-flex; align-items:center; gap:6px; background:#fff; color:var(--key-700); padding:8px 18px; font-size:.875rem; font-weight:600; border:2px solid var(--key-700); cursor:pointer; }
.btn-outline:hover,.btn-outline:focus-visible{ background:var(--key-700); color:#fff; text-decoration:none; }
.ctl-btn{ width:34px; height:34px; border:1px solid var(--key-200); background:#fff; color:var(--key-900); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.ctl-btn:hover{ background:var(--key-50); }

/* ---------------------------------------------------------------------- */
/* 3. USER-CONTROLS BAR                                                    */
/* ---------------------------------------------------------------------- */
.utility-bar{ background:var(--key-900); color:#fff; font-size:.875rem; }
.utility-bar .wrap{ display:flex; justify-content:space-between; align-items:center; padding:6px 32px; flex-wrap:wrap; gap:8px; min-height:40px; }
.utility-bar a{ color:#fff; }
.utility-bar a:hover{ color:#fff; text-decoration:underline; }
.util-links{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.util-right{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.ctl-group{ display:flex; align-items:center; gap:5px; }
.ctl-group button,.ctl-group a{
  background:none; border:1px solid rgba(255,255,255,.55); color:#fff; border-radius:3px;
  min-width:28px; height:26px; padding:0 8px; font-size:.75rem; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
}
.ctl-group button:hover,.ctl-group a:hover,
.ctl-group button[aria-pressed="true"],.ctl-group a[aria-current="true"]{ background:#fff; color:var(--key-900); text-decoration:none; }

/* ---------------------------------------------------------------------- */
/* 4. HEADER — Logo Lockup 3A (DBIM §5.2.3) + search                       */
/* ---------------------------------------------------------------------- */
header.site-header{ border-bottom:1px solid var(--linen); background:#fff; }
.header-inner{ display:flex; justify-content:space-between; align-items:center; padding:18px 32px; gap:20px; flex-wrap:wrap; }
.brand{ display:flex; align-items:center; gap:16px; color:var(--text); text-decoration:none; }
.brand:hover{ text-decoration:none; color:var(--text); }
.brand img.emblem{ height:76px; width:auto; flex-shrink:0; }
.brand .divider{ width:1px; height:58px; background:var(--grey1); }
.brand-text-block{ display:flex; flex-direction:column; }
.brand .name-main{ font-size:1.25rem; font-weight:700; color:var(--text); margin:0; line-height:1.25; }
.brand .name-tag{ font-size:.875rem; color:var(--grey3); margin:2px 0 0; }
.header-tools{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.search-box{ display:flex; align-items:center; border:2px solid var(--key-700); width:380px; max-width:100%; background:#fff; }
.search-box:focus-within{ box-shadow:0 0 0 3px var(--warning); }
.search-box input{ border:none; outline:none; flex:1; font-size:.875rem; font-family:var(--font); min-width:0; padding:10px 14px; color:var(--text); background:transparent; }
.search-box button{ border:none; background:var(--key-700); color:#fff; cursor:pointer; align-self:stretch; padding:0 14px; display:flex; align-items:center; }
.search-box button:hover{ background:var(--key-900); }

/* ---------------------------------------------------------------------- */
/* 5. PRIMARY NAVIGATION — 5 level-1 sections (DBIM Annexure A.1)          */
/* ---------------------------------------------------------------------- */
nav.main-nav{ background:#fff; border-bottom:1px solid var(--linen); position:sticky; top:0; z-index:100; box-shadow:0 2px 6px rgba(0,0,0,.05); }
nav.main-nav > .wrap{ padding:0 32px; position:relative; }
.nav-toggle{ display:none; background:none; border:0; color:var(--key-900); font-weight:600; padding:12px 0; cursor:pointer; align-items:center; gap:8px; }
ul.nav-list{ display:flex; flex-wrap:wrap; }
ul.nav-list > li{ position:static; }
ul.nav-list > li > a, ul.nav-list > li > button{
  display:flex; align-items:center; gap:6px; padding:16px 18px; font-weight:600; color:var(--text);
  font-size:1rem; background:none; border:0; border-bottom:3px solid transparent; cursor:pointer; text-decoration:none;
}
ul.nav-list > li > a:hover, ul.nav-list > li > button:hover,
ul.nav-list > li > button[aria-expanded="true"]{ color:var(--key-700); border-bottom-color:var(--key-700); text-decoration:none; }
ul.nav-list > li > a[aria-current="page"]{ color:var(--key-700); }
.chev{ width:14px; height:14px; color:var(--grey2); transition:transform .2s; }
button[aria-expanded="true"] .chev{ transform:rotate(180deg); color:var(--key-900); }
.dropdown{
  display:none; position:absolute; top:100%; left:32px; right:32px; background:#fff;
  border:1px solid var(--linen); border-top:3px solid var(--key-700); box-shadow:0 14px 30px rgba(0,0,0,.14);
  padding:24px; z-index:200; max-height:calc(100vh - 150px); overflow-y:auto;
}
ul.nav-list > li.open > .dropdown{ display:block; }
.no-js ul.nav-list > li:focus-within > .dropdown{ display:block; }
.dd-grid{ display:grid; grid-template-columns:repeat(var(--cols,3),minmax(0,1fr)); gap:20px 32px; }
.dd-grid h3{ font-size:.875rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--key-700); padding-bottom:8px; margin-bottom:6px; border-bottom:1px solid var(--linen); }
.dd-grid ul.two{ display:grid; grid-template-columns:1fr 1fr; column-gap:16px; }
.dd-grid .span2{ grid-column:span 2; }
.dropdown a{ display:block; padding:7px 10px; margin:0 -10px; color:var(--text); font-size:.875rem; }
.dropdown a:hover,.dropdown a:focus-visible{ background:var(--key-50); color:var(--key-700); text-decoration:underline; }

/* ---------------------------------------------------------------------- */
/* 6. TOP BANNER CAROUSEL — full width 1800×600, CCPS banner first         */
/* ---------------------------------------------------------------------- */
.hero-banner{ position:relative; background:var(--key-900); overflow:hidden; }
.slides{ position:relative; aspect-ratio:1800/600; max-height:600px; width:100%; }
.slide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .6s,visibility .6s; }
.slide.on{ opacity:1; visibility:visible; }
.slide img{ width:100%; height:100%; object-fit:cover; }
.slide .cap{ position:absolute; left:0; right:0; bottom:0; padding:60px 0 56px; color:#fff; background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,0)); }
.slide .cap .date{ font-size:.875rem; color:#fff; font-weight:600; opacity:.92; }
.slide .cap p.t{ color:#fff; font-size:1.375rem; font-weight:500; line-height:1.35; max-width:900px; margin:6px 0 0; }
.slide.ccps{ background:linear-gradient(120deg,var(--key-900),var(--key-700)); display:flex; align-items:center; justify-content:center; color:#fff; text-align:center; padding:24px; }
.slide.ccps .badge{ display:inline-block; border:1px solid rgba(255,255,255,.6); font-size:.75rem; padding:2px 10px; margin-bottom:12px; }
.slide.ccps p.t{ font-size:1.5rem; font-weight:700; margin:0; }
.slide.ccps p.s{ opacity:.9; font-size:.875rem; margin:6px 0 0; }
.hero-ctrl{ position:absolute; right:32px; bottom:14px; display:flex; gap:8px; align-items:center; z-index:5; }
.hero-ctrl button{ width:36px; height:36px; border:1.5px solid rgba(255,255,255,.8); background:rgba(0,0,0,.4); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.hero-ctrl button:hover{ background:rgba(0,0,0,.7); }
.dots{ display:flex; gap:6px; margin-right:6px; flex-wrap:wrap; }
.dots button{ width:12px; height:12px; padding:0; border-radius:50%; background:rgba(255,255,255,.45); border-color:transparent; }
.dots button[aria-current="true"]{ background:#fff; }
.slide-count{ color:#fff; font-size:.75rem; text-shadow:0 1px 2px rgba(0,0,0,.6); }

/* ---------------------------------------------------------------------- */
/* 7. LIVE TRACKER (alerts ticker)                                         */
/* ---------------------------------------------------------------------- */
.live-tracker-outer{ max-width:var(--content-width); margin:0 auto; padding:14px 32px 0; }
.live-tracker{ display:flex; align-items:stretch; min-height:52px; }
.lt-label{ background:var(--error); color:#fff; flex:0 0 220px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; font-size:1.125rem; font-weight:700; gap:10px; }
.lt-pause{ width:34px; height:34px; border:1.5px solid rgba(255,255,255,.8); background:none; color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.lt-pause:hover{ background:rgba(255,255,255,.15); }
.lt-ticker{ flex:1; background:var(--linen); display:flex; align-items:center; overflow:hidden; padding:0 20px; }
.lt-ticker ul{ display:flex; gap:44px; white-space:nowrap; width:max-content; animation:tick 70s linear infinite; }
.live-tracker:hover .lt-ticker ul,.live-tracker:focus-within .lt-ticker ul,.live-tracker.paused .lt-ticker ul{ animation-play-state:paused; }
.lt-ticker a{ color:var(--text); font-size:1rem; }
.lt-ticker .ft{ color:var(--text); } /* red on --linen is 3.77:1; black passes WCAG 1.4.3 */
.site-footer .ft{ color:#fff; } /* PDF label on the dark footer (WCAG 1.4.3) */
.lt-ticker a:hover,.lt-ticker a:focus-visible{ color:var(--key-700); text-decoration:underline; }
.lt-ticker li::before{ content:"●"; color:var(--error); margin-right:10px; font-size:.6rem; vertical-align:middle; }
.lt-badge-new{ background:var(--success); color:#fff; font-size:.6875rem; font-weight:700; padding:2px 8px; border-radius:10px; margin-left:8px; }
@keyframes tick{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){
  .lt-ticker ul{ animation:none; flex-wrap:wrap; white-space:normal; width:auto; row-gap:6px; padding:8px 0; }
  .lt-ticker li[aria-hidden="true"]{ display:none; }
}

/* ---------------------------------------------------------------------- */
/* 8. PM QUOTE + HEAD OF MISSION                                           */
/* ---------------------------------------------------------------------- */
.leaders{ padding:40px 0 0; }
.leaders-grid{ display:flex; gap:28px; align-items:stretch; }
.pm-quote{ flex:1.8 1 600px; background:var(--key-900); color:#fff; display:grid; grid-template-columns:200px 1fr; gap:28px; padding:28px 28px 0; align-items:center; margin:0; overflow:hidden; }
.pm-quote img{ width:200px; height:248px; object-fit:contain; object-position:bottom; align-self:end; }
.pm-quote figcaption{ padding-bottom:28px; }
.pm-quote blockquote{ margin:0; font-size:1.125rem; line-height:1.55; font-weight:500; }
.pm-quote blockquote::before{ content:"\201C"; font-size:3rem; line-height:0; vertical-align:-.4em; margin-right:4px; opacity:.6; }
.pm-quote .cite{ display:block; margin-top:12px; font-size:.875rem; opacity:.92; }
.pm-quote .cite a{ color:#fff; text-decoration:underline; }
.hom-card{ flex:1 1 320px; }
.hom-card .card{ padding:24px; text-align:center; height:100%; }
.hom-card img{ width:150px; height:150px; object-fit:cover; object-position:top; border-radius:50%; margin:0 auto 16px; border:4px solid #fff; box-shadow:var(--card-shadow); }
/* State Emblem when the post is vacant: shown whole, at its own 258:438 ratio — no circle crop */
.hom-card img.hom-emblem{ width:auto; height:136px; aspect-ratio:258/438; object-fit:contain; border-radius:0; border:0; box-shadow:none; background:none; padding:0; margin:8px auto 20px; }
html.hc .hom-card img.hom-emblem{ filter:none; }
.hom-card .role{ font-size:1rem; color:#555555; text-transform:uppercase; margin-bottom:4px; }   /* mea.gov.in .textbold */
.hom-card h3{ font-size:1.25rem; font-weight:600; margin-bottom:16px; }   /* mea.gov.in .textsmall: 20px/600 */
.hom-card .links a{ color:var(--key-900); display:block; padding:9px 0; font-size:.875rem; font-weight:600; border-top:1px solid var(--key-200); }

/* ---------------------------------------------------------------------- */
/* 9. MEDIA TABS + HIGHLIGHTS FEED                                         */
/* ---------------------------------------------------------------------- */
.split-section{ padding:48px 0; }
.split-grid{ display:flex; gap:28px; align-items:flex-start; }
.media-tabs{ flex:1.8 1 600px; min-width:0; }
.tab-buttons{ display:flex; gap:4px; border-bottom:2px solid var(--key-200); margin-bottom:20px; flex-wrap:wrap; }
.tab-buttons button{ background:none; border:none; padding:12px 16px; font-size:1rem; font-weight:600; color:var(--grey3); cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; }
.tab-buttons button[aria-selected="true"]{ color:var(--key-700); border-bottom-color:var(--key-700); }
.tab-buttons button:hover{ color:var(--key-700); }
.tab-panel[hidden]{ display:none; }
.tab-panel li{ display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-bottom:1px solid var(--linen); }
.tab-panel li a{ color:var(--text); font-size:1rem; }
.tab-panel li a:hover{ color:var(--key-700); }
.tab-panel li .date{ color:var(--text-muted); font-size:.875rem; white-space:nowrap; text-align:right; }
.tab-panel .more{ margin-top:16px; }

.hero-feed{ flex:1 1 380px; min-width:0; }
.hero-feed .feed-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.hero-feed .feed-head h2{ font-family:var(--font-title); font-size:1.25rem; font-weight:400; color:var(--text-body); margin:0; }
.hero-feed-viewport{ height:460px; overflow:hidden; position:relative; }
.hero-feed-viewport::before,.hero-feed-viewport::after{ content:""; position:absolute; left:0; right:0; height:24px; z-index:5; pointer-events:none; }
.hero-feed-viewport::before{ top:0; background:linear-gradient(#fff,rgba(255,255,255,0)); }
.hero-feed-viewport::after{ bottom:0; background:linear-gradient(rgba(255,255,255,0),#fff); }
.hero-feed-track{ display:flex; flex-direction:column; gap:16px; will-change:transform; }
.feed-item{ display:flex; gap:12px; background:var(--key-50); border:1px solid var(--key-200); padding:10px; color:var(--text); }
.feed-item:hover{ border-color:var(--key-700); text-decoration:none; color:var(--text); }
.feed-item img{ width:96px; height:72px; object-fit:cover; flex-shrink:0; }
.feed-item .date{ font-size:.875rem; color:var(--key-700); font-weight:700; }
.feed-item p{ font-size:.875rem; line-height:1.45; margin:4px 0 0; }
@media (prefers-reduced-motion:reduce){ .hero-feed-viewport{ height:auto; } .feed-item[aria-hidden="true"]{ display:none; } }

/* ---------------------------------------------------------------------- */
/* 10. PERFORMANCE INSIGHTS                                                */
/* ---------------------------------------------------------------------- */
.perf-insights{ padding:44px 0; background:#fff; border-top:1px solid var(--linen); }
.perf-controls{ display:flex; align-items:center; gap:8px; }
.perf-track-wrap{ overflow:hidden; }
.perf-source{ margin:16px 0 0; font-size:.875rem; color:var(--text-muted); }
.perf-track{ display:flex; gap:20px; transition:transform .4s ease; }
.perf-card{ flex:0 0 calc(25% - 15px); border:1px solid var(--key-200); background:#fff; padding:22px; }
.perf-card .num{ font-family:var(--font-title); font-size:1.75rem; font-weight:400; color:var(--key-700); line-height:1.15; }   /* mea.gov.in .count: Caslon 28px */
.perf-card p{ font-size:1rem; margin:8px 0 10px; }
.perf-card .range{ font-size:.875rem; color:var(--text-muted); }
@media (prefers-reduced-motion:reduce){ .perf-track{ transition:none; } }

/* ---------------------------------------------------------------------- */
/* 11. CITIZEN'S CORNER + IN FOCUS                                         */
/* ---------------------------------------------------------------------- */
.citizen-corner{ padding:48px 0; background:var(--key-50); }
.cc-layout{ display:flex; gap:40px; align-items:flex-start; }
.cc-links{ flex:1.4 1 520px; min-width:0; }
.cc-list{ display:flex; flex-wrap:wrap; column-gap:40px; }
.cc-list a{ flex:1 1 46%; max-width:46%; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid var(--key-200); color:var(--text); font-size:1rem; }
.cc-list a .lbl{ display:flex; align-items:center; gap:12px; }
.cc-list a .lbl .icon{ color:var(--key-900); }
.cc-list a:hover{ color:var(--key-700); text-decoration:none; }
.cc-list a > .icon{ color:var(--key-900); }
.in-focus{ flex:1 1 380px; min-width:0; }
.in-focus-box{ border:1px solid var(--key-200); background:#fff; }
.in-focus-box img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.in-focus-box .b{ padding:20px 22px; }
.in-focus-box .date{ font-size:.875rem; font-weight:700; color:var(--key-700); }
.in-focus-box h3{ font-family:var(--font-title); font-size:1.0625rem; font-weight:400; line-height:1.6; color:var(--text-body); margin:6px 0 16px; }

/* ---------------------------------------------------------------------- */
/* 12. USER PERSONAS (DBIM Annexure A.2)                                   */
/* ---------------------------------------------------------------------- */
.personas-section{ padding:48px 0; }
.personas{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.persona{ border:1px solid var(--key-200); background:#fff; padding:24px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--text); box-shadow:var(--card-shadow); }
.persona:hover,.persona:focus-visible{ border-color:var(--key-700); text-decoration:none; color:var(--text); }
.persona .av{ width:72px; height:72px; border-radius:50%; background:var(--key-50); color:var(--key-900); display:flex; align-items:center; justify-content:center; }
.persona .av .icon{ width:34px; height:34px; }
.persona h3{ font-size:1rem; margin:0; }
.persona p{ font-size:.875rem; color:var(--grey3); margin:0; }

/* ---------------------------------------------------------------------- */
/* 13. CCPS CENTRAL POSTS — 960×245, 3 grids (DBIM §7.4.3)                 */
/* ---------------------------------------------------------------------- */
.ccps-section{ padding:48px 0; background:var(--key-50); }
.ccps-posts{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; min-height:245px; }
.ccps-posts > div{ background:#fff; border:1px dashed var(--key-700); display:flex; align-items:center; justify-content:center; text-align:center; color:var(--key-900); font-size:.875rem; font-weight:500; padding:12px; }
.ccps-post{ display:flex; flex-direction:column; gap:14px; background:#fff; border:1px solid var(--key-200); box-shadow:var(--card-shadow); color:var(--text); padding:24px; position:relative; overflow:hidden; }
.ccps-post:hover,.ccps-post:focus-visible{ border-color:var(--key-700); text-decoration:none; color:var(--text); }
.ccps-post .ic{ width:52px; height:52px; border-radius:50%; background:var(--key-50); color:var(--key-900); display:flex; align-items:center; justify-content:center; }
.ccps-post .ic .icon{ width:26px; height:26px; }
.ccps-post .b{ display:flex; flex-direction:column; gap:8px; flex:1; }
.ccps-post .ttl{ font-size:1.125rem; font-weight:600; color:var(--key-900); line-height:1.3; }
.ccps-post .txt{ font-size:1rem; line-height:1.5; flex:1; }
.ccps-post .cta{ display:inline-flex; align-items:center; gap:6px; font-size:.875rem; font-weight:700; color:var(--key-700); margin-top:4px; }
.ccps-post:hover .cta{ text-decoration:underline; }
.ccps-post.feature{ background:linear-gradient(120deg,var(--key-900),var(--key-700)); border-color:var(--key-900); color:#fff; justify-content:center; padding:32px 36px; }
.ccps-post.feature .ic{ background:rgba(255,255,255,.15); color:#fff; }
.ccps-post.feature .ttl{ color:#fff; font-size:1.5rem; }
.ccps-post.feature .txt{ color:#fff; max-width:520px; flex:0 0 auto; }
.ccps-post.feature .cta{ align-self:flex-start; background:#fff; color:var(--key-900); padding:9px 18px; }
.ccps-post.feature::after{ content:""; position:absolute; right:-60px; bottom:-60px; width:240px; height:240px; border-radius:50%; border:40px solid rgba(255,255,255,.07); pointer-events:none; }
.ccps-post.feature:hover,.ccps-post.feature:focus-visible{ color:#fff; }

/* ---------------------------------------------------------------------- */
/* 14. SOCIAL MEDIA WALL — X, Facebook, Instagram, YouTube                 */
/* ---------------------------------------------------------------------- */
.social-wall{ padding:48px 0; }
.sw-follow{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
.sw-follow a{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--key-200); padding:8px 14px; color:var(--key-900); font-size:.875rem; font-weight:600; background:#fff; }
.sw-follow a:hover,.sw-follow a:focus-visible{ border-color:var(--key-700); background:var(--key-50); text-decoration:none; }
.sw-grid{ display:flex; gap:24px; }
.sw-col{ flex:1 1 340px; min-width:0; }
.sw-col.sw-fb{ flex:1 1 38%; }
.sw-col.sw-yt{ flex:1 1 62%; }
.sw-col .head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; gap:10px; }
.sw-col .head h3{ font-size:1.25rem; margin:0; }
.embed-gate{ height:340px; background:var(--key-50); border:1px solid var(--key-200); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:12px; padding:20px; font-size:.875rem; color:var(--grey3); }
.embed-gate iframe{ width:100%; height:100%; border:0; display:block; }
.embed-gate.loaded{ padding:0; background:#fff; }

/* ---------------------------------------------------------------------- */
/* 15. CONTACT HUB (tabbed)                                                */
/* ---------------------------------------------------------------------- */
.contact-hub{ padding:0 0 48px; }
.hub-tabs{ display:flex; gap:4px; }
.hub-tabs button{ flex:1; background:var(--key-50); border:1px solid var(--key-200); border-bottom:none; padding:14px; font-size:1rem; font-weight:600; color:var(--grey3); cursor:pointer; }
.hub-tabs button[aria-selected="true"]{ background:var(--key-700); color:#fff; }
.hub-panel{ padding:28px; display:flex; flex-wrap:wrap; gap:30px; }
.hub-panel[hidden]{ display:none; }
.hub-panel .col{ flex:1 1 240px; min-width:0; }
.hub-panel h3{ font-size:1rem; margin-bottom:10px; }
.hub-panel a{ color:var(--key-900); text-decoration:underline; }   /* links on light key-colour panels: #0D6EFD fails contrast here */
.hub-panel p{ font-size:.875rem; overflow-wrap:anywhere; }
.hub-panel .embed-gate{ height:280px; }

/* ---------------------------------------------------------------------- */
/* 16. IMPORTANT LINKS — logo carousel                                     */
/* ---------------------------------------------------------------------- */
.promo-section{ background:var(--key-50); padding:40px 0; }
.promo-section .section-title{ justify-content:space-between; }
.promo-track-wrap{ overflow:hidden; padding:6px 0; position:relative; }
.promo-track{ display:flex; gap:24px; width:max-content; }
.promo-item{ flex:0 0 180px; height:100px; background:#fff; border:1px solid var(--key-200); box-shadow:var(--card-shadow); display:flex; align-items:center; justify-content:center; padding:14px; }
.promo-item:hover,.promo-item:focus-visible{ border-color:var(--key-700); }
.promo-item img{ max-height:64px; max-width:100%; object-fit:contain; }
@media (prefers-reduced-motion:reduce){ .promo-track{ flex-wrap:wrap; width:auto; transform:none!important; } .promo-item[aria-hidden="true"]{ display:none; } }

/* ---------------------------------------------------------------------- */
/* 17. FOOTER — key colour, darkest shade (DBIM §5.6)                       */
/* ---------------------------------------------------------------------- */
footer.site-footer{ background:var(--key-900); color:#fff; }
.footer-band{ padding:36px 0 0; }
.site-footer a{ color:#fff; }
.site-footer a:hover,.site-footer a:focus-visible{ color:#fff; text-decoration:underline; }
.footer-band-top{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:20px; padding-bottom:24px; }
.footer-embassy-info h2{ font-size:1.0625rem; color:#fff; margin:0 0 8px; }
.footer-embassy-info address{ font-style:normal; font-size:.875rem; line-height:1.7; overflow-wrap:anywhere; }
.footer-social{ display:flex; gap:10px; }
.footer-social a{ width:40px; height:40px; border:1.5px solid rgba(255,255,255,.6); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.footer-social a:hover,.footer-social a:focus-visible{ background:#fff; color:var(--key-900); }
.footer-social .icon{ width:18px; height:18px; }
.footer-quicknav{ padding:16px 0; display:flex; flex-wrap:wrap; gap:10px 28px; border-top:1px solid rgba(255,255,255,.22); }
.footer-quicknav a{ font-size:.875rem; font-weight:600; }
.footer-legal-row{ border-top:1px solid rgba(255,255,255,.22); padding:16px 0; display:flex; flex-wrap:wrap; gap:6px 18px; }
.footer-legal-row a{ font-size:.875rem; }
.footer-meta-row{ border-top:1px solid rgba(255,255,255,.22); padding:16px 0 28px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.footer-meta-row p{ font-size:.875rem; margin:0 0 4px; }
.footer-meta-right{ text-align:right; }
.lineage{ font-size:.875rem!important; font-weight:500; }

/* ---------------------------------------------------------------------- */
/* 18. FLOATING: back to top, chatbot                                      */
/* ---------------------------------------------------------------------- */
.back-to-top{ position:fixed; bottom:24px; left:24px; width:44px; height:44px; border:1.5px solid var(--key-700); background:#fff; color:var(--key-900); display:none; align-items:center; justify-content:center; cursor:pointer; z-index:999; box-shadow:var(--card-shadow); }
.back-to-top.show{ display:flex; }
.chatbot-fab{ position:fixed; bottom:24px; right:24px; width:58px; height:58px; border-radius:50%; background:var(--key-700); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.25); z-index:1000; border:none; }
.chatbot-fab:hover{ background:var(--key-900); }
.chatbot-fab .icon{ width:28px; height:28px; }
.chatbot-window{ position:fixed; bottom:92px; right:24px; width:340px; max-width:88vw; height:420px; background:#fff; border:1px solid var(--key-200); box-shadow:0 8px 30px rgba(0,0,0,.2); display:flex; flex-direction:column; z-index:1000; }
.chatbot-window[hidden]{ display:none; }
.chatbot-header{ background:var(--key-700); color:#fff; padding:12px 16px; font-size:1rem; display:flex; justify-content:space-between; align-items:center; }
.chatbot-header h2{ color:#fff; font-size:1rem; margin:0; }
.chatbot-header button{ background:none; border:none; color:#fff; cursor:pointer; display:flex; }
.chatbot-body{ flex:1; padding:16px; font-size:.875rem; overflow-y:auto; }

/* ---------------------------------------------------------------------- */
/* 19. COOKIE CONSENT — DPDP Act 2023 (DBIM §7.6)                           */
/* ---------------------------------------------------------------------- */
.cookie{ position:fixed; left:0; right:0; bottom:0; background:#fff; border-top:3px solid var(--key-700); box-shadow:0 -6px 20px rgba(0,0,0,.15); z-index:1500; padding:16px 0; }
.cookie .wrap{ display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.cookie p{ font-size:.875rem; max-width:780px; margin:0; }
.cookie .acts{ display:flex; gap:8px; flex-wrap:wrap; }
.cookie-prefs{ display:none; width:100%; padding-top:12px; border-top:1px solid var(--linen); gap:24px; flex-wrap:wrap; align-items:center; font-size:.875rem; }
.cookie.custom .cookie-prefs{ display:flex; }
.cookie-prefs label{ display:flex; gap:8px; align-items:center; cursor:pointer; }
.cookie-prefs input{ width:18px; height:18px; accent-color:var(--key-700); }
[hidden]{ display:none!important; }

/* ---------------------------------------------------------------------- */
/* 20. RESPONSIVE — mobile type scale (DBIM Table 4)                        */
/* ---------------------------------------------------------------------- */
@media (max-width:1100px){
  .perf-card{ flex:0 0 calc(50% - 10px); }
  .dd-grid{ --cols:2!important; }
  .personas{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px){
  .leaders-grid,.split-grid,.sw-grid,.cc-layout{ flex-direction:column; }
  .leaders-grid > *,.split-grid > *,.sw-grid > *,.cc-layout > *{ flex:1 1 auto; width:100%; }
  .cc-list a{ flex:1 1 100%; max-width:100%; }
  .search-box{ width:100%; }
  .header-tools{ flex-basis:100%; }
  ul.nav-list > li > a, ul.nav-list > li > button{ padding:14px 12px; }
}
@media (max-width:760px){
  h1{ font-size:1.5rem; } h2{ font-size:1.25rem; } h3{ font-size:1rem; }
  body{ font-size:.875rem; }
  .wrap,.utility-bar .wrap,.header-inner,nav.main-nav > .wrap,.live-tracker-outer{ padding-left:16px; padding-right:16px; }
  .util-links .hide-sm{ display:none; }
  .brand img.emblem{ height:58px; }
  .brand .divider{ height:46px; }
  .brand .name-main{ font-size:1rem; }
  .nav-toggle{ display:flex; }
  nav.main-nav > .wrap{ display:flex; flex-direction:column; }
  ul.nav-list{ display:none; flex-direction:column; padding-bottom:8px; }
  nav.main-nav.open ul.nav-list{ display:flex; }
  ul.nav-list > li > a, ul.nav-list > li > button{ width:100%; justify-content:space-between; border-top:1px solid var(--linen); border-bottom:0; padding:12px 4px; }
  .dropdown{ position:static; box-shadow:none; border:0; border-left:3px solid var(--key-700); padding:8px 16px; max-height:none; background:var(--key-50); }
  .dd-grid{ --cols:1!important; }
  .dd-grid .span2{ grid-column:auto; }
  .dd-grid ul.two{ grid-template-columns:1fr; }
  .slides{ aspect-ratio:4/3; }
  .slide .cap{ padding:40px 0 60px; }
  .slide .cap p.t,.slide.ccps p.t{ font-size:1rem; }
  .hero-ctrl{ right:16px; }
  .live-tracker{ flex-direction:column; }
  .lt-label{ flex:0 0 auto; padding:8px 16px; font-size:1rem; }
  .lt-ticker{ padding:10px 16px; }
  .pm-quote{ grid-template-columns:1fr; padding-top:20px; }
  .pm-quote img{ width:150px; height:186px; order:2; justify-self:center; }
  .pm-quote figcaption{ padding-bottom:0; }
  .perf-card{ flex:0 0 100%; }
  .perf-card .num{ font-size:1.5rem; }
  .personas{ grid-template-columns:1fr; }
  .ccps-posts{ grid-template-columns:1fr; }
  .ccps-posts > div{ min-height:110px; }
  .ccps-post.feature{ padding:24px; }
  .hub-tabs{ flex-direction:column; }
  .hub-tabs button{ border-bottom:1px solid var(--key-200); }
  .tab-panel li{ flex-direction:column; gap:4px; }
  .tab-panel li .date{ text-align:left; }
  .footer-meta-right{ text-align:left; }
  .chatbot-fab{ bottom:16px; right:16px; width:52px; height:52px; }
  .back-to-top{ bottom:16px; left:16px; }
}

/* ---------------------------------------------------------------------- */
/* 21. PRINT                                                                */
/* ---------------------------------------------------------------------- */
@media print{
  .utility-bar,nav.main-nav,.hero-ctrl,.lt-pause,.promo-section,.cookie,.chatbot-fab,.chatbot-window,.back-to-top,.search-box,.embed-gate{ display:none!important; }
  .slide{ position:static; opacity:1; visibility:visible; }
  .slide:not(.on){ display:none; }
  footer.site-footer{ background:#fff; color:#000; }
  .site-footer a{ color:#000; }
}

/* ---------------------------------------------------------------------- */
/* SEARCH SUGGESTIONS (DBIM Article 9) — combobox + listbox                 */
/* ---------------------------------------------------------------------- */
.search-box{ position:relative; }
.search-pop{ position:absolute; top:100%; left:-2px; right:-2px; z-index:300; background:#fff; border:2px solid var(--key-700); border-top:0; box-shadow:0 14px 30px rgba(0,0,0,.14); max-height:min(420px,70vh); overflow-y:auto; }
.search-pop[hidden]{ display:none; }
.search-pop .sp-head{ font-size:.75rem; font-weight:600; color:var(--grey3); padding:8px 14px 4px; margin:0; }
.search-pop ul{ padding:0 0 6px; }
.search-pop li a{ display:block; padding:8px 14px; color:var(--text); font-size:.875rem; line-height:1.35; }
.search-pop li a .cat{ display:block; font-size:.75rem; color:var(--grey3); margin-top:2px; }
.search-pop li a mark{ background:var(--key-50); color:inherit; font-weight:700; }
.search-pop li a:hover,.search-pop li a[aria-selected="true"]{ background:var(--key-50); text-decoration:none; outline:2px solid var(--key-700); outline-offset:-2px; }
@media print{ .search-pop{ display:none!important; } }

/* ---------------------------------------------------------------------- */
/* MACHINE TRANSLATION — Google Translate, loaded only after a language is  */
/* chosen in the header language menu (Tallinn header pattern)            */
/* ---------------------------------------------------------------------- */
.mt-notice{ background:var(--key-50); border-bottom:1px solid var(--key-200); font-size:.875rem; }
.mt-notice[hidden]{ display:none; }
.mt-notice .wrap{ padding-top:8px; padding-bottom:8px; }
.mt-notice p{ margin:0; color:var(--text); }
.mt-notice button{ background:none; border:0; padding:0; font:inherit; color:var(--key-900); font-weight:600; text-decoration:underline; cursor:pointer; margin-left:6px; }
/* hide Google Translate's own bar, tooltip and highlight; keep the page in place */
body{ top:0!important; }
#gtEl,.goog-te-banner-frame,iframe.skiptranslate,body > .skiptranslate,#goog-gt-tt,.goog-te-balloon-frame,.goog-tooltip,
.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,.VIpgJd-yAWNEb-L7lbkb{ display:none!important; }
.goog-text-highlight{ background:none!important; box-shadow:none!important; }
font[style]{ background:none!important; box-shadow:none!important; }
@media print{ .mt-notice{ display:none!important; } }


/* Social media: Instagram / X note (no embed, links open the platform) */
.sw-note{ height:340px; background:var(--key-50); border:1px solid var(--key-200); display:flex; flex-wrap:wrap; align-content:center; align-items:center; justify-content:center; text-align:center; gap:12px; padding:20px; font-size:.875rem; color:var(--grey3); }
.sw-note p{ flex:1 1 100%; margin:0; }

/* DBIM Article 3: icons only in the darkest key shade (or white on dark) */
.chev,button[aria-expanded="true"] .chev,ul.nav-list > li > a svg,.ccps-post .cta svg{ color:var(--key-900); }

/* ---------------------------------------------------------------------- */
/* HEADER ICONS — language selection + accessibility controls              */
/* (DBIM §3.8 and Fig. 42; same format as mea.gov.in)                      */
/* ---------------------------------------------------------------------- */
.header-tools{ flex-wrap:nowrap; }
.hdr-tool{ position:relative; }
.hdr-btn{ width:44px; height:44px; border:2px solid var(--key-700); background:#fff; color:var(--key-900); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0; }
.hdr-btn .icon{ width:28px; height:28px; stroke-width:1.6; }
.hdr-btn:hover,.hdr-btn[aria-expanded="true"]{ background:var(--key-50); }
.lang-ico{ position:relative; width:28px; height:28px; display:block; color:var(--key-900); line-height:1; }
.lang-ico .hi{ position:absolute; left:0; top:-1px; font-size:17px; font-weight:500; font-family:"Noto Sans",sans-serif; }
.lang-ico .en{ position:absolute; right:0; bottom:-1px; font-size:16px; font-weight:500; }
.hdr-menu{ position:absolute; right:0; top:calc(100% + 6px); z-index:400; min-width:230px; background:#fff; border:1px solid var(--key-200); box-shadow:0 14px 30px rgba(0,0,0,.14); padding:6px 0 8px; }
.hdr-menu[hidden]{ display:none; }
.hdr-menu-title{ margin:0; padding:6px 16px 6px; font-size:.875rem; font-weight:600; color:var(--grey3); }
.hdr-menu ul{ padding:0; }
.hdr-menu li > button,.hdr-menu li > a{ display:flex; align-items:center; gap:8px; width:100%; text-align:left; background:none; border:0; border-left:3px solid transparent; padding:10px 16px; font:inherit; font-size:1rem; color:var(--text); cursor:pointer; text-decoration:none; }
.hdr-menu li > button:hover,.hdr-menu li > a:hover,
.hdr-menu li > button:focus-visible,.hdr-menu li > a:focus-visible{ background:var(--key-50); color:var(--text); text-decoration:none; }
.hdr-menu li > button[aria-pressed="true"]{ border-left-color:var(--key-700); font-weight:600; background:var(--key-50); }
.hdr-menu-note{ margin:4px 0 0; padding:6px 16px 0; border-top:1px solid var(--linen); font-size:.875rem; color:var(--grey3); }
.a11y-row{ display:flex; align-items:center; gap:6px; padding:6px 16px 10px; border-bottom:1px solid var(--linen); margin-bottom:4px; }
.a11y-row .a11y-lbl{ font-size:.875rem; margin-right:auto; }
.a11y-row button{ min-width:38px; height:32px; border:1px solid var(--key-200); background:#fff; color:var(--key-900); font:inherit; font-size:.875rem; font-weight:600; cursor:pointer; }
.a11y-row button:hover{ background:var(--key-50); }
@media (max-width:760px){
  .header-tools{ width:100%; gap:8px; }
  .header-tools .search-box{ flex:1 1 auto; width:auto; min-width:0; }
  .hdr-menu{ min-width:220px; }
}
@media print{ .hdr-tool{ display:none!important; } }
.lang-ico .hi::before{ content:"\0905"; }   /* अ — drawn by CSS so the button's accessible name stays "Select language" */
.lang-ico .en::before{ content:"A"; }
#a11yMenu{ min-width:270px; }

/* ---------------------------------------------------------------------- */
/* INNER PAGES — page banner, breadcrumb, section menu and content styles  */
/* (DBIM §7.2 inner page: breadcrumb, page title, left navigation,         */
/*  "Last updated on"; same tokens as the home page)                       */
/* ---------------------------------------------------------------------- */
.page-banner{ background:var(--key-50); border-bottom:1px solid var(--key-200); }
.page-banner .wrap{ padding-top:20px; padding-bottom:28px; }
.breadcrumb ol{ list-style:none; margin:0 0 14px; padding:0; display:flex; flex-wrap:wrap; gap:4px 0; font-size:.875rem; color:var(--text-body); }
.breadcrumb li{ display:inline-flex; align-items:center; }
.breadcrumb li + li::before{ content:"/"; margin:0 8px; color:var(--grey3); }
.breadcrumb a{ color:var(--key-700); text-decoration:underline; }
.breadcrumb [aria-current="page"]{ color:var(--text-body); }
.page-banner h1{ margin:0; font-size:2.125rem; color:var(--key-900); }
.page-banner .page-lede{ margin:10px 0 0; max-width:820px; font-size:1.0625rem; color:var(--text-body); }

.inner-layout{ display:grid; grid-template-columns:280px minmax(0,1fr); gap:48px; padding-top:40px; padding-bottom:56px; align-items:start; }
.section-nav{ position:sticky; top:16px; border:1px solid var(--key-200); background:#fff; box-shadow:var(--card-shadow); }
.section-nav h2{ margin:0; padding:14px 18px; background:var(--key-900); color:#fff; font-size:1rem; font-weight:600; }
.section-nav ul{ padding:6px 0; }
.section-nav li a{ display:flex; justify-content:space-between; gap:8px; padding:10px 18px; color:var(--text); border-left:4px solid transparent; font-size:.9375rem; line-height:1.4; }
.section-nav li a:hover{ background:var(--key-50); text-decoration:none; color:var(--text); }
.section-nav li a[aria-current="page"]{ border-left-color:var(--key-700); background:var(--key-50); font-weight:600; color:var(--key-900); }
.section-nav .other{ border-top:1px solid var(--linen); padding:12px 18px 14px; font-size:.875rem; }
.section-nav .other p{ margin:0 0 6px; font-weight:600; color:var(--key-900); }
.section-nav .other a{ display:block; padding:3px 0; }
.section-nav-toggle{ display:none; }

/* Content typography */
.content{ min-width:0; max-width:900px; }
.content > :first-child{ margin-top:0; }
.content h2{ font-family:var(--font-title); font-weight:400; font-size:1.375rem; color:var(--key-900); margin:36px 0 14px; padding-bottom:8px; border-bottom:1px solid var(--key-200); scroll-margin-top:16px; }
.content h3{ font-size:1.0625rem; font-weight:700; margin:26px 0 10px; scroll-margin-top:16px; }
.content h4{ font-size:1rem; margin:0 0 8px; }
.content p,.content li,.content dd{ line-height:1.65; }
.content p{ margin:0 0 14px; }
.content ul,.content ol{ margin:0 0 16px; padding-left:24px; }
.content ul{ list-style:disc; }
.content ol{ list-style:decimal; }
.content ol[type="a"]{ list-style:lower-alpha; } .content ol[type="i"]{ list-style:lower-roman; } .content ol[type="I"]{ list-style:upper-roman; }
.content li{ margin-bottom:6px; }
.content li > ol,.content li > ul{ margin-top:6px; }
.content a:not([class]){ text-decoration:underline; }
.content address{ font-style:normal; line-height:1.65; margin:0 0 14px; }
.content blockquote.verse{ margin:0 0 16px; padding:14px 20px; border-left:4px solid var(--key-700); background:#F7F9FF; font-style:italic; line-height:1.7; }
.meta-line{ color:var(--text-muted); font-size:.875rem; }
.note{ font-size:.875rem; color:var(--text-muted); }

/* Tables */
.table-wrap{ overflow-x:auto; margin:0 0 16px; border:1px solid var(--key-200); }
.content table{ width:100%; border-collapse:collapse; margin:0 0 16px; font-size:.9375rem; background:#fff; }
.table-wrap > table{ margin:0; }
.content table:not(.kv){ border:1px solid var(--key-200); }
.table-wrap > table:not(.kv){ border:0; }
.content caption{ caption-side:top; text-align:left; font-weight:700; color:var(--key-900); padding:0 0 8px; }
.table-wrap caption{ padding:10px 14px; background:#fff; border-bottom:1px solid var(--key-200); }
.content th,.content td{ padding:10px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--linen); }
.content thead th{ background:var(--key-900); color:#fff; font-weight:600; border-bottom:0; }
.content tbody tr:nth-child(even){ background:#F7F9FF; }
.content tbody th{ font-weight:600; color:var(--key-900); }
.content td.num,.content th.num{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.content table.kv{ border:1px solid var(--key-200); }
.content table.kv th{ width:34%; background:var(--key-50); }
.content table.kv tbody tr:nth-child(even){ background:#fff; }

/* Boxes */
.info-box,.alert-box,.cta-box,.emergency-box{ padding:18px 22px; margin:0 0 20px; border:1px solid var(--key-200); background:var(--key-50); }
.info-box > :last-child,.alert-box > :last-child,.cta-box > :last-child,.emergency-box > :last-child{ margin-bottom:0; }
.info-box h2,.info-box h3{ margin-top:0; border:0; padding:0; font-family:var(--font); font-size:1.0625rem; font-weight:700; }
.info-box ul{ padding-left:20px; }
.alert-box{ border-left:6px solid var(--warning); background:#FFF8E1; border-color:#F0D58A; border-left-color:var(--warning); }
.cta-box{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; background:#fff; border-left:6px solid var(--key-700); }
.cta-box p{ margin:0; }
.emergency-box{ background:#fff; border:2px solid var(--error); }
.emergency-box .big-number{ font-size:1.75rem; font-weight:700; margin:6px 0 0; }
.emergency-box .big-number a{ color:var(--key-900); }
.card-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin:0 0 20px; }
.card-grid > .info-box{ margin:0; }
.stat-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:0 0 24px; }
.stat{ border:1px solid var(--key-200); background:#fff; padding:18px 20px; box-shadow:var(--card-shadow); }
.stat .num{ display:block; font-family:var(--font-title); font-size:1.5rem; color:var(--key-700); }
.stat .lbl{ font-size:.875rem; color:var(--text-muted); }

/* Lists of documents and events */
.content ul.doc-list,.content ul.event-list{ list-style:none; padding:0; border-top:1px solid var(--linen); }
.doc-list li,.event-list li{ margin:0; padding:12px 0; border-bottom:1px solid var(--linen); display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; }
.doc-list li .date{ color:var(--text-muted); font-size:.875rem; white-space:nowrap; }
.event-list li{ display:block; }
.event-list .date{ display:block; font-size:.875rem; font-weight:700; color:var(--key-700); margin-bottom:2px; }

/* Definition lists */
.content dl.dl{ margin:0 0 16px; border-top:1px solid var(--linen); }
.dl dt{ font-weight:700; color:var(--key-900); padding-top:12px; }
.dl dd{ margin:4px 0 0; padding-bottom:12px; border-bottom:1px solid var(--linen); }

/* On-this-page links */
.toc{ border:1px solid var(--key-200); background:#fff; padding:14px 18px; margin:0 0 24px; }
.content .toc ul{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:6px 18px; }
.toc li{ margin:0; }
.toc a{ font-size:.9375rem; }
.toc::before{ content:"On this page"; display:block; font-weight:700; color:var(--key-900); margin-bottom:6px; font-size:.875rem; }

/* FAQs */
.faq details{ border:1px solid var(--key-200); background:#fff; margin:0 0 8px; }
.faq summary{ cursor:pointer; padding:12px 44px 12px 16px; font-weight:600; color:var(--key-900); position:relative; list-style:none; line-height:1.5; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:16px; top:10px; font-size:1.25rem; font-weight:400; color:var(--key-700); }
.faq details[open] summary::after{ content:"−"; }
.faq details[open] summary{ border-bottom:1px solid var(--linen); background:var(--key-50); }
.faq details > :not(summary){ margin:12px 16px; }

/* Figures and profile */
.figure{ margin:0 0 16px; }
.figure img{ max-width:100%; height:auto; border:1px solid var(--linen); }
.figure-sm img{ max-width:280px; }
.profile{ display:grid; grid-template-columns:220px 1fr; gap:28px; align-items:start; margin:0 0 8px; }
.profile-photo{ width:220px; height:auto; aspect-ratio:1/1; object-fit:cover; object-position:top; border:4px solid #fff; box-shadow:var(--card-shadow); }
.profile h2{ margin-top:0; border:0; padding:0; font-size:1.5rem; }
.lead{ font-size:1.0625rem; font-weight:600; color:var(--key-700); }

/* Page footer row */
.page-meta{ margin-top:40px; padding-top:16px; border-top:1px solid var(--key-200); display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:.875rem; color:var(--text-muted); }
.page-meta button{ background:none; border:0; padding:0; color:var(--key-700); font:inherit; text-decoration:underline; cursor:pointer; }
.page-meta a{ text-decoration:underline; }

@media (max-width:900px){
  .inner-layout{ grid-template-columns:1fr; gap:24px; padding-top:24px; }
  .section-nav{ position:static; order:2; }
  .page-banner h1{ font-size:1.75rem; }
}
@media (max-width:600px){
  .profile{ grid-template-columns:1fr; }
  .profile-photo{ width:160px; }
  .content th,.content td{ padding:8px 10px; }
  .content table.kv th{ width:40%; }
}
html.hc .content tbody tr:nth-child(even),html.hc .content blockquote.verse,html.hc .alert-box{ background:#fff; }
@media print{
  .section-nav,.page-meta button,.toc{ display:none!important; }
  .inner-layout{ display:block; padding:0; }
  .page-banner{ background:none; border:0; }
  .faq details{ border:0; } .faq details > *{ display:block!important; }
}

/* Current section in the main navigation */
ul.nav-list > li.is-current > button{ border-bottom-color:var(--key-700); }

/* Links inside inner-page content: darker blue so they pass WCAG 1.4.3 on tinted boxes and table rows */
.content a:not([class]){ color:var(--key-700); }
.content a:not([class]):hover{ color:var(--key-900); }
.content td{ overflow-wrap:anywhere; }
.table-wrap:focus-visible{ outline:3px solid var(--warning); outline-offset:2px; }
.alert-box .ft{ color:var(--text); }   /* PDF label on the yellow notice (WCAG 1.4.3) */
/* Section menu on the left, content on the right (source order: content first, for screen readers and mobile) */
.inner-layout > .section-nav{ grid-column:1; grid-row:1; }
.inner-layout > .content{ grid-column:2; grid-row:1; }
@media (max-width:900px){
  .inner-layout > .section-nav,.inner-layout > .content{ grid-column:1; grid-row:auto; }
}

/* Photo gallery: album cards and photo grid */
.content ul.album-grid,.content ul.photo-grid{ list-style:none; padding:0; display:grid; gap:20px; }
.content ul.album-grid{ grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.content ul.photo-grid{ grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
.album-grid li,.photo-grid li{ margin:0; }
.album-grid a{ display:flex; flex-direction:column; height:100%; border:1px solid var(--key-200); background:#fff; box-shadow:var(--card-shadow); color:var(--text); text-decoration:none; }
.album-grid a:hover{ border-color:var(--key-700); }
.album-grid img,.photo-grid img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.album-grid .t{ padding:12px 14px 4px; font-weight:600; line-height:1.45; color:var(--key-900); }
.album-grid .n{ padding:0 14px 12px; margin-top:auto; font-size:.875rem; color:var(--text-muted); }
.photo-grid a{ display:block; border:1px solid var(--key-200); }
.photo-grid a:hover{ border-color:var(--key-700); }
.content ul.album-grid a,.content ul.photo-grid a{ text-decoration:none; color:var(--text); }
.content ul.album-grid a:hover .t{ text-decoration:underline; }

/* Sitemap */
.sitemap{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:8px 32px; }
.sitemap section{ break-inside:avoid; }
.content .sitemap h2{ margin-top:16px; }
.content .sitemap h3{ margin:14px 0 6px; font-size:.9375rem; }
.content .sitemap ul{ margin:0 0 8px; padding-left:18px; }
