﻿@charset "UTF-8";

/* ===================== 1) Variables & Resets ===================== */
:root{
  /* Layout */
  --page-max:1139px;
  --banner-max-width:var(--page-max);
  --gutter-desktop:8px;
  --gutter-mobile:7px;
  --nav-row-min:44px;
  --side-ui-width:clamp(220px, 25vw, 280px);
  --dd-height:40px;
  --dd-height-sm:40px;
  --dd-height-lg:48px;
  --dd-height-xl:56px;
  --dd-height-sm-lg:52px;
  --dd-height-sm-xl:60px;
  --svc-caret-size:10px;
  --radius-sm:6px;
  --radius-md:10px;
  --radius-lg:14px;
  --nav-active-bg:#082378;
  --panel-tint:rgba(240,245,252,0.88);

  /* Palette */
  --brand-blue:#061C60;
  --nav-blue:#061C60;
  --link-blue:#0b4db3;
  --accent-blue:#2b4c8f;
  --accent-lightblue:#798fbd;
  --text:#122033;
  --focus-ring:#ffffff;
  --focus-ring-soft:rgb(55 175 255 / 35%);
  --focus-ring-blue:rgba(11,77,179,0.28);

  /* Backgrounds */
  --bg-gradient:linear-gradient(180deg,#f4f7fb 0%,#ffffff 100%);

  /* Borders & Shadows */
  --border:1px solid #d8e0ea;
  --card-shadow:0 2px 10px rgba(6,28,96,0.06);
  --card-shadow-lg:0 10px 24px rgba(6,28,96,0.08);
  --shadow:0 14px 32px rgba(10,24,58,0.14);
  --backdrop:rgba(0,0,0,.45);

  --sticky-title-offset:0px;
  --sticky-gap:12px;
  --sticky-sidebar-offset:130px;

  /* Type helpers */
  --small-text:.85rem;
}

*,
*::before,
*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  font-size:100%;
  margin:0;
  padding:0;
  color:var(--text);
}

html[data-fs="large"]{ font-size:112.5%; }
html[data-fs="largest"]{ font-size:125%; }

