/*
 * Landing page sections
 *
 * Styles for the ACF "landing_*" flexible content layouts rendered by
 * partials/landing-*.php and partials/cta-landing.php.
 */

/* Landing Page Hero
 *
 * Mobile (<768): centered copy, CTA button, 2x2 stats below the photo.
 * Tablet (768-991): centered copy, CTA button, 4-col stats below the photo.
 * Desktop (>=992): left copy + form card, stats hang over the photo edge.
 */
.landing-hero {
    position: relative;
    padding: 0;
    overflow: visible;
}
.landing-hero-masthead {
    position: relative;
    padding: 40px 0;
    overflow: hidden;
}
.landing-hero-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.landing-hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
.landing-hero-image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.47);
}
.landing-hero-masthead .container,
.landing-hero-stats-outer .container {
    position: relative;
    z-index: 2;
}

/* Mobile/tablet: stack centered. Form card is desktop-only. */
.landing-hero-row {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.landing-hero-column {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 332px;
    text-align: center;
}
.landing-hero-column-form {
    display: none;
}

/* Google review blob */
.landing-hero-reviews {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 9px;
    margin-bottom: 8px;
    padding: 5px 15px;
    border-radius: 30px;
    background-color: #fff;
    color: inherit;
    text-decoration: none;
}
a.landing-hero-reviews:hover,
a.landing-hero-reviews:focus {
    color: inherit;
    text-decoration: none;
    opacity: 0.92;
}
.landing-hero-reviews-logo svg {
    display: block;
    width: 21px;
    height: 20px;
}
.landing-hero-reviews-rating {
    font-family: 'Barlow', sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 20px;
    color: #1F1F1F;
}
.landing-hero-reviews-stars {
    display: inline-flex;
    align-items: center;
    gap: 2.25px;
}
.landing-hero-reviews-star {
    display: block;
    width: 15px;
    height: 15px;
    fill: #C34F22;
}
.landing-hero-reviews-text {
    display: none;
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    color: #1F1F1F;
}

/* Hero copy */
.landing-hero-heading {
    color: #fff;
    margin: 0 0 8px;
    font-size: 43px;
    font-weight: 500;
    line-height: 54px;
}
.landing-hero-heading span,
.landing-hero-form-heading span {
    color: #C34F22;
}
.landing-hero-supporting-heading {
    color: #fff;
    margin: 0 0 8px;
    font-size: 30px;
    font-weight: 500;
    line-height: normal;
}
.landing-hero-content {
    color: #fff;
}
.landing-hero-content h1,
.landing-hero-content h2,
.landing-hero-content h3,
.landing-hero-content h4 {
    color: #fff;
    margin: 0 0 8px;
}
.landing-hero-content h1 {
    font-size: 43px;
    line-height: 54px;
}
.landing-hero-content h2 {
    font-size: 30px;
    line-height: normal;
}
.landing-hero-content h3 {
    font-size: 20px;
    line-height: 1.3em;
}
.landing-hero-content p {
    color: #fff;
    font-family: 'Barlow', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
    margin: 0;
}
.landing-hero-content p:last-child {
    margin-bottom: 0;
}
.landing-hero-content a:not(.btn) {
    color: #fff;
    text-decoration: underline;
}
.landing-hero-content .text-accent {
    color: #C34F22;
}

/* Mobile/tablet CTA (replaces form card below desktop) */
.landing-hero-cta-wrap {
    display: block;
    width: 100%;
    margin-top: 20px;
}
.landing-hero-cta {
    display: block;
    width: 100%;
    padding: 15px 20px;
    font-size: 18px;
    line-height: 21.6px;
    font-weight: 500;
    letter-spacing: 1px;
    text-align: center;
    box-sizing: border-box;
}
/* Keep the orange fill so the theme bubble (::after) can expand over it */
.landing-hero-cta:hover {
    background-color: #C34F22;
    color: #C34F22;
}
/* Hero design does not use the theme trailing arrow */
.landing-hero-cta .icon-long-right-arrow {
    display: none !important;
}

/* Hero form card
 *
 * The form itself inherits the site form styles from main.css. Everything below
 * is scoped under .landing-hero-form so the other CF7 forms on the site are
 * left untouched.
 */
.landing-hero-form {
    padding: 25px 20px;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 5px 24px rgba(43, 12, 0, 0.13);
}
/* Figma Lead Form Card header: Barlow Condensed Bold 28 / accent #C34F22 */
.landing-hero-form-heading {
    margin: 0;
    padding: 0;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: normal;
    color: #1F1F1F;
    text-transform: uppercase;
}
.landing-hero-form-heading span {
    color: #C34F22;
}
.landing-hero-form-content {
    margin: 0;
}
.landing-hero-form-content h2,
.landing-hero-form-content h3,
.landing-hero-form-content h4 {
    margin: 0;
    padding: 0;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: normal;
    color: #1F1F1F;
    text-transform: uppercase;
}
.landing-hero-form-content h2 span,
.landing-hero-form-content h3 span,
.landing-hero-form-content h4 span {
    color: #C34F22;
}
/* Figma: Barlow Bold 13px #737373, 1px under the title */
.landing-hero-form-content p {
    font-family: 'Barlow', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: normal;
    color: #737373;
    margin: 1px 0 0;
}
.landing-hero-form-content p:first-child {
    margin-top: 1px;
}
.landing-hero-form-content .text-accent {
    color: #C34F22;
}
/* 16px between the header block and the first field row (via form-col) */
.landing-hero-form-fields input[type="submit"],
.landing-hero-form-fields button[type="submit"] {
    width: 100%;
}

/* Contact Form 7 wraps its hidden inputs in a fieldset. The plugin stylesheet
   that would hide it is switched off site wide by WPCF7_LOAD_CSS, and
   normalize.css puts a border on every fieldset, so hide it here. */
.landing-hero-form-fields .hidden-fields-container {
    display: none;
}

/* Tighten the theme .row gutters so the 2-up fields match the 20px Figma gap
   inside the 508px form card without overflowing the padding. */
.landing-hero-form-fields .row {
    margin-left: -10px;
    margin-right: -10px;
}
.landing-hero-form-fields [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
}
.landing-hero-form-fields .form-col {
    padding-top: 16px;
}
.landing-hero-form-fields label {
    font-family: 'Barlow', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #1F1F1F;
    letter-spacing: 0;
    text-transform: none;
    padding: 0 0 6px;
}
.landing-hero-form-fields [type="text"],
.landing-hero-form-fields [type="email"],
.landing-hero-form-fields [type="tel"],
.landing-hero-form-fields [type="number"],
.landing-hero-form-fields select {
    height: 44px;
    line-height: 44px;
    padding: 0 14px;
    font-size: 13px;
    background-color: #FAFAFA;
    border: 1px solid #E0E0E0;
    border-radius: 6px;
}
/* main.css only sets width on the [type=...] inputs and textarea, so the select
   sizes to its content. Choices.js normally replaces it, but style the native
   element too so it holds up if the widget does not initialise. */
.landing-hero-form-fields select {
    width: 100%;
    padding-right: 34px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23999999' stroke-width='1.5' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px;
    color: #888888;
}
.landing-hero-form-fields select::-ms-expand {
    display: none;
}
.landing-hero-form-fields textarea {
    height: 72px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.4em;
    background-color: #FAFAFA;
    border: 1px solid #E0E0E0;
    border-radius: 6px;
}
.landing-hero-form-fields ::-webkit-input-placeholder {
    color: #999999;
}
.landing-hero-form-fields ::-moz-placeholder {
    color: #999999;
    opacity: 1;
}
.landing-hero-form-fields :-ms-input-placeholder {
    color: #999999;
}
.landing-hero-form-fields ::placeholder {
    color: #999999;
}
.landing-hero-form-fields .form-col p {
    font-size: 11px;
    line-height: 1.4em;
    color: #737373;
    margin: 0;
}

/* The "How can we help you?" select is enhanced by Choices.js, which hides the
   native element, so these classes carry the styling instead. Selectors match
   the specificity of the base widget rules in main.css. */
.landing-hero-form-fields .choices {
    margin-bottom: 0;
    font-family: 'Barlow', sans-serif;
    font-size: 13px;
    color: #888888;
}
.landing-hero-form-fields .choices__list--single .choices__item[data-value=''] {
    color: #999999;
}
.landing-hero-form-fields .choices[data-type*='select-one'] .choices__inner {
    width: 100%;
    height: 44px;
    min-height: 44px;
    padding: 0 14px;
    font-family: 'Barlow', sans-serif;
    font-size: 13px;
    line-height: 42px;
    background-color: #FAFAFA;
    border: 1px solid #E0E0E0;
    border-radius: 6px;
}
.landing-hero-form-fields .choices__list--single {
    padding: 0 26px 0 0;
    line-height: 42px;
}
.landing-hero-form-fields .choices[data-type*='select-one']:after {
    width: 34px;
    height: 42px;
    line-height: 42px;
    border-left: 0;
    font-size: 12px;
    color: #999999;
}
.landing-hero-form-fields .choices.is-open .choices__inner,
.landing-hero-form-fields .choices.is-focused .choices__inner {
    border-color: #C34F22;
}
/* .btn and .choices__list--dropdown both sit at z-index 1 in main.css, so the
   submit button wins on document order and covers the open menu. */
.landing-hero-form-fields .choices.is-open {
    z-index: 5;
}
.landing-hero-form-fields .choices__list--dropdown {
    z-index: 5;
    border-color: #E0E0E0;
    border-radius: 0 0 6px 6px;
    font-size: 13px;
}

/* The theme button ships a trailing arrow icon the hero design does not use */
.landing-hero-form-fields button[type="submit"] .icon-long-right-arrow {
    display: none;
}

/* Hero stats banner (Figma: Statistics Container)
 * Mobile: full-bleed white bar, 2x2, icon above centered text. */
.landing-hero-stats-outer {
    background-color: #fff;
}
.landing-hero-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    margin-top: 0;
    padding: 30px 0;
    background-color: transparent;
    border-radius: 0;
    box-shadow: none;
}
.landing-hero-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    flex: 0 1 calc(50% - 20px);
    max-width: 147px;
    text-align: center;
}
.landing-hero-stat-icon {
    flex: 0 0 auto;
    width: 40px;
}
.landing-hero-stat-icon img {
    display: block;
    width: 40px;
    height: 40px;
    margin: 0 auto;
    -o-object-fit: contain;
    object-fit: contain;
}
.landing-hero-stat-details {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
}
.landing-hero-stat-title {
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
    line-height: 1.33;
    font-weight: 700;
    color: #444444;
    text-transform: uppercase;
}
.landing-hero-stat-text {
    font-family: 'Barlow', sans-serif;
    font-size: 15px;
    line-height: 18px;
    font-weight: 400;
    color: #444444;
}

