/* =========================================================
   Staffing Authority - custom CSS layer on top of theme.json
   ========================================================= */

:root {
    --authority-shadow-sm: 0 1px 2px rgba(14, 26, 43, 0.06), 0 1px 3px rgba(14, 26, 43, 0.08);
    --authority-shadow-md: 0 8px 20px rgba(14, 26, 43, 0.10);
    --authority-shadow-lg: 0 18px 40px rgba(14, 26, 43, 0.18);
    --authority-shadow-header: 0 2px 8px rgba(16, 42, 67, 0.12);
    --authority-transition: 200ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ---------------------------------------------------------
   Defensive overflow rules for sticky header
   (WordPress core / some plugins set overflow-x: hidden which breaks
   position: sticky. overflow-x: clip achieves the same visual result
   without trapping the sticky element in its own scroll container.)
   --------------------------------------------------------- */

html {
    overflow-x: clip;
}
html,
body,
.wp-site-blocks,
main,
.authority-home,
.authority-page,
.authority-archive,
.authority-single {
    overflow: visible;
}

/* ---------------------------------------------------------
   Base typography shims
   --------------------------------------------------------- */

body,
.editor-styles-wrapper {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, .wp-block-heading {
    text-rendering: optimizeLegibility;
}

h4, .wp-block-heading[style*="font-weight:700"] {
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.is-style-authority-display {
    font-family: 'Barlow Condensed', 'Oswald', 'Arial Narrow', sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.005em;
}

.is-style-authority-eyebrow {
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--wp--preset--color--red);
    margin-bottom: 0.5rem;
}

/* ---------------------------------------------------------
   Buttons - authority styles
   --------------------------------------------------------- */

.wp-block-button.is-style-authority-primary > .wp-block-button__link {
    background: var(--wp--preset--color--red);
    color: #ffffff;
    border: 2px solid var(--wp--preset--color--red);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.9375rem;
    padding: 14px 28px;
    border-radius: 8px;
    transition: background-color var(--authority-transition), border-color var(--authority-transition), color var(--authority-transition), transform var(--authority-transition);
}
.wp-block-button.is-style-authority-primary > .wp-block-button__link:hover {
    background: var(--wp--preset--color--red-dark);
    border-color: var(--wp--preset--color--red-dark);
    transform: translateY(-1px);
}

.wp-block-button.is-style-authority-secondary > .wp-block-button__link {
    background: #ffffff;
    color: var(--wp--preset--color--navy);
    border: 2px solid var(--wp--preset--color--navy);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.9375rem;
    padding: 14px 28px;
    border-radius: 8px;
    transition: background-color var(--authority-transition), color var(--authority-transition);
}
.wp-block-button.is-style-authority-secondary > .wp-block-button__link:hover {
    background: var(--wp--preset--color--navy);
    color: #ffffff;
}

.wp-block-button.is-style-authority-ghost > .wp-block-button__link {
    background: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.9375rem;
    padding: 14px 28px;
    border-radius: 8px;
    transition: background-color var(--authority-transition), color var(--authority-transition);
}
.wp-block-button.is-style-authority-ghost > .wp-block-button__link:hover {
    background: #ffffff;
    color: var(--wp--preset--color--navy-dark);
}

/* Arrow link style */

.is-style-authority-arrow-link {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.875rem;
    margin-top: 0.75rem;
}
.is-style-authority-arrow-link a {
    color: var(--wp--preset--color--red);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    padding-bottom: 2px;
    transition: border-color var(--authority-transition), color var(--authority-transition);
}
.is-style-authority-arrow-link a:hover {
    color: var(--wp--preset--color--red-dark);
    border-bottom-color: var(--wp--preset--color--red-dark);
}
.is-style-authority-arrow-link a span[aria-hidden="true"] {
    display: inline-block;
    margin-left: 6px;
    transition: transform var(--authority-transition);
}
.is-style-authority-arrow-link a:hover span[aria-hidden="true"] {
    transform: translateX(4px);
}

/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */

.authority-header {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 600;
    box-shadow: var(--authority-shadow-header);
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: saturate(1.08) blur(6px);
    isolation: isolate;
    will-change: transform;
    transition: box-shadow var(--authority-transition), background-color var(--authority-transition);
}
body.admin-bar .authority-header {
    top: 32px;
}
@media (max-width: 782px) {
    body.admin-bar .authority-header {
        top: 46px;
    }
}

.authority-utility-bar {
    font-size: 0.8125rem;
}
.authority-utility-bar .wp-block-group {
    padding-top: 8px;
    padding-bottom: 8px;
}
.authority-utility-bar a {
    color: #dce6f5;
    text-decoration: none;
}
.authority-utility-bar a:hover {
    color: #ffffff;
    text-decoration: underline;
}
.authority-utility-links {
    gap: 20px !important;
}

.authority-main-bar-inner {
    min-height: 72px;
    padding-top: 16px;
    padding-bottom: 16px;
    gap: 24px;
    align-items: center;
}
.authority-main-bar-inner > * {
    min-width: 0;
}

.authority-site-title a,
.authority-site-title {
    font-family: 'Barlow Condensed', 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
    letter-spacing: 0.01em;
    color: var(--wp--preset--color--navy-dark) !important;
    text-decoration: none;
    text-transform: uppercase;
}

.authority-main-nav .wp-block-navigation__container {
    gap: 28px !important;
}
.authority-main-nav .wp-block-navigation-item__content {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    padding: 8px 0;
    border-bottom: 2px solid transparent;
    transition: color var(--authority-transition), border-color var(--authority-transition);
}
.authority-main-nav .current-menu-item .wp-block-navigation-item__content,
.authority-main-nav .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--red);
    border-bottom-color: var(--wp--preset--color--red);
}

