/* Shared finishing details; page-specific layouts retain their own styling. */
html { scroll-padding-top: 24px; }
body :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid #008896;
    outline-offset: 4px;
}
body :is(.company-footer, .tg-footer) a:focus-visible { outline-color: #99ddda; }
body .tg-desktop-nav .tg-services-menu a[aria-current='page'] {
    color: #005763;
    background: #e8f5f4;
    font-weight: 700;
}
body .tg-desktop-nav .tg-services-menu a[aria-current='page']::after { display: none; }
body .tg-mobile-menu nav { overscroll-behavior: contain; }
body .tg-mobile-menu summary { min-height: 44px; }
body .tg-header .tg-header-cta { min-height: 44px; }
@media (max-width: 1100px) {
    html body .tg-header .tg-desktop-nav,
    html body .tg-header .tg-header-cta { display: none; }
    html body .tg-header .tg-mobile-menu { display: block; }
    html body .tg-header .tg-mobile-menu summary { display:flex; align-items:center; gap:10px; padding:12px 4px; cursor:pointer; list-style:none; }
    html body .tg-header .tg-mobile-menu summary::-webkit-details-marker { display:none; }
    html body .tg-header .tg-mobile-menu nav { position:absolute; top:100%; left:0; right:0; display:grid; gap:3px; max-height:calc(100dvh - 84px); overflow-y:auto; padding:18px 24px 24px; background:#fcfbf8; border-bottom:1px solid #d9e5e1; box-shadow:0 12px 16px #002e3414; }
    html body .tg-header .tg-mobile-menu nav a { display:block; padding:12px 4px; }
    html body .tg-header .tg-mobile-services summary { justify-content:space-between; }
    html body .tg-header .tg-mobile-service-links { padding:4px 10px; border:1px solid #dfe6e5; border-radius:10px; background:#fff; }
    html body .tg-header .tg-mobile-menu .tg-mobile-cta { display:flex; justify-content:space-between; margin-top:8px; padding:14px 16px; border-radius:6px; background:#034b54; color:#fff; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