html,
body,
input,
select,
button{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

body{
  margin:0;
  padding:0 0 5px;
  background:#eef3f9;
  color:var(--text);
}

img{ border:0; max-width:100%; height:auto; }
ul{ margin:0; padding-left:1.25em; }

summary{ list-style:none; }
summary::-webkit-details-marker{ display:none; }
summary::marker{ content:""; }

p{
  margin:0 0 14px;
  font-size:1rem;
  line-height:1.65;
  color:#1c2736;
}

a{
  color:var(--link-blue);
  text-underline-offset:2px;
  transition:color .18s ease, text-decoration-color .18s ease, box-shadow .18s ease;
  text-decoration:none;
}
a:hover,
a:focus {
  text-decoration: underline; color:#093b8c; }

:focus-visible:not(.gradient-dropdown){
  outline:3px solid rgba(11,77,179,0.55);
  outline-offset:2px;
  border-radius:10px;
}

.dhsp-nav :focus-visible,
.dhsp-nav__contact-panel :focus-visible{
  outline:3px solid var(--focus-ring);
  outline-offset:2px;
  box-shadow:0 0 0 3px var(--focus-ring-soft);
}

.sr-only{
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

@media (prefers-reduced-motion:reduce){
  *{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

/* ===================== 3) Typography ===================== */
.h1,
.h2,
.h4,
.h6,
h1,
h2,
h4,
h6{
  color:var(--nav-blue);
}
.h3,
.h5,
h3,
h5{ color:#000; }

.h1,
h1{
  font-size:clamp(1.35rem,1.55vw + .7rem,1.95rem);
  font-weight:800;
  letter-spacing:-0.02em;
}

.h2,
h2{
  font-size:clamp(1.28rem,1.4vw + .7rem,1.8rem);
  font-weight:800;
  letter-spacing:-0.02em;
  margin:.5rem 0 0;
}

.h3,
h3{
  font-size:clamp(1.08rem,1vw + .65rem,1.45rem);
  font-weight:700;
  letter-spacing:-0.01em;
  margin:.9rem 0 .35rem;
}

.h4,
h4{
  font-size:clamp(1rem,.8vw + .65rem,1.2rem);
  font-weight:650;
  margin:.8rem 0 .3rem;
}

.h5,
h5{
  font-size:clamp(.98rem,.6vw + .65rem,1.12rem);
  font-weight:650;
  margin:.4rem 0 .4rem;
}
.h6,
h6{
  font-size:clamp(.98rem,.6vw + .65rem,1.12rem);
  font-weight:500;
  margin:.4rem 0 .4rem;
}

.h7a{ font-size:clamp(.85rem,.8vw + .25rem,1rem); font-weight:600; margin:.4rem 0; }

.styleurgent{
  color:#ff0000;
  font-weight:bold;
  font-size:1.10rem;
  margin-bottom:0.1em;
  text-align:center;
}

.styleurgent3{
  color:#ff0000;
  font-size:1.02rem;
  line-height:1.45;
  margin-top:0.1em;
  margin-bottom:0.1em;
  text-align:center;
}

.globalNavGrey{
  font-size:2.1rem;
  padding:0;
  margin:0;
  font-weight:700;
  color:var(--brand-blue);
}
h1.globalNavGrey{ margin:0; }
.globalNavGrey a{
  color:var(--brand-blue);
  text-decoration:none;
  font-weight:800;
  font-size:2.2rem;
  letter-spacing:-0.02em;
  display:inline-block;
  text-align:center;
}
.globalNavGrey a:hover{ color:var(--link-blue); text-decoration:underline; }
.globalNavGrey a:active{ color:#082378; }

.globalNavBlue{
  margin-top:0;
  padding-left:2px;
  font-size:.875rem;
  font-weight:700;
  text-decoration:underline;
  text-align:center;
  vertical-align:bottom;
  color:#fff;
}
.globalNavBlue a{
  color:#fff;
  text-decoration:none;
  font-size:1rem;
  line-height:1.2;
}
.globalNavBlue a:hover{ text-decoration:underline; }

/* ===================== 4) Header ===================== */
.dhsp-header.container,
header.dhsp-header,
.container.dhsp-header{
  display:grid;
  grid-template-rows:auto auto;
  grid-template-areas:
    "leftTop     center   rightTop"
    "leftBottom  center   rightBottom";
  align-items:center;
  column-gap:6px;
  width:100%;
  margin:10px auto 0;
  max-width:var(--page-max);
  background:#fff;
  border:1px solid #dbe4ef;
  border-radius:16px;
  padding:8px 9px;
  box-shadow:0 6px 24px rgba(6,28,96,0.06);
}

.dhsp-header__left-top{ grid-area:leftTop; }
.dhsp-header__social{ grid-area:leftBottom; }
.dhsp-header__center{
  grid-area:center;
  justify-self:center;
  text-align:center;
  min-width:0;
}
.dhsp-header__translate{
  grid-area:rightTop;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.dhsp-header__accessibility{
  grid-area:rightBottom;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  max-width:34px;
  min-width:34px;
}
.dhsp-header__top-tools{
  grid-area:rightTop;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  width:150px;
  min-width:150px;
  max-width:150px;

}

.dhsp-header__left-top{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.dhsp-header__left-top .dhsp-header__search{
  flex:0 0 auto;
  min-width:0;
  position:relative;
  display:inline-flex;
  align-items:center;
}

.dhsp-header__logo{ min-width:96px; }
.dhsp-logo img{ display:block; }

.dhsp-header__search{ min-width:0; }
.dhsp-header__search form{
  display:flex;
  align-items:center;
  width:100%;
  margin:0;
  min-width:0;
}
.dhsp-header__search input:is([type="text"],[type="search"]){
  width:100%;
  min-width:0;
  height:36px;
  line-height:36px;
  padding:0 10px;
}
#dhsp-search-panel.open-search{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:auto;
  z-index:60;
  width:200px;
  padding:10px;
  background:#fff;
  border:1px solid #dbe3ef;
  border-radius:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}

#dhsp-search-panel.open-search::before{
  content:"";
  position:absolute;
  top:-6px;
  left:12px;
  width:10px;
  height:10px;
  background:#fff;
  border-left:1px solid #dbe3ef;
  border-top:1px solid #dbe3ef;
  transform:rotate(45deg);
}

:where(.dhsp-header__search, #blue-search-col, .dhsp-nav-search) input:is([type="search"],[type="text"]){
  border:1px solid #ccc;
  border-radius:var(--radius-md);
}

.dhsp-header__social{
  display:flex;
  align-items:center;
}
.dhsp-header__social .social{
  display:flex;
  align-items:center;
  gap:4px;
}

.dhsp-header__center .globalNavGrey{ margin:0; }
.dhsp-header__center .globalNavGrey a{
  display:block;
  max-width:100%;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
  text-align:center;
  line-height:1;
}

.dhsp-header__accessibility > a img{
  position:static;
  top:0;
  vertical-align:middle;
}

/* Header font-size control. These use rem-resistant dimensions so A buttons stay stable. */
.dhsp-header__font-size,
html[data-fs="large"] .dhsp-header__font-size,
html[data-fs="largest"] .dhsp-header__font-size{
  grid-area:rightBottom;
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:150px;
  min-width:150px;
  max-width:150px;
  height:42px;
  min-height:42px;
  max-height:42px;
  padding:4px 8px;
  box-sizing:border-box;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  overflow:hidden;
}

.dhsp-header__font-size-label,
html[data-fs="large"] .dhsp-header__font-size-label,
html[data-fs="largest"] .dhsp-header__font-size-label{
  display:inline-block;
  flex:0 0 auto;
  font-size:.72rem;
  font-weight:600;
  color:#475569;
  line-height:1;
  white-space:nowrap;
}

.dhsp-header__font-size-buttons,
html[data-fs="large"] .dhsp-header__font-size-buttons,
html[data-fs="largest"] .dhsp-header__font-size-buttons{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:0 0 auto;
}

.dhsp-header__font-size-buttons a,
html[data-fs="large"] .dhsp-header__font-size-buttons a,
html[data-fs="largest"] .dhsp-header__font-size-buttons a{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  width:27px;
  height:27px;
  min-width:27px;
  max-width:27px;
  min-height:27px;
  max-height:27px;
  flex:0 0 27px;
  padding:0 0 3px;
  margin:0;
  box-sizing:border-box;
  border-radius:8px;
  font-weight:600;
  text-decoration:none;
  background:#f1f5f9;
  border:1px solid #dbe3ef;
  color:#061C60;
  line-height:1;
  vertical-align:middle;
  transition:background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.dhsp-header__font-size-buttons a:hover{
  background:#e2e8f0;
  border-color:#cbd5e1;
}
.dhsp-header__font-size-buttons a[aria-current="true"],
html[data-fs="large"] .dhsp-header__font-size-buttons a[aria-current="true"],
html[data-fs="largest"] .dhsp-header__font-size-buttons a[aria-current="true"]{
  background:#061C60;
  color:#fff;
  border-color:#061C60;
  box-shadow:0 4px 10px rgba(6,28,96,.25);
}
.dhsp-header__font-size-buttons a[aria-current="true"]:hover,
html[data-fs="large"] .dhsp-header__font-size-buttons a[aria-current="true"]:hover,
html[data-fs="largest"] .dhsp-header__font-size-buttons a[aria-current="true"]:hover{
  background:#061C60;
  color:#fff;
  border-color:#061C60;
}
.dhsp-header__font-size-buttons a:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(6,28,96,.25);
}

#fs1,
html[data-fs="large"] #fs1,
html[data-fs="largest"] #fs1{ font-size:.75rem; }

#fs2,
html[data-fs="large"] #fs2,
html[data-fs="largest"] #fs2{ font-size:.95rem; }

#fs3,
html[data-fs="large"] #fs3,
html[data-fs="largest"] #fs3{ font-size:1.18rem; }

@media (max-width:900px){
  .dhsp-header.container,
  header.dhsp-header,
  .container.dhsp-header{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto auto auto;
    grid-template-areas:
      "leftTop    rightTop"
      "leftTop    rightBottom"
      "center     center"
      "leftBottom leftBottom";    
    column-gap:12px;
    align-items:start;
    padding-left:var(--gutter-mobile);
    padding-right:var(--gutter-mobile);
  }

  .dhsp-header__left-top{
  grid-area:leftTop;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:6px;
  min-width:0;
  }

  .dhsp-header__left-top .dhsp-header__search{
  width:auto;
  max-width:none;
  min-width:0;
  }

  .dhsp-header__search input:is([type="search"],[type="text"]){
  height:30px;
  min-height:30px;
  line-height:30px;
  border-radius:10px;
  }

  #dhsp-search-panel.open-search{
  left:0;
  right:auto;
  width:min(82vw, 250px);
  }
  .dhsp-header__translate,
  .dhsp-header__top-tools{
    grid-area:rightTop;
    justify-self:end;
  }

  .dhsp-header__center{
    grid-area:center;
    justify-self:center;
    text-align:center;
    min-width:0;
    padding-top:5px;
    padding-bottom:5px;
  }

  .dhsp-header__center .globalNavGrey a{ line-height:1; }

  .dhsp-header__social{
    grid-area:leftBottom;
    justify-self:center;
    position:static;
    transform:none;
    left:auto;
    bottom:auto;
  }

  .dhsp-header__font-size,
  html[data-fs="large"] .dhsp-header__font-size,
  html[data-fs="largest"] .dhsp-header__font-size{
    grid-area:rightBottom;
    justify-self:end;
    width:154px;
    min-width:154px;
    max-width:154px;
    height:44px;
    min-height:44px;
    max-height:44px;
    gap:6px;
    padding:4px 7px;
  }
  .dhsp-header__font-size-label,
  html[data-fs="large"] .dhsp-header__font-size-label,
  html[data-fs="largest"] .dhsp-header__font-size-label{
    font-size:.7rem;
  }

  .dhsp-header__font-size-buttons,
  html[data-fs="large"] .dhsp-header__font-size-buttons,
  html[data-fs="largest"] .dhsp-header__font-size-buttons{
    gap:4px;
  }

  .dhsp-header__font-size-buttons a,
  html[data-fs="large"] .dhsp-header__font-size-buttons a,
  html[data-fs="largest"] .dhsp-header__font-size-buttons a{
    width:30px;
    height:30px;
    min-width:30px;
    max-width:30px;
    min-height:30px;
    max-height:30px;
    flex:0 0 30px;
  }

  #fs1,
  html[data-fs="large"] #fs1,
  html[data-fs="largest"] #fs1{
  font-size:.72rem;
  }
  
  #fs2,
  html[data-fs="large"] #fs2,
  html[data-fs="largest"] #fs2{
  font-size:1rem;
  }
  
  #fs3,
  html[data-fs="large"] #fs3,
  html[data-fs="largest"] #fs3{
  font-size:1.28rem;
  }
 }

/* ===================== 4b) Mobile dropdown arrows ===================== */
@media (max-width:900px){
  .dhsp-nav__report > .globalNavBlue > a[aria-haspopup="true"],
  .dhsp-nav__services > .globalNavBlue > a[aria-haspopup="true"]{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:0.6em 1em;
  }

  .dhsp-nav__report > .globalNavBlue > a[aria-haspopup="true"]::after,
  .dhsp-nav__services > .globalNavBlue > a[aria-haspopup="true"]::after{
    content:"";
    width:16px;
    height:16px;
    margin-left:8px;
    background:url("chevron-white.svg") no-repeat center;
    background-size:contain;
    transform:rotate(0deg);
    transition:transform .25s ease;
    pointer-events:none;
  }

  .dhsp-nav__report.open > .globalNavBlue > a[aria-haspopup="true"]::after,
  .dhsp-nav__services.open > .globalNavBlue > a[aria-haspopup="true"]::after{
    transform:rotate(180deg);
  }
}

/* ===================== 5) Blue Nav Bar & Dropdowns ===================== */
.dhsp-nav{
  background:var(--nav-blue);
  color:#fff;
  max-width:var(--page-max);
  margin:8px auto 0;
  border-radius:var(--radius-lg);
  padding:0;
  overflow:visible;
  box-shadow:0 8px 24px rgba(6,28,96,0.16);
}

.dhsp-nav__row{
  display:flex;
  align-items:center;
  gap:2px;
  flex-wrap:wrap;
  padding:0px 4px;
  position:relative;
}

.dhsp-nav__row .item a{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:100%;
  min-height:var(--nav-row-min);
  color:#fff;
  white-space:nowrap;
}
.dhsp-nav__row .item a:focus{ outline:none; }
.dhsp-nav__row .item a:focus-visible{
  outline:3px solid var(--focus-ring);
  outline-offset:2px;
  border-radius:var(--radius-md);
}

.dhsp-nav__row > .item > .globalNavBlue > a{
  min-height:40px;
  padding:0.4em 0.6em;
  border-radius:10px;
  transition:background .2s ease, transform .08s ease;
  width:100%;
}
.dhsp-nav__row > .item > .globalNavBlue > a:hover{ background:rgba(255,255,255,0.08); }
.dhsp-nav__row > .item > .globalNavBlue > a:active{ transform:scale(0.97); }

.dhsp-nav__toggle{
  display:none;
  background:transparent;
  border:0;
  width:44px;
  height:44px;
  cursor:pointer;
}
.dhsp-nav__toggle span{
  display:block;
  width:22px;
  height:2px;
  margin:5px auto;
  background:#fff;
}
.dhsp-nav__toggle:focus-visible{
  outline:3px solid var(--focus-ring);
  outline-offset:2px;
  border-radius:var(--radius-md);
}

.dhsp-nav__mobile-trigger{ display:none; }
.dhsp-nav__mobile-trigger-icon{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.dhsp-nav__mobile-trigger-icon span{
  display:block;
  width:22px;
  height:2px;
  background:#fff;
}
.dhsp-nav__mobile-trigger-text{
  color:#fff;
  font-weight:700;
  margin-left:8px;
}

.dhsp-nav__report > .services-menu,
.dhsp-nav__services > .services-menu{ display:none; }

.dhsp-nav__mobile-header{ position:relative; }
.dhsp-nav__overlay{
  position:absolute;
  inset:0;
  background:transparent;
  border:0;
  cursor:pointer;
}

@media (min-width:901px){
  .dhsp-nav__row{ flex-wrap:nowrap; }
  .dhsp-nav__row .item{
    flex:0 1 auto;
    min-width:max-content;
  }
  .dhsp-nav__row .item a{ text-decoration:none; }
  .dhsp-nav__overlay,
  .dhsp-nav__mobile-header{ display:none !important; }

  .dhsp-nav .dhsp-nav__row #blue-search-col{
    margin-left:auto !important;
    padding:6px;
    display:flex;
    align-items:center;
    min-height:var(--nav-row-min);
    line-height:normal;
  }
  .dhsp-nav .dhsp-nav__row #blue-search-col form{
    display:flex;
    align-items:center;
    min-height:var(--nav-row-min);
    margin:0;
  }
  .dhsp-nav .dhsp-nav__row #blue-search-col input:is([type="search"],[type="text"]){
    padding:0 10px;
    background:#fff;
    min-width:0;
    min-height:var(--nav-row-min);
    height:auto;
  }
}

@media (max-width:900px){
  .dhsp-nav{
    margin-top:8px;
    border-radius:var(--radius-lg);
  }
  .dhsp-nav__row{
    gap:0;
    padding:6px 8px;
    position:relative;
  }
  .dhsp-nav__toggle{ display:block; }
  .dhsp-nav__mobile-trigger{
    display:flex;
    align-items:center;
    justify-content:center;
    width:auto;
    height:44px;
    padding:0 10px;
    background:transparent;
    border:0;
    cursor:pointer;
  }
  .dhsp-nav__mobile-header{
    flex:0 0 100%;
    width:100%;
    min-height:var(--nav-row-min);
    display:grid;
    grid-template-columns:1fr;
    align-items:center;
    justify-items:center;
  }
  .dhsp-nav__mobile-header .dhsp-nav__toggle{
    grid-column:1;
    justify-self:start;
  }
  .dhsp-nav__mobile-header::after{ content:none; }

  .dhsp-nav__row .item{
    width:100%;
    border-top:1px solid rgba(255,255,255,.15);
    display:none;
    text-decoration:none;
  }
  .dhsp-nav__row.open > .item{ display:block; }
  .dhsp-nav__row .item a{
    text-decoration:underline;
    justify-content:center;
    text-align:center;
  }

  #blue-search-col{
    order:99;
    width:100%;
    display:none;
    border-top:1px solid rgba(255,255,255,.15);
    padding:6px 0;
  }
  .dhsp-nav__row.open #blue-search-col{ display:block; }
  .dhsp-nav #blue-search-col form{
    display:flex;
    align-items:center;
    width:100%;
    gap:6px;
    margin:0;
  }
  .dhsp-nav #blue-search-col input:is([type="text"],[type="search"]){
    flex:1 1 auto;
    width:100%;
    min-width:0;
    height:36px;
    min-height:36px;
    line-height:36px;
    border-radius:8px;
  }

  .dhsp-nav__report.open > .services-menu,
  .dhsp-nav__services.open > .services-menu{
    display:block;
    background:var(--nav-active-bg);
    border-top:1px solid rgba(255,255,255,.15);
    border-radius:var(--radius-sm);
  }
  .dhsp-nav__report > .services-menu,
  .dhsp-nav__services > .services-menu{
    width:100%;
    margin:0;
    padding:0;
  }
  .dhsp-nav__report.open > .globalNavBlue > a,
  .dhsp-nav__services.open > .globalNavBlue > a{ background:var(--nav-blue); }
  .dhsp-nav__report.open > .services-menu a,
  .dhsp-nav__services.open > .services-menu a{ color:#fff !important; }
  .dhsp-nav__report.open > .services-menu a:focus-visible,
  .dhsp-nav__report.open > .services-menu a:hover,
  .dhsp-nav__services.open > .services-menu a:focus-visible,
  .dhsp-nav__services.open > .services-menu a:hover{
    background:rgba(255,255,255,.12);
    border-radius:var(--radius-sm);
  }
}

