/* ==========================================================================
   Landing - Consultation Stylesheet
   Standalone CSS for the Epic consultation landing page.
   All classes prefixed with .lc- to avoid conflicts with the theme.
   ========================================================================== */

/* --------------------------------------------------------------------------
   CSS Custom Properties (Design Tokens)
   -------------------------------------------------------------------------- */
:root {
    --lc-black: #000000;
    --lc-white: #FFFFFF;
    --lc-yellow: #FCD002;
    --lc-dark-gray: #3C3C3C;
    --lc-card-gray: #141414;
    --lc-light-gray: #EAEAEA;
    --lc-muted-gray: #A0A0A0;
    --lc-feature-bg: #F5F5F5;
    --lc-font-display: "neue-haas-grotesk-display", "Inter", sans-serif;
    --lc-font-body: "Libre Franklin", sans-serif;
    --lc-container-max: 1400px;
    --lc-container-pad: 138px;
    --lc-radius: 8px;
    --lc-radius-lg: 16px;
}


/* --------------------------------------------------------------------------
   Header nav fix — landing page overrides
   -------------------------------------------------------------------------- */

/* White background on mobile */
body:has(.lc-main) .title-bar .bar {
    background-color: rgba(255, 255, 255, 0.95) !important;
    pointer-events: none;
}

/* Re-enable pointer events on actual content inside .bar */
body:has(.lc-main) .title-bar .bar * {
    pointer-events: auto;
}

/* Match nav container max-width/padding to hero section — direct children only */
body:has(.lc-main) .site-header > .relative > .grid-container {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

@media (min-width: 1024px) {
    body:has(.lc-main) .site-header > .relative > .grid-container {
        padding-left: 47px !important;
        padding-right: 47px !important;
    }
}

/* Reset the nested grid-container inside the icons/button area */
body:has(.lc-main) .title-bar-right .icons .grid-container,
body:has(.lc-main) .top-bar-right .icons .grid-container {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
}

/* Ensure button is clickable on mobile */
body:has(.lc-main) .title-bar-right {
    margin-right: 24px!important;
    position: relative;
    z-index: 10000!important;
}

/* Constrain the inner relative wrapper to not block centering */
body:has(.lc-main) .site-header > .relative {
    width: 100%;
}

/* Fix entire header to top of viewport */
body:has(.lc-main) .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 300;
    background-color: rgba(255, 255, 255, 0.95);
}

/* Reset individually-fixed elements so the header controls positioning */
body:has(.lc-main) .top-bar .top-bar-left,
body:has(.lc-main) .top-bar .top-bar-right .icons {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
}

body:has(.lc-main) .title-bar-left {
    margin-left: 0!important;
    padding-left: 12px;
}

body:has(.lc-main) .title-bar-right {
    margin-right: 0!important;
    padding-right: 12px;
}

/* Offset page content so it doesn't hide under fixed header */
body:has(.lc-main) .lc-main {
    padding-top: 80px;
}

/* Reset logo rotation and absolute positioning */
body:has(.lc-main) .title-bar .title-bar-left .title-bar-title .logo-link,
body:has(.lc-main) .off-canvas-content .title-bar .title-bar-left .title-bar-title .logo-link,
body:has(.lc-main) .off-canvas-content.is-open-right .title-bar .title-bar-left .title-bar-title .logo-link,
body:has(.lc-main) .off-canvas-content.is-open-left .title-bar .title-bar-left .title-bar-title .logo-link,
body:has(.lc-main) .top-bar .top-bar-left .top-bar-title .logo-link {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    margin-left: 0 !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    position: relative !important;
}

body:has(.lc-main) .title-bar .title-bar-left .title-bar-title .logo-link .logo,
body:has(.lc-main) .title-bar .title-bar-left .title-bar-title .logo-link .home-logo,
body:has(.lc-main) .off-canvas-content .title-bar .title-bar-left .title-bar-title .logo-link .logo,
body:has(.lc-main) .off-canvas-content .title-bar .title-bar-left .title-bar-title .logo-link .home-logo,
body:has(.lc-main) .top-bar .top-bar-left .top-bar-title .logo-link .logo,
body:has(.lc-main) .top-bar .top-bar-left .top-bar-title .logo-link .home-logo {
    position: static !important;
    margin-right: 0 !important;
    padding-top: 0 !important;
    width: auto !important;
}

/* --------------------------------------------------------------------------
   Base / Reset (scoped to .lc-main)
   -------------------------------------------------------------------------- */
.lc-main {
    font-family: var(--lc-font-body);
    color: var(--lc-black);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--lc-black);
}

/* Force document background black to prevent white flash between sections */
body:has(.lc-main) {
    background-color: var(--lc-black) !important;
}

.lc-main *,
.lc-main *::before,
.lc-main *::after {
    box-sizing: border-box;
}

.lc-main img {
    max-width: 100%;
    height: auto;
}

/* Remove any Foundation-injected horizontal rules */
.lc-main hr {
    display: none;
}

.lc-main section {
    border: none;
}

/* Override Foundation base heading styles within our landing page */
.lc-main h1,
.lc-main h2,
.lc-main h3,
.lc-main h4,
.lc-main h5,
.lc-main h6 {
    font-family: var(--lc-font-display);
    line-height: 1.2;
    margin-top: 0;
    font-size: inherit;
}

.lc-main p {
    font-family: var(--lc-font-body);
    margin-bottom: 0;
}

.lc-main table {
    border-collapse: collapse;
    margin-bottom: 0;
    width: 100%;
}

.lc-main td,
.lc-main th {
    font-size: inherit;
}

/* Override Foundation link colors */
.lc-main a {
    text-decoration: none;
}

/* Override Foundation input styles */
.lc-main input,
.lc-main textarea {
    margin-bottom: 0;
    box-shadow: none;
    height: auto;
}


/* --------------------------------------------------------------------------
   Layout: Container
   -------------------------------------------------------------------------- */
