/* ============================================================
   Maha · Study Abroad — Shared Design System
   Government of Maharashtra · State CET Cell
   Fresh-but-official: midnight-teal authority + marigold +
   leaf-green safety signal, on warm cream paper.
   ============================================================ */

:root{
  /* --- core palette --- */
  --ink:#1a2a30;            /* primary text (deep slate) */
  --ink-soft:#4a5a5f;
  --muted:#6f6a5d;          /* muted warm grey */

  --deep:#10294d;           /* authority dark (midnight teal) */
  --deep-2:#0a1f3d;
  --deep-3:#173f6e;

  --paper:#f7f1e6;          /* page background */
  --paper-2:#efe6d4;
  --paper-3:#e9ddc6;
  --card:#fffdf8;
  --card-2:#fbf6ec;

  --line:#e6dbc4;
  --line-2:#d9cbac;

  /* --- brand accents --- */
  --blue:#1763b0;           /* CET primary blue */
  --blue-2:#0f4f93;
  --blue-ink:#0f4f93;       /* readable on cream */
  --blue-soft:#d3e3f5;

  --saffron:#e8852a;        /* marigold (retained for warmth/tweaks) */
  --saffron-2:#cf6a14;
  --saffron-ink:#a8500c;
  --saffron-soft:#f7d9b6;

  --green:#1f8a5a;          /* safe / trust / "go" */
  --green-ink:#15694a;
  --green-soft:#cfe8da;

  --gold:#cf9f37;
  --terracotta:#c2562b;
  --berry:#9c3d52;          /* used sparingly for alerts */

  /* India tricolor for the gov hairline */
  --tri-saffron:#ff9933;
  --tri-green:#138808;

  /* --- type --- */
  --display:'Spectral', Georgia, 'Times New Roman', serif;
  --body:'Newsreader', Georgia, serif;
  --mono:'IBM Plex Mono', ui-monospace, monospace;

  /* --- shape & depth --- */
  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:30px;
  --shadow:0 1px 2px rgba(12,30,60,.05), 0 10px 24px rgba(12,30,60,.08);
  --shadow-md:0 2px 6px rgba(12,30,60,.08), 0 18px 38px rgba(12,30,60,.12);
  --shadow-lg:0 8px 18px rgba(12,30,60,.10), 0 34px 60px rgba(12,30,60,.18);
  --shadow-saffron:0 12px 30px rgba(23,99,176,.30);

  --ease:cubic-bezier(.2,.7,.2,1);
}

/* accent theming hooks (Tweaks panel can override --accent*) */
:root{
  --accent:var(--blue);
  --accent-2:var(--blue-2);
  --accent-ink:var(--blue-ink);
  --accent-soft:var(--blue-soft);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:18px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
html{overflow-x:clip;}
img{max-width:100%;display:block;}
a{color:var(--accent-ink);text-decoration:none;}

.wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
.wrap-tight{max-width:980px;margin:0 auto;padding:0 28px;}
.mono{font-family:var(--mono);}
.serif{font-family:var(--display);}

/* paper grain — subtle warmth */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
}
body>*{position:relative;z-index:1;}

