*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--dark:#0A0E1A;--dark2:#111827;--dark3:#1C2333;--teal:#00C8CC;--teal2:#00E5E9;--white:#F0F4FF;--gray:#8892A4;--card:#141B2D;--gold:#D4A853}
html{scroll-behavior:smooth}
body{background:var(--dark);color:var(--white);font-family:'Inter',sans-serif;overflow-x:hidden;line-height:1.6}
nav{position:fixed;top:0;width:100%;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:10px 5%;background:rgba(10,14,26,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,200,204,.1)}
.logo img{height:36px}
.nav-links{display:flex;gap:20px;list-style:none;align-items:center}
.nav-links a{white-space:nowrap;color:var(--gray);text-decoration:none;font-size:.84rem;letter-spacing:.05em;text-transform:uppercase;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--teal)}
.nav-cta{background:var(--teal);color:var(--dark)!important;padding:9px 20px;border-radius:4px;font-weight:600;transition:all .2s}
.nav-cta:hover{background:var(--teal2)}
.burger{display:none;background:none;border:none;color:var(--white);font-size:1.6rem;cursor:pointer}
.hero{min-height:90vh;display:flex;align-items:center;padding:180px 5% 70px;position:relative;overflow:hidden}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,200,204,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,200,204,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%)}
.hero-content{position:relative;max-width:820px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--teal);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--teal)}
h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,7vw,5.8rem);line-height:.96;letter-spacing:.02em;margin-bottom:24px}
h1 span{color:var(--teal)}
.hero-sub{font-size:1.08rem;color:var(--gray);max-width:580px;margin-bottom:36px}
.btns{display:flex;gap:14px;flex-wrap:wrap}
.btn{padding:13px 28px;border-radius:4px;text-decoration:none;font-size:.94rem;font-weight:600;transition:all .2s;display:inline-block}
.btn-p{background:var(--teal);color:var(--dark)}
.btn-p:hover{background:var(--teal2);transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,200,204,.3)}
.btn-o{border:1px solid rgba(0,200,204,.4);color:var(--teal)}
.btn-o:hover{border-color:var(--teal);background:rgba(0,200,204,.08)}
.stats{display:flex;gap:44px;margin-top:52px;padding-top:36px;border-top:1px solid rgba(255,255,255,.08)}
.stat-n{font-family:'Bebas Neue',sans-serif;font-size:2.6rem;color:var(--teal);line-height:1}
.stat-l{font-size:.76rem;color:var(--gray);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
section{padding:90px 5%}
.slabel{display:flex;align-items:center;gap:12px;color:var(--teal);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
.slabel::after{content:'';flex:1;height:1px;background:rgba(0,200,204,.22)}
h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.9rem,3.8vw,3.2rem);letter-spacing:.03em;margin-bottom:42px}
h3{font-size:1rem;font-weight:600;margin-bottom:8px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
.gcard{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:34px 28px;transition:all .25s}
.gcard:hover{border-color:rgba(0,200,204,.3);transform:translateY(-4px)}
.gicon{width:42px;height:42px;color:var(--teal);margin-bottom:18px}
.gcard p{font-size:.87rem;color:var(--gray)}
/* Deux pôles */
.poles{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pole{position:relative;border-radius:12px;overflow:hidden;min-height:380px;display:flex;align-items:flex-end;text-decoration:none;border:1px solid rgba(255,255,255,.08);transition:all .3s}
.pole:hover{transform:translateY(-6px);border-color:rgba(0,200,204,.4)}
.pole img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.pole:hover img{transform:scale(1.04)}
.pole::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,14,26,.94) 100%)}
.pole-body{position:relative;z-index:2;padding:32px;color:var(--white)}
.pole-body h3{font-family:'Bebas Neue',sans-serif;font-size:1.9rem;letter-spacing:.03em;margin-bottom:8px}
.pole-body p{color:#c6cede;font-size:.9rem;max-width:420px}
.pole-tag{display:inline-block;background:rgba(0,200,204,.18);border:1px solid rgba(0,200,204,.45);color:var(--teal2);padding:4px 13px;border-radius:20px;font-size:.74rem;margin-bottom:12px}
.pole.gold .pole-tag{background:rgba(212,168,83,.18);border-color:rgba(212,168,83,.5);color:var(--gold)}
/* Portfolio */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:20px}
.pcard{background:var(--card);border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.06);transition:all .25s;color:var(--white)}
.pcard:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.pimg{aspect-ratio:16/9;overflow:hidden}
.pimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.pcard:hover .pimg img{transform:scale(1.05)}
.pbody{padding:20px}
.pbody p{font-size:.82rem;color:var(--gray);margin-top:6px}
.ptag{display:inline-block;background:rgba(0,200,204,.12);border:1px solid rgba(0,200,204,.3);color:var(--teal);padding:3px 11px;border-radius:20px;font-size:.72rem;margin-top:12px;margin-right:6px}
.ptag.gold{background:rgba(212,168,83,.12);border-color:rgba(212,168,83,.4);color:var(--gold)}
.more-note{background:var(--card);border:1px dashed rgba(0,200,204,.3);border-radius:8px;padding:26px;text-align:center;color:var(--gray);font-size:.9rem;margin-top:24px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.split p{color:var(--gray);margin-bottom:15px}
.split strong{color:var(--white)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.tag{background:rgba(0,200,204,.1);border:1px solid rgba(0,200,204,.25);color:var(--teal);padding:5px 13px;border-radius:20px;font-size:.77rem}
.checkcard{background:var(--dark2);border:1px solid rgba(0,200,204,.15);border-radius:12px;padding:32px}
.citem{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.citem:last-child{border-bottom:none}
.cdot{width:20px;height:20px;min-width:20px;background:rgba(0,200,204,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px;color:var(--teal);font-size:.7rem}
.citem p{font-size:.84rem;color:var(--gray);margin:2px 0 0}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;counter-reset:step}
.step{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:28px 24px;position:relative}
.step::before{counter-increment:step;content:"0" counter(step);font-family:'Bebas Neue',sans-serif;font-size:2.4rem;color:rgba(0,200,204,.25);display:block;margin-bottom:12px}
.step p{font-size:.85rem;color:var(--gray)}
.clinks{display:flex;flex-direction:column;gap:13px;margin-top:26px}
.clink{display:flex;align-items:center;gap:12px;color:var(--white);text-decoration:none;font-size:.94rem;transition:color .2s}
.clink:hover{color:var(--teal)}
.clink svg{width:18px;height:18px;color:var(--teal);min-width:18px}
.form{background:var(--dark3);border:1px solid rgba(0,200,204,.1);border-radius:12px;padding:36px}
.fg{margin-bottom:16px}
.fg label{display:block;font-size:.78rem;color:var(--gray);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.fg input,.fg textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--white);padding:12px 15px;border-radius:6px;font-family:'Inter',sans-serif;font-size:.9rem}
.fg input:focus,.fg textarea:focus{outline:none;border-color:var(--teal)}
.fg textarea{height:110px;resize:vertical}
.fsubmit{width:100%;background:var(--teal);color:var(--dark);border:none;padding:14px;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s}
.fsubmit:hover{background:var(--teal2)}
.faq{max-width:820px}
.faq details{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:20px 24px;margin-bottom:12px}
.faq summary{cursor:pointer;font-weight:600;font-size:.95rem}
.faq details p{color:var(--gray);font-size:.88rem;margin-top:12px}
.ctaband{background:linear-gradient(135deg,var(--dark2),var(--dark3));border-top:1px solid rgba(0,200,204,.15);border-bottom:1px solid rgba(0,200,204,.15);text-align:center;padding:70px 5%}
.ctaband h2{margin-bottom:16px}
.ctaband p{color:var(--gray);margin-bottom:30px;max-width:520px;margin-left:auto;margin-right:auto}
footer{background:var(--dark);border-top:1px solid rgba(255,255,255,.06);padding:44px 5% 28px}
.frow{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:32px}
.frow img{height:30px;margin-bottom:14px}
.frow p{color:var(--gray);font-size:.83rem}
.frow h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--white);margin-bottom:14px}
.frow ul{list-style:none}
.frow li{margin-bottom:9px}
.frow a{color:var(--gray);text-decoration:none;font-size:.85rem;transition:color .2s}
.frow a:hover{color:var(--teal)}
.fbot{border-top:1px solid rgba(255,255,255,.06);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.fbot p{color:var(--gray);font-size:.78rem}
.bc{padding:155px 5% 0;font-size:.82rem;color:var(--gray)}
.bc a{color:var(--teal);text-decoration:none}
.phero{padding:40px 5% 60px}
.phero h1{font-size:clamp(2.4rem,5.5vw,4.4rem)}
.phero p{color:var(--gray);max-width:640px;font-size:1.04rem}
@media(max-width:820px){.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--dark2);flex-direction:column;padding:20px;gap:16px;border-bottom:1px solid rgba(0,200,204,.15)}.nav-links.open{display:flex}.burger{display:block}.split,.poles{grid-template-columns:1fr;gap:24px}.frow{grid-template-columns:1fr}.stats{flex-wrap:wrap;gap:22px}}