/* Tablet: wider centered content, 4-up stats row */
@media (min-width: 768px) {
    .landing-hero-masthead {
        padding: 50px 0;
    }
    .landing-hero-column {
        max-width: 496px;
    }
    .landing-hero-heading {
        font-size: 45px;
        line-height: 1;
        margin-bottom: 20px;
    }
    .landing-hero-supporting-heading {
        margin-bottom: 20px;
    }
    .landing-hero-content h1,
    .landing-hero-content h2,
    .landing-hero-content h3,
    .landing-hero-content h4 {
        margin-bottom: 20px;
    }
    .landing-hero-reviews {
        margin-bottom: 20px;
    }
    .landing-hero-cta-wrap {
        margin-top: 32px;
    }
    .landing-hero-stats {
        padding: 30px 0;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
    .landing-hero-stat {
        flex: 1 1 0;
        max-width: 147px;
    }
}

/* Desktop: side-by-side copy + form, stats hang over photo */
@media (min-width: 992px) {
    /* 40px gap below the form + 65px of photo behind the top half of stats */
    .landing-hero-masthead {
        padding: 40px 0 105px;
        overflow: visible;
    }
    .landing-hero-has-stats .landing-hero-masthead {
        padding-bottom: 105px;
    }
    .landing-hero-image:after {
        background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.7)), color-stop(60%, rgba(0, 0, 0, 0.35)), to(rgba(0, 0, 0, 0.1)));
        background: -o-linear-gradient(left, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.35) 60%, rgba(0, 0, 0, 0.1) 100%);
        background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.35) 60%, rgba(0, 0, 0, 0.1) 100%);
    }
    /* Figma Content Section: left copy ~613px, form 508px, large gutter between */
    .landing-hero-row {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 60px;
    }
    .landing-hero-column {
        align-items: flex-start;
        flex: 1 1 auto;
        min-width: 0;
        max-width: 613px;
        text-align: left;
        padding-top: 0;
    }
    .landing-hero-no-form .landing-hero-column {
        max-width: 720px;
    }
    .landing-hero-column-form {
        display: block;
        flex: 0 0 460px;
        max-width: 460px;
        margin-top: 0;
    }
    .landing-hero-cta-wrap {
        display: none;
    }
    .landing-hero-reviews {
        margin-bottom: 15px;
        flex-wrap: wrap;
    }
    .landing-hero-reviews-logo svg {
        width: 26px;
        height: 26px;
    }
    .landing-hero-reviews-rating {
        font-size: 16px;
    }
    .landing-hero-reviews-stars {
        gap: 2.57px;
    }
    .landing-hero-reviews-star {
        width: 17.14px;
        height: 16.5px;
    }
    .landing-hero-reviews-text {
        display: inline;
    }
    .landing-hero-heading {
        font-size: 72px;
        font-weight: 500;
        line-height: 1em;
        max-width: 505px;
        margin-bottom: 15px;
    }
    .landing-hero-supporting-heading {
        font-size: 30px;
        line-height: 1.15em;
        max-width: 560px;
        margin-bottom: 15px;
    }
    .landing-hero-content h1,
    .landing-hero-content h2,
    .landing-hero-content h3,
    .landing-hero-content h4 {
        margin-bottom: 15px;
    }
    .landing-hero-content p {
        font-size: 20px;
        line-height: 28px;
        max-width: 560px;
        margin-bottom: 15px;
    }
    .landing-hero-content p:last-child {
        margin-bottom: 0;
    }
    .landing-hero-form {
        padding: 32px;
    }
    .landing-hero-form-heading,
    .landing-hero-form-content h2,
    .landing-hero-form-content h3,
    .landing-hero-form-content h4 {
        font-size: 28px;
        line-height: normal;
    }
    .landing-hero-stats-outer {
        background-color: transparent;
    }
    .landing-hero-stats {
        position: relative;
        z-index: 3;
        gap: 40px;
        /* Pull up so the top half of the card sits over the photo */
        margin-top: -65px;
        margin-bottom: 0;
        padding: 30px 50px;
        flex-wrap: nowrap;
        justify-content: space-between;
        background-color: #fff;
        border-radius: 6px;
        box-shadow: 0 5px 12px rgba(43, 12, 0, 0.13);
    }
    .landing-hero-stat {
        flex-direction: row;
        align-items: flex-start;
        flex: 1 1 0;
        max-width: none;
        min-width: 0;
        text-align: left;
    }
    .landing-hero-stat-icon {
        flex: 0 0 40px;
    }
    .landing-hero-stat-icon img {
        margin: 0;
    }
    .landing-hero-stat-details {
        align-items: flex-start;
        gap: 0;
    }
    .landing-hero-stat-text {
        line-height: 28px;
    }
}