/* ===================== 5a) Blue Nav Dropdowns: Services & Reports ===================== */
.services-menu li a{
  display:flex;
  align-items:center;
  min-height:44px;
  color:#fff;
  text-decoration:none;
}

.dhsp-nav__report .services-menu,
.dhsp-nav__report .services-menu ul,
.dhsp-nav__services .services-menu,
.dhsp-nav__services .services-menu ul{
  list-style:none;
  margin:0;
  padding:0;
}

.dhsp-nav__report .services-menu > li > a{
  display:block;
  padding:10px 14px;
  color:#fff !important;
}

@media (max-width:900px){
  .services-menu li a{ text-decoration:underline; }
  .dhsp-nav__services:hover:not(.open) > .services-menu,
  .dhsp-nav__services:focus-within:not(.open) > .services-menu,
  .dhsp-nav__report:hover:not(.open) > .services-menu,
  .dhsp-nav__report:focus-within:not(.open) > .services-menu{ display:none; }
}

@media (min-width:901px){
  .dhsp-nav__report,
  .dhsp-nav__services{ position:relative; }

  .dhsp-nav__report > .globalNavBlue > a,
  .dhsp-nav__services > .globalNavBlue > a{
    position:relative;
    z-index:10;
  }

  .dhsp-nav__report > .services-menu,
  .dhsp-nav__services > .services-menu{
    position:absolute;
    top:calc(100% - 3px);
    left:0;
    width:auto;
    min-width:max-content;
    max-width:none;
    margin:0;
    padding:0;
    background:var(--brand-blue);
    border-radius:var(--radius-md);
    color:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.15);
    z-index:9;
    display:none;
  }

  .dhsp-nav__report:focus-within > .services-menu,
  .dhsp-nav__report:hover > .services-menu,
  .dhsp-nav__services:focus-within > .services-menu,
  .dhsp-nav__services:hover > .services-menu{ display:block; }

  .dhsp-nav__report:focus-within > .globalNavBlue > a,
  .dhsp-nav__report:hover > .globalNavBlue > a,
  .dhsp-nav__services:focus-within > .globalNavBlue > a,
  .dhsp-nav__services:hover > .globalNavBlue > a{
    background-color:var(--nav-active-bg) !important;
    color:#fff !important;
    border-radius:var(--radius-md);
    outline:3px solid var(--focus-ring);
    outline-offset:2px;
  }

  .dhsp-nav__report > .services-menu li a,
  .dhsp-nav__services > .services-menu li a{
    justify-content:flex-start;
    padding:10px 14px;
    box-sizing:border-box;
    text-decoration:none;
    font-size:.95rem;
    white-space:normal;
  }

  .dhsp-nav__report > .services-menu li a:focus-visible,
  .dhsp-nav__report > .services-menu li a:hover,
  .dhsp-nav__services > .services-menu li a:focus-visible,
  .dhsp-nav__services > .services-menu li a:hover{
    background-color:var(--nav-active-bg);
    border-radius:var(--radius-sm);
  }

  .dhsp-nav__report .has-submenu:focus-within > a,
  .dhsp-nav__report .has-submenu:hover > a,
  .dhsp-nav__services .has-submenu:focus-within > a,
  .dhsp-nav__services .has-submenu:hover > a{
    background-color:var(--nav-active-bg) !important;
    color:#fff !important;
    border-radius:var(--radius-md);
    outline:3px solid var(--focus-ring);
    outline-offset:2px;
  }
}

/* ===================== 5b) Contact Dropdown ===================== */
.dhsp-nav__contact{ position:relative; }
.dhsp-nav__contact-panel{
  display:none;
  min-width:360px;
  max-width:380px;
  background:var(--nav-blue);
  border-radius:var(--radius-md);
  color:#fff;
  text-align:left;
  padding:12px 5px 12px 12px;
  border-bottom:3px solid var(--brand-blue);
  box-shadow:0 4px 12px rgba(0,0,0,.18);
  z-index:10;
}
.dhsp-nav__contact-panel a{
  color:#fff;
  text-decoration:underline;
  background:transparent;
}
.contact-heading{
  font-weight:700;
  font-size:1.05rem;
  text-align:center;
  color:#fff;
}
.contact-address{
  font-weight:500;
  margin-top:-10px;
  margin-bottom:-10px;
  margin-left:10px;
  text-align:left;
  color:#fff;
}
.contact-details{
  display:grid;
  grid-auto-rows:min-content;
  gap:10px;
  font-size:.95rem;
  line-height:1.5;
}
.contact-lines div{
  margin-top:2px;
  line-height:1.5;
  white-space:normal;
}
.contact-lines strong{
  margin-left:11px;
  display:inline-block;
  min-width:90px;
  font-weight:700;
  color:#fff;
}
.contact-lines .contact-text{
  display:inline-block;
  color:#fff;
}
.contact-lines a[href^="mailto:"]{
  display:inline;
  margin-left:2px;
  white-space:nowrap;
}

.contact-backdrop,
.dhsp-nav__contact-backdrop{
  display:none;
  position:fixed;
  inset:0;
  background:var(--backdrop);
  z-index:3000;
}
.contact-backdrop.show{ display:block; }

.dhsp-nav__contact.force-open > .globalNavBlue > a{
  background-color:var(--nav-active-bg) !important;
  color:#fff !important;
  border-radius:var(--radius-md);
  outline:3px solid var(--focus-ring);
  outline-offset:2px;
}
.contact-close{ display:none; }

@media (min-width:901px){
  .dhsp-nav__contact > .globalNavBlue > a{
    position:relative;
    z-index:10;
    background:var(--nav-blue);
    border-radius:8px;
  }
  .dhsp-nav__contact-panel{
    position:absolute;
    left:0;
    top:calc(100% - 3px);
    z-index:10;
  }
  .dhsp-nav__contact:hover > .dhsp-nav__contact-panel,
  .dhsp-nav__contact:focus-within > .dhsp-nav__contact-panel,
  .dhsp-nav__contact.force-open > .dhsp-nav__contact-panel{ display:block; }

  .dhsp-nav__contact:focus-within > .globalNavBlue > a,
  .dhsp-nav__contact:hover > .globalNavBlue > a{
    background-color:var(--nav-active-bg) !important;
    color:#fff !important;
    border-radius:var(--radius-md);
    outline:3px solid var(--focus-ring);
    outline-offset:2px;
  }
}

