/* =====================================================================
   DBIM 3.0 SHARED STYLESHEET – Office of the Textile Commissioner
   Used by all inner pages (html/*.htm). Matches the home page.
   Colour group (DBIM 2.1): BURGUNDY
     Key (darkest) #6C1340 | #A32966 | #DB70A6 | #EBADCC | #FAEBF2
   Functional palette (DBIM 2.2) for text, backgrounds and status.
   All sizes in rem (1rem = 16px) so the A- / A / A+ controls scale text.
   ===================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&family=Noto+Sans+Devanagari:wght@400;500;600;700&display=swap");

:root{
  --key:#6C1340; --c2:#A32966; --c3:#DB70A6; --c4:#EBADCC; --c5:#FAEBF2;
  --linen:#EBEAEA; --white:#FFFFFF; --text:#150202; --black:#000000;
  --success:#198754; --warning:#FFC107; --error:#DC3545; --info:#0D6EFD;
  --grey1:#C6C6C6; --grey2:#8E8E8E; --grey3:#606060;
  --radius:8px; --maxw:1280px; --focus:3px solid #0D6EFD;
}

*,*::before,*::after{box-sizing:border-box}
html{font-size:16px; scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *{transition:none !important; animation:none !important} }

body{
  margin:0;
  font-family:"Noto Sans","Noto Sans Devanagari",Arial,sans-serif;
  font-size:1rem; line-height:1.5; color:var(--text); background:var(--white);
  text-align:left;
}
[lang="hi"]{font-family:"Noto Sans Devanagari","Noto Sans",Arial,sans-serif}

/* Type scale – desktop (DBIM 4.3.1) */
h1{font-size:2.25rem; font-weight:700; line-height:1.2; margin:0 0 .75rem}
h2{font-size:1.5rem;  font-weight:600; line-height:1.3; margin:0 0 .75rem}
h3{font-size:1.25rem; font-weight:600; line-height:1.3; margin:0 0 .5rem}
p{margin:0 0 1rem}
.p2{font-size:.875rem}
.small{font-size:.75rem}
/* Type scale – mobile (DBIM 4.3.2) */
@media (max-width:768px){
  body{font-size:.875rem}
  h1{font-size:1.5rem} h2{font-size:1.25rem} h3{font-size:1rem}
  .p2{font-size:.75rem} .small{font-size:.625rem}
}

/* Links: no underline normally; underline + colour change on hover/focus (DBIM 4.5 iv) */
a{color:var(--key); font-weight:500; text-decoration:none; text-underline-offset:3px}
a:hover,a:focus-visible{color:var(--c2); text-decoration:underline; text-decoration-thickness:2px}
:focus-visible{outline:var(--focus); outline-offset:2px}
img{max-width:100%; height:auto}

/* Make sure the hidden attribute always wins over display rules (filters, tabs) */
[hidden]{display:none !important}
.visually-hidden{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 1.25rem}

/* Line icons (DBIM 3.3 Style 1) – key colour, 24/32/48/64px only */
.icon{width:24px; height:24px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.icon-32{width:32px; height:32px}
.icon-48{width:48px; height:48px}

/* Buttons (DBIM 4.5: same size and padding, distinct states) */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:2.5rem; padding:.5rem 1.25rem;
  font:inherit; font-size:.875rem; font-weight:600; line-height:1.2;
  border-radius:var(--radius); border:2px solid var(--key);
  background:var(--key); color:var(--white); text-decoration:none; cursor:pointer;
  transition:background .2s, color .2s, border-color .2s; white-space:nowrap;
}
.btn:hover{background:var(--c2); border-color:var(--c2); color:var(--white); text-decoration:underline}
.btn:disabled,.btn[aria-disabled="true"]{background:var(--grey1); border-color:var(--grey1); color:var(--grey3); cursor:not-allowed; text-decoration:none}
.btn-outline{background:var(--white); color:var(--key)}
.btn-outline:hover{background:var(--c5); color:var(--key)}
.btn-sm{min-height:2rem; padding:.25rem .75rem; font-size:.75rem}
.btn-block{width:100%}

