@font-face {
    font-family: "IMN Inter";
    src: url("brand/inter-latin.woff2") format("woff2");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: "IMN Sora";
    src: url("brand/sora-latin.woff2") format("woff2");
    font-style: normal;
    font-weight: 100 800;
    font-display: swap;
}

.imn-fl {
    --imn-fl-purple: #164e4a;
    --imn-fl-purple-dark: #0d3835;
    --imn-fl-accent: #ff7657;
    --imn-fl-ink: #172321;
    --imn-fl-muted: #5f6d69;
    --imn-fl-border: #b9ddce;
    font-family: "IMN Inter", Inter, system-ui, sans-serif;
}

.imn-fl__copy strong,
.imn-fl__ephemeride-head strong,
.imn-fl__cta,
.imn-fl__ephemeride-actions button {
    font-family: "IMN Sora", "IMN Inter", sans-serif;
    letter-spacing: 0;
}

.imn-fl__rail {
    border-color: var(--imn-fl-border);
    border-left-color: var(--imn-fl-purple);
    border-radius: 16px 16px 16px 6px;
    box-shadow: 0 12px 30px rgba(22, 78, 74, .10);
}
.imn-fl--campaign-active .imn-fl__rail { border-radius: 12px; }
.imn-fl__slide--proximity {
    background:
        linear-gradient(90deg, rgba(221, 244, 233, .68) 0 8px, transparent 8px),
        #fff9f2;
}
.imn-fl__proximity-mark {
    width: 66px;
    height: 58px;
    overflow: visible;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.imn-fl__proximity-mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.imn-fl__copy strong { color: var(--imn-fl-ink); }
.imn-fl__copy p { color: var(--imn-fl-muted); }
.imn-fl__eyebrow { color: var(--imn-fl-purple); }
.imn-fl__cta {
    border-radius: 12px;
    background: var(--imn-fl-accent);
    color: #172321 !important;
    box-shadow: 0 4px 0 #d95539;
}
.imn-fl__cta:hover,
.imn-fl__cta:focus-visible {
    background: #e85c3f;
    color: #172321 !important;
    box-shadow: 0 5px 0 #be452f;
}

.imn-fl__slide--ephemeride { background: #fff; }
.imn-fl__ephemeride-head { border-left-color: var(--imn-fl-accent); }
.imn-fl__ephemeride-actions button {
    border-color: var(--imn-fl-purple);
    border-radius: 11px;
    color: var(--imn-fl-purple-dark);
}
.imn-fl__ephemeride-actions button:hover,
.imn-fl__ephemeride-actions button:focus-visible,
.imn-fl__ephemeride-actions button[aria-expanded="true"] {
    background: var(--imn-fl-purple);
}
.imn-fl__ephemeride-actions button:first-child {
    border-color: var(--imn-fl-accent);
    color: #9b3c28;
}
.imn-fl__ephemeride-actions button:first-child:hover,
.imn-fl__ephemeride-actions button:first-child:focus-visible,
.imn-fl__ephemeride-actions button:first-child[aria-expanded="true"] {
    background: var(--imn-fl-accent);
    color: #172321;
}
.imn-fl__detail {
    border-left-color: var(--imn-fl-accent);
    border-radius: 0 10px 10px 0;
    background: #fff0eb;
    color: #563027;
}
.imn-fl__controls button {
    border-color: rgba(22, 78, 74, .18);
    border-radius: 9px;
    color: var(--imn-fl-purple);
}
.imn-fl a:focus-visible,
.imn-fl button:focus-visible {
    outline-color: rgba(85, 50, 240, .40);
}

@media (max-width: 767px) {
    .imn-fl__rail { border-radius: 14px 14px 14px 5px; }
    .imn-fl__slide--proximity {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 10px;
        padding: 13px 14px 16px;
    }
    .imn-fl__proximity-mark { width: 58px; height: 48px; }
    .imn-fl__copy strong { font-size: 16px; }
    .imn-fl__eyebrow { font-size: 10px; }
    .imn-fl__cta { min-height: 42px; }
}

body.dark .imn-fl__slide--proximity { background: #173b38; }
body.dark .imn-fl__copy p { color: #d6e8e1; }
