/* Shared source-theme rules: keep these independent of page/module IDs. */
:root{--jmdc-accent:#fc6d3a;--jmdc-orange:#e84e0f;--jmdc-dark:#272726;--jmdc-heading:#706f6f;--jmdc-button-radius:30px}
#main:focus{outline:none}
.native-button{text-transform:uppercase;border-radius:var(--jmdc-button-radius)}
.contact-submit{border-width:3px}
.native-button:focus-visible,.service-link:focus-visible{outline:2px solid var(--jmdc-accent);outline-offset:4px}
.ambient-particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.service-link{display:block;color:inherit;text-decoration:none;cursor:pointer}
[data-contact]{background:none;border:0;color:var(--jmdc-accent);padding:1px 6px;font:800 12px Inter,Arial,sans-serif;text-transform:uppercase}
[data-contact]:is(:hover,:focus-visible){background:var(--jmdc-accent);color:#fff;border:1px solid var(--jmdc-accent);border-radius:var(--jmdc-button-radius)}
.contact-strip [data-contact]{background:var(--jmdc-accent);color:#fff;border:1px solid var(--jmdc-accent);padding:3px 14px 1px;font:500 9px Inter,Arial,sans-serif;vertical-align:top}
.contact-callout [data-contact]{background:var(--jmdc-accent);color:#fff;border:2px solid var(--jmdc-accent);padding:3px 18px 2px;font:500 15px Inter,Arial,sans-serif;vertical-align:text-top}
.contact-strip [data-contact],.contact-callout [data-contact]{text-transform:uppercase}
.contact-strip [data-contact]:is(:hover,:focus-visible),.contact-callout [data-contact]:is(:hover,:focus-visible){background:var(--jmdc-dark);color:var(--jmdc-accent)}
.site-header nav>ul>li:not(:last-child)>a:is(:hover,:focus-visible){color:var(--jmdc-heading);opacity:.7}
.site-header nav>ul>li.current-menu-item>a:is(:hover,:focus-visible),.site-header nav>ul>li.current-menu-ancestor>a:is(:hover,:focus-visible){color:var(--jmdc-orange)}
.site-header nav>ul>li:last-child>a{transition:background-color .5s,color .5s}
.site-header nav a{font-weight:400}
/* Source CTA fades its text over an opaque wrapper background. */
.site-header nav>ul>li:last-child>a:is(:hover,:focus-visible){background:var(--jmdc-accent);color:rgba(255,255,255,.7);opacity:1}
@media(min-width:981px){.site-header nav .sub-menu{width:260px;min-width:260px;padding:8px 0}.site-header nav .sub-menu li{width:270px;padding:0 20px}.site-header nav .sub-menu a{padding:0 10px;line-height:28px}.site-header nav .sub-menu .sub-menu{left:-240px;top:0}.site-header nav .sub-menu a:is(:hover,:focus-visible){background:var(--jmdc-accent);color:#fff;opacity:1}}
@media(max-width:980px){.site-header nav .sub-menu a:is(:hover,:focus-visible){background:rgba(0,0,0,.03);opacity:.7}}
@media(prefers-reduced-motion:reduce){.site-header nav a,.site-header nav>ul>li:last-child>a{transition:none!important}}

/* Fixed flyouts escape their parent list's scroll clipping; JS fits each panel. */
@media(min-width:981px){
  .site-header #primary-navigation.jmdc-fitted-menu .sub-menu{position:fixed;left:var(--jmdc-menu-left,8px);top:var(--jmdc-menu-top,8px);width:260px;min-width:0;max-width:calc(100vw - 16px);max-height:var(--jmdc-menu-max-height,calc(100vh - 16px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
  .site-header #primary-navigation.jmdc-fitted-menu .sub-menu li{box-sizing:border-box;width:100%;padding:0 10px}
}
