/* =========================================================
   EPHITECH - FICHE INFORMATION : DÉLESTEUR IRVE
   Style principal
   ========================================================= */

/* ================= VARIABLES ================= */

:root{
    --bg:#f5f9ff;
    --bg2:#e7f1ff;

    --ink:#071b2f;
    --muted:#4f6475;

    --accent:#0a3d91;
    --accent2:#1256c7;
    --deep:#042653;

    --yellow:#ffd400;

    --white:#ffffff;

    --border:#d7e4f5;
    --soft:#eef5ff;
}


/* ================= BASE ================= */

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;

    font-family:Arial, sans-serif;
    color:var(--ink);

    background:
        radial-gradient(circle at 20% 30%, rgba(0,120,255,0.08), transparent 38%),
        radial-gradient(circle at 80% 70%, rgba(0,120,255,0.06), transparent 40%),
        linear-gradient(180deg, #ffffff 0%, var(--bg) 55%, var(--bg2) 100%);
}

a{
    color:inherit;
}

img{
    max-width:100%;
    display:block;
}

.info-container{
    width:min(1160px, calc(100% - 48px));
    margin:0 auto;
}


/* ================= HEADER ================= */

.info-header{
    position:sticky;
    top:0;
    z-index:20;

    background:rgba(255,255,255,0.96);

    border-bottom:1px solid #e3edf8;

    backdrop-filter:blur(8px);
}

.header-inner{
    min-height:86px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:28px;
}

.logo img{
    height:56px;
    width:auto;
}

.main-nav{
    display:flex;
    align-items:center;
    gap:16px;

    font-weight:700;
}

.main-nav a{
    padding:12px 14px;

    border-radius:8px;

    text-decoration:none;

    color:var(--ink);

    transition:0.18s ease;
}

.main-nav a:hover,
.main-nav a.active{
    background:var(--accent);
    color:#fff;
}

.main-nav .contact-btn{
    border:1px solid var(--accent);

    background:#fff;
    color:var(--accent);
}

.main-nav .contact-btn:hover{
    background:var(--accent);
    color:#fff;
}

/* ================= HERO ================= */

.surge-hero{
    position:relative;

    margin-top:28px;
    min-height:330px;

    overflow:hidden;

    border-radius:12px;

    background:
        linear-gradient(
            135deg,
            #082d6b 0%,
            #0a3d91 55%,
            #1256c7 100%
        );

    box-shadow:0 16px 36px rgba(4,38,83,0.18);

    color:#fff;
}

.hero-content{
    position:relative;
    z-index:3;

    width:50%;

    padding:38px 42px 34px;
}

.kicker{
    display:inline-block;

    margin-bottom:18px;
    padding:7px 14px;

    border-radius:999px;

    background:var(--yellow);

    color:#041d42;

    font-size:0.78rem;
    font-weight:900;
}

.surge-hero h1{
    margin:0;

    line-height:1.02;
    letter-spacing:-0.04em;

    color:#fff;
}

.surge-hero h1 .hero-main{
    display:block;

    font-size:3rem;
    font-weight:900;

    line-height:1;
}

.surge-hero h1 .hero-sub{
    display:block;

    margin-top:8px;

    font-size:1.65rem;
    font-weight:600;
    letter-spacing:-0.02em;

    line-height:1.05;

    color:rgba(255,255,255,0.96);
}

.surge-hero p{
    margin:18px 0 0;

    max-width:390px;

    font-size:0.98rem;
    line-height:1.55;

    color:rgba(255,255,255,0.95);
}

.hero-benefits{
    display:flex;
    gap:28px;

    margin-top:30px;
}

.hero-benefits div{
    display:flex;
    align-items:center;
    gap:12px;

    min-width:150px;
}

.hero-icon{
    flex:0 0 42px;

    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:2px solid rgba(255,255,255,0.82);
    border-radius:999px;

    font-size:1rem;
    font-weight:900;
}

.hero-benefits p{
    margin:0;

    font-size:0.88rem;
    line-height:1.3;

    color:#ffffff;
}

