html,body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}

/* Layout : verre liquide corporate. Trois halos de lumière aux couleurs de la charte flottent derrière la page ; chaque bloc est une plaque de verre dépoli (flou + reflet en haut), posée sur une grille 12 colonnes qui passe à 1 sur téléphone. */
:root{
  --bg:#eef3fb;
  --ink:#0d1a30;
  --muted:#4b5b74;
  --blue:#0b3d91;
  --orange:#ea5b0c;
  --cyan:#009cde;
  --glass:rgba(255,255,255,.55);
  --glass-strong:rgba(255,255,255,.72);
  --glass-border:rgba(255,255,255,.85);
  --glass-edge:rgba(13,26,48,.08);
  --hi:rgba(255,255,255,.95);
  --shadow:0 10px 40px rgba(11,61,145,.14);
  --blob-a:rgba(11,61,145,.55);
  --blob-b:rgba(20,179,214,.5);
  --blob-c:rgba(240,125,22,.42);
  --field:rgba(255,255,255,.6);
  --lead-glass:rgba(11,61,145,.82);
  --on-lead:#ffffff;
  --on-lead-muted:#cfdcf5;
  --display:"Century Gothic", CenturyGothic, AppleGothic, "Questrial", Arial, sans-serif;
  --body:"Century Gothic", CenturyGothic, AppleGothic, "Questrial", Arial, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  --wrap:72rem;
  --r:22px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.6;position:relative;overflow-x:hidden}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:max(1rem,4vw)}
h1,h2,h3{font-family:var(--display);line-height:1.1;text-wrap:balance;margin:0;font-weight:700}
h2{font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.01em}
h3{font-size:1.15rem}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:6px}
.eyebrow{font-family:var(--mono);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* halos de fond */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.bg i{position:absolute;border-radius:50%;filter:blur(70px)}
.bg i:nth-child(1){width:46vw;height:46vw;min-width:320px;min-height:320px;background:var(--blob-a);top:-12%;left:-10%;animation:drift 26s ease-in-out infinite alternate}
.bg i:nth-child(2){width:38vw;height:38vw;min-width:260px;min-height:260px;background:var(--blob-b);top:30%;right:-12%;animation:drift 32s ease-in-out infinite alternate-reverse}
.bg i:nth-child(3){width:30vw;height:30vw;min-width:220px;min-height:220px;background:var(--blob-c);bottom:-10%;left:25%;animation:drift 38s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(6vw,4vh) scale(1.08)}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* plaque de verre commune */
.glass,.nav .wrap,.hero-card,.domain,.steps li,.panel,form,.foot{
  background:var(--glass);
  -webkit-backdrop-filter:blur(22px) saturate(170%);
  backdrop-filter:blur(22px) saturate(170%);
  border:1px solid var(--glass-border);
  box-shadow:inset 0 1px 0 var(--hi), inset 0 -1px 0 var(--glass-edge), var(--shadow);
  border-radius:var(--r);
  position:relative;
}
.hero-card::before,.domain::before,.panel::before,form::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(155deg,var(--hi) 0%,transparent 28%);opacity:.35;
}

