/* =====================================================================
   District Police Portal — Design v3 "Ink & Paper"
   Flat editorial civic layout: warm paper, ink, hairline rules,
   serif headlines, crimson signal accent. No glass, no gradient chrome.
   Class names are unchanged so every existing page keeps working.
   ===================================================================== */
:root{
  --paper:#f3f0e8; --card:#fffdf8; --ink:#151a20; --ink-2:#26313c; --line:#ddd6c6; --line-2:#c9c0ac;
  --muted:#6c6759; --crimson:#a4241c; --green:#1d5b46; --gold:#a9780c;
  /* legacy variable names still used by the inner-page stylesheets */
  --blue:#1c3f60; --blue-d:#12293f; --blue-l:#2f5d86; --cyan:#1d5b46;
  --sky:#ece6d8; --sky2:#f7f4ec; --amber:#a9780c; --red:#a4241c;
  --bg:var(--paper); --radius:4px; --radius-lg:6px;
  --shadow:0 1px 0 rgba(21,26,32,.05); --shadow-lg:0 10px 26px rgba(21,26,32,.14);
  --fs:16px; --grad:linear-gradient(var(--ink),var(--ink));
  --serif:"Iowan Old Style",Georgia,"Noto Serif Devanagari",Cambria,"Times New Roman",serif;
  --sans:"Segoe UI",system-ui,-apple-system,"Noto Sans Devanagari",Arial,sans-serif;
}
body.hc{--paper:#fff;--card:#fff;--ink:#000;--ink-2:#000;--line:#000;--muted:#000;--crimson:#000;--gold:#000;--sky:#fff}
*{box-sizing:border-box}
html{font-size:var(--fs);scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.62;
  -webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--green);text-decoration:none;text-underline-offset:3px}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em;color:var(--ink)}