.hero-image{
    position:absolute;

    top:0;
    right:0;
    bottom:0;

    width:50%;

    overflow:hidden;
}

.hero-image::before{
    content:"";

    position:absolute;
    inset:0;

    z-index:2;

    background:
    linear-gradient(
        90deg,
        rgba(10,61,145,0.94) 0%,
        rgba(10,61,145,0.72) 18%,
        rgba(10,61,145,0.26) 42%,
        rgba(10,61,145,0.04) 70%,
        transparent 100%
    );
}

.hero-image-img{
    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center;

    display:block;
}



/* ================= SECTIONS ================= */

.section-block{
    padding:34px 0 0;
}

.section-block h2,
.why-band h2{
    margin:0 0 12px;

    color:var(--accent);

    font-size:1.85rem;
}

.intro{
    max-width:900px;

    margin:0 0 22px;

    color:var(--ink);

    line-height:1.55;
}


/* ================= IMAGES FOUDRE ================= */

.image-grid{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:38px;
}

.image-card{
    position:relative;

    overflow:hidden;

    border:1px solid var(--border);
    border-radius:12px;

    background:#fff;

    box-shadow:0 12px 26px rgba(7,27,47,0.08);
}

.image-label{
    position:absolute;
    left:0;
    top:0;
    z-index:2;

    padding:9px 18px;

    border-radius:0 0 8px 0;

    background:var(--deep);
    color:#fff;

    font-weight:800;
}

.image-card img{
    width:100%;

    aspect-ratio:1.45 / 1;

    object-fit:cover;

    background:#eaf2ff;
}

.image-card p{
    margin:0 24px 20px;
    padding:14px 18px;

    border:1px solid #cfd9e8;
    border-radius:999px;

    background:#fff;

    text-align:center;

    transform:translateY(-10px);
}

/* ================= IMAGE UNIQUE ================= */

.single-image-card{
    max-width:980px;
    margin:0 auto;
}

.single-image-card img{
    width:100%;
    aspect-ratio:1.6 / 1;
    object-fit:cover;
    background:#eaf2ff;
}


/* ================= CARTES COURTES ================= */

.short-card-grid{
    grid-template-columns:repeat(3,1fr);
}

.short-card-grid .info-card{
    min-height:auto;
}
/* ================= POURQUOI ================= */

.why-band{
    margin-top:34px;
    padding:28px 30px;

    border-radius:12px;

    background:linear-gradient(180deg, #f6faff, #edf5ff);

    box-shadow:0 10px 24px rgba(7,27,47,0.06);
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:28px;
}

.why-grid article{
    display:grid;
    grid-template-columns:54px 1fr;
    column-gap:14px;
    row-gap:12px;

    padding:0 10px;
}

.why-grid article p{
    grid-column:1 / -1;

    margin:8px 0 0;

    color:var(--ink);

    font-size:0.92rem;
    line-height:1.45;

    text-align:left;
}

.line-icon{
    width:48px;
    height:48px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border:3px solid var(--accent);
    border-radius:14px;

    color:var(--accent);

    font-size:1.3rem;
    font-weight:900;
}

.why-grid h3{
    margin:0 0 7px;

    color:var(--accent);

    font-size:1rem;
}

.why-grid p{
    margin:0;

    color:var(--ink);

    font-size:0.92rem;
    line-height:1.45;
}


/* ================= CARTES ================= */

.info-card-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:24px;
}