/* navigation flottante */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;padding-top:.8rem}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.6rem;border-radius:999px;max-width:calc(var(--wrap) - 2rem);background:var(--glass-strong)}
.logo{font-family:var(--display);font-weight:700;font-size:1.1rem;letter-spacing:.04em;text-decoration:none;white-space:nowrap;color:var(--blue)}
.logo span{color:var(--orange)}
.nav ul{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.3rem;list-style:none;margin:0;padding:0;font-size:.93rem}
.nav ul a{text-decoration:none;color:var(--muted)}
.nav ul a:hover{color:var(--ink)}
.nav .cta-mini{background:linear-gradient(180deg,#f5843a,var(--orange));color:#1a0e02;padding:.42rem 1rem;border-radius:999px;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 4px 14px rgba(240,125,22,.35)}


/* ouverture */
.hero{padding-block:2.5rem 1rem}
.hero .wrap{display:block}
.hero-card{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:center;padding:clamp(1.5rem,4vw,3.5rem)}
.hero h1{font-size:clamp(2rem,4.6vw,3.4rem);letter-spacing:-.01em;color:var(--ink)}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--orange),#ffb15c);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{margin-top:1.2rem;max-width:34rem;font-size:1.1rem;color:var(--muted)}
.hero .eyebrow{color:var(--blue);margin-bottom:1rem}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.btn{display:inline-block;font-family:var(--body);font-weight:700;font-size:1rem;padding:.8rem 1.5rem;border-radius:999px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-orange{background:linear-gradient(180deg,#f5843a,var(--orange));color:#1a0e02;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 20px rgba(240,125,22,.35)}
.btn-ghost{background:var(--glass-strong);border-color:var(--glass-border);color:var(--ink);box-shadow:inset 0 1px 0 var(--hi)}
.btn-blue{background:linear-gradient(180deg,#2a63c8,#0b3d91);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 20px rgba(11,61,145,.3)}
.hero-strip{display:none}

/* échantillon imprimé */
.proof{position:relative;justify-self:center;width:min(100%,19rem);aspect-ratio:210/297;max-width:100%}
.proof .sheet{position:absolute;inset:1.5rem;background:#fff;color:#0f1b2d;padding:1.2rem;display:flex;flex-direction:column;gap:.6rem;border-radius:6px;box-shadow:0 24px 50px rgba(11,61,145,.28);transform:rotate(-3deg)}
.proof .sheet .t{font-family:var(--display);font-weight:700;font-size:1.05rem;color:#0b3d91}
.proof .sheet .t span{color:#ea5b0c}
.proof .sheet .rule{height:3px;background:#ea5b0c;width:45%}
.proof .sheet .bar{height:.45rem;background:#e3e9f2;border-radius:2px}
.proof .sheet .bar.s{width:70%}
.proof .sheet .bar.xs{width:45%}
.proof .gamut{margin-top:auto;display:grid;grid-template-columns:repeat(6,1fr);height:1rem}
.proof .gamut i:nth-child(1){background:#00a3e0}.proof .gamut i:nth-child(2){background:#e6007e}
.proof .gamut i:nth-child(3){background:#ffed00}.proof .gamut i:nth-child(4){background:#1d1d1b}
.proof .gamut i:nth-child(5){background:#0b3d91}.proof .gamut i:nth-child(6){background:#ea5b0c}
.proof .spec{font-family:var(--mono);font-size:.62rem;color:#4a5a70;display:flex;justify-content:space-between}
.crop{position:absolute;width:1.1rem;height:1.1rem;border-color:var(--muted);border-style:solid;border-width:0;opacity:.6}
.crop.tl{top:0;left:0;border-right-width:1px;border-bottom-width:1px}
.crop.tr{top:0;right:0;border-left-width:1px;border-bottom-width:1px}
.crop.bl{bottom:0;left:0;border-right-width:1px;border-top-width:1px}
.crop.br{bottom:0;right:0;border-left-width:1px;border-top-width:1px}
.reg{position:absolute;top:50%;right:-.2rem;width:1.1rem;height:1.1rem;border:1px solid var(--muted);border-radius:50%;transform:translateY(-50%);opacity:.6}
.reg::before,.reg::after{content:"";position:absolute;background:var(--muted)}
.reg::before{left:50%;top:-.3rem;bottom:-.3rem;width:1px}
.reg::after{top:50%;left:-.3rem;right:-.3rem;height:1px}
@media (max-width:860px){.hero-card{grid-template-columns:1fr;gap:1.5rem}.proof{width:min(100%,14rem)}}

/* sections */
section{padding-block:3.5rem}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1rem 3rem;align-items:end;margin-bottom:2rem}
.sec-head p{color:var(--muted);max-width:38rem}
@media (max-width:760px){.sec-head{grid-template-columns:1fr}}
.rule-o{display:block;width:2.6rem;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--orange),var(--cyan));margin-bottom:1rem}

/* domaines */
.domains{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.domain{padding:1.75rem;display:flex;flex-direction:column;gap:.8rem;min-width:0;transition:transform .25s ease}
.domain:hover{transform:translateY(-3px)}
.domain .code{font-family:var(--mono);font-size:.74rem;color:var(--blue);letter-spacing:.1em}
.domain p{color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem;padding:0;list-style:none}
.tags li{font-size:.84rem;padding:.25rem .75rem;border-radius:999px;background:var(--field);border:1px solid var(--glass-border)}
.domain-lead{grid-column:1/-1;background:var(--lead-glass);color:var(--on-lead)}
.domain-lead p{color:var(--on-lead-muted);max-width:44rem}
.domain-lead .code{color:#ffb15c}
.domain-lead .tags li{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:var(--on-lead)}
@media (max-width:700px){.domains{grid-template-columns:1fr}}

/* méthode */
.alt{background:transparent}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}
.steps li::before{content:"Étape " counter(s);font-family:var(--mono);font-size:.72rem;color:var(--orange);letter-spacing:.1em;text-transform:uppercase}
.steps p{color:var(--muted);font-size:.96rem}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* clientèle + zones */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.split > div{background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--hi),var(--shadow);border-radius:var(--r);padding:1.75rem;min-width:0}
@media (max-width:760px){.split{grid-template-columns:1fr}}
.split.solo{grid-template-columns:1fr}
.solo .list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}
.solo .list li:nth-last-child(2){border-bottom:0}
@media (max-width:760px){.solo .list{grid-template-columns:1fr}.solo .list li:nth-last-child(2){border-bottom:1px solid var(--glass-border)}}
.list{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-direction:column}
.list li{padding:.85rem 0;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;gap:1rem}
.list li:last-child{border-bottom:0}
.list li span:last-child{color:var(--muted);text-align:right}
.city{font-family:var(--display);font-weight:700;font-size:1.45rem;color:var(--blue)}
.zones{display:grid;gap:1rem;margin-top:1.25rem}
.zone{border-left:3px solid var(--cyan);padding:.2rem 0 .2rem 1rem}
.zone p{color:var(--muted)}

/* contact & devis */
.contact{background:transparent}
.contact .eyebrow{color:var(--blue)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1.1rem}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}}
.coord{align-self:start;display:flex;flex-direction:column;gap:1.1rem;background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--hi),var(--shadow);border-radius:var(--r);padding:1.75rem;min-width:0}
.coord .k{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.coord .v{font-size:1.08rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;overflow-wrap:anywhere}
.copy{display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;background:var(--field);color:var(--blue);border:1px solid var(--glass-border);border-radius:50%;cursor:pointer;box-shadow:inset 0 1px 0 var(--hi);transition:transform .15s ease}
.copy:hover{transform:scale(1.08)}
.copy svg,#f-copy svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.copy svg{grid-area:1/1}
#f-copy{display:inline-flex;align-items:center;gap:.5rem}
.i-ok{display:none}
.is-ok .i-copy{display:none}
.is-ok .i-ok{display:inline}
.copy.is-ok{color:#1a9b5a;border-color:#1a9b5a}
form{padding:1.75rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0}
form .full{grid-column:1/-1}
@media (max-width:520px){form{grid-template-columns:1fr}form .full{grid-column:auto}}
label{display:flex;flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:700;position:relative}
input,select,textarea{font:inherit;font-weight:400;font-size:1rem;color:var(--ink);background:var(--field);border:1px solid var(--glass-border);border-radius:14px;padding:.7rem .85rem;width:100%;box-shadow:inset 0 1px 2px var(--glass-edge)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(20,179,214,.25)}
textarea{min-height:7rem;resize:vertical}
.out{grid-column:1/-1;background:var(--field);border:1px dashed var(--glass-border);border-radius:14px;padding:1rem;font-family:var(--mono);font-size:.84rem;white-space:pre-wrap;overflow-wrap:anywhere}
.out-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;font-size:.9rem;color:var(--muted);position:relative}

/* pied de page */
footer{padding-block:1rem 2.5rem;font-size:.9rem}
footer .wrap{display:block}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;padding:1.5rem 1.75rem}
footer .logo{color:var(--blue)}
.foot{align-items:center}
.foot-brand{display:flex;align-items:center;gap:.7rem;min-width:0}
.foot-brand .tagline{font-size:.74rem;color:var(--muted);margin-top:.15rem}
.copyright{color:var(--muted);font-size:.85rem}
.legal{font-family:var(--mono);font-size:.8rem;display:grid;grid-template-columns:auto auto;gap:.2rem 1rem;color:var(--muted)}

/* réalisations */
.works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.work{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0;background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--hi),var(--shadow);border-radius:var(--r);transition:transform .25s ease}
.work:hover{transform:translateY(-3px)}
.work.wide{grid-column:span 2}
.shot{position:relative;aspect-ratio:16/8;max-width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;color:#fff;overflow:hidden}
.shot::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 85% 0%,rgba(255,255,255,.35),transparent 55%);pointer-events:none}
.shot.s-blue{background:linear-gradient(135deg,#0b3d91,#009cde)}
.shot.s-orange{background:linear-gradient(135deg,#c94a06,#f5843a)}
.shot.s-mix{background:linear-gradient(135deg,#0b3d91 10%,#009cde 55%,#ea5b0c)}
.shot.s-cyan{background:linear-gradient(135deg,#00739f,#2fc0ea)}
.shot.s-deep{background:linear-gradient(135deg,#061f4d,#0b3d91)}
.fig{font-family:var(--display);font-weight:700;font-size:clamp(2rem,4vw,3rem);line-height:1;position:relative;z-index:1}
.fig small{display:block;font-size:.85rem;font-weight:400;margin-top:.35rem;opacity:.9}
.badge{position:relative;z-index:1;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .65rem;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);white-space:nowrap}
.work .body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}
.work .body p{color:var(--muted);font-size:.96rem}
.work .meta{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--blue);text-transform:uppercase}
@media (max-width:900px){.works{grid-template-columns:repeat(2,minmax(0,1fr))}.work.wide{grid-column:1/-1}}
@media (max-width:560px){.works{grid-template-columns:1fr}}

/* catalogue en images */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
.gcard{margin:0;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--hi),var(--shadow);border-radius:var(--r)}
.gcard .ph{aspect-ratio:1/1;max-width:100%;overflow:hidden;background:#dfe7f2}
.gcard img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.gcard:hover img{transform:scale(1.05)}
.gcard figcaption{padding:1rem 1.2rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}
.gcard figcaption p{color:var(--muted);font-size:.9rem}
@media (max-width:980px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.gallery{grid-template-columns:1fr}}
/* clients */
.trust{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.25rem;padding:0;list-style:none}
.trust li{font-size:.9rem;padding:.4rem .9rem;border-radius:999px;background:var(--field);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--hi)}
.trust-wrap{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--glass-border)}

/* méthode + certification */
.method{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2.5rem;align-items:center;padding:clamp(1.5rem,4vw,3rem);background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--hi),var(--shadow);border-radius:var(--r)}
.m-text{display:flex;flex-direction:column;gap:1rem;min-width:0}
.m-text p{color:var(--muted);max-width:40rem}
.m-text strong{color:var(--ink)}
.flow{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.5rem 0 0;counter-reset:f}
.flow li{counter-increment:f;font-size:.88rem;font-weight:700;padding:.4rem .9rem .4rem .45rem;border-radius:999px;background:var(--field);border:1px solid var(--glass-border);display:inline-flex;align-items:center;gap:.5rem}
.flow li::before{content:counter(f);display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--mono);font-size:.75rem}
.seal{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}
.seal p{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.seal-ring{width:min(100%,15rem);aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:#fff;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.45),transparent 40%),linear-gradient(145deg,#0b3d91,#009cde);box-shadow:inset 0 0 0 6px rgba(255,255,255,.25),inset 0 0 0 7px rgba(255,255,255,.55),0 18px 40px rgba(11,61,145,.35)}
.seal-ring strong{font-family:var(--display);font-size:clamp(2.2rem,4vw,3rem);line-height:.95}
.seal-top,.seal-bot{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;max-width:9rem}
.seal-bot{background:#ea5b0c;padding:.2rem .6rem;border-radius:999px}
@media (max-width:760px){.method{grid-template-columns:1fr}}

/* navigation par rubriques */
[hidden]{display:none!important}
.nav .menu a[aria-current="page"]{color:var(--ink);font-weight:700}
.nav .menu a[aria-current="page"]:not(.cta-mini){box-shadow:inset 0 -2px 0 var(--orange)}
[data-page]:not([hidden]){animation:pagein .45s ease both}
@keyframes pagein{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
main section{padding-block:2.5rem 3.5rem}
.rubriques{padding-block:1rem 3.5rem}
.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.rcard{position:relative;display:flex;flex-direction:column;gap:.45rem;padding:1.5rem 1.5rem 1.6rem;text-decoration:none;color:var(--ink);background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--hi),var(--shadow);border-radius:var(--r);transition:transform .25s ease;min-width:0}
.rcard:hover{transform:translateY(-3px)}
.rcard .rk{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.rcard p{color:var(--muted);font-size:.95rem;padding-right:2rem}
.rcard .go{position:absolute;right:1.2rem;bottom:1.1rem;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--field);border:1px solid var(--glass-border);color:var(--blue);font-weight:700;transition:transform .2s ease}
.rcard:hover .go{transform:translateX(3px)}
.rcard-cta{background:var(--lead-glass);color:var(--on-lead)}
.rcard-cta p{color:var(--on-lead-muted)}
.rcard-cta .rk{color:#ffb15c}
.rcard-cta .go{background:var(--orange);border-color:transparent;color:#1a0e02}
@media (max-width:900px){.rgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rgrid{grid-template-columns:1fr}}
@media (max-width:900px){
  .nav .wrap{flex-wrap:wrap;border-radius:22px}
  .nav .menu{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;gap:1.1rem;padding-bottom:.2rem;scrollbar-width:none}
  .nav .menu::-webkit-scrollbar{display:none}
  .nav .menu li{flex:none}
}

/* logos clients et partenaires */
.trust-sec{padding-block:0 4rem}
.trust-panel{padding:clamp(1.5rem,4vw,2.5rem);background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--hi),var(--shadow);border-radius:var(--r)}
.logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.8rem}
.logos li{background:#fff;border-radius:14px;border:1px solid var(--glass-border);box-shadow:0 4px 14px rgba(11,61,145,.08);aspect-ratio:3/2;max-width:100%;display:grid;place-items:center;padding:.55rem;transition:transform .2s ease, box-shadow .2s ease}
.logos li:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(11,61,145,.16)}
.logos img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.rcard-wide{grid-column:span 2}
@media (max-width:900px){.rcard-wide{grid-column:1/-1}}

/* défilement des logos */
.mq-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:1.4rem 0 .6rem}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq-track{display:flex;gap:0;width:max-content;list-style:none;margin:0;padding:.3rem 0}
.mq-track li{flex:none;margin-right:.7rem;width:6.5rem;height:3.6rem;background:#fff;border-radius:10px;border:1px solid var(--glass-border);box-shadow:0 3px 10px rgba(11,61,145,.08);display:grid;place-items:center;padding:.35rem}
.mq-track img{width:auto;height:auto;max-width:100%;max-height:2.8rem;object-fit:contain;display:block}
.mq-track li.txt span{font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:.06em;color:#1cabe2}
.mq-left{animation:mqL 30s linear infinite}
.mq-right{animation:mqR 70s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
@keyframes mqL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mqR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media (prefers-reduced-motion: reduce){.mq-track{flex-wrap:wrap;width:auto}.mq-track li[aria-hidden="true"]{display:none}}

.trust-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;margin-bottom:1.5rem}
.trust-head p{color:var(--muted)}
.trust-head .rule-o{margin-bottom:.2rem}

/* réseaux sociaux + WhatsApp */
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}
.social{display:flex;gap:.5rem;list-style:none;margin:0;padding:0}
.soc{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--field);border:1px solid var(--glass-border);color:var(--blue);box-shadow:inset 0 1px 0 var(--hi);transition:transform .2s ease,color .2s ease}
.soc:hover{transform:translateY(-2px);color:var(--orange)}
.soc svg{width:1.05rem;height:1.05rem;fill:currentColor}
@media (max-width:640px){.foot-right{align-items:flex-start}}
.wa-float{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:20;display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem .55rem .65rem;border-radius:999px;background:#25d366;color:#fff;font-weight:700;font-size:.9rem;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 24px rgba(0,0,0,.22);transition:transform .2s ease}
.wa-float:hover{transform:translateY(-2px)}
.wa-float svg{width:1.35rem;height:1.35rem;fill:#fff}
@media (max-width:480px){.wa-float span{display:none}.wa-float{padding:.7rem}}

/* images des services */
.domain{overflow:hidden}
.dimg{margin:-1.75rem -1.75rem .4rem;aspect-ratio:16/9;max-width:none;overflow:hidden;background:#dfe7f2;border-bottom:1px solid var(--glass-border)}
.dimg img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .6s ease}
.domain:hover .dimg img{transform:scale(1.04)}
.domain-lead{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:1.75rem;align-items:start}
.domain-lead .dimg{grid-row:1/span 5;grid-column:2;margin:-1.75rem -1.75rem -1.75rem 0;aspect-ratio:auto;height:calc(100% + 3.5rem);min-height:16rem;border-bottom:0;border-left:1px solid rgba(255,255,255,.25)}
.domain-lead > :not(.dimg){grid-column:1}
.domain-lead .dimg img{object-position:left top}
@media (max-width:760px){.domain-lead{display:flex}.domain-lead .dimg{margin:-1.75rem -1.75rem .4rem;height:auto;aspect-ratio:16/9;min-height:0;border-left:0}}

/* logo */
.mark{display:inline-block;flex:none;background:url(img/ded6ea1d67.png) center/contain no-repeat;width:2.1rem;height:2.1rem}
.logo{display:inline-flex;align-items:center;gap:0}
.logo > .mark{margin-right:.55rem}
.proof .sheet .t{display:flex;align-items:center;gap:.45rem}
.proof .sheet .mark{width:1.7rem;height:1.7rem}
.foot .mark{width:2.6rem;height:2.6rem}

/* réalisations : filtres et agrandissement */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.4rem}
.chip{font:inherit;font-size:.9rem;font-weight:700;padding:.5rem 1rem;border-radius:999px;cursor:pointer;color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--hi)}
.chip span{font-family:var(--mono);font-weight:400;font-size:.75rem;color:var(--muted);margin-left:.2rem}
.chip[aria-pressed="true"]{background:var(--blue);color:#fff;border-color:var(--blue)}
.chip[aria-pressed="true"] span{color:#cfdcf5}
.real-grid .gcard[hidden]{display:none}
.real-grid .ph{display:block;width:100%;padding:0;border:0;cursor:zoom-in;background:#fff}
.real-grid figcaption{padding:.8rem 1rem 1rem;gap:.2rem}
.real-grid figcaption p{color:var(--ink);font-size:.95rem}
.real-grid .meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.zoom{overflow:hidden;border:0;padding:0;border-radius:var(--r);max-width:min(92vw,900px);background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.zoom::backdrop{background:rgba(6,20,45,.75)}
.zoom img{display:block;max-width:100%;max-height:78vh;margin:0 auto}
.zoom p{padding:.8rem 1.2rem;font-weight:700;color:#0d1a30}
.zoom-x{position:absolute;top:.5rem;right:.5rem;width:2.4rem;height:2.4rem;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:1.5rem;line-height:1;cursor:pointer;color:#0d1a30}
@media (min-width:981px){.real-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:480px){.real-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.real-grid figcaption{padding:.6rem .7rem .8rem}.real-grid figcaption p{font-size:.85rem}}

/* contact : liens, envoi WhatsApp, mentions */
.coord .v a{color:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
.coord .legal-v{font-size:.92rem;line-height:1.5;color:var(--muted)}
.btn-wa{background:linear-gradient(180deg,#2fdc72,#1ebe5a);color:#06301a;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 6px 20px rgba(37,211,102,.35)}
.hd-link{margin-top:.6rem;font-size:.85rem}
.hd-link a{color:var(--muted)}
.copyright.legal{font-size:.75rem;margin-top:.2rem}

/* page introuvable */
.err{padding:5rem 0 6rem}
.err .code404{font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;color:var(--orange)}
/* menu mobile : tout reste visible, Contact compris */
@media (max-width:900px){.nav .menu{flex-wrap:wrap;overflow:visible;gap:.5rem 1.1rem}}
.err h1{margin:.4rem 0 .8rem}