.new-badge{display:inline-block; margin-right:.375rem; padding:.0625rem .375rem; font-size:.75rem; font-weight:700; line-height:1.4; background:var(--c2); color:var(--white); border-radius:4px; vertical-align:middle}
.file-meta{font-size:.75rem; color:var(--grey3); font-weight:400; text-decoration:none; display:inline-block}

/* =====================================================================
   HEADER (DBIM 5.4 – Header 2)
   ===================================================================== */
.utility-bar{background:var(--linen); border-bottom:1px solid var(--grey1); font-size:.875rem}
.utility-wrap{position:relative; display:flex; align-items:center; justify-content:space-between; gap:.75rem; min-height:2.5rem; flex-wrap:wrap}
.utility-left,.utility-right{display:flex; align-items:center; gap:.5rem; flex-wrap:wrap}
.utility-bar a{color:var(--text); text-decoration:none}
.utility-bar a:hover{color:var(--key); text-decoration:underline}
.util-btn{
  min-width:2rem; height:2rem; padding:0 .5rem;
  display:inline-flex; align-items:center; justify-content:center; gap:.375rem;
  font:inherit; font-size:.875rem; font-weight:600;
  background:var(--white); color:var(--text); border:1px solid var(--grey2); border-radius:6px; cursor:pointer;
}
.util-btn:hover{background:var(--c5); border-color:var(--key); color:var(--key)}
.util-btn[aria-pressed="true"]{background:var(--key); border-color:var(--key); color:var(--white)}
.util-sep{width:1px; height:1.25rem; background:var(--grey2)}
.lang-label{font-weight:600; padding:0 .25rem}
.bhashini-plugin-container{display:inline-flex; align-items:center; min-height:2rem}

.gov-header{background:var(--white); border-bottom:1px solid var(--grey1)}
.header-wrap{display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding-top:.75rem; padding-bottom:.75rem}
.lockup{display:flex; align-items:center; gap:.875rem; text-decoration:none; color:var(--text); min-width:0}
.lockup:hover{color:var(--text); text-decoration:none}
.lockup-emblem{width:auto; height:64px}
.lockup-divider{width:1px; align-self:stretch; background:var(--grey1)}
.lockup-name{display:block; font-size:1.25rem; font-weight:700; line-height:1.25; color:var(--key)}
.lockup-parent{display:block; font-size:.875rem; font-weight:500; line-height:1.3; color:var(--grey3)}
.header-right{display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; justify-content:flex-end}
.quick-links{display:flex; gap:.5rem; list-style:none; margin:0; padding:0}
.quick-links a{display:inline-flex; align-items:center; min-height:2.25rem; padding:.25rem .875rem; border:1px solid var(--key); border-radius:999px; font-size:.875rem; font-weight:600; color:var(--key); text-decoration:none}
.quick-links a:hover,.quick-links a[aria-current="page"]{background:var(--c5); text-decoration:underline}
.header-search{display:flex; align-items:stretch; width:min(100%, 24rem)}
.header-search input{flex:1; min-width:0; height:2.75rem; padding:0 .875rem; font:inherit; font-size:1rem; color:var(--text); border:2px solid var(--key); border-right:0; border-radius:var(--radius) 0 0 var(--radius); background:var(--white)}
.header-search input::placeholder{color:var(--grey3)}
.header-search button{width:3rem; height:2.75rem; display:inline-flex; align-items:center; justify-content:center; border:2px solid var(--key); background:var(--key); color:var(--white); border-radius:0 var(--radius) var(--radius) 0; cursor:pointer}
.header-search button:hover{background:var(--c2); border-color:var(--c2)}

