.boulanger-gate {
    --blg-orange: #ff6b35;
    --blg-orange-soft: rgba(255, 107, 53, .14);
    --blg-blue: #4cc9f0;
    --blg-blue-soft: rgba(76, 201, 240, .12);
    --blg-ink: #070b12;
    --blg-panel: #0d1420;
    --blg-line: rgba(181, 202, 225, .17);
    --blg-muted: #9daec1;
    position: relative;
    overflow: hidden;
    padding: clamp(4.75rem, 8vw, 8rem) 0;
    background:
        radial-gradient(circle at 8% 10%, rgba(255, 107, 53, .12), transparent 28rem),
        radial-gradient(circle at 90% 45%, rgba(76, 201, 240, .09), transparent 30rem),
        #05080d;
}

.boulanger-gate::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
    background-size: 42px 42px;
    content: "";
    pointer-events: none;
    mask-image: linear-gradient(to bottom, #000, transparent 82%);
}

.boulanger-gate__container {
    position: relative;
    z-index: 1;
    width: min(1218px, calc(100% - 40px));
    margin: 0 auto;
}

.boulanger-gate__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .65fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: end;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.boulanger-gate__heading h2,
.boulanger-gate__first-lot h3,
.boulanger-gate__sla h3 {
    margin: 0;
    color: #f5f8fb;
    letter-spacing: -.035em;
}

.boulanger-gate__heading h2 {
    max-width: 19ch;
    font-size: clamp(2.15rem, 4.4vw, 4.75rem);
    line-height: .99;
}

.boulanger-gate__heading > p,
.boulanger-gate__first-lot p,
.boulanger-gate__sla p {
    margin: 0;
    color: var(--blg-muted);
    font-size: 1rem;
    line-height: 1.72;
}

.boulanger-gate__kicker {
    margin: 0 0 1rem !important;
    color: var(--blg-orange) !important;
    font-size: .76rem !important;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.2 !important;
    text-transform: uppercase;
}

.boulanger-gate__console {
    overflow: hidden;
    border: 1px solid var(--blg-line);
    border-radius: 24px;
    background: rgba(9, 14, 22, .96);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .035);
}

.boulanger-gate__topbar {
    display: grid;
    grid-template-columns: minmax(13rem, .65fr) minmax(24rem, 1.25fr) auto;
    gap: 1.5rem;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--blg-line);
    background: linear-gradient(90deg, rgba(255, 107, 53, .09), rgba(76, 201, 240, .035));
}

.boulanger-gate__identity,
.boulanger-gate__panel-title,
.boulanger-gate__product-card,
.boulanger-gate__accepted,
.boulanger-gate__first-lot,
.boulanger-gate__cta,
.boulanger-gate__boundaries a {
    display: flex;
    align-items: center;
}

.boulanger-gate__identity {
    gap: .85rem;
}

.boulanger-gate__mark {
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    border-radius: 11px;
    background: var(--blg-orange);
    box-shadow: 0 0 26px rgba(255, 107, 53, .22);
    color: #160b06;
    font-size: 1.1rem;
    font-weight: 900;
}

