/* Shared ACS refinement. Loaded after page styles in both application versions. */
:root {
    --acs-ink: #101b33;
    --acs-accent: #e0a82e;
    --acs-accent-light: #f2c14e;
    --acs-border: #dce2eb;
    --acs-radius: 18px;
    --acs-shadow: 0 12px 36px rgb(16 27 51 / 6%);
    --primary: #e0a82e !important;
    --primary-dark: #b98216 !important;
    --primary-light: #fbf3df !important;
    --accent: #f2c14e !important;
}

html { scroll-padding-top: 110px; }
body { text-rendering: optimizeLegibility; }
:where(button, input, select, textarea) { font: inherit; }
:where(img, video) { max-inline-size: 100%; }
:where(.hero-container, .split-container, .clean-split, .clean-cta-box,
    .clean-deep-grid, .upgrade-layout, .upgrade-form-grid, .footer-grid,
    .contact-grid, .jobs-layout, .jd-layout, .legal-layout, .compliance-grid,
    .transport-main) > * { min-inline-size: 0; }
:where(h1, h2, h3, p, label, .btn, .portal-action, .upgrade-check) { overflow-wrap: break-word; }
:where(.footer, .upgrade-side-card, .contact-info) a { overflow-wrap: anywhere; }
body h1, body h2 { letter-spacing: -.025em !important; text-wrap: balance; }
body h1 { font-weight: 800 !important; }
:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid #b57d0b !important;
    outline-offset: 4px;
}

/* Restrained controls and one clear employer action. */
.btn, .portal-action {
    min-height: 48px;
    border-radius: 12px !important;
    font-weight: 700 !important;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
}
.btn-primary, .hero .cta-group .btn-primary, .hero .hero-search-form .btn-primary {
    background: var(--acs-accent) !important;
    color: #211804 !important;
    box-shadow: 0 5px 14px rgb(16 27 51 / 10%) !important;
    border: 1px solid transparent !important;
}
.btn-primary:hover, .hero .cta-group .btn-primary:hover {
    background: var(--acs-accent-light) !important;
    box-shadow: 0 8px 20px rgb(16 27 51 / 13%) !important;
}
#navbar .nav-container { min-height: 68px !important; box-shadow: 0 8px 28px rgb(0 0 0 / 14%) !important; }
#navbar .nav-links { gap: clamp(10px, 1.05vw, 18px) !important; }
#navbar .nav-links a { font-size: .86rem !important; }
#navbar .btn-nav-staff {
    background: var(--acs-accent) !important;
    color: #211804 !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