.authority-header-cta .wp-block-button__link {
    white-space: nowrap;
}
body.authority-nav-open {
    overflow: hidden;
}
.authority-main-nav .wp-block-navigation__responsive-container {
    z-index: 900 !important;
}
.authority-main-nav .wp-block-navigation__responsive-container-open,
.authority-main-nav .wp-block-navigation__responsive-container-close {
    min-width: 44px;
    min-height: 44px;
}
.authority-main-nav .wp-block-navigation__responsive-container-close {
    top: 16px;
    right: 16px;
}
.authority-main-nav .wp-block-navigation__responsive-dialog {
    padding: 20px 20px 24px;
}
.authority-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
    display: block;
    padding: 12px 0;
}
/* Force mobile overlay nav to render as a full-screen panel, not inside header flow. */
.authority-main-nav .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    background: var(--wp--preset--color--navy-dark) !important;
    color: #ffffff !important;
    opacity: 1 !important;
}
.authority-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    min-height: 100%;
    align-content: flex-start;
}
.authority-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.authority-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:link,
.authority-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:visited {
    color: #ffffff !important;
}
.authority-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.authority-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible {
    color: #ff8594 !important;
}
.authority-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    color: #ffffff !important;
}

@media (max-width: 900px) {
    .authority-header-cta {
        display: none;
    }
    .authority-utility-bar {
        display: none;
    }
}

@media (max-width: 1100px) {
    .authority-main-nav .wp-block-navigation__container {
        gap: 18px !important;
    }
    .authority-main-bar-inner {
        gap: 14px;
    }
    .authority-site-title,
    .authority-site-title a {
        font-size: 1.35rem !important;
    }
}

/* ---------------------------------------------------------
   Hero - front page
   --------------------------------------------------------- */

.authority-hero {
    padding-top: 96px;
    padding-bottom: 96px;
}
.authority-hero .wp-block-cover__inner-container {
    width: 100%;
}
.authority-hero-grid {
    gap: 48px !important;
    align-items: flex-end;
}
.authority-hero-copy {
    flex: 1 1 0;
}
.authority-hero-copy h1 {
    font-size: clamp(2.25rem, 5.6vw, 4.25rem);
    line-height: 1.02;
}
.authority-hero-card {
    flex: 0 0 380px;
    box-shadow: var(--authority-shadow-lg);
    border-top: 4px solid var(--wp--preset--color--red);
}
.authority-hero-card-heading {
    font-size: 1.125rem !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
    color: var(--wp--preset--color--muted) !important;
}
.authority-hero-card-option h4 {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 1.5rem !important;
    letter-spacing: 0;
    text-transform: none;
    margin-bottom: 4px;
}
.authority-hero-card-divider {
    margin: 18px 0;
    border-color: var(--wp--preset--color--border);
}

@media (max-width: 900px) {
    .authority-hero {
        padding-top: 64px;
        padding-bottom: 64px;
    }
    .authority-hero-grid {
        flex-direction: column;
        align-items: stretch !important;
    }
    .authority-hero-card {
        flex-basis: auto;
    }
}

/* ---------------------------------------------------------
   Split CTA band
   --------------------------------------------------------- */