.lc-container {
    max-width: var(--lc-container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

@media (min-width: 1024px) {
    .lc-container {
        padding-left: var(--lc-container-pad);
        padding-right: var(--lc-container-pad);
    }
}


/* --------------------------------------------------------------------------
   Utility: Screen Reader Only
   -------------------------------------------------------------------------- */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* --------------------------------------------------------------------------
   Utility: Text Colors
   -------------------------------------------------------------------------- */
.lc-text-yellow {
    color: var(--lc-yellow);
}


/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.lc-btn {
    display: inline-block;
    font-family: var(--lc-font-body);
    font-weight: 700;
    font-size: 16px;
    padding: 12px 40px;
    border-radius: 3px;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    line-height: 1;
}

.lc-btn--yellow {
    background-color: var(--lc-yellow);
    color: var(--lc-black);
}

.lc-btn--yellow:hover {
    filter: brightness(0.95);
}

.lc-btn--white {
    background-color: var(--lc-white);
    color: var(--lc-black);
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.lc-btn--white:hover {
    background-color: var(--lc-black);
    color: var(--lc-white);
}

.lc-btn--full {
    display: block;
    width: 100%;
}


/* --------------------------------------------------------------------------
   Section Titles (reusable)
   -------------------------------------------------------------------------- */
.lc-main .lc-section-title {
    font-family: var(--lc-font-display);
    font-size: 28px !important;
    font-weight: 700;
    color: var(--lc-black);
    text-align: center;
    margin-bottom: 16px;
    line-height: 1.2;
}

.lc-main .lc-section-title--white {
    color: var(--lc-white);
}

.lc-main .lc-section-subtitle {
    font-family: var(--lc-font-body);
    font-size: 16px;
    color: var(--lc-black);
    text-align: center;
    max-width: 720px;
    margin: 0 auto 25px;
    line-height: 24px;
}

.lc-main .lc-section-subtitle--white {
    color: var(--lc-white);
    line-height: 24px;
}

.lc-main .lc-section-subtitle--muted {
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 40px;
}

@media (min-width: 640px) {
    .lc-main .lc-section-title {
        font-size: 34px !important;
    }
}

@media (min-width: 1024px) {
    .lc-main .lc-section-title {
        font-size: 40px !important;
    }
}


/* --------------------------------------------------------------------------
   Scroll Reveal Animation
   -------------------------------------------------------------------------- */
.lc-reveal {
    opacity: 0.15;
    transform: translateY(32px);
    transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}

.lc-reveal.lc-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger children */
.lc-stagger > * {
    opacity: 0.15;
    transform: translateY(24px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.lc-stagger.lc-visible > * {
    opacity: 1;
    transform: translateY(0);
}

.lc-stagger.lc-visible > *:nth-child(1) { transition-delay: 100ms; }
.lc-stagger.lc-visible > *:nth-child(2) { transition-delay: 200ms; }
.lc-stagger.lc-visible > *:nth-child(3) { transition-delay: 300ms; }
.lc-stagger.lc-visible > *:nth-child(4) { transition-delay: 400ms; }
.lc-stagger.lc-visible > *:nth-child(5) { transition-delay: 500ms; }
.lc-stagger.lc-visible > *:nth-child(6) { transition-delay: 600ms; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .lc-reveal,
    .lc-stagger > * {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


/* ==========================================================================
   SECTION 1: HERO
   ========================================================================== */
.lc-hero {
    background-color: var(--lc-black);
    overflow: hidden;
}

body:has(.lc-main) * {
    scroll-margin-top: 200px;
}

.lc-hero__inner {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: 0;
    padding-bottom: 56px;
}

@media (min-width: 1024px) {
    .lc-hero__inner {
        display: grid;
        grid-template-columns: 645px 1fr;
        gap: 48px;
        padding-top: 112px;
        padding-bottom: 56px;
    }
}

/* Hero uses narrower margins than standard container per XD (x:47px) */
@media (min-width: 1024px) {
    .lc-hero .lc-container {
        padding-left: 47px;
        padding-right: 47px;
    }
}

/* Left column */
.lc-hero__left {
    display: contents; /* Allows children to participate in parent flex order on mobile */
}

@media (min-width: 1024px) {
    .lc-hero__left {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding-top: 24px;
    }
}

/* Mobile order: rating(1) → headline(2) → right col(3) → body(4) → stats(5) */
@media (max-width: 1023px) {
    .lc-hero__rating  { order: 1; text-align: center; justify-content: center; padding-top: 24px; margin-bottom: 16px; }
    .lc-hero__headline { order: 2; text-align: center; margin-bottom: 24px; }
    .lc-hero__right   { order: 3; margin-bottom: 32px; }
    .lc-hero__body    { order: 4; text-align: center; margin-bottom: 32px !important; }
    .lc-hero__stats   { order: 5; justify-items: center; text-align: center; }

    .lc-main .lc-hero__form-title,
    .lc-main .lc-hero__form-subtitle {
        text-align: center;
    }
}

.lc-main .lc-hero__headline {
    font-family: var(--lc-font-display);
    font-size: 32px !important;
    line-height: 1.15;
    font-weight: 700;
    color: var(--lc-white);
    margin: 0 0 20px;
}

@media (min-width: 640px) {
    .lc-main .lc-hero__headline { font-size: 42px !important; }
}

@media (min-width: 1024px) {
    .lc-main .lc-hero__headline {
        font-size: 50px !important;
        line-height: 60px;
    }
}

.lc-main .lc-hero__body {
    font-family: var(--lc-font-body);
    font-size: 16px;
    line-height: 1.5;
    color: var(--lc-white);
    margin: 0 0 84px;
    max-width: 645px;
}

@media (min-width: 1024px) {
    .lc-main .lc-hero__body {
        font-size: 20px;
        line-height: 24px;
    }
}

/* Stats row */
.lc-hero__stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}

@media (min-width: 768px) {
    .lc-hero__stats {
        grid-template-columns: repeat(4, 1fr);
        gap: 32px;
    }
}

.lc-hero__stat {
    display: flex;
    flex-direction: column;
}

.lc-hero__stat-number {
    font-family: var(--lc-font-display);
    font-size: 28px;
    font-weight: 700;
    color: var(--lc-light-gray);
    line-height: 1;
    margin-bottom: 4px;
    font-variant-numeric: tabular-nums;
}

@media (min-width: 1024px) {
    .lc-hero__stat-number { font-size: 36px; }
}

.lc-hero__stat-label {
    font-family: var(--lc-font-body);
    font-size: 11px;
    color: var(--lc-muted-gray);
    max-width: 130px;
    line-height: 1.3;
}

@media (min-width: 1024px) {
    .lc-hero__stat-label { font-size: 12px; }
}

/* Google rating */
.lc-hero__rating {
    display: flex;
    align-items: center;
    gap: 8px;
}

.lc-hero__stars {
    color: var(--lc-yellow);
    font-size: 18px;
    letter-spacing: 2px;
}

.lc-star-muted {
    color: var(--lc-muted-gray);
}

.lc-hero__rating-text {
    font-family: var(--lc-font-body);
    font-size: 14px;
    color: var(--lc-light-gray);
}

/* Right column: Form */
.lc-hero__right {
    display: flex;
    flex-direction: column;
}

.lc-main .lc-hero__form-title {
    font-family: var(--lc-font-display);
    font-size: 20px !important;
    font-weight: 500;
    color: var(--lc-white);
    margin: 0 0 4px;
    line-height: 24px;
}

.lc-main .lc-hero__form-subtitle {
    font-family: var(--lc-font-body);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 24px;
}

/* Form */
.lc-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.lc-form__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 640px) {
    .lc-form__row {
        grid-template-columns: 1fr 1fr;
    }
}

.lc-form__label {
    display: block;
    font-family: var(--lc-font-body);
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-white);
    margin-bottom: 6px;
}

.lc-form__input,
.lc-main .lc-form__input,
.lc-main input[type="text"],
.lc-main input[type="email"],
.lc-main input[type="tel"],
.lc-main textarea,
body:has(.lc-main) .lc-form__input,
body:has(.lc-main) input.lc-form__input {
    display: block;
    width: 100%;
    padding: 12px 16px;
    font-family: var(--lc-font-body);
    font-size: 14px;
    color: var(--lc-white) !important;
    background-color: #1A1A1A !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 3px;
    outline: none;
    transition: border-color 0.2s ease;
    box-shadow: none !important;
}

.lc-form__input:focus,
.lc-main .lc-form__input:focus {
    border-color: var(--lc-yellow) !important;
}

/* Override browser autofill styles */
.lc-main input:-webkit-autofill,
.lc-main input:-webkit-autofill:hover,
.lc-main input:-webkit-autofill:focus,
.lc-main textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #1A1A1A inset !important;
    -webkit-text-fill-color: var(--lc-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.lc-form__textarea {
    resize: none;
    min-height: 100px;
}

/* ==========================================================================
   CF7 FORM STYLES (.lc-cf7-form)
   ========================================================================== */

/* CF7 form grid layout */
.lc-cf7-form .wpcf7-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 639px) {
    .lc-cf7-form .wpcf7-form {
        grid-template-columns: 1fr;
    }
}

/* All rows full-width by default */
.lc-cf7-form .wpcf7-form > p,
.lc-cf7-form .wpcf7-form > div {
    grid-column: span 2;
    margin: 0;
}

@media (max-width: 639px) {
    .lc-cf7-form .wpcf7-form > p,
    .lc-cf7-form .wpcf7-form > div {
        grid-column: span 1;
    }
}

/* Half-width fields (name, business, email, phone) */
.lc-cf7-form .wpcf7-form .lc-half {
    grid-column: span 1;
}

/* Labels */
.lc-cf7-form label {
    display: block;
    font-family: var(--lc-font-body);
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-white);
    margin-bottom: 0;
}

/* CF7 wraps inputs in an inline span — make it block so inputs fill the container */
.lc-cf7-form .wpcf7-form-control-wrap {
    display: block;
}

/* Text inputs, email, tel, textarea */
.lc-cf7-form input[type="text"],
.lc-cf7-form input[type="email"],
.lc-cf7-form input[type="tel"],
.lc-cf7-form textarea {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 12px 16px;
    font-family: var(--lc-font-body);
    font-size: 14px;
    color: var(--lc-white) !important;
    background-color: #1A1A1A !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 3px;
    outline: none;
    transition: border-color 0.2s ease;
    box-shadow: none !important;
}

.lc-cf7-form input[type="text"]:focus,
.lc-cf7-form input[type="email"]:focus,
.lc-cf7-form input[type="tel"]:focus,
.lc-cf7-form textarea:focus {
    border-color: var(--lc-yellow) !important;
}

.lc-cf7-form textarea {
    resize: none;
    min-height: 100px;
}

/* Autofill override */
.lc-cf7-form input:-webkit-autofill,
.lc-cf7-form input:-webkit-autofill:hover,
.lc-cf7-form input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #1A1A1A inset !important;
    -webkit-text-fill-color: var(--lc-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* "Services Interested In" label */
.lc-cf7-form .cell p {
    font-family: var(--lc-font-body);
    font-size: 13px;
    font-weight: 500;
    color: var(--lc-white);
    margin-bottom: 8px;
}

/* Checkboxes */
.lc-cf7-form .checkboxes .wpcf7-list-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 12px 8px 0;
}

.lc-cf7-form .checkboxes .wpcf7-list-item-label {
    font-family: var(--lc-font-body);
    font-size: 13px;
    color: var(--lc-white);
    cursor: pointer;
}

.lc-cf7-form .checkboxes input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--lc-yellow);
    cursor: pointer;
    flex-shrink: 0;
}

/* Submit button */
.lc-cf7-form input[type="submit"],
.lc-cf7-form .wpcf7-submit {
    display: block;
    width: 100%;
    padding: 14px 32px;
    font-family: var(--lc-font-display);
    font-size: 16px;
    font-weight: 700;
    color: var(--lc-black) !important;
    background-color: var(--lc-yellow) !important;
    border: none !important;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color 0.2s ease, opacity 0.2s ease;
    box-shadow: none !important;
    text-transform: none;
}

.lc-cf7-form input[type="submit"]:hover,
.lc-cf7-form .wpcf7-submit:hover {
    background-color: #e8c000 !important;
}

.lc-cf7-form input[type="submit"]:disabled,
.lc-cf7-form .wpcf7-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* CTA wrapper — remove Foundation positioning */
.lc-cf7-form .cta {
    width: 100%;
}

/* Make the span wrapper full-width so the button fills it */
.lc-cf7-form .cta > span {
    display: block;
    width: 100%;
}

/* Suppress ::after on the CTA span (inherited nav hover effect) */
.lc-cf7-form .cta > span::after {
    display: none !important;
}

/* Suppress any inherited ::after pseudo-element on the submit button */
.lc-cf7-form input[type="submit"]::after,
.lc-cf7-form .wpcf7-submit::after {
    display: none !important;
    content: none !important;
}

/* Validation error messages */
.lc-cf7-form .wpcf7-not-valid-tip {
    font-size: 12px;
    color: #ff6b6b;
    margin-top: 4px;
    display: block;
}

.lc-cf7-form .wpcf7-response-output {
    font-family: var(--lc-font-body);
    font-size: 13px;
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 3px;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: var(--lc-white);
}

/* Disclaimer */
.lc-cf7-form .disclaimer small,
.lc-cf7-form .disclaimer a {
    font-family: var(--lc-font-body);
    font-size: 11px;
    color: var(--lc-muted-gray);
}

.lc-cf7-form .disclaimer a:hover {
    color: var(--lc-white);
}


/* ==========================================================================
   SECTION 2: LOGO BAR
   ========================================================================== */
.lc-logos {
    background-color: var(--lc-white);
    padding: 40px 0;
    border-bottom: 1px solid rgba(234, 234, 234, 0.3);
    overflow: hidden;
}

@media (min-width: 1024px) {
    .lc-logos { padding: 56px 0; }
}

.lc-logos__header {
    text-align: center;
    margin-bottom: 32px;
}

.lc-logos__title {
    font-family: var(--lc-font-display);
    font-size: 20px;
    font-weight: 500;
    color: var(--lc-black);
    margin: 0 0 2px;
    line-height: 24px;
}

.lc-logos__link {
    font-family: var(--lc-font-body);
    font-size: 12px;
    color: var(--lc-muted-gray);
    text-decoration: underline;
    transition: color 0.2s ease;
}

.lc-logos__link:hover {
    color: var(--lc-black);
}

/* Scrolling track */
.lc-logos__track-wrapper {
    position: relative;
}

.lc-logos__fade {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 96px;
    z-index: 2;
    pointer-events: none;
}

.lc-logos__fade--left {
    left: 0;
    background: linear-gradient(to right, var(--lc-white), transparent);
}

.lc-logos__fade--right {
    right: 0;
    background: linear-gradient(to left, var(--lc-white), transparent);
}

.lc-logos__track {
    display: flex;
    animation: lc-logo-scroll 50s linear infinite;
    will-change: transform;
}

.lc-logos__item {
    flex-shrink: 0;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 32px;
}

.lc-logos__item img {
    max-height: 65px;
    max-width: 130px;
    object-fit: contain;
}

@media (min-width: 1024px) {
    .lc-logos__item { padding: 0 48px; }
}

.lc-logos__name {
    font-family: var(--lc-font-display);
    font-size: 11px;
    font-weight: 700;
    color: var(--lc-black);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    white-space: nowrap;
    opacity: 0.4;
}

@keyframes lc-logo-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-1 * var(--lc-scroll-width, 50%))); }
}