#navbar .btn-nav-work {
    background: rgb(255 255 255 / 6%) !important;
    color: #fff !important;
    border: 1px solid rgb(255 255 255 / 20%) !important;
    box-shadow: none !important;
}
#navbar .hamburger, .clean-hamburger { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
.mobile-menu { z-index: 1100 !important; height: 100dvh !important; max-height: 100dvh !important; overflow-y: auto !important; overscroll-behavior: contain; }
body.acs-menu-open { overflow: hidden !important; }
.mobile-menu:not(.open) { visibility: hidden !important; pointer-events: none !important; }
.mobile-menu.open { visibility: visible !important; }
.mobile-menu :where(a, button) { min-height: 40px; }
.mobile-menu-links a, .mobile-contact-pill { min-width: 0; overflow-wrap: anywhere; }
.mobile-menu {
    position: fixed !important; inset: 0 !important; width: 100% !important;
    display: flex !important; flex-direction: column !important;
    justify-content: flex-start !important; align-items: stretch !important;
    box-sizing: border-box !important; gap: 16px !important;
    padding: 22px 20px calc(24px + env(safe-area-inset-bottom, 0px)) !important;
    background: #0b1426 !important; color: #fff !important;
}
.mobile-menu.open { opacity: 1 !important; pointer-events: auto !important; }
.mobile-menu > * { width: 100%; max-width: 520px; margin-inline: auto; flex-shrink: 0; }
.mobile-menu-header { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px; margin-bottom: 0 !important; padding-bottom: 16px !important; border-bottom: 1px solid rgb(255 255 255 / 12%) !important; }
.mobile-menu-logo { min-width: 0; }
.mobile-menu-logo img { display: block; width: 160px !important; max-width: 100% !important; height: auto !important; max-height: 44px; object-fit: contain; }
.mobile-menu-close { flex: 0 0 44px; width: 44px !important; height: 44px !important; padding: 0 !important; border-radius: 12px !important; border: 1px solid rgb(255 255 255 / 20%) !important; background: rgb(255 255 255 / 7%) !important; color: #fff !important; font-size: 1.15rem !important; cursor: pointer; }
.mobile-menu-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; margin-bottom: 0 !important; }
.mobile-menu-actions .btn { width: 100% !important; padding: 12px 10px !important; font-size: .9rem !important; }
.mobile-menu-actions .btn-outline { color: #fff !important; border: 1px solid rgb(255 255 255 / 24%) !important; background: rgb(255 255 255 / 5%) !important; }
.mobile-menu-links { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 4px !important; margin-bottom: 0 !important; }
.mobile-menu-links a { display: flex !important; align-items: center !important; gap: 12px !important; width: 100%; padding: 10px 12px !important; min-height: 44px; border-radius: 10px !important; color: rgb(255 255 255 / 90%) !important; font-size: 1rem !important; font-weight: 600 !important; line-height: 1.5 !important; text-decoration: none; }
.mobile-menu-links a:hover { background: rgb(255 255 255 / 8%) !important; }
.mobile-menu-links a i { flex: 0 0 20px; width: 20px !important; color: var(--acs-accent-light) !important; text-align: center; }
.mobile-menu-languages { padding-top: 16px !important; border-top: 1px solid rgb(255 255 255 / 12%) !important; margin-bottom: 0 !important; }
.mobile-lang-title { font-size: .72rem !important; color: rgb(255 255 255 / 62%) !important; margin-bottom: 12px; }
.mobile-lang-pills { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 8px !important; }
.mobile-lang-btn { display: flex !important; align-items: center !important; justify-content: center !important; gap: 5px !important; min-width: 0; min-height: 44px; padding: 9px 4px !important; font-size: .76rem !important; border: 1px solid rgb(255 255 255 / 20%) !important; border-radius: 10px !important; background: rgb(255 255 255 / 5%) !important; color: #fff !important; }
.mobile-lang-btn.active { background: var(--acs-accent) !important; color: #211804 !important; border-color: transparent !important; box-shadow: none !important; }
.mobile-menu-footer { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; padding-top: 16px !important; border-top: 1px solid rgb(255 255 255 / 12%) !important; }
.mobile-contact-pill { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 10px !important; width: 100%; padding: 10px 12px !important; font-size: .86rem !important; line-height: 1.5; color: rgb(255 255 255 / 85%) !important; border-radius: 10px; border: 1px solid rgb(255 255 255 / 12%); }

/* Entry page: readable imagery, balanced text, flexible short-screen height. */
body:has(.portal) { overflow-y: auto; }
.portal { height: auto; min-height: 100svh; }
.portal-choice { height: auto; min-height: max(620px, 100svh); }
.portal-choice::after { background: linear-gradient(180deg, rgb(7 15 32 / 5%) 25%, rgb(7 15 32 / 68%) 65%, rgb(7 15 32 / 94%) 100%); }
.portal-top { max-width: calc(100% - 32px); padding: 10px 14px; border-radius: 16px; gap: 16px; box-shadow: 0 8px 26px rgb(7 15 32 / 14%); }
.portal-top > img { width: clamp(112px, 15vw, 180px); height: auto; max-height: 36px; object-fit: contain; min-width: 0; }
.portal-lang { min-width: 0; }
.portal-lang a { min-height: 32px; display: inline-flex; align-items: center; justify-content: center; }
.portal-content { padding: 40px clamp(28px, 4vw, 64px) 56px; }
.portal-content h1, .portal-choice--cleaning .portal-content h1 {
    font-size: clamp(2.15rem, 4vw, 4.25rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
}
.portal-content p { max-width: 48ch; font-size: 1rem; line-height: 1.65; color: rgb(255 255 255 / 88%); }
.portal-kicker { backdrop-filter: blur(8px); font-weight: 700; }
.portal-action { margin-top: 24px; padding: 14px 20px; }

/* Staffing hero and content rhythm. */
.hero { min-height: auto !important; padding: 148px 0 76px !important; }
.hero .hero-container { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr) !important; gap: clamp(32px, 4vw, 64px) !important; align-items: center !important; }
.hero h1 { font-size: clamp(2.5rem, 3.8vw, 3.65rem) !important; line-height: 1.09 !important; }
.hero .gradient-text { background-image: linear-gradient(135deg, #f5d68a, #e0a82e) !important; }
.hero-content > p { max-width: 60ch; font-size: 1.02rem !important; line-height: 1.75 !important; }
.hero .hero-image img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover !important; border-radius: 20px !important; box-shadow: none !important; }
.hero .hero-image::before { opacity: .35 !important; }
.hero .hero-image-card { left: 18px !important; right: 18px !important; bottom: 18px !important; width: auto !important; max-width: none !important; padding: 18px !important; border-radius: 14px !important; }
.hero .cta-group .btn { border-radius: 12px !important; min-height: 50px; padding: 13px 22px !important; }
.hero .hero-search-form { padding: 8px !important; gap: 8px !important; background: rgb(255 255 255 / 5%) !important; border-color: rgb(255 255 255 / 18%) !important; box-shadow: none !important; border-radius: 14px !important; }
.hero .hero-search-form .search-field { min-width: 0 !important; background: #fff !important; border-color: transparent !important; border-radius: 8px !important; }
.hero .hero-search-form .search-field input { min-width: 0; color: var(--acs-ink) !important; font-size: 1rem !important; }
.hero .hero-search-form .search-field input::placeholder { color: #667085 !important; opacity: 1 !important; }
.hero .hero-search-form .btn { border-radius: 8px !important; min-width: 96px; }
.hero .hero-proof-item { padding: 14px !important; border-radius: 12px !important; box-shadow: none !important; }
.hero .hero-proof-item span { line-height: 1.45 !important; }
.hero .hero-kicker { max-width: 100%; white-space: normal; line-height: 1.5; }
.section-header { margin-bottom: 44px !important; }
.split-container { gap: clamp(28px, 5vw, 72px) !important; }
:where(.card, .feature-card, .job-card, .candidate-signal, .process-card,
    .clean-card, .clean-service, .clean-deep-item, .clean-step, .upgrade-card) {
    border-radius: var(--acs-radius) !important;
    box-shadow: var(--acs-shadow) !important;
}
.split-image img { border-radius: 20px !important; }
.footer-grid { gap: 32px !important; }
.footer-grid > * { min-width: 0; }
.footer a { overflow-wrap: anywhere; }

/* Cleaning keeps its own lighter navigation, with visible touch controls. */
.clean-nav { position: fixed !important; top: 16px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) !important; width: min(1168px, calc(100% - 48px)) !important; z-index: 1000 !important; padding: 10px 16px !important; gap: 12px !important; align-items: center !important; justify-content: space-between !important; border-radius: 16px; box-shadow: 0 8px 28px rgb(16 27 51 / 10%); }
.clean-nav > a:first-child { display: flex; flex: 0 0 auto; min-width: 112px; }
.clean-nav > a:first-child img { width: clamp(124px, 14vw, 200px); height: auto; max-height: 42px; object-fit: contain; }
.clean-nav .clean-hamburger { position: static !important; transform: none !important; margin: 0 !important; background: #eef1f6 !important; border: 1px solid var(--acs-border) !important; border-radius: 10px !important; color: var(--acs-ink) !important; flex: 0 0 44px; }
.clean-nav .clean-hamburger span { background: var(--acs-ink) !important; }
.clean-nav-links .clean-nav-cta, .clean-kicker { background: var(--acs-accent) !important; color: #211804 !important; box-shadow: none !important; }
.clean-hero { min-height: min(900px, 100svh); padding: 148px 0 72px; }
.clean-hero-content { max-width: 820px; }
.clean-hero h1 { font-size: clamp(2.6rem, 4.3vw, 3.85rem); line-height: 1.08; }
.clean-hero p { max-width: 62ch; line-height: 1.75; }
.clean-hero-proof div { border-radius: 12px; background: rgb(7 15 32 / 60%); }
.clean-section { padding: clamp(56px, 6vw, 88px) 0; }
.clean-section-header h2, .clean-copy h2, .clean-cta h2 { font-size: clamp(2rem, 3.5vw, 2.9rem); line-height: 1.15; }
.clean-section-header p, .clean-copy p, .clean-card p { color: #526075; }
.clean-video-card, .clean-video-tile, .clean-split img, .clean-photo-stack img { border-radius: var(--acs-radius); }
.clean-service-body { padding: 24px; }
.clean-form { border-radius: var(--acs-radius); padding: clamp(20px, 3vw, 30px); }
.clean-form-field, .clean-check { min-width: 0; }
.clean-check input { flex: 0 0 18px; width: 18px; height: 18px; }

/* Compact service intro; generous, consistent form fields. */
.upgrade-hero { padding: 130px 0 48px; }
.upgrade-hero h1 { font-size: clamp(2.2rem, 4.3vw, 3.35rem); line-height: 1.12; max-width: 850px; }
.upgrade-hero p { font-size: 1rem; line-height: 1.75; max-width: 72ch; color: rgb(255 255 255 / 80%); }
.upgrade-kicker { color: var(--acs-accent-light); padding: 7px 12px; font-size: .78rem; }
.upgrade-proof { margin-top: 24px; max-width: 900px; gap: 12px; }
.upgrade-proof div { padding: 14px 16px; border-radius: 12px; min-width: 0; }
.upgrade-proof strong { line-height: 1.3; font-size: 1.05rem; }
.upgrade-proof span { display: block; line-height: 1.5; font-size: .8rem; }
main.container.upgrade-layout { width: calc(100% - 48px); max-width: 1240px; padding: 48px 0 80px; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: 28px; }
.upgrade-card { padding: clamp(22px, 3vw, 36px); border-color: var(--acs-border); }
.upgrade-card h2 { font-size: clamp(1.65rem, 2.5vw, 2rem); }
.upgrade-form-grid { gap: 20px; }
.upgrade-field { min-width: 0; }
.upgrade-field label { font-size: .875rem; font-weight: 600; }
.upgrade-field :where(input, select, textarea), .clean-form-field :where(input, select, textarea) {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    min-height: 50px;
    background: #fff;
    border: 1px solid #cbd4e0;
    border-radius: 10px;
    font-size: 1rem;
    box-shadow: 0 1px 2px rgb(16 27 51 / 3%);
}
.upgrade-side-card { border-radius: var(--acs-radius); padding: 26px; box-shadow: none; border-color: var(--acs-border); }
.upgrade-side-list div { min-width: 0; font-size: .92rem; line-height: 1.65; }
.upgrade-side-list i { flex-shrink: 0; }
.upgrade-check { align-items: flex-start; }
.upgrade-check input { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; }
.legal-layout { width: calc(100% - 48px); max-width: 1240px; margin-inline: auto; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 28px; }
.legal-body { min-width: 0; overflow-wrap: anywhere; }
.legal-sidebar a { min-width: 0; overflow-wrap: anywhere; }
.legal-sidebar a i { flex: 0 0 20px; }
.job-card-top > div { min-width: 0; max-width: 100%; flex: 1 1 220px; }
.job-title { overflow-wrap: anywhere; }
.jd-sidebar .btn { display: flex; width: 100% !important; min-width: 0; white-space: normal !important; flex-wrap: wrap; padding: 12px 16px !important; }
.trust-map-grid > div { min-width: 0; }

@media (max-width: 1199px) {
    #navbar .nav-links { display: none !important; }
    #navbar .hamburger { display: flex !important; }
}
@media (max-width: 1100px) {
    .clean-nav-links a:not(.clean-nav-cta) { display: none; }
    .clean-nav .hamburger { display: flex !important; }
    .clean-nav-links { margin-left: auto; }
    .clean-lang { margin-left: auto; }
}
@media (max-width: 992px) {
    .hero { padding: 120px 0 56px !important; }
    .hero .hero-container { grid-template-columns: minmax(0, 1fr) !important; gap: 36px !important; }
    .hero-content { text-align: left !important; max-width: 720px !important; margin: 0 auto !important; }
    .hero .cta-group { justify-content: flex-start !important; }
    .hero .hero-image { width: 100% !important; max-width: 640px !important; margin: 0 auto !important; }
    .hero .hero-image img { aspect-ratio: 5 / 4; }
    main.container.upgrade-layout { grid-template-columns: minmax(0, 1fr); }
    .upgrade-side-card { position: static; }
    .legal-layout { grid-template-columns: minmax(0, 1fr); }
    .clean-hero { min-height: auto; padding: 124px 0 60px; }
    .clean-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .clean-process, .clean-proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .portal-choice { min-height: 440px; }
    .portal-content { padding: 108px 28px 32px; }
    .portal-choice--cleaning .portal-content { padding-top: 60px; }
    .portal-content h1, .portal-choice--cleaning .portal-content h1 { font-size: clamp(2rem, 6vw, 3rem); }
}
@media (max-width: 640px) {
    html { scroll-padding-top: 96px; }
    #navbar { top: 10px !important; padding: 0 12px !important; }
    #navbar .nav-container { min-height: 60px !important; padding: 6px 10px !important; }
    .hero { padding: 112px 0 40px !important; }
    .hero h1 { font-size: clamp(2rem, 8vw, 2.7rem) !important; line-height: 1.12 !important; }
    .hero-content > p { font-size: 1rem !important; line-height: 1.7 !important; margin-bottom: 24px !important; }
    .hero .hero-kicker { font-size: .65rem !important; padding: 6px 10px !important; }
    .hero .cta-group { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
    .hero .cta-group .btn { width: 100% !important; padding: 12px 10px !important; font-size: .87rem !important; min-height: 54px; }
    .hero .hero-search-form { flex-direction: column !important; }
    .hero .hero-search-form .search-field { width: 100% !important; min-height: 48px !important; }
    .hero .hero-search-form .btn { width: 100% !important; }
    .hero .hero-proof { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
    .hero .hero-proof-item { padding: 12px 8px !important; flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
    .hero .hero-proof-item strong { font-size: 1rem !important; }
    .hero .hero-proof-item span { font-size: .62rem !important; white-space: normal !important; }
    .hero .hero-image-card { position: static !important; margin: 12px 0 0 !important; background: #15223a !important; }
    .hero .hero-image-card strong { font-size: 1rem !important; }
    .hero .hero-sector-tags { max-width: calc(100% - 24px) !important; }
    .hero .hero-sector-tags { position: absolute !important; top: 12px !important; right: 12px !important; left: auto !important; bottom: auto !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: flex-end !important; gap: 6px !important; }
    .hero .hero-sector-tags span { max-width: 100% !important; width: auto !important; white-space: normal !important; }
    .trust-map-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .section-header h2 { font-size: 2rem !important; line-height: 1.15 !important; }
    .section-header { margin-bottom: 32px !important; }
    .clean-nav { width: calc(100% - 24px) !important; top: 10px !important; padding: 8px !important; gap: 8px !important; }
    .clean-nav img { max-width: 144px; height: auto; max-height: 34px; }
    .clean-nav > a:first-child img { width: 144px; }
    .clean-nav-links .clean-nav-cta { padding: 11px 12px; min-height: 44px; font-size: .82rem; }
    .clean-lang { display: none; }
    .clean-hero { padding: 112px 0 42px; }
    .clean-hero h1 { font-size: clamp(2rem, 8.4vw, 2.85rem); line-height: 1.12; }
    .clean-hero p { font-size: 1rem; line-height: 1.7; }
    .clean-actions { gap: 10px; }
    .clean-actions .btn { min-height: 50px; padding: 12px 16px; font-size: .94rem; }
    .clean-hero-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .clean-hero-proof div { min-height: 96px; padding: 14px; }
    .clean-hero-proof div:last-child { grid-column: 1 / -1; min-height: auto; }
    .clean-hero-proof span { font-size: .78rem; }
    .clean-services, .clean-process, .clean-proof-grid { grid-template-columns: minmax(0, 1fr); }
    .clean-section-header h2, .clean-copy h2, .clean-cta h2 { font-size: 2rem; }
    .clean-form-grid, .clean-checks { grid-template-columns: minmax(0, 1fr); }
    .upgrade-hero { padding: 108px 0 32px; }
    .upgrade-hero h1 { font-size: clamp(2rem, 7.8vw, 2.5rem); line-height: 1.14; }
    .upgrade-hero p { font-size: .96rem; line-height: 1.65; }
    .upgrade-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
    .upgrade-proof div { padding: 12px; }
    .upgrade-proof span { font-size: .76rem; }
    main.container.upgrade-layout { width: calc(100% - 32px); padding: 28px 0 56px; gap: 20px; }
    .upgrade-card { padding: 22px 18px; }
    .upgrade-form-grid { gap: 18px; }
    .upgrade-field label { line-height: 1.5; }
    .upgrade-side-card { padding: 22px; }
    .legal-layout { width: calc(100% - 32px); padding: 32px 0; gap: 20px; }
    .legal-sidebar { padding: 18px; margin-bottom: 0; }
    .legal-body { padding: 24px 20px; }
    .legal-body h1 { font-size: 1.85rem; }
    .footer-grid { gap: 28px !important; }
    .footer-bottom { gap: 12px; line-height: 1.6; }
    .mobile-sticky-apply .btn { min-width: 0 !important; max-width: 52%; white-space: normal !important; padding: 10px 12px !important; font-size: .86rem !important; line-height: 1.35 !important; }
    body:has(.mobile-sticky-apply) { padding-bottom: 96px; }
    body:has(.mobile-sticky-apply) :where(#acs-back-top, .whatsapp-float) { bottom: 108px !important; }
}
@media (max-width: 380px) {
    .portal-top { left: 10px; right: 10px; max-width: none; gap: 6px; padding: 9px; }
    .portal-top > img { width: 112px; }
    .portal-lang { padding-left: 5px; gap: 0; }
    .portal-lang a { min-width: 25px; padding: 5px 3px !important; }
    .portal-content { padding-left: 20px; padding-right: 20px; }
    .hero .cta-group { grid-template-columns: minmax(0, 1fr) !important; }
    .clean-nav img { max-width: 124px; }
    .clean-nav > a:first-child img { width: 124px; }
    .mobile-menu-actions { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
    [data-aos], .reveal, .animate-fade-up { opacity: 1 !important; transform: none !important; }
}

/* Flexible conversion cards also fit a 320px viewport. */
.audience-grid,.audience-card{min-width:0}
.audience-card .btn{white-space:normal;overflow-wrap:anywhere;text-align:center}

/* Employer answers: readable HTML for visitors, search and answer engines. */
.acs-employer-answers{padding:clamp(40px,6vw,80px) 0;background:#f7f8fb;color:#101828;scroll-margin-top:100px}
.acs-employer-answers .container{max-width:1100px;min-width:0}
.acs-answer-kicker{display:block;color:#75530c;font-size:.8rem;font-weight:800;margin-bottom:10px}
.acs-employer-answers h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2;max-width:840px;margin:0 0 16px;overflow-wrap:anywhere}
.acs-answer-intro{max-width:840px;line-height:1.75;color:#475467;margin-bottom:26px}
.acs-answer-list{display:grid;gap:10px}
.acs-sector-links-title{font-size:1.15rem;margin:26px 0 14px;color:#101828}
.acs-sector-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:30px}
.acs-sector-link{display:flex;flex-direction:column;gap:12px;min-width:0;padding:22px;background:#fff;border:1px solid #d9dfe8;border-radius:12px;color:#101828;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.acs-sector-link:hover{border-color:#98701c;box-shadow:0 6px 18px rgba(16,24,40,.08)}
.acs-sector-link strong{display:flex;justify-content:space-between;gap:10px;line-height:1.5;overflow-wrap:anywhere}
.acs-sector-link>span{font-size:.92rem;line-height:1.7;color:#475467;overflow-wrap:anywhere}
.acs-request-checklist{margin-top:26px;border-top:1px solid #d9dfe8;padding-top:20px}
.acs-request-checklist summary{font-weight:700;line-height:1.6;cursor:pointer;color:#101828;overflow-wrap:anywhere}
.acs-request-checklist h4{font-size:1rem;line-height:1.5;margin:18px 0 6px;color:#101828}
.acs-request-checklist p{font-size:.92rem;line-height:1.75;margin:10px 0;color:#475467;overflow-wrap:anywhere}
@media(max-width:768px){.acs-sector-links-grid{grid-template-columns:1fr}.acs-sector-link{padding:20px}}
.acs-answer-list details{min-width:0;background:#fff;border:1px solid #d9dfe8;border-radius:12px;padding:0 20px}
.acs-answer-list summary{padding:19px 0;font-weight:700;cursor:pointer;line-height:1.5;overflow-wrap:anywhere}
.acs-answer-list details p{margin:0 0 20px;max-width:900px;color:#475467;line-height:1.75;overflow-wrap:anywhere}
.acs-answer-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:26px}
.acs-answer-links a{font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.acs-answer-links a:not(.btn){color:#273b63;text-decoration:underline;text-underline-offset:4px}
@media(max-width:480px){.acs-answer-list details{padding:0 15px}.acs-answer-links{align-items:stretch;flex-direction:column}.acs-answer-links .btn{width:100%;white-space:normal}}

/* Business inquiries: existing ACS palette; no additional motion. */
:root {
    --acs-inquiry-white: #fff;
    --acs-inquiry-slate: #475467;
    --acs-inquiry-line: #7b8799;
    --acs-inquiry-red: #a51d32;
    --acs-inquiry-green: #146446;
    --acs-inquiry-soft: #f7f8fb;
    --acs-inquiry-surface: var(--acs-inquiry-white);
    --acs-inquiry-text: var(--acs-ink);
    --acs-inquiry-muted: var(--acs-inquiry-slate);
    --acs-inquiry-border: var(--acs-inquiry-line);
    --acs-inquiry-danger: var(--acs-inquiry-red);
    --acs-inquiry-success: var(--acs-inquiry-green);
    --acs-inquiry-accent: var(--acs-accent);
    --acs-inquiry-focus: var(--acs-ink);
    --acs-inquiry-type-sm: .875rem;
    --acs-inquiry-type-base: 1rem;
    --acs-inquiry-type-lg: 1.25rem;
    --acs-inquiry-space-1: .25rem;
    --acs-inquiry-space-2: .5rem;
    --acs-inquiry-space-3: .75rem;
    --acs-inquiry-space-4: 1rem;
    --acs-inquiry-space-6: 1.5rem;
    --acs-inquiry-space-8: 2rem;
    --acs-inquiry-control-radius: .625rem;
    --acs-inquiry-panel-radius: var(--acs-radius);
    --acs-inquiry-elevation: none;
    --acs-inquiry-control-bg: var(--acs-inquiry-surface);
    --acs-inquiry-control-height: 3rem;
    --acs-inquiry-control-gap: var(--acs-inquiry-space-6);
}
.acs-inquiry-stack { min-width: 0; display: grid; gap: var(--acs-inquiry-space-6); }
.acs-inquiry {
    min-width: 0; padding: var(--acs-inquiry-space-6);
    background: var(--acs-inquiry-surface); color: var(--acs-inquiry-text);
    border-radius: var(--acs-inquiry-panel-radius); box-shadow: var(--acs-inquiry-elevation);
    font-size: var(--acs-inquiry-type-base); line-height: 1.6;
}
.acs-inquiry [hidden] { display: none !important; }
.acs-inquiry .acs-inquiry-note, .acs-inquiry .acs-inquiry-hint, .acs-inquiry .acs-inquiry-disclosure {
    color: var(--acs-inquiry-muted); font-size: var(--acs-inquiry-type-sm); line-height: 1.6; margin: 0;
}
.acs-inquiry .acs-inquiry-note { margin-bottom: var(--acs-inquiry-space-6); }
.acs-inquiry-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--acs-inquiry-control-gap); }
.acs-inquiry-field { display: flex; flex-direction: column; gap: var(--acs-inquiry-space-2); min-width: 0; }
.acs-inquiry-wide { grid-column: 1 / -1; }
.acs-inquiry label { color: var(--acs-inquiry-text); font-weight: 600; font-size: var(--acs-inquiry-type-base); line-height: 1.5; }
.acs-inquiry label small { font-size: var(--acs-inquiry-type-sm); color: var(--acs-inquiry-muted); font-weight: 400; }
.acs-inquiry :where(input:not([type="checkbox"]), select, textarea) {
    box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%;
    min-height: var(--acs-inquiry-control-height); padding: var(--acs-inquiry-space-3);
    border: 1px solid var(--acs-inquiry-border); border-radius: var(--acs-inquiry-control-radius);
    color: var(--acs-inquiry-text); background: var(--acs-inquiry-control-bg); font: inherit;
}
.acs-inquiry textarea { min-height: 7.5rem; resize: vertical; }
.acs-inquiry .acs-inquiry-consent { display: flex; align-items: flex-start; gap: var(--acs-inquiry-space-3); min-height: 44px; cursor: pointer; }
.acs-inquiry-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin: var(--acs-inquiry-space-1) 0 0; accent-color: var(--acs-inquiry-text); }
.acs-inquiry .acs-inquiry-error { color: var(--acs-inquiry-danger); font-size: var(--acs-inquiry-type-sm); line-height: 1.5; margin: 0; }
.acs-inquiry [aria-invalid="true"] { border: 2px solid var(--acs-inquiry-danger); }
.acs-inquiry-summary { padding: var(--acs-inquiry-space-4); border: 2px solid var(--acs-inquiry-danger); border-radius: var(--acs-inquiry-control-radius); margin-bottom: var(--acs-inquiry-space-6); }
.acs-inquiry-summary p { color: var(--acs-inquiry-danger); font-size: var(--acs-inquiry-type-base); line-height: 1.6; }
.acs-inquiry-summary ul { padding-left: var(--acs-inquiry-space-6); margin: var(--acs-inquiry-space-2) 0 0; }
.acs-inquiry-summary a { display: inline-flex; align-items: center; min-height: 44px; color: var(--acs-inquiry-danger); text-decoration: underline; }
.acs-inquiry-status { color: var(--acs-inquiry-success); overflow-wrap: anywhere; }
.acs-inquiry-status:not(:empty) { padding: var(--acs-inquiry-space-4); border: 1px solid currentColor; border-radius: var(--acs-inquiry-control-radius); margin-bottom: var(--acs-inquiry-space-6); }
.acs-inquiry-status strong { display: block; }
.acs-inquiry .acs-inquiry-submit {
    width: 100%; min-height: var(--acs-inquiry-control-height); margin-top: var(--acs-inquiry-space-6);
    border: 1px solid var(--acs-inquiry-accent); border-radius: var(--acs-inquiry-control-radius);
    padding: var(--acs-inquiry-space-3) var(--acs-inquiry-space-4); background: var(--acs-inquiry-accent);
    color: var(--acs-inquiry-text); font: inherit; font-weight: 700; cursor: pointer;
}
.acs-inquiry-submit:hover:not(:disabled) { background: var(--acs-accent-light); }
.acs-inquiry-submit:active:not(:disabled) { border-color: var(--acs-inquiry-text); }
.acs-inquiry-submit:disabled { background: var(--acs-inquiry-soft); color: var(--acs-inquiry-muted); border-color: var(--acs-inquiry-border); cursor: default; }
.acs-inquiry :where(input, select, textarea, button, a):focus-visible, .acs-inquiry-summary:focus, .acs-inquiry-status:focus {
    outline: 3px solid var(--acs-inquiry-focus) !important; outline-offset: 4px;
}
.acs-inquiry :where(input, select, textarea, button), .acs-inquiry-summary, .acs-inquiry-status { scroll-margin-block: 120px 32px; }
.acs-inquiry-disclosure { color: var(--acs-inquiry-muted); font-size: var(--acs-inquiry-type-sm); line-height: 1.6; max-width: 75ch; overflow-wrap: anywhere; }
.acs-inquiry-disclosure a { display: inline-flex; align-items: center; min-height: 44px; color: var(--acs-inquiry-text); text-decoration: underline; text-underline-offset: 3px; }
.upgrade-form-grid > .acs-inquiry-disclosure { grid-column: 1 / -1; }
.acs-callback { min-width: 0; background: var(--acs-inquiry-surface); color: var(--acs-inquiry-text); border: 1px solid var(--acs-border); border-radius: var(--acs-inquiry-panel-radius); scroll-margin-top: 120px; }
.acs-callback > summary { padding: var(--acs-inquiry-space-4) var(--acs-inquiry-space-6); min-height: 44px; cursor: pointer; font-weight: 600; line-height: 1.6; }
.acs-callback > summary:hover { text-decoration: underline; text-underline-offset: 3px; }
.acs-callback > summary:focus-visible { outline-color: var(--acs-inquiry-focus) !important; outline-offset: -4px; }
.acs-callback .acs-inquiry { padding-top: var(--acs-inquiry-space-2); }
.acs-callback .acs-callback-intro { color: var(--acs-inquiry-muted); font-size: var(--acs-inquiry-type-base); margin: 0 0 var(--acs-inquiry-space-4); line-height: 1.6; }
.upgrade-card > .acs-callback { margin-bottom: var(--acs-inquiry-space-8); }
.acs-callback-link { display: inline-flex; align-items: center; min-height: 44px; padding-block: var(--acs-inquiry-space-2); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; color: inherit; line-height: 1.5; overflow-wrap: anywhere; }
.hero .acs-callback-link, .acs-sector-hero .acs-callback-link { color: var(--acs-inquiry-white); }
.hero .cta-group > .acs-callback-link { grid-column: 1 / -1; }
.acs-inquiry-privacy { scroll-margin-top: 120px; }
@media (min-width: 600px) {
    .acs-inquiry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
    .acs-inquiry { padding: var(--acs-inquiry-space-4); }
    .acs-callback > summary { padding-inline: var(--acs-inquiry-space-4); }
}
/* A narrow desktop cleaning column remains single-column even before the page stacks. */
@media (min-width: 981px) and (max-width: 1199px) {
    .clean-cta .acs-inquiry-grid { grid-template-columns: minmax(0, 1fr); }
}


/* ==========================================================================
   NATIVE MOBILE APPLICATION SHELL (Apple iOS HIG & Android Material Design 3)
   Zero overflow, razor-sharp buttons & icons, safe-area-aware bottom dock
   ========================================================================== */
html, body {
    max-width: 100%;
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
}

/* Crisp vector & icon rendering across all buttons, badges, and navigation */
:where(.btn, .portal-action, .acs-conversion-action, .mobile-menu-links a, .mobile-contact-pill, .clean-nav-cta, .hamburger, .clean-hamburger, .mobile-menu-close, .mobile-lang-btn) {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
}

:where(.btn, .portal-action, .acs-conversion-action, .clean-nav-cta) :where(i, svg) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
    shape-rendering: geometricPrecision;
    transform: translateZ(0);
}

.btn, .portal-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border-radius: 14px !important;
    letter-spacing: -0.005em;
    transition: transform 0.15s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.2s ease, background-color 0.2s ease;
}

.btn:active,
.portal-action:active,
.acs-conversion-action:active,
.mobile-menu-links a:active,
.mobile-lang-btn:active,
.mobile-menu-close:active,
#navbar .hamburger:active,
.clean-hamburger:active {
    transform: scale(0.968) !important;
}

.btn-primary,
.hero .cta-group .btn-primary,
.hero .hero-search-form .btn-primary {
    background: linear-gradient(180deg, #ebb438 0%, #dca125 100%) !important;
    color: #1a1203 !important;
    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42), 0 8px 20px rgba(16, 27, 51, 0.14) !important;
}

/* Native Mobile Viewport Architecture (<= 900px) */
@media (max-width: 900px) {
    /* Zero horizontal overflow on any container or grid child */
    :where(main, section, header, footer, .container, .nav-container, .hero-container,
        .split-container, .jobs-layout, .jd-layout, .upgrade-layout, .clean-grid,
        .clean-services, .clean-deep-grid, .clean-cta-box, .blog-grid) {
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    /* Native App Top Navigation Bar */
    #navbar {
        top: calc(8px + env(safe-area-inset-top, 0px)) !important;
        padding: 0 10px !important;
    }
    #navbar .nav-container {
        min-height: 58px !important;
        padding: 7px 10px 7px 14px !important;
        border-radius: 18px !important;
        background: rgba(11, 20, 38, 0.90) !important;
        border: 1px solid rgba(255, 255, 255, 0.14) !important;
        box-shadow: 0 12px 32px rgba(4, 10, 24, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
        -webkit-backdrop-filter: saturate(180%) blur(22px) !important;
        backdrop-filter: saturate(180%) blur(22px) !important;
    }

    /* Razor-sharp Hamburger Toggle Button */
    #navbar .hamburger {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        border-radius: 12px !important;
        background: rgba(255, 255, 255, 0.10) !important;
        border: 1px solid rgba(255, 255, 255, 0.18) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
    }
    #navbar .hamburger span {
        width: 18px !important;
        height: 2px !important;
        border-radius: 999px !important;
        margin: 0 !important;
    }

    /* Native App Full-Screen Sheet Menu */
    .mobile-menu {
        padding-top: calc(16px + env(safe-area-inset-top, 0px)) !important;
        padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px)) !important;
        background: linear-gradient(180deg, #0b1426 0%, #0e1a32 100%) !important;
        -webkit-backdrop-filter: saturate(180%) blur(24px) !important;
        backdrop-filter: saturate(180%) blur(24px) !important;
    }
    .mobile-menu-links a {
        border-radius: 13px !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border: 1px solid rgba(255, 255, 255, 0.06) !important;
        padding: 11px 14px !important;
    }
    .mobile-menu-links a i {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        flex: 0 0 32px !important;
        border-radius: 9px !important;
        background: rgba(224, 168, 46, 0.14) !important;
        color: #f2c14e !important;
        font-size: 0.92rem !important;
    }

    /* Native Bottom Conversion Dock (iOS Tab Bar / Android Material 3 Navigation Bar) */
    .acs-conversion-dock {
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
        background: rgba(11, 20, 38, 0.92) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
        box-shadow: 0 -10px 32px rgba(5, 10, 22, 0.28) !important;
        -webkit-backdrop-filter: saturate(180%) blur(22px) !important;
        backdrop-filter: saturate(180%) blur(22px) !important;
        gap: 8px !important;
    }
    .acs-conversion-action {
        min-height: 50px !important;
        padding: 7px 10px !important;
        border-radius: 14px !important;
        font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Roboto', sans-serif !important;
        font-size: clamp(0.76rem, 3.1vw, 0.88rem) !important;
        font-weight: 800 !important;
        letter-spacing: -0.01em !important;
        gap: 8px !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 4px 12px rgba(0, 0, 0, 0.16) !important;
        transition: transform 0.14s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.18s ease !important;
    }
    .acs-conversion-action i {
        width: 28px !important;
        height: 28px !important;
        flex: 0 0 28px !important;
        border-radius: 9px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0.86rem !important;
    }
    .acs-conversion-employer {
        background: linear-gradient(180deg, #ebb438 0%, #dca125 100%) !important;
        color: #1c1403 !important;
        border: 1px solid rgba(255, 255, 255, 0.35) !important;
    }
    .acs-conversion-employer i {
        background: rgba(28, 20, 3, 0.12) !important;
        color: #1c1403 !important;
    }
    .acs-conversion-candidate {
        background: #ffffff !important;
        color: #0f1b33 !important;
        border: 1px solid rgba(255, 255, 255, 0.9) !important;
    }
    .acs-conversion-candidate i {
        background: rgba(15, 27, 51, 0.08) !important;
        color: #0f1b33 !important;
    }

    /* Prevent iOS Safari zoom on input focus */
    :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
        font-size: 16px !important;
    }
}

/* Platform-Specific Nuances: Apple iOS vs Google Android */
html[data-mobile-os="ios"] :where(.btn, .portal-action, .acs-conversion-action) {
    border-radius: 14px !important;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Outfit', sans-serif;
}
html[data-mobile-os="ios"] :where(.card, .feature-card, .job-card, .clean-card, .clean-service, .upgrade-card) {
    border-radius: 20px !important;
}

html[data-mobile-os="android"] :where(.btn, .portal-action, .acs-conversion-action) {
    border-radius: 999px !important;
}
html[data-mobile-os="android"] .acs-conversion-action i {
    border-radius: 999px !important;
}
html[data-mobile-os="android"] :where(.card, .feature-card, .job-card, .clean-card, .clean-service, .upgrade-card) {
    border-radius: 16px !important;
}

/* Ultra-compact phones (320px - 360px) — zero clipping in dual conversion dock & hero */
@media (max-width: 360px) {
    .acs-conversion-dock {
        padding: 6px 8px calc(6px + env(safe-area-inset-bottom, 0px)) !important;
        gap: 6px !important;
    }
    .acs-conversion-action {
        min-height: 46px !important;
        padding: 6px 7px !important;
        font-size: 0.72rem !important;
        gap: 5px !important;
    }
    .acs-conversion-action i {
        width: 24px !important;
        height: 24px !important;
        flex: 0 0 24px !important;
        font-size: 0.78rem !important;
    }
}
