:root{
  --bg:#07070a; --bg2:#0d0d11; --surface:#131318; --surface2:#191920;
  --line:#23232c; --line2:#33333f;
  --red:#e30613; --red2:#ff2c3d; --redglow:rgba(227,6,19,.55);
  --gold:#c9a24b;
  --txt:#f4f4f7; --mut:#9a9aa6; --dim:#6a6a76;
  --disp:'Chakra Petch',sans-serif;
  --cond:'Saira Condensed',sans-serif;
  --body:'Saira',sans-serif;
  --maxw:1240px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg); color:var(--txt); font-family:var(--body);
  font-weight:300; line-height:1.6; overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body::before{ /* grain + vignette */
  content:""; position:fixed; inset:0; pointer-events:none; z-index:9990;
  background:
    radial-gradient(120% 120% at 50% 0%, transparent 55%, rgba(0,0,0,.6) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
section{position:relative}

/* ====== HEADINGS ====== */
h1,h2,h3,.disp{font-family:var(--disp);font-weight:700;letter-spacing:.01em;line-height:1.04}
.kicker{
  font-family:var(--cond); font-weight:700; text-transform:uppercase;
  letter-spacing:.42em; font-size:.74rem; color:var(--red2);
  display:inline-flex; align-items:center; gap:14px; margin-bottom:18px;
}
.kicker::before{content:"";width:34px;height:2px;background:var(--red);box-shadow:0 0 10px var(--redglow)}
.red{color:var(--red2)}

/* ====== CUSTOM CURSOR ====== */
.cursor{position:fixed;top:0;left:0;width:26px;height:26px;border:1.5px solid var(--red2);
  border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);
  transition:width .25s,height .25s,background .25s,opacity .3s;mix-blend-mode:difference;opacity:0}
.cursor.hot{width:54px;height:54px;background:rgba(227,6,19,.12);border-color:transparent}
@media (hover:none){.cursor{display:none}}

/* ====== PRELOADER ====== */
#pre{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;
  align-items:center;justify-content:center;flex-direction:column;gap:26px;
  transition:opacity .7s ease,visibility .7s}
#pre.gone{opacity:0;visibility:hidden}
#pre img{width:96px;filter:drop-shadow(0 0 22px var(--redglow));animation:pulseX 1.3s ease-in-out infinite}
#pre .bar{width:180px;height:2px;background:var(--line);overflow:hidden;border-radius:3px}
#pre .bar i{display:block;height:100%;width:40%;background:linear-gradient(90deg,transparent,var(--red2),transparent);
  animation:load 1.1s linear infinite}
@keyframes pulseX{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.12);opacity:1}}
@keyframes load{0%{transform:translateX(-120%)}100%{transform:translateX(380%)}}

/* ====== NAV ====== */
header{position:fixed;top:0;left:0;right:0;z-index:900;transition:.4s}
header.scrolled{background:rgba(8,8,11,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;max-width:var(--maxw);
  margin:0 auto;padding:18px 26px}
.logo{height:46px;width:auto;transition:.3s;filter:drop-shadow(0 0 0 transparent)}
.logo:hover{filter:drop-shadow(0 0 12px var(--redglow))}
.navlinks{display:flex;gap:30px;align-items:center}
.navlinks a{font-family:var(--cond);font-weight:600;text-transform:uppercase;font-size:.86rem;
  letter-spacing:.13em;color:var(--mut);position:relative;padding:4px 0;transition:.25s}
.navlinks a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;
  background:var(--red2);transition:.3s;box-shadow:0 0 8px var(--redglow)}
.navlinks a:hover{color:var(--txt)}
.navlinks a:hover::after{width:100%}
.btn{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  font-size:.85rem;padding:13px 26px;border:none;cursor:pointer;position:relative;
  display:inline-flex;align-items:center;gap:10px;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
  transition:.3s}
.btn-red{background:var(--red);color:#fff;box-shadow:0 0 0 transparent}
.btn-red:hover{background:var(--red2);box-shadow:0 8px 30px var(--redglow);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--txt);border:1px solid var(--line2)}
.btn-ghost:hover{border-color:var(--red2);color:var(--red2)}
.burger{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;z-index:901}
.burger span{width:28px;height:2px;background:var(--txt);transition:.3s}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ====== HERO ====== */
.hero{min-height:100vh;display:flex;align-items:center;overflow:hidden;
  background:radial-gradient(130% 90% at 80% -10%,rgba(227,6,19,.16),transparent 55%),var(--bg)}