.authority-split-band-columns {
    gap: 0 !important;
    margin-bottom: 0;
}
.authority-split-band-col {
    position: relative;
    overflow: hidden;
}
.authority-split-band-col::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.08) 100%);
    pointer-events: none;
}
.authority-split-band-navy {
    background: var(--wp--preset--color--navy) !important;
}
.authority-split-band-talent {
    background: linear-gradient(135deg, #0f4c81 0%, #1f6aa5 100%) !important;
}
.authority-split-band-col h2 {
    max-width: 28ch;
}
.authority-split-band-col .is-style-authority-eyebrow {
    color: #9ec4e8 !important;
}
.authority-split-band-col.talent-context .is-style-authority-eyebrow {
    color: #c8e5ff !important;
}
.authority-split-band-col.talent-context .wp-block-button.is-style-authority-ghost > .wp-block-button__link {
    border-color: rgba(255, 255, 255, 0.9);
    color: #ffffff;
}
.authority-split-band-col.talent-context .wp-block-button.is-style-authority-ghost > .wp-block-button__link:hover {
    background: #ffffff;
    color: #0f4c81;
}

/* ---------------------------------------------------------
   Section heads
   --------------------------------------------------------- */

.authority-section-head {
    margin-bottom: 48px;
    gap: 24px !important;
}
.authority-section-head h2 {
    margin-bottom: 0;
}

/* ---------------------------------------------------------
   Service tile grid
   --------------------------------------------------------- */

.authority-tile-columns {
    gap: 24px !important;
}
.wp-block-group.is-style-authority-tile {
    background: #ffffff;
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 8px;
    padding: 32px 28px;
    height: 100%;
    box-shadow: var(--authority-shadow-sm);
    transition: transform var(--authority-transition), box-shadow var(--authority-transition), border-color var(--authority-transition);
    position: relative;
}
.wp-block-group.is-style-authority-tile:hover {
    transform: translateY(-4px);
    box-shadow: var(--authority-shadow-md);
    border-color: var(--wp--preset--color--navy);
}
.wp-block-group.is-style-authority-tile h3 {
    font-size: 1.5rem;
    margin-top: 4px;
    margin-bottom: 12px;
    color: var(--wp--preset--color--navy-dark);
}
.wp-block-group.is-style-authority-tile p {
    color: var(--wp--preset--color--muted);
    margin-bottom: 16px;
}
.authority-tile-icon {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f4f6fa;
    border-radius: 10px;
    margin-bottom: 16px;
    color: var(--wp--preset--color--red);
}
.authority-tile-icon img,
.authority-tile-icon svg {
    width: 32px;
    height: 32px;
    display: block;
}

/* ---------------------------------------------------------
   Stat band
   --------------------------------------------------------- */

.authority-stat-columns {
    gap: 40px !important;
}
.wp-block-group.is-style-authority-stat {
    border-top: 2px solid var(--wp--preset--color--red);
    padding-top: 20px;
}
.authority-stat-value {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: clamp(2.25rem, 3.5vw, 3rem) !important;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 8px;
    text-transform: none;
    letter-spacing: 0;
}
.authority-stat-label {
    font-size: 0.9375rem;
    margin: 0;
}

/* ---------------------------------------------------------
   Pull quote panel
   --------------------------------------------------------- */

.authority-quote-panel-columns {
    gap: 48px !important;
}
.authority-quote-portrait img {
    aspect-ratio: 4/5;
    object-fit: cover;
    width: 100%;
    display: block;
}
.authority-quote-body.wp-block-quote {
    border-left: 4px solid var(--wp--preset--color--red);
    padding-left: 24px;
    margin: 0;
}
.authority-quote-body.wp-block-quote p {
    font-family: 'Source Serif Pro', Georgia, serif;
    font-style: italic;
    color: #ffffff;
    font-size: clamp(1.25rem, 2vw, 1.625rem);
    line-height: 1.35;
    margin-bottom: 16px;
}
.authority-quote-body.wp-block-quote cite {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.8125rem;
    color: #ff8594;
}

/* ---------------------------------------------------------
   Insights grid
   --------------------------------------------------------- */

.authority-insight-columns {
    gap: 28px !important;
}
.wp-block-group.is-style-authority-insight-card {
    background: #ffffff;
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 8px;
    overflow: hidden;
    height: 100%;
    transition: transform var(--authority-transition), box-shadow var(--authority-transition);
    display: flex;
    flex-direction: column;
}
.wp-block-group.is-style-authority-insight-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--authority-shadow-md);
}
.authority-insight-thumb {
    margin: 0;
}
.authority-insight-thumb img {
    aspect-ratio: 16/10;
    object-fit: cover;
    width: 100%;
    display: block;
}
.wp-block-group.is-style-authority-insight-card > :not(.authority-insight-thumb) {
    padding-left: 24px;
    padding-right: 24px;
}
.wp-block-group.is-style-authority-insight-card > .authority-tag {
    padding-top: 20px;
    padding-bottom: 0;
    margin-bottom: 6px;
}
.wp-block-group.is-style-authority-insight-card > :last-child {
    padding-bottom: 24px;
    margin-top: auto;
}
.wp-block-group.is-style-authority-insight-card h3 {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.375rem;
    line-height: 1.2;
    margin: 0 0 10px;
}
.wp-block-group.is-style-authority-insight-card h3 a {
    color: var(--wp--preset--color--navy-dark);
    text-decoration: none;
}
.wp-block-group.is-style-authority-insight-card h3 a:hover {
    color: var(--wp--preset--color--red);
}
.authority-tag {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--wp--preset--color--red);
    background: #fbe7ea;
    padding: 4px 10px;
    border-radius: 3px;
    margin: 0;
}
.wp-block-group.is-style-authority-insight-card p:not(.authority-tag):not(.is-style-authority-arrow-link) {
    color: var(--wp--preset--color--muted);
    font-size: 0.9375rem;
    line-height: 1.55;
    margin: 0 0 14px;
}