@media (prefers-reduced-motion: reduce) {
    .lc-logos__track { animation: none; }
}


/* ==========================================================================
   SECTION 3: SERVICES
   ========================================================================== */
.lc-services {
    background-color: var(--lc-white);
    padding: 64px 0;
}

@media (min-width: 1024px) {
    .lc-services { padding: 80px 0; }
}

.lc-services__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 23px;
}

@media (min-width: 768px) {
    .lc-services__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
    .lc-services__grid { grid-template-columns: repeat(4, 1fr); }
}

.lc-services__card {
    background-color: #F4F6F1;
    border-radius: var(--lc-radius);
    padding: 28px 24px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.lc-services__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

.lc-services__card-title {
    font-family: var(--lc-font-display);
    font-size: 18px !important;
    font-weight: 700;
    color: var(--lc-black);
    margin: 0 0 8px;
}

.lc-services__card-body {
    font-family: var(--lc-font-body);
    font-size: 14px;
    color: rgba(0, 0, 0, 0.6);
    line-height: 1.6;
    margin: 0;
}


/* ==========================================================================
   SECTION 4: CASE STUDIES
   ========================================================================== */
.lc-casestudies {
    background-color: var(--lc-white);
    padding: 64px 0;
}

@media (min-width: 1024px) {
    .lc-casestudies { padding: 80px 0; }
}

.lc-casestudies__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 768px) {
    .lc-casestudies__grid { grid-template-columns: repeat(3, 1fr); }
}

