/* Réseau IIA — Accueil premium. Styles isolés pour ne pas affecter login.php */
body:has(.premium-home) {
    background:#f7f9fc;
    color:#102a43;
    font-family:'DM Sans',Arial,sans-serif
}

body:has(.premium-home) .site-header {
    display:none
}

.premium-home {
    overflow:hidden
}

.premium-shell {
    max-width:1420px;
    width:calc(100% - 80px);
    margin:0 auto
}

.premium-header {
    background:#fff;
    position:relative;
    z-index:50;
    border-bottom:1px solid #e9eff5
}

.premium-header__inner {
    height:78px;
    display:flex;
    align-items:center;
    gap:28px
}

.premium-brand,.premium-footer__logo {
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:#092e58;
    min-width:218px
}

.premium-brand img {
    width:64px;
    height:56px;
    object-fit:contain
}

.premium-brand span,.premium-footer__logo span {
    display:flex;
    flex-direction:column;
    gap:3px
}

.premium-brand b {
    font-size:19px;
    white-space:nowrap
}

.premium-brand small,.premium-footer__logo small {
    font-size:8px;
    letter-spacing:1px;
    font-weight:700
}

.premium-nav {
    display:flex;
    gap:24px;
    align-items:center;
    margin:auto
}

.premium-nav a {
    font-size:13px;
    color:#122e50;
    text-decoration:none;
    font-weight:800;
    white-space:nowrap;
    padding:28px 0 26px;
    border-bottom:3px solid transparent
}

.premium-nav a:hover,.premium-nav a.active {
    border-color:#f3b33d;
    color:#00539a
}

.premium-header__actions {
    display:flex;
    gap:10px;
    align-items:center
}

.premium-login,.premium-join {
    padding:12px 17px;
    border-radius:7px;
    font-size:12px;
    text-decoration:none;
    white-space:nowrap;
    font-weight:800
}

.premium-login {
    border:1px solid #bdcad7;
    color:#163b62
}

.premium-join {
    background:#00477f;
    color:#fff
}

.premium-menu-toggle {
    display:none
}

.premium-hero {
    min-height:505px;
    position:relative;
    background:linear-gradient(90deg,#eaf3fb 0%,#edf5fc 30%,rgba(234,243,251,.93) 39%,rgba(234,243,251,.2) 59%,transparent 75%),url('../images/hero-reseau.png') center right/cover no-repeat
}

.premium-hero__content {
    min-height:505px;
    display:flex;
    align-items:center;
    position:relative;
    z-index:1
}

.premium-hero__copy {
    max-width:600px;
    padding:34px 0 75px
}

.premium-eyebrow,.premium-kicker {
    font-size:12px;
    font-weight:800;
    letter-spacing:2.3px;
    color:#53728f
}

.premium-eyebrow:before {
    content:'';
    display:inline-block;
    width:30px;
    height:3px;
    background:#efb33d;
    margin-right:8px;
    vertical-align:middle
}

.premium-hero h1,.premium-section h2,.premium-cta h2 {
    font-family:Georgia,'Times New Roman',serif;
    letter-spacing:-1.5px
}

.premium-hero h1 {
    font-size:clamp(42px,4.8vw,72px);
    line-height:1.04;
    color:#082a4e;
    margin:20px 0 18px
}

.premium-hero p {
    font-size:17px;
    line-height:1.65;
    max-width:530px;
    color:#34516d;
    margin-bottom:22px
}

.premium-hero__buttons,.premium-cta__buttons {
    display:flex;
    gap:12px;
    flex-wrap:wrap
}

.premium-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 21px;
    border-radius:7px;
    font-weight:800;
    text-decoration:none;
    font-size:13px;
    min-height:48px
}

.premium-button--blue {
    background:#004780;
    color:white
}

.premium-button--outline {
    border:1px solid #31699d;
    color:#103c69;
    background:#fff8
}

.premium-button--white {
    background:#fff;
    color:#073b69
}

.premium-button--gold {
    background:#f3b33d;
    color:#082d51
}

.premium-stats {
    background:#fff;
    position:relative;
    z-index:3;
    margin-top:-42px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    box-shadow:0 12px 45px #1a4c7112;
    border-radius:14px;
    padding:27px 24px
}

.premium-stats>div {
    display:flex;
    align-items:center;
    gap:16px;
    padding:0 28px;
    border-right:1px solid #dce7f0
}

.premium-stats>div:last-child {
    border:0
}

.premium-stats__icon {
    width:68px;
    height:68px;
    flex:0 0 68px;
    border-radius:50%;
    background:#eaf3fc;
    color:#005392;
    display:grid;
    place-items:center;
    font-size:29px
}

.premium-stats p {
    margin:0;
    display:flex;
    flex-direction:column;
    gap:2px
}

.premium-stats strong {
    font-size:33px;
    line-height:1;
    color:#004780
}

.premium-stats b {
    font-size:12px;
    color:#102a43
}

.premium-stats small {
    font-size:11px;
    color:#71849a
}

