[hidden] { display: none !important; }
.migration-mobile-nav { position:fixed; top:110px; left:0; right:0; z-index:100; padding:24px; background:#fff; box-shadow:0 12px 24px #0002; }
.migration-mobile-nav a { display:block; padding:12px; color:#222; }
.inspection-form select.service-select { width:100%; min-height:48px; padding:10px 12px; background:#fff; border:1px solid #ccc; border-radius:6px; }
[data-slot="accordion-content"][data-state="open"] { animation:none; }
#inquiry-status { line-height:1.5; }
@media(min-width: 1024px) { .migration-mobile-nav {display:none!important;} }

/* Secondary project film stays optional beside the primary project story. */
.project-film-extra { margin-top: 1.25rem; border-top: 1px solid #ddd; padding-top: 1rem; }
.project-film-extra summary { cursor: pointer; color: #8f1018; padding: .75rem 0; font-weight: 600; }
.project-film-extra video { display: block; width: 100%; height: auto; margin-top: 1rem; }

.home-film-player { position: relative; overflow: hidden; background: #171717; }
.home-film-player video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.home-film-cover { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; cursor: pointer; background: #171717; color: #fff; }
.home-film-cover img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 58% 65%; }
.home-film-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 55%, #0009); pointer-events: none; }
.home-film-play { position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 76px; height: 76px; display: grid; place-items: center; border-radius: 50%; background: #93151e; border: 2px solid #ffffffb3; box-shadow: 0 8px 28px #0006; transition: background .15s, box-shadow .15s; }
.home-film-play svg { width: 34px; height: 34px; }
.home-film-play-label { position: absolute; z-index: 1; bottom: 24px; left: 24px; font-size: 16px; font-weight: 600; letter-spacing: .02em; }
.home-film-cover:hover .home-film-play { background: #b01d28; box-shadow: 0 8px 32px #0008; }
.home-film-cover:focus-visible { outline: 4px solid #fff; outline-offset: -6px; }
@media (max-width: 600px) { .home-film-play { width: 60px; height: 60px; } .home-film-play-label { bottom: 16px; left: 16px; font-size: 14px; } }

.trust-row { background:#f6f3f3; border-bottom:1px solid #e9e5e6; }
.trust-row .container { display:flex; flex-wrap:wrap; gap:10px 28px; align-items:center; min-height:64px; padding-top:14px; padding-bottom:14px; }
.trust-row p { margin:0; font-weight:650; }
.trust-row a { color:#8b1e23; font-weight:650; }

.utility-bar .container { flex-wrap: wrap; }
.utility-bar a { white-space: nowrap; }
.footer-grid > div > a.footer-phone-secondary { color: #fff; display: block; font-size: 16px; margin-top: 2px; }

.related-links { padding: 8px 0 36px; }
.related-links h2 { font-size: 1.15rem; margin: 0 0 10px; }
.related-links ul { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; padding: 0; margin: 0; }
.related-links a { color: #8b1e23; font-weight: 650; }

.mobile-action-bar { display:none; }
@media (max-width: 1150px) {
  .mobile-action-bar { display:grid; grid-template-columns:1fr 1.25fr; position:fixed; z-index:90; left:0; right:0; bottom:0; background:#191919; box-shadow:0 -8px 24px #0003; }
  .mobile-action-bar a { color:#fff; text-align:center; padding:14px 8px; font-weight:650; font-size:14px; text-decoration:none; }
  .mobile-action-bar a:last-child { background:#8b1e23; }
  .mobile-action-bar { padding-bottom: env(safe-area-inset-bottom); }
  body { padding-bottom: calc(52px + env(safe-area-inset-bottom)); }
}

.sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.lang-toggle { display:flex; gap:8px; margin:0 0 18px; }
.careers-preamble { margin:0 0 16px; max-width:40rem; font-size:1.2rem; line-height:1.4; font-weight:650; }
.careers-block { padding: 4px 0 20px; }
.careers-block h2 { margin: 0 0 14px; }
#apply { scroll-margin-top: 96px; }
.spot-grid { display:grid; gap:16px; align-items:stretch; }
.spot-card { background:#f6f3f3; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; height:100%; }
.spot-card picture { display:block; }
.spot-card img { display:block; width:100%; height:220px; object-fit:cover; object-position:center; }
.spot-copy { flex:1; display:flex; flex-direction:column; gap:8px; padding:16px 18px 18px; }
.spot-copy h3, .spot-copy p { margin:0; }
.spot-copy .who { color:#8b1e23; font-weight:700; }
.spot-copy .button { align-self:flex-start; margin-top:auto; text-decoration:none; }
.always-hiring { margin:18px 0 0; max-width:42rem; font-size:1.15rem; font-weight:700; line-height:1.45; }
.look-for, .how-steps { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.look-for li, .how-steps li { background:#191919; color:#fff; border-radius:12px; padding:16px 18px; font-weight:700; min-height:72px; }
.how-steps span { display:block; margin-bottom:6px; color:#e4b9bc; font-size:13px; letter-spacing:.08em; }
.careers-close { background:#8b1e23; color:#fff; border-radius:16px; padding:28px 24px; display:grid; gap:12px; }
.careers-close h2, .careers-close p { margin:0; }
.careers-close .button { justify-self:start; background:#fff; color:#8b1e23; }
.careers-close .button:hover { background:#f6f3f3; }
.desktop-nav a.nav-hiring, .mobile-nav a.nav-hiring, .migration-mobile-nav a.nav-hiring { color:#8b1e23; font-weight:750; }
.footer-grid > div > a.footer-hiring { display:inline-flex; align-items:center; min-height:40px; margin:8px 0 12px; padding:0 14px; border-radius:999px; background:#8b1e23; color:#fff; font-weight:750; text-decoration:none; }
.footer-grid > div > a.footer-hiring:hover { color:#fff; background:#b01d28; }
.hiring-band { background:#8b1e23; color:#fff; }
.hiring-band .container { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; justify-content:space-between; min-height:64px; padding-top:12px; padding-bottom:12px; }
.hiring-band p { margin:0; font-weight:700; font-size:1.05rem; }
.hiring-band a { color:#fff; font-weight:750; }
@media (min-width: 800px) {
  .spot-grid { grid-template-columns:1fr 1fr; }
  .look-for { grid-template-columns:repeat(4, 1fr); }
  .how-steps { grid-template-columns:repeat(3, 1fr); }
}
.lang-toggle a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 16px; border:1px solid #191919; border-radius:999px; font-weight:650; text-decoration:none; }
.lang-toggle a[aria-current="page"] { background:#191919; color:#fff; }
.role-list { list-style:none; padding:0; margin:0 0 8px; display:grid; gap:12px; }
.role-list li { padding:14px 16px; background:#f6f3f3; border-radius:12px; }
.role-list strong { display:block; margin-bottom:4px; }
.careers-form { display:grid; gap:16px; max-width:640px; }
.careers-form label { display:grid; gap:6px; font-weight:650; }
.careers-form input, .careers-form select, .careers-form textarea { width:100%; min-height:52px; padding:12px 14px; font-size:16px; border:1px solid #c8c0c2; border-radius:10px; background:#fff; }
.careers-form textarea { min-height:120px; }
.careers-form input[type="file"] { padding:14px; background:#fff; }
.careers-form .careers-submit { width:100%; min-height:56px; font-size:18px; }
.careers-form .request-trap { position:absolute; left:-9999px; height:0; overflow:hidden; }
.careers-thanks { max-width:640px; padding:20px; background:#f6f3f3; border-radius:12px; }
.careers-thanks h2 { margin-top:0; }
#careers-status { min-height:1.5em; font-weight:650; }
.service-card:not(.featured) .service-top > span { color:#5f6b63; }
.inspection-form .form-grid label > span { color:#665a5e; }
