/* Isolated Discount Court Documents logo sizing and breathing animation. */
/* Approved desktop crest sizing from the home page. Mobile logo sizing remains controlled by existing mobile page CSS. */
@media (min-width: 981px) {
  .site-crest {
    left: 50%;
    top: 151%;
    transform: translate(-50%, -50%);
    width: clamp(186.3px, 15.93vw, 251.1px);
  }

  body.is-scrolled .site-crest {
    top: 60%;
    width: clamp(77.4px, 6.21vw, 97.2px);
  }
}

@media (min-width: 981px) and (max-width: 1570px) {
  .site-crest {
    top: 151%;
    width: clamp(77.4px, 6.21vw, 97.2px);
  }
}

.site-crest img {
  animation: none !important;
  transform: scale(1);
  transform-origin: center top;
  will-change: transform;
}

.site-header__band.dcd-header-animation-running .site-crest img {
  animation: dcdLogoBreath 11.5s ease-in-out infinite !important;
}

@keyframes dcdLogoBreath {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
  100% {
    transform: scale(1);
  }
}

/* Header label and Services caret correction. Keeps existing menu sizing intact. */
.site-menu__link[href="legal-documents.html"],
.drawer-nav__link[href="legal-documents.html"] {
  font-size: 0 !important;
}

.site-menu__link[href="legal-documents.html"]::after,
.drawer-nav__link[href="legal-documents.html"]::after {
  content: "Docs";
  font-size: 0.927rem;
  line-height: 1;
}

.site-menu__trigger {
  overflow: visible !important;
}

.site-menu__caret {
  display: inline-block !important;
  flex: 0 0 9px !important;
  width: 9px !important;
  height: 9px !important;
  min-width: 9px !important;
  min-height: 9px !important;
  margin-left: 7.2px !important;
  overflow: visible !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) translateY(-1px) !important;
  transform-origin: 50% 50% !important;
}

.site-menu__trigger[aria-expanded="true"] .site-menu__caret {
  transform: rotate(-135deg) translateY(-1px) !important;
}

/* Mobile drawer Docs alignment and menu font color correction. */
.drawer-nav__link,
.drawer-nav__toggle,
.drawer-submenu__links a {
  color: #164089 !important;
  -webkit-text-fill-color: #164089 !important;
}

.drawer-nav__link[href="legal-documents.html"] {
  justify-content: flex-start !important;
  text-align: left !important;
}

.drawer-nav__link[href="legal-documents.html"]::after {
  font-size: 1.08rem !important;
}

/* Mobile menu hover effect. */
@media (max-width: 980px) {
  .mobile-nav-toggle {
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
  }

  .mobile-nav-toggle:hover,
  .mobile-nav-toggle:focus-visible {
    transform: translateY(-2px) !important;
    background: linear-gradient(145deg, rgba(22, 64, 137, 0.18), rgba(95, 169, 242, 0.12)) !important;
    border-color: rgba(214, 168, 93, 0.78) !important;
    box-shadow: 0 24px 46px rgba(22, 64, 137, 0.28), 0 10px 20px rgba(2, 11, 24, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.74) !important;
  }

  .drawer-nav__link,
  .drawer-nav__toggle,
  .drawer-submenu__links a {
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease !important;
  }

  .drawer-nav__link:hover,
  .drawer-nav__link:focus-visible,
  .drawer-nav__toggle:hover,
  .drawer-nav__toggle:focus-visible,
  .drawer-submenu__links a:hover,
  .drawer-submenu__links a:focus-visible {
    color: #164089 !important;
    -webkit-text-fill-color: #164089 !important;
    transform: translateX(4px) translateY(-2px) !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(234, 244, 255, 0.78)) !important;
    border-color: rgba(214, 168, 93, 0.74) !important;
    box-shadow: 0 26px 48px rgba(22, 64, 137, 0.24), 0 10px 20px rgba(2, 11, 24, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
  }

  .drawer-nav__link:active,
  .drawer-nav__toggle:active,
  .drawer-submenu__links a:active,
  .mobile-nav-toggle:active {
    transform: scale(0.98) !important;
  }
}

/* WhatsApp social icon visibility boost. */
a[aria-label="WhatsApp"] .site-icon {
  transform: scale(1.16) !important;
  filter: drop-shadow(0 1px 0 currentColor) drop-shadow(0 0 4px rgba(22, 64, 137, 0.35)) !important;
}