/* ---------------------------------------------------------
   Proof placeholder
   --------------------------------------------------------- */

.authority-proof-card h3 {
    margin-bottom: 12px;
    font-size: 1.75rem;
}
.authority-proof-card h4 {
    font-size: 0.9375rem;
    margin-bottom: 8px;
    color: var(--wp--preset--color--navy-dark);
}

/* ---------------------------------------------------------
   CTA band
   --------------------------------------------------------- */

.authority-cta-band-inner {
    gap: 32px !important;
    align-items: center;
}
.authority-cta-band h2 {
    margin: 6px 0 10px;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    color: #ffffff;
}
.authority-cta-band-actions {
    gap: 12px !important;
    flex-wrap: wrap !important;
}
.authority-cta-band .wp-block-button.is-style-authority-secondary > .wp-block-button__link {
    background: #ffffff;
    color: var(--wp--preset--color--red);
    border-color: #ffffff;
}
.authority-cta-band .wp-block-button.is-style-authority-secondary > .wp-block-button__link:hover {
    background: var(--wp--preset--color--navy-dark);
    border-color: var(--wp--preset--color--navy-dark);
    color: #ffffff;
}

/* ---------------------------------------------------------
   Page hero + breadcrumbs
   --------------------------------------------------------- */

.authority-page-hero {
    display: flex;
    align-items: center;
}
.authority-page-hero h1 {
    margin: 8px 0 12px;
}
.authority-breadcrumbs {
    margin: 0 0 12px;
    letter-spacing: 0.02em;
}
.authority-breadcrumbs a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted currentColor;
}
.authority-breadcrumbs a:hover {
    color: var(--wp--preset--color--red);
    border-bottom-color: var(--wp--preset--color--red);
}

/* ---------------------------------------------------------
   Page content readability
   --------------------------------------------------------- */

/* Page body acts as a full-bleed canvas (matches home). Content width is
   governed by theme.json contentSize/wideSize and per-block alignfull/alignwide. */
.authority-page-body {
    background: #ffffff;
}
.authority-interior-shell {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(16px, 2.5vw, 40px);
    padding-right: clamp(16px, 2.5vw, 40px);
    box-sizing: border-box;
}
.authority-page-body .wp-block-columns {
    gap: clamp(16px, 2vw, 28px) !important;
}
.authority-page-body .wp-block-columns > .wp-block-column {
    min-width: 0;
}
.authority-page-body .wp-block-columns:not(.authority-location-grid):not(.authority-industry-grid):not(.authority-industry-challenges):not(.authority-industry-roles):not(.authority-stat-columns):not(.authority-trends-columns):not(.authority-feature-split-columns):not(.authority-testimonial-columns):not(.authority-quote-panel-columns) > .wp-block-column {
    background: #f8fafc;
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 12px;
    padding: clamp(16px, 1.8vw, 24px);
}
@media (min-width: 1024px) {
    .authority-page-body ul.wp-block-list:not(.authority-checklist):has(> li:nth-child(4)) {
        columns: 2;
        column-gap: clamp(18px, 2.2vw, 34px);
    }
    .authority-page-body ul.wp-block-list:not(.authority-checklist):has(> li:nth-child(4)) li {
        break-inside: avoid;
    }
}
.authority-page-body h2 {
    margin-top: 48px;
}
.authority-page-body h3 {
    margin-top: 28px;
}
.authority-page-body ul,
.authority-page-body ol {
    padding-left: 1.25em;
}
.authority-page-body ul li,
.authority-page-body ol li {
    margin: 6px 0;
}

