/* Hosting and accessibility additions to the reference site's stylesheet. */
[hidden] { display: none !important; }
html { scroll-padding-top: 6rem; }
main:focus { outline: none; }
.skip-link { position: fixed; top: 1rem; left: 1rem; transform: translateY(-180%); z-index: 100; background: white; color: #043848; padding: .75rem 1.25rem; border-radius: .5rem; font-weight: 700; }
.skip-link:focus { transform: translateY(0); outline: 3px solid #e73f20; }
a:focus-visible,button:focus-visible,[role="tabpanel"]:focus-visible { outline: 3px solid #e73f20; outline-offset: 4px; }
.language-options { position: absolute; right: 0; top: calc(100% + .5rem); z-index: 60; min-width: 10rem; padding: .35rem; border: 1px solid #e5e7eb; border-radius: .75rem; background: white; box-shadow: 0 10px 25px #04384820; }
.language-options a { display: flex; align-items: center; gap: .6rem; padding: .65rem .9rem; color: #043848; border-radius: .4rem; font-size: .875rem; font-weight: 500; white-space: nowrap; }
.language-flag-wrap { display: inline-flex; align-items: center; flex: 0 0 auto; }
.language-switcher .language-flag { display: inline-block; width: 20px; height: 14px; max-width: none; flex: 0 0 20px; object-fit: contain; vertical-align: middle; }
.language-options a:hover,.language-options a[aria-current="true"] { background: #f3f4f6; }
.language-switcher button[aria-expanded="true"] svg { transform: rotate(180deg); }
body[data-page="services"] .service-feature { align-items: center; }
body[data-page="services"] .service-feature > .flex-shrink-0 { margin-top: 0; }
#desktop-navigation { display: flex; }
#menu-toggle { display: none; }
.mobile-panel { display: none; }
.history-panels { min-height: 0 !important; }
.history-panel { position: relative; }
.history-panel:not([hidden]) { animation: history-enter .4s ease-out; }
@keyframes history-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
[data-history-year].group[aria-selected="true"] { transform: scale(1.25); }
[data-history-year].group[aria-selected="true"] .relative.z-10 { opacity: 1; }
[data-history-year].group[aria-selected="true"] .whitespace-nowrap { color: #043848; transform: translateX(-50%) scale(1.1); }
[data-history-year].group[data-tone="accent"][aria-selected="true"] .whitespace-nowrap { color: #e73f20; }
[data-history-year].group[aria-selected="true"]::before { content: ''; position: absolute; inset: 0; border-radius: 50%; background: #043848; opacity: .2; animation: ping 2s cubic-bezier(0,0,.2,1) infinite; }
[data-history-year].group[data-tone="accent"][aria-selected="true"]::before { background: #e73f20; }
[data-history-year]:not(.group) { color: #043848; background: white; border: 1px solid #04384833; }
[data-history-year][data-tone="accent"]:not(.group) { color: #e73f20; border-color: #e73f2033; }
[data-history-year]:not(.group)[aria-selected="true"] { color: white; background: #043848; transform: scale(1.05); box-shadow: 0 8px 16px #04384820; }
[data-history-year][data-tone="accent"]:not(.group)[aria-selected="true"] { background: #e73f20; }
@media (max-width:1099px) {
  #desktop-navigation { display: none; }
  #menu-toggle { display: block; }
  .mobile-panel:not([hidden]) { display: block; }
  #mobile-menu > div { max-height: calc(100dvh - 74px); overflow-y: auto; }
  #menu-toggle span { left: 0; }
  #menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg); }
  #menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  #menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg); }
  #mobile-menu .language-options { left: 0; right: auto; }
}
@media (max-width:639px) {
  .history-panel p { overflow-wrap: break-word; }
  .history-panel img { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none !important; transition: none !important; }
}
