
*{box-sizing:border-box}

:root{
  --blue:#1687ff;
  --green:#10b86f;
  --orange:#f47a12;
  --yellow: #f59e0b;
  --purple:#7540d8;
  --ink:#121820;
  --muted:#68717d;
  --line:#e5e9ee
}

html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Manrope,sans-serif}
a{color:inherit;text-decoration:none}
.container{width:min(1380px,calc(100% - 48px));margin:auto}

.site-header{
  position:fixed;
  inset:0 0 auto;
  z-index:100;
  background:rgba(7,16,27,.8);
  border-bottom:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(18px)
}

.nav-shell{width:min(1500px,calc(100% - 48px));min-height:82px;margin:auto;display:flex;align-items:center;gap:42px}.brand{display:inline-flex;align-items:center;gap:12px;color:#fff}.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:24px;background:linear-gradient(145deg,#28a5ff,#0568e9);box-shadow:0 12px 30px rgba(16,133,255,.3)}.brand strong,.brand small{display:block}.brand strong{font-size:19px}.brand small{color:#a9b8c8;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.desktop-nav{margin-left:auto;display:flex;gap:34px}.desktop-nav a{color:#d4dce5;font-size:14px;font-weight:600}.nav-phone{padding-left:25px;border-left:1px solid rgba(255,255,255,.15);color:white}.nav-phone span,.nav-phone strong{display:block}.nav-phone span{color:#9baaba;font-size:11px}.nav-phone strong{font-size:15px}
.menu-toggle,.mobile-nav{display:none}

.hero{
  min-height:650px;
  padding:155px 0 170px;
  position:relative;
  overflow:hidden;
  color:rgb(255, 255, 255);
  background:url('images/hero.png') center 48%/cover no-repeat
}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,11,20,.98),rgba(4,13,23,.87) 35%,rgba(4,13,23,.34) 70%,rgba(4,13,23,.48))}
.hero-content{
  min-height:420px;
  position:relative;
  z-index:2;display:flex;
  align-items:center;
  justify-content:space-between;
  gap:60px
}
.hero-copy{max-width:650px}
.eyebrow,.section-label{margin:0 0 22px;color:#48aaff;font-size:13px;font-weight:800;letter-spacing:.2em}
.hero h1{margin:0;font-size:clamp(54px,5.8vw,90px);line-height:.97;letter-spacing:-.06em}
.hero h1 span{color:var(--blue)}.hero-text{max-width:610px;margin:26px 0 30px;color:#e4e8ed;font-size:18px;line-height:1.65}
.hero-actions{display:flex;flex-wrap:wrap;gap:15px}



.button{
  min-height:60px;
  padding:0 28px;
  border:0;
  border-radius:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  cursor:pointer;
  font:inherit;
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  transition:.25s
}
.button:hover{transform:translateY(-2px)}
.button-primary{color:#fff;background:linear-gradient(135deg,#1594ff,#0872ee);
    box-shadow:0 16px 38px rgba(0,117,255,.28)
}
.button-outline{
  color:#fff;
  border:1px solid rgba(255,255,255,.55);
  background:rgba(7,16,27,.42);
  backdrop-filter:blur(12px)
}
.outline-hover:hover{
  color: #10b86f;
}
.rapid-note{
  margin-top:20px;
  color:#d4dbe3
}
.rapid-note strong{color:#3ba5ff}
.emergency-card{min-width:320px;padding:28px;border:1px solid rgba(255,255,255,.08);border-radius:24px;display:flex;gap:18px;color:white;background:rgba(14,18,24,.88);box-shadow:0 25px 70px rgba(0,0,0,.36);backdrop-filter:blur(18px)}
.alarm{
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#ff4b4b;
  font-size:31px;
  background:rgba(255,65,65,.15)
}
.alarm i {
  color: var(--yellow);
}
.emergency-card p{margin:0 0 10px;color:#ff5353;font-weight:800}
.emergency-card span{color:#dfe5eb;font-size:14px;line-height:1.7}
.emergency-card a{margin-top:14px;display:block;color:#ff4b4b;font-size:22px;font-weight:800}

.service-zone{position:relative;z-index:5;padding:0 0 78px;background:#fff}

.services-grid{margin-top:-68px;display:grid;
    grid-template-columns:repeat(5,1fr);gap:22px}

.service-card{
    min-height:335px;
    padding:31px 29px 28px;
    border:1px solid var(--line);
    border-top:3px solid currentColor;
    border-radius:17px;position:relative;
    overflow:hidden;background:white;
    box-shadow:0 20px 45px rgba(20,36,56,.09);transition:.28s
}
.service-card:hover{transform:translateY(-9px);box-shadow:0 28px 62px rgba(20,36,56,.15)}

.service-blue{color:#1687ff;background:linear-gradient(145deg,#fff 54%,#f3f8ff)}
.service-red{color:#b61111;background:linear-gradient(145deg,#fff 54%,#fbf0f0)}
.service-orange{color:#f27814;background:linear-gradient(145deg,#fff 54%,#fff7ef)}
.service-purple{color:#7841d7;background:linear-gradient(145deg,#fff 54%,#f8f4ff)}
.service-gray{color: #169aa3;background:linear-gradient(145deg,#fff 54%, #ebfbfc)}
.service-top{display:flex;justify-content:space-between}
.service-icon{
    width:66px;
    height:66px;
    border:1px solid currentColor;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:30px;
    background:#fff
}
.service-number{opacity:.12;font-size:52px;font-weight:800}



.service-card h2{margin:27px 0 12px;color:var(--ink);font-size:22px}
.service-card p{
    min-height:72px;
    margin:0;color:#555f6b;
    font-size:14px;
    line-height:1.7
}
.service-card>a{margin-top:24px;display:inline-flex;gap:9px;color:currentColor;font-weight:800}

.benefits{margin-top:52px;min-height:100px;padding:22px 28px;;border-radius:17px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:white}
.benefit-item{padding:4px 14px;display:flex;align-items:center;gap:15px;border-right:1px solid #edf0f3}
.benefit-item:last-child{border-right:0}.benefit-icon{font-size:38px}.blue{color:var(--blue)}


.orange{color:var(--orange)}
.purple{color:var(--purple)}

.benefit-item strong,.benefit-item small{display:block}.benefit-item small{color:#78818b;font-size:11px}
.about-section,.reviews-section,.contact-section{padding:100px 0}.about-section{background:#f4f8fc}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:end}.about-grid h2,.reviews-section h2,.contact-card h2{margin:0;font-size:clamp(38px,4vw,62px);line-height:1.08;letter-spacing:-.05em}.about-grid>div:last-child p{color:var(--muted);font-size:18px;line-height:1.8}.text-link{color:var(--blue);font-weight:800}.reviews-section h2{margin-bottom:42px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-grid article{padding:30px;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px rgba(20,36,56,.06)}.stars{color:#ffaf21}.review-grid p{color:#59636e;line-height:1.8}

.contact-section{background:#081523}
.contact-card{
    padding:54px !important;
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:50px;
    color:#fff;
    background:radial-gradient(circle at 10% 20%,rgba(16,132,255,.18),transparent 30%),#0c1c2e
}
.contact-copy p:last-child{color:#aab8c7;line-height:1.8}

form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label span{margin-bottom:7px;display:block;color:#bec9d5;font-size:12px;font-weight:700}input,select,textarea{width:100%;padding:15px 16px;border:1px solid rgba(255,255,255,.12);border-radius:11px;outline:none;color:#fff;background:rgba(255,255,255,.055);font:inherit}textarea{min-height:112px;resize:vertical}select option{color:#111}form .button{width:fit-content}.form-status{min-height:22px;color:#6be0ac;font-size:13px}

footer{padding:34px 0;color:#9eabb8;background:#050e18}.footer-content{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-brand .brand-mark{width:38px;height:38px;font-size:19px}footer p{font-size:12px}

@media(max-width:1100px){
  .desktop-nav,.nav-phone{display:none}.menu-toggle{margin-left:auto;width:44px;height:44px;border:0;display:grid;place-content:center;gap:5px;background:transparent}
  .menu-toggle span{width:24px;height:2px;background:#fff}
  .mobile-nav{padding:15px 24px 23px;display:none;flex-direction:column;gap:15px;color:#fff;background:rgba(7,16,27,.96)}
  .mobile-nav.open{display:flex}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .benefits{grid-template-columns:repeat(2,1fr)}.hero-content{align-items:flex-end}
}

@media(max-width:780px){
    .container,.nav-shell{width:min(100% - 30px,1380px)}
    .hero{
        padding:135px 0 150px;
        background:url('images/hero.png') top 48%/cover no-repeat}
    .hero-content{display:block}
    .hero h1{font-size:clamp(48px,13vw,68px)}
    .hero-text{font-size:16px}
    .emergency-card{max-width:360px;margin-top:35px}
    .services-grid{margin-top:-76px;grid-template-columns:1fr}
    .benefits,.review-grid,.about-grid,.contact-card{grid-template-columns:1fr}
    .benefit-item{border-right:0;border-bottom:1px solid #edf0f3;padding:13px 5px}
    .contact-card{padding:32px 22px}
    .form-row{grid-template-columns:1fr}
    .footer-content{flex-direction:column;align-items:flex-start}
}


@media(max-width:680px){
    .hero {
        background: url('images/hero.png') left / cover no-repeat;
        padding-top: 10px;
    }

    .hero-content{display:block}
    .hero h1{display: none;}
    .hero .rapid-note {
        font-size: 12px;
    }
    .hero-actions .button {
        font-size: 12px;
        min-height:50px;
        padding:0 28px;
    }
    .emergency-card {
        display: none;
    }

    .services-grid{
        margin-top:-225px;
        grid-template-columns:repeat(2,1fr);
        padding-top: 0px !important;
    }
    .service-card {
        min-height: 200px;
    }
    .service-card .service-icon {
        width:45px;
        height:45px;
        font-size:25px;
    }
    .service-card .service-number {
        font-size: 30px;
    }
    .service-card h2 {
        font-size: 15px;
        font-weight: 600;
    }
    .service-card p {
        display: none;
    }
    .service-card a {
        font-size: 15px;
    }

    .about-section h2, .reviews-section h2 {
        font-size: 33px;
    }

    .benefits{margin-top:10px;}
    .service-zone{padding:0 0 50px;}
}


@media(max-width:520px){
    .hero-actions{display:grid}
    .button{width:100%}
    .emergency-card{min-width:0;width:100%}
    .brand small{display:none}
    .about-section,.reviews-section,.contact-section{padding:75px 0}
}


/* ===== Header premium ===== */
.site-header{background:linear-gradient(180deg,rgba(5,13,23,.92),rgba(5,13,23,.78));box-shadow:0 12px 45px rgba(0,0,0,.16)}
.nav-shell{min-height:88px}
.brand{position:relative;padding:7px 0}
.brand-logo{
  position:relative;width:62px;height:62px;flex:0 0 62px;border-radius:19px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  box-shadow:linear-gradient(145deg,#44bcff 0%,#168cff 46%,#045fd5 100%);
  isolation:isolate;transition:transform .32s ease,box-shadow .32s ease
}
.brand-logo::before{
  content:"";position:absolute;inset:1px;border-radius:18px;
}
.brand-logo::after{
  content:"";position:absolute;width:44px;height:44px;top:-17px;right:-13px;border-radius:50%;
}
.brand-logo img{
  width:72%;height:72%;position:relative;z-index:2;object-fit:contain;
}
.brand:hover .brand-logo{
  transform:translateY(-3px) rotate(-1deg);
  box-shadow:0 20px 44px rgba(0,119,255,.48),0 0 66px rgba(0,136,255,.28),inset 0 1px 0 rgba(255,255,255,.38)
}
.brand:hover .brand-logo img{transform:scale(1.06)}
.brand>span:last-child{padding-left:2px}
.brand strong{font-size:20px;letter-spacing:-.045em}
.brand small{
  margin-top:3px;
  font-size:10px;
  letter-spacing:.2em
}
.brand small.small-name {
  margin-top:0px !important;
  font-size:8px;
  font-weight:900;
  color: #b4e1ff;
}
footer .brand small.small-name {
  color: #44bcff !important;
}

.desktop-nav{
  padding:8px;gap:5px;border:1px solid rgba(255,255,255,.075);border-radius:999px;
  background:rgba(255,255,255,.035);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}

.desktop-nav a{padding:10px 16px;border-radius:999px;transition:.22s ease}
.desktop-nav a:hover{color:#fff;background:rgba(255,255,255,.09);transform:translateY(-1px)}
.availability-pill{
  display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid rgba(79,238,171,.19);
  border-radius:999px;color:#bff8df;background:rgba(27,184,115,.085);font-size:11px;font-weight:800;white-space:nowrap
}
.availability-pill span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#39dd97;box-shadow:0 0 0 5px rgba(57,221,151,.10);
  animation:availabilityPulse 2s infinite
}
@keyframes availabilityPulse{
  0%,100%{box-shadow:0 0 0 5px rgba(57,221,151,.10)}
  50%{box-shadow:0 0 0 9px rgba(57,221,151,0)}
}


.nav-actions{display:flex;align-items:center;gap:15px}
.nav-phone{padding-left:18px}
.header-cta{
  min-height:47px;padding:0 18px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;background:linear-gradient(135deg,#1797ff,#076ae5);
  box-shadow:0 12px 28px rgba(0,117,255,.26),inset 0 1px 0 rgba(255,255,255,.24);transition:.25s ease
}
.header-cta:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(0,117,255,.36),inset 0 1px 0 rgba(255,255,255,.28)}
.header-cta span{font-size:18px;transition:transform .2s ease}
.header-cta:hover span{transform:translateX(3px)}
.brand-logo-footer{width:45px;height:45px;flex-basis:45px;border-radius:14px}
.brand-logo-footer::before{border-radius:13px}
@media(max-width:1250px){.availability-pill,.header-cta{display:none}}
@media(max-width:1100px){.nav-actions{display:none}}
@media(max-width:520px){
  .brand-logo{width:52px;height:52px;flex-basis:52px;border-radius:16px}
  .brand-logo::before{border-radius:15px}
  .brand strong{font-size:18px}
}


.partenaires-section {padding:60px 0}
.partenaires-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}
.partenaires-grid article {
    background: #fff;
    border-radius: 18px;
    padding: 1.8rem;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
    transition: all .3s ease;
}
.partenaires-grid article:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.10);
}
.card-img {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.card-img img {
    max-width: 100%;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
}
@media (max-width: 992px) {
    .review-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    .review-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    .review-grid {
        grid-template-columns: 1fr;
    }
}





.projects-hero{
  padding:185px 0 115px;
  color:#fff;background:linear-gradient(90deg,rgba(4,13,23,.96),rgba(4,13,23,.65)),url("images/realisations/hero.png") center/cover
}
.projects-hero h1{
  margin:0;font-size:clamp(58px,7vw,104px);
  line-height:.95;letter-spacing:-.065em
}
.projects-hero h1 span{color:var(--blue)}
.projects-hero p:last-child{max-width:700px;color:#d7dfe8;font-size:18px;line-height:1.7}

.projects-section{padding:95px 0}
.projects-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:42px}
.projects-heading h2,.projects-cta h2{margin:0;font-size:clamp(38px,4vw,62px);line-height:1.08;letter-spacing:-.05em}
.projects-heading>p{color:var(--muted);font-size:17px;line-height:1.8}
.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.filter-button{padding:12px 18px;border:1px solid #dfe5eb;border-radius:999px;background:#fff;font:inherit;font-weight:800;cursor:pointer}
.filter-button.active,.filter-button:hover{color:#fff;border-color:var(--blue);background:linear-gradient(135deg,#1797ff,#076ae5)}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.project-card{height:350px;position:relative;border-radius:20px;overflow:hidden;background:#0b1826;box-shadow:0 20px 50px rgba(15,34,54,.12)}
.project-card img{width:100%;height:100%;object-fit:cover;transition:.5s}.project-card:hover img{transform:scale(1.055)}.project-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(3,10,18,.92))}

.project-content{position:absolute;inset:auto 0 0;padding:25px;color:#fff}
.project-content h3{margin:15px 0 5px;font-size:22px}
.project-content p{margin:0px;color:#c6d0da;font-size:13px}
.project-tag{display:inline-flex;padding:8px 11px;border-radius:999px;font-size:10px;font-weight:800}

.project-card .carousel,
.project-card .carousel-inner,
.project-card .carousel-item {
    height: 100%;
}

.project-card .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.blue-tag{background:rgba(22,135,255,.3)}
.red-tag{background:rgba(184, 16, 16, 0.3)}
.orange-tag{background:rgba(244,122,18,.3)}
.purple-tag{background:rgba(117,64,216,.3)}
.project-card.is-hidden{display:none}
.projects-cta{padding:0 0 100px}
.projects-cta-card{padding: 55px !important;border-radius:28px;display:flex;align-items:center;justify-content:space-between;gap:45px;color:#fff;background:#091827}
.projects-cta-card p:last-child{color:#b7c4d1}@media(max-width:900px){.projects-heading{grid-template-columns:1fr;gap:20px}.projects-grid{grid-template-columns:repeat(2,1fr)}
.projects-cta-card{flex-direction:column;align-items:flex-start}}
@media(max-width:620px){.projects-grid{grid-template-columns:1fr}.projects-hero{padding:145px 0 85px}.projects-cta-card{padding:34px 23px}}


.blog-hero{min-height:520px;padding:185px 0 115px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(4,13,23,.97),rgba(4,13,23,.72))}.blog-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 35%,rgba(22,135,255,.25),transparent 30%)}.blog-hero-content{position:relative;z-index:2;max-width:850px}.eyebrow,.section-label{margin:0 0 20px;color:#48aaff;font-size:13px;font-weight:800;letter-spacing:.2em}.blog-hero h1{margin:0;font-size:clamp(58px,7vw,104px);line-height:.96;letter-spacing:-.065em}.blog-hero h1 span{color:var(--blue)}.blog-hero-content>p:last-child{max-width:720px;margin:28px 0 0;color:#d7dfe8;font-size:18px;line-height:1.75}
.blog-section{padding:95px 0 105px}.blog-heading{margin-bottom:44px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}.blog-heading h2{margin:0;font-size:clamp(40px,4vw,62px);line-height:1.08;letter-spacing:-.05em}.blog-heading>p{margin:0;color:var(--muted);font-size:17px;line-height:1.8}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.article-card{min-width:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface);box-shadow:0 18px 45px rgba(20,36,56,.08);transition:transform .28s ease,box-shadow .28s ease}.article-card:hover{transform:translateY(-8px);box-shadow:0 28px 65px rgba(20,36,56,.14)}.article-image{height:235px;position:relative;overflow:hidden;display:block;background:#dfe8f1}.article-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,13,23,.02),rgba(4,13,23,.23))}.article-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.article-card:hover .article-image img{transform:scale(1.055)}.article-category{position:absolute;left:18px;bottom:17px;z-index:2;padding:8px 11px;border:1px solid rgba(255,255,255,.26);border-radius:999px;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;backdrop-filter:blur(10px)}.category-blue{background:rgba(22,135,255,.78)}

.category-red{background:rgba(184, 16, 16, 0.8)}
.category-orange{background:rgba(244,122,18,.82)}
.category-yellow{background:rgba(245, 158, 11, 0.8)}
.category-light{background: rgba(203, 213, 225, 1)}
.category-purple{background:rgba(117,64,216,.82)}
.article-content{padding:25px 25px 27px}
.article-date{margin:0 0 11px;color:#8a949f;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}
.article-content h3{margin:0;color:var(--ink);font-size:21px;line-height:1.35;letter-spacing:-.035em}
.article-content h3 a{transition:color .2s}.article-content h3 a:hover{color:var(--blue)}
.article-excerpt{min-height:92px;margin:15px 0 21px;color:#5d6874;font-size:14px;line-height:1.75}
.article-link{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-size:13px;font-weight:800}
.article-link span{font-size:20px;transition:transform .2s}.article-link:hover span{transform:translateX(5px)}

.pagination{margin-top:52px;display:flex;align-items:center;justify-content:center;gap:9px}.page-number,.page-arrow{width:43px;height:43px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:#5f6974;background:#fff;font-size:13px;font-weight:800;transition:.2s}.page-number:hover,.page-arrow:hover,.page-number.active{color:#fff;border-color:var(--blue);background:linear-gradient(135deg,#1797ff,#076ae5);box-shadow:0 10px 24px rgba(0,117,255,.2)}
.blog-cta{padding:0 0 100px}
.blog-cta-card{padding:55px;border-radius:28px;display:flex;align-items:center;justify-content:space-between;gap:45px;color:#fff;background:radial-gradient(circle at 10% 20%,rgba(23,151,255,.27),transparent 34%),#091827}.blog-cta-card h2{max-width:800px;margin:0;font-size:clamp(35px,4vw,58px);line-height:1.08;letter-spacing:-.05em}.blog-cta-card p:last-child{color:#b7c4d1}.cta-actions{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:13px}.button{min-height:58px;padding:0 26px;border:0;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:800;text-transform:uppercase;transition:transform .25s}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(135deg,#1594ff,#0872ee);box-shadow:0 16px 38px rgba(0,117,255,.28)}.button-outline{border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.04)}

@media(max-width:1180px){
  .nav-phone{display:none}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:950px){
  .desktop-nav{display:none}.nav-actions{margin-left:auto}
  .blog-heading{grid-template-columns:1fr;gap:22px}
  .blog-cta-card{align-items:flex-start;flex-direction:column}
}
@media(max-width:680px){
  .container,.blog-hero{min-height:450px;padding:150px 0 85px}
  .blog-hero h1{font-size:clamp(52px,15vw,74px)}
  .blog-hero-content>p:last-child{font-size:16px}
  .blog-section{padding:75px 0}
  .blog-grid{grid-template-columns:1fr}
  .article-image{height:240px}
  .article-excerpt{min-height:0}
  .blog-cta-card{padding:35px 24px}
  .cta-actions,.button{width:100%}
  .footer-content{flex-direction:column;align-items:flex-start}
}

@media(max-width:460px){
  .brand-logo{width:52px;height:52px;flex-basis:52px}.article-content{padding:22px}}




.form-check-box {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}
.form-check-box-input {
    appearance: none;
    -webkit-appearance: none;
    transform: scale(0.6);
    width: 14px !important;
    height: 14px !important;
    border: 2px solid #0d6efd;
    border-radius: 4px;
    cursor: pointer;
    position: relative;
    transition: all 0.2s ease;
}
.form-check-box-input:checked {
    background-color: #0d6efd;
}
.form-check-box-input:checked::after {
    content: "✔";
    color: white;
    font-size: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.form-check-box-label {
    font-size: 14px;
    color: #8a949f;
    cursor: pointer;
}




/* ==========================
   FOOTER PROFESSIONNEL
========================== */

.site-footer {
    position: relative;
    padding: 75px 0 0;
    overflow: hidden;
    color: #aebbc8;
    background:
        radial-gradient(
            circle at 12% 10%,
            rgba(22, 135, 255, .14),
            transparent 28%
        ),
        linear-gradient(180deg, #07131f 0%, #040b12 100%);
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.site-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 180px;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--blue),
        rgba(22, 135, 255, 0)
    );
}

.footer-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.25fr .75fr 1fr 1fr;
    gap: 65px;
    padding-bottom: 55px;
}

.footer-company {
    max-width: 330px;
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 23px;
}

.brand-logo-footer {
    width: 68px;
    height: 68px;
    flex: 0 0 68px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .08);
    box-shadow:
        0 18px 40px rgba(0, 119, 255, .2),
        inset 0 1px 0 rgba(255, 255, 255, .1);
}

.brand-logo-footer img {
    width: 75%;
    height: 75%;
    object-fit: contain;
}

.footer-brand-text strong {
    display: block;
    color: #fff;
    font-size: 22px;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.footer-brand-text small {
    display: block;
    margin-top: 4px;
    color: #91a2b4;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.footer-brand-text .small-name {
    color: #48aaff;
    font-size: 9px;
}

.footer-description {
    margin: 0 0 23px;
    color: #95a4b3;
    font-size: 14px;
    line-height: 1.8;
}

.footer-address {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    color: #bec8d2;
    font-size: 13px;
    line-height: 1.7;
    font-style: normal;
}

.footer-address i {
    margin-top: 4px;
    color: var(--blue);
    font-size: 17px;
}

.footer-column h3 {
    position: relative;
    margin: 5px 0 27px;
    padding-bottom: 14px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.footer-column h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 38px;
    height: 2px;
    border-radius: 20px;
    background: linear-gradient(90deg, var(--blue), #48aaff);
}

.footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

.footer-links a {
    position: relative;
    color: #aebbc8;
    font-size: 14px;
    line-height: 1.4;
    transition:
        color .22s ease,
        transform .22s ease;
}

.footer-links a::before {
    content: "›";
    position: absolute;
    left: -14px;
    color: var(--blue);
    opacity: 0;
    transition: .22s ease;
}

.footer-links a:hover {
    color: #fff;
    transform: translateX(8px);
}

.footer-links a:hover::before {
    opacity: 1;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.contact-item {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 20px;
    color: #c2ccd6;
    font-size: 13px;
    line-height: 1.65;
    transition: color .22s ease;
}

.contact-item i {
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #48aaff;
    background: rgba(22, 135, 255, .11);
    border: 1px solid rgba(22, 135, 255, .18);
}

.contact-item strong {
    display: block;
    margin-bottom: 2px;
    color: #fff;
    font-size: 12px;
}

a.contact-item:hover {
    color: #fff;
}

a.contact-item:hover i {
    background: rgba(22, 135, 255, .2);
}

.footer-bottom {
    position: relative;
    z-index: 2;
    min-height: 75px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.footer-bottom p {
    margin: 0;
    color: #7f8e9e;
    font-size: 12px;
}

.footer-bottom #year {
    color: #b9c5d1;
    font-weight: 700;
}

.footer-legal {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

.footer-legal a {
    color: #7f8e9e;
    font-size: 12px;
    transition: color .2s ease;
}

.footer-legal a:hover {
    color: #fff;
}

/* TABLET */

@media (max-width: 1050px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 50px 70px;
    }

    .footer-company {
        max-width: 100%;
    }
}

/* MOBILE */

@media (max-width: 650px) {
    .site-footer {
        padding-top: 55px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 42px;
        padding-bottom: 42px;
    }

    .footer-company {
        text-align: left;
    }

    .footer-bottom {
        min-height: auto;
        padding: 25px 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .footer-legal {
        gap: 12px 22px;
    }
}





/* CGV */

.cgv-page{--cgv-ink:#172027;--cgv-muted:#657079;--cgv-paper:#fff;--cgv-soft:#f4f3ef;--cgv-line:#ddd9ce;--cgv-gold:#b8954b;--cgv-gold-dark:#80652f;--cgv-night:#11191f;--cgv-night-2:#1b272e;background:var(--cgv-soft);color:var(--cgv-ink)}
.cgv-page *,.cgv-page *::before,.cgv-page *::after{box-sizing:border-box}
.cgv-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(184,149,75,.18),transparent 30rem),linear-gradient(135deg,var(--cgv-night),var(--cgv-night-2));color:#fff;padding:clamp(5rem,10vw,8rem) 0 clamp(4rem,8vw,6.5rem);border-bottom:1px solid rgba(184,149,75,.45)}
.cgv-hero::before,.cgv-hero::after{content:"";position:absolute;pointer-events:none}.cgv-hero::before{inset:1.25rem;border:1px solid rgba(255,255,255,.07)}.cgv-hero::after{width:13rem;height:2px;left:50%;bottom:2rem;transform:translateX(-50%);background:var(--cgv-gold)}
.cgv-hero__inner{position:relative;z-index:1;text-align:center;max-width:920px}.cgv-hero .section-label,.cgv-index .section-label,.cgv-company .section-label,.cgv-withdrawal .section-label{color:var(--cgv-gold);letter-spacing:.16em;text-transform:uppercase}
.cgv-hero h1{max-width:850px;margin:.65rem auto 1.25rem;font-size:clamp(2.5rem,7vw,5.6rem);line-height:.98;letter-spacing:-.045em}.cgv-hero__lead{max-width:730px;margin:0 auto;color:rgba(255,255,255,.76);font-size:clamp(1rem,2vw,1.2rem);line-height:1.75}
.cgv-hero__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.7rem;margin-top:2.3rem;color:rgba(255,255,255,.62);font-size:.88rem}.cgv-hero__meta span{position:relative}.cgv-hero__meta span:not(:last-child)::after{content:"•";position:absolute;right:-1.05rem;color:var(--cgv-gold)}
.cgv-reading{padding:clamp(3.5rem,7vw,6.5rem) 0}.cgv-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(2rem,5vw,5.5rem);align-items:start}.cgv-index{position:sticky;top:2rem}.cgv-index__box{background:var(--cgv-night);color:#fff;padding:2rem;border:1px solid rgba(184,149,75,.35);box-shadow:0 22px 55px rgba(19,25,29,.12)}
.cgv-index h2{margin:.35rem 0 1.3rem;font-size:1.55rem}.cgv-index ol{margin:0;padding-left:1.25rem}.cgv-index li{margin:.46rem 0;color:rgba(255,255,255,.48);font-size:.82rem}.cgv-index a{color:rgba(255,255,255,.78);text-decoration:none;transition:color 160ms ease}.cgv-index a:hover,.cgv-index a:focus-visible{color:var(--cgv-gold)}
.cgv-content{min-width:0}.cgv-company{display:flex;justify-content:space-between;gap:2rem;align-items:end;padding:clamp(1.6rem,4vw,2.5rem);margin-bottom:1.5rem;background:var(--cgv-paper);border-top:3px solid var(--cgv-gold);box-shadow:0 16px 40px rgba(22,29,33,.07)}.cgv-company h2{margin:.35rem 0 0;font-size:clamp(1.6rem,3vw,2.35rem)}.cgv-company address{color:var(--cgv-muted);font-style:normal;line-height:1.75;text-align:right}
.cgv-notice{margin-bottom:1.5rem;padding:1.2rem 1.35rem;background:#fff9e9;border-left:4px solid var(--cgv-gold);color:#5f512d;line-height:1.65}.cgv-article{scroll-margin-top:2rem;margin-bottom:1.25rem;padding:clamp(1.5rem,4vw,2.45rem);background:var(--cgv-paper);border:1px solid var(--cgv-line);box-shadow:0 12px 34px rgba(22,29,33,.045)}.cgv-article--highlight{border-top:3px solid var(--cgv-gold)}
.cgv-article header{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:baseline;margin-bottom:1.15rem;padding-bottom:1rem;border-bottom:1px solid var(--cgv-line)}.cgv-article__number{color:var(--cgv-gold-dark);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cgv-article h2{margin:0;font-size:clamp(1.35rem,3vw,2rem);letter-spacing:-.02em}.cgv-article p,.cgv-article li,.cgv-withdrawal p{color:#3f4a51;line-height:1.78}.cgv-article p{margin:.85rem 0}.cgv-article ul{padding-left:1.25rem}.cgv-article li{margin:.45rem 0}
.cgv-payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.3rem 0 1.5rem}.cgv-payment-grid div{padding:1.25rem;background:var(--cgv-soft);border-bottom:2px solid var(--cgv-gold);text-align:center}.cgv-payment-grid strong,.cgv-payment-grid span{display:block}.cgv-payment-grid strong{color:var(--cgv-gold-dark);font-size:1.75rem;line-height:1}.cgv-payment-grid span{margin-top:.55rem;color:var(--cgv-muted);font-size:.82rem;line-height:1.4}
.cgv-withdrawal{scroll-margin-top:2rem;margin-top:2rem;padding:clamp(1.6rem,4vw,2.6rem);background:#fbfaf7;border:2px solid var(--cgv-gold)}.cgv-withdrawal h2{margin:.35rem 0 1rem;font-size:clamp(1.65rem,3vw,2.35rem)}.cgv-form{margin-top:1.5rem;padding:clamp(1.25rem,3vw,2rem);background:#fff;border:1px solid var(--cgv-line)}.cgv-form__line{min-height:3rem;padding-bottom:.5rem;border-bottom:1px dotted #a7a39a}
.cgv-end{display:grid;gap:.3rem;justify-items:center;margin-top:2rem;padding:2.25rem 1rem;background:var(--cgv-night);color:rgba(255,255,255,.72);text-align:center}.cgv-end strong{color:#fff;font-size:1.2rem}.cgv-print-cover,.cgv-print-footer{display:none}
@media(max-width:980px){.cgv-layout{grid-template-columns:1fr}.cgv-index{position:static}.cgv-index ol{columns:2;column-gap:2rem}}@media(max-width:640px){.cgv-hero__meta{display:grid}.cgv-hero__meta span::after{display:none}.cgv-index ol{columns:1}.cgv-company{display:grid;align-items:start}.cgv-company address{text-align:left}.cgv-payment-grid{grid-template-columns:1fr}.cgv-article header{grid-template-columns:1fr;gap:.35rem}}
@media print{
 @page{size:A4;margin:18mm 16mm 20mm}html,body{background:#fff!important}body{color:#000!important;font-family:Georgia,"Times New Roman",serif;font-size:10.5pt;line-height:1.48}.cgv-page{display:block;background:#fff!important;color:#000!important}.cgv-hero,.cgv-index,.cgv-notice,.cgv-end{display:none!important}.cgv-reading{padding:0!important}.cgv-layout,.cgv-content{display:block!important;width:100%!important;max-width:none!important}
 .container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
 .cgv-print-cover{display:flex;min-height:245mm;padding:22mm 10mm;flex-direction:column;align-items:center;justify-content:center;text-align:center;page-break-after:always;break-after:page}.cgv-print-cover__brand{font-size:23pt;font-weight:700;letter-spacing:.045em}.cgv-print-cover p{margin:5mm 0;color:#333;line-height:1.7}.cgv-print-cover__rule{width:62mm;height:1px;margin:13mm 0;background:#80652f}.cgv-print-cover h1{max-width:150mm;margin:0;font-size:30pt;line-height:1.1}.cgv-print-cover__details{margin-top:22mm;line-height:1.8}
 .cgv-company{display:flex!important;margin:0 0 8mm!important;padding:0 0 6mm!important;border:0!important;border-bottom:1.5pt solid #000!important;box-shadow:none!important}.cgv-company .section-label{display:none}.cgv-company h2{font-size:16pt}.cgv-company address{color:#000!important;font-size:9pt}.cgv-article{margin:0 0 7mm!important;padding:0!important;background:#fff!important;border:0!important;box-shadow:none!important;break-inside:auto;page-break-inside:auto}.cgv-article header{display:block;margin:0 0 3mm;padding:0 0 2.5mm;border-bottom:.5pt solid #777;break-after:avoid;page-break-after:avoid}.cgv-article__number{display:block;color:#000!important;font-size:8pt}.cgv-article h2{margin-top:1mm;color:#000!important;font-size:14pt}.cgv-article p,.cgv-article li,.cgv-withdrawal p{color:#000!important;orphans:3;widows:3}.cgv-article p{margin:2.5mm 0}
 .cgv-payment-grid{grid-template-columns:repeat(3,1fr);gap:3mm;margin:4mm 0}.cgv-payment-grid div{padding:3mm;border:.5pt solid #777;background:#fff!important}.cgv-payment-grid strong{color:#000!important;font-size:15pt}.cgv-withdrawal{margin:0!important;padding:0!important;border:0!important;background:#fff!important;page-break-before:always;break-before:page}.cgv-withdrawal .section-label{color:#000!important}.cgv-form{padding:6mm!important;border:.75pt solid #000!important}
 .cgv-print-footer{display:block;position:fixed;left:0;right:0;bottom:-12mm;padding-top:2mm;border-top:.5pt solid #777;color:#444;font-family:Arial,sans-serif;font-size:7.5pt}.cgv-print-footer__page{float:right}.cgv-print-footer__page::after{content:"Page " counter(page)}a,a:visited{color:#000!important;text-decoration:none!important}a[href]::after{content:none!important}h1,h2,h3{break-after:avoid;page-break-after:avoid}.cgv-payment-grid,.cgv-form{break-inside:avoid;page-break-inside:avoid}
}