@media (min-width: 1200px) {
    /* Hero replaces the page title masthead, so clear the fixed .page-header.
       padding-top matches Figma Content Section offset below the nav. */
    .has-landing-hero .landing-hero-masthead {
        margin-top: 101px;
        padding-top: 40px;
    }
    /* Figma uses 142px; clamp so mid-width desktops do not overflow the container */
    .landing-hero-row {
        gap: clamp(60px, 10vw, 142px);
    }
    .landing-hero-column-form {
        flex: 0 0 508px;
        max-width: 508px;
    }
    .landing-hero-heading {
        font-size: 98px;
        line-height: 98px;
    }
    .landing-hero-supporting-heading {
        font-size: 35px;
        line-height: normal;
    }
    .landing-hero-content p {
        font-size: 25px;
        line-height: 28px;
    }
}

/* Landing Page CTA
 * Figma / Camryn: section top+bottom padding 120px (not shared 100px).
 */
.cta-landing {
    background-color: #C34F22;
    background: -webkit-gradient(linear, left top, right top, from(#C34F22), to(#EB8B3F));
    background: -o-linear-gradient(left, #C34F22 0%, #EB8B3F 100%);
    background: linear-gradient(90deg, #C34F22 0%, #EB8B3F 100%);
}
.cta-landing-info {
    color: #fff;
}
.cta-landing-info h1,
.cta-landing-info h2,
.cta-landing-info h3,
.cta-landing-info h4 {
    color: #fff;
    margin: 0 0 15px;
    /* Override main.css heading padding-bottom so section py stays exact */
    padding: 0;
}
.cta-landing-info h2 {
    font-size: 32px;
    line-height: 1.1em;
}
.cta-landing-info h3 {
    font-size: 26px;
    line-height: 1.15em;
}
.cta-landing-info p {
    color: #fff;
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0;
    margin: 0 0 20px;
    /* Override main.css p padding-bottom: 20px */
    padding: 0;
}
.cta-landing-info p:last-child {
    margin-bottom: 0;
}
.landing-section.cta-landing .sub-heading,
.landing-section.cta-landing .sub-heading p,
.cta-landing-info .sub-heading,
.cta-landing-info .sub-heading p {
    color: #fff;
    padding-bottom: 0;
}
.cta-landing-btns {
    margin-top: 25px;
}
.cta-landing-btns .btn {
    margin: 0 10px 10px 0;
}
.cta-landing .btn-cta-outlined {
    color: #fff;
    border-color: #fff;
    background-color: transparent;
}
.cta-landing .btn-cta-outlined:after {
    background-color: #fff;
}
.cta-landing .btn-cta-outlined:hover {
    color: #C34F22;
    background-color: transparent;
}
.cta-landing .btn-cta-solid {
    color: #C34F22;
    border-color: #fff;
    background-color: #fff;
}
.cta-landing .btn-cta-solid:after {
    background-color: #C34F22;
}
.cta-landing .btn-cta-solid:hover {
    color: #fff;
    background-color: #fff;
}

@media (min-width: 992px) {
    .cta-landing-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 40px;
    }
    .cta-landing-info {
        flex: 1 1 auto;
        min-width: 0;
        max-width: 725px;
    }
    .cta-landing-info h2 {
        font-size: 42px;
    }
    .cta-landing-btns {
        flex: 0 0 auto;
        margin-top: 0;
        text-align: right;
    }
    .cta-landing-btns .btn {
        margin: 0 0 0 10px;
    }
}

/* Landing Page Sections
 *
 * Shared vertical rhythm for every landing block except the hero.
 * When two adjacent sections share the same solid background token, the
 * following section's top padding collapses so spacing is not doubled.
 * Image backgrounds (.landing-has-bg-image) never participate - adjacent
 * photos must keep full padding so the gap does not collapse.
 */
.landing-section {
    position: relative;
    padding: 55px 0;
}
.landing-bg-white {
    background-color: #fff;
}
.landing-bg-grey {
    background-color: #F5F5F5;
}
.landing-bg-dark {
    background-color: #282828;
}
.landing-bg-peach {
    background-color: #FFF2EC;
}
.landing-bg-white:not(.landing-has-bg-image) + .landing-bg-white:not(.landing-has-bg-image),
.landing-bg-grey:not(.landing-has-bg-image) + .landing-bg-grey:not(.landing-has-bg-image),
.landing-bg-dark:not(.landing-has-bg-image) + .landing-bg-dark:not(.landing-has-bg-image),
.landing-bg-peach:not(.landing-has-bg-image) + .landing-bg-peach:not(.landing-has-bg-image),
.landing-bg-cta:not(.landing-has-bg-image) + .landing-bg-cta:not(.landing-has-bg-image) {
    padding-top: 0;
}
.landing-section .sub-heading {
    color: #C34F22;
}
.landing-section-heading {
    margin: 0 0 20px;
    color: #444;
}
.landing-section-heading span {
    color: #C34F22;
}
.landing-section-content {
    color: #444;
}
.landing-section-content p {
    margin: 0 0 15px;
}
.landing-section-content p:last-child {
    margin-bottom: 0;
}
/* Shared body copy used by half / process / feature callout */
.landing-half-content p,
.landing-process .landing-section-content p,
.landing-feature-logo-callout .landing-section-content p,
.landing-feature-logo-callout-offer p {
    margin: 0;
    color: #444;
    font-size: 16px;
    line-height: 28px;
}
.landing-section-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}
.landing-section-buttons .btn {
    margin: 0;
}
.landing-btn-solid {
    color: #fff;
    border-color: #C34F22;
    background-color: #C34F22;
}
.landing-btn-solid:after {
    background-color: #fff;
}
/* Match .btn-primary: keep fill so the bubble hover can animate */
.landing-btn-solid:hover {
    color: #C34F22;
    background-color: #C34F22;
}
.landing-btn-outlined {
    color: #C34F22;
    border-color: #C34F22;
    background-color: transparent;
}
.landing-btn-outlined:after {
    background-color: #C34F22;
}
/* Match .btn-secondary: keep base so the bubble hover can animate */
.landing-btn-outlined:hover {
    color: #fff;
    background-color: transparent;
}
/* Shared checklist marker (half image + icon features) */
.landing-half-content ul li:before,
.landing-icon-feature-content ul li:before {
    content: '';
    position: static;
    flex: 0 0 15px;
    display: block;
    width: 15px;
    height: 15px;
    margin: 0;
    background: url(../img/landing/check-mark.svg) center / contain no-repeat;
}

/* Half Image Text */
.landing-half-row {
    display: flex;
    flex-direction: column;
    gap: 35px;
}
.landing-half-media {
    overflow: hidden;
}
.landing-half-media img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.landing-half-content {
    color: #444;
}
/* Let .landing-section .sub-heading keep the brand orange eyebrow */
.landing-half-content > h6 {
    color: #4D4D4D;
}
.landing-half-content > h6 + h2,
.landing-half-content .sub-heading + h2 {
    margin-top: 0;
}
.landing-half-content h2 {
    margin: 0 0 20px;
    color: #444;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 34px;
    line-height: 1.1em;
    font-weight: 500;
}
.landing-half-content h2 span {
    color: #C34F22;
}
.landing-half-content ul {
    margin: 0 0 20px;
    padding: 0;
}
.landing-half-content ul li {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 0 0 5px 0;
    margin: 0;
    color: #444;
    font-size: 16px;
    line-height: 28px;
    list-style: none;
}
.landing-half-content ul li:last-child {
    padding-bottom: 0;
}
.landing-half-copy > .landing-section-buttons {
    margin-top: 20px;
}
.landing-half-content a.btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 10px 10px 0;
}
.landing-half-content a.btn .icon-phone,
.landing-section-buttons .btn .icon-phone {
    font-size: 14px;
    line-height: 1;
}

/* Process media */
.landing-process-row {
    display: flex;
    flex-direction: column;
    gap: 35px;
}
/* Mobile/tablet: content first, image below */
.landing-process-copy {
    order: 0;
    display: flex;
    flex-direction: column;
    /* Figma --text/spacing/paragraph-spacing: 20px between heading, body, cards, CTA */
    gap: 20px;
}
.landing-process-media {
    order: 1;
    overflow: hidden;
}
.landing-process-media img {
    display: block;
    width: 100%;
    height: auto;
}

/* Feature logo callout */
.landing-feature-logo-callout {
    overflow: visible;
}
.landing-feature-logo-callout .container {
    overflow: visible;
}
.landing-feature-logo-callout-frame {
    position: relative;
    width: 100%;
    overflow: visible;
    border: 1px solid #D8D9D8;
    padding: 35px;
}
.landing-feature-logo-callout-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
.landing-feature-logo-callout-background::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(74deg, rgba(255, 255, 255, 0.89) 1.5%, rgba(255, 230, 218, 0.89) 99%);
}
.landing-feature-logo-callout-background img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
.landing-feature-logo-callout-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    /* Figma --text/spacing/paragraph-spacing: 20px between heading, body, offer */
    gap: 20px;
}
.landing-feature-logo-callout .sub-heading {
    /* Override main.css .sub-heading padding-bottom: 8px so copy gap stays 20px */
    padding-bottom: 0;
}
.landing-feature-logo-callout .landing-section-heading {
    margin: 0;
    /* Override main.css h2 padding-bottom: 20px */
    padding: 0;
}
.landing-feature-logo-callout .sub-heading + .landing-section-heading {
    /* Figma heading group gap is 5px (eyebrow to title) */
    margin-top: -15px;
}
.landing-feature-logo-callout .landing-section-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.landing-feature-logo-callout .landing-section-content p {
    /* Override main.css p { padding: 0 0 20px } so offer gap is exactly 20px */
    padding: 0;
}
.landing-feature-logo-callout-offer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    gap: 10px;
}
/* Hard 64x64 box via background - avoids WP SVG width=1/height=1 img intrinsic blowout */
.landing-feature-logo-callout-offer-icon {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 64px;
    flex: 0 0 64px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    box-sizing: border-box;
    width: 64px;
    min-width: 64px;
    max-width: 64px;
    height: 64px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-image: var(--landing-offer-icon);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 64px 64px;
}
.landing-feature-logo-callout-offer-text {
    display: block;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
}
/* Reset global h3 padding (main.css uses padding-bottom: 20px on h3) */
.landing-feature-logo-callout-offer h3 {
    margin: 0;
    padding: 0;
    color: #C34F22;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    text-align: left;
}
.landing-feature-logo-callout-offer p {
    padding: 0;
    text-align: left;
}
/* Logos only on desktop; tablet/mobile hide per Figma */
.landing-feature-logo-callout-logos {
    display: none;
}

