/* Home split-hero geometry receipts: ticket #25 production measurements. */
.hero-slider--split {
    min-height: 0;
    padding: 0;
    background: var(--wp--preset--color--background);
}

.hero-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* measured: ticket requires exact 50/50 from 1024px; prod columns split near midpoint (ticket #25 production measurements) */
    min-height: 666px; /* measured: prod hero is 666.20px at 1440px (ticket #25 production measurements) */
}

.hero-split__panel {
    display: flex;
    align-items: center;
    color: var(--wp--preset--color--secondary);
    background: var(--wp--preset--color--primary);
}

.hero-split__content {
    width: min(100% - (2 * var(--adst-container-inset)), 459px); /* measured: all prod desktop hero text modules are 459px wide (ticket #25 production measurements) */
    margin-inline: auto;
    padding-block: var(--space-16);
}

.hero-split__eyebrow,
.hero-split__usp-list,
.hero-split__title,
.hero-split__subtitle,
.hero-split__social-label {
    color: inherit;
}

.hero-split__eyebrow {
    margin: 0 0 var(--space-5);
    font-family: var(--adst-font-heading);
    font-size: var(--wp--preset--font-size--medium); /* measured: prod is 16px at 1440px and 375px (ticket #25 production measurements) */
    font-weight: var(--adst-font-semibold); /* Prod measured 500; no 500 file exists, rendered 400 before #61, now 600 (ticket #25 production measurements) */
    letter-spacing: 3px; /* measured: prod is 3px at 1440px and 375px (ticket #25 production measurements) */
    line-height: 23.8px; /* measured: prod is 23.80px at 1440px and 375px (ticket #25 production measurements) */
    text-transform: uppercase;
}

.hero-split__usp-list {
    display: grid;
    gap: var(--space-2);
    margin: 0 0 var(--space-6);
    padding: 0;
    list-style: none;
    font-family: var(--adst-font-heading);
    font-size: var(--wp--preset--font-size--small);
    font-weight: var(--adst-font-semibold);
    line-height: 1.4; /* #150 approved checklist rhythm. */
}

.hero-split__usp-list li {
    margin: 0;
    line-height: inherit;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.hero-split__usp-list svg {
    flex: 0 0 20px; /* Reuse the about/contact-form circled-check silhouette. */
}

.hero-split__title {
    margin: 0 0 var(--space-5);
    font-size: clamp(var(--wp--preset--font-size--heading-large), 4vw, var(--wp--preset--font-size--xx-large)); /* measured: prod desktop H1 is 48px; local parity H1 is longer (ticket #25 production measurements) */
    font-weight: var(--adst-font-bold); /* measured: prod is 700 (ticket #25 production measurements) */
    line-height: 1.3; /* measured: prod 62.4px / 48px = 1.3 (ticket #25 production measurements) */
}

.hero-split__subtitle {
    margin: 0 0 var(--space-6);
    font-size: var(--wp--preset--font-size--medium);
}

.hero-split__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.hero-split__buttons .site-btn {
    padding-inline: var(--space-3); /* #150: fit the pair inside the unchanged 459px text track. */
    font-size: 15px; /* #150 approved desktop/mobile canvas button labels. */
}

.hero-split__panel .site-btn--secondary {
    --btn-hover-border: var(--wp--preset--color--secondary); /* Keep the yellow hover pill bounded on its yellow panel. */
}

.hero-split__buttons .hero-split__button--outline {
    --btn-bg: transparent;
    --btn-text: var(--wp--preset--color--secondary);
    --btn-border: var(--wp--preset--color--secondary);
    --btn-hover-bg: var(--button-secondary-bg);
    --btn-hover-text: var(--button-secondary-text);
    --btn-hover-border: var(--wp--preset--color--secondary);
}

@media (min-width: 480px) {
    .hero-split__buttons .site-btn {
        min-height: 50px; /* #150 repair: required pill height, including the shared mobile-padding range. */
    }
}

@media (max-width: 479px) { /* #150: phones under 480px stack full-width. */
    .hero-split__buttons {
        flex-direction: column;
    }

    .hero-split__buttons .site-btn {
        width: 100%;
    }
}

.hero-split__socials {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2); /* measured: prod social buttons are 8px apart (ticket #25 production measurements) */
}

