/* October visual follow-up. Scoped overrides after legacy Elementor styles. */

/* Full hero interaction surface, with the copy above the 3D canvas. */
.hero-section:not(.inner-hero) { position: relative; isolation: isolate; overflow: clip; }
.hero-section:not(.inner-hero) > .e-con-inner { position: static; }
.hero-section:not(.inner-hero) .hero-model {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0;
    gap: 0 !important;
}
.hero-section:not(.inner-hero) .hero-content { position: relative; z-index: 1; pointer-events: none; }
.hero-section:not(.inner-hero) .hero-content a,
.hero-section:not(.inner-hero) .hero-content button { pointer-events: auto; }
.hero-model .elementor-widget-html { display: none; }
.hero-model .elementor-widget-3dModelViewer,
.hero-model .elementor-widget-container,
.hero-model .modelViewerBlock,
.hero-model .modelViewerBlock > div,
.hero-model model-viewer {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.hero-model model-viewer { display: block; background: transparent !important; }

/* Match the reference question typography, with identical open/closed geometry. */
.page-id-290 .faq-accordion .e-n-accordion-item-title-text {
    font: 700 21.6px/1.5 "Saira", sans-serif !important;
    letter-spacing: .01em !important;
    color: #222 !important;
}
.page-id-290 .faq-accordion .e-n-accordion-item-title,
.page-id-290 .faq-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title {
    padding: 28px 32px !important;
    justify-content: space-between !important;
    gap: 24px !important;
    border: 0 !important;
    transform: none !important;
}
.page-id-290 .faq-accordion .e-n-accordion-item-title-header { flex: 1 1 auto; min-width: 0; }

/* The markets list is a separate Elementor section: reserve its own top gap. */
.page-id-428 main .e-parent:has(> .e-con-inner > .markets-accordion) {
    padding-top: 64px !important;
}
.page-id-428 .markets-trigger { padding: 32px !important; }
.page-id-428 .markets-title { line-height: 1.5 !important; }
.page-id-428 .methodology-visual { gap: 0 !important; }
.page-id-428 .methodology-visual .methodology-image { margin-bottom: 0 !important; }
.page-id-428 .methodology-quote { margin-top: 0 !important; }

/* About controls must not inherit Portfolio's underline navigation. */
.page-id-623 .team-filter .e-filter { gap: 8px !important; flex-wrap: wrap !important; }
.page-id-623 .team-filter .e-filter-item {
    min-height: 36px !important;
    padding: 8px 20px !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    color: rgba(255,255,255,.6) !important;
    background: transparent !important;
    font: 700 12px/1.4 "Saira", sans-serif !important;
    letter-spacing: .12em !important;
}
.page-id-623 .team-filter .e-filter-item::after { content: none !important; }
.page-id-623 .team-filter .e-filter-item:hover {
    color: #fff !important;
    border-color: rgba(255,255,255,.5) !important;
}
.page-id-623 .team-filter .e-filter-item[aria-pressed="true"] {
    color: #222 !important;
    background: #ffef5c !important;
    border-color: #ffef5c !important;
}
.page-id-623 .team-filter .e-filter-item:focus-visible { outline-offset: 3px !important; }

/* Treat the image and pull quote as one reveal, retaining internal layout. */
.lsb-joined-visual { transition: none !important; }
.lsb-joined-visual .quality-image-top,
.lsb-joined-visual .quality-bottom,
.lsb-joined-visual .quality-image-bottom,
.lsb-joined-visual .quality-quote,
.lsb-joined-visual .methodology-image,
.lsb-joined-visual .methodology-quote {
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: none !important;
}
.quality-bottom { gap: 0 !important; }
.quality-bottom .quality-quote { position: relative !important; inset: auto !important; flex: 0 0 auto !important; }

/* Preserve the uploaded check artwork while removing the inherited backing. */
:is(.methodology-section-wwd, .quality-section, .careers-culture, .elementor-element-74421e8)
.elementor-icon-list-icon { background: transparent !important; box-shadow: none !important; }

/* Image zoom stays inside its crop and never moves the quote. */
:is(.methodology-image, .expertise-image, .quality-image-top, .quality-image-bottom, .careers-image, .careers-opportunities-image) {
    overflow: hidden;
}
:is(.methodology-image, .expertise-image, .quality-image-top, .quality-image-bottom, .careers-image, .careers-opportunities-image) img {
    transition: transform .75s cubic-bezier(.22,1,.36,1);
}
@media (hover: hover) and (pointer: fine) {
    :is(.methodology-image, .expertise-image, .quality-image-top, .quality-image-bottom, .careers-image, .careers-opportunities-image):hover img {
        transform: scale(1.045);
    }
}
@media (max-width: 1023px) {
    .quality-bottom { flex: none !important; min-height: 0 !important; }
    .quality-bottom .quality-image-bottom { flex: none !important; height: 360px !important; min-height: 360px !important; }
}
@media (max-width: 767px) {
    .page-id-290 .faq-accordion .e-n-accordion-item-title,
    .page-id-290 .faq-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title { padding: 24px !important; gap: 12px !important; }
    .page-id-290 .faq-accordion .e-n-accordion-item-title-text { font-size: 17.6px !important; line-height: 1.4 !important; }
    .page-id-290 .faq-accordion .e-n-accordion-item-title-icon { width: 16px; height: 16px; flex: 0 0 16px; }
    .page-id-290 .faq-accordion .e-n-accordion-item-title-icon::before { width: 7px; height: 7px; }
    .page-id-290 .faq-accordion .elementor-widget-text-editor { padding: 0 24px 24px !important; }
    .page-id-428 main .e-parent:has(> .e-con-inner > .markets-accordion) { padding-top: 40px !important; }
    .page-id-428 .markets-trigger { padding: 24px !important; gap: 12px !important; }
    .page-id-428 .markets-title { font-size: 19.2px !important; }
    .page-id-428 .markets-arrow { flex: 0 0 16px; width: 16px; }
    .quality-bottom .quality-image-bottom { height: 280px !important; min-height: 280px !important; }
    .quality-bottom .quality-quote { display: flex !important; height: auto !important; overflow: visible !important; }
    .page-id-538 .testimonials-section { margin-top: -1px !important; }
}
@media (prefers-reduced-motion: reduce) {
    .lsb-joined-visual, .lsb-joined-visual *,
    :is(.methodology-image, .expertise-image, .quality-image-top, .quality-image-bottom, .careers-image, .careers-opportunities-image) img {
        animation: none !important; transition: none !important; transform: none !important;
    }
}
.page-id-428 .markets-title .elementor-heading-title { line-height: 1.5 !important; }
@media (max-width: 767px) {
    .page-id-428 .markets-title .elementor-heading-title { font-size: 19.2px !important; }
    .page-id-428 .markets-chevron { width: 16px !important; flex: 0 0 16px !important; }
}
.lsb-benefits-intro {
    max-width: 768px;
    margin: 0 auto 48px !important;
    color: rgba(255,255,255,.7);
    text-align: center;
    font: 500 16.8px/1.85 "Be Vietnam Pro", sans-serif;
}
@media (max-width: 767px) {
    .lsb-desktop-break { display: none; }
    .page-id-538 .testimonials-intro { text-align: left !important; }
}
/* Elementor's svg fill can paint the open check path; keep it stroked. */
:is(.methodology-section-wwd, .quality-section, .careers-culture)
.elementor-icon-list-icon svg,
:is(.methodology-section-wwd, .quality-section, .careers-culture)
.elementor-icon-list-icon svg path { fill: none !important; }
.page-id-623 .team-filter .e-filter-item { height: 34px !important; min-height: 34px !important; align-self: center !important; }
@media (max-width: 767px) {
    .page-id-428 .markets-trigger-left { min-width: 0 !important; gap: 12px !important; }
    .page-id-428 .markets-icon { width: 32px !important; height: 32px !important; flex: 0 0 32px !important; }
    .page-id-428 .markets-title .elementor-heading-title { font-size: 16px !important; letter-spacing: 0 !important; }
    .page-id-428 .markets-chevron { width: 12px !important; flex-basis: 12px !important; }
    .page-id-428 .markets-chevron svg { width: 12px !important; height: 12px !important; }
}
@media (max-width: 767px) {
    .page-id-428 .markets-trigger,
    .page-id-428 .markets-trigger-left { flex-wrap: nowrap !important; }
    .page-id-428 .markets-icon .elementor-widget-container,
    .page-id-428 .markets-icon svg { width: 32px !important; height: 32px !important; }
    .page-id-428 .markets-chevron .elementor-widget-container,
    .page-id-428 .markets-chevron .elementor-icon-wrapper,
    .page-id-428 .markets-chevron .elementor-icon { width: 12px !important; height: 12px !important; font-size: 12px !important; }
}
@media (max-width: 767px) {
    .page-id-428 .markets-trigger { padding-inline: 20px !important; gap: 8px !important; }
    .page-id-428 .markets-trigger-left { gap: 8px !important; }
    .page-id-428 .markets-icon { width: 28px !important; height: 28px !important; flex-basis: 28px !important; }
    .page-id-428 .markets-icon .elementor-widget-container,
    .page-id-428 .markets-icon svg { width: 28px !important; height: 28px !important; }
}
.page-id-623 .team-filter .e-filter-item { box-sizing: border-box !important; min-height: 36px !important; height: 36px !important; }
.lsb-joined-visual > .elementor-element,
.staff-testimonials .lsb-joined-visual .testimonials-title,
.staff-testimonials .lsb-joined-visual .testimonials-eyebrow,
.staff-testimonials .lsb-joined-visual .hero-tagline,
.staff-testimonials .lsb-joined-visual .testimonials-carousel-wrap {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
.page-id-538 .staff-testimonials .testimonials-intro { gap: 0 !important; }
.page-id-538 .staff-testimonials .testimonials-eyebrow { margin-bottom: 28px !important; }
.page-id-538 .staff-testimonials .testimonials-title { margin-bottom: 32px !important; }
.page-id-538 .staff-testimonials .hero-tagline { margin: 0 !important; }