/* Keep seeded editorial images human-centered without taking over the viewport. */
.authority-page-body .authority-content-image img,
.authority-page-body .wp-block-image.alignwide.size-large img {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-height: min(68vh, 640px);
    object-fit: cover;
    display: block;
}
/* Backwards-compat: old class name kept in case of cached templates */
.authority-page-content {
    background: #ffffff;
}
.authority-page-content h2 {
    margin-top: 48px;
}
.authority-page-content h3 {
    margin-top: 28px;
}
.authority-page-content ul,
.authority-page-content ol {
    padding-left: 1.25em;
}
.authority-page-content ul li,
.authority-page-content ol li {
    margin: 6px 0;
}

/* ---------------------------------------------------------
   Footer (ported dark-navy)
   --------------------------------------------------------- */

.authority-footer {
    color: #dce6f5;
}
.authority-footer h4 {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9375rem !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 12px;
    color: #ffffff;
}
.authority-footer-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}
.authority-footer-list li {
    margin: 8px 0;
}
.authority-footer a {
    color: #dce6f5;
    text-decoration: none;
    transition: color var(--authority-transition);
}
.authority-footer a:hover {
    color: #ffffff;
    text-decoration: underline;
}
.authority-footer-divider {
    margin: 32px 0 20px;
    border: none;
    height: 1px;
    background: #1b3152;
}
.authority-footer-meta {
    gap: 16px !important;
    font-size: 0.8125rem;
    color: #8ea0bd;
}

/* ---------------------------------------------------------
   Hiring trends row + feature split (Robert Half-inspired density)
   --------------------------------------------------------- */