@media (max-width:900px){
  .dhsp-nav__contact.open > .dhsp-nav__contact-panel{
    display:block;
    position:fixed;
    left:50%;
    top:12vh;
    transform:translateX(-50%);
    width:92vw;
    max-width:520px;
    max-height:76vh;
    overflow:auto;
    border-radius:var(--radius-lg);
    padding-right:56px;
    z-index:3001;
  }
  .dhsp-nav__contact-backdrop.show{ display:block; }

  .contact-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    right:10px;
    top:10px;
    width:36px;
    height:36px;
    border-radius:var(--radius-md);
    border:1px solid #d6d6d6;
    background:#f7f7f7;
    cursor:pointer;
  }
  .contact-close:focus{ outline:none; }
  .contact-close:focus-visible{
    outline:3px solid var(--focus-ring);
    outline-offset:2px;
  }
  .contact-close-icon{
    display:block;
    width:16px;
    height:16px;
    position:relative;
  }
  .contact-close-icon::before,
  .contact-close-icon::after{
    content:"";
    position:absolute;
    inset:0;
    margin:auto;
    width:16px;
    height:2px;
    background:#333;
  }
  .contact-close-icon::before{ transform:rotate(45deg); }
  .contact-close-icon::after{ transform:rotate(-45deg); }

  .contact-hours{ padding-left:96px; }
  .contact-hours strong,
  .contact-hours .hours-text{
    display:block;
    margin-left:-85px;
    margin-bottom:2px;
  }
}

/* ===================== 5c) Dropdowns: Page Title & Quick Links ===================== */
.dhsp-toolbar{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:10px;
  padding:8px 0 0 0;
  flex-wrap:nowrap;
}
.dhsp-toolbar__primary{
  flex:1 1 auto;
  min-width:0;
}
.dhsp-toolbar__secondary{
  flex:0 0 var(--side-ui-width);
  width:var(--side-ui-width);
  max-width:var(--side-ui-width);
}

.dhsp-dropdown{ position:relative; }

.dhsp-dropdown__select{
  letter-spacing:.02em;
  color:var(--nav-blue);
  border:1px solid #cbd7e5;
  transition:background .25s, box-shadow .25s;
  appearance:none;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  position:relative;
  z-index:8;
  border-radius:var(--radius-lg);
  height:100% !important;
  min-height:44px;
  line-height:1.3;
  font-size:clamp(0.95rem, 0.8vw + .5rem, 1.15rem);
  background:#fff;
  box-shadow:0 4px 10px rgba(6,28,96,0.06);
}
.dhsp-dropdown__select:focus,
.dhsp-dropdown__select:hover{
  background:#fff !important;
  box-shadow:0 6px 14px rgba(6,28,96,0.08);
}
.dhsp-dropdown__select option{
  background:#fff;
  color:var(--text);
  line-height:1.25;
  font-size:clamp(1rem,1.3vw + .4rem,1.45rem);
  text-align:center;
}

#dhsp-reports .materials-dropdown.dhsp-dropdown__select{
  -webkit-appearance:none;
  appearance:none;
  padding-right:1em;
  box-shadow:0 0 6px rgba(6,28,96,.45), 0 0 4px rgba(6,28,96,.25);
  outline:none;
}
#dhsp-reports .dhsp-category-selection .dhsp-dropdown{ position:relative; }

.ellipsis-trigger,
.dhsp-dropdown__button,
.dhsp-dropdown:focus-within .ellipsis-trigger,
.dhsp-dropdown:focus-within .dhsp-dropdown__button{
  position:absolute;
  right:.4em;
  top:0;
  bottom:0;
  width:3em;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:.3em;
  background:transparent !important;
  border:0;
  outline:none;
  cursor:pointer;
  z-index:8;
  pointer-events:auto;
}
.ellipsis-trigger span,
.dhsp-dropdown__button span{
  width:.28em;
  height:.28em;
  border-radius:12px;
  background:#061C60;
}
.ellipsis-trigger:hover span,
.dhsp-dropdown__button:hover span{ opacity:.8; }
.ellipsis-trigger:active span,
.dhsp-dropdown__button:active span{ transform:scale(.92); }
.dhsp-dropdown:focus-within .ellipsis-trigger,
.dhsp-dropdown:focus-within .dhsp-dropdown__button{ flex-direction:row; }

/* ===================== 5d) Title dropdown behavior only for PRIMARY title ===================== */
.dhsp-toolbar__primary #site-nav-select.dhsp-dropdown__select{
  height:auto !important;
  min-height:var(--dd-height) !important;
  line-height:1.3;
  white-space:normal;
  background:#e3eafc;
  overflow:visible !important;
  text-overflow:clip !important;
  text-align:center;
  text-align-last:center;
  outline:0;
  padding-left:0.1em;
  padding-right:2em;
}

@media (min-width:901px){
  .dhsp-toolbar{
    display:flex;
    align-items:stretch;
    gap:10px;
  }
  .dhsp-toolbar__primary{
    flex:1 1 auto;
    min-width:0;
    align-self:stretch;
  }
  .dhsp-toolbar__secondary{
    flex:0 0 var(--side-ui-width);
    width:var(--side-ui-width);
    max-width:var(--side-ui-width);
    align-self:stretch;
  }
  .dhsp-toolbar__secondary .dhsp-dropdown,
  .dhsp-toolbar__primary .dhsp-dropdown{
    position:relative;
    display:flex;
    align-items:stretch;
    height:100%;
  }
  .dhsp-toolbar__secondary #site-nav-select-2.dhsp-dropdown__select{
    width:100%;
    min-width:0;
    height:100% !important;
    min-height:var(--dd-height) !important;
    line-height:1.3;
    font-size:clamp(.9rem, .6vw + .55rem, 1.05rem);
    font-weight:400;
    border-radius:12px;
    background:var(--bg-gradient);
    box-shadow:0 1px 3px rgba(6,28,96,.15);
    padding:.6em 3.2em .6em .75em;
    outline:0;
  }
  .dhsp-toolbar__primary #site-nav-select.dhsp-dropdown__select{
    height:100% !important;
    min-height:var(--dd-height) !important;
    line-height:1.3;
    font-size:1.2rem;
    font-weight:400;
    width:100%;
    padding-top:.35em;
    padding-bottom:.35em;
    padding-left:2em;
    padding-right:2em;
    text-align:center;
    text-align-last:center;
  }
  html[data-fs="large"] .dhsp-toolbar__primary #site-nav-select.dhsp-dropdown__select{
    font-size:1.4rem;
    min-height:var(--dd-height-lg) !important;
    padding-top:.3em;
    padding-bottom:.3em;
    padding-left:2.2em;
    padding-right:2.2em;
  }
  html[data-fs="largest"] .dhsp-toolbar__primary #site-nav-select.dhsp-dropdown__select{
    font-size:1.6rem;
    min-height:var(--dd-height-xl) !important;
    padding-top:.05em;
    padding-bottom:.05em;
    padding-left:0.4em;
    padding-right:0.4em;
  }
  html[data-fs="large"] .dhsp-toolbar__secondary #site-nav-select-2.dhsp-dropdown__select{
    font-size:1.15rem;
    min-height:var(--dd-height-lg) !important;
  }
  html[data-fs="largest"] .dhsp-toolbar__secondary #site-nav-select-2.dhsp-dropdown__select{
    font-size:1.25rem;
    min-height:var(--dd-height-xl) !important;
  }
}

@media (max-width:900px){
  .dhsp-toolbar{ flex-wrap:wrap; }
  .dhsp-toolbar__primary{
    display:flex;
    justify-content:center;
    flex:1 1 100%;
    min-width:0 !important;
    max-width:100% !important;
  }
  .dhsp-toolbar__secondary{
    flex:1 1 100%;
    min-width:0 !important;
    max-width:100% !important;
  }
  .dhsp-toolbar__primary .dhsp-dropdown__select,
  .dhsp-toolbar__secondary .dhsp-dropdown__select,
  .dhsp-dropdown select.dhsp-dropdown__select{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box;
  }
  #site-nav-select.dhsp-dropdown__select,
  #site-nav-select-2.dhsp-dropdown__select{
    height:auto !important;
    min-height:var(--dd-height-sm) !important;
    line-height:1.25;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    padding-top:.42em !important;
    padding-bottom:.42em !important;
    box-sizing:border-box;
  }
  #site-nav-select.dhsp-dropdown__select{
    background:var(--bg-gradient);
    padding-left:1.6em;
    padding-right:1.6em;
    font-size:1.1rem;
    font-weight:400;
    text-align:center;
    text-align-last:center;
    box-shadow:0 3px 10px rgba(6,28,96,.15);
  }
  #site-nav-select-2.dhsp-dropdown__select{
    background:#ffffff;
    box-shadow:0 1px 3px rgba(6,28,96,.15);
    font-size:clamp(.85rem,2.6vw,1rem);
    font-weight:400;
  }
  html[data-fs="large"] #site-nav-select.dhsp-dropdown__select{
    font-size:1.3rem;
    min-height:var(--dd-height-sm-lg) !important;
    padding-top:.35em !important;
    padding-bottom:.35em !important;
    padding-left:1.0em;
    padding-right:1.8em;
  }
  html[data-fs="largest"] #site-nav-select.dhsp-dropdown__select{
    font-size:1.5rem;
    min-height:var(--dd-height-sm-xl) !important;
    padding-top:.35em !important;
    padding-bottom:.35em !important;
    padding-left:0.5em;
    padding-right:2em;
    line-height:0.9em;
  }
  html[data-fs="large"] #site-nav-select-2.dhsp-dropdown__select{
    font-size:1.1rem;
    min-height:var(--dd-height-sm-lg) !important;
  }
  html[data-fs="largest"] #site-nav-select-2.dhsp-dropdown__select{
    font-size:1.2rem;
    min-height:var(--dd-height-sm-xl) !important;
  }
}