/* Icon features - Figma 20061:203
 * Section py 120px; header->grid gap 32px; feature pt 38px; grid col 110 / row 53.
 */
.landing-icon-features .sub-heading {
    /* Override main.css .sub-heading padding-bottom: 8px */
    padding-bottom: 0;
}
.landing-icon-features .landing-section-heading {
    /* Override .landing-section-heading margin and main.css h2 padding-bottom */
    margin: 0;
    padding: 0;
}
.landing-icon-features .sub-heading + .landing-section-heading {
    /* Figma header group gap: 5px */
    margin-top: 5px;
}
.landing-icon-features .landing-section-content {
    margin-top: 20px;
}
.landing-icon-features .landing-section-content p {
    margin: 0;
    padding: 0;
}
.landing-icon-features-grid {
    /* Figma --section-spacing/inner-content-spacing/multi-row-content */
    margin-top: 32px;
}
.landing-icon-feature {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 19px;
    padding: 38px 0 0;
    border-top: 1px solid #D8D9D8;
}
.landing-icon-feature + .landing-icon-feature {
    margin-top: 10px;
}
.landing-icon-feature-icon {
    flex: 0 0 auto;
}
.landing-icon-feature-icon img {
    display: block;
    width: auto;
    height: auto;
    max-width: 47px;
}
.landing-icon-feature-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 19px;
    min-width: 0;
}
.landing-icon-feature h3 {
    margin: 0;
    padding: 0;
    color: #4D4D4D;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
}
.landing-icon-feature-content {
    display: flex;
    flex-direction: column;
    gap: 19px;
}
.landing-icon-feature-content p {
    margin: 0;
    padding: 0;
    color: #444;
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
}
.landing-icon-feature-content ul {
    margin: 0;
    padding: 0;
}
.landing-icon-feature-content ul li {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    color: #444;
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    list-style: none;
}