.lc-casestudies__card {
    background-color: #F4F6F1;
    border-radius: 6px;
    border: none;
    padding: 28px 24px;
}

.lc-casestudies__client-name {
    font-family: var(--lc-font-body);
    font-size: 15px;
    font-weight: 400;
    color: var(--lc-black);
    display: block;
    text-align: center;
    margin-bottom: 20px;
}

.lc-casestudies__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lc-casestudies__list li {
    font-family: var(--lc-font-body);
    font-size: 12px;
    color: var(--lc-black);
    line-height: 15px;
    padding: 6px 0 6px 28px;
    position: relative;
}

.lc-casestudies__list li::before {
    content: "\2714";
    position: absolute;
    left: 0;
    color: var(--lc-yellow);
    font-size: 14px;
}

.lc-casestudies__list li strong {
    color: var(--lc-black);
    font-weight: 700;
}


/* ==========================================================================
   SECTION 5: PROCESS
   ========================================================================== */
.lc-process {
    background-color: var(--lc-black);
    padding: 64px 0;
}

@media (min-width: 1024px) {
    .lc-process { padding: 96px 0; }
}

.lc-process .lc-section-subtitle {
    margin-bottom: 48px;
}

.lc-process__timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
}

@media (min-width: 1024px) {
    .lc-process__timeline { gap: 0; }
}

/* Vertical line element — unused on both mobile and desktop */
.lc-process__line {
    display: none;
}

/* Step */
.lc-process__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0.15;
    transform: translateY(24px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    position: relative;
}

/* Mobile: draw the 16px line segment in the gap below each step (except the last) */
.lc-process__step:not(:last-child)::after {
    content: '';
    display: block;
    width: 3px;
    height: 32px;
    background: rgba(255, 255, 255, 0.5);
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    .lc-process__step:not(:last-child)::after {
        display: none;
    }
}