.premium-section {
    padding-top:58px
}

.premium-section__intro {
    margin-bottom:24px
}

.premium-section h2 {
    font-size:clamp(29px,3vw,42px);
    line-height:1.18;
    color:#092c51;
    margin:9px 0 0
}

.premium-section__intro h2:after {
    content:'';
    display:block;
    width:42px;
    height:4px;
    background:#f3b33d;
    margin-top:12px
}

.premium-section__intro--split {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:15px
}

.premium-soon {
    font-size:12px;
    font-weight:700;
    color:#0c5b99
}

.premium-services {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px
}

.premium-service {
    display:flex;
    gap:17px;
    background:white;
    border:1px solid #e8eef5;
    border-radius:13px;
    padding:25px 20px;
    box-shadow:0 8px 28px #163e6508;
    min-height:193px
}

.premium-service__icon {
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    flex:0 0 52px;
    border-radius:50%;
    background:#d7e9f8;
    color:#00549a;
    font-size:27px
}

.premium-service__icon--gold {
    background:#f7e4bd;
    color:#a86a09
}

.premium-service h3 {
    font-size:15px;
    color:#0b3765;
    margin:8px 0
}

.premium-service p {
    font-size:12px;
    line-height:1.65;
    color:#71849a;
    min-height:65px;
    margin:0 0 8px
}

.premium-service a {
    color:#005498;
    text-decoration:none;
    font-size:12px;
    font-weight:800
}

.premium-alumni__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px
}

.premium-person {
    display:flex;
    gap:16px;
    background:white;
    border:1px solid #e8eef5;
    border-radius:13px;
    padding:16px;
    min-height:186px;
    box-shadow:0 8px 28px #163e6508
}

.premium-person img {
    width:36%;
    min-width:105px;
    max-width:148px;
    object-fit:cover;
    object-position:center top;
    border-radius:9px;
    background:#e8f0f7
}

.premium-person h3 {
    font-size:15px;
    color:#0a315b;
    margin:9px 0 7px
}

.premium-person span {
    font-size:12px;
    color:#1769aa
}

.premium-person p {
    font-size:12px;
    color:#71849a;
    line-height:1.65;
    margin-top:15px;
    font-style:italic
}

.premium-disclaimer {
    color:#8b9baa;
    font-size:11px;
    margin:12px 0 0
}

.premium-news {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    padding-bottom:28px
}

.premium-news .premium-section__intro h2 {
    font-size:30px
}

.premium-placeholder,.premium-event {
    display:flex;
    align-items:center;
    gap:18px;
    background:#fff;
    border:1px solid #e8eef5;
    border-radius:11px;
    padding:16px;
    margin-bottom:12px;
    min-height:117px
}

.premium-placeholder__icon {
    display:grid;
    place-items:center;
    flex:0 0 74px;
    width:74px;
    height:74px;
    border-radius:8px;
    background:#e8f1fa;
    color:#005498;
    font-size:32px
}

.premium-placeholder>div,.premium-event>div {
    flex:1
}

.premium-placeholder h3,.premium-event h3 {
    font-size:14px;
    margin:0 0 8px;
    color:#0b3159
}

.premium-placeholder p,.premium-event p {
    font-size:12px;
    color:#75889d;
    line-height:1.6;
    margin:0
}

.premium-placeholder a {
    color:#005498;
    text-decoration:none;
    font-size:25px
}

.premium-event img {
    width:145px;
    height:100px;
    border-radius:7px;
    object-fit:cover;
    background:#eaf0f6
}

.premium-event span {
    font-size:11px;
    color:#b47b1b;
    font-weight:800;
    display:inline-block;
    margin-top:10px
}

