﻿/* CTD Karnataka – GIGW 3.0 / DBIM v3 front-page theme (no framework dependency) */
:root{
  --primary:#17376b; --primary-d:#0f2549; --accent:#b3261e; --gold:#A3BBF3;
  --bg:#f4f6fa; --surface:#fff; --text:#1b1f27; --muted:#4a5568; --line:#d5dbe6;
  --link:#0b4fb3; --focus:#ff9f1c; --radius:10px; --shadow:0 2px 10px rgba(15,37,73,.10);
}
:root[data-theme="contrast"]{
  --primary:#000a24; --primary-d:#000; --accent:#ffd43b; --gold:#ffd43b;
  --bg:#00122e; --surface:#001a43; --text:#fff; --muted:#e6edff; --line:#6f8fd8; --link:#ffe27a;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);line-height:1.6;
  font-family:"Noto Sans","Noto Sans Kannada",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:1rem}
img{max-width:100%;height:auto;vertical-align:middle}
a{color:var(--link)} a:hover{text-decoration:none}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:calc(100% - 3rem);max-width:1920px;margin-inline:auto}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,h4{line-height:1.3;margin:0}
.flag-strip{height:5px;background:#162F6A}

/* utility bar */
.util{background:var(--primary-d);color:#fff;font-size:.875rem}
.util .wrap{display:flex;flex-wrap:wrap;gap:.25rem 1rem;justify-content:flex-end;align-items:center;padding:.3rem 0}
.util a,.util button,.util input[type=submit]{color:#fff;background:none;border:0;font:inherit;cursor:pointer;padding:.25rem .5rem;text-decoration:none;border-radius:4px}
.util a:hover,.util button:hover,.util input[type=submit]:hover{background:rgba(255,255,255,.18);text-decoration:underline}
.util .group{display:flex;align-items:center;gap:.25rem}
.util .sep{opacity:.5}
.util .fs button{border:1px solid rgba(255,255,255,.6);min-width:2.1rem;font-weight:700}
.util .theme button{width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid #fff;padding:0}
.util .t-light{background:#fff}.util .t-dark{background:#0a2a66}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:.5rem 1rem;z-index:100}
.skip:focus{left:0}

/* masthead */
.masthead{background:var(--surface);border-bottom:1px solid var(--line)}
.masthead .wrap{display:grid;grid-template-columns:minmax(150px,1fr) 3fr minmax(110px,1fr);gap:1rem;align-items:center;padding:.75rem 0}
.cm{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:.85rem;line-height:1.3}
.cm img{max-height:96px;border-radius:6px}
.brand{text-align:center}.brand img{max-height:110px;margin-inline:auto}
.dept{text-align:center}.dept img{max-height:90px;margin-inline:auto}

/* navigation */
.topnav{background:var(--primary);position:sticky;top:0;z-index:50;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.topnav .wrap{display:flex;align-items:center;width:calc(100% - 1.5rem);max-width:1920px}
.topnav ul{display:flex;flex-wrap:nowrap;flex:1;justify-content:space-between}
.topnav a{display:flex;align-items:center;white-space:nowrap;color:#fff;text-decoration:none;padding:.85rem clamp(.4rem,.9vw,1rem);font-weight:600;font-size:clamp(.78rem,1.02vw,.95rem);border-bottom:3px solid transparent}
.topnav a:hover,.topnav a.active{background:var(--primary-d);border-bottom-color:var(--gold)}
.topnav img{width:20px;height:20px;filter:brightness(0) invert(1)}
.nav-toggle{display:none;margin-left:auto;background:none;border:2px solid #fff;color:#fff;border-radius:6px;padding:.4rem .7rem;font-size:1rem;cursor:pointer;margin-block:.4rem}

/* hero slider */
.hero{position:relative;background:#fff;overflow:hidden;border-bottom:1px solid var(--line)}
.slides{position:relative;aspect-ratio:1920/450;min-height:220px;background:#fff}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s;pointer-events:none}
.slide.is-active{opacity:1;pointer-events:auto}
.slide img{width:100%;height:100%;object-fit:contain;background:#fff}
.slide figcaption{position:absolute;left:4.5rem;bottom:1rem;max-width:calc(100% - 9rem);padding:.4rem 1rem;color:#fff;font-weight:600;font-size:1.05rem;background:rgba(15,37,73,.88);border-radius:6px}
.slide figcaption:empty{display:none}
.hero-ctl{position:absolute;inset:auto 1rem 1rem auto;display:flex;gap:.5rem;z-index:5}
.hero-ctl button,.hero-side button{width:2.6rem;height:2.6rem;border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.6);color:#fff;font-size:1.2rem;cursor:pointer}
.hero-ctl button:hover,.hero-side button:hover{background:var(--accent)}
.hero-side{position:absolute;top:50%;transform:translateY(-50%);left:.75rem;right:.75rem;display:flex;justify-content:space-between;pointer-events:none}
.hero-side button{pointer-events:auto}

/* quick links */
.quick{margin-top:1.75rem;position:relative}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.tile a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:4.2rem;padding:.75rem 1rem;background:var(--surface);color:var(--primary);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);font-weight:700;text-decoration:none}
:root[data-theme="contrast"] .tile a{color:var(--text)}
.tile a:hover{background:var(--primary);color:#fff;border-top-color:var(--gold)}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin:1.5rem 0 0}
.cta a{background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:.7rem 1.6rem;border-radius:999px;border:2px solid transparent}
:root[data-theme="contrast"] .cta a{color:#000}
.cta a:hover{background:var(--primary);border-color:var(--gold);color:#fff}

/* updates */
.updates{padding:2.5rem 0 3.5rem}
.sec-title{text-align:left;color:var(--primary);font-size:1.75rem;margin-bottom:1.25rem;position:relative;padding-bottom:.6rem}
:root[data-theme="contrast"] .sec-title{color:var(--text)}
.sec-title::after{content:"";display:block;width:70px;height:4px;background:var(--gold);margin:.5rem 0 0;border-radius:2px}
.tablist{display:flex;flex-wrap:wrap;background:var(--primary)}
.tablist button{flex:1 1 120px;background:none;border:0;color:#fff;font:inherit;font-weight:700;padding:.9rem 1rem;cursor:pointer;border-bottom:4px solid transparent}
.tablist button[aria-selected=true]{background:var(--surface);color:var(--primary);border-bottom-color:var(--accent)}
:root[data-theme="contrast"] .tablist button[aria-selected=true]{color:var(--text)}
.tabpanel{padding:1rem 1.25rem;max-height:520px;overflow:auto}
.tabpanel[hidden]{display:none}
.press-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.press-grid img{width:100%;border:1px solid var(--line);border-radius:6px}
.more{text-align:center;margin:1rem 0 .25rem;font-weight:700}
.tw{max-width:620px;margin:auto}

/* partner strip */
.partners{background:var(--surface);border-block:1px solid var(--line);padding:1.5rem 0}
/* sliding logos */
.marq-wrap{position:relative;padding-top:.25rem}
.marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.marq-track{display:flex;width:max-content;gap:1rem;animation:marq 60s linear infinite;padding:.25rem 0}
.marq:hover .marq-track,.marq:focus-within .marq-track,.marq-track.paused{animation-play-state:paused}
@keyframes marq{to{transform:translateX(calc(-50% - .5rem))}}
.partners li{flex:0 0 170px;text-align:center;font-size:.85rem}
.partners li a{display:flex;align-items:center;justify-content:center;height:70px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.4rem}
.partners li img{max-height:56px;width:auto;object-fit:contain}
.partners li p{margin:.4rem 0 0;color:var(--text)}
.marq-pause{position:absolute;right:0;top:-1.1rem;z-index:3;width:1.9rem;height:1.9rem;border-radius:50%;border:2px solid var(--primary);background:var(--surface);color:var(--primary);font-size:.7rem;cursor:pointer}
:root[data-theme="contrast"] .marq-pause{color:var(--text);border-color:var(--text)}
@media (prefers-reduced-motion:reduce){.marq-track{animation:none}.marq{overflow-x:auto}.marq-pause{display:none}}

/* footer */
.footer{background:var(--primary-d);color:#fff;padding:2.5rem 0 1.5rem}
.footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.footer h2{font-size:1.1rem;border-bottom:3px solid var(--gold);display:inline-block;padding-bottom:.3rem;margin-bottom:1rem}
.footer a{color:#fff}
.footer li{margin:.35rem 0}
/* photo gallery slider */
.gal{position:relative;width:100%;max-width:410px;margin:0 auto}
.gal-view{overflow:hidden;border-radius:14px;border:6px solid #fff;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.45)}
.gallery{display:flex;transition:transform .6s ease}
.gallery a{flex:0 0 100%;display:block}
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:6px}
.gal-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.4rem;height:2.4rem;border-radius:50%;border:2px solid #fff;background:rgba(0,0,0,.65);color:#fff;font-size:1.1rem;cursor:pointer;z-index:2}
.gal-btn:hover{background:var(--accent)}
.gal-prev{left:.5rem}.gal-next{right:.5rem}
.gal-pause{top:auto;bottom:.5rem;right:.5rem;transform:none;width:2rem;height:2rem;font-size:.8rem}
@media (prefers-reduced-motion:reduce){.gallery{transition:none}}
.india-portal{display:inline-block;margin-top:1rem;background:#fff;padding:.3rem;border-radius:6px}
.bottom{background:#0a1a36;color:#fff;font-size:.9rem;padding:1rem 0}
.bottom .row{display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between}
.bottom a{color:#D2DFFF}
.bottom hr{border:0;border-top:1px solid rgba(255,255,255,.25);margin:.75rem 0}
.bottom p{margin:.2rem 0}
.bottom .links a{margin-right:1.2rem}

/* dialogs */
dialog{border:0;border-radius:var(--radius);max-width:min(640px,92vw);padding:0;background:var(--surface);color:var(--text);box-shadow:0 10px 40px rgba(0,0,0,.4)}
dialog::backdrop{background:rgba(0,0,0,.6)}
dialog .d-head{display:flex;justify-content:space-between;align-items:center;background:var(--primary);color:#fff;padding:.7rem 1rem}
dialog .d-body{padding:1rem 1.25rem}
dialog button{cursor:pointer;font:inherit;padding:.4rem .9rem;border-radius:6px;border:1px solid var(--line)}
dialog .d-head button{background:none;color:#fff;border-color:#fff}
dialog strong.h{color:var(--accent)}

/* ---- Nav dropdown (desktop: hover/focus; touch & mobile: caret button) ---- */
.topnav li.has-sub{position:relative;display:flex;align-items:stretch}
.topnav li.has-sub>a{flex:1}
.sub-toggle{background:none;border:0;border-bottom:3px solid transparent;color:#fff;cursor:pointer;padding:0 .35rem 0 0;font-size:.8rem;line-height:1}
.sub-toggle:hover,.sub-toggle:focus-visible{background:var(--primary-d);border-bottom-color:var(--gold)}
.topnav ul.sub{display:none;position:absolute;top:100%;left:0;min-width:14rem;flex:none;flex-direction:column;justify-content:flex-start;background:var(--primary);border-top:3px solid var(--gold);box-shadow:0 6px 14px rgba(0,0,0,.3);z-index:60}
.topnav ul.sub a{white-space:normal;border-bottom:1px solid rgba(255,255,255,.15);padding:.7rem 1rem;font-weight:600}
.topnav ul.sub li:last-child a{border-bottom:0}
.topnav ul.sub a:hover,.topnav ul.sub a:focus-visible{background:var(--primary-d)}
.topnav li.has-sub:hover>ul.sub,.topnav li.has-sub:focus-within>ul.sub,.topnav li.has-sub.open>ul.sub{display:flex}
.topnav li.has-sub.sub-right>ul.sub{left:auto;right:0}
@media (max-width:991px){
  .topnav li.has-sub{flex-wrap:wrap}
  .topnav li.has-sub>a{flex:1 1 auto}
  .sub-toggle{padding:0 1rem;font-size:1rem}
  .topnav ul.sub{position:static;flex-basis:100%;min-width:0;box-shadow:none;border-top:0;background:var(--primary-d)}
  .topnav li.has-sub:hover>ul.sub,.topnav li.has-sub:focus-within>ul.sub{display:none}
  .topnav li.has-sub.open>ul.sub{display:flex}
  .topnav ul.sub a{padding-left:2rem}
}

a[target=_blank]:not(.lightbox):not(.nolink-icon)::after{content:" \2197";font-size:.8em}
@media (max-width:991px){
  .masthead .wrap{grid-template-columns:1fr 1fr}.brand{grid-column:1/-1;order:-1}
  .quick-grid{grid-template-columns:repeat(2,1fr)}
  .footer .cols{grid-template-columns:1fr}
  .nav-toggle{display:block}
  .topnav .wrap{flex-wrap:wrap}
  .topnav ul{display:none;flex-direction:column;flex-basis:100%}
  .topnav ul.open{display:flex}
}
@media (max-width:600px){
  .slides{aspect-ratio:16/9}.slide figcaption{left:.5rem;bottom:.5rem;max-width:calc(100% - 4.5rem);font-size:.9rem}
  .quick-grid{grid-template-columns:1fr}.hero-side{display:none}
}
@media (prefers-reduced-motion:reduce){.slide{transition:none}html{scroll-behavior:auto}}


/* updates: card list + side panel */
.updates-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.5rem;align-items:start}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.card-h{background:var(--primary);color:#fff;font-size:1.1rem;padding:.9rem 1.25rem;border-bottom:4px solid var(--gold)}
.upd-list{padding:.5rem 1rem}
.upd-item{display:grid;grid-template-columns:5.2rem 1fr;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px dashed var(--line)}
.upd-item:last-child{border-bottom:0}
.date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.35rem .25rem;background:var(--bg);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:8px;line-height:1.1}
.date b{font-size:1.6rem;color:var(--primary)}
:root[data-theme="contrast"] .date b{color:var(--text)}
.date span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.upd-item a{font-weight:600}
.tag{display:inline-block;margin-left:.6rem;padding:0 .45rem;font-size:.7rem;font-weight:700;color:#fff;background:var(--accent);border-radius:4px;vertical-align:middle}
:root[data-theme="contrast"] .tag{color:#000}
.side .tabpanel{max-height:560px}
@media (max-width:991px){.updates-grid{grid-template-columns:1fr}}
@media (max-width:600px){.upd-item{grid-template-columns:4.2rem 1fr}}

.footer section[aria-labelledby=gal]{text-align:center}
.footer section[aria-labelledby=gal] p{margin-top:1rem;font-weight:700}

/* social + press cards */
.side-col{display:grid;gap:1.5rem}
.card-h svg{width:1.15rem;height:1.15rem;vertical-align:-.2em;margin-right:.5rem}
.card-h .handle{display:block;font-size:.8rem;font-weight:400;opacity:.85;margin:.1rem 0 0 1.65rem}
.tw-h{background:#0b1220;border-bottom-color:#1d9bf0}
.pr-h{background:var(--accent);border-bottom-color:var(--gold);color:#fff}
:root[data-theme="contrast"] .pr-h{color:#000}
.card-b{padding:1rem}
.tw-b{max-height:420px;overflow:auto}
.tw-b .twitter-timeline{display:block;text-align:center;padding:.8rem 1rem;border:2px dashed #1d9bf0;border-radius:8px;font-weight:700}
.pview{overflow:hidden;border-radius:10px;border:1px solid var(--line);background:var(--bg)}
.ptrack{display:flex;transition:transform .5s ease}
.pslide{flex:0 0 100%;margin:0;position:relative}
.pslide a{display:block}
.pslide img{width:100%;height:300px;object-fit:contain;background:#fff;display:block}
.pslide figcaption{position:absolute;left:.6rem;top:.6rem;background:rgba(15,37,73,.9);color:#fff;font-size:.78rem;font-weight:700;padding:.25rem .7rem;border-radius:12px;line-height:1.3}
.pnav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.8rem}
.pnav button{width:2.2rem;height:2.2rem;border-radius:50%;border:2px solid var(--primary);background:var(--surface);color:var(--primary);cursor:pointer;font-size:1rem}
:root[data-theme="contrast"] .pnav button{color:var(--text);border-color:var(--text)}
.pnav button:hover{background:var(--primary);color:#fff}
.pcount{font-weight:700;min-width:3.5rem;text-align:center}
.press .more{margin:.8rem 0 0}
@media (prefers-reduced-motion:reduce){.ptrack{transition:none}}

/* social icons in top bar */
.util .social{display:flex;gap:.35rem}
.util .social a{display:flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;padding:0;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.5)}
.util .social a:hover{background:#fff;color:var(--primary-d);text-decoration:none}
.util .social svg{width:1rem;height:1rem}
.util .social a[title^=YouTube]:hover{color:#c00}
.pslide figcaption small{display:block;font-weight:400;font-size:.7rem;opacity:.9}

/* footer: department line, policy links, screen-reader table */
.bottom .dept-line{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;align-items:baseline;justify-content:space-between;margin-bottom:.6rem}
.bottom .dept-name{font-size:1.15rem;color:#fff}
.bottom .owner{opacity:.9;font-size:.85rem}
.bottom .policy-links{display:flex;flex-wrap:wrap;gap:.4rem 0}
.bottom .policy-links a{margin:0;padding:0 1rem;border-left:1px solid rgba(255,255,255,.4);font-weight:600}
.bottom .policy-links a:first-child{padding-left:0;border-left:0}
.sr-table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.9rem}
.sr-table th,.sr-table td{border:1px solid var(--line);padding:.4rem .6rem;text-align:left}
.sr-table th{background:var(--primary);color:#fff}
dialog{max-height:85vh;overflow:auto}

/* header search (under right logo) */
.dept{display:flex;flex-direction:column;align-items:center;gap:.5rem}
.hdr-search{display:flex;width:100%;max-width:280px}
.hdr-search input{flex:1;min-width:0;padding:.4rem .7rem;border:2px solid var(--primary);border-right:0;border-radius:6px 0 0 6px;font:inherit;color:#111;background:#fff}
:root[data-theme="contrast"] .hdr-search input{border-color:var(--gold)}
.hdr-search button{display:flex;align-items:center;gap:.35rem;padding:.3rem .8rem;border:2px solid var(--gold);background:var(--gold);color:#000;font:inherit;font-weight:700;border-radius:0 6px 6px 0;cursor:pointer}
.hdr-search button:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.hdr-search svg{width:1rem;height:1rem}

/* footer - S3WaaS / DBIM pattern */
.footer{border-top:6px solid var(--gold);padding-top:2.5rem}
.footer .cols{grid-template-columns:1.1fr 1.2fr 1fr 1fr;gap:2rem}
.f-logo{display:inline-block;background:#fff;border-radius:10px;padding:.5rem .75rem}
.f-logo img{max-height:84px;width:auto}
.f-dept{font-size:1.1rem;font-weight:700;margin:0 0 .25rem}
.f-owner{font-size:.85rem;opacity:.9;margin:0 0 1rem}
.f-social{display:flex;gap:.5rem}
.f-social a{display:flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:50%;border:2px solid #fff;color:#fff;background:rgba(255,255,255,.1)}
.f-social a:hover{background:#fff;color:var(--primary-d)}
.f-social svg{width:1.1rem;height:1.1rem}
.footer ul li a{text-decoration:none}
.footer ul li a::before{content:"\203A";margin-right:.5rem;color:var(--gold);font-weight:700}
.footer ul li a:hover{text-decoration:underline}
.bottom .policy-links{justify-content:center}
.bottom .policy-links a::after{content:none}
.bottom .policy-links a{color:#fff;text-decoration:none}
.bottom .policy-links a:hover{color:var(--gold);text-decoration:underline}
.to-top{position:fixed;right:1rem;bottom:1rem;z-index:60;width:2.8rem;height:2.8rem;border-radius:50%;border:2px solid #fff;background:var(--accent);color:#fff;font-size:1.3rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.to-top[hidden]{display:none}
.to-top:hover{background:var(--primary)}
:root[data-theme="contrast"] .to-top{color:#000}
@media (max-width:1100px){.footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:991px){.hdr-search{max-width:100%}}
@media (max-width:600px){.footer .cols{grid-template-columns:1fr}}
@media print{.to-top{display:none}}

/* footer identity column: heading aligned with the other column headings */
.footer .f-id h2.f-dept{font-size:1.1rem;line-height:1.4;margin:0 0 1rem}
.footer .f-owner{margin:0;padding:1.1rem 1.25rem;font-size:.95rem;line-height:1.75;opacity:1;color:#e8eefc;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-left:4px solid var(--gold);border-radius:8px}

/* ===== Footer v2: "glass cards on a gradient" look ===== */
.footer{
  position:relative;border-top:0;padding:3.25rem 0 2.25rem;border-radius:36px 36px 0 0;margin-top:-1px;
  background:
    radial-gradient(circle at 12% 18%,rgba(163,187,243,.16),transparent 38%),
    radial-gradient(circle at 92% 80%,rgba(179,38,30,.35),transparent 42%),
    radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.5px) 0 0/22px 22px,
    linear-gradient(135deg,#0c1d3d 0%,#17376b 58%,#4a1630 100%);
}
.footer::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(320px,60%);height:6px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,var(--accent),var(--gold))}
:root[data-theme="contrast"] .footer{background:#000a24;border-top:2px solid var(--gold)}
.footer .cols{gap:1.25rem;align-items:stretch}
.footer .cols>section{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:18px;
  padding:1.4rem 1.4rem 1.6rem;box-shadow:0 10px 28px rgba(0,0,0,.25);
}
.footer h2,.footer .f-id h2.f-dept{
  display:block;border:0;padding:0 0 .8rem;margin:0 0 1rem;position:relative;font-size:1.1rem;letter-spacing:.2px;
}
.footer h2::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold) 0 38%,rgba(255,255,255,.22) 38% 100%)}
.footer section[aria-labelledby=gal] h2{text-align:center}
.footer section[aria-labelledby=gal] h2::after{background:linear-gradient(90deg,transparent,var(--gold),transparent)}
/* identity card: no inner box, big quote mark instead */
.footer .f-owner{background:none;border:0;border-radius:0;padding:0 0 0 .2rem;font-size:.95rem;line-height:1.8;color:#e8eefc;position:relative}
.footer .f-id{overflow:hidden}
.footer .f-id::after{content:"\201C";position:absolute;right:1rem;bottom:-1.6rem;font-size:8rem;line-height:1;color:rgba(163,187,243,.16);font-family:Georgia,serif;pointer-events:none}
/* links: soft rows that slide on hover */
.footer ul li{margin:.15rem 0}
.footer ul li a{display:block;padding:.4rem .65rem;border-radius:10px;transition:background .2s,transform .2s}
.footer ul li a:hover,.footer ul li a:focus-visible{background:rgba(255,255,255,.13);transform:translateX(4px);text-decoration:none}
.footer ul li a::before{content:"\25B8";color:var(--gold)}
/* gallery: lifted polaroid */
.gal-view{box-shadow:0 12px 26px rgba(0,0,0,.45)}
.footer section[aria-labelledby=gal] p a{display:inline-block;padding:.35rem 1.2rem;border:2px solid var(--gold);border-radius:999px;color:#fff;text-decoration:none}
.footer section[aria-labelledby=gal] p a:hover{background:var(--gold);color:#000}
.india-portal{box-shadow:0 4px 12px rgba(0,0,0,.35);transition:transform .2s}
.india-portal:hover{transform:translateY(-2px)}
/* bottom bar */
.bottom{background:linear-gradient(90deg,#08142b,#0f2549 60%,#2b0f22);border-top:3px solid var(--gold);padding:1.25rem 0}
.bottom .policy-links{gap:.5rem}
.bottom .policy-links a,.bottom .policy-links a:first-child{margin:0;padding:.35rem 1.1rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.06)}
.bottom .policy-links a:hover{background:var(--gold);color:#000;border-color:var(--gold);text-decoration:none}
.bottom hr{border-top-color:rgba(255,255,255,.18)}
@media (max-width:600px){.footer{border-radius:24px 24px 0 0}.footer .cols>section{padding:1.1rem}}

/* ===== Footer v3: no boxes / grid look ===== */
.footer{
  background:
    radial-gradient(circle at 12% 18%,rgba(163,187,243,.14),transparent 38%),
    radial-gradient(circle at 92% 80%,rgba(179,38,30,.30),transparent 42%),
    linear-gradient(135deg,#0c1d3d 0%,#17376b 58%,#4a1630 100%);
}
.footer .cols>section{background:none;border:0;border-radius:0;box-shadow:none;padding:0}
.footer .f-id::after{display:none}
.footer .cols{gap:2.5rem}

/* ===== Footer v4: info strip (visitors / last updated) + copyright bar ===== */
.bottom{padding:.9rem 0}
.f-strip{background:#3c71bd;color:#fff;font-size:1rem}
.f-strip-in{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:3.7rem;gap:1rem}
.f-strip p{margin:0}
.f-strip .visitors{justify-self:start}
.f-strip .lastupdate{justify-self:center}
.f-strip .sep{margin:0 .15rem 0 .5rem}
.f-strip .count{font-weight:700;font-size:1.05rem}
.f-copy{background:#302f30;color:#fff;border-top:1px solid rgba(255,255,255,.12);padding:.55rem 0;text-align:center;font-size:.875rem}
.f-copy p{margin:.15rem 0}
.f-copy a{color:#fff;text-decoration:underline}
.f-copy .copyright{font-size:.8rem;opacity:.85}
:root[data-theme="contrast"] .f-strip{background:#000a24;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)}
:root[data-theme="contrast"] .f-copy{background:#000}
@media (max-width:700px){
  .f-strip-in{grid-template-columns:1fr;justify-items:center;text-align:center;padding:.6rem 0;gap:.2rem}
  .f-strip .visitors,.f-strip .lastupdate{justify-self:center}
}

/* Footer v5: copyright + browser note in the identity column */
.footer .f-id .f-owner{margin:0 0 .9rem;padding-left:0}
.footer .f-id .f-copyright{font-weight:700}
.footer .f-id .f-browser{font-size:.9rem}
.footer .f-id .f-browser a{color:var(--gold);text-decoration:underline}

/* ===== Site search results page (Search.aspx) ===== */
.masthead.compact .wrap{grid-template-columns:1fr minmax(240px,340px)}
.masthead.compact .brand{text-align:left}
.masthead.compact .brand img{margin-inline:0}
.topnav.slim ul{display:flex;flex-direction:row;justify-content:flex-start}
.topnav.slim a{gap:.4rem}
.search-page{padding:2rem 0 3.5rem;min-height:40vh}
.sr-summary{margin:0 0 1rem;font-size:1.05rem}
.sr-note{margin:0 0 1rem;color:var(--muted)}
.sr-list{display:grid;gap:.85rem;margin:0;padding:0;list-style:none}
.sr-item{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem 1.15rem}
.sr-h{font-size:1.08rem;line-height:1.4;margin:0}
.sr-h a{font-weight:700}
.sr-url{margin:.15rem 0 .35rem;font-size:.8rem;color:var(--muted);word-break:break-all}
.sr-snip{margin:0;font-size:.95rem}
.sr-item mark{background:var(--gold);color:#000;padding:0 .15em;border-radius:3px}
.pager{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem;align-items:center}
.pager a,.pager .cur{min-width:2.4rem;text-align:center;padding:.4rem .8rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-weight:700;text-decoration:none}
.pager a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.pager .cur{background:var(--primary);color:#fff;border-color:var(--primary)}
:root[data-theme="contrast"] .pager .cur{background:var(--gold);color:#000;border-color:var(--gold)}
@media (max-width:600px){.masthead.compact .wrap{grid-template-columns:1fr}.masthead.compact .brand{text-align:center}.masthead.compact .brand img{margin-inline:auto}}
.pager .gap{padding:.4rem .2rem;color:var(--muted);font-weight:700}
.pager a[rel=prev],.pager a[rel=next]{padding-inline:1rem}

/* ==========================================================
   CTD Karnataka - Accessibility toolbar (GIGW 3.0 / WCAG 2.1 AA)
   Companion to js/ctd-a11y.js
   ========================================================== */


/* ---------- Launcher ---------- */
.a11y-launch{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:9998;display:flex;align-items:center;gap:.45rem;min-height:48px;min-width:48px;padding:.5rem .7rem;background:#17376b;color:#fff;border:2px solid #fff;border-left:0;border-radius:0 10px 10px 0;box-shadow:0 2px 8px rgba(0,0,0,.35);font:600 .9rem/1.2 "Noto Sans","Noto Sans Kannada",Arial,sans-serif;cursor:pointer}
.a11y-launch:hover{background:#0f2750}
.a11y-launch svg{width:26px;height:26px;flex:none}
.a11y-launch .a11y-launch-t{display:none}
@media (min-width:900px){.a11y-launch .a11y-launch-t{display:inline}}
.a11y-launch:focus-visible,.a11y-panel button:focus-visible{outline:3px solid #214AAB;outline-offset:2px}

/* ---------- Panel ---------- */
.a11y-panel{position:fixed;left:8px;top:8px;bottom:8px;z-index:9999;width:min(350px,calc(100vw - 16px));display:flex;flex-direction:column;background:#fff;color:#1a1a1a;border:2px solid #17376b;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.4);font:400 .95rem/1.4 "Noto Sans","Noto Sans Kannada",Arial,sans-serif}
.a11y-panel[hidden]{display:none}
.a11y-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .8rem;background:#17376b;color:#fff;border-radius:7px 7px 0 0}
.a11y-head h2{margin:0;font-size:1.05rem;font-weight:700;color:#fff}
.a11y-close{min-height:40px;padding:.3rem .8rem;background:#fff;color:#17376b;border:2px solid #fff;border-radius:6px;font:600 .9rem/1 inherit;font-family:inherit;cursor:pointer}
.a11y-body{padding:.7rem .8rem;overflow-y:auto;flex:1}
.a11y-group{margin:0 0 .9rem;padding:0;border:0}
.a11y-group>legend,.a11y-group-t{display:block;margin:0 0 .4rem;padding:0;font-weight:700;font-size:.95rem;color:#17376b}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}

.a11y-panel .a11y-tool{display:flex;align-items:center;gap:.4rem;width:100%;min-height:48px;padding:.45rem .55rem;background:#f3f6fb;color:#1a1a1a;border:2px solid #9aa9c2;border-radius:8px;font:500 .85rem/1.25 inherit;font-family:inherit;text-align:left;cursor:pointer}
.a11y-panel .a11y-tool:hover{background:#e3ebf7}
.a11y-panel .a11y-tool .a11y-tick{flex:none;width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;border:2px solid #17376b;border-radius:4px;background:#fff;color:#fff;font-size:.85rem;line-height:1}
.a11y-panel .a11y-tool[aria-pressed="true"]{background:#17376b;color:#fff;border-color:#17376b;font-weight:700}
.a11y-panel .a11y-tool[aria-pressed="true"] .a11y-tick{background:#fff;color:#17376b}
.a11y-panel .a11y-tool[aria-pressed="true"] .a11y-tick::before{content:"\2713"}
.a11y-panel .a11y-wide{grid-column:1/-1}
.a11y-status{min-height:1.4em;margin:.2rem 0 0;font-size:.85rem;color:#333}
.a11y-foot{display:flex;gap:.4rem;padding:.6rem .8rem;border-top:1px solid #c8d1e0}
.a11y-foot .a11y-tool{justify-content:center;font-weight:700}
.a11y-panel .a11y-reset{background:#fff;border-color:#b3261e;color:#b3261e}
.a11y-panel .a11y-reset:hover{background:#fdecea}

/* ---------- Reading guide ---------- */
.a11y-guide-bar{display:none;position:fixed;left:0;right:0;top:40%;height:46px;z-index:9997;pointer-events:none;background:rgba(163,187,243,.35);border-top:3px solid #000;border-bottom:3px solid #000}
html.a11y-guide .a11y-guide-bar{display:block}

/* ---------- Display modes ---------- */
html.a11y-contrast,html.a11y-contrast body{background:#000!important;color:#ff0!important}
html.a11y-contrast *:not(img):not(svg):not(path):not(circle){background-color:#000!important;background-image:none!important;color:#ff0!important;border-color:#ff0!important;box-shadow:none!important;text-shadow:none!important}
html.a11y-contrast a,html.a11y-contrast a *{color:#0ff!important;text-decoration:underline!important}
html.a11y-contrast img{filter:grayscale(1) contrast(1.2)}
html.a11y-contrast .a11y-panel .a11y-tool[aria-pressed="true"]{outline:3px solid #ff0}

html.a11y-invert{filter:invert(1) hue-rotate(180deg)}
html.a11y-invert img,html.a11y-invert video{filter:invert(1) hue-rotate(180deg)}
html.a11y-gray{filter:grayscale(1)}
html.a11y-gray.a11y-invert{filter:grayscale(1) invert(1) hue-rotate(180deg)}

html.a11y-links a{background:#ff0!important;color:#000!important;text-decoration:underline!important;outline:2px solid #000;outline-offset:1px}
html.a11y-links .a11y-launch{background:#17376b!important;color:#fff!important}

html.a11y-font body,html.a11y-font body *:not(svg):not(path){font-family:Verdana,Arial,"Noto Sans Kannada","Nirmala UI",Tunga,sans-serif!important}

html.a11y-spacing body *{word-spacing:.16em!important}
/* letter-spacing can disturb Kannada conjuncts, so apply it to English text only */
html[lang="en"].a11y-spacing body *{letter-spacing:.12em!important}
html.a11y-lh body *{line-height:1.9!important}

html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l16 10-7 1.5L16.5 21l-3 1.5-3.5-7.5L4 19z' fill='black' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 4 2,auto!important}
html.a11y-cursor a,html.a11y-cursor button,html.a11y-cursor [role="button"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l16 10-7 1.5L16.5 21l-3 1.5-3.5-7.5L4 19z' fill='%23ffbf00' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") 4 2,pointer!important}

html.a11y-noanim *,html.a11y-noanim *::before,html.a11y-noanim *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

html.a11y-focus :focus,html.a11y-focus :focus-visible{outline:4px solid #e65100!important;outline-offset:3px!important;box-shadow:0 0 0 3px #fff!important}

@media (prefers-reduced-motion:reduce){.a11y-launch,.a11y-panel{transition:none}}
@media print{.a11y-launch,.a11y-panel,.a11y-guide-bar{display:none!important}}

/* ---- Accessibility toolbar: header button, text size, colours ---- */
.util button.a11y-hdr-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:2.1rem;padding:.25rem .8rem;border:1px solid rgba(255,255,255,.7);border-radius:6px;font-weight:700}
.util button.a11y-hdr-btn svg{width:1.25rem;height:1.25rem;flex:none}
.util button.a11y-hdr-btn .a11y-launch-t{display:inline}
.util button.a11y-hdr-btn[aria-expanded="true"]{background:rgba(255,255,255,.22)}
.a11y-panel--hdr{left:auto;right:8px}
.a11y-row{display:flex;gap:.4rem}
.a11y-panel .a11y-size{flex:1;justify-content:center;text-align:center;font-weight:700;font-size:1rem}
.a11y-sw{flex:none;width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid #17376b}
.a11y-sw-light{background:#fff}
.a11y-sw-blue{background:#0a2a66}
.a11y-panel .a11y-tool[aria-pressed="true"] .a11y-sw{border-color:#fff}
.f-social{margin-top:.9rem}

/* ===== Update 12-Oct-2026: language icon, solid footer, visitors/back-to-top overlap, slider size ===== */

/* 1. language switch: "ಕ | A" label + navy pill button, on a light chip so it shows on the dark utility bar */
.util .group.lang{gap:.5rem;background:#fff;border-radius:8px;padding:.15rem .3rem .15rem .6rem}
.util .lang .lang-ico{font-size:.85rem;font-weight:600;color:#4a5568;white-space:nowrap}
.util .lang .btn-link{padding:.35rem .9rem;font-size:.875rem;font-weight:700;line-height:1.2;color:#fff;background:#0a2155;border:1px solid #0a2155;border-radius:6px;text-decoration:none}
.util .lang .btn-link:hover,.util .lang .btn-link:focus-visible{background:#0f3278;text-decoration:none}
:root[data-theme="contrast"] .util .lang .btn-link{color:#000;background:var(--gold);border-color:var(--gold)}

/* 2. footer (useful links area + bottom bar): one solid colour, no gradients */
.footer{background:var(--primary-d)}
.footer::before{background:var(--gold)}
.bottom{background:#0a1a36}

/* 3. the fixed back-to-top button no longer sits on top of Visitors / copyright text */
.bottom .wrap{padding-right:4.5rem}
@media (max-width:700px){.bottom .wrap{padding-right:0;padding-bottom:3.5rem}}

/* 4. hero slider size - change ONLY --hero-ratio / --hero-max to match the DBIM banner spec */
:root{--hero-ratio:1920/450;--hero-max:450px}
.slides{aspect-ratio:var(--hero-ratio);max-height:var(--hero-max);width:100%}
@media (max-width:600px){.slides{aspect-ratio:16/9;max-height:none}}

/* ==========================================================================
   MOBILE / TABLET LAYER (index.aspx) + COOKIE NOTICE
   Appended last so it overrides earlier rules. Breakpoints: 991 / 700 / 480 px.
   ========================================================================== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:clip}
main,.card,.upd-item>div,.footer section{min-width:0}
.upd-item a,.tile a,.footer a{overflow-wrap:anywhere}

/* back-to-top respects phone safe areas */
.to-top{right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom))}

@media (max-width:991px){
  .wrap{width:calc(100% - 2rem)}
  .masthead .wrap{gap:.5rem .75rem;padding:.6rem 0}
  .cm img{max-height:72px}.brand img{max-height:84px}.dept img{max-height:64px}
  .hdr-search{max-width:100%}
  .hdr-search input{min-height:44px;font-size:1rem}
  .topnav .wrap{width:100%;padding-inline:.75rem}
  .nav-toggle{min-height:44px;min-width:44px}
  .topnav ul.open{max-height:calc(100vh - 4.5rem);max-height:calc(100dvh - 4.5rem);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid rgba(255,255,255,.2)}
  .topnav ul a{white-space:normal;padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.12);min-height:44px}
  .topnav ul.sub a{padding:.75rem 1rem .75rem 2rem}
  .sub-toggle{min-width:48px;min-height:44px}
  .cta a{flex:1 1 14rem;text-align:center}
  .updates{padding:1.5rem 0 2.5rem}
}

@media (max-width:700px){
  /* top utility bar: stack neatly, 44px touch targets */
  .util .wrap{justify-content:center}
  .util .a11y-slot{margin-left:0!important}
  .util ul.group{justify-content:center}
  .util a,.util button,.util input[type=submit]{min-height:44px;display:inline-flex;align-items:center}
  .util .group.lang{padding:.1rem .25rem .1rem .6rem}
  .util .lang .btn-link{min-height:40px}
  /* hero */
  .slide figcaption{font-size:.8rem;padding:.3rem .55rem}
  .hero-ctl{inset:auto .5rem .5rem auto}
  .hero-ctl button{width:2.75rem;height:2.75rem}
  /* cards / updates */
  .card-h{font-size:1rem;padding:.75rem 1rem}
  .card-b{padding:.75rem}
  .upd-list{padding:.25rem .75rem}
  .pnav button,.gal-btn,.marq-pause{min-width:44px;min-height:44px}
  .marq-pause{top:-1.4rem}
  .partners{padding:1.1rem 0}
  .partners li{flex-basis:130px}
  .partners li a{height:60px}
  /* footer */
  .footer{padding:1.5rem 0 1rem}
  .bottom .policy-links{display:grid;grid-template-columns:1fr 1fr;gap:.15rem .5rem}
  .bottom .policy-links a{border-left:0!important;padding:.6rem .25rem!important;min-height:44px;display:flex;align-items:center}
  .bottom .row{flex-direction:column;gap:.15rem}
  /* dialogs */
  dialog{width:94vw;max-width:94vw;max-height:88vh;margin:auto}
  dialog .d-head button{min-height:44px}
  dialog .d-body{padding:.85rem 1rem;overflow-x:auto}
  .sr-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media (max-width:480px){
  .masthead .wrap{grid-template-columns:1fr}
  .cm,.dept{justify-self:center}
  .quick-grid{gap:.6rem}
  .tile a{min-height:3.4rem;padding:.6rem .75rem}
  .cta a{padding:.6rem 1rem;flex-basis:100%}
  .sec-title{font-size:1.35rem}
}

/* ---------- Cookie notice bar ---------- */
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.25rem;
  background:var(--primary-d);color:#fff;border-top:4px solid var(--gold);box-shadow:0 -4px 14px rgba(0,0,0,.35);
  padding:.9rem max(1rem,env(safe-area-inset-right)) calc(.9rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}
.cookie-bar[hidden]{display:none}
.cookie-bar p{margin:0;flex:1 1 24rem;max-width:60rem;font-size:.95rem;line-height:1.5}
.cookie-bar a{color:var(--gold);font-weight:700}
.cookie-bar .cookie-ok{min-height:44px;padding:.5rem 1.4rem;font:inherit;font-weight:700;color:#000;background:var(--gold);border:2px solid var(--gold);border-radius:6px;cursor:pointer}
.cookie-bar .cookie-ok:hover{background:#fff;border-color:#fff}
.cookie-bar a:focus-visible,.cookie-bar .cookie-ok:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
body.has-cookie-bar .to-top{bottom:calc(var(--cookie-h,5rem) + 1rem)}
@media (max-width:600px){.cookie-bar{flex-direction:column;align-items:stretch}.cookie-bar .cookie-ok{width:100%}}
@media print{.cookie-bar{display:none}}
/* ---- 320px reflow fix (GIGW 5.2.17 / WCAG 1.4.10): grid children may shrink below their content ---- */
.masthead .wrap>*,.updates-grid>*,.footer .cols>*,.quick-grid>*{min-width:0}
.brand img,.dept img,.cm img{max-width:100%;height:auto}
@media (max-width:991px){.masthead .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:480px){
  .masthead .wrap{grid-template-columns:minmax(0,1fr)}
  .hdr-search button{padding-inline:.7rem}
  .hdr-search button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* ==========================================================================
   FOOTER (DBIM key-colour blue, flat) + QUICK LINKS + WEBSITE INFORMATION
   COOKIE CONSENT BAR (reject / customise / accept) + SKIP-LINK ICON
   ========================================================================== */
.skip svg,.util a[href="#main"] svg{width:1.1rem;height:1.1rem;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.skip,.util a[href="#main"]{display:inline-flex;align-items:center;gap:.4rem}

.footer{background:#162F6A;border-radius:0;border-top:0;margin-top:0;padding:2.5rem 0 1.5rem}
.footer::before,.footer::after{display:none}
.bottom{background:#162F6A;border-top:1px solid rgba(255,255,255,.25)}
:root[data-theme="contrast"] .footer,:root[data-theme="contrast"] .bottom{background:#000a24}
.footer a:focus-visible,.bottom a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.footer .f-sub{margin:1.1rem 0 .6rem;font-size:1.05rem;font-weight:700;color:#fff}
.footer .f-id .f-owner{margin:0 0 .9rem}
.footer .f-id .f-owner a{color:#fff;text-decoration:underline}

.f-quick{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.25)}
.f-qgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.1rem 1.5rem}
.footer .f-qgrid li{margin:0}
.footer .f-qgrid li a{display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:.4rem .25rem;color:#fff;text-decoration:none;border-radius:6px;transform:none}
.footer .f-qgrid li a::before{content:none}
.footer .f-qgrid li a:hover,.footer .f-qgrid li a:focus-visible{background:rgba(255,255,255,.12);text-decoration:underline;transform:none}
.f-qgrid .ico{width:1.25rem;height:1.25rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* cookie consent bar */
.cookie-bar{background:var(--surface);color:var(--text);border-top:4px solid #162F6A;box-shadow:0 -4px 16px rgba(0,0,0,.25);justify-content:center}
.cookie-bar p{flex:1 1 26rem;max-width:62rem;color:var(--text)}
.cookie-bar a{color:var(--link);font-weight:400;text-decoration:underline}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;flex:0 0 auto}
.cookie-btn{min-height:44px;padding:.5rem 1rem;font:inherit;font-weight:600;color:#fff;border:2px solid transparent;border-radius:6px;cursor:pointer}
.cookie-btn--grey{background:#5b6470;border-color:#5b6470}
.cookie-btn--blue{background:#162F6A;border-color:#162F6A}
.cookie-btn:hover{filter:brightness(1.2)}
.cookie-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
:root[data-theme="contrast"] .cookie-btn{background:var(--gold);border-color:var(--gold);color:#000}
@media (max-width:600px){.cookie-actions{flex-direction:column;width:100%}.cookie-btn{width:100%}}

/* cookie choices inside the policy dialog */
.ck-choices{margin-top:1rem;padding-top:.5rem;border-top:1px solid var(--line)}
.ck-row{display:flex;gap:.65rem;align-items:flex-start;margin:.6rem 0;cursor:pointer}
.ck-row input{flex:none;width:1.2rem;height:1.2rem;margin-top:.3rem}
dialog .ck-save{min-height:44px;margin-top:.5rem;padding:.5rem 1.2rem;font-weight:600;color:#fff;background:#162F6A;border:2px solid #162F6A}
:root[data-theme="contrast"] dialog .ck-save{color:#000;background:var(--gold);border-color:var(--gold)}

/* ---------- language drop-down (replaces the two buttons) ---------- */
.util .lang-ico{display:inline-flex;align-items:center;font-size:.9rem;font-weight:700;color:#0a2155;white-space:nowrap}
.util .lang-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.util .lang-select{min-height:2.25rem;padding:.3rem .6rem;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;color:#0a2155;background-color:#fff;border:2px solid #0a2155;border-radius:6px}
.util .lang-select:hover{background-color:#eef2fb}
.util .lang-select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
:root[data-theme="contrast"] .util .lang-select{color:var(--gold);background-color:#000;border-color:var(--gold)}
@media (max-width:700px){.util .lang-select{min-height:44px}}

/* ==========================================================================
   GIGW 3.0 / DBIM v3 audit fixes (appended)
   ========================================================================== */

/* DBIM 4.3 type scale: desktop H1 36 / H2 24 / H3 20 / P 16, mobile 24 / 20 / 16 / 14 */
h1 { font-size: 2.25rem !important; line-height: 1.25; }
h2 { font-size: 1.5rem !important;  line-height: 1.3; }
h3 { font-size: 1.25rem !important; line-height: 1.35; }
p, li { font-size: 1rem; }
body { line-height: 1.5; }                    /* DBIM 4.5: 1.2 to 1.5 x font size */
@media (max-width: 600px) {
  h1 { font-size: 1.5rem !important; }
  h2 { font-size: 1.25rem !important; }
  h3 { font-size: 1rem !important; }
  p, li { font-size: .875rem; }
}

/* DBIM 4.5: distinct hover / focus / disabled states for links and buttons */
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #ff9f1c; outline-offset: 2px;
}
button:not(:disabled):hover, .pr-btn:hover, .cookie-btn:hover { filter: brightness(1.12); }
button:disabled, button[aria-disabled="true"], .pr-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }

/* ownership / lineage statement (footer, every page) */
.f-lineage, .lineage { margin: 0; padding: .6rem 0; font-weight: 600; color: #fff; }
.policy-page { max-width: 62rem; margin: 0 auto 2rem; }
.policy-toc ul { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding: 0; margin: 0 0 1.25rem; list-style: none; }
.policy-h { margin-top: 1.5rem; }

/* Home page menu: wrap instead of overflowing the bar (Kannada labels are long) */
.topnav #navList { flex-wrap: wrap; justify-content: center; }
html[lang="kn"] .topnav a { line-height: 1.5; font-size: clamp(.78rem, .95vw, .9rem); }

/* Home page menu: ONE line on wide screens (English). Narrower screens and Kannada may still wrap. */
@media (min-width: 1280px) {
  html:not([lang="kn"]) .topnav #navList { flex-wrap: nowrap; justify-content: space-between; }
  html:not([lang="kn"]) .topnav #navList > li > a { padding-inline: clamp(.3rem, .5vw, .6rem); font-size: clamp(.8rem, .85vw, .92rem); }
  html:not([lang="kn"]) .topnav #navList .sub-toggle { padding-right: .15rem; }
}

/* Footer Jump-Menu Dropdowns */
.footer-dropdown-wrap {
    margin-top: .75rem;
}
.footer-select {
    width: 100%;
    min-height: 44px;
    padding: .5rem .75rem;
    font: inherit;
    font-size: .95rem;
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 8px;
    cursor: pointer;
}
.footer-select option {
    color: #1b1f27;
    background-color: #fff;
}
.footer-select:hover {
    background-color: rgba(255, 255, 255, 0.18);
    border-color: var(--gold);
}
.footer-select:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}
/* ==========================================================================
   GIGW 3.0 & DBIM v3 Compliance Fixes (Footer Dropdowns & Mobile Reflow)
   ========================================================================== */

/* 1. Footer Jump-Menu Dropdowns */
.footer-dropdown-wrap {
    margin-top: .75rem;
}
.footer-select {
    width: 100%;
    min-height: 44px;
    padding: .5rem .75rem;
    font: inherit;
    font-size: .95rem;
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 8px;
    cursor: pointer;
}
.footer-select option {
    color: #1b1f27;
    background-color: #fff;
}
.footer-select:hover {
    background-color: rgba(255, 255, 255, 0.18);
    border-color: var(--gold);
}
.footer-select:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}

/* 2. Quick Links Button Reset (Prevents Help button from looking like a box) */
.f-qgrid .link-btn {
    background: transparent !important;
    border: none !important;
    padding: .4rem .25rem !important;
    height: auto !important;
    min-height: 0 !important;
    color: #fff !important;
    font: inherit !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    box-shadow: none !important;
}
.f-qgrid .link-btn:hover,
.f-qgrid .link-btn:focus-visible {
    background: rgba(255, 255, 255, 0.12) !important;
    text-decoration: underline !important;
}

/* 3. Mobile Viewport Reflow Guard (Prevents horizontal overflow at 320px) */
@media (max-width: 480px) {
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    *, *::before, *::after {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .s3-container, .wrap {
        padding-left: 10px !important;
        padding-right: 10px !important;
        width: 100% !important;
    }
    table, .sr-table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}
/* Fix Copyright Line Background in Footer */
.f-bottom .f-copy,
.f-bottom .f-copy *,
#copyrightlink_right {
    background: transparent !important;
    background-color: transparent !important;
    color: rgba(255, 255, 255, 0.9) !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Clean Top Bar Header Icons (Skip, Language, Accessibility) */
.s3-topbar .topbar-tools .tb-btn,
.s3-topbar .topbar-links a.top-bar-icon-btn {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 4px 8px !important;
    height: 40px !important;
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    border-radius: 4px;
}

/* Remove vertical dividers around top bar buttons */
.s3-topbar .tb-item,
.s3-topbar .topbar-links li {
    border: none !important;
}

/* Ensure SVG / Img icons inside are crisp, bright white, and scaled properly */
.s3-topbar .top-bar-icon-btn img,
.s3-topbar .top-bar-icon-btn svg {
    width: 24px !important;
    height: 24px !important;
    filter: brightness(0) invert(1); /* Ensures pure white icon color */
}

/* Clean Hover & Focus States (GIGW / DBIM Requirement) */
.s3-topbar .tb-btn:hover,
.s3-topbar .top-bar-icon-btn:hover {
    background-color: rgba(255, 255, 255, 0.15) !important;
}

.s3-topbar .tb-btn:focus-visible,
.s3-topbar .top-bar-icon-btn:focus-visible {
    outline: 2px solid #A3BBF3 !important;
    outline-offset: 2px !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
}

/* ==========================================================================
   Header Top-Bar Alignment & Baseline Fixes (GIGW 3.0 / DBIM v3)
   ========================================================================== */

/* 1. Flex container alignment */
.s3-topbar .topbar-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 40px !important;
}

/* 2. Horizontal alignment & uniform spacing for tool links */
.s3-topbar .topbar-links,
.s3-topbar .topbar-tools {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important; /* Uniform gap between icons */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.s3-topbar .topbar-links li,
.s3-topbar .tb-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 3. Identical box dimensions for top bar buttons */
.s3-topbar .top-bar-icon-btn,
.s3-topbar .tb-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    width: 36px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    vertical-align: middle !important;
}

/* 4. Perfect image/SVG centering */
.s3-topbar .top-bar-icon-btn svg,
.s3-topbar .top-bar-icon-btn img,
.s3-topbar .tb-btn svg,
.s3-topbar .tb-btn img {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    margin: 0 auto !important;
}
/* ==========================================================================
   Kannada Hero Heading Optimization
   ========================================================================== */
html[lang="kn"] .hero-title,
html[lang="kn"] h1.banner-heading,
.s3-main h1 {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important; /* Allows natural multi-line wrapping */
    font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important; /* Responsive scaling */
    line-height: 1.3 !important;
}

/* ==========================================================================
   Navigation Menu Single-Row Fitting Adjustment
   ========================================================================== */
@media (min-width: 992px) {
    .topnav #navList {
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
    }
    .topnav a {
        padding-inline: clamp(0.2rem, 0.4vw, 0.6rem) !important;
        font-size: clamp(0.75rem, 0.85vw, 0.88rem) !important;
    }
}

.cookie-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9990;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: #ffffff !important;
    color: #1b1f27 !important;
    border-top: 1px solid #d5dbe6;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
    padding: 1rem 2rem;
}

.cookie-bar p {
    margin: 0;
    flex: 1 1 32rem;
    color: #1b1f27 !important;
    font-size: 0.95rem;
    line-height: 1.5;
}

.cookie-bar a {
    color: #0b4fb3 !important;
    font-weight: 600;
    text-decoration: underline;
}

.cookie-actions {
    display: flex;
    gap: 0.5rem;
    flex: 0 0 auto;
}

.cookie-btn {
    min-height: 40px;
    padding: 0.5rem 1.2rem;
    font: inherit;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.cookie-btn--grey {
    background: #5b6470 !important;
    color: #fff !important;
}

.cookie-btn--blue {
    background: #0066cc !important;
    color: #fff !important;
}

.cookie-btn:hover {
    filter: brightness(1.1);
}

/* ---------- Cookie Consent Bar (Matching Reference Design) ---------- */
.cookie-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9990;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: #ffffff !important;
  color: #1b1f27 !important;
  border-top: 1px solid #d5dbe6;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
  padding: 1rem 2rem;
}

.cookie-bar p {
  margin: 0;
  flex: 1 1 32rem;
  color: #1b1f27 !important;
  font-size: 0.95rem;
  line-height: 1.5;
}

.cookie-bar a {
  color: #0b4fb3 !important;
  font-weight: 600;
  text-decoration: underline;
}

.cookie-actions {
  display: flex;
  gap: 0.5rem;
  flex: 0 0 auto;
}

.cookie-btn {
  min-height: 40px;
  padding: 0.5rem 1.2rem;
  font: inherit;
  font-weight: 600;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

.cookie-btn--grey {
  background: #5b6470 !important;
  color: #fff !important;
}

.cookie-btn--blue {
  background: #0066cc !important;
  color: #fff !important;
}

.cookie-btn:hover {
  filter: brightness(1.1);
}

@media (max-width: 600px) {
  .cookie-bar {
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
  }
  .cookie-actions {
    flex-direction: column;
    width: 100%;
  }
  .cookie-btn {
    width: 100%;
  }
}
.cookie-bar {
  background: #162F6A !important;
  color: #ffffff !important;
  border-top: 4px solid var(--gold, #A3BBF3);
}

.cookie-bar p, 
.cookie-bar strong {
  color: #ffffff !important;
}

.cookie-bar a {
  color: var(--gold, #A3BBF3) !important;
}