@media (max-width:600px){
  #site-nav-select.dhsp-dropdown__select,
  #site-nav-select-2.dhsp-dropdown__select{
    appearance:none;
    -webkit-appearance:none;
    padding:.42em 2.6em .42em .75em;
    outline:0;
  }
  #site-nav-select-2.dhsp-dropdown__select{
    background:#e3eafc;
    box-shadow:0 1px 3px rgba(6,28,96,.15);
  }
}

.dhsp-toolbar__primary .dhsp-dropdown__select,
html[data-fs] .dhsp-toolbar__primary .dhsp-dropdown__select,
html[data-fs="largest"] .dhsp-dropdown__select{
  white-space:normal !important;
  overflow:visible;
  text-overflow:clip;
}

/* ===================== 6a) PowerBI ===================== */
.powerbi-section {
  max-width: 100%;
  width: 100%;
  margin: 16px auto;
}

.pbi-shell{
  border-radius:var(--radius-md);
  padding:3px 3px 0 3px;
  text-align:left;
  background:#fff;
  border:var(--border);
  box-shadow:var(--card-shadow);
  border:1px solid #dce5f0;
}

.pbi-responsive{
  position:relative;
  width:100%;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 24px rgba(6,28,96,0.08);
  height:600px;
}

/* Full-width Power BI dashboard height */
.pbi-responsive--tall{
  height:675px;
}
.pbi-responsive--fullpage{
  height:1200px;
}

/* Tablet / narrow desktop: reduce blank space */
@media (max-width:900px){
  .pbi-responsive--tall{
    height:clamp(360px, 70vw, 560px);
  }
   .pbi-responsive--fullpage{
    height:clamp(1000px, 95vw, 1100px);
  }
}

/* Mobile */
@media (max-width:640px){
  .powerbi-section{
    padding:0 var(--gutter-mobile);
    margin:10px auto 10px;
  }

  .powerbi-section.powerbi-section--wide{
    padding:0;
    margin:10px 0;
  }

  .pbi-responsive--tall{
    height:clamp(320px, 78vw, 460px);
    min-height:0;
  }
    .pbi-responsive--fullpage{
    height:clamp(1000px, 110vw, 1100px);
  }
}

.pbi-responsive iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.pbi-caption{
  margin:8px 0 0;
  color:#666;
  font-size:.9rem;
  font-style:italic;
}
/* ===================== 6b) PDF & Media ===================== */
.responsive-pdf-wrap{
  position:relative;
  aspect-ratio:3 / 4.1;
  overflow:hidden;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(6,28,96,0.08);
  border:1px solid #dce5f0;
  background:#fff;
}
.responsive-pdf-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.gc-media{
  width:100%;
  display:flex;
  justify-content:center;
  margin:0;
}
.gc-media img{
  width:100%;
  max-width:750px;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(6,28,96,0.08);
  border:1px solid #dce5f0;
  background:#fff;
}
.gc-media .responsive-pdf-wrap{
  width:100%;
  max-width:1050px;
  max-height:100%;
}
@media (min-width:901px){
  .gc-media img{ max-width:1300px; }
  .gc-media .responsive-pdf-wrap{ max-width:1000px; }
}
@media (max-width:640px){
  .gc-media .responsive-pdf-wrap,
  .gc-media img{ max-width:100%; }
  .responsive-pdf-wrap{
    aspect-ratio:auto;
    max-height:none;
  }
  .responsive-pdf-wrap iframe{
    position:static;
    height:80vh;
    min-height:520px;
  }
}

/* ===================== 7) Title & Containers ===================== */
.container{
  margin:14px auto 0;
  max-width:var(--page-max);
  padding:0 var(--gutter-desktop);
}
.container-edge{
  max-width:var(--page-max);
  margin:14px auto 0;
  padding:0 var(--gutter-desktop);
}
@media (max-width:900px){
  .container-edge{
    padding:0 var(--gutter-mobile);
    margin:10px auto;
  }
}
@media (max-width:640px){
  .container{
    padding:0 var(--gutter-mobile);
    margin:10px auto;
  }
}

/* ===================== 7a) Side Column ===================== */
.dhsp-page-layout{
  display:grid;
  grid-template-columns:1fr var(--side-ui-width);
  gap:10px;
  align-items:start;
}
@media (min-width:901px){
  .dhsp-side-column{
    position:sticky;
    top:var(--sticky-sidebar-offset);
    max-height:calc(100vh - var(--sticky-sidebar-offset) - 12px) !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;

    /* Firefox */
    scrollbar-width:none;

    /* IE / old Edge */
    -ms-overflow-style:none;
  }

  /* Chrome, Edge, Safari */
  .dhsp-side-column::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
  }
}
.dhsp-main-content{
  min-width:0;
  position:relative;
  z-index:1;
  grid-column:1;
  padding:0;
}
@media (min-width:901px){
  .dhsp-page-layout{
    align-items:flex-start;
  }

  /* Default behavior for long pages */
  .dhsp-side-column{
    position:sticky;
    top:var(--sticky-sidebar-offset);
    max-height:calc(100vh - var(--sticky-sidebar-offset) - 12px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;

    /* Hide scrollbar */
    scrollbar-width:none;
    -ms-overflow-style:none;
  }

  .dhsp-side-column::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
  }

  /* Short/adaptive page behavior */
  .dhsp-page-layout.sidebar-needs-room{
    min-height:var(--dhsp-sidebar-height);
  }

  .dhsp-page-layout.sidebar-needs-room .dhsp-side-column{
    max-height:none !important;
    overflow:visible !important;
  }
}
.dhsp-side-column > .h3:first-child{ margin-top:0; }
.dhsp-side-column .dhsp-collapsible:first-of-type{ margin-top:0; }

@media (max-width:900px){
  .dhsp-page-layout{ grid-template-columns:1fr; }
  .dhsp-main-content{ grid-column:auto; }
  .dhsp-side-column{
    position:static !important;
    top:auto !important;
    max-height:none !important;
    overflow-y:visible !important;
    border:none;
    border-top:1px solid #e0e6ed;
    padding-left:0;
    padding-top:10px;
    margin-top:12px;
  }
}

/* ===================== Sticky Title Row ===================== */
.dhsp-title-sticky{
  position:sticky;
  top:2px;
  z-index:20;
  background:#ffffff;
  padding:0;
  margin:0 0 14px 0;
  border-radius:12px;
  outline:none;
  box-shadow:none;
}
.dhsp-sticky-page-title{
  margin:0;
  padding:14px 18px;
  position:relative;
  text-align:center;
  background:linear-gradient(180deg,#eef3fb 0%,#dfe8f7 100%);
  color:#061C60;
  border:1px solid #c6d5ea;
  box-shadow:0 8px 22px rgba(6,28,96,0.08);
  border-radius:16px;
  outline:none;
  font-size:clamp(1.6rem, 3vw + .6rem, 2.4rem);
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.05;
  text-wrap:balance;
}
@media (max-width:900px){
  .dhsp-sticky-page-title{
    font-size:clamp(1.25rem,4.5vw,1.7rem);
    padding:12px 14px;
  }
}

/* ===================== 8) Collapsibles & Cards ===================== */
.dhsp-collapsible{
  max-width:var(--page-max);
  margin:0 auto 12px;
  padding-top:12px;
  padding-bottom:12px;
}
.dhsp-collapsible summary{
  position:relative;
  z-index:2;
  list-style:none;
  cursor:pointer;
  margin:0;
  padding:0;
  display:block;
  max-width:var(--page-max);
}
.dhsp-collapsible .summary-row{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  gap:1px;
  border-radius:var(--radius-lg);
  padding:8px 10px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbe4f0;
  outline:none;
  box-shadow:0 4px 14px rgba(15,23,42,0.05);
}
.dhsp-collapsible .summary-row{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  gap:1px;
  border-radius:var(--radius-lg);
  padding:14px 10px;
  background:#f2f2f2;
  border:1px solid #dbe4f0;
  outline:none;
  box-shadow:0 4px 14px rgba(15,23,42,0.05);
}

.dhsp-collapsible .summary-row h2,
.dhsp-collapsible .summary-row .h3{
  margin:0;
  line-height:1.25;
}

.dhsp-collapsible summary .dhsp-summary-dots{
  position:static;
  margin-left:auto;
  width:3em;
  min-width:3em;
  height:auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  align-self:center;
  gap:.3em;
  background:transparent !important;
  border:0;
  outline:none;
  cursor:pointer;
  pointer-events:none;
  transform:none !important;
}

.dhsp-collapsible[open] summary .dhsp-summary-dots{
  flex-direction:row;
  transform:none !important;
}

.dhsp-collapsible summary .dhsp-summary-dots span{
  width:.28em;
  height:.28em;
  border-radius:12px;
  background:#061C60;
  transform:none !important;
}.card{
  max-width:var(--page-max);
  background:#fff;
  border-radius:var(--radius-lg);
  padding:14px 16px;
  box-shadow:var(--card-shadow);
  text-align:left;
  border:1px solid #dbe4ef;
  position:relative;
  z-index:1;
}
.card--elevated{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid #d8e2ef;
  border-radius:18px;
  padding:18px 20px 22px;
  box-shadow:var(--card-shadow-lg);
  max-width:var(--page-max);
  margin:8px auto;
}

.about-group .dhsp-collapsible{
  padding-top:6px;
  padding-bottom:6px;
}
#dhsp-reports .about-group{ box-shadow:none; }
#dhsp-reports .about-group .collapsible-body .dhsp-category-selection{
  width:100%;
  margin-left:15px;
  margin-right:auto;
}
#dhsp-reports .about-group .collapsible-body .dhsp-category-selection .dhsp-dropdown{
  width:100%;
  max-width:300px;
  margin-left:0;
  margin-right:auto;
}
#dhsp-reports .about-group .dhsp-collapsible > summary{
  display:block;
  width:100%;
}
#dhsp-reports .about-group .dhsp-collapsible > summary > .summary-row{
  max-width:125px;
  margin:5px auto 5px 0;
}
#dhsp-reports #services-year2 > .card,
#dhsp-reports #services-year1 > .card{
  background:transparent;
  box-shadow:none;
  margin-top:0;
  padding-left:0;
  padding-right:0;
}
#dhsp-reports .materials-panels{
  width:100%;
  margin-left:15px;
}
#dhsp-reports .materials-panels .materials-panel{
  width:100%;
  max-width:none;
  background:transparent;
  box-shadow:none;
}
#dhsp-reports .about-group .dhsp-collapsible > .collapsible-body{
  max-width:var(--page-max);
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:640px){
  #dhsp-reports .about-group .dhsp-collapsible .summary-row,
  #dhsp-reports .about-group .dhsp-collapsible > summary{ max-width:100%; }
}
.dhsp-collapsible .summary-row h2,
.dhsp-collapsible .summary-row .h3{
  margin:0;
  line-height:1.25;
}
/* ===================== 9) Reports page: single main card ===================== */
#dhsp-reports .dhsp-reports-card{ display:block; }
#dhsp-reports .dhsp-reports-results{
  padding:0 8px;
  margin-left:0;
  margin-right:0;
}
#CatText .h3,
#CatText h3{ margin:.5rem 0 0; }