.navbar{position:sticky; top:0; z-index:900; background:var(--key)}
.nav-inner{position:relative; display:flex; align-items:center; justify-content:center}
.nav-list{list-style:none; margin:0 auto; padding:0; display:flex; flex-wrap:wrap; justify-content:center}
.nav-list a{display:block; padding:.75rem .625rem; color:var(--white); text-decoration:none; font-size:.875rem; font-weight:600; line-height:1.3}
.nav-list a:hover,.nav-list a:focus-visible{background:var(--c2); color:var(--white); text-decoration:underline}
.nav-list a[aria-current="page"]{background:var(--c2); box-shadow:inset 0 -3px 0 var(--white)}
.nav-list a:focus-visible{outline:3px solid var(--white); outline-offset:-3px}
.menu-toggle{display:none; align-items:center; gap:.5rem; margin:.375rem 0; padding:.5rem .75rem; font:inherit; font-size:.875rem; font-weight:600; color:var(--white); background:transparent; border:1px solid var(--white); border-radius:6px; cursor:pointer}
.menu-toggle:hover{background:var(--c2)}

@media (max-width:1024px){
  .header-wrap{flex-direction:column; align-items:flex-start}
  .header-right{width:100%; justify-content:flex-start}
  .header-search{width:100%}
}
@media (max-width:900px){
  .nav-inner{justify-content:flex-start}
  .menu-toggle{display:inline-flex}
  .nav-list{display:none; position:absolute; top:100%; left:-1.25rem; right:-1.25rem; flex-direction:column; background:var(--key); border-top:1px solid var(--c2); box-shadow:0 8px 16px rgba(0,0,0,.2)}
  .nav-list.open{display:flex}
  .nav-list a{padding:.75rem 1.25rem; border-bottom:1px solid rgba(255,255,255,.15)}
}
@media (max-width:600px){
  .lockup-emblem{height:52px}
  .lockup-name{font-size:1rem}
  .lockup-parent{font-size:.75rem}
}

/* Accessibility controls panel */
.a11y-panel{position:absolute; right:1.25rem; top:2.75rem; z-index:2000; width:min(92vw, 22rem); padding:1rem; background:var(--white); color:var(--text); border:1px solid var(--grey1); border-top:4px solid var(--key); border-radius:var(--radius); box-shadow:0 12px 28px rgba(0,0,0,.18)}
.a11y-panel[hidden]{display:none}
.a11y-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:.75rem}
.a11y-head h2{font-size:1rem; margin:0}
.a11y-grid{display:grid; grid-template-columns:1fr 1fr; gap:.5rem}
.a11y-grid .util-btn{width:100%; height:auto; min-height:2.5rem; padding:.375rem .5rem; text-align:center}

/* =====================================================================
   INNER PAGE LAYOUT
   ===================================================================== */
main{display:block; padding:1.25rem 0 2.5rem}
.breadcrumb ol{list-style:none; margin:0 0 1rem; padding:0; display:flex; flex-wrap:wrap; gap:.375rem; font-size:.875rem; color:var(--grey3)}
.breadcrumb li+li::before{content:"›"; margin-right:.375rem; color:var(--grey2)}
.breadcrumb [aria-current="page"]{color:var(--text); font-weight:600}

.page-head{background:var(--c5); border-left:6px solid var(--key); border-radius:var(--radius); padding:1.5rem; margin-bottom:1.5rem}
.page-head h1{color:var(--key); margin:0}
.page-head p{margin:.5rem 0 0; max-width:60rem}

.section{margin-bottom:2rem}
.section > h2{color:var(--key); padding-bottom:.375rem; border-bottom:3px solid var(--c4); display:inline-block}
.card{background:var(--white); border:1px solid var(--grey1); border-radius:var(--radius); padding:1.25rem}

/* Summary cards (non-clickable overview) */
.summary-grid{list-style:none; margin:0 0 1.75rem; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(14rem,1fr)); gap:1rem}
.summary-grid li{border:1px solid var(--grey1); border-top:4px solid var(--key); border-radius:var(--radius); padding:1rem 1.125rem}
.summary-grid h2{font-size:1rem; color:var(--key); margin:0 0 .25rem}
.summary-grid p{font-size:.875rem; margin:0}

