/* Saved OpenPencil refinement r8. Fluid behavior between the four reviewed widths. */
.button,button,input[type=submit],.site-header__emergency,.customer-gallery-nav__button{min-height:44px}
.button{height:auto;max-width:100%;white-space:normal;line-height:1.45;overflow-wrap:anywhere;text-align:center}
.button-row{gap:12px;align-items:flex-start}
.button[href^="tel:"]{font-variant-numeric:tabular-nums;word-break:normal}
.site-header__emergency{display:inline-flex;align-items:center}
.home-emergency,.emergency-notice{display:block!important;max-width:100%;width:auto;height:auto;min-height:0;padding:14px 16px!important;background:#3b2628!important;color:#fff3f1!important;border:1px solid #6c3b3d;border-radius:8px;line-height:1.5;overflow-wrap:normal}
.home-emergency strong{display:block;color:#fff3f1!important}
.home-emergency a,.emergency-notice a{display:inline!important;color:#ffb3ad!important;font-size:inherit!important;white-space:nowrap;font-weight:700}
.emergency-notice>*{display:inline!important}
.hero__caption{background:#343031!important}
.hero__media:has(.hero__picture)::after{display:none}
.hero--careers .customer-context-image{object-position:50% 28%!important}
.customer-gallery-nav__button:not([aria-pressed=true]){background:#2b2728;color:#fff}
.ssk-icon-item{position:relative!important;list-style:none!important;padding-inline-start:32px!important}
.ssk-icon-item::before,.ssk-icon-item::marker{content:none!important}
.ssk-custom-icon{position:absolute;inset-inline-start:0;top:.2em;display:block;width:22px;height:22px;color:#f7a61b;flex:none;pointer-events:none}
/* Center each icon on the first line, including the row's vertical padding. */
.home-condition-list .ssk-icon-item{--ssk-row-padding:.9rem;padding-block:var(--ssk-row-padding);padding-inline-start:30px!important}
.home-condition-list .ssk-custom-icon{width:18px;height:18px;top:calc(var(--ssk-row-padding) + .5lh - 9px)}
/* Recruitment uses the same outlined CTA treatment as the service rows. */
.home-services .home-audience-links>.home-text-link{
 width:14rem;max-width:100%;min-height:3rem;flex-shrink:0;padding:.65rem .85rem;
 justify-content:space-between;gap:.75rem;border:1px solid rgb(247 166 27 / .55);
 border-radius:.5rem;color:var(--color-accent);font-size:.875rem;text-decoration:none;
 transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease;
}
.home-services .home-audience-links>.home-text-link:hover{background:var(--color-accent);color:var(--color-accent-ink)}
.home-services .home-audience-links>.home-text-link span{color:inherit;transform:none;transition:none}
@media(max-width:40rem){.home-services .home-audience-links>.home-text-link{width:100%}}
@media(prefers-reduced-motion:reduce){.home-services .home-audience-links>.home-text-link{transition:none}}
.hero__caption ol .ssk-icon-item{padding-inline-start:32px!important}
.hero__caption .eyebrow{overflow-wrap:normal;word-break:normal;hyphens:none}
.ssk-staging-form-note{font-size:13px;line-height:1.5;padding:12px;border:1px solid #a77b36;border-radius:8px}
.wpcf7-form label{display:block}
.wpcf7-form .wpcf7-list-item label{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer}
.wpcf7-form input[type=checkbox]{flex:0 0 20px;width:20px;height:20px}
.wpcf7-not-valid-tip{font-size:14px;line-height:1.5;color:#ffb3ad}
.wpcf7-response-output{color:#fff;line-height:1.5}
:focus-visible{outline:3px solid #f7a61b;outline-offset:4px}
@media(min-width:64.001rem){
 .hero--services .hero__media,.hero--careers .hero__media,.hero--faq .hero__media,.hero--contact .hero__media{display:flex!important;flex-direction:column;min-height:0;height:auto;overflow:hidden}
 .hero--services .hero__picture,.hero--careers .hero__picture,.hero--faq .hero__picture,.hero--contact .hero__picture{position:relative!important;inset:auto!important;display:block;width:100%;height:240px;min-height:240px;flex:0 0 240px}
 .hero--services .hero__picture img,.hero--careers .hero__picture img,.hero--faq .hero__picture img,.hero--contact .hero__picture img{height:240px;width:100%;object-fit:cover}
 .hero--services .hero__caption,.hero--careers .hero__caption,.hero--faq .hero__caption,.hero--contact .hero__caption{position:relative!important;inset:auto!important;width:100%;padding:28px;flex:1}
}
@media(max-width:56.25rem){.hero::before,.hero::after,.home-hero::before,.home-hero::after{background-image:none!important}.hero--contact .hero__caption dl>div{display:block}.hero--contact .hero__caption dd{margin:6px 0 0;text-align:left}.hero--contact .hero__caption dt{width:auto}}
@media(max-width:40rem){.button-row>.button{width:100%}.button[href^="tel:"]{gap:4px 8px}.site-header__service-inner{min-height:44px}.hero__caption .eyebrow{font-size:12px;letter-spacing:.1em}.hero--careers .customer-context-image{object-position:50% 28%!important}.ssk-page--careers .button[href^="mailto:"]{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

.form-field>label>.wpcf7-form-control-wrap{display:block;margin-top:8px}.wpcf7-form .form-grid p{margin:0}
/* CF7 renders a native input rather than the theme's .button component. */
.wpcf7 input.wpcf7-submit{
 appearance:none;display:inline-block;width:auto;max-width:100%;min-height:48px;
 padding:.78rem 1.35rem;border:1px solid var(--color-accent);
 border-radius:var(--radius-control);background:var(--color-accent);
 color:var(--color-accent-ink);font-family:inherit;font-size:.94rem;
 font-weight:var(--font-weight-bold);line-height:1.45;text-align:center;
 white-space:normal;cursor:pointer;opacity:1;
 transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease;
}
.wpcf7 input.wpcf7-submit:enabled:hover{background:#ffb63e;border-color:#ffb63e}
.wpcf7 input.wpcf7-submit:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}
.wpcf7 input.wpcf7-submit:disabled{background:#c49a53;border-color:#c49a53;color:var(--color-accent-ink);opacity:1;cursor:not-allowed}
.wpcf7 .submitting input.wpcf7-submit{cursor:progress}
@media(max-width:40rem){.wpcf7 input.wpcf7-submit{width:100%}}
@media(prefers-reduced-motion:reduce){.wpcf7 input.wpcf7-submit{transition:none}}


/* Icon is positioned separately; text must use the full remaining line. */
.ssk-icon-item{display:block!important;grid-template-columns:none!important}


/* Keep narrow screens readable without splitting dispatch numbers. */
#home-title{hyphens:manual!important;overflow-wrap:break-word!important}
.button[href^="tel:"]{overflow-wrap:normal;flex-wrap:wrap}
.button[href^="tel:"] strong{white-space:nowrap;flex-shrink:0}
.ssk-service-index .ssk-icon-item a{display:block;hyphens:auto}
.ssk-service-index .ssk-icon-item a::before{content:none}
.trust-item.ssk-icon-item .ssk-custom-icon{top:1em}
/* Match index icons to the first line inside each padded navigation link. */
.ssk-service-index .ssk-icon-item{line-height:1.35}
.ssk-service-index .ssk-icon-item .ssk-custom-icon{top:calc(.78rem + .5lh - 11px)}
/* Careers icons follow the first text line, including each list's row padding. */
.ssk-page--careers .ssk-check-list .ssk-icon-item{--ssk-row-padding:.72rem;padding-block:var(--ssk-row-padding)}
.ssk-page--careers .trust-item.ssk-icon-item{--ssk-row-padding:var(--space-4);padding-block:var(--ssk-row-padding)}
.ssk-page--careers .ssk-icon-item>.ssk-custom-icon{top:calc(var(--ssk-row-padding) + .5lh - 11px)}
@media(max-width:40rem){.button[href^="tel:"]{flex-direction:column;align-items:center}}
/* Solid form surface keeps labels and validation readable on amber sections. */
.wpcf7{background:#342f30;color:#fff;border:1px solid #655a55;border-radius:16px;padding:clamp(16px,3vw,28px)}
.wpcf7 label,.wpcf7 .ssk-staging-form-note,.wpcf7-response-output{color:#fff}
body:has(.wpcf7 :focus) .mobile-call-bar,body:has(.wpcf7 :focus) .back-to-top{display:none!important}
/* Service sections are content, not clickable cards. */
.service-row,.service-row:has(a):hover{transform:none;transition:none}
.service-row::before,.service-row:has(a):hover::before{content:none;display:none}
.service-row:has(a):hover .service-row__arrow{transform:none;border-color:var(--color-line);background:transparent}
.service-row a:hover{text-decoration:underline;text-underline-offset:.2em}
/* Consistent service reading layout; no highlighted or moving section. */
.ssk-page--services .service-list,
.ssk-page--services .section--light .section-head{max-width:62rem;margin-inline:auto}
.ssk-page--services .service-row{
 grid-template-columns:2.5rem minmax(0,1fr);align-items:start;gap:1rem 1.5rem;
 margin-inline:0;padding-inline:0;border:0;border-bottom:1px solid var(--color-line);
 border-radius:0;background:none;box-shadow:none;transform:none;transition:none;
}
.ssk-page--services .service-row__number{grid-column:1;grid-row:1;padding-top:.35rem}
.ssk-page--services .service-row__content{grid-column:2;grid-row:1;max-width:70ch}
.ssk-page--services .service-row__content p+p{margin-top:.85rem}
.ssk-page--services .service-row__aside{
 grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;
 gap:.3rem;max-width:70ch;margin:0;padding:0;background:none;border:0;
}
.ssk-page--services .service-row__aside strong{display:block;color:var(--color-ink)}
.ssk-page--services .service-row__aside a{display:inline-flex;min-height:44px;align-items:center;color:var(--color-accent);text-decoration:underline}
.ssk-page--services .service-row__aside span{display:block}
@media(max-width:40rem){
 .ssk-page--services .service-row{grid-template-columns:minmax(0,1fr);gap:.75rem;padding-block:2rem}
 .ssk-page--services .service-row__number,.ssk-page--services .service-row__content,.ssk-page--services .service-row__aside{grid-column:1;grid-row:auto}
 .ssk-page--services .service-row__aside{margin-top:.5rem}
}
/* Billing identifiers need a generous detail column and clear label/value spacing. */
.ssk-page--contact [aria-labelledby="billing-title"] .media-breakout{
 grid-template-columns:minmax(0,.85fr) minmax(30rem,1.15fr);
 gap:clamp(2rem,4vw,4rem);
}
.ssk-page--contact [aria-labelledby="billing-title"] .media-breakout__lead a{overflow-wrap:anywhere}
.ssk-page--contact .ssk-billing-details{width:100%;padding:clamp(1.25rem,3vw,2rem)}
.ssk-page--contact .ssk-billing-details>div{
 grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:1.5rem;
 padding-block:1rem;align-items:baseline;
}
.ssk-page--contact .ssk-billing-details dt,
.ssk-page--contact .ssk-billing-details dd{min-width:0;line-height:1.6;hyphens:none;word-break:normal}
.ssk-page--contact .ssk-billing-details dd{text-align:left;font-variant-numeric:tabular-nums}
.ssk-page--contact .ssk-billing-details a{white-space:nowrap}
@media(max-width:64rem){
 .ssk-page--contact [aria-labelledby="billing-title"] .media-breakout{grid-template-columns:minmax(0,1fr);gap:2rem}
}
@media(max-width:40rem){
 .ssk-page--contact .ssk-billing-details>div{grid-template-columns:minmax(0,1fr);gap:.375rem}
}
/* Keep FAQ guidance and contact available beside the long question list. */
.ssk-page--faq .ssk-faq-sidebar{align-self:start}
.ssk-page--faq .ssk-faq-sidebar>.button{width:100%;justify-content:space-between;gap:1rem}
@media(min-width:56.001rem) and (min-height:40rem){
 .ssk-page--faq .ssk-faq-sidebar{position:sticky;top:calc(var(--header-height) + var(--space-4))}
}

/* Footer contact icons share the link's vertical centre and touch target. */
.site-footer__contact-list li{align-items:center}
.site-footer__contact-list li>span{display:flex;align-items:center;justify-content:center}
.site-footer__contact-list svg{display:block;margin-block-start:0}
/* Keep the mobile reading area free of the secondary floating control. */
@media(max-width:40rem){.back-to-top{display:none}}