/* ── Identité de marque ── */
.logo{display:flex;align-items:center;gap:18px;text-decoration:none;flex-shrink:0}
.logo img{height:86px;width:auto;display:block;image-rendering:-webkit-optimize-contrast}
.logo-sep{width:1px;height:44px;background:rgba(0,200,204,.35)}
.logo-tag{display:flex;flex-direction:column;line-height:1.25}
.logo-tag b{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--white)}
.logo-tag span{font-size:.7rem;letter-spacing:.1em;color:var(--gray)}
@media(max-width:900px){.logo-sep,.logo-tag{display:none}.logo img{height:62px}}
/* Logo pied de page */
.foot-brand img{height:120px;width:auto;margin-bottom:16px}
.foot-brand .foot-url{display:inline-block;font-size:.82rem;color:var(--teal);text-decoration:none;letter-spacing:.06em;margin-bottom:14px}
.foot-brand .foot-url:hover{color:var(--teal2)}

/* Pages légales */
.legal{max-width:820px}
.legal h2{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.03em;margin:38px 0 14px;color:var(--white)}
.legal h2:first-child{margin-top:0}
.legal h3{font-size:.98rem;margin:22px 0 8px}
.legal p,.legal li{color:var(--gray);font-size:.92rem}
.legal p{margin-bottom:12px}
.legal ul{margin:0 0 14px 20px}
.legal li{margin-bottom:7px}
.legal a{color:var(--teal);text-decoration:none}
.legal a:hover{text-decoration:underline}
.legal .maj{font-size:.8rem;color:var(--gray);font-style:italic;margin-bottom:26px}
.legal table{width:100%;border-collapse:collapse;margin:10px 0 20px;font-size:.86rem}
.legal th,.legal td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);color:var(--gray)}
.legal th{color:var(--white);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}

/* Logo hero */
.hero-logo{display:block;width:min(420px,72vw);height:auto;margin-bottom:30px;opacity:.97}
@media(max-width:600px){.hero-logo{width:min(300px,80vw)}}

/* Accueil : un seul logo visible a la fois */
.home nav .logo img,
.home nav .logo-sep{
  opacity:0;
  max-width:0;
  margin-right:-18px;
  transform:translateY(-6px);
  transition:opacity .25s ease, max-width .35s ease, transform .25s ease, margin .35s ease;
  pointer-events:none;
}
.home nav.scrolled .logo img{
  opacity:1; max-width:280px; margin-right:0; transform:none; pointer-events:auto;
}
.home nav.scrolled .logo-sep{
  opacity:1; max-width:1px; margin-right:0; transform:none;
}

@media(min-width:821px) and (max-width:1400px){.logo-tag{display:none}.logo-sep{display:none}}