/* Testimonials */
.landing-testimonials {
    overflow: hidden;
    color: #fff;
}
.landing-testimonials-background,
.landing-testimonials-background:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.landing-testimonials-background:after {
    content: '';
    background-color: rgba(27, 8, 0, 0.65);
}
.landing-testimonials-background img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
.landing-testimonials .container {
    position: relative;
    z-index: 1;
}
.landing-testimonials .sub-heading {
    margin: 0;
    padding: 0;
    color: #c34f22;
}
.landing-testimonials .landing-section-heading {
    margin: 5px 0 0;
    padding: 0;
    color: #fff;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 1;
}
.landing-testimonials .landing-section-content {
    margin: 5px 0 0;
    max-width: none;
}
.landing-testimonials .landing-section-content,
.landing-testimonials .landing-section-content p {
    color: #fff;
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
}
.landing-testimonials .landing-section-content p {
    margin: 0;
    /* Override main.css p padding-bottom so slider gap stays exactly 32px */
    padding: 0;
}
.landing-testimonials-slider {
    /* Figma --section-spacing/inner-content-spacing/multi-row-content */
    margin-top: 32px;
}
.landing-testimonials-slider .slick-list {
    margin: 0 -16px;
}
.landing-testimonials-slider .slick-slide {
    padding: 0 16px;
    height: auto;
    display: flex;
}
.landing-testimonials-slider .slick-track {
    display: flex;
}
.landing-testimonials-slider .slick-slide > div {
    height: 100%;
}
.landing-testimonials-slider.slick-initialized .slick-slide {
    width: 332px;
}
.landing-testimonial {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-height: 392px;
    padding: 40px 32px;
    border: 1px solid #b2b2b2;
    background-color: rgba(0, 0, 0, 0.44);
}
.landing-testimonial-inner {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}
.landing-testimonial-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
}
.landing-testimonial-rating {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 32px;
    flex-shrink: 0;
}
/* Beat .slick-slide img { width: 100% } from main.css */
.landing-testimonials-slider .landing-testimonial-google,
.landing-testimonials-slider .landing-testimonial-verified,
.landing-testimonials-slider .landing-testimonial-stars img {
    display: block;
    flex-shrink: 0;
    max-width: none;
    height: auto;
}
.landing-testimonials-slider .landing-testimonial-google {
    width: 20px;
    height: 20px;
    -o-object-fit: cover;
    object-fit: cover;
}
.landing-testimonial-rating-meta {
    display: flex;
    align-items: center;
    gap: 15px;
}
.landing-testimonial-stars {
    display: flex;
    align-items: center;
    gap: 3px;
}
.landing-testimonials-slider .landing-testimonial-stars img {
    width: 20px;
}
.landing-testimonials-slider .landing-testimonial-verified {
    width: 22px;
}
.landing-testimonial-quote {
    flex-grow: 1;
    max-height: 224px;
    margin: 0 0 32px;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    color: #fff;
    font-size: 16px;
    line-height: 28px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.landing-testimonial-quote::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}
.landing-testimonial-quote p {
    margin: 0 0 1em;
}
.landing-testimonial-quote p:last-child {
    margin-bottom: 0;
}
/* Figma 20039:1357 - custom 14px track/thumb column */
.landing-testimonial-scrollbar {
    display: none;
    position: relative;
    flex: 0 0 14px;
    width: 14px;
    height: 312px;
    max-height: 100%;
    background-color: #222;
}
.landing-testimonial.has-scroll .landing-testimonial-scrollbar {
    display: block;
}
.landing-testimonial-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 14px;
    background-color: #d9d9d9;
    border-radius: 0;
}
.landing-testimonial-name {
    flex-shrink: 0;
    color: #c0c0c0;
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1.5;
    text-transform: uppercase;
}
.landing-testimonial-location {
    flex-shrink: 0;
    margin-top: 4px;
    color: #c34f22;
    font-family: 'Barlow', sans-serif;
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 3px;
    line-height: 1.5;
    text-transform: uppercase;
}
.landing-testimonials-nav {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 32px;
}