.topbar__social-link[aria-label="WhatsApp"] .site-icon {
  width: 1.42em !important;
  height: 1.42em !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

.social-links__link[aria-label="WhatsApp"] .site-icon {
  width: 27px !important;
  height: 27px !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

/* Instagram social icon visibility boost. */
a[aria-label="Instagram"] .site-icon {
  transform: scale(1.16) !important;
  filter: drop-shadow(0 1px 0 currentColor) drop-shadow(0 0 4px rgba(22, 64, 137, 0.35)) !important;
}

.topbar__social-link[aria-label="Instagram"] .site-icon {
  width: 1.42em !important;
  height: 1.42em !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

.social-links__link[aria-label="Instagram"] .site-icon {
  width: 27px !important;
  height: 27px !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

/* X social icon visibility boost. */
a[aria-label="X"] .site-icon {
  transform: scale(1.16) !important;
  filter: drop-shadow(0 1px 0 currentColor) drop-shadow(0 0 4px rgba(22, 64, 137, 0.35)) !important;
}

.topbar__social-link[aria-label="X"] .site-icon {
  width: 1.42em !important;
  height: 1.42em !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

.social-links__link[aria-label="X"] .site-icon {
  width: 27px !important;
  height: 27px !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

/* Facebook social icon visibility boost. */
a[aria-label="Facebook"] .site-icon {
  transform: scale(1.16) !important;
  filter: drop-shadow(0 1px 0 currentColor) drop-shadow(0 0 4px rgba(22, 64, 137, 0.35)) !important;
}

.topbar__social-link[aria-label="Facebook"] .site-icon {
  width: 1.42em !important;
  height: 1.42em !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

.social-links__link[aria-label="Facebook"] .site-icon {
  width: 27px !important;
  height: 27px !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

/* TikTok, YouTube, Pinterest, and Reddit social icon visibility boost. */
a[aria-label="TikTok"] .site-icon,
a[aria-label="YouTube"] .site-icon,
a[aria-label="Pinterest"] .site-icon,
a[aria-label="Reddit"] .site-icon {
  transform: scale(1.16) !important;
  filter: drop-shadow(0 1px 0 currentColor) drop-shadow(0 0 4px rgba(22, 64, 137, 0.35)) !important;
}

.topbar__social-link[aria-label="TikTok"] .site-icon,
.topbar__social-link[aria-label="YouTube"] .site-icon,
.topbar__social-link[aria-label="Pinterest"] .site-icon,
.topbar__social-link[aria-label="Reddit"] .site-icon {
  width: 1.42em !important;
  height: 1.42em !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

.social-links__link[aria-label="TikTok"] .site-icon,
.social-links__link[aria-label="YouTube"] .site-icon,
.social-links__link[aria-label="Pinterest"] .site-icon,
.social-links__link[aria-label="Reddit"] .site-icon {
  width: 27px !important;
  height: 27px !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

/* Alignable social icon visibility boost. */
a[aria-label="Alignable"] .alignable-icon {
  transform: scale(1.16) !important;
  filter: drop-shadow(0 1px 0 currentColor) drop-shadow(0 0 4px rgba(22, 64, 137, 0.35)) !important;
}

.topbar__social-link[aria-label="Alignable"] .alignable-icon {
  width: 1.42em !important;
  height: 1.42em !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

.social-links__link[aria-label="Alignable"] .alignable-icon {
  width: 27px !important;
  height: 27px !important;
  max-width: 82% !important;
  max-height: 82% !important;
}

/* Locations page map grid. */
.grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 860px) {
  .grid--2 {
    grid-template-columns: 1fr;
  }
}

/* === Topbar Social Link Round Shape Restore === */
.topbar__social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  flex: 0 0 auto !important;
}
/* === End Topbar Social Link Round Shape Restore === */
/* === Ultra-Narrow Body Flex Center Override (384px-100px) === */
@media (max-width: 384px) {
  html,
  body,
  .page-shell {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    min-width: 0;
  }

  .topbar,
  .site-header,
  .site-header__inner,
  .site-header__row,
  .site-header__mobile-brand,
  .topbar__inner {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
    box-sizing: border-box;
  }

  .page-hero__inner,
  .split,
  .service-layout,
  .contact-grid,
  .hero__content {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  main {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
    box-sizing: border-box;
  }

  main > section,
  main > .section {
    align-self: stretch;
  }

  main > section,
  main > .section {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  main .container,
  main .page-hero__inner {
    width: min(var(--max-width, 100%), calc(100% - clamp(8px, 4vw, 16px)));
    max-width: 100%;
    padding-left: clamp(6px, 3vw, 12px);
    padding-right: clamp(6px, 3vw, 12px);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  main .page-hero__inner > *,
  main .split > *,
  main .grid > *,
  main .grid--2 > *,
  main .grid--3 > *,
  main .grid--4 > *,
  main .feature-grid > *,
  main .service-grid > *,
  main .location-grid > *,
  main .town-grid > *,
  main .gallery-grid > *,
  main .related-services__grid > *,
  main .stat-grid > * {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  main .page-hero__inner,
  main .split,
  main .grid,
  main .grid--2,
  main .grid--3,
  main .grid--4,
  main .feature-grid,
  main .service-grid,
  main .location-grid,
  main .town-grid,
  main .gallery-grid,
  main .related-services__grid,
  main .stat-grid,
  main .media-frame,
  main .image-story,
  main .card,
  main .glass-card,
  main .faq-item,
  main .info-card,
  main .content-card,
  main .contact-card,
  main .hero-card,
  main .page-hero__content,
  main .page-hero__aside,
  main .hero__glass,
  main .glass-caption,
  main .button-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  main .page-hero__inner,
  main .split,
  main .grid,
  main .grid--2,
  main .grid--3,
  main .grid--4,
  main .feature-grid,
  main .service-grid,
  main .location-grid,
  main .town-grid,
  main .gallery-grid,
  main .related-services__grid,
  main .stat-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch;
    gap: clamp(12px, 4vw, 20px);
  }

  main .split__col,
  main .split__media,
  main .media-frame__visual,
  main .page-hero__media {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  main .page-hero {
    padding-top: clamp(72px, 24vw, 120px);
    min-height: 0;
  }

  main .page-hero h1 {
    max-width: 100% !important;
    font-size: clamp(0.95rem, 7vw, 1.75rem) !important;
    line-height: 1.2 !important;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
  }

  main .page-hero h2,
  main h2 {
    font-size: clamp(1rem, 6.8vw, 1.45rem);
    line-height: 1.2;
    word-break: normal;
    overflow-wrap: break-word;
  }

  main .hero__glass,
  main .page-hero__content,
  main .glass-caption {
    width: 100% !important;
    max-width: 100% !important;
    padding: clamp(8px, 3vw, 18px) !important;
  }

  main .button-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }

  main .button,
  main .button-row .button {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
  }

  main img,
  main video,
  main picture,
  main iframe {
    max-width: 100%;
    height: auto;
  }

  main p,
  main li,
  main summary,
  main .breadcrumbs {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
  }

  main h1,
  main h3,
  main h4,
  main h5,
  main h6 {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: normal;
  }

  main .subpage-banner,
  main .subpage-banner__media {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  main .hero--video,
  main .hero--video .hero__content,
  main .hero--video .hero__glass {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .site-header__row {
    padding-right: clamp(44px, 12vw, 56px) !important;
    min-width: 0;
  }

  .mobile-nav-toggle {
    right: clamp(8px, 3vw, 16px) !important;
    min-width: 40px !important;
    width: 40px !important;
  }

  .site-header__mobile-brand {
    max-width: calc(100% - clamp(48px, 14vw, 72px));
    min-width: 0;
  }

  .site-header__mobile-brand span {
    max-width: 100%;
    font-size: clamp(0.72rem, 4.2vw, 0.95rem);
    line-height: 1.05;
  }

  .topbar__inner {
    min-width: 0;
    overflow: hidden;
  }

  .topbar__social {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-items: center;
    align-items: center;
    gap: clamp(2px, 1vw, 6px);
    max-width: 100%;
    min-width: 0;
    padding: 2px 0;
  }

  .topbar__social-link {
    width: clamp(18px, 5.5vw, 28px) !important;
    height: clamp(18px, 5.5vw, 28px) !important;
  }
}

@media (max-width: 150px) {
  main .container,
  main .page-hero__inner,
  main .page-hero__content,
  main .page-hero__aside,
  main .hero__glass,
  main .glass-caption,
  main .hero-card,
  main .content-card,
  main .contact-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  main .page-hero h1 {
    font-size: 0.82rem !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
  }

  main .page-hero p,
  main p,
  main li {
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
  }

  .topbar__social {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .topbar__social-link {
    width: 16px !important;
    height: 16px !important;
  }
}
/* === End Ultra-Narrow Body Flex Center Override (384px-100px) === */