/* ===================== 10) Category: Selection ===================== */
.dhsp-category-selection{
  width:100%;
  display:block;
  margin-top:12px;
  margin-bottom:4px;
}
.dhsp-category-selection > label{
  display:block;
  margin-bottom:6px;
}
.dhsp-category-selection .dhsp-dropdown,
.dhsp-category-selection .dhsp-dropdown__select{ width:100%; }
#dhsp-reports .dhsp-category-selection .dhsp-dropdown__select{ background-color:#f2f2f2; }

/* ===================== 10a) Generic selector-level system ===================== */
.selector-level__results {
  width: 100%;
  transition: opacity 0.25s ease, transform 0.18s ease;
}

.selector-level__panel {
  transition: opacity 0.25s ease, transform 0.18s ease;
  padding: 10px 0 4px 15px;
}
.selector-level__results[hidden],
.selector-level__panel[hidden] {
  display: none;
  opacity: 0;
  transform: translateY(-4px);
}

.selector-level__results:not([hidden]),
.selector-level__panel:not([hidden]) {
  opacity: 1;
  transform: translateY(0);
}

.selector-level__one,
.selector-level__two,
.selector-level__three {
  width: 100%;
  cursor: pointer;
}
/* ===================== 11) Report: Mail & Fax card ===================== */
.report-contact-table{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  max-width:500px;
  width:100%;
  border:1px solid #d6e0ea;
  border-radius:var(--radius-lg);
  padding:.6em .5em;
  box-shadow:0 6px 18px rgba(6,28,96,0.06);
  background:#fff;
  box-sizing:border-box;
}
.report-column{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  text-align:left;
}
.report-column.left{
  flex:1 1 80%;
  align-items:flex-start;
  text-align:left;
  word-break:keep-all;
  white-space:normal;
  min-width:320px;
}
.report-column.right{
  flex:0 0 20%;
  align-items:flex-start;
  text-align:left;
  min-width:150px;
}
.report-column > :is(strong,a){
  display:block;
  color:var(--accent-blue);
  font-size:1rem;
  font-weight:700;
  text-decoration:underline;
  margin:0 0 .25em 0;
}
.report-column.left > :is(strong,a){
  width:100%;
  text-align:center;
}
.report-column.right > :is(strong,a){
  width:100%;
  text-align:left;
  margin-bottom:.25em;
}
.report-column span{
  display:block;
  line-height:1.4;
  color:#000;
  margin-left:0;
  white-space:nowrap;
}
@media (min-width:760px){
  .report-contact-table{ flex-wrap:nowrap; }
}
@media (max-width:640px){
  .report-contact-table{
    flex-direction:column;
    gap:.75rem;
    max-width:100%;
    padding:1em;
  }
  .report-column{
    flex:1 1 100%;
    min-width:100%;
    align-items:flex-start !important;
    text-align:left !important;
  }
  .report-column span{ white-space:normal; }
}
address{ font-style:normal; }

/* ===================== 12) Reporting Assistance table ===================== */
.contact-table{
  width:100%;
  max-width:400px;
  border:1px solid #d6e0ea;
  border-radius:var(--radius-lg);
  border-collapse:separate;
  border-spacing:0;
  margin-top:5rem;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(6,28,96,0.06);
}
.contact-table caption{
  text-align:left;
  font-weight:600;
  padding:.45rem .5rem;
  background:#f8fafc;
  border-bottom:1px solid #ccc;
  margin:0;
}
.contact-table td{
  padding:.4rem .5rem;
  vertical-align:middle;
  border:0;
}
.contact-table td + td{
  border-left:1px solid #ccc;
  white-space:nowrap;
}
.contact-table a{
  text-decoration:none;
  border-bottom:1px dotted currentColor;
}
.contact-table a:hover{ text-decoration:underline; }

