@font-face {
    font-family: 'CabritoHeading';
    src: local('Arial Black');
    font-display: swap;
}

:root {
    --font-heading: 'CabritoHeading', 'Arial Black', Impact, sans-serif;
    --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: #FFFFFF;
    color: #001B3A;
}

* {
    box-sizing: border-box;
}

img,
video,
svg {
    max-width: 100%;
}

[data-reveal].is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

@keyframes cbr-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

#cabrito-root a:hover {
    filter: brightness(.96);
}

#cabrito-root [data-veh]:hover {
    background: #001B3A !important;
    color: #FFFFFF !important;
}

#cabrito-root [data-veh]:hover [data-sub],
#cabrito-root [data-veh]:hover [data-arrow] {
    color: rgba(255,255,255,.72) !important;
}

@media (min-width: 769px) {
    #cabrito-sticky-quote {
        display: none !important;
    }
}

@media (max-width: 980px) {
    #cabrito-root section[aria-label="Preparación visual de cruce"] > div {
        grid-template-columns: 1fr !important;
    }

    .cabrito-faq-section {
        grid-template-columns: 1fr;
    }

    .cabrito-faq-intro {
        position: relative;
        top: auto;
    }
}

@media (max-width: 768px) {
    body {
        padding-bottom: 82px;
    }

    #cabrito-root header [data-en="Report claim"] {
        display: none !important;
    }
}

@media (max-width: 640px) {
    #cabrito-root section[aria-label="Preparación visual de cruce"] > div > div:last-child {
        grid-template-columns: 1fr !important;
    }

    #cabrito-root section[aria-label="Preparación visual de cruce"] img {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 4 / 3;
    }
}

@media (max-width: 459px) {
    #cabrito-root #cabrito-vehicle-tiles {
        grid-template-columns: 1fr !important;
    }
}


.cabrito-faq-section {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding: clamp(52px, 7vw, 100px) clamp(14px, 3vw, 32px);
    display: grid;
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
    gap: clamp(28px, 5vw, 68px);
    align-items: start;
    overflow: hidden;
}

.cabrito-faq-section::before {
    content: '';
    position: absolute;
    right: clamp(16px, 5vw, 80px);
    top: 46px;
    width: min(340px, 42vw);
    height: min(340px, 42vw);
    background: radial-gradient(circle, rgba(0,158,131,.14), rgba(252,173,19,.08) 44%, transparent 68%);
    filter: blur(2px);
    pointer-events: none;
    z-index: -1;
}

.cabrito-faq-intro {
    position: sticky;
    top: 98px;
}

.cabrito-faq-kicker {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 10.5px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #009E83;
    margin-bottom: 14px;
}

.cabrito-faq-orbit {
    position: relative;
    width: min(220px, 54vw);
    aspect-ratio: 1;
    margin: clamp(26px, 5vw, 46px) 0 18px;
    display: grid;
    place-items: center;
    border: 1px solid #DDE3E9;
    background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(244,246,248,.86));
    box-shadow: 0 20px 55px rgba(0,27,58,.08);
    overflow: hidden;
}

.cabrito-faq-orbit::before,
.cabrito-faq-orbit::after {
    content: '';
    position: absolute;
    border: 1px solid rgba(0,158,131,.24);
    border-radius: 999px;
    inset: 24px;
    animation: cbr-faq-spin 12s linear infinite;
}

.cabrito-faq-orbit::after {
    inset: 48px;
    border-color: rgba(252,173,19,.34);
    animation-duration: 8s;
    animation-direction: reverse;
}

.cabrito-faq-orbit span {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #009E83;
    box-shadow: 0 0 0 9px rgba(0,158,131,.12);
    animation: cbr-faq-float 3.6s ease-in-out infinite;
}

.cabrito-faq-orbit span:nth-child(1) { top: 24px; left: 48%; }
.cabrito-faq-orbit span:nth-child(2) { right: 31px; bottom: 56px; background: #FCAD13; box-shadow: 0 0 0 9px rgba(252,173,19,.14); animation-delay: .55s; }
.cabrito-faq-orbit span:nth-child(3) { left: 30px; bottom: 62px; animation-delay: 1.1s; }

.cabrito-faq-orbit strong {
    position: relative;
    z-index: 1;
    font-family: var(--font-heading);
    font-size: clamp(36px, 7vw, 54px);
    letter-spacing: -.06em;
    color: #001B3A;
}

.cabrito-faq-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cabrito-faq-tags span {
    border: 1px solid #DDE3E9;
    color: #5B6B7D;
    background: #FFFFFF;
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 700;
}

.cabrito-faq-list {
    display: grid;
    gap: 10px;
}

.cabrito-faq-item {
    position: relative;
    border: 1px solid #DDE3E9;
    background: rgba(255,255,255,.9);
    box-shadow: 0 10px 30px rgba(0,27,58,0);
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease, background .22s ease;
    overflow: hidden;
}

.cabrito-faq-item::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #009E83, #FCAD13);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .28s ease;
}

.cabrito-faq-item:hover,
.cabrito-faq-item[open] {
    transform: translateX(-4px);
    border-color: rgba(0,158,131,.38);
    box-shadow: 0 18px 44px rgba(0,27,58,.08);
    background: #FFFFFF;
}

.cabrito-faq-item[open]::before {
    transform: scaleY(1);
}

.cabrito-faq-summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    padding: 20px clamp(16px, 2.5vw, 24px);
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: clamp(16px, 1.9vw, 19px);
}

.cabrito-faq-summary::-webkit-details-marker {
    display: none;
}

.cabrito-faq-icon {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: #009E83;
    background: rgba(0,158,131,.09);
    font-size: 21px;
    line-height: 1;
    transition: transform .28s cubic-bezier(.2,.8,.2,1), background .22s ease, color .22s ease;
}

.cabrito-faq-item[open] .cabrito-faq-icon {
    transform: rotate(45deg) scale(1.04);
    background: #009E83;
    color: #FFFFFF;
}

.cabrito-faq-answer {
    color: #5B6B7D;
    max-width: 62ch;
    padding: 0 clamp(16px, 2.5vw, 24px) 24px;
    margin: 0;
    line-height: 1.65;
    opacity: .92;
}

.cabrito-faq-answer::before {
    content: '';
    display: block;
    width: 42px;
    height: 2px;
    background: #FCAD13;
    margin-bottom: 14px;
}

@keyframes cbr-faq-spin {
    from { transform: rotate(0deg) scaleX(1.1); }
    to { transform: rotate(360deg) scaleX(1.1); }
}

@keyframes cbr-faq-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.12); }
}


@media (max-width: 640px) {
    .cabrito-faq-orbit {
        width: min(180px, 58vw);
        margin-bottom: 12px;
    }

    .cabrito-faq-item:hover,
    .cabrito-faq-item[open] {
        transform: translateX(0);
    }

    .cabrito-faq-summary {
        gap: 14px;
        padding: 18px 14px;
    }

    .cabrito-faq-icon {
        width: 30px;
        height: 30px;
    }

    .cabrito-faq-answer {
        padding: 0 14px 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cabrito-faq-orbit,
    .cabrito-faq-orbit::before,
    .cabrito-faq-orbit::after,
    .cabrito-faq-orbit span {
        animation: none !important;
    }

    .cabrito-faq-item,
    .cabrito-faq-icon {
        transition: none !important;
    }
}