.info-card{
    min-height:390px;

    padding:24px;

    border:1px solid var(--border);
    border-top:5px solid var(--yellow);
    border-radius:12px;

    background:linear-gradient(180deg, #ffffff, #f5f9ff);

    box-shadow:0 12px 26px rgba(7,27,47,0.08);
}

.card-symbol{
    width:48px;
    height:48px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    margin-bottom:14px;

    color:var(--accent);

    font-size:2rem;
    font-weight:900;
}

.info-card h2{
    margin:0 0 16px;

    color:var(--accent);

    font-size:1.35rem;
}

.info-card p,
.info-card li{
    color:var(--ink);

    line-height:1.5;
}

.info-card ul{
    padding-left:18px;
}

.note-box{
    margin-top:18px;
    padding:16px;

    border:1px solid #9dbce8;
    border-radius:8px;

    background:#f7fbff;
    color:var(--deep);

    font-weight:700;
}

.note-box.strong{
    text-align:center;
}

.blue-callout{
    margin-top:30px;
    padding:24px 18px;

    border-radius:8px;

    background:linear-gradient(135deg, var(--accent), var(--deep));

    color:#fff;

    text-align:center;

    font-size:1.1rem;
    font-weight:900;
}

.mini-panel{
    margin-top:18px;

    overflow:hidden;

    border:1px solid #d7e4f5;
    border-radius:10px;

    background:#eef4fb;
}

.mini-panel-image{
    width:100%;
    height:auto;

    display:block;
}


/* ================= CTA ================= */

.final-cta{
    margin:34px 0 26px;
    padding:22px 30px;

    display:grid;
    grid-template-columns:80px 1fr 260px;
    align-items:center;

    gap:24px;

    border-radius:12px;

    background:linear-gradient(180deg, #eef6ff, #dcecff);
}

.chat-icon{
    width:60px;
    height:60px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:999px;

    background:var(--accent);
    color:#fff;

    font-size:2rem;
}

.final-cta h2{
    margin:0 0 6px;

    color:var(--deep);
}

.final-cta p{
    margin:0;

    color:var(--ink);
}

.cta-button{
    min-height:52px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border-radius:8px;

    background:linear-gradient(135deg, var(--accent2), var(--accent));

    color:#fff;

    text-decoration:none;

    font-weight:900;
}


/* ================= FOOTER ================= */

.info-footer{
    padding:28px 0;

    background:linear-gradient(90deg, var(--accent), var(--deep));

    color:#fff;
}

.footer-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;
}

.footer-inner p{
    margin:0;

    line-height:1.5;
}


/* ================= RESPONSIVE ================= */

@media(max-width:980px){

    .header-inner{
        flex-direction:column;
        padding:16px 0;
    }

    .main-nav{
        flex-wrap:wrap;
        justify-content:center;
        gap:8px;
    }

    .surge-hero{
        min-height:640px;
    }

    .hero-content{
        width:100%;
        padding:34px 34px 0;
    }

    .hero-image{
        position:absolute;

        left:0;
        right:0;
        bottom:0;

        width:100%;
        height:300px;
    }

    .hero-image::before{
        background:
            linear-gradient(
                180deg,
                rgba(10,61,145,0.92) 0%,
                rgba(10,61,145,0.36) 36%,
                transparent 100%
            );
    }

    .hero-benefits{
        flex-wrap:wrap;
        gap:18px;
    }

    .why-grid,
    .info-card-grid{
        grid-template-columns:1fr 1fr;
    }

    .image-grid{
        grid-template-columns:1fr;
    }

    .final-cta{
        grid-template-columns:1fr;
        text-align:center;
    }

    .chat-icon{
        margin:auto;
    }
}

@media(max-width:680px){

    .info-container{
        width:min(100% - 28px, 1160px);
    }

    .logo img{
        height:44px;
    }

    .main-nav{
        font-size:0.82rem;
    }

    .main-nav a{
        padding:8px 9px;
    }

    .surge-hero{
        margin-top:16px;

        min-height:700px;

        border-radius:12px;
    }

    .hero-content{
        padding:26px 22px 0;
    }

    .surge-hero h1 .hero-main{
        font-size:2.55rem;
    }

    .surge-hero h1 .hero-sub{
        font-size:1.35rem;
    }

    .surge-hero p{
        max-width:100%;
    }

    .hero-benefits{
        display:grid;
        grid-template-columns:1fr;

        gap:14px;

        margin-top:24px;
    }

    .hero-image{
        height:240px;
    }
@media(max-width:980px){

    .short-card-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:680px){

    .single-image-card img{
        aspect-ratio:1.15 / 1;
    }
}
  