/* ===================== 13) Training Grid ===================== */
.reg-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  align-items:start;
  max-width:700px;
  margin:16px auto 0;
  justify-items:center;
}
.reg-card{
  width:100%;
  max-width:320px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.reg-title{ margin:0.50em; width:100%; text-align:center; }
.reg-title a{ display:inline-block; text-align:center; }
.reg-title a:focus-visible,
.reg-title a:hover{ text-decoration:underline; }
.reg-qr{
  display:block;
  width:100%;
  text-align:center;
}
.reg-qr img{
  display:block;
  margin:0 auto;
  max-width:220px;
  width:auto;
  height:auto;
  background:#F5F5F5;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(6,28,96,0.08);
  border:1px solid #dce5f0;
}
.reg-grid > h3{
  grid-column:1 / -1;
  text-align:center;
}
.steps{ margin:8px 0 0; padding-left:1.2rem; }
.steps li{ margin:6px 0; }

/* ===================== 13a) Calendar Embed ===================== */
.calendar-actions{
  margin:0 0 10px;
  display:flex;
  justify-content:flex-end;
  background:rgba(229,239,255,0.5);
}
.calendar-open{
  display:inline-block;
  padding:.55rem .8rem;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  background:#F5F5F5;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.calendar-shell{
  margin-top:12px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(6,28,96,0.08);
  border:1px solid #dce5f0;
  overflow:hidden;
}
@supports (overflow:clip){
  .calendar-shell{ overflow:clip; }
}
.calendar-shell iframe{
  width:100%;
  height:clamp(420px, 75vh, 900px);
  min-height:420px;
  border:0;
  display:block;
  border-radius:0;
}
@media (max-width:900px){
  .calendar-shell iframe{
    height:80vh;
    min-height:520px;
  }
}

/* ===================== 14) Subtitle link bullets ===================== */
.subtitle-bullet{
  margin-top:6px;
  margin-left:3px;
}
.subtitle-linkbullet,
.chevron-bullet{
  position:relative;
  display:block;
  width:100%;
  margin-bottom:.55em;
  line-height:1.4;
  padding-left:calc(14px + .5em);
}
.subtitle-linkbullet{ pointer-events:none; }
.subtitle-linkbullet::before,
.chevron-bullet::before{
  content:"";
  position:absolute;
  left:0;
  top:.30em;
  width:14px;
  height:14px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
.subtitle-linkbullet::before{ background-image:url("open-link-blue.svg"); }
.subtitle-linkbullet--video::before{
  background-image:url("video-arrow.svg");
  transform:scale(1.2);
}
.chevron-bullet::before{ background-image:url("chevron-right.svg"); }
.subtitle-linkbullet a,
.chevron-bullet a{
  display:inline;
  white-space:normal;
  overflow-wrap:break-word;
  color:#123b84;
  font-weight:500;
}
.subtitle-linkbullet a{ pointer-events:auto; }
.subtitle-linkbullet a:hover,
.chevron-bullet a:hover{ text-decoration:underline; }
.subtitle-linkbullet:hover::before,
.chevron-bullet:hover::before{
  transition:transform .2s ease;
  transform:translateX(3px);
}
.subtitle-linkbullet--video:hover::before{ transform:scale(1.2) translateX(3px); }
.subtitle-linkbullet a:focus{ outline:none; }
.subtitle-linkbullet a:focus-visible{
  outline:4px solid var(--accent-lightblue);
  outline-offset:3px;
  border-radius:var(--radius-sm);
  box-shadow:0 0 0 3px rgba(255,255,255,.9);
  text-decoration:underline;
}
.subtitle-linkbullet a:focus:not(:focus-visible){
  outline:none;
  box-shadow:none;
}
.subtitle-linkbullet--noicon{
  padding-left:0;
}
.subtitle-linkbullet--noicon::before{ display:none; }
.note,
.subtitle-linkbullet .note,
.subtitle-linkbullet .link-note{
  display:inline;
  font-size:.85em;
  font-style:italic;
  color:#666666;
  white-space:normal;
  overflow-wrap:anywhere;
}
.subtitle-linkbullet .note::before,
.subtitle-linkbullet .link-note::before{ content:" "; }
@media (max-width:640px){
  .chevron-bullet,
  .subtitle-linkbullet{
    margin-bottom:.25em;
    font-size:.95em;
  }
}
.language-jump-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}

.language-jump-link::after{
  content:"";
  display:inline-block;
  width:14px;
  height:14px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  transform:translateY(1px);
}

.language-jump-link--down::after{
  background-image:url("angles-down.svg");
}

.language-jump-link--up::after{
  background-image:url("angles-up.svg");
}
.language-jump-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 12px;
  border:1px solid #cbd7e5;
  border-radius:15px;
  background:linear-gradient(180deg,#ffffff 0%,#f4f7fb 100%);
  color:var(--nav-blue);
  font-weight:700;
  text-decoration:none;
  box-shadow:0 2px 8px rgba(6,28,96,0.08);
  transition:background .18s ease, box-shadow .18s ease, transform .08s ease;
}

.language-jump-button:hover{
  background:linear-gradient(180deg,#f8fbff 0%,#e8eef8 100%);
  color:var(--nav-blue);
  text-decoration:none;
  box-shadow:0 4px 12px rgba(6,28,96,0.12);
}

.language-jump-button:active{
  transform:scale(.98);
}

.language-jump-button:focus-visible{
  outline:3px solid rgba(11,77,179,0.45);
  outline-offset:2px;
}
/* ===================== 15) Footer ===================== */
#footer{
  width:100%;
  margin-top:20px;
  border-radius:8px;
  font-size:.75rem;
  background:transparent;
  line-height:1.4;
  padding:0;
  position:relative;
  z-index:10;
}
#footer > .container{
  width:100%;
  max-width:var(--page-max);
  background:#fff;
  border:1px solid #dbe4ef;
  border-radius:18px;
  box-shadow:0 8px 24px rgba(6,28,96,0.06);
  padding:18px var(--gutter-desktop) 2em;
}
#footer .links-wrap{
  position:relative;
  z-index:20;
}
#footer .links-list{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  margin:2px 0 0;
  padding:0;
  column-gap:12px;
  row-gap:4px;
}
#footer .links-list > li{
  position:relative;
  display:flex;
  align-items:center;
}
#footer .links-list > li > button,
#footer .links-list > li > a{
  font-size:var(--small-text);
  padding:8px 12px;
  border-radius:999px;
  white-space:normal;
  text-align:center;
  background:#fff;
  border:none;
  cursor:pointer;
  color:var(--text);
  transition:background .15s, color .15s;
  -webkit-tap-highlight-color:transparent;
}
#footer .links-list > li > button:hover,
#footer .links-list > li > a:hover{
  background:#f4f7fb;
  color:var(--nav-blue);
}
#footer .links-list > li > button:focus-visible,
#footer .links-list > li > a:focus-visible{
  outline:2px solid var(--nav-blue);
  outline-offset:1px;
  border-radius:var(--radius-sm);
}
#footer .menu{ position:relative; }
#footer .menu [role="menu"]{
  position:absolute;
  top:calc(100% + 4px);
  margin-top:-6px;
  left:50%;
  transform:translateX(-50%);
  list-style:none;
  padding:6px 4px 6px;
  inline-size:max-content;
  min-inline-size:6rem;
  max-width:90vw;
  overflow-wrap:anywhere;
  background:#fff;
  border:1px solid #ccc;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow);
  display:none;
  z-index:10;
}
#footer .menu.open [role="menu"]{ display:block; }
#footer .menu [role="menu"]::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-8px;
  height:8px;
}
.social-media-icons{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  padding:.5em 0;
}
.social-media-icons a{
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.social-media-icons img{
  width:30px;
  height:30px;
  display:block;
}
#footer .menu [role="menuitem"]{
  display:flex;
  align-items:center;
  min-height:32px;
  line-height:1.3;
  padding:4px 5px;
  font-size:.75rem;
  text-decoration:underline;
  color:var(--text);
  border-radius:var(--radius-sm);
  white-space:nowrap;
}
#footer .menu [role="menuitem"]:focus-visible,
#footer .menu [role="menuitem"]:hover{
  background:#f7faff;
  color:var(--nav-blue);
}
#footer .menu [role="menuitem"]:focus{ outline:none; }
#footer .menu [role="none"]{ border-bottom:1px solid #eee; }
#footer .menu [role="none"]:last-child{ border-bottom:none; }
#footer .bottom-row{
  position:relative;
  z-index:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:0;
  padding-top:1.25rem;
}
#footer .bottom-row .disclaimer{
  flex:1;
  font-size:.75rem;
  line-height:1.4;
}
#footer .bottom-row .seal img{
  max-width:400px;
  height:auto;
}

@media (min-width:901px){
  #footer .menu [role="menu"]{
    left:0;
    right:auto;
    transform:none;
  }
  #footer .menu-home [role="menu"]{
    left:0;
    right:auto;
  }
  #footer .menu-privacy [role="menu"]{
    left:0;
    right:auto;
    width:100%;
    width:-webkit-fill-available;
    max-width:90vw;
  }
  #footer .menu-employee [role="menu"]{
    left:auto !important;
    right:0;
    transform:none;
  }
  #footer .links-list > li + li::before{ content:none !important; }
}

html[data-fs] #footer .links-list{
  flex-wrap:wrap !important;
  justify-content:center;
}
html[data-fs] #footer .links-list > li > button,
html[data-fs] #footer .links-list > li > a{ white-space:normal !important; }
html[data-fs] #footer .links-list > li + li::before{ content:none !important; }

@media (max-width:900px){
  #footer .bottom-row{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:.5em;
  }
  #footer .bottom-row .seal{ margin-top:.5em; }
  .dhsp-header.container,
  .container.dhsp-header,
  #footer > .container,
  .card--elevated{ border-radius:var(--radius-lg); }
  .globalNavGrey a{ font-size:1.7rem; }
}

@media (max-width:680px){
  #footer .links-list > li > a,
  #footer .links-list > li > button{ padding:12px; }
  #footer .menu [role="menu"]{
    inline-size:auto;
    max-width:92vw;
  }
  #footer .menu [role="menuitem"]{ white-space:normal; }
  #footer .menu-employee [role="menu"],
  #footer .menu-privacy [role="menu"],
  #footer .menu-home [role="menu"]{
    left:0 !important;
    right:0;
    transform:none;
    width:90% !important;
  }
}

@media (max-width:640px){
  #footer{ padding-left:0; padding-right:0; }
  #footer > .container{
    padding-left:var(--gutter-mobile);
    padding-right:var(--gutter-mobile);
  }
}

/* ===================== 16) Google Translate ===================== */
.goog-tooltip:hover,
.goog-tooltip{ display:none !important; }
.goog-text-highlight{
  background-color:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
#google_translate_wrapper{
  position:relative;
  display:inline-flex;
  align-items:center;
}
#google_translate_wrapper h3{
  color:#4881c2;
  font-size:1.2em;
  margin-bottom:10px;
}
#google_translate_wrapper #google_translate_element{ text-align:left; }
#google_translate_wrapper #google_translate_element select{
  width:100%;
  padding:5px;
}
.opentranslate{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:50;
  background:#fff;
  padding:10px;
  font-weight:600;
  border:1px solid #dbe3ef;
  border-radius:10px;
  width:220px;
  min-height:48px;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.opentranslate.is-open{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.opentranslate::before{
  content:"";
  position:absolute;
  top:-6px;
  right:16px;
  width:10px;
  height:10px;
  background:#fff;
  border-left:1px solid #dbe3ef;
  border-top:1px solid #dbe3ef;
  transform:rotate(45deg);
}
#google_translate_element,
#google_translate_element .skiptranslate,
#google_translate_element select{ max-width:100%; }
#google_translate_element select{ box-sizing:border-box; }
/* ===================== 16a) Header tool buttons ===================== */
/*
  Use these separate classes in the HTML when possible:
  - DPH search button: class="dhsp-tool-btn dph-search-btn"
  - Translate button:  class="dhsp-tool-btn dhsp-translate-btn"
  - DHSP nav search wrapper: class="dhsp-nav-search"

  .translateBtn is kept below for backward compatibility with existing pages.
*/
.dhsp-tool-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border-radius:8px;
  font-weight:600;
  font-size:0.9rem;
  color:#061C60;
  background:#f8fafc;
  border:1px solid #dbe3ef;
  text-decoration:none;
  vertical-align:middle;
  transition:all .2s ease;
}

.dhsp-tool-btn:hover{
  background:#e2e8f0;
  border-color:#cbd5e1;
  transform:translateY(-1px);
}

.dhsp-tool-btn img{
  width:18px;
  height:18px;
  display:inline-block;
  vertical-align:middle;
}

.dhsp-tool-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(6,28,96,.25);
}

/* DPH header search button: edit this without affecting Translate or DHSP nav search. */
.dph-search-btn,
#dhsp-search-show{
  width:34px;
  min-width:34px;
  padding:4px;
}

/* Header Translate button: edit this without affecting either search. */
.dhsp-translate-btn,
#google_translate_element-show{
  gap:6px;
  padding:4px 8px;
  width:110px;
}

/* DHSP blue-nav search wrapper: edit this without affecting DPH search or Translate. */
.dhsp-nav-search,
#blue-search-col{
  box-sizing:border-box;
}

.hidden{ display:none !important; }