.lc-visible .lc-process__step {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile dot — hidden, no dots on mobile */
.lc-process__step-mobile-dot {
    display: none;
}

@media (min-width: 1024px) {
    .lc-process__step {
        flex-direction: row;
        align-items: center;
    }
}

/* Left side label (desktop only) */
.lc-process__step-left {
    display: none;
}

@media (min-width: 1024px) {
    .lc-process__step-left {
        display: flex;
        flex: 1;
        align-items: center;
        gap: 16px;
        justify-content: flex-end;
        text-align: right;
    }
}

.lc-process__step-number {
    font-family: var(--lc-font-display);
    font-size: 20px;
    font-weight: 700;
    color: var(--lc-yellow);
    line-height: 24px;
}

.lc-process__step-label {
    font-family: var(--lc-font-body);
    font-size: 16px;
    font-weight: 500;
    color: var(--lc-white);
    line-height: 24px;
}

@media (min-width: 1024px) {
    .lc-process__step-label { font-size: 24px; }
}

/* Connector (desktop only) */
.lc-process__step-connector {
    display: none;
}

@media (min-width: 1024px) {
    .lc-process__step-connector {
        display: flex;
        align-items: center;
        width: 48px;
        flex-shrink: 0;
        position: relative;
        /* Stretch full height of the step row so pseudo-elements can span between dots */
        align-self: stretch;
    }

    /* Horizontal tick from left side to dot */
    .lc-process__step-line {
        position: absolute;
        left: 0;
        top: 50%;
        height: 1px;
        background: rgba(255, 255, 255, 0.2);
        width: 0;
        transform: translateY(-50%);
        transition: width 0.5s ease-out;
    }

    .lc-visible .lc-process__step-line {
        width: 100%;
    }

    /* Vertical line segment: from top of this step's connector down to bottom (meeting next dot) */
    .lc-process__step-connector::before,
    .lc-process__step-connector::after {
        content: '';
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        background: rgba(255, 255, 255, 0.35);
    }

    /* Top half: from top of connector to the dot center */
    .lc-process__step-connector::before {
        top: 0;
        bottom: 50%;
    }

    /* Bottom half: from dot center to bottom of connector */
    .lc-process__step-connector::after {
        top: 50%;
        bottom: 0;
    }

    /* Hide top segment on first step */
    .lc-process__step:first-child .lc-process__step-connector::before {
        display: none;
    }

    /* Hide bottom segment on last step */
    .lc-process__step:last-child .lc-process__step-connector::after {
        display: none;
    }

    .lc-process__step-dot {
        position: absolute;
        left: 50%;
        transform: translateX(-50%) scale(0);
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.2);
        transition: background 0.4s ease-out, transform 0.4s ease-out;
        z-index: 1;
    }

    .lc-visible .lc-process__step-dot {
        background: var(--lc-white);
        transform: translateX(-50%) scale(1);
    }
}

/* In-card number + label header (mobile only) */
.lc-process__step-card-header {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    margin-bottom: 16px;
}

@media (min-width: 1024px) {
    .lc-process__step-card-header {
        display: none;
    }
}

/* Step card */
.lc-process__step-card {
    background: var(--lc-card-gray);
    border-radius: var(--lc-radius);
    padding: 24px;
    flex: 1;
    width: 100%;
    text-align: center;
    opacity: 0.4;
    transition: background-color 0.3s ease, opacity 0.5s ease;
}


@media (min-width: 1024px) {
    .lc-process__step-card {
        text-align: left;
        width: auto;
        margin-bottom: 0;
    }
}

.lc-process__step-card.lc-card-visible {
    opacity: 1;
}

@media (min-width: 1024px) {
    .lc-process__step-card {
        padding: 32px;
        margin: 28px 0;
    }
}

.lc-process__step-card:hover {
    background: var(--lc-dark-gray);
}

.lc-process__step-category {
    font-family: var(--lc-font-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--lc-white);
    line-height: 1.3;
    display: block;
    margin-bottom: 12px;
}

.lc-process__step-body {
    font-family: var(--lc-font-body);
    font-size: 16px;
    color: rgba(255, 255, 255, 0.75);
    line-height: 26px;
    margin: 0;
}

/* Stagger step animation delays */
.lc-visible .lc-process__step:nth-child(2) { transition-delay: 200ms; }
.lc-visible .lc-process__step:nth-child(3) { transition-delay: 400ms; }
.lc-visible .lc-process__step:nth-child(4) { transition-delay: 600ms; }
.lc-visible .lc-process__step:nth-child(5) { transition-delay: 800ms; }

/* Stagger connector delays */
.lc-visible .lc-process__step:nth-child(2) .lc-process__step-line { transition-delay: 400ms; }
.lc-visible .lc-process__step:nth-child(3) .lc-process__step-line { transition-delay: 600ms; }
.lc-visible .lc-process__step:nth-child(4) .lc-process__step-line { transition-delay: 800ms; }
.lc-visible .lc-process__step:nth-child(5) .lc-process__step-line { transition-delay: 1000ms; }

.lc-visible .lc-process__step:nth-child(2) .lc-process__step-dot { transition-delay: 600ms; }
.lc-visible .lc-process__step:nth-child(3) .lc-process__step-dot { transition-delay: 800ms; }
.lc-visible .lc-process__step:nth-child(4) .lc-process__step-dot { transition-delay: 1000ms; }
.lc-visible .lc-process__step:nth-child(5) .lc-process__step-dot { transition-delay: 1200ms; }


/* ==========================================================================
   SECTION 6: COST CTA
   ========================================================================== */
.lc-cost-cta {
    background-color: var(--lc-black);
    padding: 40px 0;
}

@media (min-width: 1024px) {
    .lc-cost-cta { padding: 56px 0; }
}

.lc-cost-cta .lc-container {
    padding-left: 24px;
    padding-right: 24px;
}

@media (min-width: 1024px) {
    .lc-cost-cta .lc-container {
        padding-left: 80px;
        padding-right: 80px;
    }
}

.lc-cost-cta__banner {
    background-color: var(--lc-yellow);
    border-radius: 3px;
    padding: 56px 32px;
    text-align: center;
    max-width: 933px;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1024px) {
    .lc-cost-cta__banner {
        padding: 64px;
    }
}

.lc-main .lc-cost-cta__title {
    font-family: var(--lc-font-display);
    font-size: 26px !important;
    font-weight: 700;
    color: var(--lc-black);
    margin: 0 0 16px;
    line-height: 1.2;
}