/* Document list */
.doc-list{list-style:none; margin:0; padding:0; border:1px solid var(--grey1); border-radius:var(--radius); overflow:hidden; background:var(--white)}
.doc-row{display:grid; grid-template-columns:2.75rem minmax(0,1fr) auto; gap:1rem; align-items:center; padding:.875rem 1.125rem; border-bottom:1px solid var(--linen)}
.doc-row:last-child{border-bottom:0}
.doc-row:hover{background:var(--c5)}
.doc-icon{width:2.75rem; height:2.75rem; display:flex; align-items:center; justify-content:center; border-radius:var(--radius); background:var(--c5); color:var(--key)}
.doc-title{display:block; font-weight:600; color:var(--text)}
.doc-desc{display:block; margin-top:.125rem; font-size:.875rem; color:var(--grey3)}
.doc-links{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:.25rem; font-size:.875rem}
@media (max-width:640px){
  .doc-row{grid-template-columns:2.75rem minmax(0,1fr)}
  .doc-row .btn{grid-column:2; justify-self:start}
}

/* Link cards grid */
.card-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(16rem,1fr)); gap:1.25rem}
.link-card{display:flex; flex-direction:column; gap:.5rem; border:1px solid var(--grey1); border-top:4px solid var(--key); border-radius:var(--radius); padding:1.25rem; background:var(--white)}
.link-card .doc-icon{margin-bottom:.25rem}
.link-card h2,.link-card h3{font-size:1.25rem; color:var(--key); margin:0}
.link-card p{font-size:.875rem; margin:0; flex:1}
.link-card .btn{align-self:flex-start; margin-top:.5rem}
.link-card .link-list{margin-top:.25rem}

.link-list{list-style:none; margin:0; padding:0}
.link-list li{padding:.625rem 0; border-bottom:1px solid var(--linen)}
.link-list li:last-child{border-bottom:0}
.link-list .sub{display:block; font-size:.875rem; color:var(--grey3)}

/* Tags */
.tags{list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; margin:.75rem 0 0; padding:0}
.tags li{padding:.125rem .625rem; font-size:.75rem; font-weight:600; color:var(--key); background:var(--c5); border:1px solid var(--c4); border-radius:999px}

/* Feature rows (ITADC) */
.feature-row{display:grid; grid-template-columns:3.5rem minmax(0,1fr) minmax(12rem, 18rem); gap:1.25rem; align-items:start; padding:1.5rem; border:1px solid var(--grey1); border-left:6px solid var(--key); border-radius:var(--radius); margin-bottom:1.25rem}
.feature-row .doc-icon{width:3.5rem; height:3.5rem}
.feature-row h2{color:var(--key); font-size:1.25rem; margin:0 0 .5rem}
.feature-row p{margin:0}
.feature-row .kicker{display:block; font-size:.75rem; font-weight:700; color:var(--grey3); margin-bottom:.25rem}
@media (max-width:900px){ .feature-row{grid-template-columns:3.5rem minmax(0,1fr)} .feature-row > :last-child{grid-column:1 / -1} }

.issue-list{list-style:none; margin:0; padding:0; display:grid; gap:.625rem}
.issue{border:1px solid var(--grey1); border-radius:var(--radius); padding:.75rem}
.issue.latest{border-color:var(--key); background:var(--c5)}
.issue-head{display:flex; justify-content:space-between; gap:.5rem; margin-bottom:.5rem; font-weight:600}
.issue-head .no{font-size:.75rem; color:var(--grey3); font-weight:600}
.issue-links{display:flex; gap:.5rem; flex-wrap:wrap}