.authority-trends-columns {
    gap: 28px !important;
}
.authority-trends-card h3 {
    margin: 14px 0 8px;
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 1.375rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.authority-trends-card h3 a {
    color: var(--wp--preset--color--navy);
    text-decoration: none;
}
.authority-trends-card h3 a:hover {
    color: var(--wp--preset--color--red);
}
.authority-trends-img {
    margin-bottom: 0 !important;
    overflow: hidden;
    border-radius: 14px;
}
.authority-trends-img img {
    display: block;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    width: 100%;
    transition: transform var(--authority-transition);
}
.authority-trends-img a:hover img {
    transform: scale(1.03);
}

.authority-feature-split-columns {
    gap: 48px !important;
}
.authority-feature-split-img img {
    display: block;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    width: 100%;
    border-radius: 18px;
    box-shadow: var(--authority-shadow-md);
}
.authority-checklist {
    margin: 12px 0 20px !important;
    padding-left: 0 !important;
    list-style: none !important;
}
.authority-checklist li {
    margin: 10px 0 !important;
    padding-left: 16px !important;
    border-left: 3px solid var(--wp--preset--color--red);
    list-style: none !important;
}

.authority-header.is-scrolled {
    box-shadow: 0 6px 24px rgba(14, 26, 43, 0.14);
}

.authority-hero .wp-block-cover__image-background {
    filter: saturate(1.05) contrast(1.02);
}

/* ---------------------------------------------------------
   Trust logo strip, testimonials, open roles preview, proof note
   --------------------------------------------------------- */

.authority-trust-logos {
    margin-top: 32px;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px 16px !important;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
.authority-trust-logo-pill {
    background: #ffffff;
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 999px;
    padding: 10px 20px;
    box-shadow: var(--authority-shadow-sm);
    flex: 0 0 auto;
}
.authority-trust-logo-pill p {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #3d4a5c;
    white-space: nowrap;
    letter-spacing: 0.01em;
}
.authority-trust-logo-pill:hover {
    border-color: var(--wp--preset--color--navy);
    color: var(--wp--preset--color--ink);
}

.authority-trust-marquee {
    margin-top: 28px;
    overflow: hidden;
    position: relative;
}
.authority-trust-marquee-track {
    display: flex;
    align-items: center;
    gap: 44px;
    width: max-content;
    animation: authorityTrustMarquee 42s linear infinite;
}
.authority-trust-marquee:hover .authority-trust-marquee-track {
    animation-play-state: paused;
}
.authority-trust-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    min-height: 42px;
    text-decoration: none;
}
.authority-trust-logo img {
    max-height: 36px;
    width: auto;
    object-fit: contain;
    filter: grayscale(100%) contrast(0.92) brightness(0.92);
    opacity: 0.82;
    transition: filter var(--authority-transition), opacity var(--authority-transition), transform var(--authority-transition);
}
.authority-trust-logo:hover img,
.authority-trust-logo:focus-visible img {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-1px);
}
.authority-trust-logo-fallback {
    padding: 8px 18px;
    border-radius: 999px;
    border: 1px solid var(--wp--preset--color--border);
    background: #ffffff;
    color: var(--wp--preset--color--navy-dark);
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.authority-trust-snapshot-compact .authority-trust-logos--compact {
    margin-top: 24px !important;
    gap: 10px 14px !important;
}
.authority-trust-snapshot-compact .authority-trust-logo-pill {
    padding: 8px 16px;
}
.authority-trust-snapshot-compact .authority-trust-logo-pill p {
    font-size: 0.8125rem;
}

.authority-testimonial-columns {
    gap: 24px !important;
    margin-top: 8px;
}

@keyframes authorityTrustMarquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
.authority-testimonial-card {
    background: #f4f6fa;
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 14px;
    padding: 24px 22px 22px;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: var(--authority-shadow-sm);
    transition: box-shadow var(--authority-transition), transform var(--authority-transition);
}
.authority-testimonial-card:hover {
    box-shadow: var(--authority-shadow-md);
    transform: translateY(-2px);
}
.authority-testimonial-avatar {
    margin: 0 0 12px !important;
}
.authority-testimonial-avatar img {
    object-fit: cover;
    display: block;
}
.authority-testimonial-quote {
    border: none;
    margin: 0;
    padding: 0;
    font-style: normal;
    color: var(--wp--preset--color--ink);
}
.authority-testimonial-quote p {
    font-style: italic;
    font-size: 1.05rem;
    line-height: 1.5;
    margin: 0 0 12px;
    color: #1f2933;
}
.authority-testimonial-quote cite {
    display: block;
    font-size: 0.875rem;
    font-style: normal;
    color: var(--wp--preset--color--muted);
    line-height: 1.45;
}
.authority-testimonial-quote cite strong {
    color: var(--wp--preset--color--navy-dark);
}

.authority-open-roles .is-style-authority-arrow-link a {
    color: #ffffff;
    border-bottom-color: rgba(255, 255, 255, 0.4);
}
.authority-open-roles .is-style-authority-arrow-link a:hover {
    color: #ff8594;
    border-bottom-color: #ff8594;
}
.authority-job-preview-query {
    margin-top: 8px;
}
.authority-job-card h3 a {
    color: var(--wp--preset--color--navy-dark);
    text-decoration: none;
    font-size: 1.2rem;
    line-height: 1.25;
}
.authority-job-card h3 a:hover {
    color: var(--wp--preset--color--red);
}
.authority-job-card .wp-block-post-excerpt {
    color: var(--wp--preset--color--muted);
    font-size: 0.9375rem;
    line-height: 1.5;
    margin: 0 0 14px;
}
.authority-job-card .wp-block-buttons {
    margin-top: auto;
}

.authority-proof-note-inner h3 {
    margin-top: 8px;
}

.authority-job-archive-card h3 a {
    color: var(--wp--preset--color--navy-dark);
    text-decoration: none;
    font-size: 1.35rem;
}
.authority-job-archive-card h3 a:hover {
    color: var(--wp--preset--color--red);
}
.authority-job-archive-card .wp-block-post-excerpt {
    color: var(--wp--preset--color--muted);
    margin: 0 0 16px;
}
.authority-open-roles-content {
    background: #ffffff;
}
.authority-job-archive-toolbar {
    margin-bottom: 24px;
    gap: 14px 22px !important;
}
.authority-job-search {
    margin: 0;
}
.authority-job-search .wp-block-search__inside-wrapper {
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 10px;
    background: #f8fafc;
    padding: 4px;
}
.authority-job-search-form {
    display: inline-flex;
    align-items: stretch;
    width: 360px;
    max-width: 100%;
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 10px;
    background: #f8fafc;
    padding: 4px;
    gap: 4px;
}
.authority-job-search-form input[type="search"] {
    flex: 1 1 auto;
    border: 0;
    background: transparent;
    padding: 8px 12px;
    font-size: 0.9375rem;
    color: var(--wp--preset--color--ink);
    min-width: 0;
}
.authority-job-search-form input[type="search"]:focus {
    outline: 2px solid var(--wp--preset--color--navy);
    outline-offset: 1px;
    border-radius: 6px;
}
.authority-job-search-form button[type="submit"] {
    background: var(--wp--preset--color--navy);
    color: #ffffff;
    border: 0;
    border-radius: 8px;
    padding: 8px 18px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color var(--authority-transition);
    min-height: 44px;
}
.authority-job-search-form button[type="submit"]:hover {
    background: var(--wp--preset--color--red);
}
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}
.authority-job-filter-links {
    margin: 0;
    color: var(--wp--preset--color--muted);
    font-size: 0.9375rem;
}
.authority-job-filter-links a {
    color: var(--wp--preset--color--navy);
    text-decoration: none;
}
.authority-job-filter-links a:hover {
    color: var(--wp--preset--color--red);
    text-decoration: underline;
}
@media (max-width: 820px) {
    .authority-job-archive-toolbar {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .authority-job-search-form {
        width: 100%;
    }
    .authority-job-filter-links a {
        display: inline-block;
        padding: 8px 10px;
        margin: 2px 6px 2px 0;
        border: 1px solid var(--wp--preset--color--border);
        border-radius: 999px;
        text-decoration: none;
        line-height: 1.2;
    }
}

/* ---------------------------------------------------------
   Industry hub grid cards
   --------------------------------------------------------- */

.authority-industry-grid {
    gap: 24px !important;
    margin-bottom: 24px !important;
}
.authority-industry-card {
    background: #ffffff;
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 12px;
    padding: 28px 26px;
    height: 100%;
    box-shadow: var(--authority-shadow-sm);
    transition: transform var(--authority-transition), box-shadow var(--authority-transition), border-color var(--authority-transition);
    display: flex;
    flex-direction: column;
}
.authority-industry-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--authority-shadow-md);
    border-color: var(--wp--preset--color--navy);
}
.authority-industry-card h3 {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 1.5rem !important;
    line-height: 1.15;
    margin: 0 0 10px;
    letter-spacing: 0;
    text-transform: none;
}
.authority-industry-card h3 a {
    color: var(--wp--preset--color--navy-dark);
    text-decoration: none;
}
.authority-industry-card h3 a:hover {
    color: var(--wp--preset--color--red);
}
.authority-industry-card p {
    color: var(--wp--preset--color--muted);
    font-size: 0.9375rem;
    line-height: 1.55;
    margin: 0 0 14px;
}
.authority-industry-card p.is-style-authority-arrow-link {
    margin-top: auto;
}