.hero-split__social-label {
    margin: var(--space-5) 0 0;
    font-family: var(--adst-font-heading);
    font-size: var(--wp--preset--font-size--large); /* measured: prod social invitation is 20px (ticket #25 production measurements) */
    font-weight: var(--adst-font-semibold); /* Prod measured 500; no 500 file exists, rendered 400 before #61, now 600 (ticket #25 production measurements) */
    line-height: 1.8; /* measured: prod 36px / 20px = 1.8 (ticket #25 production measurements) */
}

.hero-split__socials {
    margin-top: var(--space-5);
}

.hero-split__social-label + .hero-split__socials {
    margin-top: var(--space-3); /* measured: prod invitation-to-buttons gap is 11px, nearest spacing token is 12px (ticket #25 production measurements) */
}

.hero-split__social {
    display: grid;
    width: 32px; /* measured: prod is 32px at 1440px and 375px (ticket #25 production measurements) */
    height: 32px; /* measured: prod is 32px at 1440px and 375px (ticket #25 production measurements) */
    color: var(--wp--preset--color--background);
    background: var(--wp--preset--color--secondary);
    place-items: center;
}

.hero-split__social:hover,
.hero-split__social:focus-visible {
    color: var(--wp--preset--color--primary);
}

.hero-split__media {
    position: relative;
    min-width: 0;
    min-height: 666px; /* measured: reserves prod's 666.20px desktop media height before image decode (ticket #25 production measurements) */
    overflow: hidden;
    background: var(--wp--preset--color--secondary);
}

.hero-split__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (min-width: 1024px) { /* measured: home keeps its 50/50 split from 1024px (ticket #25 production measurements). */
    .hero-split__content {
        width: min(459px, calc(50vw - var(--adst-home-content-x) - var(--space-8)));
        margin-left: var(--adst-home-content-x); /* measured: prod x=198px/185.19px/170.8px at 1440/1280/1100 (ticket #29 production measurements). */
        margin-right: auto;
    }
}

@media (max-width: 1023px) { /* measured: derived from ticket's split-at-1024px contract (ticket #25 production measurements) */
    .hero-split {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .hero-split__panel {
        min-height: 511px; /* measured: prod yellow content is 510.80px at 375px (ticket #25 production measurements) */
    }

    .hero-split__content {
        padding-block: var(--space-10);
    }

    .hero-split__title {
        max-width: 315px; /* measured: prod mobile hero text modules are 315px wide (ticket #25 production measurements) */
        font-size: clamp(var(--wp--preset--font-size--heading-large), 10vw, var(--wp--preset--font-size--display)); /* measured: 37.5px at 375px keeps the longer local H1 within prod's 315px box (ticket #25 production measurements) */
    }

    .hero-split__media {
        min-height: 0;
        aspect-ratio: 3 / 2; /* measured: derived from local hero attachment 1254×836, exactly 3:2 (ticket #25 production measurements) */
    }
}

/* Slider variant. */
.hero-slider:not(.hero-slider--split) {
    position: relative;
    overflow: hidden;
    color: var(--wp--preset--color--white);
    background: var(--wp--preset--color--secondary);
}

.hero-slider__item,
.hero-slider__content {
    min-height: clamp(560px, 70vh, 760px);
}

.hero-slider__item {
    position: relative;
    overflow: hidden;
}

.hero-slider__bg,
.hero-slider__overlay {
    position: absolute;
    inset: 0;
}

.hero-slider__bg {
    background-color: var(--wp--preset--color--secondary);
    background-position: center;
    background-size: cover;
}

.hero-slider__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-slider__overlay {
    background: linear-gradient(90deg, rgb(var(--adst-primary-rgb) / 0.9), rgb(var(--adst-primary-rgb) / 0.35));
}

.hero-slider:not(.hero-slider--split).hero-slider--inverted .hero-slider__overlay {
    background: linear-gradient(90deg, rgb(var(--adst-surface-rgb) / 0.9), rgb(var(--adst-surface-rgb) / 0.35));
}

.hero-slider__content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
}