@media (min-width: 640px) {
    .lc-main .lc-cost-cta__title { font-size: 32px !important; }
}

@media (min-width: 1024px) {
    .lc-main .lc-cost-cta__title { font-size: 40px !important; }
}

.lc-main .lc-cost-cta__body {
    font-family: var(--lc-font-body);
    font-size: 16px;
    color: var(--lc-black);
    max-width: 600px;
    margin: 0 auto 24px;
    line-height: 24px;
}


/* ==========================================================================
   SECTION 7: COMPARISON TABLE
   ========================================================================== */
.lc-comparison {
    background-color: var(--lc-black);
    padding: 64px 0;
}

@media (min-width: 1024px) {
    .lc-comparison { padding: 96px 0; }
}

.lc-comparison__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 934px;
    margin-left: auto;
    margin-right: auto;
}

.lc-comparison__table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    background: transparent;
    border: none;
}

/* Override Foundation table striping — apply XD alternating rows */
.lc-main .lc-comparison__table tbody tr {
    background-color: var(--lc-black);
}

.lc-main .lc-comparison__table tbody tr:nth-child(even) {
    background-color: #141414;
}

.lc-main .lc-comparison__table thead,
.lc-main .lc-comparison__table tbody {
    background: transparent;
    border: none;
}

.lc-main .lc-comparison__table td,
.lc-main .lc-comparison__table th {
    border: none;
}

.lc-comparison__feature-head {
    width: auto;
    padding: 16px;
}

.lc-comparison__epic-head {
    width: 90px;
    padding: 16px 8px;
    background-color: var(--lc-yellow);
    border-radius: 12px 12px 0 0;
    text-align: center;
}

.lc-comparison__epic-head span {
    font-family: var(--lc-font-display);
    font-size: 14px;
    font-weight: 700;
    color: var(--lc-black);
}

.lc-comparison__epic-logo {
    display: block;
    width: 48px;
    height: auto;
    margin: 0 auto;
}

.lc-comparison__other-head {
    width: 90px;
    padding: 16px 8px;
    text-align: center;
}

.lc-comparison__other-head span {
    font-family: var(--lc-font-body);
    font-size: 12px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
}

@media (min-width: 640px) {
    .lc-comparison__epic-head,
    .lc-comparison__other-head {
        width: 25%;
        padding: 16px 24px;
    }

    .lc-comparison__epic-head span {
        font-size: 20px;
    }

    .lc-comparison__epic-logo {
        width: 72px;
    }

    .lc-comparison__other-head span {
        font-size: 14px;
    }
}