.boulanger-gate__identity small,
.boulanger-gate__panel-title small,
.boulanger-gate__product-card small,
.boulanger-gate__promise article small,
.boulanger-gate__deadline small,
.boulanger-gate__verdict small {
    display: block;
    color: #718397;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.boulanger-gate__identity strong,
.boulanger-gate__product-card strong,
.boulanger-gate__deadline strong,
.boulanger-gate__verdict strong {
    display: block;
    margin-top: .2rem;
    color: #eef4f8;
}

.boulanger-gate__scope,
.boulanger-gate__keys,
.boulanger-gate__sla dl {
    display: grid;
    margin: 0;
}

.boulanger-gate__scope {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.boulanger-gate__scope div {
    min-width: 0;
    padding-left: .85rem;
    border-left: 1px solid var(--blg-line);
}

.boulanger-gate__scope dt,
.boulanger-gate__keys dt {
    color: #718397;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.boulanger-gate__scope dd,
.boulanger-gate__keys dd {
    overflow: hidden;
    margin: .2rem 0 0;
    color: #dce6ef;
    font-size: .8rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.boulanger-gate__status {
    display: inline-flex;
    gap: .55rem;
    align-items: center;
    justify-self: end;
    padding: .6rem .8rem;
    border: 1px solid rgba(255, 107, 53, .34);
    border-radius: 999px;
    background: var(--blg-orange-soft);
    color: #ffad8e;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .05em;
    white-space: nowrap;
    text-transform: uppercase;
}

.boulanger-gate__status i {
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: var(--blg-orange);
    box-shadow: 0 0 0 5px rgba(255, 107, 53, .12);
}

.boulanger-gate__body {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
}

.boulanger-gate__product,
.boulanger-gate__promise {
    min-width: 0;
    padding: clamp(1.35rem, 3vw, 2.25rem);
}

.boulanger-gate__product {
    border-right: 1px solid var(--blg-line);
    background: rgba(255, 255, 255, .012);
}

.boulanger-gate__panel-title {
    gap: .8rem;
    margin-bottom: 1.5rem;
}

.boulanger-gate__panel-title > span {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    place-items: center;
    border: 1px solid var(--blg-line);
    border-radius: 50%;
    color: var(--blg-orange);
    font-size: .7rem;
    font-weight: 900;
}

.boulanger-gate__panel-title h3 {
    margin: .15rem 0 0;
    color: #eef4f8;
    font-size: 1rem;
}

.boulanger-gate__product-card {
    gap: 1rem;
    padding: 1.1rem;
    border: 1px solid var(--blg-line);
    border-radius: 16px;
    background: #090f18;
}

.boulanger-gate__product-card code,
.boulanger-gate__verdict code {
    display: block;
    margin-top: .35rem;
    color: var(--blg-blue);
    font-size: .75rem;
}

.boulanger-gate__product-visual {
    position: relative;
    width: 4.25rem;
    height: 4.25rem;
    flex: 0 0 4.25rem;
    border: 1px solid rgba(76, 201, 240, .25);
    border-radius: 14px;
    background: radial-gradient(circle, rgba(76, 201, 240, .16), rgba(76, 201, 240, .02));
}

.boulanger-gate__product-visual span,
.boulanger-gate__product-visual i,
.boulanger-gate__product-visual b {
    position: absolute;
    display: block;
    border: 3px solid var(--blg-blue);
}

.boulanger-gate__product-visual span {
    top: .9rem;
    left: 1.15rem;
    width: 1.9rem;
    height: 1.9rem;
    border-bottom: 0;
    border-radius: 1rem 1rem 0 0;
}

.boulanger-gate__product-visual i,
.boulanger-gate__product-visual b {
    top: 1.95rem;
    width: .65rem;
    height: 1.25rem;
    border-radius: .35rem;
}

.boulanger-gate__product-visual i { left: .78rem; }
.boulanger-gate__product-visual b { right: .78rem; }

.boulanger-gate__keys {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin-top: .9rem;
    border: 1px solid var(--blg-line);
    border-radius: 13px;
    background: var(--blg-line);
}

.boulanger-gate__keys div {
    min-width: 0;
    padding: .85rem;
    background: #090f18;
}

.boulanger-gate__accepted {
    gap: .7rem;
    margin: .9rem 0 0;
    padding: .85rem;
    border: 1px solid rgba(76, 201, 240, .2);
    border-radius: 13px;
    background: var(--blg-blue-soft);
    color: #a9b8c7;
    font-size: .8rem;
    line-height: 1.5;
}

.boulanger-gate__accepted i {
    display: grid;
    width: 1.7rem;
    height: 1.7rem;
    flex: 0 0 1.7rem;
    place-items: center;
    border-radius: 50%;
    background: rgba(76, 201, 240, .16);
    color: var(--blg-blue);
    font-style: normal;
    font-weight: 900;
}

.boulanger-gate__accepted strong { color: #dceaf2; }

.boulanger-gate__equation {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    gap: .45rem;
    align-items: stretch;
}

.boulanger-gate__equation > b {
    align-self: center;
    color: #526479;
    font-size: 1rem;
}

.boulanger-gate__equation article {
    min-width: 0;
    padding: 1rem .75rem;
    border: 1px solid var(--blg-line);
    border-radius: 13px;
    background: #090f18;
    text-align: center;
}

.boulanger-gate__equation article.is-zero {
    border-color: rgba(255, 107, 53, .36);
    background: var(--blg-orange-soft);
}

.boulanger-gate__equation strong {
    display: block;
    margin: .35rem 0 .15rem;
    color: #f4f7fa;
    font-size: 1.75rem;
    line-height: 1;
}

.boulanger-gate__equation .is-zero strong { color: #ff9d78; }

.boulanger-gate__equation span {
    color: #718397;
    font-size: .65rem;
    line-height: 1.25;
}

.boulanger-gate__deadline {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem;
    align-items: center;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--blg-line);
    border-radius: 13px;
    background: linear-gradient(90deg, rgba(255, 107, 53, .07), rgba(76, 201, 240, .055));
}

.boulanger-gate__deadline > span {
    color: var(--blg-orange);
    font-size: 1.2rem;
    font-weight: 900;
}

.boulanger-gate__verdict {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(255, 107, 53, .3);
    border-radius: 13px;
    background: rgba(255, 107, 53, .08);
}

.boulanger-gate__verdict strong { color: #ffad8e; }

.boulanger-gate__rail {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid var(--blg-line);
    border-bottom: 1px solid var(--blg-line);
    background: #070c13;
}

.boulanger-gate__rail article {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .75rem;
    min-width: 0;
    padding: 1.15rem;
    border-right: 1px solid var(--blg-line);
}

.boulanger-gate__rail article:last-child { border-right: 0; }

.boulanger-gate__rail article > span {
    color: #526479;
    font-size: .68rem;
    font-weight: 900;
}

.boulanger-gate__rail small,
.boulanger-gate__rail strong,
.boulanger-gate__rail b {
    display: block;
}

.boulanger-gate__rail small {
    color: #718397;
    font-size: .64rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.boulanger-gate__rail strong {
    margin-top: .2rem;
    color: #d9e4ed;
    font-size: .8rem;
}

.boulanger-gate__rail b {
    grid-column: 2;
    color: #718397;
    font-size: .66rem;
    text-transform: uppercase;
}

.boulanger-gate__rail .is-done b { color: var(--blg-blue); }
.boulanger-gate__rail .is-blocked b { color: var(--blg-orange); }

.boulanger-gate__exceptions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--blg-line);
}

.boulanger-gate__exceptions article {
    padding: 1.15rem 1.25rem;
    background: #0a1019;
}

.boulanger-gate__exceptions span,
.boulanger-gate__exceptions strong,
.boulanger-gate__exceptions small {
    display: block;
}

.boulanger-gate__exceptions span {
    color: var(--blg-orange);
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.boulanger-gate__exceptions strong {
    margin: .42rem 0;
    color: #e5edf3;
    font-size: .86rem;
}

.boulanger-gate__exceptions small {
    color: #8192a4;
    font-size: .75rem;
    line-height: 1.5;
}

.boulanger-gate__sla {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: center;
    margin-top: 1.5rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid rgba(76, 201, 240, .18);
    border-radius: 22px;
    background: linear-gradient(120deg, rgba(76, 201, 240, .075), rgba(255, 107, 53, .04));
}

.boulanger-gate__sla h3 {
    margin-bottom: .85rem;
    font-size: clamp(1.45rem, 2.6vw, 2.35rem);
    line-height: 1.08;
}

.boulanger-gate__sla dl {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
}

.boulanger-gate__sources {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--blg-line);
}

.boulanger-gate__sources p {
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--blg-line);
    border-radius: 14px;
    background: rgba(5, 9, 15, .46);
    font-size: .78rem;
    line-height: 1.58;
}

.boulanger-gate__sources strong {
    color: #dce7ef;
}

.boulanger-gate__sources a {
    color: var(--blg-blue);
    text-decoration: underline;
    text-decoration-color: rgba(76, 201, 240, .4);
    text-underline-offset: .16rem;
}

.boulanger-gate__sla dl div {
    padding: 1rem;
    border: 1px solid var(--blg-line);
    border-radius: 14px;
    background: rgba(5, 9, 15, .62);
}

.boulanger-gate__sla dt {
    color: var(--blg-blue);
    font-size: 1.25rem;
    font-weight: 900;
}

.boulanger-gate__sla dd {
    margin: .3rem 0 0;
    color: #9daec1;
    font-size: .72rem;
    line-height: 1.35;
}

.boulanger-gate__first-lot {
    gap: clamp(1.5rem, 4vw, 4rem);
    justify-content: space-between;
    margin-top: 1.5rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid rgba(255, 107, 53, .22);
    border-radius: 22px;
    background: linear-gradient(110deg, rgba(255, 107, 53, .09), rgba(255, 255, 255, .02));
}

.boulanger-gate__first-lot > div { max-width: 47rem; }

.boulanger-gate__first-lot h3 {
    margin-bottom: .75rem;
    font-size: clamp(1.55rem, 3vw, 2.7rem);
    line-height: 1.04;
}

.boulanger-gate__cta {
    min-height: 48px;
    flex: 0 0 auto;
    gap: .65rem;
    justify-content: center;
    padding: .85rem 1.15rem;
    border: 1px solid var(--blg-orange);
    border-radius: 10px;
    background: var(--blg-orange);
    color: #160b06;
    font-weight: 800;
    white-space: nowrap;
}

.boulanger-gate__cta:hover,
.boulanger-gate__cta:focus-visible {
    border-color: #ffb197;
    background: #ff8a61;
    color: #160b06;
    transform: translateY(-1px);
}

.boulanger-gate__boundaries {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1.5rem;
}

.boulanger-gate__boundaries a {
    min-width: 0;
    min-height: 8rem;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.15rem;
    border: 1px solid var(--blg-line);
    border-radius: 16px;
    background: rgba(10, 16, 25, .78);
    text-decoration: none;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.boulanger-gate__boundaries a:hover,
.boulanger-gate__boundaries a:focus-visible {
    border-color: rgba(255, 107, 53, .46);
    background: rgba(255, 107, 53, .08);
    transform: translateY(-2px);
}

.boulanger-gate__boundaries span,
.boulanger-gate__boundaries strong,
.boulanger-gate__boundaries small {
    display: block;
}

.boulanger-gate__boundaries span {
    color: var(--blg-orange);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.boulanger-gate__boundaries strong {
    margin: .65rem 0 .35rem;
    color: #edf3f7;
    font-size: .95rem;
}

.boulanger-gate__boundaries small {
    color: #8192a4;
    font-size: .75rem;
    line-height: 1.45;
}

@media (max-width: 1023px) {
    .boulanger-gate__heading,
    .boulanger-gate__sla {
        grid-template-columns: 1fr;
    }

    .boulanger-gate__topbar {
        grid-template-columns: 1fr auto;
    }

    .boulanger-gate__scope {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .boulanger-gate__status {
        grid-column: 2;
        grid-row: 1;
    }

    .boulanger-gate__body {
        grid-template-columns: 1fr;
    }

    .boulanger-gate__product {
        border-right: 0;
        border-bottom: 1px solid var(--blg-line);
    }

    .boulanger-gate__rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .boulanger-gate__rail article:nth-child(2n) { border-right: 0; }
    .boulanger-gate__rail article:nth-child(-n+4) { border-bottom: 1px solid var(--blg-line); }

    .boulanger-gate__boundaries {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .boulanger-gate {
        padding: 4rem 0;
    }

    .boulanger-gate__container {
        width: min(100% - 30px, 1218px);
    }

    .boulanger-gate__heading {
        gap: 1.25rem;
    }

    .boulanger-gate__heading h2 {
        font-size: clamp(2.1rem, 11vw, 3rem);
    }

    .boulanger-gate__console {
        border-radius: 18px;
    }

    .boulanger-gate__topbar {
        grid-template-columns: 1fr;
        padding: 1.15rem;
    }

    .boulanger-gate__status {
        grid-column: 1;
        grid-row: auto;
        justify-self: start;
    }

    .boulanger-gate__scope {
        grid-column: 1;
        grid-row: auto;
        grid-template-columns: 1fr;
    }

    .boulanger-gate__scope div {
        padding: .6rem 0 0;
        border-top: 1px solid var(--blg-line);
        border-left: 0;
    }

    .boulanger-gate__product,
    .boulanger-gate__promise {
        padding: 1.15rem;
    }

    .boulanger-gate__product-card {
        align-items: flex-start;
    }

    .boulanger-gate__product-visual {
        width: 3.75rem;
        height: 3.75rem;
        flex-basis: 3.75rem;
    }

    .boulanger-gate__product-visual span { left: .9rem; }
    .boulanger-gate__product-visual i { left: .55rem; }
    .boulanger-gate__product-visual b { right: .55rem; }

    .boulanger-gate__keys,
    .boulanger-gate__equation,
    .boulanger-gate__deadline,
    .boulanger-gate__rail,
    .boulanger-gate__exceptions,
    .boulanger-gate__sla dl,
    .boulanger-gate__sources,
    .boulanger-gate__boundaries {
        grid-template-columns: 1fr;
    }

    .boulanger-gate__equation > b {
        justify-self: center;
        transform: rotate(90deg);
    }

    .boulanger-gate__deadline > span {
        justify-self: center;
        transform: rotate(90deg);
    }

    .boulanger-gate__verdict {
        align-items: flex-start;
        flex-direction: column;
    }

    .boulanger-gate__rail article,
    .boulanger-gate__rail article:nth-child(2n),
    .boulanger-gate__rail article:nth-child(-n+4) {
        border-right: 0;
        border-bottom: 1px solid var(--blg-line);
    }

    .boulanger-gate__rail article:last-child { border-bottom: 0; }

    .boulanger-gate__exceptions article {
        border-bottom: 1px solid var(--blg-line);
    }

    .boulanger-gate__exceptions article:last-child { border-bottom: 0; }

    .boulanger-gate__sla,
    .boulanger-gate__first-lot {
        border-radius: 18px;
        padding: 1.25rem;
    }

    .boulanger-gate__first-lot {
        align-items: stretch;
        flex-direction: column;
    }

    .boulanger-gate__cta {
        width: 100%;
        white-space: normal;
        text-align: center;
    }

    .boulanger-gate__boundaries a {
        min-height: 0;
    }
}
