/* =====================================================================
   Miryalan Dynasty — institutional portal layer
   Utility bar (accessibility), emblem, hero slider, notice ticker,
   at-a-glance figures, services, updates, grievance strip, sitemap footer.
   Loaded after miryalan-ui.css from includes/header.php.
   ===================================================================== */
:root{ --mdt-topbar-h:90px; --mdt-deep:#0A2144; --md-zoom:1; }
@media (max-width:700px){ :root{ --mdt-topbar-h:56px; } }
main,footer.mdt-footer{ zoom:var(--md-zoom,1); }
main:focus{ outline:none; }

/* ---------- utility bar (part of the fixed header) ---------- */
.mdt-utility{ background:#000; color:#C9CFDA; font-size:12px; border-bottom:1px solid rgba(255,255,255,.08); }
.mdt-utility-in{ max-width:1400px; margin:0 auto; padding:0 24px; height:34px; display:flex; align-items:center; justify-content:space-between; gap:16px; text-shadow:none; }
.mdt-utility a{ color:#C9CFDA; text-decoration:none; }
.mdt-utility a:hover,.mdt-utility a:focus-visible{ color:#fff; text-decoration:underline; }
.md-util-l,.md-util-r{ display:flex; align-items:center; gap:18px; }
.md-skip{ font-weight:600; color:#fff !important; }
.md-util-sep{ width:1px; height:14px; background:rgba(255,255,255,.22); }
.md-util-contact{ display:flex; gap:16px; }
.md-util-contact span{ display:inline-flex; align-items:center; gap:6px; }
.md-util-contact svg{ width:13px; height:13px; stroke:var(--mdt-gold); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.md-fs{ display:flex; align-items:center; gap:3px; }
.md-fs-label{ margin-right:4px; color:#9AA5B5; }
.md-fs button,.md-hc-btn{ background:transparent; border:1px solid rgba(255,255,255,.3); color:#fff; height:22px; min-width:26px; border-radius:3px; font:600 11px/1 inherit; cursor:pointer; padding:0 6px; }
.md-fs button:hover,.md-hc-btn:hover{ border-color:var(--mdt-gold); color:var(--mdt-gold); }
.md-fs button[aria-pressed="true"],.md-hc-btn[aria-pressed="true"]{ background:var(--mdt-gold); border-color:var(--mdt-gold); color:var(--mdt-deep); }
@media (max-width:1100px){ .md-util-contact{ display:none; } }
@media (max-width:700px){ .mdt-utility{ display:none; } }

/* ---------- nav bar with emblem ---------- */
.mdt-topnav{ height:56px; }
.mdt-brand{ flex-direction:row !important; align-items:center !important; gap:11px !important; }
.md-emblem{ width:34px; height:34px; flex:0 0 34px; display:block; }
.mdt-brand-text{ display:flex; flex-direction:column; gap:1px; line-height:1; }
.mdt-mobile{ max-height:calc(100vh - var(--mdt-topbar-h)) !important; }

/* ---------- hero slider ---------- */
.mdt-hero.md-slider{ min-height:min(90vh,780px); }
body.page-home .mdt-hero.md-slider{ min-height:min(90vh,780px); }
.md-slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.1s ease; }
.md-slide.is-on{ opacity:1; }
.md-slide img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.07); transition:transform 10s ease-out; }
.md-slide.is-on img{ transform:scale(1); }
.md-texts{ display:grid; max-width:680px; }
.md-text{ grid-area:1/1; opacity:0; transform:translateY(18px); transition:opacity .8s ease,transform .8s ease; pointer-events:none; visibility:hidden; }
.md-text.is-on{ opacity:1; transform:none; pointer-events:auto; visibility:visible; }
.mdt-hero-text.md-hero-text{ max-width:680px; }
.mdt-hero-text h1{ font-size:clamp(32px,4.4vw,54px); }
.md-hero-ctrl{ display:flex; align-items:center; gap:12px; margin-top:34px; }
.md-hero-ctrl button{ width:40px; height:40px; border-radius:50%; border:1.5px solid rgba(255,255,255,.55); background:rgba(10,33,68,.35); color:#fff; cursor:pointer; font-size:15px; display:grid; place-items:center; transition:background .2s,border-color .2s; }
.md-hero-ctrl button:hover,.md-hero-ctrl button:focus-visible{ background:var(--mdt-gold); border-color:var(--mdt-gold); color:var(--mdt-deep); }
.md-dots{ display:flex; gap:8px; margin:0 6px; }
.md-dots button{ width:34px; height:5px; border-radius:3px; border:none; padding:0; background:rgba(255,255,255,.4); }
.md-dots button[aria-current="true"]{ background:var(--mdt-gold); }
.md-count{ color:#DCE1EA; font-size:13px; font-variant-numeric:tabular-nums; letter-spacing:.08em; margin-left:4px; }
@media (max-width:900px){ .mdt-hero.md-slider,body.page-home .mdt-hero.md-slider{ min-height:680px; } .md-hero-ctrl{ margin-top:22px; } }

/* ---------- notice ticker ---------- */
.md-ticker{ background:#000; color:#fff; border-top:2px solid var(--mdt-gold); border-bottom:2px solid var(--mdt-gold); }
.md-ticker-in{ max-width:1400px; margin:0 auto; display:flex; align-items:stretch; height:48px; padding:0 28px; }
.md-ticker-label{ background:var(--mdt-gold); color:var(--mdt-deep); font-weight:800; font-size:12px; letter-spacing:.12em; text-transform:uppercase; display:flex; align-items:center; padding:0 18px; flex-shrink:0; }
.md-ticker-track{ flex:1; overflow:hidden; display:flex; align-items:center; position:relative; mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); }
.md-ticker-move{ display:inline-flex; white-space:nowrap; animation:mdtick 46s linear infinite; }
.md-ticker-move a{ color:#fff; text-decoration:none; font-size:13.5px; padding:0 28px; display:inline-flex; align-items:center; gap:10px; }
.md-ticker-move a::before{ content:""; width:6px; height:6px; background:var(--mdt-gold); transform:rotate(45deg); flex-shrink:0; }
.md-ticker-move a:hover{ text-decoration:underline; }
@keyframes mdtick{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.md-ticker.is-paused .md-ticker-move{ animation-play-state:paused; }
.md-ticker-track:hover .md-ticker-move{ animation-play-state:paused; }
.md-ticker-pause{ background:transparent; border:1px solid rgba(255,255,255,.35); color:#fff; border-radius:4px; align-self:center; margin-left:14px; font-size:12px; height:28px; padding:0 10px; cursor:pointer; flex-shrink:0; }
.md-ticker-pause:hover{ border-color:var(--mdt-gold); color:var(--mdt-gold); }
@media (max-width:640px){ .md-ticker-in{ padding:0 12px; } .md-ticker-label{ padding:0 10px; font-size:11px; } }

/* ---------- at a glance ---------- */
.md-glance{ background:#fff; border-bottom:1px solid var(--mdt-line); }
.md-glance-in{ max-width:1400px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:repeat(4,1fr); }
.md-glance-item{ padding:34px 28px; border-left:1px solid var(--mdt-line); display:flex; flex-direction:column; gap:6px; }
.md-glance-item:first-child{ border-left:none; padding-left:0; }
.md-glance-item b{ font-family:var(--mdt-font-sans); font-size:clamp(34px,4vw,50px); line-height:1; font-weight:800; color:var(--mdt-navy); }
.md-glance-item b::after{ content:""; display:block; width:32px; height:3px; background:var(--mdt-gold); margin-top:12px; }
.md-glance-item span{ font-size:13.5px; color:var(--mdt-gray); margin-top:10px; }
@media (max-width:900px){ .md-glance-in{ grid-template-columns:1fr 1fr; } .md-glance-item:nth-child(3){ border-left:none; padding-left:0; } .md-glance-item{ border-top:1px solid var(--mdt-line); } .md-glance-item:nth-child(-n+2){ border-top:none; } }

/* ---------- welcome / about ---------- */
.md-wrap{ max-width:1400px; margin:0 auto; padding:0 28px; }
.md-sec{ padding:88px 0; }
.md-sec.soft{ background:var(--mdt-bg-soft); }
.md-eyebrow{ color:var(--mdt-crimson); letter-spacing:2px; font-size:12.5px; font-weight:700; text-transform:uppercase; display:flex; align-items:center; gap:8px; }
.md-eyebrow::before{ content:""; width:22px; height:2px; background:var(--mdt-crimson); display:inline-block; }
.md-h2{ font-size:clamp(26px,3vw,38px); font-weight:800; color:var(--mdt-ink); margin:10px 0 14px; line-height:1.15; }
.md-lead{ color:#4A5563; font-size:16.5px; line-height:1.75; max-width:640px; }
.md-welcome{ display:grid; grid-template-columns:1.05fr 1fr; gap:72px; align-items:center; }
.md-welcome-fig{ position:relative; margin:0; }
.md-welcome-fig::before{ content:""; position:absolute; left:-16px; top:-16px; right:16px; bottom:16px; border:2px solid var(--mdt-gold); border-radius:12px; }
.md-welcome-fig img{ position:relative; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; box-shadow:0 20px 44px rgba(15,45,92,.18); display:block; }
.md-welcome-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }
.md-btn{ display:inline-flex; align-items:center; gap:8px; padding:13px 22px; border-radius:6px; font-size:14px; font-weight:700; text-decoration:none; border:1.5px solid transparent; transition:background .15s,color .15s,border-color .15s; }
.md-btn.navy{ background:var(--mdt-navy); color:#fff; } .md-btn.navy:hover{ background:var(--mdt-navy-2); }
.md-btn.crimson{ background:var(--mdt-crimson); color:#fff; } .md-btn.crimson:hover{ background:var(--mdt-crimson-2); }
.md-btn.line{ border-color:var(--mdt-navy); color:var(--mdt-navy); } .md-btn.line:hover{ background:var(--mdt-navy); color:#fff; }
.md-btn.light{ border-color:rgba(255,255,255,.6); color:#fff; } .md-btn.light:hover{ background:rgba(255,255,255,.12); }
.md-pull{ margin-top:26px; padding:18px 22px; border-left:3px solid var(--mdt-gold); background:var(--mdt-bg-soft); color:var(--mdt-navy); font-weight:600; line-height:1.55; border-radius:0 8px 8px 0; }
@media (max-width:900px){ .md-welcome{ grid-template-columns:1fr; gap:48px; } .md-welcome-fig::before{ left:-8px; top:-8px; right:8px; bottom:8px; } .md-sec{ padding:60px 0; } }

/* ---------- brands ---------- */
.md-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:38px; flex-wrap:wrap; }
.md-brand-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.md-brand{ background:#fff; border:1px solid var(--mdt-line); border-radius:10px; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s,border-color .2s; }
.md-brand:hover,.md-brand:focus-visible{ transform:translateY(-4px); border-color:var(--mdt-navy); box-shadow:0 16px 34px rgba(15,45,92,.14); }
.md-brand-thumb{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--mdt-navy); }
.md-brand-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.md-brand:hover .md-brand-thumb img{ transform:scale(1.06); }
.md-brand-thumb::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,33,68,.55),rgba(10,33,68,0) 55%); }
.md-brand-no{ position:absolute; left:14px; top:12px; z-index:2; font:700 12px/1 'JetBrains Mono',monospace; color:#fff; letter-spacing:.1em; background:rgba(10,33,68,.6); padding:6px 8px; border-radius:4px; }
.md-brand-body{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:4px; flex:1; }
.md-brand-body h4{ margin:0; font-size:17px; font-weight:800; color:var(--mdt-ink); }
.md-brand-body p{ margin:0; font-size:13px; color:var(--mdt-gray); line-height:1.5; }
.md-brand-go{ margin-top:auto; padding-top:10px; font-size:13px; font-weight:700; color:var(--mdt-crimson); }
.md-brand-go::after{ content:" \2192"; }
.md-brand.all{ background:var(--mdt-navy); border-color:var(--mdt-navy); justify-content:center; padding:28px; gap:10px; }
.md-brand.all h4{ color:#fff; font-size:20px; } .md-brand.all p{ color:#B9C2CF; } .md-brand.all .md-brand-go{ color:var(--mdt-gold); padding:0; margin-top:8px; }
@media (max-width:1100px){ .md-brand-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .md-brand-grid{ grid-template-columns:repeat(2,1fr); gap:14px; } }
@media (max-width:460px){ .md-brand-grid{ grid-template-columns:1fr; } }

/* ---------- services & portals ---------- */
.md-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.md-service{ background:#fff; border:1px solid var(--mdt-line); border-top:3px solid var(--mdt-navy); border-radius:0 0 10px 10px; padding:26px; text-decoration:none; display:flex; flex-direction:column; gap:10px; transition:transform .2s,box-shadow .2s,border-top-color .2s; }
.md-service:hover,.md-service:focus-visible{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(15,45,92,.12); border-top-color:var(--mdt-gold); }
.md-service-ico{ width:50px; height:50px; border-radius:10px; background:var(--mdt-navy); display:grid; place-items:center; }
.md-service-ico svg{ width:25px; height:25px; stroke:var(--mdt-gold); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.md-service h4{ margin:6px 0 0; font-size:18px; font-weight:800; color:var(--mdt-ink); }
.md-service p{ margin:0; font-size:14px; color:var(--mdt-gray); line-height:1.6; }
.md-service .md-brand-go{ margin-top:auto; padding-top:8px; }
@media (max-width:1000px){ .md-services{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .md-services{ grid-template-columns:1fr; } }

/* ---------- updates ---------- */
.md-updates{ display:grid; grid-template-columns:1.35fr 1fr; gap:28px; align-items:start; }
.md-panel{ background:#fff; border:1px solid var(--mdt-line); border-radius:10px; overflow:hidden; }
.md-panel-head{ display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border-bottom:1px solid var(--mdt-line); background:var(--mdt-bg-soft); }
.md-panel-head h3{ margin:0; font-size:16px; font-weight:800; color:var(--mdt-ink); display:flex; align-items:center; gap:10px; }
.md-panel-head h3::before{ content:""; width:3px; height:16px; background:var(--mdt-crimson); }
.md-panel-head a{ font-size:13px; font-weight:700; color:var(--mdt-crimson); text-decoration:none; }
.md-news{ display:flex; gap:18px; padding:18px 24px; border-bottom:1px solid var(--mdt-line); text-decoration:none; align-items:center; transition:background .15s; }
.md-news:last-child{ border-bottom:none; }
.md-news:hover{ background:var(--mdt-bg-soft); }
.md-date{ flex:0 0 58px; text-align:center; background:var(--mdt-navy); color:#fff; border-radius:6px; padding:8px 0; line-height:1; }
.md-date b{ display:block; font-size:22px; font-weight:800; } .md-date span{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--mdt-gold); display:block; margin-top:4px; }
.md-news-t{ font-size:15px; font-weight:700; color:var(--mdt-ink); line-height:1.4; }
.md-news-y{ font-size:12.5px; color:var(--mdt-gray); margin-top:3px; }
.md-empty{ padding:26px 24px; color:var(--mdt-gray); font-size:14px; }
.md-new{ display:flex; gap:14px; padding:16px 24px; border-bottom:1px solid var(--mdt-line); text-decoration:none; align-items:flex-start; }
.md-new:hover{ background:var(--mdt-bg-soft); }
.md-new:last-child{ border-bottom:none; }
.md-new-ico{ width:38px; height:38px; border-radius:8px; background:var(--mdt-bg-soft); display:grid; place-items:center; flex:0 0 38px; }
.md-new-ico svg{ width:19px; height:19px; stroke:var(--mdt-navy); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.md-new b{ display:block; font-size:14.5px; color:var(--mdt-ink); } .md-new span{ font-size:13px; color:var(--mdt-gray); }
@media (max-width:1000px){ .md-updates{ grid-template-columns:1fr; } }

/* ---------- quote band ---------- */
.md-quote{ background:var(--mdt-navy); color:#fff; text-align:center; padding:84px 28px; position:relative; overflow:hidden; }
.md-quote::before{ content:"\201C"; position:absolute; left:50%; top:-40px; transform:translateX(-50%); font:800 260px/1 Georgia,serif; color:rgba(201,162,39,.16); }
.md-quote p{ position:relative; max-width:900px; margin:0 auto; font-size:clamp(24px,3.4vw,40px); line-height:1.3; font-weight:700; color:#fff; }
.md-quote span{ position:relative; display:block; margin-top:22px; color:var(--mdt-gold); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:13px; }

/* ---------- leadership teaser ---------- */
.md-leader{ display:grid; grid-template-columns:auto 1fr auto; gap:32px; align-items:center; background:#fff; border:1px solid var(--mdt-line); border-left:4px solid var(--mdt-gold); border-radius:10px; padding:32px; }
.md-leader .lname{ font-size:22px; font-weight:800; color:var(--mdt-ink); } .md-leader .ltitle{ color:var(--mdt-crimson); font-weight:700; font-size:14px; margin:2px 0 10px; }
.md-leader p{ margin:0; color:#4A5563; line-height:1.7; font-size:15px; max-width:720px; }
@media (max-width:800px){ .md-leader{ grid-template-columns:1fr; } }

/* ---------- grievance / contact strip ---------- */
.md-strip{ background:linear-gradient(100deg,#6F2222,var(--mdt-crimson)); color:#fff; }
.md-strip-in{ max-width:1400px; margin:0 auto; padding:44px 28px; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.md-strip h3{ margin:0 0 6px; font-size:24px; font-weight:800; color:#fff; }
.md-strip p{ margin:0; color:#F0D9D9; max-width:640px; line-height:1.6; }
.md-strip-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.md-btn.white{ background:#fff; color:var(--mdt-crimson); } .md-btn.white:hover{ background:var(--mdt-bg-soft); }

/* ---------- footer (sitemap style) ---------- */
.md-footer-main{ max-width:1400px; margin:0 auto; padding:56px 28px 40px; display:grid; grid-template-columns:1.6fr 1fr 1.3fr 1fr 1fr; gap:36px; }
.md-fabout .mdt-footer-brand{ flex-direction:row; align-items:center; gap:12px; text-decoration:none; }
.md-fabout .mdt-footer-brand .word{ font-size:18px; }
.md-fabout p{ font-size:13.5px; line-height:1.7; color:#B9C2CF; margin:16px 0 14px; max-width:340px; }
.md-flocs{ display:grid; gap:6px; font-size:13px; color:#C9CFDA; margin-bottom:16px; }
.md-fcol h5{ margin:0 0 16px; color:#fff; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:800; padding-bottom:10px; border-bottom:2px solid var(--mdt-gold); display:inline-block; }
.md-fcol a{ display:block; color:#C9CFDA; text-decoration:none; font-size:13.5px; padding:5px 0; }
.md-fcol a:hover{ color:#fff; text-decoration:underline; }
.md-fcol.two{ columns:1; }
@media (max-width:1100px){ .md-footer-main{ grid-template-columns:1fr 1fr 1fr; } .md-fabout{ grid-column:1/-1; } }
@media (max-width:640px){ .md-footer-main{ grid-template-columns:1fr 1fr; padding-top:40px; } }

/* ---------- back to top ---------- */
.md-top{ position:fixed; right:24px; bottom:96px; z-index:150; width:44px; height:44px; border-radius:50%; background:var(--mdt-navy); color:#fff; border:2px solid var(--mdt-gold); cursor:pointer; opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .25s,transform .25s,visibility .25s; display:grid; place-items:center; font-size:18px; }
.md-top.show{ opacity:1; visibility:visible; transform:none; }
.md-top:hover{ background:var(--mdt-gold); color:var(--mdt-deep); }

/* ---------- reveal on scroll ---------- */
.md-js .md-reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1); }
.md-js .md-reveal.is-in{ opacity:1; transform:none; }

/* ---------- focus ---------- */
.mdt-topbar a:focus-visible,.mdt-topbar button:focus-visible,main a:focus-visible,main button:focus-visible,footer a:focus-visible,footer button:focus-visible{ outline:2px solid var(--mdt-gold); outline-offset:2px; }

/* ---------- high contrast mode ---------- */
html.md-hc body,html.md-hc main,html.md-hc section,html.md-hc footer,html.md-hc .mdt-topbar,html.md-hc .mdt-utility,html.md-hc div,html.md-hc article,html.md-hc nav{ background-color:#000 !important; background-image:none !important; color:#fff !important; border-color:#fff !important; text-shadow:none !important; box-shadow:none !important; }
html.md-hc a,html.md-hc a *{ color:#FFD400 !important; }
html.md-hc h1,html.md-hc h2,html.md-hc h3,html.md-hc h4,html.md-hc h5,html.md-hc p,html.md-hc span,html.md-hc li,html.md-hc b{ color:#fff !important; }
html.md-hc button,html.md-hc input,html.md-hc select,html.md-hc textarea{ background:#000 !important; color:#fff !important; border:2px solid #fff !important; }
html.md-hc .mdt-hero::after,html.md-hc .md-slide img,html.md-hc .md-brand-thumb::after{ opacity:.35; }
html.md-hc .mdt-quicklinks,html.md-hc .md-brand,html.md-hc .md-service,html.md-hc .md-panel{ border:2px solid #fff !important; }
html.md-hc .md-ticker-label,html.md-hc .md-fs button[aria-pressed="true"],html.md-hc .md-hc-btn[aria-pressed="true"]{ background:#FFD400 !important; color:#000 !important; }

@media print{ .mdt-topbar,.mdt-mobile,.md-top,.md-ticker,.md-strip,.mdt-footer-subscribe{ display:none !important; } main{ padding-top:0 !important; } }
@media (prefers-reduced-motion:reduce){ .md-ticker-move{ animation:none; } .md-slide,.md-slide img,.md-text{ transition:none; } .md-js .md-reveal{ opacity:1; transform:none; } }
.md-fabout .mdt-footer-brand .word{ letter-spacing:1px; white-space:nowrap; font-size:17px; }
.md-fabout .mdt-footer-brand .sub{ font-size:9px; white-space:nowrap; margin-top:4px; }
.md-fabout .md-emblem{ width:40px; height:40px; flex:0 0 40px; }
.md-footer-main > *{ min-width:0; }
@media (max-width:640px){
  .md-fabout .mdt-footer-brand .word{ font-size:15px; letter-spacing:.5px; white-space:normal; }
  .md-fabout .mdt-footer-brand .sub{ white-space:normal; }
}
.md-fabout .mdt-footer-brand > span{ display:flex; flex-direction:column; }
@media (max-width:560px){ .md-count{ display:none; } .md-dots button{ width:24px; } }
