/* Mobile header, hero and company ribbon. Desktop styles stay in their modules. */
@media(max-width:950px){
 :root{--site-header-height:72px}
 .site-header{padding-inline:24px}
 .site-header .brand{font-size:27px;min-height:44px;display:flex;align-items:center}
 .site-header .menu-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0}
 .menu-line{position:absolute;width:18px;height:1.5px;background:currentColor;transform:translateY(-3px);transition:transform .2s ease}
 .menu-line+.menu-line{transform:translateY(3px)}
 .menu-toggle[aria-expanded="true"] .menu-line{transform:rotate(45deg)}
 .menu-toggle[aria-expanded="true"] .menu-line+.menu-line{transform:rotate(-45deg)}
 .site-header:has(#navigation.open){background:#fafbf6;border-bottom-color:transparent}
 #navigation{top:100%;padding:8px 24px 24px;background:#fafbf6;max-height:calc(100dvh - var(--site-header-height));overscroll-behavior:contain;border-bottom:1px solid var(--line);box-shadow:0 14px 24px #0a294b12}
 #navigation.open{gap:0}
 #navigation>a:not(.button),#navigation .nav-dropdown>summary{min-height:48px;padding:14px 0;display:flex;align-items:center;font-size:16px;line-height:20px}
 #navigation .nav-dropdown>summary{justify-content:space-between}
 #navigation .nav-panel{padding:4px 12px;margin:0 0 8px;border-radius:4px}
 #navigation .nav-panel a{min-height:44px;padding:12px 4px;font-size:14px;line-height:1.4}
 #navigation .nav-panel span{margin-top:4px;line-height:1.4}
 #navigation .button{height:44px;margin-top:14px;justify-content:center;padding:12px}
}
@media(max-width:600px){
 :root{--site-header-height:68px}
 .site-header{padding-inline:20px}
 #navigation{padding-inline:20px}
 .hero-search-first>.wrap{padding-inline:20px}
 .service-hero{--type-hero-size:clamp(34px,10.5vw,44px);padding:28px 0 24px}
 .hero-search-first .hero-tag{font-size:12px;font-weight:400;line-height:18px;padding:7px 13px}
 .service-hero h1{font-size:clamp(34px,10.5vw,44px);line-height:1.06;letter-spacing:-.025em;max-width:100%;margin:22px auto 16px;text-wrap:balance}
 .service-hero .typed-line{height:2.12em;min-height:2.12em;line-height:1.06;max-width:100%;text-wrap:balance}
 .typing-caret{margin-left:3px;width:1.5px}
 .service-hero>p.hero-description{font-size:16px;line-height:1.5;font-weight:500;max-width:360px;margin-inline:auto}
 .hero-discovery{margin-top:24px;max-width:440px}
 .hero-search-first .hero-search{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:8px;row-gap:4px;padding:8px;border-radius:16px}
 .hero-search .search-symbol,.discovery-symbol{width:32px;height:32px}
 .hero-search .search-symbol{display:grid}
 .search-entry{padding:0;min-width:0}
 .search-prompt{display:none}
 .hero-search .search-entry input{height:44px;min-height:44px;font-size:16px;line-height:24px;padding:10px 0;text-overflow:ellipsis}
 .hero-search-first .hero-search .button{grid-column:1/-1;width:100%;height:44px;min-height:44px;padding:12px 16px;margin:0;border-radius:4px}
 .hero-discovery .popular-services{margin-top:12px;gap:12px;justify-content:flex-start;align-items:center;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .hero-discovery .popular-services::-webkit-scrollbar{display:none}
 .hero-discovery .popular-services>span{width:auto;flex:none;text-align:left;font-size:11px;line-height:16px;margin:0}
 .hero-discovery .popular-services a{display:inline-flex;flex:none;align-items:center;min-height:44px;padding:7px 0;font-size:12px;line-height:18px;text-underline-offset:4px}
 .service-hero .hero-help{margin-top:10px;gap:0 7px;min-height:44px;flex-wrap:wrap;font-size:12px;line-height:20px}
 .hero-help a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;padding:8px 0}
 .hero-search-results{top:calc(100% + 8px);border-radius:16px;max-height:min(340px,45svh);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .hero-search-results li a{padding:12px;min-height:56px}
 .hero-search-results strong{font-size:14px;line-height:1.4}
 .hero-search-results small{font-size:12px;line-height:1.4}
 .results-heading{padding:12px 12px 8px;font-size:10px}
 .search-all{padding:14px 12px;min-height:44px;font-size:13px}
 .company-marquee{padding:20px 0 22px}
 .company-marquee-caption{font-size:12px;line-height:18px;margin:0 0 16px;text-wrap:balance}
 .company-marquee-caption>[role="img"]{white-space:nowrap}
 .company-marquee-window{margin-inline:-20px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
 .company-marquee-group{gap:32px;padding:8px 16px}
 .company-logo{font-size:21px;line-height:28px;gap:8px;letter-spacing:-.7px}
 .company-logo img{width:23px;height:23px}
 .company-marquee-track{animation-duration:44s}
}
@media(max-width:359px){
 .site-header,.hero-search-first>.wrap{padding-inline:16px}
 .service-hero{--type-hero-size:34px;padding-top:22px}
 .service-hero h1{font-size:34px;letter-spacing:-.03em}
 .hero-discovery .popular-services{column-gap:10px}
 .hero-discovery .popular-services a{font-size:11px}
 .company-marquee-window{margin-inline:-16px}
}
@media(hover:none){.company-marquee:hover .company-marquee-track{animation-play-state:running}}
@media(prefers-reduced-motion:reduce){
 .menu-line{transition:none}
 .company-marquee-track{animation:none}
 .company-marquee-window{mask-image:none;-webkit-mask-image:none;margin-inline:0}
 .company-marquee-group{gap:18px 28px}
}
