.security-portal .site-header .cns-header-emblem {
    display: block; width: clamp(48px,5vw,64px); height: auto; object-fit: contain;
}
.security-portal footer.cns-institutions {
    padding: 0 !important;
    background: #004b32 !important;
    color: white;
    border: 0;
    position: relative;
}
.cns-institutions::after {
    content: ""; display: block; height: 12px;
    background: linear-gradient(90deg,#087c42 0 33.33%,#ffcf20 33.33% 66.66%,#e83440 66.66%);
}
.cns-institutions::before {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 50%;
    transform: translateX(-50%);
    width: 10px;
    height: 10px;
    background: #087c42;
    clip-path: polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);
    z-index: 1;
    pointer-events: none;
}
.cns-institutions-panel {
    display: grid;
    grid-template-columns: minmax(150px,1.6fr) minmax(0,4.6fr) minmax(52px,.6fr);
    align-items: center; gap: clamp(12px,2vw,32px); padding-block: clamp(6px,.65vw,10px);
}
.cns-committee-signature img { display:block; margin:auto; width:100%; max-width:156px; height:auto; }
.cns-institutions-center { min-width:0; }
.cns-institutions-center h2 {
    display:flex; align-items:center; justify-content:center; gap:12px;
    margin:0 0 3px; color:white; font-size:clamp(.875rem,1vw,.96rem); text-align:center; line-height:1.25;
}
.cns-institutions-center h2::before,.cns-institutions-center h2::after {
    content:""; flex:1; min-width:12px; border-top:1px solid #cddfd6;
}
.cns-institutions-grid {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-left:1px solid #91b3a3;
}
.cns-institutions-grid figure { margin:0; padding:0 8px; text-align:center; }
.cns-institutions-grid figure + figure { border-left:1px solid #91b3a3; }
.cns-institutions-grid img { display:block; margin-inline:auto; width:100%; max-width:54px; height:clamp(28px,2.5vw,35px); object-fit:contain; }
.cns-institutions-grid figcaption { color:white; font-size:clamp(.75rem,.8vw,.8rem); font-weight:600; line-height:1.2; margin:2px auto 0; max-width:20ch; }
.cns-games-signature { border-left:2px solid #bcd3c7; padding-left:clamp(10px,2vw,24px); text-align:right; }
.cns-games-signature img { width:100%; max-width:62px; height:auto; }
.cns-legal-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; border-top:1px solid #b3d2bf; padding-block:6px; font-size:.82rem; }
.cns-legal-bar nav { display:flex; flex-wrap:wrap; gap:8px 0; }
.security-portal .cns-legal-bar :is(a,span) {color:white;}
.cns-legal-bar nav a + a { margin-left:12px; padding-left:12px; border-left:1px solid #b3d2bf; }
@media(max-width:700px){
    .cns-institutions-panel { grid-template-columns:1fr auto; gap:8px; }
    .cns-footer-identity { grid-column:1; grid-row:1; }
    .cns-games-signature { grid-column:2; grid-row:1; width:48px; }
    .cns-institutions-center { grid-column:1/-1; }
    .cns-institutions-grid { border-left:0; }
    .cns-institutions-grid img {height:28px;}
    .cns-institutions-grid figure {padding:0 4px;}
    .cns-institutions-grid figcaption {font-size:.72rem;overflow-wrap:anywhere;}
}

.cns-committee-signature {display:flex; align-items:center; gap:9px; color:white; text-decoration:none;}
.cns-committee-signature img {width:clamp(44px,4vw,58px); margin:0;}
.cns-committee-signature small,.cns-footer-credit span {display:block;}
.cns-footer-identity p {margin:4px 0 0; font-size:.78rem; line-height:1.3; color:white;}
.cns-footer-credit {line-height:1.45;}

.security-portal .institutional-bar .institutional-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 6px 12px;
}
.institutional-inner .ministry-identity { justify-self: end; }
.institutional-inner .institutional-emergency {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    gap: .4em;
    padding-block: 4px;
    color: inherit;
    font-weight: 600;
    text-decoration: none;
}
.institutional-emergency strong {
    border-radius: 4px;
    padding: .1em .35em;
    background: #005035;
    color: #fff;
    font-weight: 750;
}
.institutional-emergency:hover, .institutional-emergency:focus-visible { text-decoration: underline; }
@media (max-width: 700px) {
    .security-portal .institutional-bar .institutional-inner { grid-template-columns: 1fr 1fr; }
    .institutional-inner .ministry-identity { grid-column: 2; grid-row: 1; }
    .institutional-inner .institutional-emergency { grid-column: 1 / -1; grid-row: 2; }
}
@media (min-width: 861px) {
    /* Le carrousel fixe la hauteur de la ligne, même lorsque le mot intégral est ouvert. */
    .security-portal .cns-home-intro-grid > .cns-home-word {
        contain: size;
        align-self: stretch;
        min-height: 0;
        overflow: auto;
    }
    .cns-home-word > * { flex-shrink: 0; }
    .cns-home-word .cns-home-word-full { max-height: none; overflow: visible; }
}

@media (min-width: 861px) {
    .security-portal .cns-home-word .cns-home-word-layout {
        flex: 1 1 auto;
        min-height: 0;
    }
    .security-portal .cns-home-word-copy {
        min-height: 0;
    }
}