p{margin:0 0 1em}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.muted{color:var(--muted)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:10px;top:10px;background:var(--ink);color:#fff;padding:8px 14px;z-index:999}
:focus-visible{outline:2px solid var(--crimson);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ------------------------------ utility bar ------------------------------ */
.topbar{background:var(--ink);color:#efeade;font-size:.78rem;letter-spacing:.02em}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px}
.sos b{display:inline-block;background:var(--crimson);color:#fff;padding:2px 8px;margin-right:8px;border-radius:2px;font-weight:700;letter-spacing:.04em}
.tb-right{display:flex;align-items:center;gap:2px}
.tb-btn{background:none;border:0;border-left:1px solid rgba(255,255,255,.22);color:#efeade;font:inherit;padding:3px 10px;cursor:pointer;line-height:1.2;border-radius:0}
.tb-btn:first-child{border-left:0}
.tb-btn:hover{background:rgba(255,255,255,.12);text-decoration:none}
.tb-btn.lang{border:0;background:var(--paper);color:var(--ink);font-weight:700;padding:3px 14px;border-radius:2px;margin-left:10px}

/* ------------------------------ social icons ------------------------------ */
.soc{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.soc a{position:relative;display:grid;place-items:center;color:#efeade;transition:background .15s,color .15s}
.soc svg{width:16px;height:16px}
.soc-sm a{width:30px;height:30px}
.soc-sm a:hover{background:var(--crimson);text-decoration:none}
.soc-lg{gap:8px;flex-wrap:wrap}
.soc-lg a{width:38px;height:38px;border:1px solid rgba(255,255,255,.28);color:#efeade;border-radius:2px}
.soc-lg a:hover{background:var(--crimson);border-color:var(--crimson);color:#fff;text-decoration:none}
.soc-side{display:none}

/* ------------------------------ masthead ------------------------------ */
.head{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.head-in{display:flex;align-items:center;gap:24px;padding:14px 0 12px;border-bottom:1px solid transparent}
.brand{display:flex;align-items:center;gap:14px;color:var(--ink)}
.brand:hover{text-decoration:none}
.badge{width:auto;height:auto;background:none;box-shadow:none;border-radius:0;display:block}
.brand-t strong{display:block;font-family:var(--serif);font-size:1.42rem;font-weight:600;line-height:1.15;letter-spacing:-.01em}
.brand-t small{display:block;color:var(--muted);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;margin-top:3px}
.hsearch{margin-left:auto;display:flex;align-items:stretch;border-bottom:1px solid var(--line-2);min-width:0}
.hsearch input{border:0;border-radius:0;background:none;padding:6px 2px;width:min(280px,38vw);font:inherit;font-size:.92rem}
.hsearch input:focus{outline:0;border-bottom-color:var(--crimson)}
.hsearch button{border:0;background:none;color:var(--ink);font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:0 4px 0 14px;cursor:pointer}
.hsearch button:hover{color:var(--crimson)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line-2);border-radius:2px;padding:9px 8px;cursor:pointer}
.burger span{display:block;width:20px;height:1.5px;background:var(--ink);margin:4px 0}

/* ------------------------------ primary nav ------------------------------ */
.nav{background:var(--card);border-top:1px solid var(--line);margin-top:-1px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.nav a,.nav button{display:block;color:var(--ink);font-size:.83rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:13px 15px;background:none;border:0;font-family:inherit;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent}
.nav a:hover,.nav .dd>button:hover,.nav .dd:focus-within>button{background:var(--paper);color:var(--crimson);border-bottom-color:var(--crimson);text-decoration:none}
.dd{position:relative}
.menu{display:none;position:absolute;left:0;top:100%;min-width:270px;background:var(--card);border:1px solid var(--line);border-top:2px solid var(--ink);box-shadow:var(--shadow-lg);padding:6px;z-index:60;max-height:70vh;overflow:auto}
.menu a{color:var(--ink);border:0;border-radius:0;padding:9px 12px;text-transform:none;letter-spacing:0;font-weight:500;font-size:.9rem;white-space:normal}
.menu a:hover{background:var(--paper);color:var(--crimson);border:0}
.dd:hover>.menu,.dd.open>.menu{display:block}

/* ------------------------------ notice ticker ------------------------------ */
.ticker{background:var(--paper);border-bottom:1px solid var(--line);font-size:.88rem}
.ticker .wrap{display:flex;align-items:center;gap:14px;padding:8px 0;overflow:hidden}
.tk-tag{flex:none;background:var(--ink);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:2px}
.tk-txt{white-space:nowrap;animation:tick 30s linear infinite;padding-left:100%;color:var(--ink-2)}
.ticker:hover .tk-txt{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-100%)}}

/* ------------------------------ banner carousel ------------------------------ */
.bn-wrap{margin-top:26px}
.bn{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--ink);border-radius:var(--radius)}
.bn-track{display:flex;transition:transform .7s cubic-bezier(.6,0,.3,1)}
.bn-slide{flex:0 0 100%;min-height:clamp(280px,26vw,360px);display:flex;align-items:center;color:#f4f1e8;position:relative;overflow:hidden;background:var(--ink);background-image:none}
.bn-slide.overlay::after{content:none}
.theme-blue{--bg-g:var(--ink);--ov:var(--ink)}
.theme-teal{--bg-g:#173d33;--ov:#173d33}
.theme-indigo{--bg-g:#22283f;--ov:#22283f}
.theme-saffron{--bg-g:#8a4a10;--ov:#8a4a10}
.bn-slide.theme-blue{background:var(--ink)}
.bn-slide.theme-teal{background:#173d33}
.bn-slide.theme-indigo{background:#22283f}
.bn-slide.theme-saffron{background:#8a4a10}
.bn-bg,.bn-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bn-slide.overlay .bn-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,20,26,.94) 0%,rgba(15,20,26,.72) 55%,rgba(15,20,26,.28) 100%)}
.bn-in{position:relative;z-index:2;width:100%;padding:34px 56px 68px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.bn-txt{max-width:660px}
.bn-txt h2{font-size:clamp(1.5rem,3vw,2.35rem);color:#fdfbf4;margin:0 0 .35em}
.bn-txt p{font-size:1.02rem;color:#ded8c8;margin:0 0 1.3em;max-width:56ch}
.bn-slide.theme-saffron .bn-txt h2,.bn-slide.theme-saffron .bn-txt p{color:#fdfbf4}
.bn-pic{flex:1;max-width:44%;align-self:stretch;display:flex;align-items:center;justify-content:flex-end}
.bn-pic img{width:100%;max-height:100%;object-fit:cover;aspect-ratio:16/10;border-radius:2px}
.bn-slide.img-only{background:var(--ink);padding:0}
.bn-full{position:absolute;inset:0;display:block}
.bn-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:0;border:1px solid rgba(255,255,255,.45);background:rgba(21,26,32,.45);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.15s}
.bn-nav:hover{background:var(--crimson);border-color:var(--crimson)}
.bn-nav.prev{left:12px}.bn-nav.next{right:12px}
.bn-dots{position:absolute;bottom:22px;left:56px;display:flex;gap:6px}
.bn-dots button{width:26px;height:3px;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0;border-radius:0;transition:.2s}
.bn-dots button.on{background:var(--crimson)}

/* ------------------------------ front page ------------------------------ */
.fp{padding:30px 0 10px}
.fp-glance{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin:26px 0 34px}
.fp-glance div{padding:16px 18px;border-left:1px solid var(--line)}
.fp-glance div:first-child{border-left:0;padding-left:0}
.fp-glance b{display:block;font-family:var(--serif);font-size:1.9rem;line-height:1.1;font-weight:600}
.fp-glance span{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.fp-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:44px;align-items:start}

/* story blocks */
.kicker{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--crimson);margin-bottom:10px}
.story{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}
.story h2{font-size:clamp(1.5rem,2.6vw,2.05rem);margin:0 0 10px}
.story h2 a{color:var(--ink)}
.story h2 a:hover{color:var(--crimson);text-decoration:none}
.story p{color:var(--ink-2);max-width:62ch}
.story-meta{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.story-img{width:100%;aspect-ratio:16/8;object-fit:cover;margin:0 0 14px;border-radius:2px;border:1px solid var(--line)}
.more-link{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--crimson);padding-bottom:2px}
.more-link:hover{color:var(--crimson);text-decoration:none}

/* headline list */
.headlines{list-style:none;margin:0;padding:0}
.headlines li{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.headlines li:first-child{padding-top:0}
.headlines .no{font-family:var(--serif);font-size:1.1rem;color:var(--line-2);min-width:22px;line-height:1.3}
.headlines a{color:var(--ink);font-weight:600;line-height:1.4}
.headlines a:hover{color:var(--crimson);text-decoration:none}
.headlines time{display:block;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:3px}

/* rail boxes */
.rail{display:grid;gap:26px}
.box{border:1px solid var(--line);background:var(--card);padding:20px}
.box-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:2px solid var(--ink);padding-bottom:8px;margin:0 0 14px}
.box-h h3{margin:0;font-size:1.02rem;letter-spacing:.02em}
.box-h a{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.box-h a:hover{color:var(--crimson);text-decoration:none}
.sos-box{border-top:3px solid var(--crimson)}
.sos-list{display:grid;gap:1px;background:var(--line)}
.sos-list a{display:flex;align-items:baseline;justify-content:space-between;gap:10px;background:var(--card);padding:9px 2px;color:var(--ink);font-size:.9rem}
.sos-list a:hover{color:var(--crimson);text-decoration:none}
.sos-list b{font-family:var(--serif);font-size:1.05rem;letter-spacing:.02em}
.sos-list a:first-child b{color:var(--crimson)}
.link-list{list-style:none;margin:0;padding:0}
.link-list li{border-bottom:1px solid var(--line)}
.link-list li:last-child{border:0}
.link-list a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;color:var(--ink-2);font-size:.92rem}
.link-list a:hover{color:var(--crimson);text-decoration:none}
.link-list span{color:var(--line-2)}

/* quote / SP */
.fp-quote{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin:34px 0}
.fp-quote img,.fp-quote .ph-av{width:104px;height:104px;object-fit:cover;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:var(--paper);font-size:2rem;color:var(--muted)}
.fp-quote blockquote{margin:0;font-family:var(--serif);font-size:1.16rem;line-height:1.65;color:var(--ink-2)}
.fp-quote blockquote::before{content:"“";color:var(--crimson);font-size:1.6em;line-height:0;vertical-align:-.25em;margin-right:2px}
.fp-quote cite{display:block;font-style:normal;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:12px}

/* section head */
.sec{display:flex;align-items:baseline;gap:14px;margin:0 0 16px;font-size:1.3rem;padding-bottom:9px;border-bottom:2px solid var(--ink)}
.sec::after{content:none}
.sec .more{margin-left:auto;font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:none;padding:0;border:0}
.sec .more:hover{color:var(--crimson);text-decoration:none}
.fp-section{padding:34px 0}
.cols-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}

/* alert cards */
.alert-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.alert-cards a{display:block;border:1px solid var(--line);border-left:3px solid var(--crimson);background:var(--card);padding:16px 18px;color:var(--ink);transition:border-color .15s}
.alert-cards a:hover{border-color:var(--line-2);border-left-color:var(--ink);text-decoration:none}
.alert-cards .tag{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.alert-cards b{display:block;font-family:var(--serif);font-size:1.02rem;font-weight:600;line-height:1.35;margin-bottom:6px}
.alert-cards span.tx{color:var(--muted);font-size:.88rem;line-height:1.5;display:block}

/* data table */
.data{width:100%;border-collapse:collapse;font-size:.92rem}
.data th{text-align:left;font-family:var(--sans);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;border-bottom:2px solid var(--ink);padding:8px 6px}
.data td{padding:9px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
.data td.num{text-align:right;font-variant-numeric:tabular-nums}
.data .bar{display:block;height:5px;background:var(--sky);min-width:60px;border-radius:0;overflow:hidden;margin:5px 0 0}
.data .bar i{display:block;height:100%;background:var(--ink);border-radius:0}

/* stations directory + chips */
.stn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;border-top:1px solid var(--line)}
.stn-grid a{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:12px 4px;border-bottom:1px solid var(--line);color:var(--ink)}
.stn-grid a:hover{color:var(--crimson);text-decoration:none}
.stn-grid small{display:block;color:var(--muted);font-size:.76rem}
.stn-grid .tel{font-size:.82rem;color:var(--muted);white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips a{border:1px solid var(--line);border-radius:2px;padding:5px 12px;font-size:.85rem;color:var(--ink-2);background:var(--card)}
.chips a:hover{border-color:var(--ink);color:var(--ink);text-decoration:none}
.st-chips a{border-radius:2px}

/* gallery strip */
.gstrip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.gstrip a{position:relative;display:block;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);background:var(--sky)}
.gstrip img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.gstrip a:hover img{transform:scale(1.05)}

/* services */
.svc-x{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0;border-top:1px solid var(--line)}
.svc-x a{display:flex;justify-content:space-between;gap:10px;padding:11px 4px;border-bottom:1px solid var(--line);color:var(--ink-2);font-size:.94rem}
.svc-x a:hover{color:var(--crimson);text-decoration:none}
.svc-x span{color:var(--line-2)}

/* ------------------------------ banners: shared/legacy pages ------------------------------ */
.btn.light{background:var(--card);color:var(--ink);border:1px solid var(--card)}
.btn.light:hover{background:var(--crimson);border-color:var(--crimson);color:#fff}

/* ------------------------------ legacy home blocks (kept working) ------------------------------ */
.block{padding:34px 0}
.glass{background:var(--card);border:1px solid var(--line);box-shadow:none;border-radius:var(--radius);backdrop-filter:none}
.intro{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}
.spcard{padding:24px;background:var(--card)}
.eyebrow{color:var(--crimson);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700;margin:0 0 12px}
.sp-row{display:flex;gap:20px;align-items:flex-start}
.sp-photo{width:92px;height:92px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--line)}
.ph-av{background:var(--paper);color:var(--muted);display:grid;place-items:center;font-size:2rem}
.spcard blockquote{margin:0;font-family:var(--serif);font-size:1.08rem;line-height:1.65;border-left:2px solid var(--crimson);padding-left:16px;color:var(--ink-2)}
.sp{margin:14px 0 0}.sp strong{display:block}.sp span{color:var(--muted);font-size:.85rem}
.hl{padding:22px;border:1px solid var(--line);background:var(--card)}
.hl h2{font-size:1.1rem;margin-bottom:4px}.hl p{margin:0 0 14px;font-size:.86rem;color:var(--muted)}
.hl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.hl-grid a{background:var(--card);padding:11px 6px;text-align:center;color:var(--ink);display:flex;flex-direction:column;border:0;border-radius:0;transition:.15s}
.hl-grid a:hover{background:var(--paper);text-decoration:none;transform:none;box-shadow:none;border:0}
.hl-grid strong{font-family:var(--serif);font-size:1.25rem}.hl-grid span{font-size:.72rem;color:var(--muted)}
.hl-grid a.sos{background:var(--crimson);animation:none;border:0}
.hl-grid a.sos strong,.hl-grid a.sos span{color:#fff}
@keyframes sos{0%,100%{box-shadow:none}}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0;border-top:1px solid var(--line)}
.tile{display:flex;justify-content:space-between;align-items:center;gap:8px;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 4px;color:var(--ink);font-weight:600;box-shadow:none;transition:.15s}
.tile:before{display:none}
.tile:hover{transform:none;color:var(--crimson);text-decoration:none;box-shadow:none}
.tile span{color:var(--line-2)}.tile:hover span{transform:none;color:var(--crimson)}
.two{display:grid;grid-template-columns:1.6fr 1fr;gap:40px}
.news{display:grid;gap:0}
.ncard{display:flex;gap:16px;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 0;color:var(--ink);box-shadow:none;transition:.15s}
.ncard:hover{transform:none;text-decoration:none;box-shadow:none;border-color:var(--line)}
.ncard:hover h3{color:var(--crimson)}
.ncard img{width:132px;height:92px;object-fit:cover;border-radius:2px;flex:none}
.ncard h3{font-size:1.02rem;margin:0 0 4px}.ncard p{margin:0;color:var(--muted);font-size:.88rem}
time{font-size:.76rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.list{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line);border-radius:0;box-shadow:none}
.list li{padding:11px 16px;border-bottom:1px solid var(--line)}.list li:last-child{border:0}
.list a{color:var(--ink);font-weight:500;display:block}.list a:hover{color:var(--crimson)}.list time{display:block}
.pill{display:inline-block;background:var(--paper);color:var(--ink-2);border:1px solid var(--line);border-radius:2px;padding:0 8px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.st-new{background:#fdf0ef;color:#8c1c15;border-color:#e6c4c0}
.st-in_progress{background:#fdf6e3;color:#7a5700;border-color:#e6d7b0}
.st-resolved{background:#eef6f1;color:var(--green);border-color:#c3d8cc}
.st-rejected{background:#f4f2ef;color:var(--muted);border-color:var(--line)}
.band{background:var(--paper);padding:34px 0;border-block:1px solid var(--line)}
.alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:1px solid var(--line)}
.alerts a{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 4px;color:var(--ink);display:flex;flex-direction:column;gap:4px;box-shadow:none;transition:.15s}
.alerts a:hover{transform:none;text-decoration:none;box-shadow:none;color:var(--crimson)}
.alerts span{color:var(--muted);font-size:.88rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;border-top:1px solid var(--line)}
.stat{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 4px;box-shadow:none}
.stat span{color:var(--muted);font-size:.78rem;display:block;text-transform:uppercase;letter-spacing:.06em}
.stat b{font-family:var(--serif);font-size:1.7rem}
.bar{height:6px;background:var(--sky);border-radius:0;overflow:hidden;margin:6px 0;min-width:70px}
.bar i{display:block;height:100%;background:var(--ink);border-radius:0}
.stat small{color:var(--muted)}
.albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.album{position:relative;border-radius:2px;overflow:hidden;background:var(--ink);color:#fff;aspect-ratio:4/3;display:block;box-shadow:none;border:1px solid var(--line)}
.album img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.album .ph{height:100%;display:grid;place-items:center;font-size:2.6rem}
.album span{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(15,20,26,.92));padding:24px 12px 10px;font-weight:600;font-size:.9rem;font-family:var(--sans)}
.album:hover{text-decoration:none}.album:hover img{transform:scale(1.04)}
.follow-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;flex-wrap:wrap;border-top:1px solid var(--line)}
.follow-in h2{margin:0;font-size:1.2rem;border:0;padding:0}.follow-in p{margin:0;color:var(--muted)}
.qa-wrap{margin-top:0}
.qa{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0;border-top:1px solid var(--line)}
.qa a{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 4px;text-align:left;color:var(--ink);font-weight:600;font-size:.9rem;box-shadow:none;display:flex;flex-direction:column;gap:6px;transition:.15s}
.qa a:hover{transform:none;box-shadow:none;color:var(--crimson);text-decoration:none}
.qa i{font-style:normal;font-size:1.3rem;width:auto;height:auto;color:var(--crimson);display:block}
.cv-ph{display:grid;place-items:center;font-size:2.2rem;color:#fff}
.cv{border-radius:2px}

/* ------------------------------ inner pages ------------------------------ */
.page{padding:30px 0 56px}
.page.narrow{width:min(830px,100% - 40px)}
.page h1{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:.35em}
.crumb{font-size:.78rem;letter-spacing:.04em;color:var(--muted);margin-bottom:12px;text-transform:uppercase}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--crimson);text-decoration:none}
.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rows li{border-bottom:1px solid var(--line)}
.rows a{display:flex;gap:16px;align-items:center;background:none;border:0;border-radius:0;padding:16px 2px;color:var(--ink);transition:.15s}
.rows a:hover{text-decoration:none;transform:none;border-color:var(--line)}
.rows a:hover h3{color:var(--crimson)}
.rows img{width:112px;height:76px;object-fit:cover;border-radius:2px}
.rows h3{margin:0 0 3px;font-size:1.04rem}
.rows p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.rows a>div{flex:1}
.pager{display:flex;gap:4px;margin-top:22px;flex-wrap:wrap}
.pager.left{margin:0 0 18px}
.pager a{border:1px solid var(--line);background:var(--card);border-radius:2px;padding:3px 11px;color:var(--ink-2);font-size:.9rem}
.pager a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pager a:hover{text-decoration:none;border-color:var(--ink)}
.doc h1{margin-bottom:6px}
.hero-img{border-radius:2px;margin:16px 0;border:1px solid var(--line)}
.prose{font-size:1.03rem;color:var(--ink-2);max-width:72ch}
.prose p{margin:0 0 1em}
.prose img{border-radius:2px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0;border-top:1px solid var(--line);margin-top:14px}
.card{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 2px;color:var(--ink);box-shadow:none}
a.card{transition:.15s}
a.card:hover{border-color:var(--line);text-decoration:none;transform:none}
a.card:hover h3{color:var(--crimson)}
.card h3{font-size:1.02rem}.card p{margin:.3em 0;color:var(--muted);font-size:.9rem}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0;border-top:1px solid var(--line)}
.person{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:20px 4px;text-align:center;box-shadow:none}
.person img,.avatar{width:104px;height:104px;border-radius:50%;object-fit:cover;margin:0 auto 12px}
.avatar{background:var(--paper);color:var(--muted);display:grid;place-items:center;font-size:2rem;font-family:var(--serif)}
.person h3{font-size:1rem;margin-bottom:2px}.person p{margin:.2em 0;color:var(--muted);font-size:.9rem}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;border:1px solid var(--line)}
.lb{position:fixed;inset:0;background:rgba(12,16,20,.95);display:grid;place-items:center;z-index:100}
.lb[hidden]{display:none}
.lb img{max-height:90vh;max-width:92vw;border-radius:2px}
.lb button{position:absolute;top:14px;right:20px;font-size:2rem;color:#fff;background:none;border:0;cursor:pointer}
.tbl-wrap{overflow:auto;border:1px solid var(--line);background:var(--card)}
.tbl{width:100%;border-collapse:collapse;background:none;border-radius:0}
.tbl th,.tbl td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:.94rem}
.tbl thead th,.tbl tfoot th{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--ink)}
.tbl tbody tr:hover{background:var(--sky2)}
.filter{width:100%;max-width:380px;padding:9px 2px;border:0;border-bottom:1px solid var(--line-2);border-radius:0;font:inherit;margin-bottom:14px;background:none}
.filter:focus{outline:0;border-bottom-color:var(--crimson)}
.map{width:100%;height:360px;border:1px solid var(--line);border-radius:2px;margin-top:20px}
.contact-card{background:var(--card);border:1px solid var(--line);border-radius:0;padding:14px 18px;margin-bottom:8px}
.contact-card p{margin:.3em 0}

/* ------------------------------ buttons & forms ------------------------------ */
.btn{display:inline-block;background:var(--ink);color:#fdfbf4;border:1px solid var(--ink);border-radius:2px;padding:9px 22px;font:inherit;font-size:.9rem;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:.15s;box-shadow:none}
.btn:hover{background:var(--crimson);border-color:var(--crimson);color:#fff;transform:none;filter:none;text-decoration:none}
.btn.ghost{background:none;color:var(--ink);border:1px solid var(--line-2);box-shadow:none}
.btn.ghost:hover{background:var(--paper);color:var(--crimson);border-color:var(--crimson)}
.btn.sm{padding:4px 13px;font-size:.82rem}
.btn.danger{background:var(--crimson);border-color:var(--crimson);color:#fff}
.form{display:grid;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:0;padding:24px;box-shadow:none}
.fld label{display:block;font-weight:600;margin-bottom:5px;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.fld em{color:var(--crimson);font-style:normal}
.fld input,.fld select,.fld textarea{width:100%;border:1px solid var(--line-2);border-radius:2px;padding:9px 11px;font:inherit;font-size:.96rem;background:#fff}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 2px rgba(21,26,32,.08)}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.alert{border-radius:0;padding:14px 18px;margin:16px 0;border:1px solid var(--line);background:var(--card)}
.alert.ok{background:#f1f7f3;border-color:#c3d8cc;border-left:3px solid var(--green)}
.alert.err{background:#fdf1f0;border-color:#e6c4c0;border-left:3px solid var(--crimson);color:#7f1a14}
.ref{font-family:var(--serif);font-size:1.4rem;letter-spacing:.06em;background:#fff;display:inline-block;padding:4px 14px;border:1px dashed var(--line-2)}

/* ------------------------------ footer ------------------------------ */
.foot{background:var(--ink);color:#ded8c8;margin-top:40px;padding-top:38px}
.foot:before{content:none}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1.1fr;gap:36px;padding-bottom:8px}
.foot h3{color:#fdfbf4;font-size:.78rem;font-family:var(--sans);font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.foot a{color:#ded8c8}
.foot a:hover{color:#fff}
.foot p{font-size:.9rem;line-height:1.6;margin:0 0 .7em}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:.4em 0;font-size:.9rem}
.foot .foot-logo{height:60px;width:auto;margin-bottom:14px}
.foot .soc-lg{margin-top:16px}
.foot .soc-lg a:hover{background:var(--crimson);border-color:var(--crimson)}
.fh a b{color:#fff;display:inline-block;min-width:56px;font-family:var(--serif);font-weight:600}
.foot-bot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.18);margin-top:26px;padding:16px 0;font-size:.8rem;color:#b9b3a3}
.foot-bot a{color:#b9b3a3}
.demo{font-size:.72rem;color:#8f8a7c;padding-bottom:18px}

/* ------------------------------ floating widgets ------------------------------ */
.fab{position:fixed;z-index:60;border-radius:2px;border:0;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-lg);transition:background .15s}
.fab .ring{display:none}
.fab em{position:absolute;font-style:normal;font-size:.8rem;font-weight:600;background:var(--ink);color:#fff;padding:5px 12px;border-radius:2px;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s;top:50%}
.wa-fab{left:16px;bottom:16px;width:48px;height:48px;background:var(--green)}
.wa-fab:hover{background:var(--ink);transform:none}
.wa-fab em{left:calc(100% + 10px);transform:translate(-6px,-50%)}
.wa-fab:hover em{opacity:1;transform:translate(0,-50%)}
.chat-fab{right:16px;bottom:78px;background:var(--ink)}
.chat-fab:hover{background:var(--crimson);transform:none}
.chat-fab em{right:calc(100% + 10px);transform:translate(6px,-50%)}
.chat-fab:hover em{opacity:1;transform:translate(0,-50%)}
.chat-fab .i-x{display:none}.chat-fab.open .i-chat{display:none}.chat-fab.open .i-x{display:block}
.sos-fab{position:fixed;right:16px;bottom:16px;background:var(--crimson);color:#fff;font-weight:700;width:48px;height:48px;border-radius:2px;display:grid;place-items:center;box-shadow:var(--shadow-lg);z-index:60;font-family:var(--serif);letter-spacing:.02em;transition:background .15s}
.sos-fab:hover{text-decoration:none;background:var(--ink);transform:none}
@keyframes pulse{0%,100%{opacity:0}}
@keyframes wiggle{0%,100%{transform:none}}

/* chat window */
.chat{position:fixed;right:16px;bottom:136px;width:min(370px,calc(100vw - 32px));height:min(540px,calc(100vh - 170px));background:var(--card);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow-lg);z-index:61;display:flex;flex-direction:column;overflow:hidden;animation:pop .2s ease-out;transform-origin:bottom right}
.chat[hidden]{display:none}
@keyframes pop{from{opacity:0;transform:translateY(10px)}}
.chat header{background:var(--ink);color:#fdfbf4;display:flex;align-items:center;gap:12px;padding:12px 14px}
.chat header .bot{width:38px;height:38px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.chat header strong{display:block;font-family:var(--sans);font-size:.94rem}.chat header small{display:flex;align-items:center;gap:6px;font-size:.74rem;color:#b9b3a3}
.chat .dot{width:7px;height:7px;border-radius:50%;background:#69b183}
.chat header button{margin-left:auto;background:rgba(255,255,255,.14);border:0;color:#fff;width:30px;height:30px;border-radius:2px;font-size:1.2rem;cursor:pointer}
.chat .msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--paper)}
.chat .m{max-width:88%;padding:9px 13px;border-radius:2px;font-size:.92rem;line-height:1.5}
.chat .m p{margin:0;white-space:pre-line}
.chat .m.bot{background:var(--card);border:1px solid var(--line);align-self:flex-start}
.chat .m.me{background:var(--ink);color:#fff;align-self:flex-end}
.chat .m.typing p{letter-spacing:3px;animation:blink 1s infinite}
@keyframes blink{50%{opacity:.3}}
.chat .cl{display:inline-block;margin-top:8px;background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:4px 11px;font-weight:600;font-size:.83rem;margin-right:6px}
.chat .cl:hover{background:var(--crimson);border-color:var(--crimson);color:#fff;text-decoration:none}
.chat .cl.wa{border-color:#c3d8cc;color:var(--green)}
.chat .cl.wa:hover{background:var(--green);color:#fff}
.chat .chips{display:flex;gap:6px;flex-wrap:wrap;padding:8px 12px;background:var(--paper);border-top:1px solid var(--line)}
.chat .chips button{background:var(--card);border:1px solid var(--line-2);color:var(--ink);border-radius:2px;padding:3px 11px;font:inherit;font-size:.8rem;cursor:pointer}
.chat .chips button:hover{background:var(--ink);color:#fff}
.chat form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.chat form input{flex:1;border:1px solid var(--line-2);border-radius:2px;padding:8px 12px;font:inherit;min-width:0}
.chat form button{border:0;background:var(--ink);color:#fff;width:38px;height:38px;border-radius:2px;cursor:pointer}
.chat .chat-note{margin:0;text-align:center;font-size:.7rem;color:var(--muted);padding:0 10px 8px}

/* ------------------------------ leadership block (legacy) ------------------------------ */
.lead-sec .sec-t{margin:0 0 16px;font-size:1.3rem;color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:9px}
.lead-sec .sec-t::after{content:none}
.lead-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.lead-card{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:20px 8px;text-align:center;box-shadow:none;transition:.15s}
.lead-card:hover{transform:none;box-shadow:none;border-color:var(--line)}
.lead-card img,.lead-av{width:92px;height:92px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);box-shadow:none}
.lead-av{background:var(--paper);color:var(--muted);font-family:var(--serif);font-size:1.9rem}
.lead-card h3{margin:0 0 4px;font-size:.98rem}
.lead-card p{margin:0;font-size:.84rem;color:var(--muted)}

/* ------------------------------ responsive ------------------------------ */
@media (max-width:1020px){
  .fp-grid,.cols-2,.two,.intro,.foot-grid{grid-template-columns:1fr;gap:30px}
  .gstrip{grid-template-columns:repeat(3,1fr)}
  .qa{grid-template-columns:repeat(3,1fr)}
  .lead-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .hsearch{display:none}
  .burger{display:block}
  .nav{display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column}
  .nav a,.nav button{width:100%;text-align:left;border-bottom:1px solid var(--line);border-left:2px solid transparent}
  .nav a:hover,.nav .dd>button:hover{border-left-color:var(--crimson);border-bottom-color:var(--line)}
  .menu{position:static;box-shadow:none;border:0;border-top:1px solid var(--line);background:var(--paper);max-height:none;padding:0 0 0 12px}
  .dd:hover>.menu{display:none}
  .dd.open>.menu{display:block}
  .ncard img{width:96px;height:74px}
  .fp-glance{grid-template-columns:1fr 1fr}
  .fp-glance div:nth-child(3){border-left:0;padding-left:0}
  .fp-glance div{border-bottom:1px solid var(--line)}
  .bn-in{padding:26px 26px 62px}
  .bn-pic{display:none}
  .bn-dots{left:26px}
  .bn-nav{display:none}
  .hl-grid{grid-template-columns:repeat(3,1fr)}
  .fp-quote{grid-template-columns:1fr;gap:16px}
  .soc-side{display:none}
}
@media (max-width:640px){
  .wrap{width:calc(100% - 28px)}
  .brand-t strong{font-size:1.15rem}
  .brand-t small{font-size:.68rem}
  .topbar .soc-sm{display:none}
  .qa,.lead-grid{grid-template-columns:repeat(2,1fr)}
  .gstrip{grid-template-columns:repeat(2,1fr)}
  .alerts,.alert-cards,.stn-grid{grid-template-columns:1fr}
  .sp-row{flex-direction:column}
  .fp-quote img,.fp-quote .ph-av{width:76px;height:76px}
  .fab em{display:none}
  .fab,.sos-fab{width:44px;height:44px}
  .wa-fab{width:44px;height:44px}
  .chat-fab{bottom:72px;padding:8px 14px 8px 8px}
  .chat{right:8px;left:8px;bottom:128px;width:auto}
  .rows img{width:88px;height:66px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .tk-txt{padding:0;white-space:normal}
}
@media print{
  .topbar,.head,.nav,.ticker,.foot,.fab,.sos-fab,.chat,.soc-side,.bn-nav,.bn-dots{display:none}
  body{background:#fff}
}