.grid-bg{position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(110% 80% at 60% 30%,#000 25%,transparent 75%);
  opacity:.5;animation:drift 28s linear infinite}
@keyframes drift{to{background-position:64px 64px}}
.hero .wrap{position:relative;z-index:3;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding-top:90px}
.hero-copy h1{font-size:clamp(2.7rem,6.5vw,5.4rem);text-transform:uppercase;margin:8px 0 22px}
.hero-copy h1 span{color:var(--red2);text-shadow:0 0 36px var(--redglow)}
.hero-copy .lead{font-size:1.12rem;color:var(--mut);max-width:520px;margin-bottom:34px;font-weight:300}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.hero-art{position:relative;display:flex;justify-content:center;align-items:center}
.hero-art .xglow{width:min(100%,440px);filter:drop-shadow(0 0 50px var(--redglow));
  animation:floaty 6s ease-in-out infinite}
.hero-art::after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,var(--redglow),transparent 65%);filter:blur(40px);z-index:-1}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(1.5deg)}}
.scroll-ind{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;
  font-family:var(--cond);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);
  display:flex;flex-direction:column;align-items:center;gap:10px}
.scroll-ind i{width:1px;height:42px;background:linear-gradient(var(--red2),transparent);animation:sd 1.8s ease-in-out infinite}
@keyframes sd{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}

/* ====== MARQUEE ====== */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,#0a0a0e,#101016,#0a0a0e);overflow:hidden;padding:18px 0}
.marquee .track{display:flex;gap:54px;white-space:nowrap;width:max-content;animation:scrollx 30s linear infinite}
.marquee span{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  font-size:1.15rem;color:var(--dim);display:inline-flex;align-items:center;gap:54px}
.marquee span::after{content:"✕";color:var(--red);font-size:.8rem}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ====== SECTION GENERIC ====== */
.sec{padding:110px 0}
.sec-head{max-width:680px;margin-bottom:54px}
.sec-head h2{font-size:clamp(2rem,4.4vw,3.3rem);text-transform:uppercase}
.sec-head p{color:var(--mut);margin-top:16px;font-size:1.05rem}
.bg-soft{background:linear-gradient(180deg,var(--bg),var(--bg2))}

/* ====== SERVICE FILTER ====== */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:38px}
.filters button{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.1em;
  font-size:.82rem;color:var(--mut);background:var(--surface);border:1px solid var(--line);
  padding:10px 20px;cursor:pointer;transition:.25s;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.filters button.on,.filters button:hover{color:#fff;border-color:var(--red);background:rgba(227,6,19,.14)}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:linear-gradient(160deg,var(--surface),var(--surface2));border:1px solid var(--line);
  padding:30px 26px;position:relative;overflow:hidden;transition:.4s;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%)}
.card::before{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(227,6,19,.12),transparent);transition:.6s;skewX:-20deg}
.card:hover{border-color:var(--red);transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,0,0,.5)}
.card:hover::before{left:120%}
.card .ico{width:54px;height:54px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line2);margin-bottom:20px;color:var(--red2);
  background:rgba(227,6,19,.07);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);transition:.3s}
.card:hover .ico{background:var(--red);color:#fff;border-color:var(--red)}
.card .ico svg{width:26px;height:26px}
.card h3{font-size:1.28rem;text-transform:uppercase;margin-bottom:10px}
.card p{color:var(--mut);font-size:.95rem}
.card .num{position:absolute;top:16px;right:20px;font-family:var(--disp);font-weight:700;
  font-size:1.1rem;color:var(--line2)}

/* ====== ABOUT ====== */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.about-img{position:relative}
.about-img .mascot{width:100%;max-width:480px;margin:0 auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.7))}
.about-img::before{content:"";position:absolute;inset:auto 0 6% 0;height:60%;z-index:-1;
  background:radial-gradient(60% 80% at 50% 100%,var(--redglow),transparent 70%);filter:blur(30px)}
.about-img .wm{position:absolute;top:-4%;left:-6%;width:160px;opacity:.06;z-index:-1}
.about-copy h2{font-size:clamp(2rem,4vw,3rem);text-transform:uppercase;margin-bottom:20px}
.about-copy p{color:var(--mut);margin-bottom:16px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.commits{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.commits span{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  font-size:.86rem;color:var(--txt);padding:11px 18px;background:var(--surface);border:1px solid var(--line);
  display:inline-flex;align-items:center;gap:10px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);transition:.3s}
.commits span::before{content:"✓";color:var(--red2);font-weight:800}
.commits span:hover{border-color:var(--red);background:rgba(227,6,19,.1)}
.stat{border-left:2px solid var(--red);padding-left:14px}
.stat b{font-family:var(--disp);font-weight:700;font-size:2rem;color:#fff;display:block;line-height:1}
.stat small{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;color:var(--mut);font-size:.74rem}

/* ====== SHOWCASE ====== */
.showcase{position:relative}
.show-card{position:relative;overflow:hidden;border:1px solid var(--line);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%)}
.show-card img{width:100%;transition:1s ease;transform:scale(1.02)}
.show-card:hover img{transform:scale(1.07)}
.show-card .ov{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,7,10,.88) 0%,transparent 55%);
  display:flex;flex-direction:column;justify-content:flex-end;padding:34px}