/* Tabs (Schemes) */
.tablist{display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.25rem; border-bottom:2px solid var(--grey1)}
.tab{font:inherit; font-size:1rem; font-weight:600; padding:.625rem 1.25rem; border:0; border-bottom:3px solid transparent; margin-bottom:-2px; background:none; color:var(--grey3); cursor:pointer}
.tab:hover{color:var(--key); text-decoration:underline}
.tab[aria-selected="true"]{color:var(--key); border-bottom-color:var(--key)}
[role="tabpanel"][hidden]{display:none}

/* Filters (News archive) */
.filter-bar{display:flex; flex-wrap:wrap; gap:.75rem; align-items:flex-end; margin-bottom:1.25rem}
.filter-bar .field{flex:1 1 18rem}
.filter-bar label{display:block; font-size:.875rem; font-weight:600; margin-bottom:.25rem}
.filter-bar input{width:100%; height:2.75rem; padding:0 .875rem; font:inherit; border:1px solid var(--grey2); border-radius:var(--radius)}
.filter-bar input:focus{border-color:var(--key)}
.chip-group{display:flex; flex-wrap:wrap; gap:.5rem; border:0; margin:0; padding:0}
.chip-group legend{font-size:.875rem; font-weight:600; margin-bottom:.25rem; padding:0}
.chip{font:inherit; font-size:.875rem; font-weight:600; min-height:2.5rem; padding:.375rem 1rem; border:1px solid var(--key); border-radius:999px; background:var(--white); color:var(--key); cursor:pointer}
.chip:hover{background:var(--c5); text-decoration:underline}
.chip[aria-pressed="true"]{background:var(--key); color:var(--white)}
.badge{display:inline-block; min-width:6rem; text-align:center; padding:.125rem .5rem; font-size:.75rem; font-weight:700; border-radius:999px; background:var(--c5); color:var(--key); border:1px solid var(--c4)}
.result-count{font-size:.875rem; color:var(--grey3); margin:0 0 .75rem}
.news-row{grid-template-columns:6.5rem minmax(0,1fr) auto}
@media (max-width:640px){ .news-row{grid-template-columns:1fr} .news-row .btn{grid-column:1} }

/* Gallery */
.gallery{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(17rem,1fr)); gap:1.25rem}
.gallery figure{margin:0; border:1px solid var(--grey1); border-radius:var(--radius); overflow:hidden; background:var(--white); height:100%; display:flex; flex-direction:column}
.gallery a{display:block; aspect-ratio:4/3; background:var(--linen); overflow:hidden}
.gallery img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s}
.gallery a:hover img{transform:scale(1.04)}
.gallery figcaption{padding:.75rem 1rem; font-size:.875rem; font-weight:600; color:var(--text)}

/* Prose pages (policies, letters) */
.prose{max-width:52rem}
.prose h2{color:var(--key); margin-top:2rem}
.prose h2:first-child{margin-top:0}
.prose ul{padding-left:1.25rem}
.prose li{margin-bottom:.375rem}
.note{background:var(--linen); border-left:4px solid var(--key); padding:.875rem 1rem; border-radius:0 var(--radius) var(--radius) 0; font-size:.875rem}
.toc{list-style:none; padding:0; margin:0 0 1.5rem; display:flex; flex-wrap:wrap; gap:.5rem}
.toc a{display:inline-block; padding:.25rem .75rem; border:1px solid var(--key); border-radius:999px; font-size:.875rem}
.letter-meta{display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; font-size:.875rem; color:var(--grey3); margin-bottom:1rem}
.letterhead{text-align:center; margin-bottom:1.5rem}
.letterhead img{height:80px; width:auto}
.letterhead p{margin:.125rem 0; font-weight:600}
.signature{margin-top:1.5rem}
.signature p{margin:0}

.sitemap{columns:2 18rem; column-gap:2rem}
.sitemap > li{break-inside:avoid; margin-bottom:1.25rem}
.sitemap ul{list-style:none; padding-left:1rem; margin:.375rem 0 0; border-left:2px solid var(--c4)}
.sitemap ul li{margin:.25rem 0}
.sitemap{list-style:none; padding:0}
.sitemap > li > a{font-weight:700}