/* Rows */
.lc-comparison__row {
    opacity: 0;
    transform: translateX(-16px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.lc-visible .lc-comparison__row {
    opacity: 1;
    transform: translateX(0);
}

.lc-comparison__feature {
    padding: 12px 10px;
    font-family: var(--lc-font-body);
    font-size: 12px !important;
    font-weight: 400;
    color: var(--lc-white) !important;
    line-height: 14px;
}

.lc-comparison__epic-cell {
    padding: 12px 8px;
    text-align: center;
    background-color: var(--lc-yellow);
}

.lc-comparison__epic-cell--even {
    background-color: var(--lc-yellow);
}

.lc-comparison__other-cell {
    padding: 12px 8px;
    text-align: center;
}

@media (min-width: 640px) {
    .lc-comparison__feature {
        padding: 16px 20px;
        font-size: 16px !important;
        line-height: 24px;
    }

    .lc-comparison__epic-cell,
    .lc-comparison__other-cell {
        padding: 14px 24px;
    }
}

/* Check / X icons */
.lc-check,
.lc-x {
    width: 28px;
    height: 28px;
    display: inline-block;
    vertical-align: middle;
}

.lc-check {
    color: var(--lc-black);
}

.lc-x {
    color: var(--lc-white);
}

.lc-check__path {
    stroke-dasharray: 24;
    stroke-dashoffset: 24;
    transition: stroke-dashoffset 0.5s ease-out;
}

.lc-visible .lc-check__path {
    stroke-dashoffset: 0;
}

.lc-x__path {
    stroke-dasharray: 17;
    stroke-dashoffset: 17;
    transition: stroke-dashoffset 0.4s ease-out;
}

.lc-visible .lc-x__path {
    stroke-dashoffset: 0;
}

.lc-x__path--2 {
    transition-delay: 150ms;
}

/* Bottom cap */
.lc-main .lc-comparison__table tbody tr.lc-comparison__cap {
    background-color: transparent !important;
}

.lc-comparison__cap td {
    padding: 0 !important;
}

.lc-comparison__epic-cap {
    background-color: var(--lc-yellow);
    border-radius: 0 0 12px 12px;
    height: 16px;
}

/* Stagger row animation delays */
.lc-visible .lc-comparison__row:nth-child(1) { transition-delay: 300ms; }
.lc-visible .lc-comparison__row:nth-child(2) { transition-delay: 420ms; }
.lc-visible .lc-comparison__row:nth-child(3) { transition-delay: 540ms; }
.lc-visible .lc-comparison__row:nth-child(4) { transition-delay: 660ms; }
.lc-visible .lc-comparison__row:nth-child(5) { transition-delay: 780ms; }
.lc-visible .lc-comparison__row:nth-child(6) { transition-delay: 900ms; }
.lc-visible .lc-comparison__row:nth-child(7) { transition-delay: 1020ms; }
.lc-visible .lc-comparison__row:nth-child(8) { transition-delay: 1140ms; }
.lc-visible .lc-comparison__row:nth-child(9) { transition-delay: 1260ms; }

/* Stagger check/x icon delays to match rows */
.lc-visible .lc-comparison__row:nth-child(1) .lc-check__path { transition-delay: 500ms; }
.lc-visible .lc-comparison__row:nth-child(2) .lc-check__path { transition-delay: 620ms; }
.lc-visible .lc-comparison__row:nth-child(3) .lc-check__path { transition-delay: 740ms; }
.lc-visible .lc-comparison__row:nth-child(4) .lc-check__path { transition-delay: 860ms; }
.lc-visible .lc-comparison__row:nth-child(5) .lc-check__path { transition-delay: 980ms; }
.lc-visible .lc-comparison__row:nth-child(6) .lc-check__path { transition-delay: 1100ms; }
.lc-visible .lc-comparison__row:nth-child(7) .lc-check__path { transition-delay: 1220ms; }
.lc-visible .lc-comparison__row:nth-child(8) .lc-check__path { transition-delay: 1340ms; }
.lc-visible .lc-comparison__row:nth-child(9) .lc-check__path { transition-delay: 1460ms; }

.lc-visible .lc-comparison__row:nth-child(1) .lc-x__path { transition-delay: 500ms; }
.lc-visible .lc-comparison__row:nth-child(2) .lc-x__path { transition-delay: 620ms; }
.lc-visible .lc-comparison__row:nth-child(3) .lc-x__path { transition-delay: 740ms; }
.lc-visible .lc-comparison__row:nth-child(4) .lc-x__path { transition-delay: 860ms; }
.lc-visible .lc-comparison__row:nth-child(5) .lc-x__path { transition-delay: 980ms; }
.lc-visible .lc-comparison__row:nth-child(6) .lc-x__path { transition-delay: 1100ms; }
.lc-visible .lc-comparison__row:nth-child(7) .lc-x__path { transition-delay: 1220ms; }
.lc-visible .lc-comparison__row:nth-child(8) .lc-x__path { transition-delay: 1340ms; }
.lc-visible .lc-comparison__row:nth-child(9) .lc-x__path { transition-delay: 1460ms; }


/* ==========================================================================
   SECTION 8: TESTIMONIALS
   ========================================================================== */
.lc-testimonials {
    background-color: var(--lc-white);
    padding: 64px 0;
}

@media (min-width: 1024px) {
    .lc-testimonials { padding: 80px 0; }
}

.lc-testimonials .lc-section-title {
    margin-bottom: 48px;
}

/* Testimonials — inline row, carousel on mobile */
.lc-testimonials__carousel {
    position: relative;
    overflow: hidden;
}

.lc-testimonials__track {
    display: flex;
    gap: 24px;
    transition: transform 0.4s ease-out;
}

.lc-testimonials__card {
    display: flex;
    flex-direction: column;
    padding: 0;
    flex: 0 0 100%;
    min-width: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

@media (min-width: 768px) {
    .lc-testimonials__card {
        flex: 0 0 calc(50% - 12px);
    }
}

@media (min-width: 1024px) {
    .lc-testimonials__card {
        flex: 0 0 calc(25% - 18px);
    }
}

.lc-testimonials__name {
    font-family: var(--lc-font-body);
    font-size: 18px !important;
    font-weight: 700;
    color: var(--lc-black);
    margin: 0 0 2px;
    line-height: 21px;
}

.lc-testimonials__client-label {
    font-family: var(--lc-font-body);
    font-size: 13px;
    color: var(--lc-muted-gray);
    margin: 0 0 12px;
}

.lc-testimonials__stars {
    color: var(--lc-yellow);
    font-size: 18px;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.lc-testimonials__quote {
    font-family: var(--lc-font-body);
    font-size: 16px;
    color: var(--lc-black);
    line-height: 19px;
    margin: 0;
}

/* Carousel nav row: caret — dots — caret, hidden at desktop */
.lc-testimonials__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 32px;
}

@media (min-width: 1024px) {
    .lc-testimonials__nav {
        display: none;
    }
}

.lc-testimonials__arrow {
    background: none;
    border: none;
    padding: 0 4px;
    font-size: 32px;
    line-height: 1;
    color: #141414;
    cursor: pointer;
    transition: color 0.2s ease;
}

.lc-testimonials__arrow:hover {
    color: var(--lc-yellow);
}

/* Carousel dots */
.lc-testimonials__dots {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.lc-testimonials__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background-color: #E6E6E6;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.lc-testimonials__dot.is-active {
    background-color: var(--lc-yellow);
}


/* ==========================================================================
   SECTION 9: FINAL CTA
   ========================================================================== */
.lc-final-cta {
    background-color: var(--lc-black);
    padding: 64px 0;
}

@media (min-width: 1024px) {
    .lc-final-cta { padding: 80px 0; }
}

.lc-final-cta__inner {
    text-align: center;
}

.lc-main .lc-final-cta__title {
    font-family: var(--lc-font-display);
    font-size: 26px !important;
    font-weight: 700;
    color: var(--lc-white);
    margin: 0 0 16px;
    line-height: 1.2;
}

@media (min-width: 640px) {
    .lc-main .lc-final-cta__title { font-size: 32px !important; }
}

@media (min-width: 1024px) {
    .lc-main .lc-final-cta__title { font-size: 40px !important; }
}

.lc-main .lc-final-cta__body {
    font-family: var(--lc-font-body);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    max-width: 580px;
    margin: 0 auto 24px;
    line-height: 1.6;
}

@media (min-width: 1024px) {
    .lc-main .lc-final-cta__body { font-size: 16px; }
}


/* ==========================================================================
   HEADER OVERRIDE — match XD nav (white bg, slim, logo + phone + CTA)
   ========================================================================== */
body:has(.lc-main) .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 300;
    background-color: var(--lc-white) !important;
}

body:has(.lc-main) .site-header *,
body:has(.lc-main) .site-header .title-bar,
body:has(.lc-main) .site-header .title-bar.landing-page,
body:has(.lc-main) .site-header nav.top-bar {
    background-color: transparent !important;
    background: transparent !important;
    min-height: 0 !important;
}

/* Remove borders/shadows from all header wrappers */
body:has(.lc-main) .site-header .relative {
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Hide non-landing elements everywhere */
body:has(.lc-main) .site-header .search-icon,
body:has(.lc-main) .site-header .back-to-top,
body:has(.lc-main) .site-header .desktop-searchbar,
body:has(.lc-main) .site-header .top-bar-center {
    display: none !important;
}

/* ---- Desktop (1024px+): show top-bar only ---- */
@media (min-width: 1024px) {
    /* Force-hide mobile title-bar + its container */
    body:has(.lc-main) .site-header .title-bar-container,
    body:has(.lc-main) .site-header .site-title-bar,
    body:has(.lc-main) .site-header .site-title-bar.title-bar,
    body:has(.lc-main) .site-header .title-bar.landing-page {
        display: none !important;
    }

    /* Grid container wrapping the desktop nav */
    body:has(.lc-main) .site-header .grid-container {
        max-width: var(--lc-container-max) !important;
        margin: 0 auto !important;
        padding-left: var(--lc-container-pad) !important;
        padding-right: var(--lc-container-pad) !important;
    }

    /* Top bar: force flex layout — logo left, right section pushed right */
    body:has(.lc-main) .site-header nav.site-navigation.top-bar {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        padding: 20px 0 !important;
    }

    body:has(.lc-main) .site-header nav.top-bar .top-bar-left {
        flex: 0 0 auto !important;
    }

    body:has(.lc-main) .site-header nav.top-bar .top-bar-right {
        flex: 0 0 auto !important;
        margin-left: auto !important;
    }

    /* Icons container in top-bar-right: override theme's position:fixed layout */
    body:has(.lc-main) .site-header nav.top-bar .top-bar-right .icons {
        position: static !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 20px !important;
        text-align: left !important;
        z-index: auto !important;
        top: auto !important;
        right: auto !important;
    }

    body:has(.lc-main) .site-header nav.top-bar .top-bar-right .icons .grid-container {
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 20px !important;
    }
}

/* ---- Mobile / Tablet (<1024px): show title-bar only ---- */
@media (max-width: 1023px) {
    /* Hide the desktop nav completely */
    body:has(.lc-main) .site-header nav.site-navigation.top-bar,
    body:has(.lc-main) .site-header nav.top-bar.show-for-large {
        display: none !important;
    }

    body:has(.lc-main) .site-header .title-bar-container {
        max-width: var(--lc-container-max) !important;
        margin: 0 auto !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    body:has(.lc-main) .site-header .site-title-bar.title-bar {
        display: block !important;
        padding: 12px 0 !important;
    }

    body:has(.lc-main) .site-header .title-bar .bar {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
    }

    /* Icons container inside title-bar-right: override theme's position:fixed */
    body:has(.lc-main) .site-header .title-bar-right .icons {
        position: static !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
        text-align: left !important;
        z-index: auto !important;
        top: auto !important;
        right: auto !important;
    }

    body:has(.lc-main) .site-header .title-bar-right .icons .grid-container {
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
    }
}

/* ---- Shared: Logo ---- */
body:has(.lc-main) .site-header .logo-link img.logo.hover {
    display: none !important;
}

body:has(.lc-main) .site-header .logo-link img.logo:not(.hover),
body:has(.lc-main) .site-header .logo-link img.home-logo {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 24px;
    width: auto;
}

@media only screen and (min-width: 640px) {
    body:has(.lc-main) .site-header .logo-link img.logo:not(.hover),
    body:has(.lc-main) .site-header .logo-link img.home-logo {
        height: 32px;
    }
}

/* ---- Shared: Phone number ---- */
body:has(.lc-main) .site-header .phone-number,
body:has(.lc-main) .site-header a.phone-number,
body:has(.lc-main) .site-header .icons .phone-number {
    font-family: var(--lc-font-body);
    font-size: 14px !important;
    font-weight: 500;
    color: var(--lc-black) !important;
    text-decoration: none;
    position: static !important;
    top: auto !important;
    margin-right: 0 !important;
}

/* Phone number link */
body:has(.lc-main) .site-header a.phone-number {
    text-decoration: underline !important;
}

body:has(.lc-main) .site-header .phone-number .lc-phone__number::after,
body:has(.lc-main) .site-header .phone-number .lc-phone__call-now::after {
    display: none !important;
}

/* Phone label: "Call Now" on mobile, number on desktop */
body:has(.lc-main) .site-header .phone-number .lc-phone__number {
    display: none;
}

body:has(.lc-main) .site-header .phone-number .lc-phone__call-now {
    display: inline;
}

@media (min-width: 1024px) {
    body:has(.lc-main) .site-header .phone-number .lc-phone__number {
        display: inline;
    }

    body:has(.lc-main) .site-header .phone-number .lc-phone__call-now {
        display: none;
    }
}

/* ---- Shared: CTA button — yellow bg / black text ---- */
body:has(.lc-main) .site-header .btn.btn-yellow,
body:has(.lc-main) .site-header .btn-wrap .btn.btn-yellow {
    background-color: var(--lc-yellow) !important;
    color: var(--lc-black) !important;
    font-family: var(--lc-font-body);
    font-size: 0;
    font-weight: 400;
    padding: 12px 14px !important;
    border-radius: 3px !important;
    border: none !important;
    line-height: 1;
    text-align: center;
    text-transform: none !important;
    white-space: nowrap;
    display: inline-block;
}

@media only screen and (min-width: 640px) {
    body:has(.lc-main) .site-header .btn.btn-yellow,
    body:has(.lc-main) .site-header .btn-wrap .btn.btn-yellow {
        padding: 12px 28px !important;
    }
}

body:has(.lc-main) .site-header .btn.btn-yellow:hover {
    background-color: #e5bb00 !important;
}

/* Always show button text via ::after — hides ACF whitespace/empty output */
body:has(.lc-main) .site-header .btn.btn-yellow::after {
    content: "Get A Free Audit";
    font-size: 14px;
    font-weight: 700;
    color: var(--lc-black) !important;
}

@media (min-width: 1024px) {
    body:has(.lc-main) .site-header .grid-container {
        padding-left: 47px!important;
        padding-right: 47px!important;
    }
}


/* ==========================================================================
   FOOTER OVERRIDE — full width on this page
   ========================================================================== */
.lc-main ~ .landing-page-footer,
.landing-page-footer {
    width: 100% !important;
    max-width: 100% !important;
}

.lc-main ~ .landing-page-footer .grid-container,
.landing-page-footer .grid-container {
    max-width: 100% !important;
    padding-left: 24px;
    padding-right: 24px;
}

@media (min-width: 1024px) {
    .lc-main ~ .landing-page-footer .grid-container,
    .landing-page-footer .grid-container {
        padding-left: var(--lc-container-pad);
        padding-right: var(--lc-container-pad);
    }
}


/* ==========================================================================
   SCROLL PROGRESS BAR (top of page)
   ========================================================================== */
.lc-scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background-color: var(--lc-yellow);
    z-index: 9999;
    width: 0;
    transition: width 0.1s linear;
    pointer-events: none;
}