.hero-slider__content .container {
    width: min(var(--adst-width-content), calc(100% - 2 * var(--adst-container-inset)));
    margin-inline: auto;
}

.hero-slider__heading {
    display: block;
    margin-bottom: var(--space-4);
    color: var(--wp--preset--color--primary);
    font-family: var(--adst-font-heading);
    font-size: var(--wp--preset--font-size--small);
    font-weight: var(--adst-font-bold);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.hero-slider__text-wrapper,
.hero-slider__usp-list,
.hero-slider__social-proof,
.hero-slider__buttons {
    max-width: 680px;
}

.hero-slider__title {
    margin: 0;
    color: var(--wp--preset--color--white);
    font-family: var(--adst-font-heading);
    font-size: clamp(var(--wp--preset--font-size--heading-large), 5vw, var(--wp--preset--font-size--xx-large));
    font-weight: var(--adst-font-black);
    line-height: 1.15;
}

.hero-slider__subtitle {
    margin: var(--space-5) 0 0;
    color: rgb(var(--adst-surface-rgb) / 0.85);
    font-size: var(--wp--preset--font-size--large);
    line-height: 1.6;
}

.hero-slider__usp-list {
    display: grid;
    gap: var(--space-3);
    margin: var(--space-6) 0 0;
    padding: 0;
    list-style: none;
}

.hero-slider__usp-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
}

.hero-slider__usp-icon {
    flex: 0 0 20px;
    color: var(--wp--preset--color--primary);
}

.hero-slider__social-proof,
.hero-slider__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-6);
}

.hero-slider__social-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background: rgb(var(--adst-primary-rgb) / 0.7);
}

.hero-slider__social-icon {
    color: var(--wp--preset--color--primary);
}

.hero-slider:not(.hero-slider--split).hero-slider--inverted,
.hero-slider:not(.hero-slider--split).hero-slider--inverted .hero-slider__title,
.hero-slider:not(.hero-slider--split).hero-slider--inverted .hero-slider__heading,
.hero-slider:not(.hero-slider--split).hero-slider--inverted .hero-slider__usp-icon {
    color: var(--wp--preset--color--secondary);
}

.hero-slider:not(.hero-slider--split).hero-slider--inverted .hero-slider__subtitle {
    color: rgb(var(--adst-primary-rgb) / 0.8);
}

.hero-slider .owl-dots {
    position: absolute;
    z-index: 2;
    right: var(--adst-container-inset);
    bottom: var(--space-6);
    display: flex;
    gap: var(--space-2);
}

.hero-slider .owl-theme .owl-dots .owl-dot span {
    display: grid;
    width: 44px;
    height: 44px;
    margin: 0;
    color: var(--wp--preset--color--white);
    background: rgb(var(--adst-primary-rgb) / 0.8);
    border: 1px solid rgb(var(--adst-surface-rgb) / 0.7);
    border-radius: 0;
    place-items: center;
}

.hero-slider .owl-theme .owl-dots .owl-dot.active span,
.hero-slider .owl-theme .owl-dots .owl-dot:hover span {
    color: var(--wp--preset--color--secondary);
    background: var(--wp--preset--color--primary);
}

.hero-slider .owl-dot:focus-visible {
    outline: 3px solid var(--wp--preset--color--primary);
    outline-offset: 3px;
}

@media (max-width: 768px) {
    .hero-slider__item,
    .hero-slider__content {
        min-height: 560px;
    }

    .hero-slider__content .container {
        padding-block: var(--space-16);
    }

    .hero-slider__buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-slider__buttons .site-btn {
        width: 100%;
    }
}