/* Small image at the top of each industry hub tile.
   Sits flush with the card's rounded top edge using a negative margin
   that cancels the .authority-industry-card padding above. */
.authority-industry-card .authority-industry-card-image {
    margin: -28px -26px 18px !important;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
}
.authority-industry-card .authority-industry-card-image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: cover;
    display: block;
    transition: transform var(--authority-transition);
}
.authority-industry-card:hover .authority-industry-card-image img {
    transform: scale(1.02);
}

/* ---------------------------------------------------------
   Industry detail page - challenge/solution + role match
   --------------------------------------------------------- */

.authority-industry-challenges {
    gap: 20px !important;
    margin: 12px 0 32px !important;
}
.authority-industry-challenge {
    background: #f8fafc;
    border-left: 4px solid var(--wp--preset--color--red);
    padding: 20px 22px;
    border-radius: 0 10px 10px 0;
    height: 100%;
}
.authority-industry-challenge h3 {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 1.25rem !important;
    margin: 0 0 8px;
    letter-spacing: 0;
    text-transform: none;
    color: var(--wp--preset--color--navy-dark);
}
.authority-industry-challenge p {
    color: var(--wp--preset--color--muted);
    font-size: 0.9375rem;
    line-height: 1.55;
    margin: 0;
}

.authority-industry-roles {
    gap: 18px !important;
    margin-top: 12px !important;
}
.authority-industry-role {
    background: #ffffff;
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 10px;
    padding: 22px 22px;
    height: 100%;
    transition: box-shadow var(--authority-transition), border-color var(--authority-transition);
}
.authority-industry-role:hover {
    box-shadow: var(--authority-shadow-sm);
    border-color: var(--wp--preset--color--navy);
}
.authority-industry-role h3 {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 1.25rem !important;
    margin: 0 0 8px;
    letter-spacing: 0;
    text-transform: none;
    color: var(--wp--preset--color--navy-dark);
}
.authority-industry-role p {
    color: var(--wp--preset--color--muted);
    font-size: 0.9375rem;
    line-height: 1.5;
    margin: 0 0 10px;
}