.premium-cta {
    min-height:185px;
    border-radius:13px;
    margin-bottom:30px;
    padding:36px 48px;
    background:linear-gradient(90deg,#06315b 0%,#084579 55%,#0a3d6bbb 100%),url('../images/cta-reseau.jpg') center/cover no-repeat;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#fff
}

.premium-cta>div:first-child {
    max-width:670px
}

.premium-cta span {
    font-size:11px;
    font-weight:800;
    letter-spacing:2px
}

.premium-cta h2 {
    font-size:31px;
    letter-spacing:-.7px;
    margin:9px 0
}

.premium-cta p {
    font-size:13px;
    line-height:1.6;
    color:#e4eff9;
    margin:0
}

.premium-cta__buttons {
    flex-shrink:0
}

.premium-footer {
    background:#062746;
    color:#fff;
    padding:45px 0 20px
}

.premium-footer__grid {
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.6fr;
    gap:42px
}

.premium-footer__logo img {
    width:70px;
    height:62px;
    object-fit:contain
}

.premium-footer__logo {
    color:#fff
}

.premium-footer__logo b {
    font-size:18px
}

.premium-footer__brand p,.premium-footer__credit p {
    font-size:12px;
    color:#bdcedd;
    line-height:1.6
}

.premium-footer h4 {
    font-size:13px;
    margin:8px 0 17px
}

.premium-footer a {
    display:block;
    color:#d1e0ec;
    text-decoration:none;
    font-size:12px;
    margin:9px 0
}

.premium-footer__credit strong {
    font-size:13px;
    line-height:1.5
}

.premium-footer__credit small {
    display:block;
    color:#cbd8e5;
    font-size:11px;
    margin-top:18px
}

.premium-footer__bottom {
    font-size:11px;
    color:#91adc4;
    margin-top:35px;
    padding-top:17px;
    border-top:1px solid #ffffff20
}

@media(max-width:1200px) {
    .premium-shell {
        width:calc(100% - 50px)
    }
    .premium-header__inner {
        gap:14px
    }
    .premium-nav {
        gap:13px
    }
    .premium-nav a {
        font-size:12px
    }
    .premium-header__actions {
        gap:6px
    }
    .premium-login,.premium-join {
        padding:10px
    }
    .premium-services {
        grid-template-columns:repeat(2,1fr)
    }
    .premium-stats>div {
        padding:0 14px
    }
    .premium-cta {
        flex-direction:column;
        align-items:start
    }
    .premium-person {
        flex-direction:column
    }
    .premium-person img {
        width:100%;
        max-width:none;
        height:175px
    }
}

@media(max-width:850px) {
    .premium-header__inner {
        height:72px
    }
    .premium-menu-toggle {
        display:block;
        margin-left:auto;
        background:#eaf2f9;
        border:0;
        border-radius:8px;
        padding:9px 13px;
        color:#09365f;
        font-size:22px
    }
    .premium-nav {
        display:none;
        position:absolute;
        top:72px;
        left:0;
        right:0;
        background:#fff;
        box-shadow:0 12px 18px #1236;
        padding:16px 25px;
        flex-direction:column;
        align-items:stretch;
        gap:0
    }
    .premium-nav.is-open {
        display:flex
    }
    .premium-nav a {
        padding:12px;
        border-bottom:1px solid #eaf0f6
    }
    .premium-header__actions {
        display:none
    }
    .premium-hero {
        background:linear-gradient(90deg,#edf5fc 0%,#edf5fceb 55%,#edf5fc55),url('../images/hero-reseau.png') center/cover no-repeat
    }
    .premium-hero__copy {
        max-width:590px
    }
    .premium-stats {
        grid-template-columns:repeat(2,1fr);
        gap:18px
    }
    .premium-stats>div {
        border-right:0
    }
    .premium-alumni__grid {
        grid-template-columns:repeat(3,1fr)
    }
    .premium-news {
        grid-template-columns:1fr
    }
    .premium-footer__grid {
        grid-template-columns:repeat(2,1fr)
    }
}

@media(max-width:600px) {
    .premium-shell {
        width:calc(100% - 30px)
    }
    .premium-brand {
        min-width:0
    }
    .premium-brand img {
        width:50px;
        height:50px
    }
    .premium-brand b {
        font-size:15px
    }
    .premium-brand small {
        font-size:7px
    }
    .premium-hero,.premium-hero__content {
        min-height:560px
    }
    .premium-hero {
        background:linear-gradient(180deg,#edf5fc 0%,#edf5fcee 44%,#edf5fc88 100%),url('../images/hero-reseau.png') center bottom/cover no-repeat
    }
    .premium-hero__copy {
        padding:15px 0 120px
    }
    .premium-hero h1 {
        font-size:42px
    }
    .premium-hero p {
        font-size:14px
    }
    .premium-hero__buttons {
        gap:9px
    }
    .premium-button {
        font-size:12px;
        padding:12px
    }
    .premium-stats {
        padding:17px 10px;
        margin-top:-30px;
        gap:12px
    }
    .premium-stats>div {
        padding:0 6px;
        gap:8px
    }
    .premium-stats__icon {
        width:40px;
        height:40px;
        flex-basis:40px;
        font-size:19px
    }
    .premium-stats strong {
        font-size:23px
    }
    .premium-stats b {
        font-size:11px
    }
    .premium-stats small {
        font-size:9px
    }
    .premium-section {
        padding-top:42px
    }
    .premium-section h2 {
        font-size:30px
    }
    .premium-services,.premium-alumni__grid {
        grid-template-columns:1fr
    }
    .premium-service {
        min-height:150px
    }
    .premium-service p {
        min-height:0
    }
    .premium-person {
        flex-direction:row;
        min-height:150px
    }
    .premium-person img {
        width:34%;
        min-width:95px;
        height:auto
    }
    .premium-news .premium-section__intro h2 {
        font-size:25px
    }
    .premium-event img {
        width:100px;
        height:100px
    }
    .premium-cta {
        padding:28px 22px
    }
    .premium-cta h2 {
        font-size:27px
    }
    .premium-footer__grid {
        grid-template-columns:1fr 1fr;
        gap:25px
    }
    .premium-footer__brand {
        grid-column:span 2
    }
    .premium-footer__credit {
        grid-column:span 2
    }
}