.back-row{margin-top:2rem}

/* =====================================================================
   FOOTER (DBIM 5.6 – key colour of the group)
   ===================================================================== */
.site-footer{background:var(--key); color:var(--white); font-size:.875rem}
.site-footer a{color:var(--white)}
.site-footer a:hover,.site-footer a:focus-visible{color:var(--white); text-decoration:underline; text-decoration-thickness:2px}
.site-footer :focus-visible{outline:3px solid var(--white)}
.footer-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:1.5rem; padding-top:2rem; padding-bottom:1.5rem}
.footer-grid h2{font-size:1rem; color:var(--white); margin:0 0 .75rem; padding-bottom:.375rem; border-bottom:1px solid rgba(255,255,255,.35)}
.footer-grid ul{list-style:none; margin:0; padding:0}
.footer-grid li{margin-bottom:.5rem}
.footer-grid p{margin:0 0 .5rem}
.related-tile{display:flex; align-items:center; gap:.625rem; margin-bottom:.75rem; text-decoration:none}
.related-tile img{width:48px; height:48px; object-fit:contain; background:var(--white); border-radius:6px; padding:.25rem}
.related-tile:hover span{text-decoration:underline}
.social{display:flex; flex-wrap:wrap; gap:.625rem}
.social a{display:inline-flex; align-items:center; justify-content:center; width:3rem; height:3rem; background:var(--white); border:2px solid var(--white); border-radius:var(--radius)}
.social a:hover{background:var(--c5); border-color:var(--c4)}
.social img{width:32px; height:32px; object-fit:contain}
.footer-bottom{border-top:1px solid rgba(255,255,255,.35); padding-top:1rem; padding-bottom:1.25rem}
.footer-bottom p{margin:0 0 .375rem}
.footer-bottom .meta{display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem}
@media (max-width:900px){ .footer-grid{grid-template-columns:repeat(2, minmax(0,1fr))} }
@media (max-width:560px){ .footer-grid{grid-template-columns:1fr} }

/* =====================================================================
   COOKIE CONSENT (DBIM 7.6)
   ===================================================================== */
.cookie-banner{position:fixed; left:0; right:0; bottom:0; z-index:3500; background:var(--white); color:var(--text); border-top:4px solid var(--key); box-shadow:0 -8px 24px rgba(0,0,0,.18)}
.cookie-banner[hidden]{display:none}
.cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1rem; padding-bottom:1rem; flex-wrap:wrap}
.cookie-inner p{margin:0; max-width:52rem; font-size:.875rem}
.cookie-actions{display:flex; gap:.5rem; flex-wrap:wrap}
.cookie-dialog{max-width:34rem; width:calc(100% - 2rem); border:0; border-top:4px solid var(--key); border-radius:var(--radius); padding:1.25rem; color:var(--text)}
.cookie-dialog::backdrop{background:rgba(0,0,0,.55)}
.cookie-dialog h2{font-size:1.25rem}
.cookie-option{display:flex; gap:.75rem; align-items:flex-start; padding:.75rem 0; border-bottom:1px solid var(--linen)}
.cookie-option input{width:1.25rem; height:1.25rem; margin-top:.125rem; accent-color:var(--key)}
.cookie-option label{font-weight:600; cursor:pointer}
.cookie-option p{margin:.125rem 0 0; font-size:.875rem; color:var(--grey3)}
.cookie-dialog .cookie-actions{margin-top:1rem; justify-content:flex-end}

/* =====================================================================
   ACCESSIBILITY MODES
   ===================================================================== */
