.fc-distributors,
.fc-distributors * { box-sizing: border-box; }

.fc-distributors {
    --fc-blue: #315f95;
    --fc-blue-dark: #173f70;
    --fc-red: #ef334e;
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    margin-left: -50vw;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(90deg, #f5fbef 0 49.8%, #f3f7fc 49.8% 100%);
    border-top: 1px solid rgba(38, 82, 127, .10);
}

.fc-distributors__glow {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at 46% 48%, rgba(255,255,255,.95) 0 11%, rgba(255,255,255,.48) 25%, transparent 47%),
        linear-gradient(110deg, transparent 0 46%, rgba(255,255,255,.72) 49.5%, transparent 53%);
}

.fc-distributors__inner {
    width: min(1720px, 100%);
    min-height: clamp(470px, 35vw, 660px);
    margin: 0 auto;
    padding: clamp(54px, 5vw, 90px) clamp(24px, 4vw, 72px);
    display: grid;
    grid-template-columns: minmax(320px, .9fr) minmax(350px, .75fr) minmax(360px, 1fr);
    align-items: center;
    gap: clamp(30px, 4vw, 72px);
}

.fc-distributors__copy { position: relative; z-index: 2; }
.fc-distributors__eyebrow {
    display: inline-flex;
    margin-bottom: 20px;
    padding: 9px 14px;
    border: 1px solid rgba(49,95,149,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.64);
    color: var(--fc-blue);
    font-size: clamp(12px, .8vw, 15px);
    line-height: 1;
    font-weight: 850;
    letter-spacing: .08em;
}
.fc-distributors__copy h2 {
    margin: 0;
    max-width: 680px;
    color: var(--fc-blue);
    font-size: clamp(35px, 3.05vw, 61px);
    line-height: 1.12;
    letter-spacing: -.035em;
    font-weight: 950;
    text-wrap: balance;
}
.fc-distributors__note {
    max-width: 620px;
    margin: 24px 0 0;
    color: #5a7189;
    font-size: clamp(17px, 1.15vw, 22px);
    line-height: 1.55;
}

.fc-distributors__visual {
    position: relative;
    z-index: 3;
    min-height: clamp(320px, 30vw, 540px);
    display: grid;
    place-items: center;
}
.fc-distributors__halo {
    position: absolute;
    width: 84%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,.96), rgba(223,239,251,.54) 46%, transparent 70%);
    filter: blur(2px);
}
.fc-distributors__visual img {
    position: relative;
    z-index: 2;
    display: block;
    width: min(100%, 510px);
    max-height: 560px;
    object-fit: contain;
    filter: drop-shadow(0 28px 28px rgba(18,58,98,.22));
    transition: transform .35s ease, filter .35s ease;
}
.fc-distributors:hover .fc-distributors__visual img {
    transform: translateY(-5px) scale(1.015);
    filter: drop-shadow(0 34px 34px rgba(18,58,98,.26));
}
.fc-distributors__missing {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 8px;
    place-content: center;
    width: 100%;
    min-height: 340px;
    padding: 30px;
    text-align: center;
    color: #54708d;
    border: 2px dashed rgba(49,95,149,.24);
    border-radius: 22px;
    background: rgba(255,255,255,.6);
}

.fc-distributors__benefits { position: relative; z-index: 2; }
.fc-distributors__benefits ul {
    margin: 0;
    padding: 0;
    display: grid;
    gap: clamp(20px, 2vw, 32px);
    list-style: none;
}
.fc-distributors__benefits li {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 15px;
    align-items: center;
    color: var(--fc-blue);
    font-size: clamp(26px, 2.1vw, 43px);
    line-height: 1.12;
    font-weight: 900;
    text-transform: uppercase;
}
.fc-distributors__benefits li span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #4b80b8, #244f82);
    box-shadow: 0 10px 24px rgba(40,80,125,.22);
    font-size: 22px;
}
.fc-distributors__benefits li.is-accent { color: var(--fc-red); }
.fc-distributors__benefits li.is-accent span {
    background: linear-gradient(135deg, #ff5b70, #d92942);
    box-shadow: 0 10px 24px rgba(220,45,70,.20);
}

.fc-distributors__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: min(100%, 620px);
    min-height: 74px;
    margin-top: clamp(34px, 4vw, 54px);
    padding: 18px 30px;
    border-radius: 16px;
    color: #fff !important;
    background: linear-gradient(135deg, #f23a55, #d62540);
    box-shadow: 0 16px 34px rgba(216,39,65,.26), inset 0 1px rgba(255,255,255,.22);
    font-size: clamp(20px, 1.5vw, 29px);
    line-height: 1;
    font-weight: 850;
    letter-spacing: .025em;
    text-decoration: none !important;
    transition: transform .22s ease, box-shadow .22s ease;
}
.fc-distributors__button span { font-size: 1.3em; transition: transform .22s ease; }
.fc-distributors__button:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 42px rgba(216,39,65,.32), inset 0 1px rgba(255,255,255,.22);
}
.fc-distributors__button:hover span { transform: translateX(5px); }

@media (max-width: 1120px) {
    .fc-distributors__inner {
        grid-template-columns: 1fr 1fr;
    }
    .fc-distributors__visual { grid-row: span 2; }
    .fc-distributors__benefits { grid-column: 1; }
}

@media (max-width: 760px) {
    .fc-distributors {
        background: linear-gradient(180deg, #f5fbef 0 55%, #f3f7fc 55% 100%);
    }
    .fc-distributors__inner {
        grid-template-columns: 1fr;
        gap: 28px;
        text-align: center;
    }
    .fc-distributors__visual { grid-row: auto; min-height: 300px; }
    .fc-distributors__copy h2,
    .fc-distributors__note { margin-left: auto; margin-right: auto; }
    .fc-distributors__benefits { grid-column: auto; }
    .fc-distributors__benefits ul { justify-items: center; }
    .fc-distributors__benefits li {
        width: min(100%, 520px);
        text-align: left;
        font-size: clamp(24px, 7vw, 36px);
    }
    .fc-distributors__button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .fc-distributors__visual img,
    .fc-distributors__button,
    .fc-distributors__button span { transition: none; }
}