/* Process */
.landing-process .sub-heading {
    /* Override main.css .sub-heading padding-bottom: 8px */
    padding-bottom: 0;
}
.landing-process .landing-section-heading {
    margin: 0;
    padding: 0;
}
.landing-process .sub-heading + .landing-section-heading {
    /* Figma heading group gap: 5px */
    margin-top: -15px;
}
.landing-process .landing-section-content {
    margin: 0;
}
.landing-process .landing-section-content p {
    margin: 0;
    padding: 0;
}
.landing-process-steps {
    display: grid;
    /* Figma cards-row gap */
    gap: 16px;
    margin-top: 0;
}
.landing-process-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 5px 12px rgba(43, 12, 0, 0.13);
}
/* Circle is CSS-only; uploaded icon sits inside at 28x28 */
.landing-process-step-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: rgba(195, 79, 34, 0.08);
}
.landing-process-step-icon img,
.landing-process-step-icon .landing-process-step-icon-img {
    display: block;
    width: 28px;
    height: 28px;
    max-width: 28px;
    margin: 0;
    -o-object-fit: contain;
    object-fit: contain;
}
.landing-process-step-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
/* Reset global h3 padding/size from main.css (padding-bottom: 20px; font-size: 22px) */
.landing-process-step h3 {
    margin: 0;
    padding: 0;
    color: #1a1a1a;
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
    line-height: 19px;
    font-weight: 700;
}
.landing-process-step h3 span {
    margin-right: 0;
}
.landing-process-step-sub-heading {
    margin: 0;
    padding: 0;
    color: #C34F22;
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 17px;
}
/* Reset global p padding-bottom: 20px from main.css */
.landing-process-step p {
    margin: 0;
    padding: 0;
    color: #666;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}
.landing-process .landing-section-buttons {
    margin-top: 0;
}

/* Video gallery */
.landing-video-gallery {
    overflow: hidden;
    color: #fff;
    background-color: #252525;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.landing-video-gallery:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(37, 37, 37, 0.88);
    pointer-events: none;
}
.landing-video-gallery .container {
    position: relative;
    z-index: 1;
    overflow: visible;
    display: flex;
    flex-direction: column;
    /* Figma Section Container --section-spacing/inner-content-spacing/multi-row-content */
    gap: 32px;
}
.landing-video-gallery h2 {
    margin: 0;
    /* Override main.css h2 padding-bottom: 20px */
    padding: 0;
    color: #fff;
}
.landing-video-gallery h2 span {
    color: #C34F22;
}
.landing-video-gallery .sub-heading {
    padding-bottom: 0;
}
.landing-video-gallery .landing-section-content,
.landing-video-gallery .landing-section-content p {
    color: #fff;
}
.landing-video-gallery .landing-section-content {
    margin: 0;
}
.landing-video-gallery .landing-section-content p {
    margin: 0;
    padding: 0;
}
.landing-video-gallery-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
}
.landing-video-gallery-intro {
    display: flex;
    flex-direction: column;
    /* Figma Title Container gap */
    gap: 5px;
    max-width: 100%;
}
.landing-video-gallery-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.2;
    text-transform: uppercase;
    text-decoration: none;
    -webkit-transition: color 0.25s ease;
    transition: color 0.25s ease;
}
.landing-video-gallery-link:hover,
.landing-video-gallery-link:focus {
    color: #C34F22;
    text-decoration: none;
}
.landing-video-gallery-link-text {
    border-bottom: 1px solid #C34F22;
    -webkit-transition: border-color 0.25s ease;
    transition: border-color 0.25s ease;
}
.landing-video-gallery-link:hover .landing-video-gallery-link-text,
.landing-video-gallery-link:focus .landing-video-gallery-link-text {
    border-bottom-color: #C34F22;
}
.landing-video-gallery-link-arrow {
    display: block;
    width: 8.171px;
    height: 8.171px;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url('../img/landing/gallery-link-arrow.svg') center / contain no-repeat;
    mask: url('../img/landing/gallery-link-arrow.svg') center / contain no-repeat;
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: transform 0.25s ease;
}
.landing-video-gallery-link:hover .landing-video-gallery-link-arrow,
.landing-video-gallery-link:focus .landing-video-gallery-link-arrow {
    -webkit-transform: translateX(4px);
    -ms-transform: translateX(4px);
    transform: translateX(4px);
}
.landing-video-gallery-slider {
    margin-top: 0;
    /* Bleed cards past container to the right viewport edge (tablet/mobile peek) */
    width: calc(100% + ((100vw - 100%) / 2));
    max-width: none;
}
.landing-video-gallery-slider .slick-list {
    margin: 0;
    overflow: hidden;
}
.landing-video-gallery-slider .slick-slide {
    /* Figma Content Container card gap: 32px */
    padding-right: 32px;
}
.landing-video-gallery-slider.slick-initialized .slick-slide {
    width: 364px;
}
.landing-video-card {
    outline: none;
    width: 100%;
}
.landing-video-card-link {
    display: block;
    color: #fff;
    text-decoration: none;
}
.landing-video-card-link:hover,
.landing-video-card-link:focus {
    color: #fff;
    text-decoration: none;
}
.landing-video-card-image {
    position: relative;
    height: 237px;
    overflow: hidden;
    background-color: #1c1c1c;
}
.landing-video-card-image > img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: -webkit-transform 0.35s ease;
    transition: transform 0.35s ease;
}
.landing-video-card-image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.12);
    pointer-events: none;
    -webkit-transition: background-color 0.35s ease;
    transition: background-color 0.35s ease;
}
.landing-video-play {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 89px;
    height: 89px;
    border-radius: 50%;
    color: #C34F22;
    background-color: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: -webkit-transform 0.35s ease, box-shadow 0.35s ease;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.landing-video-play i {
    margin-left: 4px;
    font-size: 28px;
    line-height: 1;
}
.landing-video-card-link:hover .landing-video-card-image > img,
.landing-video-card-link:focus .landing-video-card-image > img {
    -webkit-transform: scale(1.06);
    -ms-transform: scale(1.06);
    transform: scale(1.06);
}
.landing-video-card-link:hover .landing-video-card-image:after,
.landing-video-card-link:focus .landing-video-card-image:after {
    background-color: rgba(0, 0, 0, 0.38);
}
.landing-video-card-link:hover .landing-video-play,
.landing-video-card-link:focus .landing-video-play {
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
    -webkit-transform: translate(-50%, -50%) scale(1.08);
    -ms-transform: translate(-50%, -50%) scale(1.08);
    transform: translate(-50%, -50%) scale(1.08);
}
.landing-video-card-info {
    display: flex;
    align-items: center;
    min-height: 122px;
    padding: 20px;
    background-color: #1c1c1c;
    -webkit-transition: background-color 0.35s ease;
    transition: background-color 0.35s ease;
}
.landing-video-card-link:hover .landing-video-card-info,
.landing-video-card-link:focus .landing-video-card-info {
    background-color: #141414;
}
.landing-video-card h3 {
    margin: 0;
    color: #fff;
    font-family: 'Barlow', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5em;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.landing-video-gallery-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 0;
}
.landing-video-gallery-counter {
    color: #c0c0c0;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.2;
    text-transform: uppercase;
}
.landing-video-gallery-nav {
    display: flex;
    align-items: center;
    gap: 10px;
}
.landing-video-gallery-arrow {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 53px;
    height: 53px;
    margin: 0;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 0;
    background-color: transparent;
    color: #fff;
    cursor: pointer;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.landing-video-gallery-arrow:before {
    content: '' !important;
    display: block;
    position: static;
    top: auto;
    left: auto;
    width: 17px;
    height: 17px;
    border: 0;
    font-family: none;
    font-size: 0;
    line-height: 0;
    color: inherit;
    background-color: currentColor;
    -webkit-mask: url('../img/landing/gallery-nav-arrow-right.svg') center / contain no-repeat;
    mask: url('../img/landing/gallery-nav-arrow-right.svg') center / contain no-repeat;
}
.landing-video-gallery-arrow.slick-prev:before {
    content: '' !important;
    -webkit-mask-image: url('../img/landing/gallery-nav-arrow-left.svg');
    mask-image: url('../img/landing/gallery-nav-arrow-left.svg');
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}
.landing-video-gallery-arrow.slick-next:before {
    content: '' !important;
    -webkit-mask-image: url('../img/landing/gallery-nav-arrow-right.svg');
    mask-image: url('../img/landing/gallery-nav-arrow-right.svg');
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}
.landing-video-gallery-arrow:hover:not(.slick-disabled),
.landing-video-gallery-arrow:focus:not(.slick-disabled) {
    border-color: #fff;
    color: #fff;
    background-color: #1c1c1c;
    outline: none;
}
.landing-video-gallery-arrow:hover:not(.slick-disabled):before,
.landing-video-gallery-arrow:focus:not(.slick-disabled):before {
    color: #fff;
}
.landing-video-gallery-arrow.slick-disabled {
    border-color: #7D7D7D;
    color: #7D7D7D;
    background-color: transparent;
    cursor: default;
    opacity: 1;
}
.landing-video-gallery-arrow.slick-hidden {
    display: none;
}

/* FAQs - background from .landing-bg-grey
 * Figma 20083:136: header->list gap 32px; item py 26px; open q->answer gap 16px.
 */
.landing-faqs-header {
    max-width: 1048px;
    margin: 0 auto 32px;
    text-align: center;
}
.landing-faqs .sub-heading {
    padding-bottom: 0;
}
.landing-faqs .landing-section-heading {
    margin: 0;
    /* Override main.css h2 padding-bottom: 20px */
    padding: 0;
}
.landing-faqs .sub-heading + .landing-section-heading {
    /* Figma header group gap: 5px */
    margin-top: 5px;
}
.landing-faqs-list {
    max-width: 1048px;
    margin: 0 auto;
    padding: 0 32px;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}
.landing-faq {
    border-bottom: 1px solid #E4E2DA;
}
.landing-faq:last-child {
    border-bottom: 0;
}
.landing-faq summary {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
    /* Figma collapsed/open item py: 26px */
    padding: 26px 46px 26px 0;
    color: #1F2420;
    cursor: pointer;
    font-family: 'Barlow', sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 3px;
    list-style: none;
    text-transform: uppercase;
    -webkit-transition: color 0.25s ease;
    transition: color 0.25s ease;
}
.landing-faq[open] summary {
    /* Figma expanded item: gap 16px between question and answer */
    padding-bottom: 16px;
}
.landing-faq summary::-webkit-details-marker {
    display: none;
}
.landing-faq summary:hover,
.landing-faq summary:focus-visible {
    color: #C34F22;
    outline: none;
}
.landing-faq summary:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 3px;
    width: 16px;
    height: 2.4px;
    background-color: #C34F22;
    border-radius: 2px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: transform 0.25s ease;
}
.landing-faq summary:before {
    content: '';
    position: absolute;
    top: 50%;
    right: 9.8px;
    width: 2.4px;
    height: 16px;
    background-color: #C34F22;
    border-radius: 2px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: -webkit-transform 0.25s ease, opacity 0.25s ease;
    transition: transform 0.25s ease, opacity 0.25s ease;
}
.landing-faq summary:hover:after,
.landing-faq summary:focus-visible:after {
    -webkit-transform: translateY(-50%) scale(1.15);
    -ms-transform: translateY(-50%) scale(1.15);
    transform: translateY(-50%) scale(1.15);
}
.landing-faq summary:hover:before,
.landing-faq summary:focus-visible:before {
    -webkit-transform: translateY(-50%) scale(1.15);
    -ms-transform: translateY(-50%) scale(1.15);
    transform: translateY(-50%) scale(1.15);
}
.landing-faq[open] summary:before {
    display: none;
}
.landing-faq-answer {
    /* Figma: 26px below answer before divider */
    padding: 0 46px 26px 0;
    color: #6B6F69;
    font-family: 'Barlow', sans-serif;
    font-size: 16px;
    line-height: 28px;
}
.landing-faq-answer p {
    margin: 0 0 12px;
    /* Override main.css p padding-bottom so answer bottom stays 26px */
    padding: 0;
}
.landing-faq-answer p:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .landing-section {
        padding: 75px 0;
    }
    .landing-half-content h2 {
        font-size: 42px;
    }
    .landing-icon-feature {
        flex-direction: row;
    }
    .landing-icon-feature h3 {
        font-size: 38px;
    }
    .landing-icon-feature-content p {
        font-size: 18px;
        line-height: 28px;
    }
    .landing-icon-feature-content ul li {
        font-size: 15px;
        line-height: 26px;
    }
    .landing-testimonials-slider.slick-initialized .slick-slide {
        width: 400px;
    }
    .landing-testimonials .landing-section-heading {
        font-size: 48px;
    }
    .landing-testimonial-name {
        font-size: 17px;
    }
    .landing-video-gallery-intro {
        max-width: 332px;
    }
    .landing-video-card-image {
        height: 284px;
    }
    .landing-video-gallery-slider.slick-initialized .slick-slide {
        width: 428px;
    }
    .landing-feature-logo-callout-offer {
        flex-direction: row;
        align-items: flex-start;
        /* Figma 20099:91 = 20px between 64px icon and text */
        gap: 20px;
    }
    .landing-feature-logo-callout-offer h3 {
        font-size: 30px;
        line-height: 1.2;
        padding: 0;
    }
}