html.a11y-contrast body,
html.a11y-contrast body *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline){background:#000 !important; color:#fff !important; border-color:#fff !important; box-shadow:none !important}
html.a11y-contrast a, html.a11y-contrast a *{color:#FFFF00 !important}
html.a11y-contrast .icon{color:#fff !important}
html.a11y-invert{filter:invert(1) hue-rotate(180deg)}
html.a11y-invert img{filter:invert(1) hue-rotate(180deg)}
html.a11y-saturate{filter:saturate(2)}
html.a11y-desaturate{filter:grayscale(1)}
html.a11y-linkhighlight a{background:#FFFF00 !important; color:#000 !important; text-decoration:underline !important; outline:2px solid #000}
html.a11y-hideimg img{visibility:hidden}
html.a11y-bigcursor, html.a11y-bigcursor *{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'><path d='M4 2l14 10-6 1 4 8-3 1-4-8-5 4z' fill='black' stroke='white' stroke-width='1.2'/></svg>") 4 2, auto !important}

@media print{
  .utility-bar,.navbar,.cookie-banner,.header-search,.quick-links{display:none !important}
  .site-footer{background:none; color:#000}
  .site-footer a{color:#000}
}

/* Directory (Who's who) */
.dir-grid{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(17rem,1fr)); gap:1rem}
.dir-card{border:1px solid var(--grey1); border-top:4px solid var(--key); border-radius:var(--radius); padding:1rem 1.125rem; background:var(--white)}
.dir-card h3{font-size:1rem; color:var(--key); margin:0 0 .125rem}
.dir-card .role{font-size:.875rem; font-weight:600; color:var(--grey3); margin:0 0 .625rem}
.dir-card ul{list-style:none; margin:0; padding:0; font-size:.875rem}
.dir-card li{display:flex; gap:.5rem; align-items:flex-start; margin:.25rem 0; word-break:break-word}
.dir-card li .icon{width:18px; height:18px; margin-top:.125rem; color:var(--key)}
.dir-card.featured{grid-column:1 / -1; background:var(--c5); border-top-width:6px}
.dir-card.featured h3{font-size:1.5rem}
.dir-card.featured .role{font-size:1rem}
.dir-card.featured ul{display:flex; flex-wrap:wrap; gap:.5rem 2rem; font-size:1rem}
.office-card{border:1px solid var(--grey1); border-radius:var(--radius); overflow:hidden; background:var(--white)}
.office-card h3{margin:0; padding:.75rem 1.125rem; font-size:1rem; color:var(--white); background:var(--key); display:flex; justify-content:space-between; gap:.5rem; flex-wrap:wrap}
.office-card h3 .type{font-size:.75rem; font-weight:600; opacity:.9}
.office-card dl{margin:0; padding:.75rem 1.125rem 1rem; font-size:.875rem}
.office-card dt{font-weight:700; color:var(--key); margin-top:.5rem}
.office-card dt:first-child{margin-top:0}
.office-card dd{margin:.125rem 0 0; word-break:break-word}
.address-card{border-left:6px solid var(--key); background:var(--c5); border-radius:var(--radius); padding:1.25rem 1.5rem; margin-bottom:1.5rem}
.address-card h2{color:var(--key); font-size:1.25rem; margin:0 0 .5rem}
.address-card p{margin:.125rem 0}

/* Compact link columns (related sites) */
.link-columns{list-style:none; margin:0; padding:0; columns:3 16rem; column-gap:2rem}
.link-columns li{break-inside:avoid; padding:.5rem 0; border-bottom:1px solid var(--linen)}
.link-columns .sub{display:block; font-size:.75rem; color:var(--grey3)}
.section h3{color:var(--text); font-size:1.125rem; margin:1.25rem 0 .5rem}
table.data{width:100%; border-collapse:collapse; font-size:.875rem}
table.data caption{text-align:left; font-weight:600; margin-bottom:.5rem}
table.data th, table.data td{border:1px solid var(--grey1); padding:.625rem .75rem; text-align:left; vertical-align:top}
table.data th{background:var(--c5); color:var(--key)}
.table-wrap{overflow-x:auto}