/* ===================== 17) Generic Materials system ===================== */
.materials-panel{ transition:opacity 0.25s ease, transform 0.18s ease; }
.materials-panel[hidden]{
  display:none;
  opacity:0;
  transform:translateY(-4px);
}
.materials-panel:not([hidden]){
  display:block;
  opacity:1;
  transform:translateY(0);
}
.dhsp-dropdown__select.materials-dropdown,
.materials-dropdown{
  width:100%;
  cursor:pointer;
}

/* ===================== Sidebar accordion cards ===================== */
.dhsp-side-accordion{
  display:flex;
  flex-direction:column;
  gap:12px;
  border-left:none;
  padding-left:0;
}
.dhsp-side-accordion .dhsp-side-card{
  margin:0;
  padding:0;
  max-width:none;
}
.dhsp-side-accordion .summary-row{
  min-height:50px;
  padding:8px 14px;
  background:linear-gradient(180deg,#f7faff 0%,#edf3fb 100%);
  border:1px solid #d6e1ee;
  box-shadow:none;
}
.dhsp-side-card__title{
  color:var(--nav-blue);
  font-size:1rem;
  font-weight:500;
  line-height:1.0;
}
.dhsp-side-accordion .summary-indicator{ display:none; }
.dhsp-side-accordion .card{
  margin-top:4px;
  border:1px solid #e3ebf4;
  padding:12px 14px 14px;
}
.dhsp-side-links{
  list-style:none;
  margin:0;
  padding:0;
  font-size:0.92rem;
}
.dhsp-side-links li{
  margin:0;
  padding:0;
}
.dhsp-side-links li + li{ margin-top:8px; }
.dhsp-side-links .subtitle-linkbullet,
.dhsp-side-links .chevron-bullet{
  position:relative;
  display:block;
  width:100%;
  padding-left:22px;
  line-height:1.45;
  margin-bottom:6px;
}
.dhsp-side-links .subtitle-linkbullet a,
.dhsp-side-links .chevron-bullet a{
  display:inline;
  margin-left:0;
}
.dhsp-side-links .subtitle-linkbullet::before,
.dhsp-side-links .chevron-bullet::before{ top:.25em; }
.dhsp-side-links a{ text-decoration:none; }
.dhsp-side-links a:focus-visible,
.dhsp-side-links a:hover{ text-decoration:underline; }

.dhsp-side-accordion .dhsp-side-card summary{
  outline:none;
  position:relative;
  z-index:9;
}
.dhsp-side-accordion .dhsp-side-card .dhsp-side-card__ellipsis{
  position:static;
  top:auto;
  bottom:auto;
  right:auto;
  margin-left:auto;
  width:2.4em;
  min-width:2.4em;
  flex-direction:column;
  gap:.22em;
  background:transparent !important;
  pointer-events:none;
}
.dhsp-side-accordion .dhsp-side-card .dhsp-side-card__ellipsis span{
  width:.28em;
  height:.28em;
  border-radius:12px;
  background:#061C60;
}
.dhsp-side-accordion .dhsp-side-card summary:hover .dhsp-side-card__ellipsis,
.dhsp-side-accordion .dhsp-side-card summary:focus-visible .dhsp-side-card__ellipsis,
.dhsp-side-accordion .dhsp-side-card[open] .dhsp-side-card__ellipsis{ flex-direction:row; }
.dhsp-side-accordion .dhsp-side-card summary:focus-visible .summary-row{
  outline:3px solid var(--focus-ring);
  outline-offset:2px;
  border-radius:var(--radius-md);
}
.dhsp-side-links .chevron-bullet::before{
  content:"";
  position:absolute;
  left:0;
  top:.25em;
  width:14px;
  height:14px;
  background:url("chevron-right.svg") no-repeat center;
  background-size:contain;
}

@media (max-width:900px){
  .dhsp-side-accordion{
    border-left:none;
    padding-left:0;
  }
  .card--elevated{ padding:14px 14px 16px; }
}
/* ===================== Sidebar soft open / close animation ===================== */
.dhsp-side-card > .collapsible-body{
  overflow:hidden;
  opacity:1;
  transform:translateY(0);
  max-height:3000px;
  transition:
    opacity .28s ease,
    transform .28s ease,
    max-height .36s ease;
}

.dhsp-side-card.is-soft-closing > .collapsible-body,
.dhsp-side-card.is-soft-opening > .collapsible-body{
  opacity:0;
  transform:translateY(-4px);
  max-height:0;
}
/* ===================== Sidebar contact / warmline cards ===================== */
.sidebar-contact-list{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:0px;
}

.sidebar-contact-card{
  padding:12px;
  border:1px solid #dbe4ef;
  border-radius:var(--radius-md);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 2px 8px rgba(6,28,96,0.05);
}

.sidebar-contact-title{
  margin:0 0 8px;
  color:var(--nav-blue);
  font-size:.98rem;
  font-weight:750;
  line-height:1.25;
  text-align:center;
}

.business-hours-list--compact{
  margin:6px 0 8px;
  border:1px solid #e3ebf4;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  text-align:center;
}

.business-hours-list--compact .business-hours-row{
  display:grid;
  grid-template-columns:1fr;
  gap:2px;
  padding:8px 10px;
  border-top:1px solid #e8eef6;
}

.business-hours-list--compact .business-hours-row:first-child{
  border-top:0;
}

.business-hours-list--compact .business-hours-days{
  display:block;
  color:#334155;
  font-size:.82rem;
  font-weight:700;
  line-height:1.25;
}

.business-hours-list--compact .business-hours-time{
  display:block;
  color:#111827;
  font-size:.9rem;
  font-weight:650;
  line-height:1.25;
}

.sidebar-phone-list{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:8px;
}

.sidebar-phone-list a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:7px 9px;
  border:1px solid #cbd7e5;
  border-radius:10px;
  background:#fff;
  color:var(--link-blue);
  font-size:.92rem;
  font-weight:700;
  line-height:1.25;
  text-decoration:none;
}

.sidebar-phone-list a:hover,
.sidebar-phone-list a:focus-visible{
  text-decoration:underline;
  background:#f4f7fb;
}

.sidebar-phone-separator{
  align-self:center;
  color:#64748b;
  font-size:.78rem;
  font-weight:700;
  line-height:1;
  text-transform:uppercase;
}

.sidebar-contact-note{
  margin:8px 0 0;
  padding:8px 10px;
  border-left:3px solid #cbd7e5;
  border-radius:8px;
  background:#f8fafc;
  color:#475569;
  font-size:.82rem;
  line-height:1.4;
}
.support-poster{
  margin:10px 0 0;
  text-align:center;
}

.support-poster a{
  display:inline-block;
}

.support-poster img{
  display:block;
  margin:0 auto;
}
/* ===================== 18) Generic info cards, tables & business hours ===================== */
.info-card{
  margin:10px 0;
  padding:0;
  overflow:hidden;
}

.info-card h3{
  margin:0;
  padding:12px 16px;
  background:linear-gradient(180deg,#f7faff 0%,#edf3fb 100%);
  border-bottom:1px solid #d6e1ee;
  color:var(--nav-blue);
}

.info-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}

.info-table th,
.info-table td{
  width:50%;
  padding:12px 16px;
  vertical-align:top;
  border-top:1px solid #e3ebf4;
  line-height:1.5;
}

.info-table tr:first-child th,
.info-table tr:first-child td{
  border-top:0;
}

.info-table th{
  text-align:left;
  font-weight:400;
  color:#1c2736;
}

.info-table td{
  background:#f8fafc;
  border-left:1px solid #e3ebf4;
}
.more-info-table {
  max-width: 600px;
  margin-left: 0;
  margin-right: auto;
}

@media (max-width: 700px) {
  .more-info-table {
    max-width: 100%;
  }
}
.info-item-name{
  display:block;
  font-weight:700;
  color:var(--nav-blue);
  margin-bottom:2px;
}

.business-hours-label{
  display:block;
  font-weight:700;
  color:var(--nav-blue);
}

.business-hours-list{
  display:grid;
  gap:4px;
  margin:0;
}

.business-hours-row{
  display:grid;
  grid-template-columns:minmax(130px, .9fr) 1fr;
  gap:10px;
  align-items:start;
  padding:5px 0;
  border-bottom:1px solid rgba(214,225,238,.7);
}

.business-hours-row:last-child{
  border-bottom:0;
}

.business-hours-days{
  font-weight:600;
  color:#1c2736;
}

.business-hours-time{
  color:#1c2736;
}

.business-hours-row--closed .business-hours-days,
.business-hours-row--closed .business-hours-time{
  color:#64748b;
  font-style:italic;
  font-weight:500;
}

.section-jump-link{
  cursor:pointer;
}

@media (max-width:700px){
  .info-table,
  .info-table tbody,
  .info-table tr,
  .info-table th,
  .info-table td{
    display:block;
    width:100%;
  }

  .info-table th,
  .info-table td{
    border-left:0;
  }

  .info-table td{
    border-top:0;
    padding-top:0;
  }

  .business-hours-row{
    grid-template-columns:1fr;
    gap:2px;
  }
}

/* Location icons */
.location,
.location-address,
.location-number,
.location-hours{
  position:relative;
  display:block;
  padding-left:24px;
  line-height:1.5;
}

.location::before,
.location-address::before,
.location-number::before,
.location-hours::before{
  content:"";
  position:absolute;
  left:0;
  top:.25em;
  width:16px;
  height:16px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}

.location::before,
.location-address::before{
  background-image:url("address.svg");
}

.location-number::before{
  background-image:url("phone.svg");
}

.location-hours::before{
  background-image:url("clock.svg");
}
.location-number--inline{
  display:inline;
  padding-left:22px;
  white-space:nowrap;
}

.location-number--inline::before{
  top:.15em;
}
