:root{
    --bleu:#0a4f9e;
    --bleu-fonce:#083a75;
    --bleu-clair:#e8f1fb;
    --accent:#f39200;
    --accent-hover:#d97e00;
    --noir:#1a1f27;
    --gris:#5b6675;
    --gris-clair:#f5f7fa;
    --border:#e2e8f0;
}
*{box-sizing:border-box}
body{
    font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    color:#2b323c;
    line-height:1.7;
    background:#fff;
}
h1,h2,h3,h4,h5,.brand-text{font-family:'Barlow Condensed','Inter',sans-serif;font-weight:700;letter-spacing:.3px;}
a{text-decoration:none;color:var(--bleu);}
a:hover{color:var(--bleu-fonce);}
img{max-width:100%;height:auto;}

/* ---------- Topbar ---------- */
.topbar{background:var(--bleu-fonce);color:#cfe0f3;font-size:.85rem;padding:.45rem 0;}
.topbar a{color:#cfe0f3;}
.topbar a:hover{color:#fff;}

/* ---------- Navbar ---------- */
.main-nav{background:#fff;box-shadow:0 2px 14px rgba(8,58,117,.08);padding:.6rem 0;}
.brand-logo{max-height:52px;}
.brand-text{font-size:1.5rem;color:var(--bleu);text-transform:uppercase;}
.brand-text span{color:var(--accent);}
.main-nav .nav-link{color:var(--noir);font-weight:600;padding:.5rem .95rem;border-radius:6px;transition:.2s;}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:var(--bleu);background:var(--bleu-clair);}
.dropdown-menu{border:none;box-shadow:0 10px 30px rgba(8,58,117,.14);border-radius:10px;padding:.5rem;}
.dropdown-item{border-radius:6px;font-weight:500;padding:.5rem .8rem;}
.dropdown-item:hover{background:var(--bleu-clair);color:var(--bleu);}

/* ---------- Boutons ---------- */
.btn{font-weight:600;border-radius:8px;padding:.6rem 1.4rem;}
.btn-primary{background:var(--bleu);border-color:var(--bleu);}
.btn-primary:hover{background:var(--bleu-fonce);border-color:var(--bleu-fonce);}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff;}
.btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;}
.btn-outline-light-b{border:2px solid #fff;color:#fff;}
.btn-outline-light-b:hover{background:#fff;color:var(--bleu);}

/* ---------- Hero ---------- */
.hero{
    position:relative;color:#fff;overflow:hidden;
    background:#083a75;
    padding:6rem 0 6.5rem;
}
.hero-slides{position:absolute;inset:0;z-index:0;}
.hero-slide{
    position:absolute;inset:0;
    background-size:cover;background-position:center;
    opacity:0;animation:heroFade 21s infinite;will-change:opacity,transform;
}
.hero-slide:nth-child(1){animation-delay:0s;}
.hero-slide:nth-child(2){animation-delay:7s;}
.hero-slide:nth-child(3){animation-delay:14s;}
@keyframes heroFade{
    0%{opacity:0;transform:scale(1.08);}
    6%{opacity:1;} 28%{opacity:1;}
    34%{opacity:0;transform:scale(1);} 100%{opacity:0;}
}
.hero::before{content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(120deg, rgb(8 58 117 / 67%), rgb(10 79 158 / 52%));}
.hero-inner{position:relative;z-index:2;}
@media (prefers-reduced-motion:reduce){
    .hero-slide{animation:none;opacity:1;}
    .hero-slide:nth-child(2),.hero-slide:nth-child(3){display:none;}
}
/* ---------- Page hero (intérieur) ---------- */
.page-hero{
    background:linear-gradient(120deg, rgb(8 58 117 / 72%), rgb(10 79 158 / 28%)), url(../images/hero-default.jpg) center / cover no-repeat;
    color:#fff;padding:3.4rem 0;
}
.page-hero h1{font-size:2.5rem;text-transform:uppercase;margin:0;}
.breadcrumb-c{color:#cfe0f3;font-size:.9rem;margin-top:.4rem;}
.breadcrumb-c a{color:#fff;}

/* ---------- Sections ---------- */
section{padding:4.2rem 0;}
.section-title{position:relative;margin-bottom:2.5rem;text-align:center;}
.section-title .eyebrow{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:.85rem;}
.section-title h2{font-size:2.3rem;color:var(--noir);margin-top:.3rem;}
.section-title .lead-sub{color:var(--gris);max-width:680px;margin:.6rem auto 0;}
.bg-light-c{background:var(--gris-clair);}
.img-border-bleu{border:5px solid #fff;box-shadow:0 12px 34px rgba(8,58,117,.18);border-radius:12px;border-bottom:5px solid var(--bleu);}

/* ---------- Cartes services ---------- */
.service-card{
    background:#fff;border:1px solid var(--border);border-radius:14px;padding:2rem 1.6rem;height:100%;
    text-align:center;transition:.25s;position:relative;overflow:hidden;
}
.service-card::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:var(--bleu);transform:scaleX(0);transform-origin:left;transition:.3s;}
.service-card:hover{box-shadow:0 18px 40px rgba(8,58,117,.15);transform:translateY(-6px);border-color:transparent;}
.service-card:hover::before{transform:scaleX(1);}
.service-icon{
    width:82px;height:82px;border-radius:50%;background:var(--bleu-clair);color:var(--bleu);
    display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.2rem;transition:.25s;
}
.service-card:hover .service-icon{background:var(--bleu);color:#fff;}
.service-card h4{font-size:1.3rem;color:var(--noir);margin-bottom:.7rem;}
.service-card p{color:var(--gris);font-size:.96rem;margin-bottom:1.2rem;}
.service-card .link-more{color:var(--bleu);font-weight:600;}
.service-card .link-more i{transition:.2s;}
.service-card:hover .link-more i{transform:translateX(4px);}

/* ---------- Bandeau chiffres / features ---------- */
.feature-row{display:flex;gap:1rem;flex-wrap:wrap;}
.feature-item{flex:1;min-width:200px;display:flex;gap:.9rem;align-items:flex-start;}
.feature-item i{color:var(--accent);font-size:1.6rem;margin-top:.2rem;}
.feature-item h5{margin:0 0 .2rem;color:var(--noir);font-size:1.15rem;}
.feature-item p{margin:0;color:var(--gris);font-size:.92rem;}

/* ---------- Bloc noir (détail service) ---------- */
.bloc-noir{background:var(--noir);color:#fff;border-radius:14px;padding:2.4rem;position:relative;}
.bloc-noir h2{color:#fff;}
.bloc-noir .cadre-icone{width:70px;height:70px;border-radius:12px;background:var(--bleu);display:flex;align-items:center;justify-content:center;font-size:1.9rem;margin-bottom:1rem;}
.bloc-noir ul{list-style:none;padding:0;margin:0;}
.bloc-noir ul li{padding:.5rem 0 .5rem 1.9rem;position:relative;border-bottom:1px solid rgba(255,255,255,.08);}
.bloc-noir ul li::before{content:"\f058";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--accent);position:absolute;left:0;top:.55rem;}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(120deg,var(--bleu-fonce),var(--bleu));color:#fff;text-align:center;padding:3.4rem 0;}
.cta-band h2{color:#fff;font-size:2.2rem;}
.cta-band p{color:#dbe8f7;max-width:640px;margin:.5rem auto 1.6rem;}

/* ---------- Content prose ---------- */
.prose p{margin-bottom:1.1rem;color:#3a424e;}
.prose h2{color:var(--bleu-fonce);font-size:1.8rem;margin:1.2rem 0 1rem;}
.prose ul li{margin-bottom:.4rem;}

/* ---------- Formulaires ---------- */
.form-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:2.2rem;box-shadow:0 8px 30px rgba(8,58,117,.06);}
.form-label{font-weight:600;color:var(--noir);}
.form-control,.form-select{border-radius:8px;padding:.7rem .9rem;border:1px solid #d3dbe6;}
.form-control:focus,.form-select:focus{border-color:var(--bleu);box-shadow:0 0 0 .2rem rgba(10,79,158,.15);}
.contact-info-card{background:var(--bleu);color:#fff;border-radius:14px;padding:2rem;}
.contact-info-card h4{color:#fff;}
.contact-info-card a{color:#fff;text-decoration:underline;}
.contact-info-card .ci-item{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1.1rem;}
.contact-info-card .ci-item i{font-size:1.2rem;margin-top:.2rem;color:var(--accent);}

/* ---------- Footer ---------- */
.site-footer{background:var(--noir);color:#c3ccd8;padding-top:3.4rem;}
.footer-title{color:#fff;font-size:1.25rem;margin-bottom:1.1rem;position:relative;padding-bottom:.6rem;}
.footer-title::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:3px;background:var(--accent);}
.footer-text{color:#9aa6b4;font-size:.94rem;}
.footer-links,.footer-contact{list-style:none;padding:0;margin:0;}
.footer-links li,.footer-contact li{padding:.35rem 0;color:#9aa6b4;font-size:.94rem;}
.footer-links a{color:#c3ccd8;}
.footer-links a:hover,.footer-contact a:hover{color:var(--accent);}
.footer-contact i{color:var(--accent);width:20px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:2.6rem;padding:1.2rem 0;font-size:.88rem;color:#8794a3;}
.footer-bottom a{color:#c3ccd8;}
.footer-contact a{color:#c3ccd8;}

/* ---------- Alerts ---------- */
.alert-success{background:#e6f6ed;border-color:#b6e3c8;color:#1c7a44;}

@media (max-width:991px){
    .hero h1{font-size:2.3rem;}
    .main-nav .nav-link{padding:.5rem .6rem;}
    .btn-accent{margin-top:.5rem;}
}

@media (max-width:550px){
    .hero .btn-outline-light-b{ margin-top: 10px; }
}