@media (min-width: 992px) {
    .landing-section {
        padding: 100px 0;
    }
    /* Figma Icon Section 20061:203 --section-spacing/top_bttm-padding/default */
    .landing-icon-features.landing-section {
        padding: 120px 0;
    }
    /* Camryn CTA screenshots: top+bottom padding 120px */
    .landing-section.cta-landing {
        padding: 120px 0;
    }
    .landing-icon-features .landing-section-heading {
        font-size: 63px;
        line-height: 1;
    }
    .landing-process-row {
        flex-direction: row;
        align-items: stretch;
        /* Figma: 139px between 725px image and 400px copy */
        gap: clamp(60px, 8vw, 139px);
    }
    .landing-process-image-left .landing-process-media {
        order: 0;
    }
    .landing-process-image-left .landing-process-copy {
        order: 1;
    }
    .landing-process-image-right .landing-process-media {
        order: 1;
    }
    .landing-process-image-right .landing-process-copy {
        order: 0;
    }
    /* Figma widths: image 725 / copy 400; image stretches to copy height */
    .landing-process-media {
        position: relative;
        flex: 1 1 725px;
        width: 100%;
        min-width: 0;
        align-self: stretch;
        overflow: hidden;
    }
    .landing-half-row {
        flex-direction: row;
        align-items: stretch;
        /* Figma: 142px between 506px copy and 616px image */
        gap: clamp(60px, 10vw, 142px);
    }
    .landing-half-image-left .landing-half-media {
        order: 0;
    }
    .landing-half-image-left .landing-half-copy {
        order: 1;
    }
    .landing-half-image-right .landing-half-media {
        order: 1;
    }
    .landing-half-image-right .landing-half-copy {
        order: 0;
    }
    .landing-half-media {
        position: relative;
        flex: 0 1 616px;
        width: 100%;
        max-width: 616px;
        align-self: stretch;
        overflow: hidden;
    }
    .landing-half-media img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .landing-half-copy {
        flex: 1 1 506px;
        max-width: 506px;
        min-width: 0;
    }
    .landing-half-content h2 {
        font-size: 45px;
    }
    .landing-icon-features-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        /* Figma Feature Container: gap-x 110px, gap-y 53px */
        column-gap: 110px;
        row-gap: 53px;
    }
    .landing-icon-feature + .landing-icon-feature {
        margin-top: 0;
    }
    .landing-icon-feature:nth-child(n+3) {
        margin-top: 0;
    }
    .landing-icon-feature h3 {
        font-size: 45px;
    }
    .landing-icon-feature-content p {
        font-size: 20px;
        line-height: 28px;
    }
    .landing-icon-feature-content ul li {
        font-size: 16px;
        line-height: 28px;
    }
    .landing-process-copy {
        flex: 0 1 400px;
        width: 100%;
        max-width: 400px;
        min-width: 0;
    }
    .landing-process-media img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }
}