/* ---------- tricolor hairline ---------- */
.tricolor{height:4px;background:linear-gradient(90deg,var(--tri-saffron) 0 33.33%,#fdfdfd 33.33% 66.66%,var(--tri-green) 66.66% 100%);}

/* ---------- utility / top bar ---------- */
.util{background:var(--deep-2);color:#b9c6c9;font-family:var(--mono);font-size:11.5px;}
.util .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 28px;flex-wrap:wrap;}
.util .gov{display:flex;align-items:center;gap:9px;letter-spacing:.02em;}
.util .gov .dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(31,138,90,.25);}
.util .right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.util .soc{display:flex;gap:11px;align-items:center;}
.util a{color:#9fb0b3;transition:color .15s;}
.util a:hover{color:#fff;}
.util .acc{display:flex;align-items:center;gap:6px;}
.util .acc b{font-weight:400;color:#7f9094;}
.util .acc button{font:inherit;background:transparent;border:1px solid #284048;border-radius:6px;color:#cdd9da;padding:2px 8px;cursor:pointer;transition:.15s;}
.util .acc button:hover{border-color:var(--accent);color:#fff;}

/* ---------- footer utility bar (relocated from top) ---------- */
.foot-util{border-bottom:1px solid #1d3640;}
.foot-util .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 28px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;color:#9fb0b3;}
.foot-util .gov{display:flex;align-items:center;gap:9px;letter-spacing:.02em;}
.foot-util .gov .dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(31,138,90,.25);}
.foot-util .right{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.foot-util .soc{display:flex;gap:11px;align-items:center;}
.foot-util a{color:#9fb0b3;}
.foot-util a:hover{color:var(--accent);}
.foot-util .acc{display:flex;align-items:center;gap:6px;}
.foot-util .acc b{font-weight:400;color:#7f9094;}
.foot-util .acc button{font:inherit;background:transparent;border:1px solid #25415c;border-radius:6px;color:#cdd9da;padding:2px 8px;cursor:pointer;transition:.15s;}
.foot-util .acc button:hover{border-color:var(--accent);color:#fff;}

/* language toggle when docked in the advisory strip / nav */
.alert-strip .lang{flex:0 0 auto;}
nav.primary .lang{align-self:center;margin:7px 10px 7px 0;}

/* language toggle */
.lang{display:inline-flex;background:#0e353d;border:1px solid #285059;border-radius:30px;padding:2px;}
.lang button{font-family:var(--mono);font-size:11px;letter-spacing:.04em;border:0;background:transparent;color:#9fb0b3;padding:4px 12px;border-radius:30px;cursor:pointer;transition:.18s;}
.lang button.on{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(207,106,20,.4);}
.lang button[lang="mr"]{font-family:var(--body);font-size:13px;}

/* ---------- live MEA advisory notification strip ---------- */
.alert-strip{position:relative;z-index:60;background:linear-gradient(100deg,#173f6e,#10294d);color:#eaf3f1;border-bottom:1px solid rgba(31,138,90,.4);overflow:hidden;}
.alert-strip .wrap{display:flex;align-items:center;gap:16px;padding:11px 28px;}
.alert-strip .live{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#bfe6d3;background:rgba(31,138,90,.18);border:1px solid rgba(31,138,90,.5);border-radius:30px;padding:5px 12px;}
.alert-strip .pulse{width:8px;height:8px;border-radius:50%;background:#34d690;box-shadow:0 0 0 0 rgba(52,214,144,.6);animation:pulse 2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,214,144,.55);}70%{box-shadow:0 0 0 10px rgba(52,214,144,0);}100%{box-shadow:0 0 0 0 rgba(52,214,144,0);}}
.alert-strip .ticker{flex:1;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 92%,transparent);}
.alert-strip .ticker .run{display:inline-flex;gap:42px;padding-left:100%;animation:ticker 34s linear infinite;font-size:14px;}
.alert-strip .ticker .run span{display:inline-flex;align-items:center;gap:9px;color:#dbe8e6;}
.alert-strip .ticker .run b{color:#fff;font-family:var(--body);font-weight:500;}
.alert-strip .st{font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:20px;}
.alert-strip:hover .ticker .run{animation-play-state:paused;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-100%);}}
.st.ok{background:rgba(31,138,90,.22);color:#7fe3b4;border:1px solid rgba(31,138,90,.5);}
.st.caution{background:rgba(207,159,55,.2);color:#f0cf83;border:1px solid rgba(207,159,55,.5);}
.st.high{background:rgba(194,86,43,.22);color:#f0a583;border:1px solid rgba(194,86,43,.5);}
.alert-strip .more{flex:0 0 auto;font-family:var(--mono);font-size:11.5px;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:7px 13px;transition:.18s;white-space:nowrap;}
.alert-strip .more:hover{background:var(--accent);border-color:var(--accent);}
@media (max-width:760px){.alert-strip .live span.lbl,.alert-strip .more .lbl{display:none;}}

/* ---------- masthead ---------- */
.mast{background:linear-gradient(180deg,#fffdf8,#f9f3e8);border-bottom:1px solid var(--line);}
.mast .wrap{display:flex;align-items:center;gap:20px;padding:15px 28px;flex-wrap:wrap;}
.mast .emblem{height:60px;width:60px;border-radius:50%;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 1px 3px rgba(12,30,60,.16),0 0 0 1px rgba(12,30,60,.05);}
.mast .emblem img{width:100%;height:100%;object-fit:cover;}
.mast .natl-emblem{height:60px;width:auto;flex:0 0 auto;}
.mast .seal{height:62px;width:62px;border-radius:50%;object-fit:cover;background:#fff;flex:0 0 auto;}
.mast .title{flex:1;min-width:220px;}
.mast .title .kicker{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);font-weight:500;}
.mast .title h1{font-family:var(--display);font-weight:700;font-size:25px;margin:3px 0 1px;letter-spacing:-.01em;color:var(--deep);line-height:1.05;}
.mast .title .sub{font-size:14.5px;color:var(--muted);font-style:italic;}
.mast .acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}

/* ---------- buttons ---------- */
.btn{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;border-radius:11px;padding:12px 18px;transition:.18s var(--ease);white-space:nowrap;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;gap:8px;}
.btn.solid{background:var(--accent);color:#fff;box-shadow:var(--shadow-saffron);}
.btn.solid:hover{background:var(--accent-2);transform:translateY(-2px);box-shadow:0 16px 34px rgba(207,106,20,.36);}
.btn.ghost{color:var(--deep);border-color:var(--line-2);background:#fff;}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent-ink);transform:translateY(-2px);}
.btn.dark{background:var(--deep);color:#fff;}
.btn.dark:hover{background:var(--deep-3);transform:translateY(-2px);}
.btn .arw{transition:transform .2s;}
.btn:hover .arw{transform:translateX(4px);}

/* ---------- primary nav ---------- */
nav.primary{background:var(--deep);position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(10,38,45,.22);}
nav.primary .wrap{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:0 28px;}
nav.primary a.nl{color:#d4e0df;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;padding:15px 15px;position:relative;transition:color .15s;}
nav.primary a.nl::after{content:"";position:absolute;left:15px;right:15px;bottom:9px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease);}
nav.primary a.nl:hover{color:#fff;}
nav.primary a.nl:hover::after,nav.primary a.nl[aria-current="page"]::after{transform:scaleX(1);}
nav.primary a.nl[aria-current="page"]{color:#fff;}
nav.primary .spacer{margin-left:auto;}
nav.primary .cta{align-self:center;background:var(--accent);color:#fff;border-radius:9px;padding:9px 16px;margin:7px 0;font-family:var(--mono);font-size:12.5px;display:inline-flex;align-items:center;gap:7px;transition:.18s;}
nav.primary .cta:hover{background:var(--accent-2);transform:translateY(-1px);}
nav.primary .cta .arw{transition:transform .2s;}
nav.primary .cta:hover .arw{transform:translateX(3px);}

/* ---------- generic section ---------- */
section{padding:74px 0;position:relative;}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:12px;display:flex;align-items:center;gap:9px;}
.eyebrow.center{justify-content:center;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--accent);}
.eyebrow.center::before{width:18px;}
h2.sec{font-family:var(--display);font-weight:600;font-size:clamp(28px,4vw,44px);letter-spacing:-.015em;line-height:1.08;margin:0 0 14px;color:var(--deep);text-wrap:balance;}
h2.sec em{font-style:italic;color:var(--accent-ink);}
.lead{color:var(--muted);font-size:19px;font-style:italic;max-width:680px;margin:0 0 40px;text-wrap:pretty;}
.center .lead,.lead.center{margin-left:auto;margin-right:auto;text-align:center;}
.sec-head.center{text-align:center;display:flex;flex-direction:column;align-items:center;}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;}}

/* ---------- footer ---------- */
footer{background:var(--deep-2);color:#9fb0b3;padding:0 0 30px;font-size:14px;line-height:1.7;}
footer .ftop{height:4px;background:linear-gradient(90deg,var(--tri-saffron) 0 33.33%,#fdfdfd 33.33% 66.66%,var(--tri-green) 66.66% 100%);}
footer .wrap{padding-top:52px;}
footer .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:34px;}
@media (max-width:820px){footer .fgrid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){footer .fgrid{grid-template-columns:1fr;}}
footer h4{font-family:var(--display);color:#f0e7d6;font-size:16px;margin:0 0 14px;font-weight:600;}
footer a{color:#9fb0b3;display:block;padding:3px 0;transition:color .15s;}
footer a:hover{color:var(--accent);}
footer .blurb{font-size:14px;color:#9fb0b3;font-style:italic;max-width:330px;}
footer .addr{font-size:13.5px;color:#9fb0b3;line-height:1.8;font-family:var(--body);}
footer .legal{border-top:1px solid #1d3640;margin-top:34px;padding-top:20px;font-size:12px;line-height:1.8;color:#8497a0;}
footer .legal b{color:#e2d6c2;font-family:var(--display);}
footer .copy{border-top:1px solid #1d3640;margin-top:18px;padding-top:16px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:#7c8f97;}
footer .copy a{display:inline;color:#9fb0b3;}

/* ---------- shared card primitives ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);}
.pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:30px;}
.pill.ok{background:var(--green-soft);color:var(--green-ink);}
.pill.warn{background:#f6e6c4;color:#8a6411;}
.pill.acc{background:var(--accent-soft);color:var(--accent-ink);}

/* status dots */
.sdot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto;}
.sdot.ok{background:var(--green);}
.sdot.caution{background:var(--gold);}
.sdot.high{background:var(--terracotta);}
.sdot.severe{background:var(--berry);}

/* skip link */
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:200;font-family:var(--mono);font-size:12px;}
.skip:focus{left:0;}

:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px;}

/* ---------- Tweaks-driven overrides ---------- */
html.no-motion *{animation:none!important;transition-duration:.001s!important;}
html.no-motion .reveal{opacity:1!important;transform:none!important;}
html.dens-compact section{padding-top:50px;padding-bottom:50px;}
html.dens-comfy section{padding-top:96px;padding-bottom:96px;}