.show-card .ov h3{font-size:1.6rem;text-transform:uppercase}
.show-card .ov p{color:var(--mut);max-width:560px}
.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.tag{font-family:var(--cond);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;
  padding:6px 12px;border:1px solid var(--line2);color:var(--txt);background:rgba(0,0,0,.4)}

/* ====== PROCESS ====== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{position:relative;padding:30px 24px;background:var(--surface);border:1px solid var(--line);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);transition:.3s}
.step:hover{border-color:var(--red);transform:translateY(-6px)}
.step b{font-family:var(--disp);font-size:2.4rem;color:rgba(227,6,19,.4);display:block;line-height:1;margin-bottom:14px}
.step h3{font-size:1.15rem;text-transform:uppercase;margin-bottom:8px}
.step p{color:var(--mut);font-size:.9rem}

/* ====== WHY ====== */
.why{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.why .it{display:flex;gap:18px;padding:26px;background:linear-gradient(160deg,var(--surface),var(--bg2));
  border:1px solid var(--line);transition:.3s}
.why .it:hover{border-color:var(--red2);transform:translateX(6px)}
.why .it .ico{flex:0 0 auto;width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  background:rgba(227,6,19,.1);color:var(--red2);border:1px solid var(--line2)}
.why .it h3{font-size:1.1rem;text-transform:uppercase;margin-bottom:6px}
.why .it p{color:var(--mut);font-size:.92rem}

/* ====== CONTACT ====== */
.contact{background:radial-gradient(100% 80% at 50% 0%,rgba(227,6,19,.1),transparent 60%),var(--bg2)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.cinfo .ci{display:flex;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.cinfo .ci .ico{width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  background:var(--red);color:#fff;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.cinfo .ci small{font-family:var(--cond);text-transform:uppercase;letter-spacing:.15em;color:var(--mut);font-size:.72rem;display:block}
.cinfo .ci b{font-size:1.15rem;font-weight:500}
.socials{display:flex;gap:12px;margin-top:26px}
.socials a{width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line2);color:var(--mut);transition:.3s}
.socials a:hover{background:var(--red);color:#fff;border-color:var(--red);transform:translateY(-4px)}
form{background:var(--surface);border:1px solid var(--line);padding:34px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.field{margin-bottom:18px}
.field label{font-family:var(--cond);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--mut);display:block;margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line2);
  color:var(--txt);padding:13px 15px;font-family:var(--body);font-size:.96rem;transition:.25s;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red2);box-shadow:0 0 0 3px rgba(227,6,19,.12)}
.field textarea{resize:vertical;min-height:120px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form .btn{width:100%;justify-content:center;margin-top:6px}

/* ====== FOOTER ====== */
footer{background:var(--bg);border-top:1px solid var(--line);padding:60px 0 30px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px}
.foot img.flogo{height:50px;margin-bottom:18px}
.foot p{color:var(--mut);font-size:.92rem;max-width:340px}
.foot h4{font-family:var(--cond);text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;color:var(--red2);margin-bottom:16px}
.foot ul{list-style:none}
.foot ul li{margin-bottom:9px}
.foot ul a{color:var(--mut);font-size:.92rem;transition:.2s}
.foot ul a:hover{color:var(--txt);padding-left:5px}
.copy{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;color:var(--dim);font-size:.84rem;font-family:var(--cond);letter-spacing:.05em}

/* ====== REVEAL ANIM ====== */
.rv{opacity:0;transform:translateY(34px);transition:.8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
.rv.d4{transition-delay:.32s}.rv.d5{transition-delay:.4s}.rv.d6{transition-delay:.48s}

/* ====== RESPONSIVE ====== */
@media(max-width:980px){
  .hero .wrap{grid-template-columns:1fr;text-align:center;padding-top:120px}
  .hero-art{order:-1;max-width:300px;margin:0 auto}
  .hero-cta{justify-content:center}
  .hero-copy .lead{margin-left:auto;margin-right:auto}
  .about{grid-template-columns:1fr;gap:40px}
  .contact-grid{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(2,1fr)}
  .steps,.stats{grid-template-columns:repeat(2,1fr)}
  .why,.foot{grid-template-columns:1fr}
}
@media(max-width:640px){
  .navlinks{position:fixed;inset:0 0 0 auto;width:78%;max-width:320px;background:var(--bg2);
    flex-direction:column;justify-content:center;padding:40px;transform:translateX(110%);
    transition:.4s;border-left:1px solid var(--line);gap:26px}
  .navlinks.open{transform:none}
  .navlinks a{font-size:1.1rem}
  .burger{display:flex}
  .grid,.stats{grid-template-columns:1fr}
  .sec{padding:80px 0}
  .two{grid-template-columns:1fr}
}

/* ============ PAGES INTÉRIEURES (ajouts) ============ */
.navlinks a.on{color:var(--txt)}
.navlinks a.on::after{width:100%}

.pagehero{padding:150px 0 70px;position:relative;overflow:hidden;
  background:radial-gradient(120% 90% at 80% -10%,rgba(227,6,19,.16),transparent 55%),var(--bg)}
.pagehero .grid-bg{opacity:.4}
.pagehero .wrap{position:relative;z-index:2}
.breadcrumb{font-family:var(--cond);text-transform:uppercase;letter-spacing:.15em;font-size:.74rem;
  color:var(--dim);margin-bottom:16px;display:flex;gap:9px;align-items:center}
.breadcrumb a{color:var(--mut)}.breadcrumb a:hover{color:var(--red2)}
.breadcrumb i{color:var(--red2);font-style:normal}
.pagehero h1{font-family:var(--disp);font-weight:700;text-transform:uppercase;
  font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.05}
.pagehero h1 span{color:var(--red2);text-shadow:0 0 30px var(--redglow)}
.pagehero .lead{color:var(--mut);max-width:640px;margin-top:18px;font-size:1.06rem}

.svc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:6px}
.svc{background:linear-gradient(160deg,var(--surface),var(--surface2));border:1px solid var(--line);
  padding:30px 28px;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);transition:.35s}
.svc:hover{border-color:var(--red);transform:translateY(-5px)}
.svc .ico{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line2);
  margin-bottom:18px;color:var(--red2);background:rgba(227,6,19,.07);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.svc .ico svg{width:26px;height:26px}
.svc h3{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:1.22rem;margin-bottom:10px}
.svc p{color:var(--mut);font-size:.95rem}

.gallery{columns:3;column-gap:16px}
.gitem{break-inside:avoid;margin:0 0 16px;position:relative;cursor:pointer;overflow:hidden;
  border:1px solid var(--line);background:var(--surface);display:block}
.gitem img{width:100%;display:block;transition:.6s ease}
.gitem:hover img{transform:scale(1.06)}
.gitem figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 14px 11px;font-family:var(--cond);
  text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;color:#fff;
  background:linear-gradient(0deg,rgba(7,7,10,.92),transparent);opacity:0;transform:translateY(8px);transition:.3s}
.gitem:hover figcaption{opacity:1;transform:none}
.gitem.hide{display:none}
@media(max-width:900px){.gallery{columns:2}}
@media(max-width:560px){.gallery{columns:1}}

.empty{border:1px dashed var(--line2);padding:54px 30px;text-align:center;color:var(--mut);
  background:var(--surface);font-size:1rem}
.empty b{color:var(--txt);font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:8px;font-size:1.1rem}

.lightbox{position:fixed;inset:0;z-index:9998;background:rgba(4,4,6,.94);display:none;
  align-items:center;justify-content:center;flex-direction:column;padding:30px;backdrop-filter:blur(6px)}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:80vh;border:1px solid var(--line2);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lightbox .lb-cap{margin-top:16px;font-family:var(--cond);text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
.lightbox .lb-close{position:absolute;top:20px;right:30px;font-size:1.9rem;color:#fff;cursor:pointer;opacity:.8;line-height:1}
.lightbox .lb-close:hover{opacity:1;color:var(--red2)}

.cta-band{background:radial-gradient(100% 100% at 50% 0,rgba(227,6,19,.12),transparent 60%),var(--bg2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:74px 0;margin-top:10px}
.cta-band h2{font-family:var(--disp);text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:14px}
.cta-band h2 span{color:var(--red2)}
.cta-band p{color:var(--mut);margin-bottom:26px;max-width:560px;margin-left:auto;margin-right:auto}
.center{text-align:center;margin-top:40px}
@media(max-width:760px){.svc-list{grid-template-columns:1fr}}

/* ===== PAGE LÉGALE ===== */
.legal{max-width:820px}
.legal h2{font-family:var(--disp);text-transform:uppercase;font-size:1.35rem;color:var(--txt);margin:34px 0 12px}
.legal h2:first-child{margin-top:0}
.legal p{color:var(--mut);margin-bottom:12px}
.legal a{color:var(--red2)}
.legal .todo{color:#ffcf3f;background:rgba(255,200,40,.08);border:1px dashed rgba(255,200,40,.4);padding:2px 8px;border-radius:4px;font-family:var(--cond);font-size:.9em}
.foot .mini{margin-top:14px}
.foot .mini a{color:var(--dim);font-size:.84rem}