@media (min-width: 1200px) {
    .landing-testimonials {
        padding-top: 120px;
        padding-bottom: 120px;
    }
    .landing-testimonials .landing-section-heading {
        font-size: 63px;
    }
    .landing-testimonials-slider .slick-list {
        margin: 0 -16px;
    }
    .landing-testimonials-slider .slick-slide {
        padding: 0 16px;
        width: auto;
    }
    .landing-testimonials-slider.slick-initialized .slick-slide {
        width: auto;
    }
    .landing-video-gallery-header {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 32px;
    }
    .landing-video-gallery-intro {
        max-width: 650px;
    }
    .landing-video-gallery-link {
        align-self: flex-end;
        margin-bottom: 8px;
    }
    .landing-video-card-image {
        height: 287px;
    }
    .landing-video-gallery-slider {
        width: 100%;
        max-width: 100%;
    }
    .landing-video-gallery-slider .slick-list {
        margin: 0 -16px;
    }
    .landing-video-gallery-slider .slick-slide {
        padding: 0 16px;
    }
    .landing-video-gallery-slider.slick-initialized .slick-slide {
        width: auto;
    }
    /* Bordered image panel stops short of full container; white continues to the right.
       Left edge still uses the same .container as the half-image section. */
    .landing-feature-logo-callout-frame {
        width: calc(100% - 220px);
        max-width: 100%;
        padding: 76px 60px;
        padding-right: 280px;
    }
    .landing-feature-logo-callout-copy {
        max-width: 662px;
    }
    .landing-feature-logo-callout-offer {
        column-gap: 20px;
        gap: 20px;
    }
    .landing-feature-logo-callout-offer h3 {
        padding: 0;
    }
    .landing-feature-logo-callout-logos {
        display: block;
        position: absolute;
        top: 50%;
        right: -220px;
        z-index: 2;
        width: max-content;
        max-width: none;
        padding: 30px;
        background-color: #fff;
        border-radius: 6px;
        box-shadow: 0 5px 12px rgba(43, 12, 0, 0.13);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .landing-feature-logo-callout-logos-heading {
        margin: 0 0 7px;
        color: #444;
        font-family: 'Barlow', sans-serif;
        font-size: 17px;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 3px;
        text-align: center;
        text-transform: uppercase;
    }
    .landing-feature-logo-callout-logo-list {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: nowrap;
        gap: 30px;
    }
    .landing-feature-logo-callout-logo {
        flex: 0 0 auto;
        text-align: center;
    }
    .landing-feature-logo-callout-logo img {
        display: block;
        width: auto;
        max-width: 111px;
        height: 55px;
        margin: 0 auto;
        -o-object-fit: contain;
        object-fit: contain;
    }
    .landing-feature-logo-callout-logo span {
        display: block;
        color: #A19B98;
        font-family: 'Barlow', sans-serif;
        font-size: 17px;
        line-height: 1.5;
        text-transform: capitalize;
    }
}