/* Constrained short banner at the top of an industry-specific page.
   Higher specificity than .authority-page-body .wp-block-image.alignwide.size-large img
   so the banner stays a thin photographic strip instead of a 16:9 hero. */
.authority-page-body .authority-industry-banner {
    margin: 0 auto 28px !important;
    overflow: hidden;
    border-radius: 12px;
}
.authority-page-body .authority-industry-banner img,
.authority-page-body .wp-block-image.alignwide.size-large.authority-industry-banner img {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    max-height: 220px;
    object-fit: cover;
    display: block;
}

@media (max-width: 820px) {
    .authority-industry-grid {
        flex-direction: column !important;
    }
    .authority-industry-grid .wp-block-column {
        flex-basis: 100% !important;
    }
    .authority-industry-challenges {
        flex-direction: column !important;
    }
    .authority-industry-challenges .wp-block-column {
        flex-basis: 100% !important;
    }
    .authority-industry-roles {
        flex-direction: column !important;
    }
    .authority-industry-roles .wp-block-column {
        flex-basis: 100% !important;
    }
    .authority-page-body .authority-industry-banner img,
    .authority-page-body .wp-block-image.alignwide.size-large.authority-industry-banner img {
        max-height: 160px;
    }
}

/* ---------------------------------------------------------
   Locations hub - state cards
   --------------------------------------------------------- */

.authority-location-grid {
    gap: 20px !important;
    margin-bottom: 20px !important;
}
.authority-location-card {
    background: #ffffff;
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 10px;
    padding: 22px 22px;
    height: 100%;
    box-shadow: var(--authority-shadow-sm);
    transition: transform var(--authority-transition), box-shadow var(--authority-transition), border-color var(--authority-transition);
}
.authority-location-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--authority-shadow-md);
    border-color: var(--wp--preset--color--navy);
}
.authority-location-card h3 {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 1.375rem !important;
    line-height: 1.15;
    margin: 0 0 8px;
    letter-spacing: 0;
    text-transform: none;
}
.authority-location-card h3 a {
    color: var(--wp--preset--color--navy-dark);
    text-decoration: none;
}
.authority-location-card h3 a:hover {
    color: var(--wp--preset--color--red);
}
.authority-location-card p {
    color: var(--wp--preset--color--muted);
    font-size: 0.9375rem;
    line-height: 1.5;
    margin: 0;
}
@media (max-width: 820px) {
    .authority-location-grid {
        flex-direction: column !important;
    }
    .authority-location-grid .wp-block-column {
        flex-basis: 100% !important;
    }
}

/* ---------------------------------------------------------
   Responsive tweaks
   --------------------------------------------------------- */

@media (max-width: 820px) {
    .authority-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
        font-size: 1.0625rem;
        min-height: 44px;
        display: flex;
        align-items: center;
    }
    .authority-cta-band-actions .wp-block-button__link {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .authority-footer-list a {
        display: inline-block;
        padding: 6px 0;
    }
    h1, h2, h3, h4, h5, h6 {
        scroll-margin-top: 96px;
    }
    .authority-page-body ul.wp-block-list:not(.authority-checklist) {
        columns: 1;
    }
    .authority-page-body .authority-content-image img,
    .authority-page-body .wp-block-image.alignwide.size-large img {
        max-height: 46vh;
    }
    .authority-trends-columns {
        flex-direction: column !important;
    }
    .authority-feature-split-columns {
        flex-direction: column !important;
    }
    .authority-feature-split-columns .wp-block-column {
        flex-basis: 100% !important;
    }
    .authority-section-head {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .authority-cta-band-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .authority-footer-columns {
        flex-direction: column !important;
    }
    .authority-footer-columns .wp-block-column {
        margin-bottom: 24px;
    }
    .authority-quote-panel-columns {
        flex-direction: column !important;
    }
    .authority-quote-panel-columns .wp-block-column {
        flex-basis: 100% !important;
    }
    .authority-testimonial-columns {
        flex-direction: column !important;
    }
    .authority-job-preview-query .wp-block-post-template {
        grid-template-columns: 1fr !important;
    }
    .authority-job-archive-query .wp-block-post-template {
        grid-template-columns: 1fr !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .authority-trust-marquee-track {
        animation: none !important;
        transform: none !important;
    }
}
