/* ---- v90.css ---- */
:root{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-2:#f8fbff;
  --text:#13233f;
  --muted:#5d6b82;
  --line:#dbe4f1;
  --shadow:0 18px 48px rgba(12,36,76,.08);
  --shadow-strong:0 24px 80px rgba(6,26,67,.16);
  --nav:#06122c;
  --nav-2:#0c1d44;
  --blue:#1a73ff;
  --cyan:#11c0ff;
  --green:#57b445;
  --purple:#7a4bff;
  --orange:#ff8b22;
  --red:#ff4b55;
  --radius:24px;
  --radius-sm:16px;
  --container:min(1200px, calc(100% - 32px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#f6f9fc 0%,#eef4fb 100%);color:var(--text)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:var(--container);margin:0 auto}
.muted{color:var(--muted)}
.small{font-size:.92rem}
.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}
.kicker::before{content:"";width:44px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--blue))}
.section{padding:74px 0}
.section-tight{padding:44px 0}
.section-header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:28px}
.section-header h2{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.04;letter-spacing:-.03em}
.section-header p{max-width:640px;margin:0;color:var(--muted);line-height:1.65}
.page-shell{min-height:100vh;display:flex;flex-direction:column}
.main{flex:1}
.topbar{position:sticky;top:0;z-index:60;background:rgba(6,18,44,.93);backdrop-filter:blur(18px);box-shadow:0 10px 30px rgba(4,18,46,.25)}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}
.nav{width:var(--container);margin:0 auto;display:flex;align-items:center;gap:28px;padding:14px 0;position:relative}
.brand{display:flex;align-items:center;gap:14px;font-weight:900;color:#fff;letter-spacing:.02em;min-width:0}
.brand img{width:98px;height:auto;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:24px;margin-left:auto}
.nav-links a{color:rgba(255,255,255,.84);font-size:.95rem;font-weight:700;position:relative;padding:10px 0}
.nav-links a.active,.nav-links a:hover{color:#fff}
.nav-links a.active::after,.nav-links a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--blue))}
.nav-cta{display:flex;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:14px;border:1px solid transparent;font-weight:800;letter-spacing:.01em;transition:.25s transform,.25s box-shadow,.25s background,.25s color;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,#2e90ff,var(--blue));color:#fff;box-shadow:0 16px 36px rgba(26,115,255,.28)}
.btn-primary:hover{box-shadow:0 20px 40px rgba(26,115,255,.34)}
.btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff}
.btn-white{background:#fff;color:var(--nav);box-shadow:var(--shadow)}
.btn-outline{border-color:#c7d5ea;background:#fff;color:var(--nav)}
.btn-full{width:100%}
.burger{display:none;background:none;border:none;color:#fff;font-size:1.8rem;padding:6px}
.hero{position:relative;background:radial-gradient(circle at 65% 10%,rgba(65,150,255,.22),transparent 36%),linear-gradient(135deg,#07132e 0%,#0b1d46 48%,#0a1736 100%);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,32,.84) 0%,rgba(5,13,32,.48) 46%,rgba(5,13,32,.30) 100%)}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;min-height:530px;padding:54px 0 62px}
.hero-copy h1{font-size:clamp(2.5rem,6vw,4.7rem);line-height:.95;letter-spacing:-.05em;margin:0 0 18px;max-width:760px}
.hero-copy p{font-size:1.08rem;line-height:1.72;color:rgba(255,255,255,.84);max-width:660px;margin:0 0 28px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-visual{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:stretch}
.hero-main-card,.hero-mosaic-card{border-radius:28px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);box-shadow:var(--shadow-strong)}
.hero-main-card{position:relative;min-height:440px}
.hero-main-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-main-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18))}
.hero-main-card .floating-tag{position:absolute;left:18px;bottom:18px;z-index:2;background:rgba(7,18,44,.78);backdrop-filter:blur(8px);color:#fff;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.14);font-size:.92rem;max-width:280px}
.hero-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hero-mosaic-card{position:relative;min-height:212px}
.hero-mosaic-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-mosaic-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.45))}
.hero-mosaic-card span{position:absolute;left:16px;bottom:14px;z-index:2;font-weight:800}
.hero-banner{margin-top:-22px;position:relative;z-index:4}
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border-radius:22px;box-shadow:var(--shadow-strong);overflow:hidden;border:1px solid var(--line)}
.stats-bar .stat{padding:24px 22px;display:flex;gap:12px;align-items:center;border-right:1px solid var(--line)}
.stats-bar .stat:last-child{border-right:0}
.stats-bar strong{display:block;font-size:2rem;line-height:1;color:var(--blue);letter-spacing:-.04em}
.stats-bar span{display:block;font-size:.95rem;color:var(--muted);line-height:1.4}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card-grid.two{grid-template-columns:repeat(2,1fr)}
.card-grid.three{grid-template-columns:repeat(3,1fr)}
.card-grid.five{grid-template-columns:repeat(5,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow);height:100%}
.card.hover{transition:.25s transform,.25s box-shadow}
.card.hover:hover{transform:translateY(-6px);box-shadow:0 22px 54px rgba(15,43,84,.14)}
.icon-badge{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:1.55rem;font-weight:900;color:#fff;box-shadow:0 16px 26px rgba(0,0,0,.10);margin-bottom:16px}
.badge-blue{background:linear-gradient(135deg,#3db8ff,#186eff)}
.badge-cyan{background:linear-gradient(135deg,#53d5ff,#1ca8e8)}
.badge-purple{background:linear-gradient(135deg,#925dff,#6732ff)}
.badge-green{background:linear-gradient(135deg,#8adf58,#46a830)}
.badge-orange{background:linear-gradient(135deg,#ffb34c,#ff7c06)}
.badge-red{background:linear-gradient(135deg,#ff7c7c,#ff4b55)}
.card h3{margin:0 0 10px;font-size:1.18rem;line-height:1.18}
.card p{margin:0;color:var(--muted);line-height:1.66;font-size:.96rem}
.card ul{padding-left:18px;margin:14px 0 0;color:var(--muted);line-height:1.6}
.card .arrow-link,.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:800;color:var(--blue)}
.text-link::after,.arrow-link::after{content:"→"}
.sector-card,.project-card,.news-card,.team-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:.25s transform,.25s box-shadow;height:100%}
.sector-card:hover,.project-card:hover,.news-card:hover,.team-card:hover{transform:translateY(-6px);box-shadow:0 22px 54px rgba(15,43,84,.14)}
.sector-card img,.project-card img,.news-card img,.team-card img{width:100%;height:206px;object-fit:cover}
.sector-card .content,.project-card .content,.news-card .content,.team-card .content{padding:20px}
.sector-card h3,.project-card h3,.news-card h3{margin:0 0 10px;font-size:1.2rem;line-height:1.15}
.sector-card p,.project-card p,.news-card p{margin:0;color:var(--muted);line-height:1.64}
.tag{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#edf4ff;color:var(--blue);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.tags{display:flex;gap:8px;flex-wrap:wrap}
.featured-card{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-strong)}
.featured-card img{width:100%;height:100%;min-height:320px;object-fit:cover}
.featured-copy{padding:34px}
.featured-copy h3{font-size:2.3rem;line-height:1.02;margin:10px 0 14px;letter-spacing:-.04em}
.featured-copy p{margin:0;color:var(--muted);line-height:1.7}
.mini-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px;color:#7a889f;font-size:.92rem}
.feature-row{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.feature-item{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 18px;text-align:center;box-shadow:var(--shadow)}
.feature-item .icon-badge{margin:0 auto 14px}
.feature-item h4{margin:0 0 8px;font-size:1.06rem}
.feature-item p{margin:0;color:var(--muted);line-height:1.55;font-size:.92rem}
.project-grid,.sector-grid,.news-grid,.team-grid,.story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.project-card .meta,.news-card .meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;color:#728099;font-size:.85rem}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.panel h3{margin:0 0 14px;font-size:1.55rem;line-height:1.06}
.panel p{margin:0;color:var(--muted);line-height:1.7}
.check-list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}
.check-list li{display:flex;gap:12px;align-items:flex-start;color:var(--muted);line-height:1.55}
.check-list li::before{content:"✓";width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px;border-radius:999px;background:#edf4ff;color:var(--blue);font-weight:900}
.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.info-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}
.info-card h4{margin:12px 0 8px;font-size:1.06rem}
.info-card p{margin:0;color:var(--muted);line-height:1.6}
.quote-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}
.quote-card p{margin:0;color:var(--muted);line-height:1.7}
.quote-card .person{display:flex;align-items:center;gap:12px;margin-top:16px}
.avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#dce8fb,#f7fbff);display:grid;place-items:center;font-weight:900;color:var(--blue);overflow:hidden}
.logo-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.logo-cell{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;font-weight:700;color:#41506a;box-shadow:var(--shadow)}
.service-hero{padding:54px 0;background:radial-gradient(circle at 70% 10%,rgba(89,165,255,.22),transparent 35%),linear-gradient(135deg,#07132e 0%,#0b1d46 58%,#0a1736 100%);color:#fff;position:relative;overflow:hidden}
.service-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,32,.86) 0%,rgba(5,13,32,.45) 50%,rgba(5,13,32,.22) 100%)}
.service-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.service-hero h1{margin:0 0 16px;font-size:clamp(2.5rem,6vw,4.4rem);line-height:.96;letter-spacing:-.05em}
.service-hero p{margin:0;color:rgba(255,255,255,.86);line-height:1.72;max-width:670px}
.service-hero .visual img{border-radius:28px;box-shadow:var(--shadow-strong);height:380px;object-fit:cover;width:100%}
.form-shell{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:start}
.form-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
label{font-size:.92rem;font-weight:700;color:#32435f}
input,select,textarea{width:100%;padding:14px 16px;border:1px solid #d8e2f0;border-radius:14px;background:#f8fbff;color:var(--text);font:inherit;outline:none;transition:.2s border,.2s box-shadow}
input:focus,select:focus,textarea:focus{border-color:#7fb1ff;box-shadow:0 0 0 4px rgba(26,115,255,.12)}
textarea{min-height:150px;resize:vertical}
.notice{background:#fff7f7;border:1px solid #ffd9dd;color:#b9343f;border-radius:22px;padding:24px;box-shadow:var(--shadow)}
.notice h3{margin:0 0 10px;font-size:1.45rem;color:#df2532}
.faq{display:grid;gap:12px}
details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow)}
summary{cursor:pointer;font-weight:800;color:var(--text)}
details p{margin:12px 0 0;color:var(--muted);line-height:1.66}
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.process .step{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.process .step strong{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--blue);color:#fff;margin-bottom:12px}
.process .step h4{margin:0 0 8px;font-size:1rem}
.process .step p{margin:0;color:var(--muted);line-height:1.55;font-size:.92rem}
.cta-band{background:linear-gradient(90deg,#0f1d44 0%,#138ffb 100%);color:#fff;border-radius:24px;padding:24px 28px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;box-shadow:var(--shadow-strong)}
.cta-band .mark{width:84px;height:84px;border-radius:18px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:2rem}
.cta-band h3{margin:0 0 8px;font-size:2rem;line-height:1.02;letter-spacing:-.03em}
.cta-band p{margin:0;color:rgba(255,255,255,.84);line-height:1.6}
.footer{margin-top:68px;background:linear-gradient(180deg,#06122c 0%,#08122a 100%);color:#fff;padding:42px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1.1fr;gap:24px;align-items:start}
.footer-brand p,.footer-links a,.footer-contact li{color:rgba(255,255,255,.74);line-height:1.74}
.footer-brand img{width:116px;margin-bottom:12px}
.footer h4{margin:0 0 14px;font-size:1rem}
.footer-links{display:grid;gap:8px}
.footer-contact{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.footer-bottom{display:flex;justify-content:space-between;gap:18px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.62);font-size:.9rem;flex-wrap:wrap}
.pill-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.pill-nav a{padding:11px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);font-weight:800;color:#31415d}
.pill-nav a.active{background:linear-gradient(135deg,#2e90ff,var(--blue));color:#fff;border-color:transparent}
.gallery-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-row img{height:220px;object-fit:cover;border-radius:22px;box-shadow:var(--shadow)}
.coverage-card{min-height:100%;display:grid;place-items:center;overflow:hidden}
.coverage-card .map{width:100%;aspect-ratio:1/1;border-radius:22px;background:radial-gradient(circle at center,rgba(26,115,255,.18),transparent 42%),linear-gradient(180deg,#edf4ff,#f9fbff);display:grid;place-items:center;border:1px dashed #c6d8f2;color:#42608f;font-weight:800;text-align:center;padding:30px}
@media (max-width: 1180px){
  .hero-inner,.service-hero-inner,.split,.form-shell,.featured-card{grid-template-columns:1fr}
  .hero-visual{order:-1}
  .card-grid,.project-grid,.sector-grid,.news-grid,.story-grid{grid-template-columns:repeat(2,1fr)}
  .feature-row{grid-template-columns:repeat(3,1fr)}
  .logo-row{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(3,1fr)}
  .hero-main-card{min-height:340px}
}
@media (max-width: 860px){
  .nav{padding:12px 0;gap:14px}
  .burger{display:block;margin-left:auto}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;padding:16px;background:#081635;border-radius:0 0 18px 18px;box-shadow:0 20px 40px rgba(0,0,0,.22)}
  .nav-links.open{display:flex}
  .nav-links a.active::after,.nav-links a:hover::after{bottom:-6px}
  .nav-cta{display:none}
  .brand img{width:84px}
  .hero-inner{min-height:auto;padding:34px 0 42px}
  .hero-copy h1,.service-hero h1{font-size:clamp(2.3rem,10vw,3.6rem)}
  .hero-visual,.hero-mosaic,.stats-bar,.feature-row,.process,.footer-grid,.cta-band,.card-grid,.card-grid.two,.card-grid.three,.card-grid.five,.project-grid,.sector-grid,.news-grid,.story-grid,.gallery-row,.form-grid,.info-cards{grid-template-columns:1fr}
  .stats-bar .stat{border-right:0;border-bottom:1px solid var(--line)}
  .stats-bar .stat:last-child{border-bottom:0}
  .project-grid,.sector-grid,.news-grid,.story-grid{gap:16px}
  .feature-row{gap:14px}
  .section{padding:58px 0}
  .section-header{align-items:flex-start;flex-direction:column}
  .cta-band{padding:22px;grid-template-columns:1fr;text-align:left}
  .hero-main-card,.hero-mosaic-card,.service-hero .visual img{height:auto;min-height:260px}
}


/* V92 — finalisation accessibilité et propreté visuelle */
.skip-link{position:absolute;left:-999px;top:10px;z-index:9999;background:#fff;color:#06122c;padding:12px 16px;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.2);font-weight:900}
.skip-link:focus{left:12px;outline:3px solid #1a73ff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(26,115,255,.45);outline-offset:3px}
.gallery-row img{background:#eef4fb}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.card.hover,.sector-card,.project-card,.news-card,.team-card,.btn{transition:none!important}.card.hover:hover,.sector-card:hover,.project-card:hover,.news-card:hover,.team-card:hover,.btn:hover{transform:none!important}}


/* ===== Global refined footer V93 ===== */
.footer.footer-refined{
  margin-top:72px;
  position:relative;
  overflow:hidden;
  padding:42px 22px 34px;
  background:
    radial-gradient(circle at 50% 0%, rgba(47,127,247,.14), transparent 28rem),
    linear-gradient(180deg, rgba(18,23,31,.98), rgba(31,31,31,.98));
  color:#d9dde4;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer.footer-refined::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    radial-gradient(circle at 15% 15%, rgba(74,126,201,.22), transparent 24%),
    radial-gradient(circle at 85% 70%, rgba(55,78,120,.16), transparent 22%);
  background-size: 80px 80px, 80px 80px, auto, auto;
  opacity:.45;
  pointer-events:none;
}
.footer.footer-refined .footer-blue-line{
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:8px;
  height:86px;
  border-radius:0 0 8px 8px;
  background:linear-gradient(180deg,#4f8de6,#2f61b6);
  box-shadow:0 0 34px rgba(79,141,230,.45);
}
.footer.footer-refined .footer-inner{
  position:relative;
  z-index:1;
  width:min(980px, 100%);
  margin:0 auto;
  text-align:center;
}
.footer.footer-refined .footer-logo-wrap{
  display:flex;
  justify-content:center;
  margin-top:8px;
}
.footer.footer-refined .footer-logo-main{
  width:168px;
  height:168px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 18px 42px rgba(0,0,0,.34), 0 0 0 4px rgba(255,255,255,.08);
}
.footer.footer-refined .footer-region{
  margin-top:22px;
  font-weight:900;
  font-size:clamp(1.2rem, 2vw, 1.9rem);
  letter-spacing:.06em;
  color:#f2f4f8;
  text-transform:uppercase;
}
.footer.footer-refined .footer-region .sep{display:inline-block; width:22px;}
.footer.footer-refined .footer-contact-stack{
  display:grid;
  gap:8px;
  margin-top:20px;
}
.footer.footer-refined .footer-contact-stack a,
.footer.footer-refined .footer-contact-stack span{
  color:#e7ebf2;
  font-size:clamp(1.18rem, 2.1vw, 2rem);
  font-weight:850;
  text-decoration:none;
}
.footer.footer-refined .footer-contact-stack .label{ color:#ff5448; }
.footer.footer-refined .footer-links-legal{
  display:grid;
  gap:16px;
  margin-top:46px;
}
.footer.footer-refined .footer-links-legal a{
  color:#f1f3f7;
  text-decoration:none;
  font-weight:500;
  font-size:clamp(1rem, 1.6vw, 1.5rem);
}
.footer.footer-refined .footer-copy{
  margin-top:34px;
  color:#c9cdd4;
  font-size:clamp(1rem, 1.7vw, 1.5rem);
  font-weight:700;
  letter-spacing:.03em;
}
.footer.footer-refined .footer-socials{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  margin-top:26px;
  flex-wrap:wrap;
}
.footer.footer-refined .footer-socials a{
  width:58px;
  height:58px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:900;
  font-size:1.9rem;
  color:#fff;
  box-shadow:0 12px 24px rgba(0,0,0,.25);
}
.footer.footer-refined .social-tiktok{background:#0b0b0b;}
.footer.footer-refined .social-instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4);}
.footer.footer-refined .social-facebook{background:#1877f2;}
.footer.footer-refined .social-youtube{background:#ff2c23;}
.footer.footer-refined .footer-handle{
  margin-top:18px;
  color:#bfc4cc;
  font-size:clamp(1.1rem, 1.7vw, 1.7rem);
  font-weight:800;
}
.footer.footer-refined .footer-accreditation{
  margin-top:38px;
  color:#ff8b3d;
  font-size:clamp(1rem, 1.7vw, 1.45rem);
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.footer.footer-refined .footer-backtop{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin-top:34px;
  color:#2f7ff7;
  text-decoration:none;
  font-weight:700;
  font-size:clamp(1rem, 1.5vw, 1.35rem);
}
.footer.footer-refined .footer-backtop svg{
  width:42px;
  height:42px;
  stroke:currentColor;
  fill:none;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 14px rgba(47,127,247,.28));
}
.footer.footer-refined .footer-sr{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}
@media (max-width: 820px){
  .footer.footer-refined{padding:34px 18px 30px; margin-top:56px;}
  .footer.footer-refined .footer-blue-line{height:74px; width:7px;}
  .footer.footer-refined .footer-logo-main{width:142px;height:142px;}
  .footer.footer-refined .footer-region .sep{width:14px;}
  .footer.footer-refined .footer-contact-stack{gap:10px;}
  .footer.footer-refined .footer-links-legal{gap:18px;}
  .footer.footer-refined .footer-socials{gap:14px;}
  .footer.footer-refined .footer-socials a{width:52px;height:52px;font-size:1.6rem;}
}
@media (max-width: 560px){
  .footer.footer-refined{padding-inline:14px; border-radius:24px 24px 0 0;}
  .footer.footer-refined .footer-logo-main{width:132px;height:132px;}
  .footer.footer-refined .footer-region{line-height:1.25;}
  .footer.footer-refined .footer-region .sep{display:block;width:0;height:8px;}
  .footer.footer-refined .footer-contact-stack a,
  .footer.footer-refined .footer-contact-stack span{line-height:1.24;}
  .footer.footer-refined .footer-links-legal{margin-top:38px;}
}

.legal-page-content{display:grid;gap:18px}
.legal-page-content h2{margin:0 0 6px;font-size:1.3rem;color:#0c2351}
.legal-page-content p{margin:0;color:#31405c;line-height:1.78}
.legal-page-content a{color:#2f7ff7}


/* V94 — nav premium flottante + heroes plein écran */
.topbar{
  position:sticky;
  top:0;
  z-index:80;
  background:transparent;
  box-shadow:none;
  padding:12px 0 0;
  transition:padding .28s ease, transform .28s ease;
}
.topbar::after{display:none}
.nav{
  width:min(1280px, calc(100% - 32px));
  margin:0 auto;
  position:relative;
  display:flex;
  align-items:center;
  gap:22px;
  padding:18px 22px;
  border-radius:40px;
  background:linear-gradient(180deg, rgba(5,10,20,.92), rgba(2,6,15,.94));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(18px);
  transition:padding .28s ease, border-radius .28s ease, width .28s ease, box-shadow .28s ease;
}
.nav::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(62,116,255,.18), transparent 20%, transparent 80%, rgba(17,192,255,.12));
  pointer-events:none;
}
.brand{display:flex;align-items:center;gap:18px;min-width:0;flex:1;position:relative;z-index:1}
.brand-badge{
  width:120px;height:120px;display:grid;place-items:center;flex:0 0 120px;
  border-radius:50%;
  padding:10px;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 14px 34px rgba(0,0,0,.28);
  transition:width .28s ease, height .28s ease, flex-basis .28s ease;
}
.brand img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.brand-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.brand-text strong{
  color:#fff;
  font-size:clamp(1.35rem, 3vw, 3.2rem);
  font-weight:950;
  letter-spacing:.04em;
  line-height:.95;
}
.brand-text small{
  color:#d8e2f9;
  font-size:clamp(.78rem, 1.35vw, 1.35rem);
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  line-height:1.12;
}
.burger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:126px;
  height:126px;
  flex:0 0 126px;
  border-radius:50%;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 16px 36px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
  color:#fff;
  gap:6px;
  flex-direction:column;
  cursor:pointer;
  padding:0;
  z-index:1;
  transition:transform .24s ease, width .28s ease, height .28s ease, flex-basis .28s ease;
}
.burger:hover{transform:translateY(-2px)}
.burger span{display:block;width:32px;height:4px;border-radius:99px;background:#fff;transition:.24s ease}
.nav.menu-open .burger span:nth-child(1){transform:translateY(10px) rotate(45deg)}
.nav.menu-open .burger span:nth-child(2){opacity:0}
.nav.menu-open .burger span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
.nav-panel{
  position:absolute;
  top:calc(100% + 16px);
  right:0;
  width:min(420px, calc(100vw - 32px));
  background:linear-gradient(180deg, rgba(7,16,34,.98), rgba(6,14,29,.98));
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  box-shadow:0 24px 60px rgba(0,0,0,.34);
  padding:18px;
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px) scale(.98);
  transition:.24s ease;
}
.nav.menu-open .nav-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.nav-links{display:grid;grid-template-columns:1fr;gap:8px;margin:0}
.nav-links a{
  color:rgba(255,255,255,.92);
  font-size:1rem;
  font-weight:800;
  padding:14px 16px;
  border-radius:16px;
  transition:background .22s ease, color .22s ease, transform .22s ease;
}
.nav-links a.active,.nav-links a:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}
.nav-links a.active::after,.nav-links a:hover::after{display:none}
.nav-cta{display:block;margin-top:14px}
.nav-cta .btn{width:100%}
.topbar.is-compact{padding-top:6px}
.topbar.is-compact .nav{padding:12px 16px;border-radius:28px;width:min(1180px, calc(100% - 22px));box-shadow:0 20px 48px rgba(0,0,0,.28)}
.topbar.is-compact .brand-badge{width:82px;height:82px;flex-basis:82px}
.topbar.is-compact .burger{width:84px;height:84px;flex-basis:84px}
.topbar.is-compact .burger span{width:24px;height:3px}
.topbar.is-compact .brand-text strong{font-size:clamp(1rem, 2vw, 2rem)}
.topbar.is-compact .brand-text small{font-size:clamp(.65rem, 1vw, .95rem)}

.hero{background-image:var(--hero-bg), radial-gradient(circle at 65% 10%,rgba(65,150,255,.22),transparent 36%),linear-gradient(135deg,#07132e 0%,#0b1d46 48%,#0a1736 100%);background-size:cover, auto, auto;background-position:center;background-repeat:no-repeat}
.hero::before{background:linear-gradient(90deg,rgba(5,13,32,.90) 0%,rgba(5,13,32,.58) 48%,rgba(5,13,32,.42) 100%), linear-gradient(180deg, rgba(7,13,27,.18), rgba(7,13,27,.18))}
.hero-home .hero-inner{padding-top:90px}
.hero.page-header .hero-inner{grid-template-columns:1fr;min-height:430px;padding:110px 0 88px}
.hero.page-header .hero-copy{max-width:860px}
.hero.page-header .hero-copy h1{max-width:840px}
.hero.page-header .hero-copy p{max-width:760px;color:rgba(255,255,255,.88)}
.hero.page-header .hero-visual{display:none !important}
.hero.page-header .kicker{color:#8fdfff}
.hero.page-header .kicker::before{background:linear-gradient(90deg,#67dbff,#2f7ff7)}
.hero.page-header .hero-image{display:none !important}
.hero.page-legal .hero-inner{min-height:340px;padding:96px 0 70px}
.hero.page-legal .hero-copy h1{font-size:clamp(2.1rem, 5.8vw, 4rem)}

@media (max-width: 1180px){
  .nav{width:min(100%, calc(100% - 24px));padding:16px 18px}
  .brand-badge{width:96px;height:96px;flex-basis:96px}
  .burger{width:96px;height:96px;flex-basis:96px}
}
@media (max-width: 860px){
  .topbar{padding-top:8px}
  .nav{width:calc(100% - 16px);padding:14px 14px 14px 14px;border-radius:32px;gap:14px}
  .brand{gap:12px}
  .brand-badge{width:78px;height:78px;flex-basis:78px;padding:7px}
  .brand-text strong{font-size:clamp(1.2rem,6vw,2rem)}
  .brand-text small{font-size:clamp(.64rem,2.5vw,.95rem);letter-spacing:.12em}
  .burger{display:inline-flex;margin-left:0;width:82px;height:82px;flex-basis:82px}
  .burger span{width:24px;height:3px}
  .nav-panel{top:calc(100% + 10px);left:0;right:0;width:auto}
  .nav-cta{display:block}
  .hero-home .hero-inner{padding-top:34px}
  .hero.page-header .hero-inner{min-height:340px;padding:94px 0 58px}
}
@media (max-width: 560px){
  .nav{border-radius:28px}
  .brand-badge{width:64px;height:64px;flex-basis:64px}
  .burger{width:64px;height:64px;flex-basis:64px}
  .topbar.is-compact .brand-badge{width:56px;height:56px;flex-basis:56px}
  .topbar.is-compact .burger{width:58px;height:58px;flex-basis:58px}
  .brand-text strong{font-size:clamp(1.02rem,5.8vw,1.6rem)}
  .brand-text small{font-size:.62rem;letter-spacing:.1em}
  .hero.page-header .hero-inner{padding:84px 0 54px;min-height:300px}
}


/* V95 — accessibilité liens réseaux sociaux */
.footer.footer-refined .footer-socials a:focus-visible{
  outline:3px solid #7dd3fc;
  outline-offset:5px;
}
.footer.footer-refined .footer-socials a:hover{
  transform:translateY(-3px);
  filter:brightness(1.08);
}


/* V97 — fiche de devis automatique */
.quote-preview-panel{
  border:1px solid #dbe4f1;
  border-radius:22px;
  padding:18px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 18px 48px rgba(12,36,76,.08);
}
.quote-preview-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.quote-preview-head strong{
  display:block;
  color:#13233f;
  font-size:1.1rem;
  margin-bottom:4px;
}
.quote-preview-head p{
  margin:0;
  color:#5d6b82;
  line-height:1.55;
}
.quote-status{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  padding:8px 11px;
  border-radius:999px;
  background:#edf4ff;
  color:#1a73ff;
  font-weight:800;
  font-size:.82rem;
}
.quote-preview-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.quote-preview-actions .btn{
  min-height:44px;
  padding:11px 15px;
}
.quote-preview-box{
  margin-top:16px;
}
.quote-sheet{
  background:#fff;
  border:1px solid #dbe4f1;
  border-radius:18px;
  padding:22px;
  color:#13233f;
}
.quote-sheet-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:3px solid #1a73ff;
}
.quote-sheet-top strong{
  font-size:1.45rem;
  letter-spacing:.06em;
}
.quote-sheet-top span{
  color:#5d6b82;
  font-weight:800;
}
.quote-sheet-ref{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px;
  color:#5d6b82;
  margin-bottom:12px;
}
.quote-sheet section{
  border-top:1px solid #dbe4f1;
  padding-top:12px;
  margin-top:12px;
}
.quote-sheet h3{
  margin:0 0 8px;
  color:#1a73ff;
}
.quote-sheet p{
  margin:6px 0;
  line-height:1.55;
  color:#31405c;
}
@media(max-width:760px){
  .quote-preview-head{display:grid}
  .quote-status{width:max-content}
  .quote-preview-actions{display:grid}
  .quote-preview-actions .btn{width:100%}
  .quote-sheet-top,.quote-sheet-ref{display:grid}
}


/* V98 — Apple / premium immersive redesign */
:root{
  --apple-surface:rgba(255,255,255,.74);
  --apple-line:rgba(255,255,255,.65);
  --apple-shadow:0 18px 48px rgba(10,30,68,.10),0 2px 12px rgba(10,30,68,.05);
  --apple-shadow-strong:0 30px 90px rgba(8,18,43,.22);
}
body.apple-premium{
  background:
    radial-gradient(circle at 0% 0%, rgba(55,145,255,.18), transparent 28%),
    radial-gradient(circle at 100% 10%, rgba(65,230,255,.10), transparent 24%),
    radial-gradient(circle at 50% 100%, rgba(122,160,255,.08), transparent 28%),
    linear-gradient(180deg,#f7f9fd 0%,#f1f6fc 42%,#f7fafc 100%);
}
body.apple-premium .page-shell{position:relative;overflow:hidden;}
body.apple-premium .page-shell::before,
body.apple-premium .page-shell::after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:-1;
  border-radius:999px;
  filter:blur(40px);
  opacity:.42;
}
body.apple-premium .page-shell::before{
  top:10vh; left:-140px; width:300px; height:300px;
  background:rgba(73,145,255,.18);
}
body.apple-premium .page-shell::after{
  right:-160px; bottom:10vh; width:360px; height:360px;
  background:rgba(32,208,255,.10);
}
body.apple-premium .main{position:relative}
body.apple-premium .section,
body.apple-premium .section-tight{position:relative}
body.apple-premium .container{width:min(1260px, calc(100% - 34px));}
body.apple-premium .kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 16px; border-radius:999px;
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14);
  box-shadow:0 10px 28px rgba(0,0,0,.12); backdrop-filter:blur(16px);
}
body.apple-premium .kicker::before{width:24px}
body.apple-premium .section-header h2{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.02;letter-spacing:-.05em;max-width:14ch}
body.apple-premium .section-header p{max-width:58ch}
body.apple-premium .hero{min-height:94svh;background-attachment:scroll,scroll,scroll}
body.apple-premium .hero::before{background:linear-gradient(90deg,rgba(4,12,28,.84) 0%,rgba(4,12,28,.52) 48%,rgba(4,12,28,.30) 100%),linear-gradient(180deg,rgba(7,13,27,.18),rgba(7,13,27,.28))}
body.apple-premium .hero-home .hero-inner{min-height:calc(100svh - 132px);padding-top:110px;padding-bottom:82px}
body.apple-premium .hero.page-header .hero-inner{min-height:74svh;padding:120px 0 84px}
body.apple-premium .hero-copy{max-width:720px}
body.apple-premium .hero-copy h1{font-size:clamp(3rem,7.2vw,6.2rem);line-height:.93;letter-spacing:-.065em;text-wrap:balance;max-width:12ch}
body.apple-premium .hero-copy p{font-size:1.08rem;line-height:1.8;max-width:62ch;color:rgba(255,255,255,.92)}
body.apple-premium .hero-main-card{
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18);
  padding:16px; border-radius:34px; box-shadow:var(--apple-shadow-strong); backdrop-filter:blur(20px);
}
body.apple-premium .hero-main-card img{border-radius:24px;min-height:420px;object-fit:cover}
body.apple-premium .floating-tag{backdrop-filter:blur(18px);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22)}
body.apple-premium .hero-mosaic-card{
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);
  border-radius:24px;box-shadow:var(--apple-shadow);backdrop-filter:blur(14px);overflow:hidden;
}
body.apple-premium .hero-mosaic-card img{height:110px}
body.apple-premium .hero-mosaic-card span{padding:14px 15px;font-size:.95rem;font-weight:800}
body.apple-premium .hero-banner{position:relative;margin-top:-22px;padding-bottom:18px}
body.apple-premium .stats-bar{
  background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.72));
  border:1px solid rgba(255,255,255,.72);
  backdrop-filter:blur(18px);
  box-shadow:var(--apple-shadow);
}
body.apple-premium .card,
body.apple-premium .feature-item,
body.apple-premium .project-card,
body.apple-premium .sector-card,
body.apple-premium .news-card,
body.apple-premium .story-card,
body.apple-premium .team-card,
body.apple-premium .form-panel,
body.apple-premium .notice,
body.apple-premium .process .step,
body.apple-premium .coverage-card,
body.apple-premium details,
body.apple-premium .footer.footer-refined .footer-inner,
body.apple-premium .logo-pill,
body.apple-premium .metric,
body.apple-premium .card-small{
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72));
  border:1px solid var(--apple-line);
  box-shadow:var(--apple-shadow);
  backdrop-filter:blur(18px);
}
body.apple-premium .card.hover:hover,
body.apple-premium .project-card:hover,
body.apple-premium .sector-card:hover,
body.apple-premium .news-card:hover,
body.apple-premium .team-card:hover{transform:translateY(-6px) scale(1.008)}
body.apple-premium .feature-item h4,
body.apple-premium .card h3,
body.apple-premium .project-card h3,
body.apple-premium .sector-card h3{letter-spacing:-.025em}
body.apple-premium .info-banner,
body.apple-premium .cta-band{
  position:relative; overflow:hidden; border-radius:32px; isolation:isolate; min-height:210px;
  background:linear-gradient(135deg,#07132e 0%,#0b1d46 45%,#0ea5e9 100%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:var(--apple-shadow-strong);
}
body.apple-premium .cta-band::before,
body.apple-premium .info-banner::before{
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(90deg, rgba(8,14,30,.82) 0%, rgba(8,14,30,.46) 52%, rgba(8,14,30,.18) 100%), url('/assets/paysage-aerien.webp');
  background-size:cover; background-position:center; opacity:.95;
}
body.apple-premium .cta-band > *,
body.apple-premium .info-banner > *{position:relative;z-index:1}
body.apple-premium .cta-band .mark{background:rgba(255,255,255,.10);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16)}
body.apple-premium .btn{
  border-radius:999px; padding:14px 22px; box-shadow:0 10px 24px rgba(15,31,68,.16);
}
body.apple-premium .btn-primary{background:linear-gradient(135deg,#37a7ff 0%,#1a73ff 55%,#1150f4 100%)}
body.apple-premium .btn-secondary,
body.apple-premium .btn-outline,
body.apple-premium .btn-white{
  backdrop-filter:blur(16px)
}
body.apple-premium .immersive-band{padding:10px 0 26px}
body.apple-premium .immersive-card{
  position:relative; overflow:hidden; min-height:430px; border-radius:38px;
  display:grid; align-items:end; padding:42px; color:#fff;
  background-image:var(--band-bg); background-size:cover; background-position:center;
  box-shadow:var(--apple-shadow-strong);
}
body.apple-premium .immersive-card::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(5,12,27,.14) 0%, rgba(5,12,27,.34) 40%, rgba(5,12,27,.82) 100%), radial-gradient(circle at 78% 18%, rgba(44,174,255,.18), transparent 28%);
}
body.apple-premium .immersive-card > *{position:relative; z-index:1}
body.apple-premium .immersive-card .kicker{margin-bottom:12px}
body.apple-premium .immersive-card h2{margin:0 0 14px;font-size:clamp(2.2rem,5vw,4.3rem);line-height:.96;letter-spacing:-.06em;max-width:12ch;text-wrap:balance}
body.apple-premium .immersive-card p{margin:0;max-width:60ch;font-size:1.04rem;line-height:1.8;color:rgba(255,255,255,.86)}
body.apple-premium .immersive-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
body.apple-premium .split .content-panel,
body.apple-premium .featured-card,
body.apple-premium .sidebar-card{background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72));border:1px solid var(--apple-line);box-shadow:var(--apple-shadow);backdrop-filter:blur(18px)}
body.apple-premium input,
body.apple-premium select,
body.apple-premium textarea{background:rgba(248,251,255,.95);border-color:#d8e2f0}
body.apple-premium .service-hero{position:relative;overflow:hidden;background-image:var(--hero-bg), radial-gradient(circle at 75% 10%,rgba(89,165,255,.22),transparent 35%),linear-gradient(135deg,#07132e 0%,#0b1d46 58%,#0a1736 100%);background-size:cover,auto,auto;background-position:center}
body.apple-premium .service-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,32,.88) 0%,rgba(5,13,32,.48) 52%,rgba(5,13,32,.24) 100%)}
body.apple-premium .service-hero-inner{position:relative;z-index:1}
body.apple-premium .footer.footer-refined{margin-top:82px}
body.apple-premium .footer.footer-refined .footer-inner{background:transparent;border:0;box-shadow:none;backdrop-filter:none}
@media (max-width: 1080px){
  body.apple-premium .hero-home .hero-inner{padding-top:90px}
  body.apple-premium .immersive-card{min-height:370px;padding:32px}
}
@media (max-width: 860px){
  body.apple-premium .container{width:min(100%, calc(100% - 20px));}
  body.apple-premium .hero{min-height:auto}
  body.apple-premium .hero-home .hero-inner{min-height:auto;padding-top:42px;padding-bottom:44px}
  body.apple-premium .hero.page-header .hero-inner{min-height:52svh;padding:96px 0 56px}
  body.apple-premium .hero-copy h1{font-size:clamp(2.5rem,11vw,4.1rem)}
  body.apple-premium .hero-copy p{font-size:1rem}
  body.apple-premium .hero-main-card img{min-height:280px}
  body.apple-premium .immersive-card{min-height:340px;border-radius:28px;padding:24px}
  body.apple-premium .immersive-card h2{max-width:16ch}
  body.apple-premium .immersive-actions{display:grid}
}
@media (max-width: 560px){
  body.apple-premium .section-header h2{max-width:none}
  body.apple-premium .hero-banner{margin-top:-8px}
  body.apple-premium .stats-bar{border-radius:22px}
  body.apple-premium .immersive-card{min-height:300px;padding:22px}
  body.apple-premium .immersive-card h2{font-size:clamp(2rem,9.2vw,3rem)}
}


/* V99 — compact scroll menu */
.burger{
  gap:8px;
  flex-direction:row;
}
.burger-label{
  display:none;
  font-style:normal;
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.16em;
  color:#fff;
  text-transform:uppercase;
}
.burger span{margin:0}
.topbar.is-compact .nav{
  justify-content:space-between;
}
.topbar.is-compact .brand{
  flex:0 0 auto;
}
.topbar.is-compact .brand-text{
  opacity:0;
  width:0;
  overflow:hidden;
  transform:translateX(-10px);
  pointer-events:none;
  gap:0;
}
.topbar.is-compact .brand-badge{
  width:70px;
  height:70px;
  flex-basis:70px;
  padding:7px;
}
.topbar.is-compact .burger{
  width:auto;
  min-width:148px;
  height:70px;
  flex:0 0 auto;
  padding:0 22px;
  border-radius:999px;
  gap:10px;
}
.topbar.is-compact .burger-label{
  display:inline-block;
}
.topbar.is-compact .burger span{
  width:22px;
  height:3px;
}
.topbar.is-compact .nav-panel{
  top:calc(100% + 12px);
}
@media (max-width: 860px){
  .burger-label{display:inline-block;}
  .burger{
    width:auto;
    min-width:112px;
    padding:0 16px;
    border-radius:999px;
  }
  .topbar.is-compact .brand-text{display:none;}
  .topbar.is-compact .brand-badge{
    width:56px;
    height:56px;
    flex-basis:56px;
  }
  .topbar.is-compact .burger{
    min-width:104px;
    height:56px;
    padding:0 14px;
    gap:8px;
  }
  .topbar.is-compact .burger-label{
    font-size:.72rem;
    letter-spacing:.14em;
  }
}
@media (max-width: 560px){
  .burger-label{
    font-size:.68rem;
    letter-spacing:.12em;
  }
  .burger{min-width:98px;padding:0 12px;}
  .topbar.is-compact .burger{min-width:92px;padding:0 12px;}
}


/* V103 — grille services sans agriculture */
body.apple-premium .card-grid{
  align-items:stretch;
}
@media (min-width: 1181px){
  body.apple-premium .card-grid > article.card.hover:nth-last-child(1):nth-child(7){
    grid-column:auto;
  }
}


/* V104 — section solutions adaptées enrichie */
body.apple-premium .sector-grid{
  grid-template-columns:repeat(3,1fr);
}
body.apple-premium .sector-card-premium{
  display:flex;
  flex-direction:column;
}
body.apple-premium .sector-card-premium img{
  height:240px;
}
body.apple-premium .sector-card-premium .content{
  display:flex;
  flex-direction:column;
  gap:8px;
}
body.apple-premium .sector-card-premium .tag{
  width:max-content;
  max-width:100%;
}
body.apple-premium .sector-card-premium h3{
  margin-bottom:0;
}
body.apple-premium .sector-card-premium .sector-lead{
  color:#13233f;
  font-weight:900;
  font-size:1.02rem;
  line-height:1.35;
}
@media(max-width:1180px){
  body.apple-premium .sector-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:760px){
  body.apple-premium .sector-grid{
    grid-template-columns:1fr;
  }
  body.apple-premium .sector-card-premium img{
    height:220px;
  }
}


/* V106 — corrections de concordance */
body.apple-premium .section-header h1{
  margin:0;
  font-size:clamp(2rem,4.4vw,3.6rem);
  line-height:1.02;
  letter-spacing:-.05em;
  max-width:14ch;
}
body.apple-premium .project-grid .project-card{
  min-height:100%;
}


/* V107 — urgence visible rouge */
.nav-emergency{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff1f2d 0%,#c90418 55%,#8f0010 100%);
  color:#fff;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 14px 34px rgba(201,4,24,.34), inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.nav-emergency:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:0 18px 42px rgba(201,4,24,.42), inset 0 1px 0 rgba(255,255,255,.25);
}
.nav-emergency::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#fff;
  margin-right:9px;
  box-shadow:0 0 0 0 rgba(255,255,255,.80);
  animation:urgentPulse 1.55s infinite;
}
@keyframes urgentPulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}
  70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
.notice.notice-urgent{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 85% 10%, rgba(255,255,255,.22), transparent 18rem),
    linear-gradient(135deg,#ff2332 0%,#c90519 48%,#7d000d 100%) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  color:#fff !important;
  box-shadow:0 26px 68px rgba(157,0,15,.32), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.notice.notice-urgent::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:48px 48px;
  opacity:.24;
  pointer-events:none;
  z-index:-1;
}
.notice.notice-urgent h3{
  color:#fff !important;
  font-size:clamp(1.55rem,3vw,2.15rem);
}
.notice.notice-urgent p{
  color:rgba(255,255,255,.92) !important;
}
.notice.notice-urgent .btn{
  background:#fff !important;
  color:#a40011 !important;
  border-color:#fff !important;
  box-shadow:0 16px 36px rgba(0,0,0,.18) !important;
}
.footer.footer-refined .footer-contact-stack .footer-urgent{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:8px auto 0;
  padding:12px 18px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff2332,#b50015);
  color:#fff !important;
  box-shadow:0 14px 34px rgba(190,0,20,.28);
}
.footer.footer-refined .footer-contact-stack .footer-urgent .label{
  color:#fff !important;
  font-weight:950;
}
.topbar.is-compact .nav-emergency{
  min-height:56px;
  padding:0 20px;
  font-size:.86rem;
}
@media(max-width:1180px){
  .nav-emergency{
    min-height:44px;
    padding:0 14px;
    font-size:.82rem;
  }
}
@media(max-width:860px){
  .nav-emergency{
    min-height:52px;
    padding:0 13px;
    font-size:.74rem;
    letter-spacing:.05em;
  }
  .nav-emergency::before{
    width:7px;
    height:7px;
    margin-right:7px;
  }
  .topbar.is-compact .nav-emergency{
    min-height:50px;
    padding:0 12px;
    font-size:.72rem;
  }
}
@media(max-width:560px){
  .nav-emergency{
    min-height:46px;
    padding:0 10px;
    font-size:.66rem;
  }
  .topbar.is-compact .nav-emergency{
    min-height:46px;
    padding:0 10px;
    font-size:.66rem;
  }
}


/* V108 — barre rétablie + compact scroll strict */
.nav-panel .btn-emergency,
.btn-emergency{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:10px;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  background:linear-gradient(135deg,#ff1f2d 0%,#c90418 55%,#8f0010 100%) !important;
  color:#fff !important;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 14px 34px rgba(201,4,24,.34), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.nav-panel .btn-emergency:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
}
.topbar .nav > .nav-emergency{
  display:none !important;
}
.topbar.is-compact .nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.topbar.is-compact .brand{
  flex:0 0 auto;
}
.topbar.is-compact .brand-text{
  display:none !important;
}
.topbar.is-compact .brand-badge{
  width:70px !important;
  height:70px !important;
  flex-basis:70px !important;
  padding:7px !important;
}
.topbar.is-compact .burger{
  width:auto !important;
  min-width:148px !important;
  height:70px !important;
  flex:0 0 auto !important;
  padding:0 22px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}
.topbar.is-compact .burger-label{
  display:inline-block !important;
  font-style:normal;
  color:#fff;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.topbar.is-compact .burger span{
  width:22px !important;
  height:3px !important;
}
@media(max-width:860px){
  .topbar.is-compact .brand-badge{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }
  .topbar.is-compact .burger{
    min-width:104px !important;
    height:56px !important;
    padding:0 14px !important;
    gap:8px !important;
  }
  .topbar.is-compact .burger-label{
    font-size:.72rem !important;
    letter-spacing:.14em !important;
  }
}
@media(max-width:560px){
  .topbar.is-compact .burger{
    min-width:92px !important;
    height:46px !important;
    padding:0 12px !important;
  }
  .topbar.is-compact .brand-badge{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
  }
  .topbar.is-compact .burger-label{
    font-size:.66rem !important;
  }
}


/* V109 — accueil sans photos superposées dans le hero */
body.apple-premium .hero-home.hero-text-only .hero-inner{
  grid-template-columns:1fr !important;
}
body.apple-premium .hero-home.hero-text-only .hero-copy{
  max-width:820px;
}
body.apple-premium .hero-home.hero-text-only .hero-copy h1{
  max-width:13ch;
}
body.apple-premium .hero-home.hero-text-only .hero-copy p{
  max-width:68ch;
}
body.apple-premium .hero-home.hero-text-only .hero-visual{
  display:none !important;
}


/* V110 — correction envoi demande de devis */
.form-submit-status{
  display:none;
  margin:14px 0;
  padding:14px 16px;
  border-radius:14px;
  font-weight:800;
  line-height:1.45;
}
.form-submit-status.is-error{
  display:block;
  background:#fff1f2;
  color:#b50015;
  border:1px solid #fecdd3;
}
.form-submit-status.is-success{
  display:block;
  background:#ecfdf5;
  color:#047857;
  border:1px solid #a7f3d0;
}
button[disabled],
input[type="submit"][disabled]{
  opacity:.68;
  cursor:not-allowed;
}


/* V111 — confirmation animée après envoi devis */
.fs38-send-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(4,10,24,.72);
  backdrop-filter:blur(18px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}
.fs38-send-overlay.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.fs38-send-card{
  width:min(520px, 100%);
  text-align:center;
  color:#fff;
  border-radius:34px;
  padding:34px 28px 30px;
  background:
    radial-gradient(circle at 50% 0%, rgba(55,194,255,.28), transparent 16rem),
    linear-gradient(180deg, rgba(9,19,43,.94), rgba(5,11,26,.96));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 36px 100px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.12);
  transform:translateY(18px) scale(.92);
  opacity:0;
}
.fs38-send-overlay.is-visible .fs38-send-card{
  animation:fs38CardIn .62s cubic-bezier(.2,.9,.2,1) forwards;
}
.fs38-send-overlay.is-leaving{
  opacity:0;
}
.fs38-send-overlay.is-leaving .fs38-send-card{
  animation:fs38CardOut .48s ease forwards;
}
.fs38-send-logo-wrap{
  width:210px;
  height:210px;
  margin:0 auto 10px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(circle, rgba(53,194,255,.24), rgba(255,255,255,.06) 58%, transparent 70%);
  box-shadow:0 0 58px rgba(53,194,255,.24);
}
.fs38-send-logo{
  width:168px;
  height:168px;
  border-radius:50%;
  object-fit:cover;
  animation:fs38LogoPop 1.05s cubic-bezier(.2,1.2,.2,1) both;
  box-shadow:0 22px 55px rgba(0,0,0,.42), 0 0 0 5px rgba(255,255,255,.08);
}
.fs38-send-check{
  width:52px;
  height:52px;
  margin:0 auto 12px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#16a34a,#22c55e);
  color:#fff;
  font-size:2rem;
  font-weight:950;
  box-shadow:0 16px 36px rgba(34,197,94,.30);
  animation:fs38Check .7s ease .28s both;
}
.fs38-send-card h2{
  margin:0;
  font-size:clamp(1.8rem,4vw,2.55rem);
  line-height:1;
  letter-spacing:-.045em;
}
.fs38-send-card p{
  margin:12px auto 0;
  max-width:360px;
  color:rgba(255,255,255,.82);
  line-height:1.55;
}
@keyframes fs38CardIn{
  0%{opacity:0;transform:translateY(18px) scale(.92)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes fs38CardOut{
  0%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:0;transform:translateY(-12px) scale(.96)}
}
@keyframes fs38LogoPop{
  0%{opacity:0;transform:scale(.35) rotate(-10deg)}
  62%{opacity:1;transform:scale(1.08) rotate(2deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes fs38Check{
  0%{opacity:0;transform:scale(.25)}
  70%{opacity:1;transform:scale(1.12)}
  100%{opacity:1;transform:scale(1)}
}
@media(max-width:560px){
  .fs38-send-card{border-radius:28px;padding:28px 20px 24px}
  .fs38-send-logo-wrap{width:170px;height:170px}
  .fs38-send-logo{width:138px;height:138px}
}


/* V111 — logo animé sur page merci */
.thanks-logo-animated{
  width:190px;
  height:190px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 0 22px;
  background:radial-gradient(circle, rgba(53,194,255,.24), rgba(255,255,255,.06) 58%, transparent 70%);
  box-shadow:0 0 58px rgba(53,194,255,.24);
}
.thanks-logo-animated img{
  width:154px;
  height:154px;
  border-radius:50%;
  object-fit:cover;
  animation:fs38LogoPop 1.05s cubic-bezier(.2,1.2,.2,1) both;
  box-shadow:0 22px 55px rgba(0,0,0,.42), 0 0 0 5px rgba(255,255,255,.08);
}


/* V112 — menu permanent, panneau intégré à l’image, compact strict au scroll */
.topbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:9000 !important;
}
.nav{
  transition:width .28s ease, padding .28s ease, border-radius .28s ease, box-shadow .28s ease, background .28s ease !important;
}
.nav-panel{
  overflow:hidden !important;
  width:min(720px, calc(100vw - 32px)) !important;
  right:0 !important;
  left:auto !important;
  background:rgba(4,10,24,.42) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 32px 90px rgba(0,0,0,.38) !important;
  backdrop-filter:blur(22px) saturate(135%) !important;
}
.nav-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(4,10,24,.88), rgba(4,10,24,.46)),
    url('/assets/hero-accueil-drone.webp');
  background-size:cover;
  background-position:center;
  opacity:.82;
  z-index:0;
}
.nav-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 80% 10%, rgba(53,194,255,.18), transparent 18rem);
  z-index:0;
  pointer-events:none;
}
.nav-panel > *{
  position:relative;
  z-index:1;
}
.nav-panel .nav-links a{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.nav-panel .nav-links a:hover,
.nav-panel .nav-links a.active{
  background:rgba(255,255,255,.14) !important;
}
.topbar.is-compact .nav{
  width:min(330px, calc(100vw - 22px)) !important;
  padding:8px 10px !important;
  border-radius:999px !important;
  gap:10px !important;
  justify-content:space-between !important;
}
.topbar.is-compact .brand{
  flex:0 0 auto !important;
  gap:0 !important;
}
.topbar.is-compact .brand-text{
  display:none !important;
}
.topbar.is-compact .brand-badge{
  width:56px !important;
  height:56px !important;
  flex-basis:56px !important;
  padding:6px !important;
}
.topbar.is-compact .burger{
  width:auto !important;
  min-width:128px !important;
  height:56px !important;
  flex:0 0 auto !important;
  padding:0 18px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
}
.topbar.is-compact .burger-label{
  display:inline-block !important;
  font-style:normal !important;
  color:#fff !important;
  font-weight:950 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  font-size:.76rem !important;
}
.topbar.is-compact .burger span{
  width:22px !important;
  height:3px !important;
}
.topbar.is-compact .nav-panel{
  top:calc(100% + 10px) !important;
  right:0 !important;
}
@media(max-width:860px){
  .nav-panel{
    left:0 !important;
    right:0 !important;
    width:auto !important;
  }
  .topbar.is-compact .nav{
    width:min(260px, calc(100vw - 18px)) !important;
    padding:7px 8px !important;
  }
  .topbar.is-compact .brand-badge{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
  }
  .topbar.is-compact .burger{
    min-width:104px !important;
    height:48px !important;
    padding:0 12px !important;
  }
  .topbar.is-compact .burger-label{
    font-size:.68rem !important;
  }
}
@media(max-width:560px){
  .topbar.is-compact .nav{
    width:min(230px, calc(100vw - 14px)) !important;
  }
  .topbar.is-compact .brand-badge{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
  .topbar.is-compact .burger{
    min-width:96px !important;
    height:44px !important;
  }
}

/* V112 — confirmation native Netlify Forms */
.fs38-send-overlay{
  z-index:99999 !important;
}


/* V113 — footer horizontal sur ordinateur */
@media (min-width: 921px){
  .footer.footer-refined{
    padding:46px 28px 34px;
  }
  .footer.footer-refined .footer-inner{
    width:min(1240px, 100%);
    display:grid;
    grid-template-columns:180px minmax(230px, 1.08fr) minmax(210px, .95fr) minmax(220px, .95fr) 120px;
    grid-template-areas:
      "logo contact legal socials backtop"
      "region contact legal handle backtop"
      "copy copy accred accred backtop";
    gap:18px 28px;
    align-items:center;
    text-align:left;
  }
  .footer.footer-refined .footer-logo-wrap{
    grid-area:logo;
    justify-content:flex-start;
    margin-top:0;
  }
  .footer.footer-refined .footer-logo-main{
    width:132px;
    height:132px;
  }
  .footer.footer-refined .footer-region{
    grid-area:region;
    margin-top:0;
    font-size:1rem;
    line-height:1.25;
    letter-spacing:.08em;
  }
  .footer.footer-refined .footer-region .sep{
    display:block;
    width:0;
    height:4px;
  }
  .footer.footer-refined .footer-contact-stack{
    grid-area:contact;
    margin-top:0;
    gap:9px;
    justify-items:start;
  }
  .footer.footer-refined .footer-contact-stack a,
  .footer.footer-refined .footer-contact-stack span{
    font-size:1rem;
    line-height:1.32;
    font-weight:850;
  }
  .footer.footer-refined .footer-contact-stack .footer-urgent{
    margin:4px 0 0;
    padding:10px 14px;
    font-size:.96rem;
  }
  .footer.footer-refined .footer-links-legal{
    grid-area:legal;
    margin-top:0;
    gap:10px;
  }
  .footer.footer-refined .footer-links-legal a{
    font-size:.98rem;
    line-height:1.35;
  }
  .footer.footer-refined .footer-socials{
    grid-area:socials;
    margin-top:0;
    justify-content:flex-start;
    gap:12px;
  }
  .footer.footer-refined .footer-socials a{
    width:44px;
    height:44px;
    font-size:1.35rem;
    border-radius:12px;
  }
  .footer.footer-refined .footer-handle{
    grid-area:handle;
    margin-top:0;
    font-size:1rem;
    text-align:left;
  }
  .footer.footer-refined .footer-copy{
    grid-area:copy;
    margin-top:8px;
    font-size:.98rem;
    text-align:left;
  }
  .footer.footer-refined .footer-accreditation{
    grid-area:accred;
    margin-top:8px;
    font-size:.95rem;
    line-height:1.35;
    text-align:left;
  }
  .footer.footer-refined .footer-backtop{
    grid-area:backtop;
    margin-top:0;
    justify-self:end;
    align-self:center;
    font-size:.9rem;
    text-align:center;
  }
  .footer.footer-refined .footer-backtop svg{
    width:34px;
    height:34px;
  }
}
@media (min-width: 921px) and (max-width: 1120px){
  .footer.footer-refined .footer-inner{
    grid-template-columns:150px minmax(210px, 1fr) minmax(190px, .9fr) minmax(180px, .8fr);
    grid-template-areas:
      "logo contact legal socials"
      "region contact legal handle"
      "copy copy accred accred"
      "backtop backtop backtop backtop";
  }
  .footer.footer-refined .footer-backtop{
    justify-self:center;
    margin-top:12px;
    flex-direction:row;
  }
  .footer.footer-refined .footer-logo-main{
    width:118px;
    height:118px;
  }
}


/* V114 — boutons flottants et Assistant IA */
.floating-actions{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:8500;
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-end;
  pointer-events:none;
}
.floating-btn{
  pointer-events:auto;
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(4,10,24,.78);
  color:#fff;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 18px 44px rgba(0,0,0,.28);
  backdrop-filter:blur(18px) saturate(140%);
  transition:transform .22s ease, opacity .22s ease, visibility .22s ease, box-shadow .22s ease;
}
.floating-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 58px rgba(0,0,0,.34);
}
.floating-ai{
  background:linear-gradient(135deg, rgba(22,107,255,.94), rgba(0,191,255,.82));
}
.floating-top{
  background:linear-gradient(135deg, rgba(8,17,38,.92), rgba(16,37,79,.88));
}
.floating-top.is-hidden{
  opacity:0;
  visibility:hidden;
  transform:translateY(14px) scale(.94);
  pointer-events:none;
}
.floating-icon{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.14);
  font-weight:950;
}
.ai-assistant-panel{
  position:fixed;
  inset:0;
  z-index:8600;
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
  padding:24px 22px 96px;
  background:rgba(2,6,18,.20);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, visibility .24s ease;
}
.ai-assistant-panel.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.ai-panel-card{
  position:relative;
  width:min(430px, calc(100vw - 28px));
  border-radius:28px;
  padding:24px;
  color:#fff;
  background:
    linear-gradient(135deg, rgba(4,10,24,.92), rgba(5,22,54,.86)),
    url('/assets/hero-accueil-drone.webp');
  background-size:cover;
  background-position:center;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 32px 92px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(24px) saturate(145%);
  transform:translateY(20px) scale(.96);
  transition:transform .26s ease;
}
.ai-assistant-panel.is-open .ai-panel-card{
  transform:translateY(0) scale(1);
}
.ai-panel-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:1.4rem;
  cursor:pointer;
}
.ai-panel-kicker{
  color:#70d8ff;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  font-weight:950;
  margin-bottom:8px;
}
.ai-panel-card h3{
  margin:0 42px 10px 0;
  font-size:1.55rem;
  line-height:1.05;
}
.ai-panel-card p,
.ai-panel-card small{
  color:rgba(255,255,255,.82);
  line-height:1.5;
}
.ai-quick-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
  margin:16px 0;
}
.ai-quick-grid button{
  min-height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:850;
  cursor:pointer;
}
.ai-quick-grid button:hover{
  background:rgba(255,255,255,.16);
}
#ai-assistant-message{
  width:100%;
  min-height:98px;
  resize:vertical;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.92);
  color:#10203a;
  padding:14px;
  font:inherit;
}
.ai-panel-actions{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:10px;
  margin:14px 0 10px;
}
.ai-panel-actions .btn{
  width:100%;
  justify-content:center;
}
@media(max-width:720px){
  .floating-actions{
    right:14px;
    bottom:14px;
  }
  .floating-btn{
    min-height:48px;
    padding:0 12px;
    font-size:.78rem;
  }
  .floating-icon{
    width:28px;
    height:28px;
  }
  .ai-assistant-panel{
    padding:18px 14px 82px;
  }
  .ai-panel-card{
    border-radius:24px;
    padding:20px;
  }
}


/* V114 — pages légales professionnelles */
.footer.footer-refined .footer-legal-title{
  color:#ffffff;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
  margin-bottom:4px;
}
.legal-page-content .legal-hero{
  padding-top:150px;
}
.legal-category-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.legal-category{
  padding:24px;
  border-radius:24px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(15,35,75,.10);
  box-shadow:0 18px 54px rgba(12,36,76,.08);
}
.legal-category h2{
  margin:0 0 12px;
  font-size:1.28rem;
  color:#10203a;
}
.legal-category ul{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:9px;
}
.legal-category li{
  color:#53627a;
  line-height:1.58;
}
@media(max-width:820px){
  .legal-category-grid{
    grid-template-columns:1fr;
  }
  .legal-page-content .legal-hero{
    padding-top:120px;
  }
}


/* V115 — Assistant IA premium intelligent */
.floating-ai{
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.35), transparent 2.4rem),
    linear-gradient(135deg,#0a7cff 0%,#00c8ff 52%,#6d5cff 100%) !important;
  box-shadow:0 22px 58px rgba(0,124,255,.34), 0 0 0 1px rgba(255,255,255,.16) inset !important;
}
.floating-ai .floating-icon{
  background:rgba(255,255,255,.20);
  box-shadow:0 0 24px rgba(255,255,255,.16) inset;
}
.ai-assistant-premium{
  background:
    radial-gradient(circle at 78% 22%, rgba(25,155,255,.20), transparent 18rem),
    radial-gradient(circle at 25% 82%, rgba(92,84,255,.18), transparent 18rem),
    rgba(2,6,18,.34) !important;
  backdrop-filter:blur(10px);
}
.ai-panel-card-premium{
  overflow:hidden;
  width:min(520px, calc(100vw - 28px)) !important;
  padding:0 !important;
  background:
    linear-gradient(145deg, rgba(3,8,22,.96), rgba(8,24,58,.90)),
    url('/assets/hero-accueil-drone.webp') !important;
  background-size:cover !important;
  background-position:center !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 38px 120px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.08) inset !important;
}
.ai-panel-card-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(2,6,18,.18), rgba(2,6,18,.82)),
    radial-gradient(circle at 82% 12%, rgba(0,200,255,.30), transparent 15rem),
    radial-gradient(circle at 10% 0%, rgba(255,255,255,.13), transparent 12rem);
  z-index:0;
}
.ai-panel-card-premium > *{
  position:relative;
  z-index:1;
}
.ai-premium-orb{
  position:absolute;
  top:-92px;
  right:-76px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,200,255,.40), rgba(0,122,255,.08) 58%, transparent 70%);
  filter:blur(2px);
  animation:aiOrbFloat 7s ease-in-out infinite;
}
.ai-panel-head{
  display:flex;
  align-items:center;
  gap:14px;
  padding:24px 24px 12px;
}
.ai-mini-logo{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 40px rgba(0,0,0,.24);
}
.ai-mini-logo img{
  width:46px;
  height:46px;
  border-radius:50%;
  object-fit:cover;
}
.ai-panel-card-premium .ai-panel-kicker{
  margin:0 0 5px;
  color:#78dcff;
}
.ai-panel-card-premium h3{
  margin:0 !important;
  font-size:clamp(1.45rem,3vw,2rem) !important;
  letter-spacing:-.04em;
}
.ai-panel-intro{
  margin:0;
  padding:0 24px 18px;
  color:rgba(255,255,255,.82) !important;
  line-height:1.55;
}
.ai-mode-bar{
  display:flex;
  gap:8px;
  margin:0 24px 16px;
  padding:6px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
}
.ai-mode-bar button{
  flex:1;
  min-height:38px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:rgba(255,255,255,.72);
  font-weight:900;
  cursor:pointer;
}
.ai-mode-bar button.is-active{
  background:linear-gradient(135deg, rgba(0,124,255,.92), rgba(0,200,255,.72));
  color:#fff;
  box-shadow:0 12px 32px rgba(0,124,255,.22);
}
.ai-panel-card-premium .ai-quick-grid{
  padding:0 24px;
  grid-template-columns:repeat(3,1fr);
}
.ai-panel-card-premium .ai-quick-grid button{
  min-height:44px;
  border-radius:15px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.12);
}
.ai-input-label{
  display:block;
  margin:16px 24px 8px;
  color:#fff;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.76rem;
}
.ai-panel-card-premium #ai-assistant-message{
  width:calc(100% - 48px);
  margin:0 24px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 16px 44px rgba(0,0,0,.18) inset;
}
.ai-intelligence-panel{
  margin:16px 24px 0;
  padding:16px;
  border-radius:22px;
  background:linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 18px 48px rgba(0,0,0,.20);
}
.ai-thinking-line{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:10px;
  color:rgba(255,255,255,.74);
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.ai-thinking-line span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#70d8ff;
  opacity:.65;
}
.ai-thinking-line.is-thinking span{
  animation:aiDot .52s ease-in-out infinite alternate;
}
.ai-thinking-line.is-thinking span:nth-child(2){animation-delay:.12s}
.ai-thinking-line.is-thinking span:nth-child(3){animation-delay:.24s}
.ai-result-title{
  color:#70d8ff;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.ai-result-service{
  margin-top:5px;
  color:#fff;
  font-size:1.22rem;
  line-height:1.15;
  font-weight:950;
}
.ai-result-text{
  margin:9px 0 0;
  color:rgba(255,255,255,.82) !important;
  line-height:1.48;
}
.ai-result-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.ai-result-tags span{
  padding:7px 10px;
  border-radius:999px;
  background:rgba(112,216,255,.13);
  color:#b8efff;
  border:1px solid rgba(112,216,255,.20);
  font-size:.78rem;
  font-weight:850;
}
.ai-panel-card-premium .ai-panel-actions{
  padding:18px 24px 0;
  margin:0;
}
.ai-panel-disclaimer{
  display:block;
  padding:14px 24px 22px;
}
@keyframes aiOrbFloat{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(-14px,16px) scale(1.08)}
}
@keyframes aiDot{
  from{transform:translateY(0);opacity:.45}
  to{transform:translateY(-5px);opacity:1}
}
@media(max-width:560px){
  .ai-panel-card-premium .ai-quick-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .ai-panel-head,
  .ai-panel-intro,
  .ai-panel-card-premium .ai-quick-grid,
  .ai-panel-card-premium .ai-panel-actions,
  .ai-panel-disclaimer{
    padding-left:18px;
    padding-right:18px;
  }
  .ai-mode-bar,
  .ai-intelligence-panel{
    margin-left:18px;
    margin-right:18px;
  }
  .ai-input-label{
    margin-left:18px;
    margin-right:18px;
  }
  .ai-panel-card-premium #ai-assistant-message{
    width:calc(100% - 36px);
    margin-left:18px;
    margin-right:18px;
  }
}


/* V116 — formulaire premium professionnel */
.devis-reference-card{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border-radius:22px;
  background:
    radial-gradient(circle at 90% 10%, rgba(26,115,255,.16), transparent 14rem),
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(241,247,255,.88));
  border:1px solid rgba(26,115,255,.18);
  box-shadow:0 18px 52px rgba(12,36,76,.08);
}
.devis-reference-card strong{
  font-size:1.1rem;
  color:#10203a;
}
.devis-reference-card p{
  margin:.25rem 0 0;
  color:#5d6b82;
}
.devis-reference-display{
  padding:11px 14px;
  border-radius:999px;
  background:#0b1b35;
  color:#fff;
  font-weight:950;
  letter-spacing:.06em;
  white-space:nowrap;
}
.field-help{
  margin:8px 0 0;
  color:#6b7890;
  font-size:.88rem;
  line-height:1.45;
}
.anti-spam-field{
  padding:16px;
  border-radius:18px;
  background:#f8fbff;
  border:1px dashed rgba(26,115,255,.24);
}
.form-grid select,
.form-grid input,
.form-grid textarea{
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.form-grid select:focus,
.form-grid input:focus,
.form-grid textarea:focus{
  border-color:#1a73ff !important;
  box-shadow:0 0 0 4px rgba(26,115,255,.12) !important;
}

/* V116 — Assistant IA poussé */
.ai-panel-card-v116{
  max-height:min(88vh, 860px);
  overflow:auto;
}
.ai-guided-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:0 24px;
  margin-top:14px;
}
.ai-guided-fields div:last-child{
  grid-column:1/-1;
}
.ai-guided-fields label{
  display:block;
  margin:0 0 6px;
  color:#b8efff;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ai-guided-fields input,
.ai-guided-fields select{
  width:100%;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.92);
  color:#10203a;
  padding:0 12px;
  font:inherit;
  font-weight:750;
}
.ai-estimate-box{
  margin-top:14px;
  padding:13px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}
.ai-estimate-box strong{
  display:block;
  margin-bottom:5px;
  color:#fff;
}
.ai-estimate-text{
  color:#b8efff;
  line-height:1.45;
}
.ai-next-questions{
  margin-top:12px;
  padding:13px 14px;
  border-radius:16px;
  background:rgba(0,200,255,.08);
  border:1px solid rgba(112,216,255,.16);
}
.ai-next-questions strong{
  display:block;
  margin-bottom:6px;
  color:#fff;
}
.ai-next-questions ul{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:5px;
  color:rgba(255,255,255,.82);
}
.ai-panel-card-v116 .ai-panel-actions{
  grid-template-columns:1fr 1fr .65fr;
}
.ai-generate-demand{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
}
@media(max-width:560px){
  .ai-guided-fields{
    grid-template-columns:1fr;
    padding-left:18px;
    padding-right:18px;
  }
  .ai-guided-fields div:last-child{
    grid-column:auto;
  }
  .ai-panel-card-v116 .ai-panel-actions{
    grid-template-columns:1fr;
  }
  .devis-reference-card{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* V116 — références, preuves et pages prestations vendeuses */
.reference-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.reference-card{
  overflow:hidden;
  border-radius:26px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,35,75,.10);
  box-shadow:0 18px 54px rgba(12,36,76,.08);
}
.reference-card img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
}
.reference-card div{
  padding:20px;
}
.reference-card span{
  color:#1a73ff;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.74rem;
}
.reference-card h3{
  margin:7px 0 8px;
  color:#10203a;
}
.reference-card p{
  color:#5d6b82;
  line-height:1.55;
}
.proof-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:20px 0 24px;
}
.proof-strip span{
  padding:12px 15px;
  border-radius:999px;
  background:rgba(26,115,255,.10);
  border:1px solid rgba(26,115,255,.14);
  color:#10203a;
  font-weight:850;
}
.center-actions{
  display:flex;
  justify-content:center;
  margin-top:12px;
}
.sales-flow-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.sales-flow-grid article{
  padding:18px;
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(26,115,255,.12), transparent 10rem),
    rgba(255,255,255,.82);
  border:1px solid rgba(15,35,75,.10);
  box-shadow:0 16px 44px rgba(12,36,76,.07);
}
.sales-flow-grid span{
  display:block;
  margin-bottom:8px;
  color:#1a73ff;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:.72rem;
}
.sales-flow-grid p{
  margin:0;
  color:#53627a;
  line-height:1.54;
}
.proof-panel{
  background:
    radial-gradient(circle at 100% 0%, rgba(26,115,255,.10), transparent 12rem),
    rgba(255,255,255,.78) !important;
}
@media(max-width:1180px){
  .sales-flow-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .sales-flow-grid,
  .reference-grid{
    grid-template-columns:1fr;
  }
}


/* V117 — menu accueil intégré au hero + compact permanent strict */
.topbar{
  position:fixed !important;
  top:18px !important;
  left:0 !important;
  right:0 !important;
  z-index:9500 !important;
  padding:0 18px !important;
  pointer-events:none;
  transition:top .24s ease, padding .24s ease;
}
.topbar .nav{
  pointer-events:auto;
  width:min(1180px, calc(100vw - 36px)) !important;
  margin:0 auto !important;
  position:relative !important;
  min-height:82px;
  padding:10px 12px 10px 14px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg, rgba(4,10,24,.62), rgba(6,22,50,.42)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter:blur(22px) saturate(140%) !important;
}
body[data-page="home"] .topbar:not(.is-compact) .nav{
  background:
    linear-gradient(135deg, rgba(4,10,24,.38), rgba(5,19,44,.28)),
    radial-gradient(circle at 15% 0%, rgba(53,194,255,.16), transparent 18rem) !important;
  border-color:rgba(255,255,255,.20) !important;
  box-shadow:0 28px 86px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
body[data-page="home"] .topbar:not(.is-compact) .nav::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:url('/assets/hero-accueil-drone.webp') center top / cover no-repeat;
  opacity:.18;
  z-index:0;
  pointer-events:none;
  mix-blend-mode:screen;
}
.topbar .brand,
.topbar .burger,
.topbar .nav-panel{
  position:relative;
  z-index:1;
}
.topbar .brand-text{
  transition:opacity .2s ease, width .24s ease, transform .24s ease;
}
.nav-panel{
  overflow:hidden !important;
  top:calc(100% + 12px) !important;
  right:0 !important;
  left:auto !important;
  width:min(720px, calc(100vw - 36px)) !important;
  padding:20px !important;
  border-radius:34px !important;
  background:rgba(4,10,24,.46) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 38px 110px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter:blur(24px) saturate(145%) !important;
}
.nav-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(4,10,24,.86), rgba(4,10,24,.48)),
    url('/assets/hero-accueil-drone.webp') center top / cover no-repeat !important;
  opacity:.92 !important;
  z-index:0;
}
.nav-panel::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 84% 8%, rgba(53,194,255,.22), transparent 18rem),
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:auto, 44px 44px, 44px 44px;
  z-index:0;
  pointer-events:none;
}
.nav-panel > *{
  position:relative;
  z-index:1;
}
body[data-page="home"] .topbar:not(.is-compact) .nav-panel{
  width:min(960px, calc(100vw - 36px)) !important;
  right:0 !important;
  background:rgba(4,10,24,.30) !important;
  transform-origin:top right;
}
body[data-page="home"] .topbar:not(.is-compact) .nav-panel::before{
  background:
    linear-gradient(135deg, rgba(4,10,24,.78), rgba(4,10,24,.42)),
    url('/assets/hero-accueil-drone.webp') center top / cover no-repeat !important;
}
.nav-links{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:10px !important;
}
.nav-links a{
  background:rgba(255,255,255,.065) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  color:rgba(255,255,255,.94) !important;
}
.nav-links a.active,
.nav-links a:hover{
  background:rgba(255,255,255,.16) !important;
  transform:translateY(-1px) !important;
}
.nav-cta{
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
}
.nav-cta .btn{
  flex:1 1 0;
  justify-content:center;
}
/* état compact : seulement logo + MENU + trois traits */
.topbar.is-compact{
  top:10px !important;
  padding:0 12px !important;
}
.topbar.is-compact .nav{
  width:min(238px, calc(100vw - 18px)) !important;
  min-height:54px !important;
  padding:6px 7px !important;
  gap:8px !important;
  justify-content:space-between !important;
  border-radius:999px !important;
  background:linear-gradient(135deg, rgba(4,10,24,.86), rgba(7,24,54,.70)) !important;
  box-shadow:0 18px 56px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.13) !important;
}
.topbar.is-compact .nav::before{
  display:none !important;
}
.topbar.is-compact .brand{
  flex:0 0 auto !important;
  min-width:auto !important;
  gap:0 !important;
}
.topbar.is-compact .brand-text{
  display:none !important;
  opacity:0 !important;
  width:0 !important;
  transform:translateX(-8px) !important;
  pointer-events:none !important;
}
.topbar.is-compact .brand-badge{
  width:44px !important;
  height:44px !important;
  flex-basis:44px !important;
  padding:5px !important;
}
.topbar.is-compact .burger{
  width:auto !important;
  min-width:104px !important;
  height:44px !important;
  flex:0 0 auto !important;
  padding:0 12px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:rgba(255,255,255,.10) !important;
}
.topbar.is-compact .burger-label{
  display:inline-block !important;
  font-style:normal !important;
  color:#fff !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  font-size:.66rem !important;
}
.topbar.is-compact .burger span{
  width:18px !important;
  height:2px !important;
  border-radius:999px !important;
}
.topbar.is-compact .nav-panel{
  top:calc(100% + 10px) !important;
  right:0 !important;
  width:min(380px, calc(100vw - 24px)) !important;
  border-radius:26px !important;
  padding:16px !important;
}
.topbar.is-compact .nav-links{
  grid-template-columns:1fr !important;
}
.topbar.is-compact .nav-cta{
  flex-direction:column !important;
}
@media(max-width:760px){
  .topbar{
    top:10px !important;
    padding:0 10px !important;
  }
  .topbar .nav{
    width:calc(100vw - 20px) !important;
    min-height:66px;
    padding:8px !important;
  }
  .topbar:not(.is-compact) .brand-text small{
    display:none !important;
  }
  .nav-panel,
  body[data-page="home"] .topbar:not(.is-compact) .nav-panel{
    left:0 !important;
    right:0 !important;
    width:calc(100vw - 20px) !important;
    padding:16px !important;
  }
  .nav-links{
    grid-template-columns:1fr !important;
  }
  .nav-cta{
    flex-direction:column !important;
  }
  .topbar.is-compact .nav{
    width:min(220px, calc(100vw - 16px)) !important;
    min-height:50px !important;
  }
  .topbar.is-compact .brand-badge{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
  .topbar.is-compact .burger{
    min-width:96px !important;
    height:40px !important;
  }
}


/* V118 — menu fin horizontal + compact en haut à gauche */
.topbar{
  position:fixed !important;
  top:14px !important;
  left:0 !important;
  right:0 !important;
  z-index:9500 !important;
  padding:0 22px !important;
  pointer-events:none !important;
}
.topbar .nav{
  pointer-events:auto !important;
  width:min(1040px, calc(100vw - 44px)) !important;
  min-height:56px !important;
  height:auto !important;
  margin:0 auto !important;
  padding:6px 8px 6px 10px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  background:linear-gradient(135deg, rgba(4,10,24,.58), rgba(6,22,50,.38)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 16px 48px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.12) !important;
  backdrop-filter:blur(18px) saturate(140%) !important;
}
body[data-page="home"] .topbar:not(.is-compact) .nav{
  background:
    linear-gradient(135deg, rgba(4,10,24,.42), rgba(5,19,44,.24)),
    radial-gradient(circle at 10% 0%, rgba(53,194,255,.14), transparent 14rem) !important;
}
body[data-page="home"] .topbar:not(.is-compact) .nav::before{
  opacity:.12 !important;
}
.topbar .brand{
  min-width:0 !important;
  flex:1 1 auto !important;
  height:44px !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
.topbar .brand-badge{
  width:44px !important;
  height:44px !important;
  flex:0 0 44px !important;
  padding:5px !important;
}
.topbar .brand-text{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
  opacity:1 !important;
  width:auto !important;
  transform:none !important;
}
.topbar .brand-text strong{
  white-space:nowrap !important;
  font-size:.98rem !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
}
.topbar .brand-text small{
  white-space:nowrap !important;
  font-size:.70rem !important;
  line-height:1 !important;
  opacity:.82 !important;
  letter-spacing:.10em !important;
}
.topbar .burger{
  width:auto !important;
  min-width:118px !important;
  height:44px !important;
  flex:0 0 auto !important;
  padding:0 14px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.12) !important;
}
.topbar .burger-label{
  display:inline-block !important;
  font-style:normal !important;
  color:#fff !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  font-size:.68rem !important;
}
.topbar .burger span{
  width:19px !important;
  height:2px !important;
  border-radius:999px !important;
}
/* compact : ancré en haut à gauche, toujours fin */
.topbar.is-compact{
  top:10px !important;
  padding:0 14px !important;
}
.topbar.is-compact .nav{
  width:196px !important;
  min-height:46px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  padding:5px 6px !important;
  gap:8px !important;
  justify-content:flex-start !important;
  background:linear-gradient(135deg, rgba(4,10,24,.88), rgba(7,24,54,.72)) !important;
  box-shadow:0 14px 44px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.13) !important;
}
.topbar.is-compact .brand{
  flex:0 0 auto !important;
  width:38px !important;
  height:38px !important;
  gap:0 !important;
}
.topbar.is-compact .brand-badge{
  width:38px !important;
  height:38px !important;
  flex-basis:38px !important;
  padding:4px !important;
}
.topbar.is-compact .brand-text{
  display:none !important;
  opacity:0 !important;
  width:0 !important;
  pointer-events:none !important;
}
.topbar.is-compact .burger{
  min-width:126px !important;
  height:38px !important;
  padding:0 11px !important;
  gap:7px !important;
}
.topbar.is-compact .burger-label{
  font-size:.64rem !important;
}
.topbar.is-compact .burger span{
  width:17px !important;
  height:2px !important;
}
/* panneau déroulant aligné sur le menu, intégré au visuel */
.topbar .nav-panel{
  top:calc(100% + 10px) !important;
}
.topbar.is-compact .nav-panel{
  left:0 !important;
  right:auto !important;
  width:min(390px, calc(100vw - 28px)) !important;
  transform-origin:top left !important;
}
@media(max-width:900px){
  .topbar{
    top:10px !important;
    padding:0 12px !important;
  }
  .topbar .nav{
    width:calc(100vw - 24px) !important;
    min-height:52px !important;
    padding:5px 6px !important;
  }
  .topbar .brand{
    height:40px !important;
  }
  .topbar .brand-badge{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
  .topbar .brand-text{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:2px !important;
  }
  .topbar .brand-text strong{
    font-size:.82rem !important;
  }
  .topbar .brand-text small{
    display:none !important;
  }
  .topbar .burger{
    min-width:104px !important;
    height:40px !important;
    padding:0 10px !important;
  }
  .topbar.is-compact .nav{
    width:178px !important;
    min-height:42px !important;
  }
  .topbar.is-compact .brand,
  .topbar.is-compact .brand-badge{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }
  .topbar.is-compact .burger{
    min-width:116px !important;
    height:34px !important;
  }
}
@media(max-width:520px){
  .topbar .brand-text strong{
    max-width:112px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .topbar.is-compact .nav{
    width:166px !important;
  }
  .topbar.is-compact .burger{
    min-width:108px !important;
    padding:0 9px !important;
  }
}


/* V119 — service CAISP dédié */
.badge-red{
  background:linear-gradient(135deg,#b91c1c,#ef4444) !important;
  color:#fff !important;
}
.badge-orange{
  background:linear-gradient(135deg,#c2410c,#fb923c) !important;
  color:#fff !important;
}


/* V120 — menu intégré au hero, fin et compact à gauche */
.topbar{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1200;
  padding-top:18px;
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
  pointer-events:none;
}
.topbar::after{display:none}
.topbar .nav{
  width:min(1120px, calc(100% - 48px));
  margin:0 auto;
  padding:12px 20px;
  border-radius:30px;
  background:linear-gradient(180deg, rgba(8,18,40,.78), rgba(6,14,30,.68));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 40px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(18px);
  pointer-events:auto;
  transition:width .28s ease, padding .28s ease, margin .28s ease, border-radius .28s ease, background .28s ease, box-shadow .28s ease, transform .28s ease;
}
.topbar .brand{gap:16px;min-width:0;flex:1 1 auto}
.topbar .brand-badge{
  width:78px;height:78px;flex:0 0 78px;padding:7px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 12px 24px rgba(0,0,0,.22);
}
.topbar .brand-text strong{font-size:clamp(1.55rem, 2.45vw, 2.55rem);letter-spacing:.03em}
.topbar .brand-text small{font-size:clamp(.72rem, 1vw, .92rem);letter-spacing:.18em;color:#eef5ff}
.topbar .burger{
  width:82px;height:82px;flex:0 0 82px;
  gap:5px;
  box-shadow:0 12px 26px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
}
.topbar .burger-label{font-size:.72rem;letter-spacing:.16em;font-style:normal;font-weight:900;line-height:1;text-transform:uppercase;color:#e9f2ff}
.topbar .burger span{width:24px;height:3px}
.topbar .nav-panel{top:calc(100% + 12px);right:0}
body[data-page="home"] .hero-home .hero-inner{padding-top:176px}
body[data-page="home"] .hero-home.hero-text-only .hero-copy{max-width:760px}

.topbar.is-compact{
  padding-top:10px;
}
.topbar.is-compact .nav{
  width:auto;
  min-width:0;
  max-width:calc(100vw - 24px);
  margin-left:14px;
  margin-right:auto;
  padding:10px 14px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(8,18,40,.92), rgba(6,14,30,.88));
  box-shadow:0 16px 30px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05);
}
.topbar.is-compact .brand{gap:10px;flex:0 0 auto}
.topbar.is-compact .brand-badge{width:44px;height:44px;flex-basis:44px;padding:4px}
.topbar.is-compact .brand-text{display:none}
.topbar.is-compact .burger{width:58px;height:52px;flex-basis:58px;gap:3px}
.topbar.is-compact .burger-label{font-size:.52rem;letter-spacing:.14em}
.topbar.is-compact .burger span{width:16px;height:2px}
.topbar.is-compact .nav-panel{right:auto;left:0}

@media (max-width: 980px){
  .topbar{padding-top:14px}
  .topbar .nav{width:calc(100% - 24px);padding:11px 16px;border-radius:28px}
  .topbar .brand-badge{width:64px;height:64px;flex-basis:64px;padding:6px}
  .topbar .brand-text strong{font-size:clamp(1.2rem, 4vw, 1.85rem)}
  .topbar .brand-text small{font-size:clamp(.62rem, 2vw, .78rem);letter-spacing:.12em}
  .topbar .burger{width:68px;height:68px;flex-basis:68px}
  .topbar .burger-label{font-size:.64rem}
  .topbar .burger span{width:21px}
  body[data-page="home"] .hero-home .hero-inner{padding-top:156px}
}

@media (max-width: 720px){
  .topbar .nav{padding:10px 12px;border-radius:24px;width:calc(100% - 18px)}
  .topbar .brand{gap:10px}
  .topbar .brand-badge{width:54px;height:54px;flex-basis:54px;padding:5px}
  .topbar .brand-text strong{font-size:1rem}
  .topbar .brand-text small{font-size:.55rem;letter-spacing:.08em}
  .topbar .burger{width:58px;height:58px;flex-basis:58px}
  .topbar .burger-label{font-size:.56rem}
  .topbar .burger span{width:18px;height:2px}
  body[data-page="home"] .hero-home .hero-inner{padding-top:138px}
  .topbar.is-compact .nav{min-width:0;width:auto;max-width:calc(100vw - 18px);margin-left:9px;padding:8px 10px;border-radius:18px}
  .topbar.is-compact .brand{gap:8px;flex:0 0 auto}
  .topbar.is-compact .brand-badge{width:38px;height:38px;flex-basis:38px;padding:3px}
  .topbar.is-compact .brand-text{display:none}
  .topbar.is-compact .burger{width:48px;height:44px;flex-basis:48px}
  .topbar.is-compact .burger-label{font-size:.46rem}
  .topbar.is-compact .burger span{width:14px}
  .topbar.is-compact .nav-panel{width:min(320px, calc(100vw - 18px))}
}


/* V122 — animation réduction menu + contour logo bleu lent */
.topbar .nav,
.topbar .brand,
.topbar .brand-badge,
.topbar .brand-text,
.topbar .brand-text strong,
.topbar .brand-text small,
.topbar .burger,
.topbar .burger span{
  transition:
    width .46s cubic-bezier(.18,.86,.24,1),
    min-width .46s cubic-bezier(.18,.86,.24,1),
    max-width .46s cubic-bezier(.18,.86,.24,1),
    height .46s cubic-bezier(.18,.86,.24,1),
    flex-basis .46s cubic-bezier(.18,.86,.24,1),
    padding .46s cubic-bezier(.18,.86,.24,1),
    margin .46s cubic-bezier(.18,.86,.24,1),
    border-radius .46s cubic-bezier(.18,.86,.24,1),
    opacity .30s ease,
    transform .46s cubic-bezier(.18,.86,.24,1),
    box-shadow .46s cubic-bezier(.18,.86,.24,1),
    background .46s cubic-bezier(.18,.86,.24,1),
    filter .46s cubic-bezier(.18,.86,.24,1);
}
.topbar.is-compact .nav{
  animation:fs38MenuShrink .58s cubic-bezier(.18,.86,.24,1) both;
}
.topbar:not(.is-compact) .nav{
  animation:fs38MenuOpen .44s cubic-bezier(.18,.86,.24,1) both;
}
.topbar .brand-badge{
  position:relative;
  overflow:visible !important;
}
.topbar .brand-badge img{
  position:relative;
  z-index:2;
}
.topbar.is-compact .brand-badge::before,
.topbar.is-compact .brand-badge::after{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
}
.topbar.is-compact .brand-badge::before{
  border:2px solid rgba(53,194,255,.72);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.14),
    0 0 18px rgba(53,194,255,.48),
    0 0 38px rgba(47,127,247,.28);
  animation:fs38LogoBluePulse 2.45s ease-in-out infinite;
}
.topbar.is-compact .brand-badge::after{
  inset:-10px;
  border:1px solid rgba(53,194,255,.28);
  box-shadow:0 0 34px rgba(53,194,255,.22);
  opacity:.55;
  animation:fs38LogoBlueHalo 2.45s ease-in-out infinite;
}
.topbar.is-compact .brand-badge img{
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18),
    0 0 24px rgba(53,194,255,.34);
}
@keyframes fs38MenuShrink{
  0%{
    transform:translateY(0) scale(1.035);
    filter:brightness(1.08);
  }
  52%{
    transform:translateY(-2px) scale(.965);
    filter:brightness(1.18);
  }
  100%{
    transform:translateY(0) scale(1);
    filter:brightness(1);
  }
}
@keyframes fs38MenuOpen{
  0%{
    transform:translateY(-2px) scale(.985);
    filter:brightness(1.08);
  }
  100%{
    transform:translateY(0) scale(1);
    filter:brightness(1);
  }
}
@keyframes fs38LogoBluePulse{
  0%,100%{
    opacity:.42;
    transform:scale(.96);
    border-color:rgba(53,194,255,.45);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.10),
      0 0 10px rgba(53,194,255,.24),
      0 0 22px rgba(47,127,247,.16);
  }
  50%{
    opacity:1;
    transform:scale(1.08);
    border-color:rgba(130,226,255,.95);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.22),
      0 0 24px rgba(53,194,255,.72),
      0 0 54px rgba(47,127,247,.42);
  }
}
@keyframes fs38LogoBlueHalo{
  0%,100%{
    opacity:.16;
    transform:scale(.92);
  }
  50%{
    opacity:.68;
    transform:scale(1.18);
  }
}
@media (prefers-reduced-motion: reduce){
  .topbar .nav,
  .topbar .brand,
  .topbar .brand-badge,
  .topbar .brand-text,
  .topbar .burger,
  .topbar .burger span{
    transition:none !important;
    animation:none !important;
  }
  .topbar.is-compact .brand-badge::before,
  .topbar.is-compact .brand-badge::after{
    animation:none !important;
  }
}


/* V123 — barre fine, transparente, incrustée au hero + compact ultra léger */
.topbar{
  padding-top:14px;
}
.topbar .nav{
  width:min(980px, calc(100% - 72px));
  min-height:54px;
  margin:0 auto;
  padding:8px 14px 8px 12px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(7,16,34,.24), rgba(7,16,34,.14));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 10px 28px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}
body[data-page="home"] .topbar .nav{
  background:linear-gradient(180deg, rgba(8,18,40,.20), rgba(8,18,40,.10));
}
.topbar .brand{
  gap:12px;
  min-width:0;
  flex:1 1 auto;
}
.topbar .brand-badge{
  width:44px;
  height:44px;
  flex:0 0 44px;
  padding:3px;
  background:rgba(15,34,76,.34);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.topbar .brand-badge img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.topbar .brand-text{
  display:flex;
  align-items:center;
  min-width:0;
}
.topbar .brand-text strong{
  display:none;
}
.topbar .brand-text small{
  display:block;
  white-space:nowrap;
  font-size:.78rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#f4f8ff;
  text-shadow:0 1px 12px rgba(0,0,0,.24);
}
.topbar .burger{
  width:auto;
  min-width:94px;
  height:38px;
  flex:0 0 auto;
  padding:0 11px;
  border-radius:999px;
  gap:3px;
  background:rgba(8,18,40,.18);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:none;
}
.topbar .burger-label{
  font-size:.62rem;
  letter-spacing:.16em;
  color:#eef5ff;
}
.topbar .burger span{
  width:16px;
  height:2px;
  border-radius:99px;
  background:rgba(255,255,255,.94);
}
.topbar .nav-panel{
  top:calc(100% + 10px);
}
body[data-page="home"] .hero-home .hero-inner{
  padding-top:128px;
}

.topbar.is-compact{
  padding-top:12px;
}
.topbar.is-compact .nav{
  width:auto;
  min-width:0;
  max-width:calc(100vw - 28px);
  margin-left:14px;
  margin-right:auto;
  padding:6px 10px 6px 8px;
  min-height:42px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(8,18,40,.58), rgba(8,18,40,.44));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 12px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(12px);
}
.topbar.is-compact .brand{
  gap:8px;
  flex:0 0 auto;
}
.topbar.is-compact .brand-badge{
  width:34px;
  height:34px;
  flex-basis:34px;
  padding:2px;
}
.topbar.is-compact .brand-text{
  display:none;
}
.topbar.is-compact .burger{
  min-width:76px;
  height:28px;
  padding:0 8px;
  gap:3px;
  background:transparent;
  border:none;
}
.topbar.is-compact .burger-label{
  font-size:.56rem;
  letter-spacing:.16em;
}
.topbar.is-compact .burger span{
  width:12px;
  height:1.7px;
}
.topbar.is-compact .nav-panel{
  right:auto;
  left:0;
  top:calc(100% + 8px);
}

@media (max-width: 980px){
  .topbar{padding-top:12px}
  .topbar .nav{width:calc(100% - 32px);padding:8px 12px;min-height:50px}
  .topbar .brand-badge{width:40px;height:40px;flex-basis:40px}
  .topbar .brand-text small{font-size:.67rem;letter-spacing:.13em}
  .topbar .burger{min-width:86px;height:36px;padding:0 10px}
  .topbar .burger-label{font-size:.58rem}
  .topbar .burger span{width:15px}
  body[data-page="home"] .hero-home .hero-inner{padding-top:118px}
}

@media (max-width: 720px){
  .topbar .nav{width:calc(100% - 20px);padding:8px 10px;min-height:46px}
  .topbar .brand{gap:8px}
  .topbar .brand-badge{width:36px;height:36px;flex-basis:36px;padding:2px}
  .topbar .brand-text small{font-size:.54rem;letter-spacing:.08em}
  .topbar .burger{min-width:78px;height:32px;padding:0 8px}
  .topbar .burger-label{font-size:.52rem}
  .topbar .burger span{width:13px;height:1.7px}
  body[data-page="home"] .hero-home .hero-inner{padding-top:108px}
  .topbar.is-compact .nav{max-width:calc(100vw - 18px);margin-left:9px;padding:5px 8px 5px 7px;min-height:38px}
  .topbar.is-compact .brand-badge{width:30px;height:30px;flex-basis:30px}
  .topbar.is-compact .burger{min-width:68px;height:25px;padding:0 7px}
  .topbar.is-compact .burger-label{font-size:.48rem}
  .topbar.is-compact .burger span{width:11px;height:1.5px}
}


/* V124 — affinage final menu validé */
.topbar{
  padding-top:18px !important;
}
.topbar .nav{
  width:min(1180px, calc(100% - 160px)) !important;
  min-height:62px !important;
  margin:0 auto !important;
  padding:8px 18px 8px 12px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(7,16,34,.22), rgba(7,16,34,.10)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 12px 32px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(12px) saturate(130%) !important;
}
body[data-page="home"] .topbar .nav{
  background:linear-gradient(180deg, rgba(8,18,40,.18), rgba(8,18,40,.08)) !important;
}
.topbar .brand{
  gap:14px !important;
  flex:1 1 auto !important;
  min-width:0 !important;
}
.topbar .brand-badge{
  width:50px !important;
  height:50px !important;
  flex:0 0 50px !important;
  padding:3px !important;
  background:rgba(13,31,70,.32) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18), 0 0 0 1px rgba(53,194,255,.10) !important;
}
.topbar .brand-text{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:4px !important;
  min-width:0 !important;
}
.topbar .brand-text strong{
  display:block !important;
  font-size:1.18rem !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  font-weight:950 !important;
  color:#fff !important;
}
.topbar .brand-text small{
  display:block !important;
  white-space:nowrap !important;
  font-size:.66rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
  color:rgba(244,248,255,.92) !important;
  text-shadow:0 1px 10px rgba(0,0,0,.28) !important;
}
.topbar .burger{
  min-width:92px !important;
  width:auto !important;
  height:40px !important;
  flex:0 0 auto !important;
  padding:0 12px !important;
  border-radius:999px !important;
  gap:7px !important;
  background:rgba(8,18,40,.16) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:none !important;
}
.topbar .burger-label{
  font-size:.62rem !important;
  line-height:1 !important;
  letter-spacing:.15em !important;
  font-weight:900 !important;
  color:#eef5ff !important;
}
.topbar .burger span{
  width:17px !important;
  height:2px !important;
  border-radius:999px !important;
}
body[data-page="home"] .hero-home .hero-inner{
  padding-top:138px !important;
}
.topbar.is-compact{
  padding-top:12px !important;
}
.topbar.is-compact .nav{
  width:auto !important;
  min-width:0 !important;
  max-width:calc(100vw - 28px) !important;
  margin-left:18px !important;
  margin-right:auto !important;
  min-height:42px !important;
  padding:5px 9px 5px 7px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(8,18,40,.58), rgba(8,18,40,.38)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.07) !important;
  backdrop-filter:blur(13px) saturate(130%) !important;
}
.topbar.is-compact .brand{
  gap:8px !important;
  flex:0 0 auto !important;
}
.topbar.is-compact .brand-badge{
  width:34px !important;
  height:34px !important;
  flex-basis:34px !important;
  padding:2px !important;
}
.topbar.is-compact .brand-text{
  display:none !important;
}
.topbar.is-compact .burger{
  min-width:74px !important;
  height:30px !important;
  flex-basis:auto !important;
  padding:0 8px !important;
  gap:6px !important;
  background:transparent !important;
  border:none !important;
}
.topbar.is-compact .burger-label{
  font-size:.56rem !important;
  letter-spacing:.15em !important;
}
.topbar.is-compact .burger span{
  width:13px !important;
  height:1.6px !important;
}
.topbar.is-compact .brand-badge::before{
  inset:-4px !important;
  border:1.5px solid rgba(53,194,255,.62) !important;
  box-shadow:0 0 14px rgba(53,194,255,.38), 0 0 26px rgba(47,127,247,.20) !important;
}
.topbar.is-compact .brand-badge::after{
  inset:-8px !important;
  box-shadow:0 0 24px rgba(53,194,255,.16) !important;
}
@media (max-width: 980px){
  .topbar{
    padding-top:12px !important;
  }
  .topbar .nav{
    width:calc(100% - 32px) !important;
    min-height:54px !important;
    padding:7px 12px 7px 9px !important;
  }
  .topbar .brand-badge{
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
  }
  .topbar .brand-text strong{
    font-size:1rem !important;
  }
  .topbar .brand-text small{
    font-size:.58rem !important;
    letter-spacing:.10em !important;
  }
  .topbar .burger{
    min-width:82px !important;
    height:36px !important;
    padding:0 10px !important;
  }
  body[data-page="home"] .hero-home .hero-inner{
    padding-top:118px !important;
  }
}
@media (max-width: 720px){
  .topbar .nav{
    width:calc(100% - 20px) !important;
    min-height:46px !important;
    padding:6px 10px 6px 7px !important;
  }
  .topbar .brand{
    gap:8px !important;
  }
  .topbar .brand-badge{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }
  .topbar .brand-text strong{
    display:none !important;
  }
  .topbar .brand-text small{
    font-size:.52rem !important;
    letter-spacing:.07em !important;
    white-space:normal !important;
  }
  .topbar .burger{
    min-width:72px !important;
    height:30px !important;
    padding:0 8px !important;
  }
  .topbar .burger-label{
    font-size:.50rem !important;
  }
  .topbar .burger span{
    width:12px !important;
    height:1.5px !important;
  }
  .topbar.is-compact .nav{
    margin-left:9px !important;
    min-height:36px !important;
    padding:4px 7px 4px 6px !important;
  }
  .topbar.is-compact .brand-badge{
    width:28px !important;
    height:28px !important;
    flex-basis:28px !important;
  }
  .topbar.is-compact .burger{
    min-width:62px !important;
    height:24px !important;
    padding:0 6px !important;
  }
  .topbar.is-compact .burger-label{
    font-size:.44rem !important;
  }
  .topbar.is-compact .burger span{
    width:10px !important;
    height:1.4px !important;
  }
  body[data-page="home"] .hero-home .hero-inner{
    padding-top:104px !important;
  }
}


/* V125 — menu format PC conforme à la maquette validée */
@media (min-width: 981px){
  .topbar{
    padding-top:42px !important;
    pointer-events:none !important;
  }
  .topbar .nav{
    pointer-events:auto !important;
    width:min(1280px, calc(100% - 220px)) !important;
    min-height:72px !important;
    margin:0 auto !important;
    padding:8px 24px 8px 12px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg, rgba(7,16,34,.24), rgba(7,16,34,.10)) !important;
    border:1px solid rgba(255,255,255,.17) !important;
    box-shadow:0 16px 42px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter:blur(13px) saturate(132%) !important;
  }
  body[data-page="home"] .topbar .nav{
    background:linear-gradient(180deg, rgba(8,18,40,.18), rgba(8,18,40,.075)) !important;
  }
  .topbar .brand{
    gap:14px !important;
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  .topbar .brand-badge{
    width:58px !important;
    height:58px !important;
    flex:0 0 58px !important;
    padding:3px !important;
    background:rgba(13,31,70,.28) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:
      0 10px 24px rgba(0,0,0,.18),
      0 0 0 1px rgba(53,194,255,.12) !important;
  }
  .topbar .brand-text{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:5px !important;
    min-width:0 !important;
    opacity:1 !important;
  }
  .topbar .brand-text strong{
    display:block !important;
    font-size:1.25rem !important;
    line-height:1 !important;
    letter-spacing:.035em !important;
    font-weight:950 !important;
    color:#fff !important;
  }
  .topbar .brand-text small{
    display:block !important;
    white-space:nowrap !important;
    font-size:.68rem !important;
    line-height:1 !important;
    font-weight:950 !important;
    letter-spacing:.17em !important;
    text-transform:uppercase !important;
    color:rgba(244,248,255,.93) !important;
    text-shadow:0 1px 10px rgba(0,0,0,.28) !important;
  }
  .topbar .burger{
    min-width:112px !important;
    width:auto !important;
    height:44px !important;
    flex:0 0 auto !important;
    padding:0 14px !important;
    border-radius:999px !important;
    gap:9px !important;
    background:rgba(8,18,40,.12) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:none !important;
  }
  .topbar .burger-label{
    display:inline-block !important;
    font-size:.66rem !important;
    line-height:1 !important;
    letter-spacing:.15em !important;
    font-weight:900 !important;
    color:#eef5ff !important;
    font-style:normal !important;
  }
  .topbar .burger span{
    width:18px !important;
    height:2px !important;
    border-radius:999px !important;
  }
  body[data-page="home"] .hero-home .hero-inner{
    padding-top:160px !important;
  }

  /* Menu réduit — petit module horizontal en haut à gauche */
  .topbar.is-compact{
    padding-top:34px !important;
  }
  .topbar.is-compact .nav{
    width:auto !important;
    min-width:0 !important;
    max-width:calc(100vw - 80px) !important;
    margin-left:92px !important;
    margin-right:auto !important;
    min-height:48px !important;
    padding:5px 12px 5px 7px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg, rgba(8,18,40,.50), rgba(8,18,40,.32)) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 12px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.07) !important;
    backdrop-filter:blur(13px) saturate(130%) !important;
    gap:8px !important;
  }
  .topbar.is-compact .brand{
    gap:0 !important;
    flex:0 0 auto !important;
  }
  .topbar.is-compact .brand-badge{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
    padding:2px !important;
  }
  .topbar.is-compact .brand-text{
    display:none !important;
    opacity:0 !important;
    width:0 !important;
    pointer-events:none !important;
  }
  .topbar.is-compact .burger{
    min-width:86px !important;
    height:34px !important;
    flex-basis:auto !important;
    padding:0 8px !important;
    gap:7px !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
  }
  .topbar.is-compact .burger-label{
    display:inline-block !important;
    font-size:.58rem !important;
    letter-spacing:.15em !important;
  }
  .topbar.is-compact .burger span{
    width:14px !important;
    height:1.7px !important;
  }
  .topbar.is-compact .nav-panel{
    left:0 !important;
    right:auto !important;
    top:calc(100% + 10px) !important;
  }
  .topbar.is-compact .brand-badge::before{
    inset:-4px !important;
    border:1.5px solid rgba(53,194,255,.62) !important;
    box-shadow:0 0 14px rgba(53,194,255,.38), 0 0 26px rgba(47,127,247,.20) !important;
  }
  .topbar.is-compact .brand-badge::after{
    inset:-8px !important;
    box-shadow:0 0 24px rgba(53,194,255,.16) !important;
  }
}

/* Adaptation intermédiaire et mobile conservant la même logique */
@media (max-width: 980px){
  .topbar{
    padding-top:14px !important;
  }
  .topbar .nav{
    width:calc(100% - 32px) !important;
    min-height:54px !important;
    padding:7px 12px 7px 9px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg, rgba(7,16,34,.24), rgba(7,16,34,.10)) !important;
  }
  .topbar .brand-badge{
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
  }
  .topbar .brand-text strong{
    font-size:1rem !important;
  }
  .topbar .brand-text small{
    font-size:.58rem !important;
    letter-spacing:.10em !important;
  }
  .topbar .burger{
    min-width:82px !important;
    height:36px !important;
    padding:0 10px !important;
  }
  .topbar.is-compact .nav{
    margin-left:14px !important;
    min-height:40px !important;
    padding:5px 8px 5px 6px !important;
  }
}
@media (max-width: 720px){
  .topbar .nav{
    width:calc(100% - 20px) !important;
    min-height:46px !important;
    padding:6px 10px 6px 7px !important;
  }
  .topbar .brand-text strong{
    display:none !important;
  }
  .topbar .brand-text small{
    font-size:.52rem !important;
    letter-spacing:.07em !important;
    white-space:normal !important;
  }
  .topbar .brand-badge{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }
  .topbar .burger{
    min-width:72px !important;
    height:30px !important;
    padding:0 8px !important;
  }
  .topbar.is-compact .nav{
    margin-left:9px !important;
    min-height:36px !important;
    padding:4px 7px 4px 6px !important;
  }
  .topbar.is-compact .brand-badge{
    width:28px !important;
    height:28px !important;
    flex-basis:28px !important;
  }
  .topbar.is-compact .burger{
    min-width:62px !important;
    height:24px !important;
    padding:0 6px !important;
  }
}



/* V126 — correction menu PC après retour utilisateur
   Objectif :
   - supprimer l'effet de grosse capsule floue
   - aligner le grand menu sur la maquette validée
   - réduire le menu plus tôt au scroll
   - garder un petit module horizontal compact en haut à gauche
*/
@media (min-width: 981px){
  .topbar{
    top:0 !important;
    left:0 !important;
    right:0 !important;
    padding-top:24px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    pointer-events:none !important;
  }
  .topbar::after{
    display:none !important;
    content:none !important;
  }

  /* Grand menu */
  .topbar:not(.is-compact) .nav{
    pointer-events:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    width:min(1320px, calc(100vw - 140px)) !important;
    min-height:74px !important;
    margin:0 auto !important;
    padding:10px 24px 10px 14px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg, rgba(7,16,34,.16), rgba(7,16,34,.08)) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 12px 30px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter:blur(7px) saturate(122%) !important;
    overflow:visible !important;
    transform:none !important;
    animation:none !important;
  }
  body[data-page="home"] .topbar:not(.is-compact) .nav{
    background:linear-gradient(180deg, rgba(8,18,40,.14), rgba(8,18,40,.06)) !important;
  }
  .topbar .nav::before,
  body[data-page="home"] .topbar:not(.is-compact) .nav::before{
    display:none !important;
    content:none !important;
    opacity:0 !important;
    background:none !important;
  }

  .topbar .brand{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    text-decoration:none !important;
  }
  .topbar .brand-badge{
    width:50px !important;
    height:50px !important;
    flex:0 0 50px !important;
    padding:3px !important;
    border-radius:50% !important;
    background:rgba(13,31,70,.26) !important;
    border:1px solid rgba(255,255,255,.15) !important;
    box-shadow:0 8px 18px rgba(0,0,0,.16) !important;
  }
  .topbar .brand-text{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:4px !important;
    min-width:0 !important;
    opacity:1 !important;
    width:auto !important;
  }
  .topbar .brand-text strong{
    display:block !important;
    font-size:1.18rem !important;
    line-height:1 !important;
    letter-spacing:.03em !important;
    font-weight:950 !important;
    color:#fff !important;
  }
  .topbar .brand-text small{
    display:block !important;
    white-space:nowrap !important;
    font-size:.68rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
    color:rgba(244,248,255,.92) !important;
    text-shadow:0 1px 8px rgba(0,0,0,.20) !important;
  }

  .topbar .burger{
    margin-left:auto !important;
    min-width:110px !important;
    width:auto !important;
    height:42px !important;
    flex:0 0 auto !important;
    padding:0 14px !important;
    border-radius:999px !important;
    gap:8px !important;
    background:rgba(8,18,40,.10) !important;
    border:1px solid rgba(255,255,255,.11) !important;
    box-shadow:none !important;
  }
  .topbar .burger-label{
    display:inline-block !important;
    font-size:.66rem !important;
    line-height:1 !important;
    letter-spacing:.15em !important;
    font-style:normal !important;
    font-weight:900 !important;
    color:#eef5ff !important;
  }
  .topbar .burger span{
    width:18px !important;
    height:2px !important;
    border-radius:999px !important;
  }

  /* Le contenu du hero doit respirer sous le grand menu */
  body[data-page="home"] .hero-home .hero-inner{
    padding-top:210px !important;
  }

  /* Petit menu compact au scroll */
  .topbar.is-compact{
    padding-top:16px !important;
  }
  .topbar.is-compact .nav{
    pointer-events:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:max-content !important;
    max-width:calc(100vw - 36px) !important;
    min-height:44px !important;
    margin-left:18px !important;
    margin-right:auto !important;
    padding:5px 10px 5px 7px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg, rgba(8,18,40,.56), rgba(8,18,40,.36)) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 10px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06) !important;
    backdrop-filter:blur(9px) saturate(125%) !important;
    overflow:visible !important;
    transform:none !important;
    animation:none !important;
  }
  .topbar.is-compact .brand{
    gap:0 !important;
    flex:0 0 auto !important;
  }
  .topbar.is-compact .brand-badge{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
    padding:2px !important;
  }
  .topbar.is-compact .brand-text{
    display:none !important;
    opacity:0 !important;
    width:0 !important;
    pointer-events:none !important;
  }
  .topbar.is-compact .burger{
    margin-left:0 !important;
    min-width:86px !important;
    height:30px !important;
    padding:0 8px !important;
    gap:6px !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
  }
  .topbar.is-compact .burger-label{
    display:inline-block !important;
    font-size:.56rem !important;
    letter-spacing:.15em !important;
  }
  .topbar.is-compact .burger span{
    width:13px !important;
    height:1.6px !important;
  }
  .topbar.is-compact .nav-panel{
    top:calc(100% + 8px) !important;
    left:0 !important;
    right:auto !important;
    width:min(360px, calc(100vw - 36px)) !important;
  }

  /* Halo logo compact conservé */
  .topbar.is-compact .brand-badge::before{
    inset:-4px !important;
    border:1.5px solid rgba(53,194,255,.62) !important;
    box-shadow:0 0 12px rgba(53,194,255,.34), 0 0 24px rgba(47,127,247,.18) !important;
  }
  .topbar.is-compact .brand-badge::after{
    inset:-8px !important;
    box-shadow:0 0 22px rgba(53,194,255,.14) !important;
  }

  /* Panneau menu propre */
  .topbar .nav-panel,
  body[data-page="home"] .topbar:not(.is-compact) .nav-panel{
    top:calc(100% + 12px) !important;
    right:0 !important;
    left:auto !important;
    width:min(420px, calc(100vw - 40px)) !important;
    padding:16px !important;
    border-radius:26px !important;
    background:rgba(7,16,34,.82) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 24px 60px rgba(0,0,0,.28) !important;
    backdrop-filter:blur(16px) saturate(125%) !important;
  }
  .topbar .nav-panel::before,
  .topbar .nav-panel::after{
    display:none !important;
    content:none !important;
  }
  .topbar .nav-links{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  .topbar .nav-links a{
    padding:10px 12px !important;
    border-radius:14px !important;
  }
  .topbar .nav-cta{
    display:block !important;
    margin-top:14px !important;
  }
}

/* Tablet / mobile : on garde la logique V124, avec juste une légère respiration */
@media (max-width: 980px){
  body[data-page="home"] .hero-home .hero-inner{
    padding-top:128px !important;
  }
}


/* V127 — hard fix: suppression totale du gros flou du menu */
.topbar .nav::before,
.topbar .nav::after,
.topbar .brand::before,
.topbar .brand::after,
.topbar .brand-text::before,
.topbar .brand-text::after{
  content:none !important;
  display:none !important;
}

.topbar .nav,
body[data-page="home"] .topbar .nav,
.topbar.is-compact .nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  overflow:visible !important;
  position:relative !important;
  isolation:auto !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
}

.topbar .brand,
.topbar.is-compact .brand{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
  overflow:hidden !important;
}

.topbar .nav{
  width:min(1180px, calc(100% - 160px)) !important;
  min-height:62px !important;
  padding:8px 18px 8px 12px !important;
  border-radius:999px !important;
  background:rgba(9,18,36,.16) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
body[data-page="home"] .topbar .nav{
  background:rgba(9,18,36,.14) !important;
}
.topbar .brand-badge{
  width:50px !important;
  height:50px !important;
  flex:0 0 50px !important;
  padding:3px !important;
}
.topbar .brand-text{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:4px !important;
  min-width:0 !important;
  max-width:100% !important;
}
.topbar .brand-text strong{
  display:block !important;
  font-size:1.06rem !important;
  line-height:1 !important;
  letter-spacing:.035em !important;
  font-weight:950 !important;
}
.topbar .brand-text small{
  display:block !important;
  white-space:nowrap !important;
  font-size:.60rem !important;
  line-height:1 !important;
  letter-spacing:.15em !important;
  font-weight:900 !important;
}
.topbar .burger{
  margin-left:auto !important;
  min-width:88px !important;
  height:38px !important;
  padding:0 11px !important;
  border-radius:999px !important;
  gap:6px !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.11) !important;
}
.topbar .burger-label{
  font-size:.60rem !important;
  letter-spacing:.14em !important;
}
.topbar .burger span{
  width:15px !important;
  height:1.8px !important;
}
body[data-page="home"] .hero-home .hero-inner{
  padding-top:138px !important;
}

.topbar.is-compact{
  padding-top:12px !important;
}
.topbar.is-compact .nav{
  width:auto !important;
  max-width:calc(100vw - 28px) !important;
  min-height:42px !important;
  margin-left:18px !important;
  margin-right:auto !important;
  padding:5px 9px 5px 7px !important;
  border-radius:999px !important;
  background:rgba(9,18,36,.34) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.topbar.is-compact .brand{
  flex:0 0 auto !important;
  overflow:visible !important;
}
.topbar.is-compact .brand-badge{
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  padding:2px !important;
}
.topbar.is-compact .brand-text{
  display:none !important;
}
.topbar.is-compact .burger{
  min-width:74px !important;
  height:28px !important;
  padding:0 8px !important;
  gap:6px !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.topbar.is-compact .burger-label{
  font-size:.56rem !important;
  letter-spacing:.15em !important;
}
.topbar.is-compact .burger span{
  width:12px !important;
  height:1.6px !important;
}

/* important: panneau toujours hors flux et invisible si fermé */
.topbar .nav-panel,
body[data-page="home"] .topbar .nav-panel,
.topbar.is-compact .nav-panel{
  position:absolute !important;
  top:calc(100% + 10px) !important;
  right:0 !important;
  left:auto !important;
  width:min(420px, calc(100vw - 40px)) !important;
  padding:16px !important;
  border-radius:24px !important;
  background:rgba(7,16,34,.94) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 20px 56px rgba(0,0,0,.30) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-6px) scale(.98) !important;
}
.topbar.is-compact .nav-panel{
  right:auto !important;
  left:0 !important;
}
.nav.menu-open .nav-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}
.topbar .nav-panel::before,
.topbar .nav-panel::after{
  content:none !important;
  display:none !important;
}

@media (max-width: 980px){
  .topbar .nav{
    width:calc(100% - 32px) !important;
    min-height:54px !important;
    padding:7px 12px 7px 9px !important;
  }
  .topbar .brand-badge{width:42px !important;height:42px !important;flex:0 0 42px !important;}
  .topbar .brand-text strong{font-size:1rem !important;}
  .topbar .brand-text small{font-size:.58rem !important;letter-spacing:.10em !important;}
  .topbar .burger{min-width:82px !important;height:36px !important;padding:0 10px !important;}
  body[data-page="home"] .hero-home .hero-inner{padding-top:118px !important;}
}

@media (max-width: 720px){
  .topbar .nav{width:calc(100% - 20px) !important;min-height:46px !important;padding:6px 10px 6px 7px !important;}
  .topbar .brand{gap:8px !important;}
  .topbar .brand-badge{width:34px !important;height:34px !important;flex:0 0 34px !important;}
  .topbar .brand-text strong{display:none !important;}
  .topbar .brand-text small{font-size:.52rem !important;letter-spacing:.07em !important;white-space:normal !important;}
  .topbar .burger{min-width:72px !important;height:30px !important;padding:0 8px !important;}
  .topbar .burger-label{font-size:.50rem !important;}
  .topbar .burger span{width:12px !important;height:1.5px !important;}
  .topbar.is-compact .nav{margin-left:9px !important;min-height:36px !important;padding:4px 7px 4px 6px !important;}
  .topbar.is-compact .brand-badge{width:28px !important;height:28px !important;flex:0 0 28px !important;}
  .topbar.is-compact .burger{min-width:62px !important;height:24px !important;padding:0 6px !important;}
  .topbar.is-compact .burger-label{font-size:.44rem !important;}
  .topbar.is-compact .burger span{width:10px !important;}
}



/* V128 — menu cliquable + urgence permanente + compact totalement à gauche */
.topbar .nav-panel,
body[data-page="home"] .topbar .nav-panel,
.topbar.is-compact .nav-panel{
  position:absolute !important;
  top:calc(100% + 10px) !important;
  width:min(420px, calc(100vw - 32px)) !important;
  max-height:calc(100vh - 120px) !important;
  overflow:auto !important;
  padding:16px !important;
  border-radius:24px !important;
  background:rgba(7,16,34,.96) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 22px 58px rgba(0,0,0,.34) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-8px) scale(.98) !important;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease !important;
  z-index:9999 !important;
}
.topbar:not(.is-compact) .nav-panel{
  right:0 !important;
  left:auto !important;
}
.topbar.is-compact .nav-panel{
  left:0 !important;
  right:auto !important;
}
.nav.menu-open .nav-panel,
.topbar.menu-open .nav-panel,
.topbar .nav.menu-open .nav-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}
.topbar .nav-panel::before,
.topbar .nav-panel::after{
  display:none !important;
  content:none !important;
}
.topbar .nav-links{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
}
.topbar .nav-links a{
  display:block !important;
  padding:11px 12px !important;
  border-radius:14px !important;
}
.topbar .nav-cta{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin-top:14px !important;
}
.topbar .nav-cta .btn{
  width:100% !important;
}

/* état compact : complètement à gauche, logo + MENU + 3 traits côte à côte */
.topbar.is-compact{
  top:0 !important;
  left:0 !important;
  right:0 !important;
  padding-top:10px !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.topbar.is-compact .nav{
  width:auto !important;
  min-width:0 !important;
  max-width:calc(100vw - 18px) !important;
  margin-left:8px !important;
  margin-right:auto !important;
  min-height:38px !important;
  padding:4px 8px 4px 5px !important;
  border-radius:999px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  background:rgba(7,16,34,.34) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
}
.topbar.is-compact .brand{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
  overflow:visible !important;
}
.topbar.is-compact .brand-badge{
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
  padding:2px !important;
}
.topbar.is-compact .brand-text{
  display:none !important;
}
.topbar.is-compact .burger{
  min-width:68px !important;
  width:auto !important;
  height:26px !important;
  flex:0 0 auto !important;
  margin-left:0 !important;
  padding:0 6px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.topbar.is-compact .burger-label{
  display:inline-block !important;
  font-size:.48rem !important;
  line-height:1 !important;
  letter-spacing:.14em !important;
  font-weight:900 !important;
  color:#fff !important;
}
.topbar.is-compact .burger span{
  width:10px !important;
  height:1.4px !important;
  border-radius:999px !important;
}

/* Bouton rouge téléphone urgence permanent */
.fixed-urgent-call{
  position:fixed !important;
  right:18px !important;
  bottom:96px !important;
  z-index:9800 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:46px !important;
  padding:0 15px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#c1121f,#ff3131) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 18px 46px rgba(193,18,31,.38), inset 0 1px 0 rgba(255,255,255,.18) !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  text-decoration:none !important;
  transition:transform .2s ease, box-shadow .2s ease !important;
}
.fixed-urgent-call:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 22px 54px rgba(193,18,31,.46), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.urgent-call-icon{
  width:28px !important;
  height:28px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.16) !important;
  font-size:1rem !important;
}
.urgent-call-text{
  font-size:.78rem !important;
}

/* éviter collision avec les boutons IA/Haut */
@media (max-width:720px){
  .fixed-urgent-call{
    right:12px !important;
    bottom:132px !important;
    min-height:42px !important;
    padding:0 12px !important;
  }
  .urgent-call-text{
    font-size:.70rem !important;
  }
  .urgent-call-icon{
    width:25px !important;
    height:25px !important;
  }
}



/* V129 — écran de chargement d'entrée */
html.fs38-preload-active,
html.fs38-preload-active body{
  overflow:hidden !important;
}

.fs38-preloader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .9s ease, visibility .9s ease;
  isolation:isolate;
}
html.fs38-preload-active .fs38-preloader{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.fs38-preloader-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(4,8,18,.82), rgba(4,8,18,.52) 45%, rgba(4,8,18,.72)),
    url('/assets/hero-accueil-drone.webp') center center / cover no-repeat;
  transform:scale(1.06);
}
.fs38-preloader-shade{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 42%, rgba(47,127,247,.20), transparent 24rem),
    radial-gradient(circle at 50% 58%, rgba(255,255,255,.08), transparent 20rem),
    linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.46));
}
.fs38-preloader-content{
  position:relative;
  z-index:2;
  width:min(92vw, 520px);
  min-height:360px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  text-align:center;
}
.fs38-preloader-logo-wrap{
  position:relative;
  width:170px;
  height:170px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 50% 45%, rgba(255,255,255,.18), rgba(255,255,255,.04));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.16),
    0 18px 55px rgba(0,0,0,.38),
    0 0 55px rgba(47,127,247,.24);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.fs38-preloader-logo{
  width:136px;
  height:136px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 10px 30px rgba(0,0,0,.28);
}
.fs38-preloader-ring{
  position:absolute;
  inset:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
  border:2px solid transparent;
}
.fs38-preloader-ring.ring-outer{
  width:230px;
  height:230px;
  border-top-color:rgba(255,255,255,.92);
  border-right-color:rgba(47,127,247,.92);
  border-bottom-color:rgba(47,127,247,.24);
  animation:fs38Spin 1.5s linear infinite;
  box-shadow:0 0 34px rgba(47,127,247,.22);
}
.fs38-preloader-ring.ring-inner{
  width:196px;
  height:196px;
  border-top-color:rgba(142,202,255,.85);
  border-left-color:rgba(255,255,255,.30);
  border-bottom-color:rgba(255,255,255,.10);
  animation:fs38SpinReverse 2.4s linear infinite;
}
.fs38-preloader-brand{
  color:#fff;
  font-size:clamp(1.7rem, 3vw, 2.25rem);
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 8px 24px rgba(0,0,0,.44);
}
.fs38-preloader-sub{
  color:rgba(255,255,255,.84);
  font-size:.95rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.fs38-preloader-sub::after{
  content:"";
  display:block;
  width:132px;
  height:3px;
  margin:14px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,.18), #2f7ff7, rgba(255,255,255,.18));
  animation:fs38PulseBar 1.6s ease-in-out infinite;
}
html.fs38-preload-done .fs38-preloader,
.fs38-preloader.is-leaving{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

@keyframes fs38Spin {
  from { transform:translate(-50%,-50%) rotate(0deg); }
  to { transform:translate(-50%,-50%) rotate(360deg); }
}
@keyframes fs38SpinReverse {
  from { transform:translate(-50%,-50%) rotate(360deg); }
  to { transform:translate(-50%,-50%) rotate(0deg); }
}
@keyframes fs38PulseBar {
  0%,100% { transform:scaleX(.72); opacity:.72; }
  50% { transform:scaleX(1); opacity:1; }
}

@media (max-width:720px){
  .fs38-preloader-content{min-height:300px;gap:14px;}
  .fs38-preloader-logo-wrap{width:144px;height:144px;}
  .fs38-preloader-logo{width:114px;height:114px;}
  .fs38-preloader-ring.ring-outer{width:198px;height:198px;}
  .fs38-preloader-ring.ring-inner{width:170px;height:170px;}
  .fs38-preloader-brand{font-size:1.45rem;letter-spacing:.10em;}
  .fs38-preloader-sub{font-size:.8rem;}
}



/* V130 — urgence dans la barre + compact strict logo/MENU/traits */
.nav-urgent-round{
  position:relative !important;
  z-index:2 !important;
  flex:0 0 42px !important;
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  margin-left:auto !important;
  margin-right:8px !important;
  color:#fff !important;
  text-decoration:none !important;
  background:linear-gradient(135deg,#b40014,#ff2f3d) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 10px 26px rgba(210,0,22,.34), inset 0 1px 0 rgba(255,255,255,.22) !important;
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease !important;
}
.nav-urgent-round span{
  font-size:1rem !important;
  line-height:1 !important;
  font-weight:950 !important;
}
.nav-urgent-round:hover{
  transform:translateY(-1px) scale(1.04) !important;
  box-shadow:0 14px 32px rgba(210,0,22,.42), inset 0 1px 0 rgba(255,255,255,.26) !important;
}

/* Remplace le bouton urgence flottant : plus aucun bouton rouge en bas/droite */
.fixed-urgent-call{
  display:none !important;
}

/* Grand menu : garde le rond urgence dans la barre */
.topbar:not(.is-compact) .nav{
  gap:10px !important;
}
.topbar:not(.is-compact) .brand{
  margin-right:auto !important;
}
.topbar:not(.is-compact) .burger{
  margin-left:0 !important;
}

/* Menu réduit : uniquement logo + MENU + 3 traits, petit et collé à gauche */
.topbar.is-compact{
  top:0 !important;
  left:0 !important;
  right:0 !important;
  padding-top:8px !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.topbar.is-compact .nav{
  width:max-content !important;
  min-width:0 !important;
  max-width:170px !important;
  margin-left:6px !important;
  margin-right:auto !important;
  min-height:34px !important;
  padding:3px 7px 3px 4px !important;
  border-radius:999px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:5px !important;
  background:rgba(7,16,34,.32) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.06) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
}
.topbar.is-compact .brand{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  gap:0 !important;
  overflow:visible !important;
}
.topbar.is-compact .brand-badge{
  width:27px !important;
  height:27px !important;
  flex:0 0 27px !important;
  padding:2px !important;
}
.topbar.is-compact .brand-text{
  display:none !important;
  width:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* En compact, le bouton urgence disparaît pour respecter : logo + MENU + 3 traits uniquement */
.topbar.is-compact .nav-urgent-round{
  display:none !important;
}

.topbar.is-compact .burger{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:60px !important;
  height:24px !important;
  margin:0 !important;
  padding:0 5px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.topbar.is-compact .burger-label{
  display:inline-block !important;
  font-size:.44rem !important;
  line-height:1 !important;
  letter-spacing:.12em !important;
  font-weight:950 !important;
  color:#fff !important;
}
.topbar.is-compact .burger span{
  display:block !important;
  width:9px !important;
  height:1.35px !important;
  border-radius:999px !important;
  background:#fff !important;
}

/* Panneau du menu compact aligné à gauche du petit module */
.topbar.is-compact .nav-panel{
  left:0 !important;
  right:auto !important;
  top:calc(100% + 8px) !important;
  width:min(340px, calc(100vw - 18px)) !important;
}

/* Mobile : compact encore plus léger */
@media (max-width:720px){
  .nav-urgent-round{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
    margin-right:5px !important;
  }
  .nav-urgent-round span{
    font-size:.86rem !important;
  }
  .topbar.is-compact .nav{
    max-width:150px !important;
    margin-left:5px !important;
    min-height:32px !important;
    padding:3px 6px 3px 4px !important;
  }
  .topbar.is-compact .brand-badge{
    width:25px !important;
    height:25px !important;
    flex-basis:25px !important;
  }
  .topbar.is-compact .burger{
    min-width:56px !important;
    height:22px !important;
    padding:0 4px !important;
    gap:3px !important;
  }
  .topbar.is-compact .burger-label{
    font-size:.42rem !important;
  }
  .topbar.is-compact .burger span{
    width:8px !important;
    height:1.25px !important;
  }
}


/* V131 — préchargeur recentré + logo beaucoup plus grand + fond maison */
.fs38-preloader{
  display:grid !important;
  place-items:center !important;
}
.fs38-preloader-bg{
  background:
    linear-gradient(135deg, rgba(4,8,18,.70), rgba(4,8,18,.34) 46%, rgba(4,8,18,.58)),
    url('/assets/preloader-fond-maison.jpg') center center / cover no-repeat !important;
  transform:scale(1.03) !important;
}
.fs38-preloader-shade{
  background:
    radial-gradient(circle at 50% 45%, rgba(47,127,247,.18), transparent 26rem),
    radial-gradient(circle at 50% 58%, rgba(255,255,255,.08), transparent 23rem),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.42)) !important;
}
.fs38-preloader-content{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  z-index:2 !important;
  width:min(94vw, 780px) !important;
  min-height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:20px !important;
  text-align:center !important;
  margin:0 !important;
}
.fs38-preloader-logo-wrap{
  width:360px !important;
  height:360px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:radial-gradient(circle at 50% 45%, rgba(255,255,255,.16), rgba(255,255,255,.04)) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.16),
    0 24px 70px rgba(0,0,0,.38),
    0 0 70px rgba(47,127,247,.24) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  backdrop-filter:blur(8px) !important;
}
.fs38-preloader-logo{
  width:290px !important;
  height:290px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  box-shadow:0 16px 42px rgba(0,0,0,.30) !important;
}
.fs38-preloader-ring.ring-outer{
  width:430px !important;
  height:430px !important;
  border-width:2px !important;
}
.fs38-preloader-ring.ring-inner{
  width:384px !important;
  height:384px !important;
  border-width:2px !important;
}
.fs38-preloader-brand{
  margin-top:6px !important;
  color:#fff !important;
  font-size:clamp(2.2rem, 4vw, 3.35rem) !important;
  font-weight:950 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  text-shadow:0 10px 28px rgba(0,0,0,.45) !important;
  line-height:1.05 !important;
  text-align:center !important;
}
.fs38-preloader-sub{
  color:rgba(255,255,255,.90) !important;
  font-size:clamp(.95rem, 1.4vw, 1.18rem) !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
  text-align:center !important;
}
.fs38-preloader-sub::after{
  width:180px !important;
  height:4px !important;
  margin:16px auto 0 !important;
}
@media (max-width: 900px){
  .fs38-preloader-logo-wrap{
    width:280px !important;
    height:280px !important;
  }
  .fs38-preloader-logo{
    width:225px !important;
    height:225px !important;
  }
  .fs38-preloader-ring.ring-outer{
    width:336px !important;
    height:336px !important;
  }
  .fs38-preloader-ring.ring-inner{
    width:298px !important;
    height:298px !important;
  }
}
@media (max-width: 720px){
  .fs38-preloader-content{
    width:min(92vw, 480px) !important;
    gap:16px !important;
  }
  .fs38-preloader-logo-wrap{
    width:220px !important;
    height:220px !important;
  }
  .fs38-preloader-logo{
    width:178px !important;
    height:178px !important;
  }
  .fs38-preloader-ring.ring-outer{
    width:272px !important;
    height:272px !important;
  }
  .fs38-preloader-ring.ring-inner{
    width:238px !important;
    height:238px !important;
  }
  .fs38-preloader-brand{
    font-size:1.85rem !important;
    letter-spacing:.08em !important;
  }
  .fs38-preloader-sub{
    font-size:.86rem !important;
    letter-spacing:.14em !important;
  }
}



/* V132 — correction finale : menu réduit lisible + panneau visible + chargement centré propre */
@media (min-width: 981px){
  /* La grande barre est conservée. On ajuste seulement l'état réduit. */
  .topbar.is-compact{
    top:0 !important;
    left:0 !important;
    right:0 !important;
    padding-top:12px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .topbar.is-compact .nav{
    width:max-content !important;
    min-width:0 !important;
    max-width:210px !important;
    margin-left:12px !important;
    margin-right:auto !important;
    min-height:44px !important;
    padding:5px 10px 5px 6px !important;
    border-radius:999px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    background:rgba(7,16,34,.46) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 12px 26px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.07) !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    filter:none !important;
    overflow:visible !important;
  }
  .topbar.is-compact .brand{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    gap:0 !important;
    overflow:visible !important;
  }
  .topbar.is-compact .brand-badge{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    padding:2px !important;
  }
  .topbar.is-compact .brand-text{
    display:none !important;
    width:0 !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
  .topbar.is-compact .nav-urgent-round{
    display:none !important;
  }
  .topbar.is-compact .burger{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:78px !important;
    height:32px !important;
    margin:0 !important;
    padding:0 8px !important;
    border-radius:999px !important;
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
  }
  .topbar.is-compact .burger-label{
    display:inline-block !important;
    font-size:.55rem !important;
    line-height:1 !important;
    letter-spacing:.14em !important;
    font-weight:950 !important;
    color:#fff !important;
  }
  .topbar.is-compact .burger span{
    display:block !important;
    width:13px !important;
    height:1.55px !important;
    border-radius:999px !important;
    background:#fff !important;
  }
}

/* Menu déroulant : visible, lisible, jamais transparent/invisible quand ouvert */
.topbar .nav-panel,
body[data-page="home"] .topbar .nav-panel,
.topbar.is-compact .nav-panel{
  position:absolute !important;
  top:calc(100% + 12px) !important;
  width:min(430px, calc(100vw - 24px)) !important;
  max-height:calc(100vh - 105px) !important;
  overflow:auto !important;
  padding:18px !important;
  border-radius:26px !important;
  background:#071022 !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.07) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  filter:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-8px) scale(.98) !important;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease !important;
  z-index:99999 !important;
}
.topbar:not(.is-compact) .nav-panel{
  right:0 !important;
  left:auto !important;
}
.topbar.is-compact .nav-panel{
  left:0 !important;
  right:auto !important;
}
.nav.menu-open .nav-panel,
.topbar.menu-open .nav-panel,
.topbar .nav.menu-open .nav-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}
.topbar .nav-panel::before,
.topbar .nav-panel::after{
  display:none !important;
  content:none !important;
}
.topbar .nav-links{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:9px !important;
}
.topbar .nav-links a{
  display:block !important;
  color:#fff !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  padding:12px 13px !important;
  border-radius:15px !important;
  font-weight:850 !important;
}
.topbar .nav-links a:hover,
.topbar .nav-links a.active{
  background:rgba(53,194,255,.14) !important;
  border-color:rgba(53,194,255,.25) !important;
}
.topbar .nav-cta{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin-top:14px !important;
}
.topbar .nav-cta .btn{
  width:100% !important;
}

/* Écran de chargement : centrage absolu, bonne image, logo très grand */
.fs38-preloader{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:grid !important;
  place-items:center !important;
  background:#020610 !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .9s ease, visibility .9s ease !important;
  isolation:isolate !important;
}
html.fs38-preload-active .fs38-preloader{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.fs38-preloader-bg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  background:
    linear-gradient(135deg, rgba(2,6,16,.58), rgba(2,6,16,.20) 48%, rgba(2,6,16,.54)),
    url('/assets/preloader-fond-maison-client.jpg') center center / cover no-repeat !important;
  transform:none !important;
  filter:none !important;
}
.fs38-preloader-shade{
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 50% 44%, rgba(47,127,247,.18), transparent 24rem),
    radial-gradient(circle at 50% 58%, rgba(255,255,255,.07), transparent 18rem),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.38)) !important;
}
.fs38-preloader-content{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100vh !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:22px !important;
  text-align:center !important;
  margin:0 !important;
  padding:0 24px !important;
  transform:none !important;
}
.fs38-preloader-logo-wrap{
  position:relative !important;
  width:390px !important;
  height:390px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto !important;
  background:radial-gradient(circle at 50% 45%, rgba(255,255,255,.18), rgba(255,255,255,.04)) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18),
    0 24px 72px rgba(0,0,0,.44),
    0 0 82px rgba(47,127,247,.30) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  backdrop-filter:blur(8px) !important;
}
.fs38-preloader-logo{
  width:315px !important;
  height:315px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  box-shadow:0 18px 46px rgba(0,0,0,.34) !important;
}
.fs38-preloader-ring{
  position:fixed !important;
  inset:auto !important;
  top:50% !important;
  left:50% !important;
  border-radius:50% !important;
  transform:translate(-50%, -50%) !important;
  pointer-events:none !important;
  z-index:1 !important;
}
.fs38-preloader-ring.ring-outer{
  width:470px !important;
  height:470px !important;
  border-width:2px !important;
  border-top-color:rgba(255,255,255,.92) !important;
  border-right-color:rgba(47,127,247,.92) !important;
  border-bottom-color:rgba(47,127,247,.24) !important;
  animation:fs38Spin 1.5s linear infinite !important;
}
.fs38-preloader-ring.ring-inner{
  width:420px !important;
  height:420px !important;
  border-width:2px !important;
  border-top-color:rgba(142,202,255,.85) !important;
  border-left-color:rgba(255,255,255,.30) !important;
  border-bottom-color:rgba(255,255,255,.10) !important;
  animation:fs38SpinReverse 2.4s linear infinite !important;
}
.fs38-preloader-brand{
  margin:6px 0 0 !important;
  width:100% !important;
  color:#fff !important;
  font-size:clamp(2.3rem, 4.5vw, 3.7rem) !important;
  font-weight:950 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  line-height:1.05 !important;
  text-align:center !important;
  text-shadow:0 12px 32px rgba(0,0,0,.55) !important;
}
.fs38-preloader-sub{
  width:100% !important;
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(.95rem, 1.35vw, 1.18rem) !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  text-align:center !important;
}
.fs38-preloader-sub::after{
  width:190px !important;
  height:4px !important;
  margin:16px auto 0 !important;
}
@media (max-width:900px){
  .topbar.is-compact .nav{
    max-width:190px !important;
    margin-left:9px !important;
  }
  .fs38-preloader-logo-wrap{
    width:300px !important;
    height:300px !important;
  }
  .fs38-preloader-logo{
    width:242px !important;
    height:242px !important;
  }
  .fs38-preloader-ring.ring-outer{
    width:365px !important;
    height:365px !important;
  }
  .fs38-preloader-ring.ring-inner{
    width:326px !important;
    height:326px !important;
  }
}
@media (max-width:720px){
  .topbar.is-compact .nav{
    max-width:170px !important;
    margin-left:6px !important;
    min-height:38px !important;
    padding:4px 8px 4px 5px !important;
  }
  .topbar.is-compact .brand-badge{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }
  .topbar.is-compact .burger{
    min-width:66px !important;
    height:26px !important;
  }
  .topbar.is-compact .burger-label{
    font-size:.46rem !important;
  }
  .fs38-preloader-content{
    gap:16px !important;
    padding:0 16px !important;
  }
  .fs38-preloader-logo-wrap{
    width:220px !important;
    height:220px !important;
  }
  .fs38-preloader-logo{
    width:178px !important;
    height:178px !important;
  }
  .fs38-preloader-ring.ring-outer{
    width:272px !important;
    height:272px !important;
  }
  .fs38-preloader-ring.ring-inner{
    width:238px !important;
    height:238px !important;
  }
  .fs38-preloader-brand{
    font-size:1.85rem !important;
    letter-spacing:.08em !important;
  }
  .fs38-preloader-sub{
    font-size:.82rem !important;
    letter-spacing:.13em !important;
  }
}



/* V133 — centrage réel du logo de chargement + menu compact déroulé vers la droite */

/* Préloader : anneaux, rond et logo centrés ensemble dans un seul bloc */
.fs38-preloader{
  display:grid !important;
  place-items:center !important;
}
.fs38-preloader-content{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100vh !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:24px !important;
  margin:0 !important;
  padding:0 24px !important;
  transform:none !important;
}
.fs38-preloader-logo-stage{
  position:relative !important;
  width:470px !important;
  height:470px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto !important;
  flex:0 0 auto !important;
}
.fs38-preloader-logo-wrap{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  width:390px !important;
  height:390px !important;
  margin:0 !important;
  z-index:3 !important;
}
.fs38-preloader-logo{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  width:315px !important;
  height:315px !important;
  margin:0 !important;
  z-index:4 !important;
}
.fs38-preloader-ring{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  inset:auto !important;
  transform:translate(-50%, -50%) !important;
  transform-origin:center center !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.fs38-preloader-ring.ring-outer{
  width:470px !important;
  height:470px !important;
  animation:fs38SpinStageOuter 1.5s linear infinite !important;
}
.fs38-preloader-ring.ring-inner{
  width:420px !important;
  height:420px !important;
  animation:fs38SpinStageInner 2.4s linear infinite !important;
}
@keyframes fs38SpinStageOuter{
  from{transform:translate(-50%, -50%) rotate(0deg);}
  to{transform:translate(-50%, -50%) rotate(360deg);}
}
@keyframes fs38SpinStageInner{
  from{transform:translate(-50%, -50%) rotate(360deg);}
  to{transform:translate(-50%, -50%) rotate(0deg);}
}

/* Menu compact : quand on clique, le panneau s'ouvre vers la droite du mini menu */
@media (min-width:981px){
  .topbar.is-compact .nav{
    position:relative !important;
    overflow:visible !important;
  }
  .topbar.is-compact .nav-panel{
    position:absolute !important;
    left:calc(100% + 12px) !important;
    right:auto !important;
    top:0 !important;
    width:min(390px, calc(100vw - 230px)) !important;
    max-height:calc(100vh - 32px) !important;
    overflow:auto !important;
    padding:18px !important;
    border-radius:24px !important;
    background:#071022 !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:0 28px 80px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08) !important;
    z-index:100000 !important;
  }
  .topbar.is-compact.menu-open .nav-panel,
  .topbar.is-compact .nav.menu-open .nav-panel,
  .topbar.is-compact .nav-panel[aria-hidden="false"]{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }
}

/* Tablette/mobile : le menu reste dessous pour éviter de sortir de l'écran */
@media (max-width:980px){
  .topbar.is-compact .nav-panel{
    left:0 !important;
    right:auto !important;
    top:calc(100% + 8px) !important;
    width:min(340px, calc(100vw - 18px)) !important;
  }
  .fs38-preloader-logo-stage{
    width:365px !important;
    height:365px !important;
  }
  .fs38-preloader-logo-wrap{
    width:300px !important;
    height:300px !important;
  }
  .fs38-preloader-logo{
    width:242px !important;
    height:242px !important;
  }
  .fs38-preloader-ring.ring-outer{
    width:365px !important;
    height:365px !important;
  }
  .fs38-preloader-ring.ring-inner{
    width:326px !important;
    height:326px !important;
  }
}
@media (max-width:720px){
  .fs38-preloader-logo-stage{
    width:272px !important;
    height:272px !important;
  }
  .fs38-preloader-logo-wrap{
    width:220px !important;
    height:220px !important;
  }
  .fs38-preloader-logo{
    width:178px !important;
    height:178px !important;
  }
  .fs38-preloader-ring.ring-outer{
    width:272px !important;
    height:272px !important;
  }
  .fs38-preloader-ring.ring-inner{
    width:238px !important;
    height:238px !important;
  }
}



/* V135 — handle réseaux sociaux centré sous les 4 logos */
.footer.footer-refined .footer-socials{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.footer.footer-refined .footer-socials a{
  display:grid !important;
  place-items:center !important;
}
.footer.footer-refined .footer-handle{
  width:100% !important;
  text-align:center !important;
  justify-self:center !important;
  align-self:center !important;
  margin:8px auto 0 !important;
  color:rgba(255,255,255,.88) !important;
  font-weight:850 !important;
  letter-spacing:.08em !important;
}
@media (min-width: 981px){
  .footer.footer-refined .footer-inner{
    align-items:center !important;
  }
  .footer.footer-refined .footer-socials{
    grid-area:socials !important;
  }
  .footer.footer-refined .footer-handle{
    grid-area:handle !important;
  }
}

/* ---- v136-animations.css ---- */

/* V136 — Pack animations premium FALCON SAR 38
   1 Reveal scroll
   2 Halo bleu cartes
   3 Chiffres animés
   4 Fond animé discret
   5 Urgence pulse
   6 Menu animé
   7 Loader premium
   8 Mission active
   9 Galerie premium
   10 Assistant IA immersif
*/

/* 1 — Reveal au scroll */
.fs-reveal{
  opacity:0;
  transform:translate3d(0, 26px, 0) scale(.985);
  transition:
    opacity .78s cubic-bezier(.2,.75,.18,1),
    transform .78s cubic-bezier(.2,.75,.18,1),
    filter .78s cubic-bezier(.2,.75,.18,1);
  filter:blur(8px);
}
.fs-reveal.is-visible{
  opacity:1;
  transform:translate3d(0, 0, 0) scale(1);
  filter:blur(0);
}
.fs-reveal.reveal-delay-1{transition-delay:.06s;}
.fs-reveal.reveal-delay-2{transition-delay:.12s;}
.fs-reveal.reveal-delay-3{transition-delay:.18s;}
.fs-reveal.reveal-delay-4{transition-delay:.24s;}

/* 2 — Halo bleu premium sur les cartes */
.card,
.project-card,
.panel,
.stat,
.logo-cell,
.service-card,
.reference-card,
.ai-intelligence-panel,
.mission-flow-step{
  position:relative;
  overflow:hidden;
}
.card::before,
.project-card::before,
.panel::before,
.stat::before,
.logo-cell::before,
.service-card::before,
.reference-card::before,
.ai-intelligence-panel::before,
.mission-flow-step::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  opacity:0;
  z-index:0;
  background:
    radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%),
      rgba(53,194,255,.22),
      rgba(47,127,247,.10) 28%,
      transparent 62%);
  transition:opacity .28s ease;
}
.card:hover::before,
.project-card:hover::before,
.panel:hover::before,
.stat:hover::before,
.logo-cell:hover::before,
.service-card:hover::before,
.reference-card:hover::before,
.ai-intelligence-panel:hover::before,
.mission-flow-step:hover::before{
  opacity:1;
}
.card > *,
.project-card > *,
.panel > *,
.stat > *,
.logo-cell > *,
.service-card > *,
.reference-card > *,
.ai-intelligence-panel > *,
.mission-flow-step > *{
  position:relative;
  z-index:1;
}

/* 3 — Chiffres animés */
.stat strong,
.stats-bar .stat strong{
  display:inline-block;
  transition:transform .35s ease, text-shadow .35s ease;
}
.stat strong.stat-animated{
  transform:translateY(-2px);
  text-shadow:0 0 22px rgba(53,194,255,.34);
}

/* 4 — Fond animé très discret */
.hero-home,
.page-header,
.service-hero{
  position:relative;
  overflow:hidden;
}
.hero-home::after,
.page-header::after,
.service-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.22;
  background:
    linear-gradient(115deg, transparent 0 18%, rgba(53,194,255,.12) 30%, transparent 44%),
    radial-gradient(circle at 18% 22%, rgba(53,194,255,.12), transparent 24rem),
    radial-gradient(circle at 80% 24%, rgba(255,255,255,.06), transparent 26rem);
  animation:fs38HeroLight 13s ease-in-out infinite alternate;
}
.hero-home > *,
.page-header > *,
.service-hero > *{
  position:relative;
  z-index:2;
}
@keyframes fs38HeroLight{
  from{transform:translate3d(-2%, -1%, 0) scale(1); opacity:.14;}
  to{transform:translate3d(2%, 1%, 0) scale(1.035); opacity:.30;}
}

/* 5 — Bouton urgence : pulse discret */
.nav-urgent-round::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:1px solid rgba(255,49,49,.62);
  opacity:.58;
  animation:fs38UrgencePulse 2.4s ease-out infinite;
}
@keyframes fs38UrgencePulse{
  0%{transform:scale(.88); opacity:.56;}
  72%{transform:scale(1.34); opacity:0;}
  100%{transform:scale(1.34); opacity:0;}
}

/* 6 — Menu vivant : slide + fade + apparition en cascade */
.topbar .nav-panel{
  transform-origin:top right;
}
.topbar.is-compact .nav-panel{
  transform-origin:left center;
}
.nav.menu-open .nav-panel,
.topbar.menu-open .nav-panel{
  animation:fs38MenuPanelOpen .26s cubic-bezier(.2,.75,.18,1) both;
}
@keyframes fs38MenuPanelOpen{
  from{opacity:0; transform:translateY(-8px) scale(.97);}
  to{opacity:1; transform:translateY(0) scale(1);}
}
.topbar .nav-links a,
.topbar .nav-cta .btn{
  opacity:.001;
  transform:translateX(10px);
}
.nav.menu-open .nav-links a,
.topbar.menu-open .nav-links a,
.nav.menu-open .nav-cta .btn,
.topbar.menu-open .nav-cta .btn{
  opacity:1;
  transform:translateX(0);
  transition:opacity .28s ease, transform .28s ease, background .22s ease, border-color .22s ease;
}
.nav.menu-open .nav-links a:nth-child(1){transition-delay:.03s}
.nav.menu-open .nav-links a:nth-child(2){transition-delay:.06s}
.nav.menu-open .nav-links a:nth-child(3){transition-delay:.09s}
.nav.menu-open .nav-links a:nth-child(4){transition-delay:.12s}
.nav.menu-open .nav-links a:nth-child(5){transition-delay:.15s}
.nav.menu-open .nav-links a:nth-child(6){transition-delay:.18s}
.nav.menu-open .nav-links a:nth-child(7){transition-delay:.21s}
.nav.menu-open .nav-links a:nth-child(8){transition-delay:.24s}
.topbar.menu-open .brand-badge{
  box-shadow:0 0 0 1px rgba(255,255,255,.16), 0 0 28px rgba(53,194,255,.35) !important;
}

/* 7 — Loader premium */
.fs38-preloader-bg{
  transform:scale(1.03);
  animation:fs38LoaderBg 5s ease-in-out both;
}
.fs38-preloader-shade{
  animation:fs38LoaderShade 5s ease-in-out both;
}
.fs38-preloader-logo-stage{
  position:relative !important;
  width:470px !important;
  height:470px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto !important;
}
.fs38-preloader-logo-wrap{
  display:grid !important;
  place-items:center !important;
  position:absolute !important;
  inset:50% auto auto 50% !important;
  transform:translate(-50%, -50%) !important;
  width:390px !important;
  height:390px !important;
  animation:fs38LoaderLogo 1.3s cubic-bezier(.2,.75,.18,1) both;
}
.fs38-preloader-logo{
  position:static !important;
  transform:none !important;
  width:315px !important;
  height:315px !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  display:block !important;
}
.fs38-preloader-ring{
  position:absolute !important;
  inset:50% auto auto 50% !important;
  transform:translate(-50%, -50%) !important;
}
.fs38-preloader-brand{
  animation:fs38LoaderText .95s ease .24s both;
}
.fs38-preloader-sub{
  animation:fs38LoaderText .95s ease .42s both;
}
@keyframes fs38LoaderBg{
  from{filter:blur(8px) saturate(.9); transform:scale(1.08);}
  to{filter:blur(0) saturate(1.08); transform:scale(1.03);}
}
@keyframes fs38LoaderShade{
  from{opacity:.82;}
  to{opacity:1;}
}
@keyframes fs38LoaderLogo{
  from{opacity:0; transform:translate(-50%, -50%) scale(.72);}
  to{opacity:1; transform:translate(-50%, -50%) scale(1);}
}
@keyframes fs38LoaderText{
  from{opacity:0; transform:translateY(12px);}
  to{opacity:1; transform:translateY(0);}
}

/* 8 — Mission active */
.mission-flow{
  position:relative;
  overflow:hidden;
}
.mission-flow::before{
  content:"";
  position:absolute;
  inset:20% -20%;
  pointer-events:none;
  background:radial-gradient(circle at 50% 50%, rgba(53,194,255,.08), transparent 44rem);
}
.mission-flow-header{
  max-width:860px;
  margin:0 auto 28px;
  text-align:center;
}
.mission-flow-header h2{
  margin:10px 0 12px;
  font-size:clamp(1.9rem, 3.2vw, 3.6rem);
  letter-spacing:-.05em;
}
.mission-flow-header p{
  color:rgba(255,255,255,.72);
  line-height:1.7;
}
.mission-flow-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}
.mission-flow-step{
  min-height:210px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.028));
  box-shadow:0 18px 54px rgba(0,0,0,.20);
  transition:transform .36s ease, border-color .36s ease, box-shadow .36s ease;
}
.mission-flow-step span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  color:#fff;
  font-weight:950;
  background:rgba(53,194,255,.14);
  border:1px solid rgba(53,194,255,.26);
  box-shadow:0 0 24px rgba(53,194,255,.12);
}
.mission-flow-step h3{
  margin:18px 0 10px;
  font-size:1.12rem;
}
.mission-flow-step p{
  color:rgba(255,255,255,.70);
  line-height:1.65;
  margin:0;
}
.mission-flow-step.is-active{
  transform:translateY(-5px);
  border-color:rgba(53,194,255,.34);
  box-shadow:0 24px 70px rgba(0,0,0,.28), 0 0 38px rgba(53,194,255,.09);
}

/* 9 — Galerie premium */
.gallery-row img,
.project-card img,
.reference-card img,
.immersive-card img{
  transition:transform .75s cubic-bezier(.2,.75,.18,1), filter .75s cubic-bezier(.2,.75,.18,1);
}
.gallery-row img:hover,
.project-card:hover img,
.reference-card:hover img,
.immersive-card:hover img{
  transform:scale(1.045);
  filter:saturate(1.08) contrast(1.04);
}
.gallery-row{
  position:relative;
}
.gallery-row img{
  border-radius:22px;
  box-shadow:0 18px 54px rgba(0,0,0,.24);
}

/* 10 — Assistant IA immersif */
.floating-ai{
  position:fixed;
}
.floating-ai::after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(53,194,255,.30), transparent 68%);
  opacity:.7;
  z-index:-1;
  animation:fs38AIPulse 3s ease-in-out infinite;
}
.ai-panel,
#ai-assistant-panel{
  transform-origin:bottom right;
}
#ai-assistant-panel.is-open,
.ai-panel.is-open{
  animation:fs38AIPanelOpen .35s cubic-bezier(.2,.75,.18,1) both;
}
.ai-thinking-line span{
  animation:fs38ThinkingDot 1.05s ease-in-out infinite;
}
.ai-thinking-line span:nth-child(2){animation-delay:.16s;}
.ai-thinking-line span:nth-child(3){animation-delay:.32s;}
.ai-result-service,
.ai-result-text,
.ai-estimate-box,
.ai-next-questions{
  animation:fs38AIReveal .42s ease both;
}
.ai-result-text{animation-delay:.05s;}
.ai-estimate-box{animation-delay:.10s;}
.ai-next-questions{animation-delay:.15s;}
.ai-send-link,
.ai-generate-demand{
  position:relative;
  overflow:hidden;
}
.ai-send-link::before,
.ai-generate-demand::before{
  content:"";
  position:absolute;
  top:-80%;
  bottom:-80%;
  width:46%;
  left:-70%;
  transform:rotate(18deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  animation:fs38ButtonShine 4.5s ease-in-out infinite;
}
@keyframes fs38AIPulse{
  0%,100%{transform:scale(.92); opacity:.35;}
  50%{transform:scale(1.08); opacity:.72;}
}
@keyframes fs38AIPanelOpen{
  from{opacity:0; transform:translateY(18px) scale(.96);}
  to{opacity:1; transform:translateY(0) scale(1);}
}
@keyframes fs38ThinkingDot{
  0%,100%{transform:translateY(0); opacity:.45;}
  50%{transform:translateY(-4px); opacity:1;}
}
@keyframes fs38AIReveal{
  from{opacity:0; transform:translateY(8px);}
  to{opacity:1; transform:translateY(0);}
}
@keyframes fs38ButtonShine{
  0%,68%{left:-70%;}
  100%{left:130%;}
}

/* Responsive et accessibilité */
@media (max-width: 980px){
  .mission-flow-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .fs38-preloader-logo-stage{
    width:365px !important;
    height:365px !important;
  }
}
@media (max-width: 720px){
  .mission-flow-grid{
    grid-template-columns:1fr;
  }
  .fs-reveal{
    transform:translate3d(0, 16px, 0);
  }
  .fs38-preloader-logo-stage{
    width:272px !important;
    height:272px !important;
  }
  .fs38-preloader-logo-wrap{
    width:220px !important;
    height:220px !important;
  }
  .fs38-preloader-logo{
    width:178px !important;
    height:178px !important;
  }
}
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
  .fs-reveal{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}

/* ---- v137-stabilisation.css ---- */

/* V137 — stabilisation finale + performance */
html,body{max-width:100%;overflow-x:hidden}img{height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(53,194,255,.9)!important;outline-offset:3px!important}
.fs38-preloader-content{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;min-height:100vh!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:24px!important;padding:0 24px!important;transform:none!important}
.fs38-preloader-logo-stage{position:relative!important;width:470px!important;height:470px!important;display:grid!important;place-items:center!important;margin:0 auto!important}
.fs38-preloader-logo-wrap{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:390px!important;height:390px!important;display:grid!important;place-items:center!important}
.fs38-preloader-logo{position:static!important;width:315px!important;height:315px!important;object-fit:contain!important;object-position:center!important;margin:0!important;transform:none!important}
.fs38-preloader-ring{position:absolute!important;top:50%!important;left:50%!important;inset:auto!important;transform:translate(-50%,-50%)!important;transform-origin:center center!important}
@media (min-width:981px){.topbar.is-compact .nav{overflow:visible!important;width:max-content!important;max-width:220px!important;min-height:44px!important;margin-left:12px!important}.topbar.is-compact .brand-badge{width:34px!important;height:34px!important;flex-basis:34px!important}.topbar.is-compact .burger{min-width:78px!important;height:32px!important}.topbar.is-compact .nav-panel{left:calc(100% + 12px)!important;right:auto!important;top:0!important;width:min(420px,calc(100vw - 250px))!important;background:#071022!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 28px 80px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.08)!important;z-index:100000!important}.topbar.is-compact .nav.menu-open .nav-panel,.topbar.is-compact.menu-open .nav-panel{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0) scale(1)!important}}
.topbar .nav-panel{background:#071022!important}.topbar .nav-links a,.topbar .nav-cta .btn{will-change:opacity,transform}
.footer.footer-refined .footer-socials{display:flex!important;justify-content:center!important;align-items:center!important;gap:12px!important;width:100%!important}.footer.footer-refined .footer-handle{width:100%!important;text-align:center!important;margin:8px auto 0!important}
@media (max-width:720px){.fs38-preloader-logo-stage{width:272px!important;height:272px!important}.fs38-preloader-logo-wrap{width:220px!important;height:220px!important}.fs38-preloader-logo{width:178px!important;height:178px!important}.hero-home::after,.page-header::after,.service-hero::after{opacity:.16!important}.card::before,.project-card::before,.panel::before,.stat::before,.logo-cell::before,.reference-card::before{display:none!important}}

/* ---- v140-apple-like.css ---- */

/* V140 — Apple-like premium effects */

/* curseur lumineux discret */
.fs38-cursor-glow{
  position:fixed;
  left:0;
  top:0;
  width:360px;
  height:360px;
  border-radius:50%;
  pointer-events:none;
  z-index:2;
  opacity:0;
  transform:translate3d(-50%, -50%, 0);
  background:radial-gradient(circle, rgba(53,194,255,.18), rgba(53,194,255,.08) 28%, transparent 66%);
  filter:blur(8px);
  transition:opacity .32s ease;
  mix-blend-mode:screen;
}
body.fs38-pointer-active .fs38-cursor-glow{opacity:1;}

/* écran de chargement Apple-like : le rond est créé par le bloc lui-même, donc centré avec le logo */
.fs38-preloader{
  background:#020610 !important;
}
.fs38-preloader-bg{
  transform:scale(1.025) !important;
  animation:fs40LoaderBgApple 5s cubic-bezier(.2,.75,.18,1) both !important;
}
.fs38-preloader-content{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100svh !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  padding:24px !important;
  text-align:center !important;
  transform:none !important;
  box-sizing:border-box !important;
}
.fs38-preloader-logo-stage{
  position:relative !important;
  width:430px !important;
  height:430px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto !important;
  flex:0 0 auto !important;
  isolation:isolate !important;
}
.fs38-preloader-logo-stage::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:
    conic-gradient(
      from 0deg,
      rgba(53,194,255,0),
      rgba(53,194,255,.22),
      rgba(255,255,255,.96),
      rgba(53,194,255,.72),
      rgba(53,194,255,0) 72%,
      rgba(53,194,255,0)
    );
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
  mask:radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
  filter:drop-shadow(0 0 24px rgba(53,194,255,.24));
  animation:fs40PremiumRing 1.65s linear infinite;
  z-index:1;
}
.fs38-preloader-logo-stage::after{
  content:"";
  position:absolute;
  inset:32px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:
    inset 0 0 38px rgba(53,194,255,.08),
    0 0 48px rgba(53,194,255,.10);
  animation:fs40PremiumBreath 2.8s ease-in-out infinite;
  z-index:1;
}
.fs38-preloader-logo-wrap{
  position:relative !important;
  z-index:2 !important;
  width:360px !important;
  height:360px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  margin:0 auto !important;
  background:
    radial-gradient(circle at 45% 34%, rgba(255,255,255,.18), transparent 38%),
    radial-gradient(circle, rgba(255,255,255,.055), rgba(255,255,255,.018));
  box-shadow:
    0 20px 72px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.16),
    0 0 0 1px rgba(255,255,255,.09) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.2) !important;
  backdrop-filter:blur(14px) saturate(1.2) !important;
  animation:fs40LogoEnter .95s cubic-bezier(.2,.75,.18,1) both !important;
}
.fs38-preloader-logo{
  position:relative !important;
  z-index:3 !important;
  width:286px !important;
  height:286px !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
  transform:none !important;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.28)) !important;
}
.fs38-preloader-brand{
  margin:4px auto 0 !important;
  font-size:clamp(2.25rem, 4.2vw, 3.4rem) !important;
  letter-spacing:.12em !important;
  animation:fs40TextEnter .72s ease .20s both !important;
}
.fs38-preloader-sub{
  max-width:min(92vw, 760px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  animation:fs40TextEnter .72s ease .34s both !important;
}

/* ancien anneau masqué définitivement s'il reste en cache */
.fs38-preloader-ring{display:none !important;}

@keyframes fs40PremiumRing{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
@keyframes fs40PremiumBreath{
  0%,100%{transform:scale(.985); opacity:.72;}
  50%{transform:scale(1.015); opacity:1;}
}
@keyframes fs40LogoEnter{
  from{opacity:0; transform:scale(.82); filter:blur(8px);}
  to{opacity:1; transform:scale(1); filter:blur(0);}
}
@keyframes fs40TextEnter{
  from{opacity:0; transform:translateY(10px); filter:blur(5px);}
  to{opacity:1; transform:translateY(0); filter:blur(0);}
}
@keyframes fs40LoaderBgApple{
  from{filter:blur(10px) saturate(.92); transform:scale(1.075);}
  to{filter:blur(0) saturate(1.08); transform:scale(1.025);}
}

/* Menu compact : panneau visible à droite, Apple glass mais opaque */
@media (min-width:981px){
  .topbar.is-compact .nav{
    position:relative !important;
    overflow:visible !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:230px !important;
    min-height:46px !important;
    margin-left:14px !important;
    background:rgba(7,16,34,.54) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.09) !important;
  }
  .topbar.is-compact .brand-badge{
    width:36px !important;
    height:36px !important;
    flex-basis:36px !important;
  }
  .topbar.is-compact .burger{
    min-width:82px !important;
    height:34px !important;
  }
  .topbar.is-compact .nav-panel{
    position:absolute !important;
    left:calc(100% + 14px) !important;
    right:auto !important;
    top:0 !important;
    width:min(430px, calc(100vw - 260px)) !important;
    max-height:calc(100vh - 32px) !important;
    overflow:auto !important;
    padding:18px !important;
    border-radius:28px !important;
    background:rgba(7,16,34,.965) !important;
    border:1px solid rgba(255,255,255,.20) !important;
    box-shadow:
      0 30px 90px rgba(0,0,0,.58),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
    -webkit-backdrop-filter:blur(18px) saturate(1.14) !important;
    backdrop-filter:blur(18px) saturate(1.14) !important;
    z-index:100000 !important;
  }
  .topbar.is-compact .nav.menu-open .nav-panel,
  .topbar.is-compact.menu-open .nav-panel,
  .topbar.is-compact .nav-panel[aria-hidden="false"]{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translate3d(0,0,0) scale(1) !important;
    animation:fs40MenuRightOpen .30s cubic-bezier(.2,.75,.18,1) both !important;
  }
}
@keyframes fs40MenuRightOpen{
  from{opacity:0; transform:translate3d(-10px,0,0) scale(.975);}
  to{opacity:1; transform:translate3d(0,0,0) scale(1);}
}

/* Effets au déplacement de souris : Apple spotlight + léger relief */
.card,
.project-card,
.panel,
.stat,
.logo-cell,
.reference-card,
.mission-flow-step,
.sector-card,
.feature-item,
.cta-band{
  transition:
    transform .32s cubic-bezier(.2,.75,.18,1),
    box-shadow .32s cubic-bezier(.2,.75,.18,1),
    border-color .32s ease !important;
  transform-style:preserve-3d;
}
.fs40-tilt-active{
  transform:
    perspective(900px)
    rotateX(var(--tilt-x, 0deg))
    rotateY(var(--tilt-y, 0deg))
    translateY(-3px) !important;
  border-color:rgba(53,194,255,.28) !important;
  box-shadow:
    0 24px 74px rgba(0,0,0,.32),
    0 0 38px rgba(53,194,255,.08) !important;
}

/* Effet au clic */
.fs40-click-ripple{
  position:fixed;
  left:var(--x);
  top:var(--y);
  width:12px;
  height:12px;
  border-radius:50%;
  pointer-events:none;
  z-index:100001;
  transform:translate(-50%,-50%) scale(1);
  background:radial-gradient(circle, rgba(255,255,255,.90), rgba(53,194,255,.40) 42%, transparent 72%);
  animation:fs40ClickRipple .58s ease-out forwards;
}
@keyframes fs40ClickRipple{
  to{opacity:0; transform:translate(-50%,-50%) scale(18);}
}
a:active,
button:active,
.btn:active,
.burger:active{
  transform:scale(.975) !important;
}

/* Responsive */
@media (max-width:720px){
  .fs38-cursor-glow{display:none !important;}
  .fs38-preloader-content{gap:12px !important; padding:18px !important;}
  .fs38-preloader-logo-stage{width:260px !important; height:260px !important;}
  .fs38-preloader-logo-stage::after{inset:22px !important;}
  .fs38-preloader-logo-wrap{width:216px !important; height:216px !important;}
  .fs38-preloader-logo{width:172px !important; height:172px !important;}
  .fs38-preloader-brand{font-size:1.75rem !important;}
  .fs38-preloader-sub{font-size:.76rem !important; letter-spacing:.11em !important;}
}
@media (prefers-reduced-motion: reduce){
  .fs38-cursor-glow{display:none !important;}
  .fs38-preloader-logo-stage::before,
  .fs38-preloader-logo-stage::after,
  .fs38-preloader-bg,
  .fs38-preloader-logo-wrap,
  .fs38-preloader-brand,
  .fs38-preloader-sub{
    animation:none !important;
  }
}

/* ---- v141-fix.css ---- */

/* V141 — correctifs définitifs : loader centré, menu compact à droite, boutons flottants séparés */

/* 1) Boutons flottants : plus jamais superposés */
.floating-ai{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  z-index:90020 !important;
}
.floating-top{
  position:fixed !important;
  right:22px !important;
  bottom:96px !important;
  z-index:90021 !important;
}
#ai-assistant-panel,
.ai-panel{
  right:22px !important;
  bottom:92px !important;
  z-index:90030 !important;
}
@media (max-width:720px){
  .floating-ai{
    right:14px !important;
    bottom:16px !important;
  }
  .floating-top{
    right:14px !important;
    bottom:82px !important;
  }
  #ai-assistant-panel,
  .ai-panel{
    right:10px !important;
    left:10px !important;
    bottom:82px !important;
    width:auto !important;
    max-width:none !important;
  }
}

/* 2) Loader : rond et logo centrés sur le même point exact */
.fs38-preloader-content{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100svh !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  padding:24px !important;
  text-align:center !important;
  box-sizing:border-box !important;
  transform:none !important;
}
.fs38-preloader-logo-stage{
  position:relative !important;
  width:430px !important;
  height:430px !important;
  min-width:430px !important;
  min-height:430px !important;
  max-width:430px !important;
  max-height:430px !important;
  display:block !important;
  place-items:normal !important;
  margin:0 auto !important;
  padding:0 !important;
  flex:0 0 430px !important;
  transform:none !important;
  isolation:isolate !important;
}
.fs38-preloader-logo-stage::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:392px !important;
  height:392px !important;
  border-radius:50% !important;
  transform:translate(-50%, -50%) rotate(0deg) !important;
  background:
    conic-gradient(
      from 0deg,
      rgba(53,194,255,0),
      rgba(53,194,255,.22),
      rgba(255,255,255,.96),
      rgba(53,194,255,.72),
      rgba(53,194,255,0) 72%,
      rgba(53,194,255,0)
    ) !important;
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)) !important;
  mask:radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)) !important;
  filter:drop-shadow(0 0 24px rgba(53,194,255,.26)) !important;
  animation:fs141PremiumRing 1.65s linear infinite !important;
  z-index:1 !important;
}
.fs38-preloader-logo-stage::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:336px !important;
  height:336px !important;
  border-radius:50% !important;
  transform:translate(-50%, -50%) scale(1) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:inset 0 0 38px rgba(53,194,255,.08), 0 0 48px rgba(53,194,255,.10) !important;
  animation:fs141PremiumBreath 2.8s ease-in-out infinite !important;
  z-index:1 !important;
}
.fs38-preloader-logo-wrap{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  inset:auto !important;
  width:360px !important;
  height:360px !important;
  margin:0 !important;
  padding:0 !important;
  transform:translate(-50%, -50%) !important;
  display:block !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle at 45% 34%, rgba(255,255,255,.18), transparent 38%),
    radial-gradient(circle, rgba(255,255,255,.055), rgba(255,255,255,.018)) !important;
  box-shadow:0 20px 72px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.16), 0 0 0 1px rgba(255,255,255,.09) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.2) !important;
  backdrop-filter:blur(14px) saturate(1.2) !important;
  z-index:2 !important;
}
.fs38-preloader-logo{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  inset:auto !important;
  width:286px !important;
  height:286px !important;
  max-width:286px !important;
  max-height:286px !important;
  min-width:286px !important;
  min-height:286px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:translate(-50%, -50%) !important;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.28)) !important;
  z-index:3 !important;
}
.fs38-preloader-ring{
  display:none !important;
}
@keyframes fs141PremiumRing{
  from{transform:translate(-50%, -50%) rotate(0deg);}
  to{transform:translate(-50%, -50%) rotate(360deg);}
}
@keyframes fs141PremiumBreath{
  0%,100%{transform:translate(-50%, -50%) scale(.985); opacity:.72;}
  50%{transform:translate(-50%, -50%) scale(1.015); opacity:1;}
}
@media (max-width:720px){
  .fs38-preloader-logo-stage{
    width:260px !important;
    height:260px !important;
    min-width:260px !important;
    min-height:260px !important;
    max-width:260px !important;
    max-height:260px !important;
    flex-basis:260px !important;
  }
  .fs38-preloader-logo-stage::before{
    width:238px !important;
    height:238px !important;
  }
  .fs38-preloader-logo-stage::after{
    width:204px !important;
    height:204px !important;
  }
  .fs38-preloader-logo-wrap{
    width:216px !important;
    height:216px !important;
  }
  .fs38-preloader-logo{
    width:172px !important;
    height:172px !important;
    min-width:172px !important;
    min-height:172px !important;
    max-width:172px !important;
    max-height:172px !important;
  }
}

/* 3) Menu compact : visible, fixe et totalement à droite de la barre réduite */
@media (min-width:981px){
  .topbar{
    overflow:visible !important;
  }
  .topbar.is-compact{
    overflow:visible !important;
    pointer-events:none !important;
  }
  .topbar.is-compact .nav{
    position:relative !important;
    overflow:visible !important;
    pointer-events:auto !important;
    width:max-content !important;
    min-width:0 !important;
    max-width:232px !important;
    min-height:46px !important;
    margin-left:14px !important;
    margin-right:auto !important;
    background:rgba(7,16,34,.60) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:0 18px 44px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.09) !important;
    z-index:100000 !important;
  }
  .topbar.is-compact .nav-panel{
    position:fixed !important;
    left:260px !important;
    right:auto !important;
    top:34px !important;
    width:min(440px, calc(100vw - 290px)) !important;
    max-height:calc(100vh - 70px) !important;
    overflow:auto !important;
    padding:18px !important;
    border-radius:28px !important;
    background:rgba(7,16,34,.985) !important;
    border:1px solid rgba(255,255,255,.22) !important;
    box-shadow:0 34px 96px rgba(0,0,0,.64), inset 0 1px 0 rgba(255,255,255,.10) !important;
    -webkit-backdrop-filter:blur(18px) saturate(1.14) !important;
    backdrop-filter:blur(18px) saturate(1.14) !important;
    z-index:2147483000 !important;
  }
  .topbar.is-compact .nav.menu-open .nav-panel,
  .topbar.is-compact.menu-open .nav-panel,
  .topbar.is-compact .nav-panel[aria-hidden="false"]{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translate3d(0,0,0) scale(1) !important;
  }
}

/* 4) Effets Apple souris/clic conservés mais maîtrisés */
.fs38-cursor-glow{
  z-index:1 !important;
}
.fs40-click-ripple{
  z-index:2147483001 !important;
}

/* ---- v142-loader-final.css ---- */

/* V142 — centrage définitif du loader
   Correction : les anciennes animations appliquaient transform:scale() sur le logo-wrap,
   ce qui annulait le translate(-50%, -50%) et décalait le logo.
   Ici, le centrage est fait en CSS Grid, sans translate sur le logo-wrap.
*/

.fs38-preloader-content{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100svh !important;
  display:grid !important;
  grid-template-rows:auto auto auto !important;
  place-items:center !important;
  align-content:center !important;
  justify-content:center !important;
  gap:16px !important;
  padding:24px !important;
  margin:0 !important;
  text-align:center !important;
  transform:none !important;
  box-sizing:border-box !important;
}

/* Bloc central unique : le rond et le logo partagent exactement le même centre */
.fs38-preloader-logo-stage{
  position:relative !important;
  width:430px !important;
  height:430px !important;
  min-width:430px !important;
  min-height:430px !important;
  max-width:430px !important;
  max-height:430px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto !important;
  padding:0 !important;
  transform:none !important;
  animation:none !important;
  flex:none !important;
  isolation:isolate !important;
}

/* Anneau extérieur premium parfaitement centré */
.fs38-preloader-logo-stage::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:392px !important;
  height:392px !important;
  margin:0 !important;
  border-radius:50% !important;
  transform:translate(-50%, -50%) rotate(0deg) !important;
  background:
    conic-gradient(
      from 0deg,
      rgba(53,194,255,0),
      rgba(53,194,255,.18),
      rgba(255,255,255,.96),
      rgba(53,194,255,.70),
      rgba(53,194,255,0) 72%,
      rgba(53,194,255,0)
    ) !important;
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)) !important;
  mask:radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)) !important;
  filter:drop-shadow(0 0 24px rgba(53,194,255,.26)) !important;
  animation:fs142RingSpin 1.65s linear infinite !important;
  z-index:1 !important;
}

/* Cercle interne glass également centré */
.fs38-preloader-logo-stage::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:336px !important;
  height:336px !important;
  margin:0 !important;
  border-radius:50% !important;
  transform:translate(-50%, -50%) scale(1) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:inset 0 0 38px rgba(53,194,255,.08), 0 0 48px rgba(53,194,255,.10) !important;
  animation:fs142Breath 2.8s ease-in-out infinite !important;
  z-index:1 !important;
}

/* Le wrap n'est plus positionné à 50% : il est centré par la grille.
   On neutralise les anciennes animations transform qui créaient le décalage. */
.fs38-preloader-logo-wrap{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  inset:auto !important;
  width:360px !important;
  height:360px !important;
  min-width:360px !important;
  min-height:360px !important;
  max-width:360px !important;
  max-height:360px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  animation:none !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle at 45% 34%, rgba(255,255,255,.18), transparent 38%),
    radial-gradient(circle, rgba(255,255,255,.055), rgba(255,255,255,.018)) !important;
  box-shadow:0 20px 72px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.16), 0 0 0 1px rgba(255,255,255,.09) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.2) !important;
  backdrop-filter:blur(14px) saturate(1.2) !important;
  z-index:2 !important;
}

/* Image logo : centrée par grid, aucune animation transform parasite */
.fs38-preloader-logo{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  inset:auto !important;
  width:286px !important;
  height:286px !important;
  min-width:286px !important;
  min-height:286px !important;
  max-width:286px !important;
  max-height:286px !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  animation:none !important;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.28)) !important;
  z-index:3 !important;
}

.fs38-preloader-ring{
  display:none !important;
}

@keyframes fs142RingSpin{
  from{transform:translate(-50%, -50%) rotate(0deg);}
  to{transform:translate(-50%, -50%) rotate(360deg);}
}
@keyframes fs142Breath{
  0%,100%{transform:translate(-50%, -50%) scale(.985); opacity:.72;}
  50%{transform:translate(-50%, -50%) scale(1.015); opacity:1;}
}

@media (max-width:720px){
  .fs38-preloader-content{
    gap:12px !important;
    padding:18px !important;
  }
  .fs38-preloader-logo-stage{
    width:260px !important;
    height:260px !important;
    min-width:260px !important;
    min-height:260px !important;
    max-width:260px !important;
    max-height:260px !important;
  }
  .fs38-preloader-logo-stage::before{
    width:238px !important;
    height:238px !important;
  }
  .fs38-preloader-logo-stage::after{
    width:204px !important;
    height:204px !important;
  }
  .fs38-preloader-logo-wrap{
    width:216px !important;
    height:216px !important;
    min-width:216px !important;
    min-height:216px !important;
    max-width:216px !important;
    max-height:216px !important;
  }
  .fs38-preloader-logo{
    width:172px !important;
    height:172px !important;
    min-width:172px !important;
    min-height:172px !important;
    max-width:172px !important;
    max-height:172px !important;
  }
}

/* ---- v143-loader-image-unique.css ---- */

/* V143 — Loader image unique vérifié
   Un seul visuel contient déjà le rond + le logo au même centre.
   Le navigateur centre une seule image : aucun décalage CSS possible.
*/

.fs38-preloader-content{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100svh !important;
  display:grid !important;
  grid-template-rows:auto auto auto !important;
  place-items:center !important;
  align-content:center !important;
  justify-content:center !important;
  gap:16px !important;
  padding:24px !important;
  margin:0 !important;
  text-align:center !important;
  transform:none !important;
  box-sizing:border-box !important;
}
.fs38-preloader-logo-stage{
  position:relative !important;
  width:430px !important;
  height:430px !important;
  min-width:430px !important;
  min-height:430px !important;
  max-width:430px !important;
  max-height:430px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto !important;
  padding:0 !important;
  transform:none !important;
  animation:fs143LoaderFloat 3.2s ease-in-out infinite !important;
  flex:none !important;
}
.fs38-preloader-logo-stage::before,
.fs38-preloader-logo-stage::after,
.fs38-preloader-logo-wrap::before,
.fs38-preloader-logo-wrap::after,
.fs38-preloader-ring{
  content:none !important;
  display:none !important;
}
.fs38-preloader-logo-wrap{
  position:static !important;
  width:430px !important;
  height:430px !important;
  min-width:430px !important;
  min-height:430px !important;
  max-width:430px !important;
  max-height:430px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  animation:none !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.fs38-preloader-logo{
  position:static !important;
  width:430px !important;
  height:430px !important;
  min-width:430px !important;
  min-height:430px !important;
  max-width:430px !important;
  max-height:430px !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  animation:none !important;
  filter:none !important;
}
@keyframes fs143LoaderFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-4px);}
}
@media (max-width:720px){
  .fs38-preloader-content{
    gap:12px !important;
    padding:18px !important;
  }
  .fs38-preloader-logo-stage,
  .fs38-preloader-logo-wrap,
  .fs38-preloader-logo{
    width:260px !important;
    height:260px !important;
    min-width:260px !important;
    min-height:260px !important;
    max-width:260px !important;
    max-height:260px !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .fs38-preloader-logo-stage{
    animation:none !important;
  }
}

/* ---- v144-menu-bars.css ---- */

/* V144 — animation premium des barres du menu à l'ouverture */

/* Base : barres fluides type Apple */
.burger{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  transition:
    transform .28s cubic-bezier(.2,.75,.18,1),
    background .28s ease,
    border-color .28s ease,
    box-shadow .28s ease !important;
}
.burger::before{
  content:"" !important;
  position:absolute !important;
  inset:-40% !important;
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateX(-70%) rotate(18deg) !important;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent) !important;
  transition:opacity .22s ease !important;
  z-index:0 !important;
}
.burger-label,
.burger span{
  position:relative !important;
  z-index:1 !important;
}
.burger span{
  display:block !important;
  transform-origin:center center !important;
  transition:
    transform .36s cubic-bezier(.2,.75,.18,1),
    opacity .22s ease,
    width .28s cubic-bezier(.2,.75,.18,1),
    background .28s ease,
    box-shadow .28s ease !important;
  will-change:transform, opacity, width !important;
}

/* Survol : léger effet premium avant ouverture */
.burger:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(53,194,255,.34) !important;
  box-shadow:0 14px 36px rgba(0,0,0,.22), 0 0 24px rgba(53,194,255,.10) !important;
}
.burger:hover::before{
  opacity:1 !important;
  animation:fs144BurgerShine 1.2s ease both !important;
}
.burger:hover span{
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 0 14px rgba(53,194,255,.22) !important;
}

/* Ouverture : les 3 barres deviennent une croix nette */
.nav.menu-open .burger,
.topbar.menu-open .burger{
  background:rgba(53,194,255,.12) !important;
  border-color:rgba(53,194,255,.38) !important;
  box-shadow:
    0 16px 44px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 28px rgba(53,194,255,.14) !important;
  animation:fs144BurgerOpenPop .34s cubic-bezier(.2,.75,.18,1) both !important;
}
.nav.menu-open .burger .burger-label,
.topbar.menu-open .burger .burger-label{
  color:#ffffff !important;
  letter-spacing:.12em !important;
}
.nav.menu-open .burger span:nth-of-type(1),
.topbar.menu-open .burger span:nth-of-type(1){
  transform:translateY(6px) rotate(45deg) !important;
  width:22px !important;
  background:#ffffff !important;
}
.nav.menu-open .burger span:nth-of-type(2),
.topbar.menu-open .burger span:nth-of-type(2){
  opacity:0 !important;
  transform:scaleX(0) translateX(8px) !important;
  width:0 !important;
}
.nav.menu-open .burger span:nth-of-type(3),
.topbar.menu-open .burger span:nth-of-type(3){
  transform:translateY(-6px) rotate(-45deg) !important;
  width:22px !important;
  background:#ffffff !important;
}

/* Animation spécifique quand le panneau sort à droite en menu réduit */
@media (min-width:981px){
  .topbar.is-compact.menu-open .burger,
  .topbar.is-compact .nav.menu-open .burger{
    transform:translateY(-1px) scale(1.025) !important;
  }
  .topbar.is-compact.menu-open .nav-panel,
  .topbar.is-compact .nav.menu-open .nav-panel{
    animation:fs144CompactPanelRight .34s cubic-bezier(.2,.75,.18,1) both !important;
  }
}

/* Effet fermeture : retour doux */
.nav:not(.menu-open) .burger span,
.topbar:not(.menu-open) .burger span{
  animation:fs144BarsReturn .26s ease both !important;
}

@keyframes fs144BurgerShine{
  from{transform:translateX(-72%) rotate(18deg);}
  to{transform:translateX(72%) rotate(18deg);}
}
@keyframes fs144BurgerOpenPop{
  0%{transform:scale(.96);}
  62%{transform:scale(1.045);}
  100%{transform:scale(1);}
}
@keyframes fs144CompactPanelRight{
  from{opacity:0; transform:translateX(-14px) scale(.975); filter:blur(8px);}
  to{opacity:1; transform:translateX(0) scale(1); filter:blur(0);}
}
@keyframes fs144BarsReturn{
  from{filter:brightness(1.25);}
  to{filter:brightness(1);}
}

/* Mobile : croix un peu plus petite pour rester propre */
@media (max-width:720px){
  .nav.menu-open .burger span:nth-of-type(1),
  .topbar.menu-open .burger span:nth-of-type(1){
    transform:translateY(5px) rotate(45deg) !important;
    width:20px !important;
  }
  .nav.menu-open .burger span:nth-of-type(3),
  .topbar.menu-open .burger span:nth-of-type(3){
    transform:translateY(-5px) rotate(-45deg) !important;
    width:20px !important;
  }
}

/* ---- v145-stats-opaque.css ---- */

/* V145 — fond opaque pour les 4 indicateurs d'accueil */
.hero-banner,
.stats-bar{
  background:transparent !important;
}
.stats-bar .stat,
.hero-banner .stat{
  background:#071022 !important;
  background-image:linear-gradient(180deg, #0a1528 0%, #050b16 100%) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  opacity:1 !important;
}
.stats-bar .stat::before,
.hero-banner .stat::before{
  opacity:.10 !important;
}
.stats-bar .stat strong,
.hero-banner .stat strong{
  display:block !important;
  margin-bottom:6px !important;
}
.stats-bar .stat span,
.hero-banner .stat span{
  display:block !important;
  line-height:1.35 !important;
}

/* ---- v146-references-center.css ---- */

/* V146 — centrage du bloc Preuves terrain / Références */

.references-proof-header,
.references-proof-header .section-header,
body[data-page="references"] .section-header.references-proof-header,
body[data-page="references"] .references-title-block{
  text-align:center !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body[data-page="references"] .section-header:has(h2),
body[data-page="references"] .section-header{
  text-align:center !important;
}

body[data-page="references"] .section-header > div{
  width:100% !important;
  max-width:920px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

body[data-page="references"] .section-header .kicker,
body[data-page="references"] .section-header h1,
body[data-page="references"] .section-header h2,
body[data-page="references"] .section-header p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body[data-page="references"] .section-header p{
  max-width:900px !important;
}


/* Correction ciblée : le bloc cité est le HERO de references.html */
body[data-page="references"] .page-header,
body[data-page="references"] .page-header .hero-inner,
body[data-page="references"] .page-header .hero-copy{
  text-align:center !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body[data-page="references"] .page-header .hero-copy{
  max-width:920px !important;
  width:100% !important;
}

body[data-page="references"] .page-header .kicker,
body[data-page="references"] .page-header h1,
body[data-page="references"] .page-header p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body[data-page="references"] .page-header p{
  max-width:900px !important;
}

body[data-page="references"] .page-header .hero-actions{
  justify-content:center !important;
}

/* ---- v147-mobile-final.css ---- */

/* V147 — audit mobile : accessibilité, menu, assistant IA, footer */

@media (max-width: 980px){
  html, body{max-width:100% !important; overflow-x:hidden !important;}

  /* Menu mobile : panneau fixé dans le viewport, jamais coupé par la nav */
  .topbar,
  .topbar.is-compact{overflow:visible !important;}
  .topbar .nav-panel,
  body[data-page="home"] .topbar .nav-panel,
  .topbar.is-compact .nav-panel{
    position:fixed !important;
    top:calc(58px + env(safe-area-inset-top, 0px)) !important;
    left:10px !important;
    right:10px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 72px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    box-sizing:border-box !important;
    z-index:2147483000 !important;
    border-radius:22px !important;
    padding:14px !important;
    background:#071022 !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  .nav.menu-open .nav-panel,
  .topbar.menu-open .nav-panel,
  .topbar .nav-panel[aria-hidden="false"]{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .topbar .nav-links a,
  .topbar .nav-cta .btn{
    min-height:44px !important;
    display:flex !important;
    align-items:center !important;
    box-sizing:border-box !important;
  }
  .topbar .nav-cta .btn{justify-content:center !important; width:100% !important;}

  /* Cibles tactiles du header */
  .topbar .burger,
  .topbar.is-compact .burger{
    min-height:44px !important;
    height:44px !important;
    min-width:78px !important;
    padding:0 10px !important;
  }
  .nav-urgent-round{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    flex-basis:44px !important;
  }
  .topbar.is-compact .nav{
    min-height:50px !important;
    padding-top:3px !important;
    padding-bottom:3px !important;
  }
  .topbar.is-compact .brand-badge{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }

  /* Assistant IA : carte toujours entièrement dans le viewport, contenu scrollable */
  .ai-assistant-panel,
  #ai-assistant-panel{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    padding:calc(10px + env(safe-area-inset-top, 0px)) 10px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    z-index:2147483100 !important;
  }
  .ai-panel-card,
  .ai-panel-card-premium,
  .ai-panel-card-v116{
    position:relative !important;
    width:min(100%, 520px) !important;
    max-width:520px !important;
    max-height:calc(100dvh - 20px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    margin:auto !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    box-sizing:border-box !important;
    border-radius:22px !important;
  }
  .ai-panel-close{
    position:sticky !important;
    top:8px !important;
    right:8px !important;
    float:right !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    margin:8px 8px -44px 0 !important;
    z-index:30 !important;
    display:grid !important;
    place-items:center !important;
    background:rgba(5,11,22,.94) !important;
  }
  .ai-mode-bar button,
  .ai-quick-grid button,
  .ai-guided-fields input,
  .ai-guided-fields select,
  .ai-panel-actions .btn{
    min-height:44px !important;
  }
  .ai-assistant-panel.is-open{touch-action:pan-y !important;}
  body:has(.ai-assistant-panel.is-open) .floating-actions{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  html:has(.ai-assistant-panel.is-open),
  body:has(.ai-assistant-panel.is-open){overflow:hidden !important;}

  /* Boutons flottants séparés et compatibles avec la safe area */
  .floating-ai{
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .floating-top{
    right:14px !important;
    bottom:calc(76px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .floating-btn{min-height:48px !important;}

  /* Footer : aucune chaîne ne doit sortir de l'écran */
  .footer.footer-refined,
  .footer.footer-refined .footer-inner,
  .footer.footer-refined .footer-contact-stack{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .footer.footer-refined .footer-contact-stack a,
  .footer.footer-refined .footer-contact-stack span,
  .footer.footer-refined .footer-urgent{
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    box-sizing:border-box !important;
  }
  .footer.footer-refined .footer-urgent{width:100% !important;}
}

@media (max-width: 420px){
  /* Sur très petit écran, on privilégie les commandes et le logo */
  .topbar .brand-text{display:none !important;}
  .topbar .nav{gap:7px !important;}
  .topbar .burger,
  .topbar.is-compact .burger{min-width:74px !important;}
  .footer.footer-refined{padding-left:12px !important; padding-right:12px !important;}
  .footer.footer-refined .footer-contact-stack a,
  .footer.footer-refined .footer-contact-stack span{font-size:.92rem !important;}
  .footer.footer-refined .footer-contact-stack .footer-urgent{
    padding:10px 10px !important;
    font-size:.88rem !important;
  }
  .ai-panel-head{padding-top:16px !important;}
  .ai-panel-card-premium .ai-quick-grid{grid-template-columns:1fr 1fr !important;}
}

@media (max-width: 340px){
  .topbar .nav-panel,
  body[data-page="home"] .topbar .nav-panel,
  .topbar.is-compact .nav-panel{left:6px !important; right:6px !important; padding:12px !important;}
  .footer.footer-refined .footer-contact-stack a,
  .footer.footer-refined .footer-contact-stack span{font-size:.86rem !important;}
  .ai-panel-card-premium .ai-quick-grid{grid-template-columns:1fr !important;}
  .ai-panel-head,
  .ai-panel-intro,
  .ai-panel-card-premium .ai-quick-grid,
  .ai-panel-card-premium .ai-panel-actions,
  .ai-panel-disclaimer,
  .ai-guided-fields{padding-left:14px !important; padding-right:14px !important;}
  .ai-mode-bar,
  .ai-intelligence-panel{margin-left:14px !important; margin-right:14px !important;}
  .ai-input-label{margin-left:14px !important; margin-right:14px !important;}
  .ai-panel-card-premium #ai-assistant-message{width:calc(100% - 28px) !important; margin-left:14px !important; margin-right:14px !important;}
}


/* V147b — panneau mobile détaché du header pour neutraliser les transforms des anciennes nav */
@media (max-width:980px){
  body > .nav-panel.fs147-mobile-panel{
    position:fixed !important;
    top:calc(58px + env(safe-area-inset-top, 0px)) !important;
    left:10px !important;
    right:10px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100dvh - 72px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
    margin:0 !important;
    transform:none !important;
    z-index:2147483000 !important;
  }
  body > .nav-panel.fs147-mobile-panel[aria-hidden="true"]{
    display:block !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-8px) scale(.985) !important;
  }
  body > .nav-panel.fs147-mobile-panel[aria-hidden="false"]{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
    animation:fs147MobileMenuOpen .28s cubic-bezier(.2,.75,.18,1) both !important;
  }
}
@media (max-width:340px){
  body > .nav-panel.fs147-mobile-panel{left:6px !important;right:6px !important;}
}
@keyframes fs147MobileMenuOpen{
  from{opacity:0;transform:translateY(-8px) scale(.985);filter:blur(4px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

/* V147c — marges de sécurité tactiles et assistant sans débordement pendant l'ouverture */
@media (max-width:980px){
  .topbar .burger,
  .topbar.is-compact .burger{
    min-height:46px !important;
    height:46px !important;
  }
  .nav-urgent-round{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    min-height:46px !important;
    flex-basis:46px !important;
  }
  .ai-panel-close{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    margin:8px 8px -48px 0 !important;
  }
  .ai-panel-card,
  .ai-panel-card-premium,
  .ai-panel-card-v116,
  .ai-assistant-panel.is-open .ai-panel-card{
    transform:none !important;
    animation:none !important;
  }
}

/* ---- v148-improvements.css ---- */

/* V148 — Améliorations commerciales, SEO, formulaire, pages Tarifs/Cas clients */
.price-grid,.case-grid,.equipment-grid,.checklist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.price-card,.case-card,.equipment-card,.audit-card{background:linear-gradient(180deg,rgba(10,21,40,.98),rgba(5,11,22,.98));border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:24px;box-shadow:0 22px 64px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.08)}
.price-card.featured,.case-card.featured{border-color:rgba(53,194,255,.38);box-shadow:0 26px 76px rgba(0,0,0,.36),0 0 42px rgba(53,194,255,.10),inset 0 1px 0 rgba(255,255,255,.10)}
.price-tag{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 10px;padding:10px 14px;border-radius:999px;background:rgba(53,194,255,.12);border:1px solid rgba(53,194,255,.28);color:#fff;font-weight:800;letter-spacing:.02em}
.price-card ul,.case-card ul,.equipment-card ul,.audit-card ul{margin:16px 0 0;padding-left:18px;color:rgba(255,255,255,.76)}
.price-card li,.case-card li,.equipment-card li,.audit-card li{margin:8px 0}
.notice-box{margin:18px 0;padding:18px 20px;border-radius:22px;background:#071022;border:1px solid rgba(53,194,255,.22);color:rgba(255,255,255,.78)}
.notice-box strong{color:#fff}
.urgent-strip{margin:22px 0;padding:18px;border-radius:26px;background:linear-gradient(135deg,rgba(194,33,43,.95),rgba(82,10,17,.98));border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 52px rgba(0,0,0,.34);display:flex;align-items:center;justify-content:space-between;gap:16px}
.urgent-strip h3{margin:0}.urgent-strip p{margin:4px 0 0;color:rgba(255,255,255,.82)}
.form-trust-panel{margin:18px 0 24px;padding:18px;border-radius:24px;background:#071022;border:1px solid rgba(255,255,255,.14)}
.form-trust-panel ul{margin:10px 0 0;padding-left:18px;color:rgba(255,255,255,.76)}
.form-status-inline{margin-top:10px;font-size:.92rem;color:rgba(255,255,255,.72)}
.page-header .hero-actions .btn-emergency,.section-header .btn-emergency,.urgent-strip .btn{background:#e02b38!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
@media(max-width:980px){.price-grid,.case-grid,.equipment-grid,.checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.urgent-strip{flex-direction:column;align-items:flex-start}}
@media(max-width:720px){.price-grid,.case-grid,.equipment-grid,.checklist-grid{grid-template-columns:1fr}.price-card,.case-card,.equipment-card,.audit-card{padding:20px;border-radius:22px}.urgent-strip{border-radius:22px;padding:16px}.urgent-strip .btn{width:100%;justify-content:center}}

/* ---- v151-lisibilite-pro.css ---- */

/* V151 — finition lisibilité, placement et rendu commercial */

/* Base de contraste : éviter bleu sur bleu et cartes trop transparentes */
.card,
.project-card,
.sector-card,
.reference-card,
.price-card,
.case-card,
.equipment-card,
.audit-card,
.panel,
.stat,
.logo-cell,
.mission-flow-step,
.form-trust-panel,
.notice-box,
.yuneec-inline-card{
  background:linear-gradient(180deg, #0a1528 0%, #050b16 100%) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#ffffff !important;
  box-shadow:0 22px 64px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Texte courant plus lisible */
.card p,
.project-card p,
.sector-card p,
.reference-card p,
.price-card p,
.case-card p,
.equipment-card p,
.audit-card p,
.panel p,
.stat span,
.mission-flow-step p,
.form-trust-panel li,
.notice-box,
.content p,
.section-header p{
  color:rgba(245,248,252,.84) !important;
}

/* Titres : toujours blancs, jamais bleu sur bleu */
.card h3,
.project-card h3,
.sector-card h3,
.reference-card h3,
.price-card h3,
.case-card h3,
.equipment-card h3,
.audit-card h3,
.panel h3,
.panel h2,
.section-header h2,
.hero-copy h1,
.hero-copy h2,
.content h3{
  color:#ffffff !important;
}

/* Badges / tags : lisibles sur fond sombre ou bleu */
.tag,
.kicker,
.price-tag,
.sector-card .tag,
.project-card .tag,
.card .tag,
.reference-card .tag,
.yuneec-inline-card .tag{
  color:#ffffff !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  text-shadow:none !important;
}

/* Liens d'action : bleu uniquement en accent, texte clair */
.arrow-link,
.text-link,
.card a,
.project-card a,
.reference-card a,
.sector-card a{
  color:#8ee2ff !important;
}
.arrow-link:hover,
.text-link:hover,
.card a:hover,
.project-card a:hover,
.reference-card a:hover,
.sector-card a:hover{
  color:#ffffff !important;
}

/* Boutons : éviter fond bleu + texte bleu */
.btn,
button,
input[type="submit"]{
  color:#ffffff !important;
}
.btn-primary{
  background:linear-gradient(135deg, #1789ff, #35c2ff) !important;
  color:#03101d !important;
  border-color:rgba(255,255,255,.18) !important;
  font-weight:800 !important;
}
.btn-secondary,
.btn-outline{
  background:rgba(255,255,255,.08) !important;
  color:#ffffff !important;
  border-color:rgba(255,255,255,.22) !important;
}
.btn-emergency{
  background:#e02b38 !important;
  color:#ffffff !important;
  border-color:rgba(255,255,255,.24) !important;
}

/* Formulaire : champs propres et textes visibles */
input,
textarea,
select{
  background:#081326 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.20) !important;
}
input::placeholder,
textarea::placeholder{
  color:rgba(255,255,255,.52) !important;
}
label,
.form-label{
  color:rgba(255,255,255,.88) !important;
}

/* YUNEEC : image propre sans perturber le layout */
.yuneec-inline-card{
  overflow:hidden !important;
}
.yuneec-inline-card h3{
  color:#ffffff !important;
}
.yuneec-inline-card p,
.yuneec-inline-card li{
  color:rgba(245,248,252,.84) !important;
}
.yuneec-inline-photo{
  border:1px solid rgba(255,255,255,.16) !important;
}

/* Sections hero : alignement et lisibilité premium */
.page-header .hero-copy,
.hero .hero-copy{
  max-width:980px !important;
}
.page-header p,
.hero p{
  color:rgba(245,248,252,.86) !important;
}

/* Grilles : espacement régulier et placement propre */
.card-grid,
.project-grid,
.sector-grid,
.price-grid,
.case-grid,
.equipment-grid,
.feature-row{
  align-items:stretch !important;
}
.card,
.project-card,
.sector-card,
.price-card,
.case-card,
.equipment-card,
.reference-card{
  height:100% !important;
}

/* Images : cohérence visuelle */
.project-card img,
.sector-card img,
.reference-card img,
.card img{
  background:#071022 !important;
}

/* Menu : lisibilité maximale */
.nav-panel,
.topbar.is-compact .nav-panel{
  background:#071022 !important;
}
.nav-links a{
  color:#ffffff !important;
}
.nav-links a.active,
.nav-links a:hover{
  color:#ffffff !important;
  background:rgba(53,194,255,.16) !important;
}

/* Footer : éviter coupures, améliorer lecture */
.footer,
.footer.footer-refined{
  color:rgba(245,248,252,.82) !important;
}
.footer a{
  color:#ffffff !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

/* Mobile : espacement propre, aucune carte tassée */
@media (max-width:720px){
  .section,
  .section-tight{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .card,
  .project-card,
  .sector-card,
  .price-card,
  .case-card,
  .equipment-card,
  .reference-card,
  .panel,
  .notice-box,
  .form-trust-panel{
    border-radius:22px !important;
  }
  .hero-copy h1{
    line-height:1.04 !important;
  }
  .section-header{
    gap:12px !important;
  }
  .btn{
    min-height:44px !important;
  }
}

/* ---- v152-effets-complets.css ---- */

/* V152 — Effets premium, parallax, galerie, timeline, capsules, before/after, zones */
:root{
  --fs52-line: rgba(255,255,255,.12);
  --fs52-glass: rgba(10,18,31,.62);
  --fs52-blue: #35c2ff;
  --fs52-cyan: #85d8ff;
  --fs52-deep: #06101d;
}

body{overflow-x:hidden}
.premium-reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease, transform .9s ease}
.premium-reveal.is-visible{opacity:1;transform:none}

/* Hero cinematic */
.hero-home{position:relative;overflow:hidden;isolation:isolate}
.hero-home .hero-inner{position:relative;z-index:2}
.hero-home .hero-copy{max-width:760px}
.hero-cinematic{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-cinematic .cinematic-slide{position:absolute;inset:-4%;background-size:cover;background-position:center center;opacity:0;transform:scale(1.1);animation:fs52HeroSlides 18s infinite ease-in-out;filter:saturate(1.05) contrast(1.02)}
.hero-cinematic .cinematic-slide:nth-child(2){animation-delay:6s}
.hero-cinematic .cinematic-slide:nth-child(3){animation-delay:12s}
.hero-cinematic:after{content:"";position:absolute;inset:0;background:
 radial-gradient(circle at 18% 20%, rgba(53,194,255,.22), transparent 22rem),
 radial-gradient(circle at 84% 22%, rgba(133,216,255,.16), transparent 20rem),
 linear-gradient(180deg, rgba(4,8,14,.28), rgba(4,8,14,.70) 36%, rgba(4,8,14,.90) 100%)}
.hero-cinematic-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.hero-cinematic-badges span{padding:9px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(8,18,34,.55);backdrop-filter:blur(12px);color:#e9f8ff;font-size:.88rem;box-shadow:0 14px 30px rgba(0,0,0,.18)}
@keyframes fs52HeroSlides{0%{opacity:0;transform:scale(1.12)}8%,30%{opacity:1;transform:scale(1.04)}38%,100%{opacity:0;transform:scale(1.0)}}

/* Parallax/tilt */
[data-parallax]{will-change:transform}
.is-tilt{transform-style:preserve-3d;transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease}
.is-tilt:before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%), rgba(255,255,255,.18), transparent 34%);opacity:0;transition:opacity .25s ease}
.is-tilt:hover:before{opacity:1}
.card.hover,.project-card,.sector-card-premium,.hero-mosaic-card,.hero-main-card,.equipment-card,.immersive-card,.case-study-card,.capsule-card,.timeline-step,.zone-hotspot,.before-after,.service-comparator,.feature-item{position:relative;overflow:hidden}

/* Click ripple */
.fs52-ripple-holder{position:relative;overflow:hidden}
.fs52-ripple{position:absolute;border-radius:50%;transform:translate(-50%,-50%) scale(0);background:rgba(255,255,255,.28);animation:fs52Ripple .75s ease-out forwards;pointer-events:none}
@keyframes fs52Ripple{to{transform:translate(-50%,-50%) scale(18);opacity:0}}

/* Timeline */
.timeline-section{padding:40px 0 12px}
.timeline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px}
.timeline-step{background:linear-gradient(180deg, rgba(10,20,35,.92), rgba(7,12,20,.96));border:1px solid rgba(108,178,255,.18);border-radius:24px;padding:26px 22px 22px;box-shadow:0 18px 48px rgba(0,0,0,.22)}
.timeline-step .step-no{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg, rgba(53,194,255,.26), rgba(133,216,255,.12));border:1px solid rgba(133,216,255,.26);font-weight:800;color:#dff6ff;margin-bottom:16px}
.timeline-step h3{margin:0 0 10px;font-size:1.08rem;color:#fff}
.timeline-step p{margin:0;color:#d4dfeb;line-height:1.65}
.timeline-step small{display:block;margin-top:10px;color:#85d8ff;letter-spacing:.08em;text-transform:uppercase}

/* Service capsules */
.premium-capsules{padding-top:8px}
.capsule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.capsule-card{min-height:300px;border-radius:28px;padding:24px;border:1px solid rgba(133,216,255,.16);background:linear-gradient(180deg, rgba(7,12,20,.24), rgba(7,12,20,.86));box-shadow:0 22px 62px rgba(0,0,0,.28)}
.capsule-card .capsule-media{position:absolute;inset:0;z-index:0}
.capsule-card .capsule-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(4,8,14,.12), rgba(4,8,14,.74) 58%, rgba(4,8,14,.96) 100%)}
.capsule-card .capsule-media img{width:100%;height:100%;object-fit:cover;animation:fs52SlowZoom 12s ease-in-out infinite alternate;filter:saturate(1.04)}
.capsule-card .capsule-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.capsule-card .capsule-tag{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(6,16,29,.6);width:max-content;margin-bottom:14px;color:#e7f6ff;font-size:.82rem;border:1px solid rgba(255,255,255,.12)}
.capsule-card .capsule-tag:before{content:"▶";font-size:.68rem;color:#85d8ff}
.capsule-card h3{margin:0 0 10px;font-size:1.22rem;color:#fff}
.capsule-card p{margin:0;color:#dbe7f0;line-height:1.64}
.capsule-card .capsule-actions{display:flex;gap:12px;align-items:center;margin-top:16px;flex-wrap:wrap}
.capsule-card .capsule-link{color:#91dcff;font-weight:700}
@keyframes fs52SlowZoom{from{transform:scale(1.0)}to{transform:scale(1.08)}}

/* Interactive zones */
.intervention-map{padding-top:14px}
.map-stage{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch;margin-top:22px}
.map-card{position:relative;min-height:440px;border-radius:28px;background:
 radial-gradient(circle at 22% 24%, rgba(53,194,255,.18), transparent 18rem),
 radial-gradient(circle at 78% 18%, rgba(133,216,255,.12), transparent 16rem),
 linear-gradient(180deg, #07111e 0%, #091726 100%);border:1px solid rgba(133,216,255,.18);box-shadow:0 24px 70px rgba(0,0,0,.26);overflow:hidden}
.map-card:before{content:"";position:absolute;inset:8% 18% 8% 18%;background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02));clip-path:polygon(39% 0%,47% 2%,51% 10%,55% 14%,58% 20%,58% 26%,64% 34%,66% 44%,63% 49%,60% 58%,57% 64%,61% 72%,58% 79%,51% 86%,48% 96%,40% 100%,32% 94%,29% 84%,24% 78%,20% 71%,22% 61%,18% 54%,20% 46%,18% 36%,22% 28%,26% 22%,27% 14%,32% 8%);border:1px solid rgba(255,255,255,.08);opacity:.88}
.zone-hotspot{position:absolute;min-width:120px;padding:10px 12px;border-radius:16px;background:rgba(8,17,30,.86);border:1px solid rgba(133,216,255,.28);color:#eef9ff;box-shadow:0 16px 30px rgba(0,0,0,.26);backdrop-filter:blur(14px)}
.zone-hotspot strong{display:block;font-size:.92rem}
.zone-hotspot small{display:block;color:#a9dff8;margin-top:3px;line-height:1.4}
.zone-hotspot:before{content:"";position:absolute;left:-8px;top:18px;width:8px;height:8px;border-radius:50%;background:#35c2ff;box-shadow:0 0 0 6px rgba(53,194,255,.12),0 0 18px rgba(53,194,255,.45)}
.zone-hotspot.france{top:20%;left:12%}
.zone-hotspot.collectivites{top:40%;right:14%}
.zone-hotspot.events{bottom:28%;left:14%}
.zone-hotspot.nature{bottom:16%;right:18%}
.zone-side{display:grid;gap:16px}
.zone-side-card{border-radius:24px;padding:22px;background:linear-gradient(180deg, rgba(9,18,30,.95), rgba(8,12,18,.98));border:1px solid rgba(255,255,255,.10)}
.zone-side-card h3{margin:0 0 8px;color:#fff}
.zone-side-card p{margin:0;color:#d4deea;line-height:1.65}
.zone-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.zone-list span{display:block;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#ecf7ff}

/* Before after */
.service-comparator{border-radius:28px;background:linear-gradient(180deg, rgba(8,16,28,.9), rgba(8,12,18,.98));border:1px solid rgba(255,255,255,.10);padding:26px;box-shadow:0 22px 56px rgba(0,0,0,.25)}
.service-comparator h2,.service-comparator h3{margin-top:0}
.before-after{position:relative;border-radius:22px;overflow:hidden;min-height:400px;background:#0b1521;border:1px solid rgba(255,255,255,.1);margin-top:22px}
.before-after .ba-base,.before-after .ba-overlay,.before-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.before-after .ba-overlay{clip-path:inset(0 calc(100% - var(--split,50%)) 0 0)}
.before-after .ba-divider{position:absolute;top:0;bottom:0;left:var(--split,50%);width:2px;background:#fff;box-shadow:0 0 0 999px rgba(255,255,255,0),0 0 24px rgba(255,255,255,.55)}
.before-after .ba-divider:before{content:"⇄";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(6,16,29,.86);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:1.1rem;backdrop-filter:blur(12px)}
.before-after input[type=range]{position:absolute;inset:0;opacity:0;cursor:ew-resize;width:100%;height:100%}
.before-after-labels{display:flex;justify-content:space-between;gap:14px;margin-top:14px;color:#d5e4ef;font-size:.95rem}
.before-after-labels span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}

/* Lightbox */
.fs52-lightbox{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:32px;z-index:12000;background:rgba(3,7,12,.82);backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .25s ease}
.fs52-lightbox.is-open{opacity:1;pointer-events:auto}
.fs52-lightbox-figure{margin:0;max-width:min(1100px,94vw);max-height:88vh;display:flex;flex-direction:column;gap:12px;align-items:center}
.fs52-lightbox img{max-width:100%;max-height:74vh;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.fs52-lightbox figcaption{color:#eef9ff;text-align:center;line-height:1.5;padding:0 14px}
.fs52-lightbox-close{position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:1.4rem;cursor:pointer}

/* AI panel refinement */
.ai-panel-card-premium{box-shadow:0 26px 80px rgba(0,0,0,.32)}
.ai-quick-grid button,.ai-mode-bar button{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.ai-quick-grid button:hover,.ai-mode-bar button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.18);border-color:rgba(53,194,255,.35)}
.ai-panel-card-premium .ai-panel-head{position:relative;overflow:hidden}
.ai-panel-card-premium .ai-panel-head:after{content:"";position:absolute;inset:auto -10% -18px -10%;height:56px;background:radial-gradient(circle at center, rgba(53,194,255,.18), transparent 58%)}

/* Readability fix for blue backgrounds */
.hero-banner .stat,.stats-bar .stat,.sector-card-premium .tag,.proof-strip span,.feature-item,.mission-flow-step,.sales-flow-grid article,.sector-card-premium,.card,.project-card,.equipment-card,.panel{color:#edf7ff}
.hero-banner .stat span,.stats-bar .stat span,.feature-item p,.project-card p,.card p,.sector-card-premium p,.proof-strip span{color:#d9e6f1}

/* Responsive */
@media (max-width:1100px){
  .timeline-grid,.capsule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-stage{grid-template-columns:1fr}
}
@media (max-width:760px){
  .hero-cinematic-badges{gap:8px}
  .hero-cinematic-badges span{font-size:.78rem;padding:8px 12px}
  .timeline-grid,.capsule-grid,.zone-list{grid-template-columns:1fr}
  .capsule-card{min-height:260px}
  .before-after{min-height:280px}
  .zone-hotspot{min-width:unset;max-width:46vw;padding:8px 10px}
  .zone-hotspot strong{font-size:.82rem}
  .zone-hotspot small{font-size:.73rem}
}

/* ---- v154-live-base-complet.css ---- */

/* V154 — Reprise base live + contraste total + moyens complets */
:root{
  --fs38-dark:#10203a;
  --fs38-muted:#53627a;
  --fs38-blue:#1a73ff;
  --fs38-card:#071022;
  --fs38-card2:#0a1528;
}

/* Zones claires : texte foncé lisible */
body.apple-premium .section-header h1,
body.apple-premium .section-header h2,
body.apple-premium .section-header h3,
body.apple-premium .legal-page-content h2,
body.apple-premium .info-card h4,
body.apple-premium .feature-item h4,
body.apple-premium .sales-flow-grid article h3,
body.apple-premium .sales-flow-grid article strong,
body.apple-premium .proof-panel h2,
body.apple-premium .proof-panel h3{
  color:var(--fs38-dark)!important;
}
body.apple-premium .section-header p,
body.apple-premium .legal-page-content p,
body.apple-premium .info-card p,
body.apple-premium .feature-item p,
body.apple-premium .sales-flow-grid p,
body.apple-premium .proof-panel p{
  color:var(--fs38-muted)!important;
}
body.apple-premium .section-header .kicker,
body.apple-premium .section > .container > .kicker,
body.apple-premium .section-tight > .container > .kicker{
  color:var(--fs38-blue)!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

/* Surfaces sombres : texte blanc lisible */
body.apple-premium .hero h1,
body.apple-premium .hero h2,
body.apple-premium .hero h3,
body.apple-premium .hero p,
body.apple-premium .hero .kicker,
body.apple-premium .service-hero h1,
body.apple-premium .service-hero h2,
body.apple-premium .service-hero h3,
body.apple-premium .service-hero p,
body.apple-premium .service-hero .kicker,
body.apple-premium .immersive-card,
body.apple-premium .immersive-card h2,
body.apple-premium .immersive-card p,
body.apple-premium .immersive-card .kicker,
body.apple-premium .cta-band,
body.apple-premium .cta-band h3,
body.apple-premium .cta-band p,
body.apple-premium .footer,
body.apple-premium .footer a,
body.apple-premium .ai-panel-card,
body.apple-premium .ai-panel-card h3,
body.apple-premium .ai-panel-card p{
  color:#fff!important;
}

/* Cartes sombres premium */
body.apple-premium .card,
body.apple-premium .project-card,
body.apple-premium .sector-card,
body.apple-premium .sector-card-premium,
body.apple-premium .reference-card,
body.apple-premium .price-card,
body.apple-premium .case-card,
body.apple-premium .equipment-card,
body.apple-premium .audit-card,
body.apple-premium .panel,
body.apple-premium .stat,
body.apple-premium .logo-cell,
body.apple-premium .mission-flow-step,
body.apple-premium .form-trust-panel,
body.apple-premium .notice-box,
body.apple-premium .yuneec-inline-card,
body.apple-premium .timeline-step,
body.apple-premium .capsule-card,
body.apple-premium .service-comparator,
body.apple-premium .zone-side-card,
body.apple-premium .zone-hotspot,
body.apple-premium .means-card,
body.apple-premium .means-summary-card{
  background:linear-gradient(180deg,var(--fs38-card2),var(--fs38-card))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:0 22px 64px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.apple-premium .card h3,
body.apple-premium .project-card h3,
body.apple-premium .sector-card h3,
body.apple-premium .reference-card h3,
body.apple-premium .price-card h3,
body.apple-premium .case-card h3,
body.apple-premium .equipment-card h3,
body.apple-premium .audit-card h3,
body.apple-premium .panel h3,
body.apple-premium .stat strong,
body.apple-premium .means-card h3,
body.apple-premium .means-summary-card h3{
  color:#fff!important;
}
body.apple-premium .card p,
body.apple-premium .project-card p,
body.apple-premium .sector-card p,
body.apple-premium .reference-card p,
body.apple-premium .price-card p,
body.apple-premium .case-card p,
body.apple-premium .equipment-card p,
body.apple-premium .audit-card p,
body.apple-premium .panel p,
body.apple-premium .stat span,
body.apple-premium .means-card p,
body.apple-premium .means-card li,
body.apple-premium .means-summary-card p{
  color:rgba(245,248,252,.84)!important;
}

/* Badges lisibles */
body.apple-premium .tag,
body.apple-premium .price-tag,
body.apple-premium .sector-card .tag,
body.apple-premium .project-card .tag,
body.apple-premium .reference-card .tag,
body.apple-premium .means-chip,
body.apple-premium .means-label{
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  text-shadow:none!important;
}
body.apple-premium .arrow-link,
body.apple-premium .text-link,
body.apple-premium .card a,
body.apple-premium .project-card a,
body.apple-premium .reference-card a,
body.apple-premium .sector-card a{
  color:#8ee2ff!important;
}

/* Boutons sans blanc sur blanc */
body.apple-premium .btn-primary{
  background:linear-gradient(135deg,#1789ff,#35c2ff)!important;
  color:#03101d!important;
  font-weight:900!important;
}
body.apple-premium .btn-secondary,
body.apple-premium .btn-outline{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.22)!important;
}
body.apple-premium .btn-white{
  background:#ffffff!important;
  color:#06122c!important;
  border-color:#ffffff!important;
}
body.apple-premium .btn-emergency{
  background:#e02b38!important;
  color:#fff!important;
}

/* Feature cards gardées lisibles */
body.apple-premium .feature-item{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(246,250,255,.90))!important;
  color:var(--fs38-dark)!important;
  border:1px solid rgba(12,36,76,.10)!important;
}
body.apple-premium .feature-item h4{color:var(--fs38-dark)!important}
body.apple-premium .feature-item p{color:var(--fs38-muted)!important}

/* Moyens & matériel */
.means-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.means-summary-card{
  padding:22px;
  border-radius:24px;
}
.means-summary-card strong{
  display:block;
  font-size:1.5rem;
  color:#fff;
  margin-bottom:6px;
}
.means-section{
  margin-top:34px;
}
.means-section .section-header{
  margin-bottom:22px;
}
.means-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.means-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.means-card{
  border-radius:28px;
  overflow:hidden;
}
.means-card img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
  background:#0b1424;
}
.means-card-content{
  padding:22px;
}
.means-card h3{
  margin:8px 0 10px;
  font-size:1.35rem;
}
.means-card h4{
  color:#fff;
  margin:18px 0 8px;
}
.means-card ul{
  margin:0;
  padding-left:18px;
}
.means-card li{
  margin:7px 0;
  line-height:1.55;
}
.means-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 14px;
}
.means-chip,
.means-label{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 11px;
  font-size:.82rem;
  font-weight:800;
}
.means-note{
  margin-top:16px;
  font-size:.92rem;
  color:rgba(245,248,252,.72)!important;
}
.means-equipment-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.means-equipment-list article{
  padding:20px;
  border-radius:24px;
  background:linear-gradient(180deg,#0a1528,#050b16);
  border:1px solid rgba(255,255,255,.14);
}
.means-equipment-list h3{
  margin:0 0 12px;
  color:#fff;
}
.means-equipment-list li{
  color:rgba(245,248,252,.82);
  margin:7px 0;
}

/* Formulaires */
body.apple-premium input,
body.apple-premium textarea,
body.apple-premium select{
  background:#081326!important;
  color:#ffffff!important;
  border:1px solid rgba(255,255,255,.20)!important;
}
body.apple-premium input::placeholder,
body.apple-premium textarea::placeholder{
  color:rgba(255,255,255,.55)!important;
}
body.apple-premium label{color:rgba(255,255,255,.88)!important}

/* Responsive */
@media(max-width:1100px){
  .means-overview-grid,
  .means-grid.three,
  .means-equipment-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .means-overview-grid,
  .means-grid,
  .means-grid.three,
  .means-equipment-list{
    grid-template-columns:1fr;
  }
  .means-card img{
    height:220px;
  }
}

/* ---- v155-sans-tilt-hover.css ---- */

/* V155 — suppression de l'effet basculement/penchement au survol */
/* Remplacement : halo lumineux, bordure premium, légère élévation sans rotation */

.is-tilt,
.card.hover,
.project-card,
.sector-card-premium,
.hero-mosaic-card,
.hero-main-card,
.equipment-card,
.immersive-card,
.capsule-card,
.timeline-step,
.zone-hotspot,
.feature-item,
.service-comparator,
.means-card,
.means-summary-card{
  transform:none !important;
  rotate:none !important;
  transform-style:flat !important;
}

.is-tilt:hover,
.card.hover:hover,
.project-card:hover,
.sector-card-premium:hover,
.hero-mosaic-card:hover,
.hero-main-card:hover,
.equipment-card:hover,
.immersive-card:hover,
.capsule-card:hover,
.timeline-step:hover,
.zone-hotspot:hover,
.feature-item:hover,
.service-comparator:hover,
.means-card:hover,
.means-summary-card:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(126,220,255,.42) !important;
  box-shadow:
    0 26px 74px rgba(0,0,0,.34),
    0 0 0 1px rgba(126,220,255,.12),
    0 0 44px rgba(53,194,255,.14) !important;
}

.is-tilt::before,
.card.hover::before,
.project-card::before,
.sector-card-premium::before,
.hero-mosaic-card::before,
.hero-main-card::before,
.equipment-card::before,
.immersive-card::before,
.capsule-card::before,
.timeline-step::before,
.zone-hotspot::before,
.feature-item::before,
.service-comparator::before,
.means-card::before,
.means-summary-card::before{
  opacity:0 !important;
}

.card.hover::after,
.project-card::after,
.sector-card-premium::after,
.equipment-card::after,
.capsule-card::after,
.timeline-step::after,
.means-card::after,
.means-summary-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.10) 45%, transparent 70%);
  transform:translateX(-130%);
  opacity:0;
}

.card.hover:hover::after,
.project-card:hover::after,
.sector-card-premium:hover::after,
.equipment-card:hover::after,
.capsule-card:hover::after,
.timeline-step:hover::after,
.means-card:hover::after,
.means-summary-card:hover::after{
  opacity:1;
  animation:fs155SoftSweep .9s ease forwards;
}

@keyframes fs155SoftSweep{
  from{transform:translateX(-130%);}
  to{transform:translateX(130%);}
}

@media (prefers-reduced-motion: reduce){
  .card.hover:hover,
  .project-card:hover,
  .sector-card-premium:hover,
  .equipment-card:hover,
  .capsule-card:hover,
  .timeline-step:hover,
  .means-card:hover,
  .means-summary-card:hover{
    transform:none !important;
    animation:none !important;
  }
}

/* ---- v156-single-hero-motion.css ---- */

/* V156 — fond unique par page avec mouvement type vidéo drone/orbite */
.hero.hero-home,
.hero.page-header,
.service-hero,
.legal-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.hero.hero-home .hero-inner,
.hero.page-header .hero-inner,
.service-hero .service-hero-inner,
.legal-hero > .container{
  position:relative;
  z-index:3;
}

/* Home: une seule image, pas de rotation d'images */
.hero.hero-home .hero-cinematic{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero.hero-home .hero-cinematic .cinematic-slide{
  position:absolute; inset:-6%;
  opacity:1 !important;
  background-image:var(--hero-bg) !important;
  background-size:cover; background-position:center center;
  filter:saturate(1.05) contrast(1.04) brightness(.78);
  transform:translate3d(var(--hero-shift-x,0px),var(--hero-shift-y,0px),0) scale(1.11);
  animation:fs156DroneOrbit 22s ease-in-out infinite alternate;
  will-change:transform;
}
.hero.hero-home .hero-cinematic .cinematic-slide:not(:first-child){display:none !important}
.hero.hero-home .hero-cinematic::after,
.hero.page-header::after,
.service-hero::after,
.legal-hero::after{
  content:"";
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(circle at 18% 18%, rgba(76,180,255,.20), transparent 32%),
    radial-gradient(circle at 84% 16%, rgba(52,214,255,.14), transparent 28%),
    linear-gradient(100deg, rgba(3,10,24,.90) 0%, rgba(4,14,30,.52) 48%, rgba(4,12,26,.84) 100%);
}

/* Page header / service / legal : une seule image animée */
.hero.page-header::before,
.service-hero::before,
.legal-hero::before{
  content:"";
  position:absolute; inset:-6%; z-index:0; pointer-events:none;
  background-image:var(--hero-bg);
  background-size:cover; background-position:center center;
  filter:saturate(1.04) contrast(1.03) brightness(.72);
  transform:translate3d(var(--hero-shift-x,0px),var(--hero-shift-y,0px),0) scale(1.10);
  animation:fs156DroneOrbit 24s ease-in-out infinite alternate;
  will-change:transform;
}

/* remettre le bloc service-hero sans fond fixe pour laisser la pseudo-image gérer */
body.apple-premium .service-hero{
  background:none !important;
}
body.apple-premium .service-hero::before{
  background-image:var(--hero-bg) !important;
}
body.apple-premium .service-hero .service-hero-inner{position:relative;z-index:3}

.legal-hero{
  min-height:320px;
  display:flex;
  align-items:flex-end;
}
.legal-hero .container{padding-top:120px;padding-bottom:54px}
.legal-hero h1,
.hero.page-header h1,
.service-hero h1{
  text-shadow:0 16px 44px rgba(0,0,0,.42);
}
.legal-hero p,
.hero.page-header p,
.service-hero p{
  text-shadow:0 8px 22px rgba(0,0,0,.28);
}

/* léger mouvement de badges et CTA pour un ressenti premium sans changer l'image */
.hero-actions .btn,
.hero-cinematic-badges span{
  backdrop-filter:blur(12px);
}

@keyframes fs156DroneOrbit{
  0%   { transform:translate3d(calc(var(--hero-shift-x,0px) - 10px), calc(var(--hero-shift-y,0px) - 6px), 0) scale(1.10); }
  24%  { transform:translate3d(calc(var(--hero-shift-x,0px) + 8px), calc(var(--hero-shift-y,0px) - 10px), 0) scale(1.14); }
  50%  { transform:translate3d(calc(var(--hero-shift-x,0px) + 14px), calc(var(--hero-shift-y,0px) + 2px), 0) scale(1.12); }
  76%  { transform:translate3d(calc(var(--hero-shift-x,0px) - 6px), calc(var(--hero-shift-y,0px) + 10px), 0) scale(1.15); }
  100% { transform:translate3d(calc(var(--hero-shift-x,0px) - 12px), calc(var(--hero-shift-y,0px) + 4px), 0) scale(1.11); }
}

@media (max-width: 900px){
  .hero.page-header::before,
  .service-hero::before,
  .legal-hero::before,
  .hero.hero-home .hero-cinematic .cinematic-slide{
    inset:-4%;
    animation-duration:20s;
    transform:scale(1.08);
  }
  .legal-hero{min-height:280px}
  .legal-hero .container{padding-top:106px;padding-bottom:46px}
}

@media (prefers-reduced-motion: reduce){
  .hero.page-header::before,
  .service-hero::before,
  .legal-hero::before,
  .hero.hero-home .hero-cinematic .cinematic-slide{animation:none !important; transform:scale(1.08) !important}
}

/* ---- v157-cinematic-premium.css ---- */

/* V157 — orbite plus cinématique, zoom cinéma très lent, brume/lumière premium légère */
:root{
  --fs157-hero-scale-start:1.105;
  --fs157-hero-scale-end:1.175;
  --fs157-overlay-dark:rgba(3,10,24,.84);
  --fs157-overlay-mid:rgba(5,16,34,.44);
}

.hero.hero-home,
.hero.page-header,
.service-hero,
.legal-hero{
  --hero-shift-x:0px;
  --hero-shift-y:0px;
}

/* IMAGE PRINCIPALE : mouvement plus cinéma, plus lent */
.hero.hero-home .hero-cinematic .cinematic-slide,
.hero.page-header::before,
.service-hero::before,
.legal-hero::before{
  transform-origin:50% 50%;
  animation:fs157CineOrbit 32s cubic-bezier(.42,0,.16,1) infinite alternate !important;
  filter:saturate(1.05) contrast(1.05) brightness(.74);
}

.hero.hero-home .hero-cinematic .cinematic-slide{
  animation-duration:34s !important;
  filter:saturate(1.06) contrast(1.06) brightness(.78);
}

/* SURCOUCHE LUMIÈRE + BRUME */
.hero.hero-home .hero-cinematic::after,
.hero.page-header::after,
.service-hero::after,
.legal-hero::after{
  background:
    radial-gradient(circle at 18% 14%, rgba(110,205,255,.19), transparent 28%),
    radial-gradient(circle at 82% 16%, rgba(116,214,255,.14), transparent 24%),
    radial-gradient(ellipse at 50% 104%, rgba(255,255,255,.11), rgba(255,255,255,0) 42%),
    linear-gradient(100deg, var(--fs157-overlay-dark) 0%, var(--fs157-overlay-mid) 46%, rgba(3,10,24,.82) 100%);
  animation:fs157FogGlow 24s ease-in-out infinite alternate;
  backdrop-filter: blur(1.1px);
}

/* brume légère supplémentaire sur le bas */
.hero.hero-home::before,
.hero.page-header .hero-inner::before,
.service-hero .service-hero-inner::before,
.legal-hero .container::before{
  content:"";
  position:absolute;
  left:-8%; right:-8%; bottom:-18px;
  height:34%;
  pointer-events:none;
  z-index:2;
  background:
    radial-gradient(ellipse at center, rgba(255,255,255,.12) 0%, rgba(255,255,255,.06) 28%, rgba(255,255,255,0) 72%);
  filter:blur(22px);
  opacity:.42;
  animation:fs157FogDrift 21s ease-in-out infinite alternate;
}
.hero.hero-home::before{bottom:-22px;height:30%}

.hero.page-header .hero-inner,
.service-hero .service-hero-inner,
.legal-hero .container,
.hero.hero-home .hero-inner{position:relative;z-index:3}

/* Titres plus premium et lisibles */
.hero.page-header h1,
.service-hero h1,
.legal-hero h1,
.hero.hero-home h1{
  text-shadow:0 18px 48px rgba(0,0,0,.44), 0 2px 12px rgba(0,0,0,.26);
}
.hero.page-header p,
.service-hero p,
.legal-hero p,
.hero.hero-home p{
  text-shadow:0 10px 28px rgba(0,0,0,.34);
}

/* léger éclat des boutons et badges, sans tilt */
.hero-actions .btn,
.hero-cinematic-badges span,
.stat-pill,
.quick-facts .fact{
  box-shadow:0 10px 30px rgba(8,25,44,.22), inset 0 1px 0 rgba(255,255,255,.12);
}
.hero-actions .btn:hover,
.hero-actions .btn:focus-visible{
  transform:translateY(-2px) scale(1.01);
  box-shadow:0 18px 38px rgba(7,24,40,.32), 0 0 0 1px rgba(126,198,255,.18) inset;
}

@keyframes fs157CineOrbit{
  0%{
    transform:translate3d(calc(var(--hero-shift-x,0px) - 16px), calc(var(--hero-shift-y,0px) - 10px), 0) scale(var(--fs157-hero-scale-start));
  }
  18%{
    transform:translate3d(calc(var(--hero-shift-x,0px) - 4px), calc(var(--hero-shift-y,0px) - 18px), 0) scale(1.13);
  }
  38%{
    transform:translate3d(calc(var(--hero-shift-x,0px) + 14px), calc(var(--hero-shift-y,0px) - 8px), 0) scale(1.145);
  }
  60%{
    transform:translate3d(calc(var(--hero-shift-x,0px) + 18px), calc(var(--hero-shift-y,0px) + 8px), 0) scale(1.158);
  }
  82%{
    transform:translate3d(calc(var(--hero-shift-x,0px) + 4px), calc(var(--hero-shift-y,0px) + 16px), 0) scale(1.168);
  }
  100%{
    transform:translate3d(calc(var(--hero-shift-x,0px) - 18px), calc(var(--hero-shift-y,0px) + 10px), 0) scale(var(--fs157-hero-scale-end));
  }
}

@keyframes fs157FogGlow{
  0%{
    opacity:.97;
    background-position:0% 0%, 100% 0%, 50% 100%, 0 0;
  }
  50%{
    opacity:1;
    background-position:2% 1%, 98% 0%, 50% 98%, 0 0;
  }
  100%{
    opacity:.94;
    background-position:4% 2%, 96% 1%, 50% 94%, 0 0;
  }
}

@keyframes fs157FogDrift{
  0%{ transform:translate3d(-2%, 0, 0) scaleX(1.03); opacity:.34; }
  50%{ transform:translate3d(0%, -4px, 0) scaleX(1.06); opacity:.44; }
  100%{ transform:translate3d(2%, 0, 0) scaleX(1.08); opacity:.38; }
}

@media (max-width: 900px){
  .hero.hero-home .hero-cinematic .cinematic-slide,
  .hero.page-header::before,
  .service-hero::before,
  .legal-hero::before{
    animation-duration:28s !important;
  }
  .hero.hero-home::before,
  .hero.page-header .hero-inner::before,
  .service-hero .service-hero-inner::before,
  .legal-hero .container::before{
    height:28%;
    filter:blur(18px);
    opacity:.34;
  }
}

@media (prefers-reduced-motion: reduce){
  .hero.hero-home .hero-cinematic .cinematic-slide,
  .hero.page-header::before,
  .service-hero::before,
  .legal-hero::before,
  .hero.hero-home::before,
  .hero.page-header .hero-inner::before,
  .service-hero .service-hero-inner::before,
  .legal-hero .container::before,
  .hero.hero-home .hero-cinematic::after,
  .hero.page-header::after,
  .service-hero::after,
  .legal-hero::after{
    animation:none !important;
  }
}

/* ---- v159-readability-audit.css ---- */

/* V159 — audit global lisibilité / contrastes / anti-superposition */
:root{
  --fs159-dark:#0d1d33;
  --fs159-dark-2:#102844;
  --fs159-light:#ffffff;
  --fs159-soft:rgba(244,248,252,.88);
  --fs159-muted:#5a6b83;
  --fs159-pill:rgba(6,18,34,.62);
  --fs159-line:rgba(255,255,255,.18);
}
html{scroll-padding-top:96px;}
body.apple-premium{ text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
body.apple-premium img, body.apple-premium svg, body.apple-premium video{max-width:100%;height:auto;display:block;}
body.apple-premium h1, body.apple-premium h2, body.apple-premium h3, body.apple-premium h4,
body.apple-premium p, body.apple-premium li, body.apple-premium span, body.apple-premium strong,
body.apple-premium a, body.apple-premium label, body.apple-premium small{
  overflow-wrap:anywhere;
}

/* Sections claires : contraste fort et propre */
body.apple-premium .section-header h1,
body.apple-premium .section-header h2,
body.apple-premium .section-header h3,
body.apple-premium .section-header h4,
body.apple-premium .section > .container > h2,
body.apple-premium .section-tight > .container > h2,
body.apple-premium .legal-page-content h2,
body.apple-premium .legal-page-content h3,
body.apple-premium .sales-flow-grid article h3,
body.apple-premium .sales-flow-grid article strong,
body.apple-premium .proof-panel h2,
body.apple-premium .proof-panel h3,
body.apple-premium .info-card h4,
body.apple-premium .feature-item h4{
  color:var(--fs159-dark)!important;
}
body.apple-premium .section-header p,
body.apple-premium .section > .container > p,
body.apple-premium .section-tight > .container > p,
body.apple-premium .legal-page-content p,
body.apple-premium .legal-page-content li,
body.apple-premium .sales-flow-grid p,
body.apple-premium .proof-panel p,
body.apple-premium .info-card p,
body.apple-premium .feature-item p,
body.apple-premium .small.muted,
body.apple-premium .muted,
body.apple-premium .small{
  color:var(--fs159-muted)!important;
}

/* Kicker / labels : jamais bleu sur bleu ni blanc sur blanc */
body.apple-premium .section-header .kicker,
body.apple-premium .section > .container > .kicker,
body.apple-premium .section-tight > .container > .kicker,
body.apple-premium .proof-panel .kicker,
body.apple-premium .sales-flow-grid .kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:rgba(24,137,255,.10)!important;
  border:1px solid rgba(24,137,255,.16)!important;
  color:var(--fs159-dark-2)!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

/* Contextes sombres / photo : tout en blanc avec pill sombre */
body.apple-premium .hero h1,
body.apple-premium .hero h2,
body.apple-premium .hero h3,
body.apple-premium .hero p,
body.apple-premium .service-hero h1,
body.apple-premium .service-hero h2,
body.apple-premium .service-hero h3,
body.apple-premium .service-hero p,
body.apple-premium .legal-hero h1,
body.apple-premium .legal-hero h2,
body.apple-premium .legal-hero h3,
body.apple-premium .legal-hero p,
body.apple-premium .immersive-card h2,
body.apple-premium .immersive-card p,
body.apple-premium .cta-band,
body.apple-premium .cta-band h2,
body.apple-premium .cta-band h3,
body.apple-premium .cta-band p,
body.apple-premium .footer,
body.apple-premium .footer a,
body.apple-premium .ai-panel-card,
body.apple-premium .ai-panel-card h3,
body.apple-premium .ai-panel-card p{
  color:#fff!important;
}
body.apple-premium .hero h1,
body.apple-premium .hero h2,
body.apple-premium .service-hero h1,
body.apple-premium .legal-hero h1,
body.apple-premium .immersive-card h2{
  text-shadow:0 18px 48px rgba(0,0,0,.44), 0 2px 12px rgba(0,0,0,.26)!important;
}
body.apple-premium .hero p,
body.apple-premium .service-hero p,
body.apple-premium .legal-hero p,
body.apple-premium .immersive-card p{
  text-shadow:0 10px 28px rgba(0,0,0,.34)!important;
}
body.apple-premium .hero .kicker,
body.apple-premium .service-hero .kicker,
body.apple-premium .legal-hero .kicker,
body.apple-premium .immersive-card .kicker,
body.apple-premium .page-header .kicker{
  display:inline-flex!important;
  align-items:center!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:var(--fs159-pill)!important;
  border:1px solid var(--fs159-line)!important;
  color:#fff!important;
  text-shadow:none!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.22)!important;
}

/* Cartes sombres, moyens, stats, panels : texte toujours lisible */
body.apple-premium .card,
body.apple-premium .project-card,
body.apple-premium .sector-card,
body.apple-premium .sector-card-premium,
body.apple-premium .reference-card,
body.apple-premium .price-card,
body.apple-premium .case-card,
body.apple-premium .equipment-card,
body.apple-premium .audit-card,
body.apple-premium .panel,
body.apple-premium .stat,
body.apple-premium .logo-cell,
body.apple-premium .mission-flow-step,
body.apple-premium .form-trust-panel,
body.apple-premium .notice-box,
body.apple-premium .yuneec-inline-card,
body.apple-premium .timeline-step,
body.apple-premium .capsule-card,
body.apple-premium .service-comparator,
body.apple-premium .zone-side-card,
body.apple-premium .zone-hotspot,
body.apple-premium .means-card,
body.apple-premium .means-summary-card,
body.apple-premium .news-card .content,
body.apple-premium .quote-card{
  background:linear-gradient(180deg,#0a1528 0%, #050b16 100%)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
}
body.apple-premium .card h3,
body.apple-premium .project-card h3,
body.apple-premium .sector-card h3,
body.apple-premium .sector-card-premium h3,
body.apple-premium .reference-card h3,
body.apple-premium .price-card h3,
body.apple-premium .case-card h3,
body.apple-premium .equipment-card h3,
body.apple-premium .audit-card h3,
body.apple-premium .panel h2,
body.apple-premium .panel h3,
body.apple-premium .means-card h3,
body.apple-premium .means-summary-card h3,
body.apple-premium .news-card .content h3,
body.apple-premium .quote-card strong,
body.apple-premium .stat strong,
body.apple-premium .stat div strong{
  color:#fff!important;
}
body.apple-premium .card p,
body.apple-premium .project-card p,
body.apple-premium .sector-card p,
body.apple-premium .sector-card-premium p,
body.apple-premium .reference-card p,
body.apple-premium .price-card p,
body.apple-premium .case-card p,
body.apple-premium .equipment-card p,
body.apple-premium .audit-card p,
body.apple-premium .panel p,
body.apple-premium .panel li,
body.apple-premium .means-card p,
body.apple-premium .means-card li,
body.apple-premium .means-summary-card p,
body.apple-premium .stat span,
body.apple-premium .news-card .content p,
body.apple-premium .quote-card p,
body.apple-premium .quote-card .small,
body.apple-premium .content .meta,
body.apple-premium .content .meta span{
  color:var(--fs159-soft)!important;
}
body.apple-premium .tag,
body.apple-premium .price-tag,
body.apple-premium .sector-card .tag,
body.apple-premium .project-card .tag,
body.apple-premium .reference-card .tag,
body.apple-premium .means-chip,
body.apple-premium .means-label,
body.apple-premium .news-card .tag{
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.20)!important;
}

/* Boutons : jamais texte clair sur fond clair */
body.apple-premium .btn,
body.apple-premium button,
body.apple-premium input[type="submit"]{
  line-height:1.2!important;
}
body.apple-premium .btn-primary,
body.apple-premium button.btn-primary{
  background:linear-gradient(135deg,#1789ff,#35c2ff)!important;
  color:#041221!important;
  border-color:rgba(255,255,255,.20)!important;
  font-weight:900!important;
}
body.apple-premium .btn-secondary,
body.apple-premium .btn-outline{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.24)!important;
}
body.apple-premium .btn-emergency{
  background:#d92f42!important;
  color:#fff!important;
}

/* Champs / formulaires */
body.apple-premium input,
body.apple-premium textarea,
body.apple-premium select{
  background:#081326!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.20)!important;
}
body.apple-premium input::placeholder,
body.apple-premium textarea::placeholder{ color:rgba(255,255,255,.58)!important; }
body.apple-premium label,
body.apple-premium .form-label,
body.apple-premium .ai-input-label{ color:rgba(255,255,255,.92)!important; }

/* Anti-superposition / respirations */
body.apple-premium .section-header,
body.apple-premium .split,
body.apple-premium .card-grid,
body.apple-premium .feature-row,
body.apple-premium .info-cards,
body.apple-premium .logos-grid,
body.apple-premium .sales-flow-grid,
body.apple-premium .proof-strip,
body.apple-premium .stats-bar,
body.apple-premium .contact-grid,
body.apple-premium .hero-actions,
body.apple-premium .immersive-actions,
body.apple-premium .means-grid,
body.apple-premium .means-gallery,
body.apple-premium .mission-flow,
body.apple-premium .timeline-grid,
body.apple-premium .pricing-grid,
body.apple-premium .news-grid,
body.apple-premium .offers-grid,
body.apple-premium .service-grid{
  gap:clamp(14px,2vw,24px)!important;
}
body.apple-premium .section-header,
body.apple-premium .split,
body.apple-premium .card-grid,
body.apple-premium .feature-row,
body.apple-premium .info-cards,
body.apple-premium .logos-grid,
body.apple-premium .sales-flow-grid,
body.apple-premium .proof-strip,
body.apple-premium .contact-grid,
body.apple-premium .means-grid,
body.apple-premium .means-gallery,
body.apple-premium .mission-flow,
body.apple-premium .timeline-grid,
body.apple-premium .pricing-grid,
body.apple-premium .news-grid,
body.apple-premium .offers-grid,
body.apple-premium .service-grid{
  align-items:stretch!important;
}
body.apple-premium .section-header{ flex-wrap:wrap!important; }
body.apple-premium .section-header > *,
body.apple-premium .split > *,
body.apple-premium .card,
body.apple-premium .project-card,
body.apple-premium .sector-card,
body.apple-premium .reference-card,
body.apple-premium .price-card,
body.apple-premium .case-card,
body.apple-premium .equipment-card,
body.apple-premium .audit-card,
body.apple-premium .panel,
body.apple-premium .means-card,
body.apple-premium .means-summary-card,
body.apple-premium .news-card,
body.apple-premium .quote-card,
body.apple-premium .stat,
body.apple-premium .hero-copy,
body.apple-premium .hero-actions .btn{
  min-width:0!important;
}
body.apple-premium .hero-copy p,
body.apple-premium .immersive-card p,
body.apple-premium .panel p,
body.apple-premium .card p,
body.apple-premium .section-header p,
body.apple-premium .legal-page-content p{
  max-width:72ch;
}
body.apple-premium .section,
body.apple-premium .section-tight,
body.apple-premium .hero,
body.apple-premium .page-header,
body.apple-premium .service-hero,
body.apple-premium .legal-hero,
body.apple-premium footer{ overflow-x:clip!important; }

/* Actions flottantes : espacement propre */
body.apple-premium .floating-actions{ display:flex!important; flex-direction:column!important; gap:12px!important; }
body.apple-premium .floating-btn{ box-shadow:0 12px 34px rgba(0,0,0,.26)!important; }
body.apple-premium .floating-top{ margin-top:0!important; }

/* Ajustements mobile */
@media (max-width: 900px){
  body.apple-premium .feature-row,
  body.apple-premium .info-cards,
  body.apple-premium .card-grid,
  body.apple-premium .sales-flow-grid,
  body.apple-premium .proof-strip,
  body.apple-premium .means-grid,
  body.apple-premium .mission-flow,
  body.apple-premium .timeline-grid,
  body.apple-premium .pricing-grid,
  body.apple-premium .news-grid,
  body.apple-premium .offers-grid,
  body.apple-premium .service-grid{
    grid-template-columns:1fr!important;
  }
  body.apple-premium .split{ grid-template-columns:1fr!important; }
  body.apple-premium .section-header .kicker,
  body.apple-premium .hero .kicker,
  body.apple-premium .service-hero .kicker,
  body.apple-premium .legal-hero .kicker,
  body.apple-premium .immersive-card .kicker{
    max-width:100%;
  }
}

/* ---- v160-secteurs-final.css ---- */

/* V160 — Secteurs d’activité final + harmonisation titres/kickers */
body.apple-premium .sector-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;align-items:stretch!important}
body.apple-premium .sector-card-v160{min-height:100%!important;display:flex!important;flex-direction:column!important;border-radius:28px!important;overflow:hidden!important;background:linear-gradient(180deg,#0a1528,#050b16)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 22px 64px rgba(0,0,0,.28)!important}
body.apple-premium .sector-card-v160 img{width:100%!important;height:210px!important;object-fit:cover!important;flex:0 0 auto!important}
body.apple-premium .sector-card-v160 .content{padding:20px!important;display:flex!important;flex-direction:column!important;gap:10px!important;flex:1 1 auto!important}
body.apple-premium .sector-card-v160 h3{font-size:1.12rem!important;line-height:1.18!important;margin:0!important;color:#fff!important}
body.apple-premium .sector-card-v160 p{margin:0!important;color:rgba(245,248,252,.84)!important;line-height:1.56!important}
body.apple-premium .sector-card-v160 .tag{align-self:flex-start!important;max-width:100%!important;white-space:normal!important}
body.apple-premium .feature-item-v160{min-height:100%!important;padding:22px!important}
body.apple-premium .section-header .kicker,body.apple-premium .hero .kicker,body.apple-premium .service-hero .kicker,body.apple-premium .legal-hero .kicker,body.apple-premium .immersive-card .kicker{font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.apple-premium .hero-actions{flex-wrap:wrap!important}
body.apple-premium .zone-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
body.apple-premium .zone-list span{min-width:0!important;white-space:normal!important;line-height:1.35!important}
@media(max-width:1180px){body.apple-premium .sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){body.apple-premium .sector-grid{grid-template-columns:1fr!important}body.apple-premium .sector-card-v160 img{height:190px!important}body.apple-premium .zone-list{grid-template-columns:1fr!important}}

/* ---- v161-secteurs-clairs.css ---- */

/* V161 — Secteurs d’activité corrigés et clarifiés */
.v161-sector-page .section-header{align-items:flex-end}
.sector-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:30px}
.sector-activity-card{position:relative;overflow:hidden;border-radius:30px;background:linear-gradient(180deg,#0a1528 0%,#050b16 100%);border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);color:#fff;min-width:0}
.sector-visual{position:relative;min-height:168px;background-image:linear-gradient(180deg,rgba(4,12,24,.10),rgba(4,12,24,.76)),var(--sector-img);background-size:cover;background-position:center;overflow:hidden}
.sector-visual::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 12%,rgba(76,190,255,.24),transparent 30%),linear-gradient(180deg,transparent,rgba(4,12,24,.60))}
.sector-icon{position:absolute;left:18px;bottom:16px;z-index:2;width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:rgba(5,15,30,.72);border:1px solid rgba(255,255,255,.20);box-shadow:0 12px 34px rgba(0,0,0,.28);font-size:1.55rem;backdrop-filter:blur(14px)}
.sector-content{padding:22px}
.sector-kicker{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);font-size:.78rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.sector-activity-card h3{margin:14px 0 10px;color:#fff!important;font-size:1.18rem;line-height:1.15}
.sector-activity-card p{color:rgba(245,248,252,.84)!important;line-height:1.58;margin:0 0 16px}
.sector-services{display:flex;flex-wrap:wrap;gap:8px}
.sector-services span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(50,170,255,.12);border:1px solid rgba(80,200,255,.16);color:#eaf8ff;font-weight:800;font-size:.78rem}
@media(max-width:1180px){.sector-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.sector-activity-grid{grid-template-columns:1fr;gap:16px}.sector-visual{min-height:150px}.sector-content{padding:18px}}

/* ---- v162-accueil-secteurs.css ---- */

/* V162 — accueil : vrais secteurs d’activité validés */
.home-sector-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
.home-sector-card{min-height:100%;}
.home-sector-card img{height:190px!important;object-fit:cover!important;width:100%!important;display:block!important}
.home-sector-card .tag{display:inline-flex!important;align-items:center!important;gap:6px!important}
.home-sector-card h3{min-height:2.35em;}
.home-sector-card .sector-lead{font-weight:700;color:rgba(245,248,252,.90)!important;}
.home-sector-card .content p:last-child{color:#8ee2ff!important;font-weight:800;font-size:.9rem;}
@media(max-width:1180px){.home-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.home-sector-grid{grid-template-columns:1fr!important}.home-sector-card h3{min-height:0}.home-sector-card img{height:170px!important}}

/* ---- v167-tarifs-maj.css ---- */

/* V167 — mise à jour tarifs */
body[data-page="tarifs"] .price-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body[data-page="tarifs"] .price-card{
  min-height:100%;
}
body[data-page="tarifs"] .price-tag{
  font-size:1.08rem;
  letter-spacing:-.01em;
}
.price-disclaimer-v167{
  margin-top:24px;
  padding:22px 24px;
  border-radius:24px;
  color:rgba(245,248,252,.86);
  background:linear-gradient(180deg,#0a1528,#050b16);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 22px 64px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08);
  line-height:1.62;
}
.price-disclaimer-v167 strong{color:#fff}
@media(max-width:980px){body[data-page="tarifs"] .price-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){body[data-page="tarifs"] .price-grid{grid-template-columns:1fr}.price-disclaimer-v167{padding:18px;border-radius:20px}}

/* ---- v168-refs-jour-nuit-force.css ---- */

/* V168 — lisibilité références + accueil jour/nuit vraiment visible */
body.apple-premium .hero.hero-home{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#050b16 url('/assets/hero-accueil-jour-v164.jpg') center/cover no-repeat !important;
}
/* Ancien système fond animé totalement écarté sur l'accueil */
body.apple-premium .hero.hero-home .hero-cinematic{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  animation:none !important;
  transform:none !important;
}
body.apple-premium .hero.hero-home::before,
body.apple-premium .hero.hero-home::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  animation:none !important;
  transform:none !important;
  background:none !important;
}
body.apple-premium .hero.hero-home .fs168-daynight{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  background:#050b16 !important;
}
body.apple-premium .hero.hero-home .fs168-daynight img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
  animation:none !important;
  transition:none !important;
  will-change:opacity !important;
}
body.apple-premium .hero.hero-home .fs168-daynight .fs168-day{
  z-index:0 !important;
  opacity:1 !important;
}
body.apple-premium .hero.hero-home .fs168-daynight .fs168-night{
  z-index:1 !important;
  opacity:0;
  animation:fs168NightForce 8s linear infinite !important;
}
/* Cycle demandé : jour 2 s -> fondu 2 s -> nuit 2 s -> fondu 2 s */
@keyframes fs168NightForce{
  0%,25%{opacity:0}
  50%,75%{opacity:1}
  100%{opacity:0}
}
body.apple-premium .hero.hero-home .fs168-daynight-shade{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 22% 14%, rgba(59,180,255,.18), transparent 26%),
    linear-gradient(100deg, rgba(3,10,24,.74) 0%, rgba(3,10,24,.24) 46%, rgba(3,10,24,.66) 100%) !important;
}
body.apple-premium .hero.hero-home .hero-inner{
  position:relative !important;
  z-index:3 !important;
}

/* Références accueil : contraste fort, aucune écriture illisible */
.home-proof-section .proof-strip{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  align-items:stretch !important;
  background:rgba(3,10,24,.52) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:28px !important;
  padding:18px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(16px) !important;
}
.home-proof-section .proof-strip span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:12px 16px !important;
  border-radius:999px !important;
  color:#fff !important;
  background:linear-gradient(180deg, rgba(8,22,42,.98), rgba(3,9,18,.96)) !important;
  border:1px solid rgba(109,213,255,.32) !important;
  box-shadow:0 12px 32px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.10) !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  line-height:1.15 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.75) !important;
  white-space:normal !important;
}

/* Page Références : titres et textes lisibles sur toutes les cartes */
.references-page .reference-card,
.reference-card{
  background:#061121 !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
}
.references-page .reference-card > div,
.reference-card > div,
.reference-card .content{
  background:linear-gradient(180deg, rgba(4,13,27,.97), rgba(3,8,17,.98)) !important;
  color:#fff !important;
}
.references-page .reference-card h3,
.reference-card h3{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.72) !important;
  font-weight:950 !important;
}
.references-page .reference-card p,
.reference-card p{
  color:rgba(244,249,255,.88) !important;
}
.references-page .reference-card span,
.reference-card span{
  color:#eaf8ff !important;
  background:rgba(50,170,255,.15) !important;
  border:1px solid rgba(100,210,255,.20) !important;
  border-radius:999px !important;
  padding:6px 10px !important;
  font-weight:900 !important;
}

@media(max-width:720px){
  .home-proof-section .proof-strip{padding:14px; gap:9px}
  .home-proof-section .proof-strip span{width:100%; justify-content:flex-start; border-radius:18px; min-height:44px}
}

/* ---- v169-references-exactes.css ---- */

/* V169 — Références exactes et lisibles */
.v169-references-exactes{
  position:relative;
}
.v169-ref-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.v169-ref-card{
  position:relative;
  overflow:hidden;
  min-height:215px;
  padding:24px;
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 0%,rgba(74,191,255,.20),transparent 34%),
    linear-gradient(180deg,rgba(10,22,42,.98),rgba(3,8,18,.98));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 22px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
  color:#fff;
}
.v169-ref-card::after{
  content:"";
  position:absolute;
  inset:auto -20% -45% 18%;
  height:110px;
  background:radial-gradient(circle,rgba(51,174,255,.22),transparent 70%);
  pointer-events:none;
}
.v169-ref-type{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  color:#fff!important;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.v169-ref-card h3{
  margin:18px 0 12px;
  color:#fff!important;
  font-size:1.35rem;
  line-height:1.15;
  text-shadow:0 3px 18px rgba(0,0,0,.70);
}
.v169-ref-card p{
  margin:0;
  color:rgba(246,249,255,.88)!important;
  line-height:1.65;
  text-shadow:0 2px 14px rgba(0,0,0,.50);
}
@media(max-width:980px){
  .v169-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
  .v169-ref-grid{grid-template-columns:1fr;}
  .v169-ref-card{min-height:auto;padding:20px;}
}

/* ---- v170-cta-realisations-lisible.css ---- */

/* V170 — Lisibilité bouton "Découvrir toutes nos réalisations" */
.v170-cta-realisations,
a[href="/realisations.html"].v170-cta-realisations,
.section-header a.btn[href="/realisations.html"]{
  color:#ffffff!important;
  background:linear-gradient(135deg,rgba(0,99,190,.98),rgba(0,187,255,.92))!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:0 16px 42px rgba(0,111,214,.34),0 6px 18px rgba(0,0,0,.34)!important;
  text-shadow:0 2px 10px rgba(0,0,0,.45)!important;
  opacity:1!important;
  filter:none!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:13px 20px!important;
  border-radius:999px!important;
  white-space:normal!important;
  text-align:center!important;
}
.v170-cta-realisations:hover,
.section-header a.btn[href="/realisations.html"]:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 22px 55px rgba(0,111,214,.44),0 8px 24px rgba(0,0,0,.38)!important;
}
@media(max-width:760px){
  .section-header a.btn[href="/realisations.html"],
  .v170-cta-realisations{
    width:100%!important;
    margin-top:12px!important;
  }
}

/* ---- v171-cartes-images-egales.css ---- */

/* V171 — Harmonisation stricte des cartes et images côte à côte
   Objectif : mêmes hauteurs visuelles pour les cartes d’une même grille,
   images cadrées de façon identique, contenu aligné et lisible. */

/* Grilles principales : toutes les cases d’une même ligne s’étirent ensemble */
.project-grid,
.news-grid,
.sector-grid,
.story-grid,
.team-grid,
.card-grid,
.card-grid.two,
.card-grid.three,
.card-grid.five,
.feature-row,
.process,
.info-cards,
.sales-flow-grid,
.mission-flow-grid,
.equipment-grid,
.fleet-grid,
.boutique-grid,
.contact-cards,
.v169-ref-grid,
.sector-activity-grid,
.price-grid,
.reference-grid,
.logo-grid,
.logos-grid,
.zone-grid,
.means-grid,
.case-grid{
  align-items: stretch !important;
}

/* Cartes : structure verticale identique */
.project-card,
.news-card,
.sector-card,
.story-card,
.team-card,
.card,
.card.hover,
.feature-item,
.mission-flow-step,
.sales-flow-grid article,
.equipment-card,
.fleet-card,
.boutique-card,
.info-card,
.reference-card,
.case-card,
.price-card,
.v169-ref-card,
.sector-activity-card,
.logo-cell,
.quote-card,
.panel{
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

/* Images des cartes : format unique, peu importe photo portrait/paysage */
.project-card > img,
.news-card > img,
.sector-card > img,
.story-card > img,
.team-card > img,
.card > img,
.reference-card > img,
.case-card > img,
.fleet-card img,
.boutique-card img,
.equipment-card img{
  width: 100% !important;
  height: 232px !important;
  min-height: 232px !important;
  max-height: 232px !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  flex: 0 0 232px !important;
}

/* Le visuel "Valorisation de château" était portrait : cadrage corrigé */
.project-card img[alt*="château" i],
.project-card img[alt*="Château"],
.project-card img[src*="patrimoine"],
.project-card img[src*="chateau"]{
  height: 232px !important;
  min-height: 232px !important;
  max-height: 232px !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Contenu : prend la hauteur restante pour aligner les bas de cartes */
.project-card .content,
.news-card .content,
.sector-card .content,
.story-card .content,
.team-card .content,
.card .content,
.reference-card .content,
.case-card .content,
.fleet-card .fleet-body,
.boutique-card .content,
.equipment-card .content{
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

.project-card .meta,
.news-card .meta,
.sector-card .meta,
.story-card .meta,
.case-card .meta,
.reference-card .meta{
  margin-top: auto !important;
  padding-top: 14px !important;
}

/* Sections avec deux colonnes : image et texte mieux équilibrés */
.split,
.service-hero-inner,
.hero-visual,
.hero-mosaic{
  align-items: stretch !important;
}
.media-panel,
.service-hero .visual,
.hero-main-card,
.hero-mosaic-card,
.before-after,
.service-comparator{
  height: 100% !important;
  min-height: 360px !important;
  display: flex !important;
  flex-direction: column !important;
}
.media-panel img,
.service-hero .visual img,
.hero-main-card img,
.hero-mosaic-card img,
.before-after img,
.service-comparator img{
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
  object-fit: cover !important;
  object-position: center !important;
  display:block !important;
}

/* Réalisations accueil : quatre cartes parfaitement alignées */
body[data-page="home"] .project-grid,
body[data-page="accueil"] .project-grid,
body.home .project-grid{
  align-items: stretch !important;
}
body[data-page="home"] .project-card,
body[data-page="accueil"] .project-card,
body.home .project-card{
  min-height: 510px !important;
}
body[data-page="home"] .project-card > img,
body[data-page="accueil"] .project-card > img,
body.home .project-card > img{
  height: 238px !important;
  min-height: 238px !important;
  max-height: 238px !important;
  flex-basis: 238px !important;
}

/* Sécurité mobile : pas de hauteur forcée excessive en colonne */
@media (max-width: 760px){
  .project-card,
  .news-card,
  .sector-card,
  .story-card,
  .team-card,
  .card,
  .feature-item,
  .mission-flow-step,
  .sales-flow-grid article,
  .equipment-card,
  .fleet-card,
  .boutique-card,
  .info-card,
  .reference-card,
  .case-card,
  .price-card,
  .v169-ref-card,
  .sector-activity-card,
  .quote-card,
  .panel{
    min-height: auto !important;
  }
  .project-card > img,
  .news-card > img,
  .sector-card > img,
  .story-card > img,
  .team-card > img,
  .card > img,
  .reference-card > img,
  .case-card > img,
  .fleet-card img,
  .boutique-card img,
  .equipment-card img{
    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;
    flex-basis: 210px !important;
  }
  .media-panel,
  .service-hero .visual,
  .hero-main-card,
  .hero-mosaic-card,
  .before-after,
  .service-comparator,
  .media-panel img,
  .service-hero .visual img,
  .hero-main-card img,
  .hero-mosaic-card img,
  .before-after img,
  .service-comparator img{
    min-height: 260px !important;
  }
}

/* ---- v172-tarifs-finalises.css ---- */

/* V172 — tarifs finalisés */
.v172-tarifs-section,.v172-home-tarifs{position:relative}.v172-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px;align-items:stretch}.v172-price-card{min-height:285px;display:flex;flex-direction:column;justify-content:space-between;padding:24px;border-radius:30px;background:radial-gradient(circle at 20% 0%,rgba(72,190,255,.22),transparent 34%),linear-gradient(180deg,rgba(10,22,42,.98),rgba(3,8,18,.99));border:1px solid rgba(255,255,255,.17);box-shadow:0 22px 70px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.08);color:#fff}.v172-price-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.v172-price-kicker{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.v172-price-top strong{display:inline-flex;white-space:nowrap;padding:9px 13px;border-radius:999px;color:#04111f;background:linear-gradient(135deg,#8ee3ff,#35b7ff);box-shadow:0 10px 28px rgba(42,180,255,.28);font-size:.95rem}.v172-price-card h3,.v172-home-price h3{color:#fff!important;margin:0 0 10px;line-height:1.15}.v172-price-card p,.v172-home-price p{color:rgba(246,249,255,.88)!important;line-height:1.62;margin:0 0 18px}.v172-price-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.v172-price-tags span{display:inline-flex;padding:7px 10px;border-radius:999px;color:#eaf8ff;background:rgba(50,170,255,.12);border:1px solid rgba(80,200,255,.17);font-size:.78rem;font-weight:800}.v172-price-disclaimer{margin-top:24px;padding:18px 20px;border-radius:24px;background:rgba(5,15,30,.88);border:1px solid rgba(255,255,255,.16);color:rgba(246,249,255,.86);line-height:1.65;box-shadow:0 18px 55px rgba(0,0,0,.24)}.v172-price-disclaimer strong{color:#fff}.v172-price-disclaimer.compact{font-size:.92rem}.v172-home-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px;align-items:stretch}.v172-home-price{min-height:180px;padding:20px;border-radius:24px;background:linear-gradient(180deg,rgba(9,22,42,.95),rgba(4,10,20,.98));border:1px solid rgba(255,255,255,.15);box-shadow:0 18px 55px rgba(0,0,0,.22)}.v172-home-price strong{display:inline-flex;margin:4px 0 12px;padding:8px 12px;border-radius:999px;background:rgba(72,190,255,.16);border:1px solid rgba(72,190,255,.28);color:#eaf8ff}.v172-price-actions{margin-top:22px}@media(max-width:1100px){.v172-price-grid,.v172-home-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.v172-price-grid,.v172-home-price-grid{grid-template-columns:1fr}.v172-price-card,.v172-home-price{min-height:auto}.v172-price-top{align-items:flex-start;flex-direction:column}}

/* ---- v173-ameliorations-finales.css ---- */

/* V173 — améliorations finales : CTA, tarifs, preuves, mobile */
:root{--v173-blue:#38bdf8;--v173-dark:#050b16}*{box-sizing:border-box}html,body{overflow-x:clip}img,video,canvas,svg{max-width:100%;height:auto}.container,.wrap{max-width:min(1180px,calc(100vw - 32px))}
.btn,.button,.service-page-link,.contact-stage-button,.emergency-phone{text-decoration:none!important}.btn-primary,.button.primary,.service-page-link,.contact-stage-button,.v173-cta{color:#03101f!important;background:linear-gradient(135deg,#94e7ff 0%,#38bdf8 52%,#0ea5e9 100%)!important;border:1px solid rgba(255,255,255,.36)!important;box-shadow:0 16px 42px rgba(14,165,233,.30)!important;font-weight:900!important}.btn-secondary,.button.ghost,.btn-white{color:#fff!important;background:rgba(5,15,30,.70)!important;border:1px solid rgba(255,255,255,.24)!important;box-shadow:0 14px 38px rgba(0,0,0,.24)!important;backdrop-filter:blur(14px)}.v173-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.v173-cta{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;padding:12px 18px!important;border-radius:999px!important;text-align:center}
.v173-price-grid,.v173-mini-price-grid,.v173-proof-grid,.v173-steps{display:grid;gap:18px;margin-top:28px;align-items:stretch}.v173-price-grid,.v173-mini-price-grid,.v173-proof-grid,.v173-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.v173-price-card,.v173-mini-price,.v173-proof-card,.v173-steps article,.v173-devis-panel,.v173-fast-panel{min-width:0;padding:24px;border-radius:28px;background:radial-gradient(circle at 20% 0%,rgba(56,189,248,.22),transparent 34%),linear-gradient(180deg,rgba(9,22,42,.98),rgba(3,8,18,.99));border:1px solid rgba(255,255,255,.17);box-shadow:0 22px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);color:#fff}.v173-price-card{min-height:285px;display:flex;flex-direction:column;justify-content:space-between}.v173-mini-price{min-height:185px}.v173-proof-card{min-height:210px}.v173-proof-card.large{min-height:220px}.v173-price-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.v173-price-head span,.v173-proof-card span{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.v173-price-head strong,.v173-mini-price strong{display:inline-flex;width:max-content;max-width:100%;padding:9px 13px;border-radius:999px;color:#03101f;background:linear-gradient(135deg,#94e7ff,#38bdf8);box-shadow:0 10px 28px rgba(56,189,248,.28);font-size:.95rem;font-weight:950}.v173-price-card h3,.v173-mini-price h3,.v173-proof-card h3,.v173-steps h3,.v173-fast-panel h2,.v173-devis-panel h3{color:#fff!important;line-height:1.15}.v173-price-card p,.v173-mini-price p,.v173-proof-card p,.v173-steps p,.v173-fast-panel p,.v173-devis-panel p{color:rgba(246,249,255,.88)!important;line-height:1.62}.v173-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.v173-chip-row span{display:inline-flex;padding:7px 10px;border-radius:999px;color:#eaf8ff;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.18);font-size:.78rem;font-weight:800}.v173-disclaimer{margin-top:24px;padding:18px 20px;border-radius:24px;background:rgba(5,15,30,.90);border:1px solid rgba(255,255,255,.16);color:rgba(246,249,255,.86);line-height:1.65;box-shadow:0 18px 55px rgba(0,0,0,.24)}.v173-steps span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:16px;background:rgba(56,189,248,.16);border:1px solid rgba(56,189,248,.24);color:#eaf8ff;font-weight:950}.v173-devis-panel,.v173-fast-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.card,.project-card,.sector-card,.reference-card,.price-card,.case-card,.equipment-card,.news-card,.v173-price-card,.v173-mini-price,.v173-proof-card{min-width:0;overflow-wrap:anywhere}.project-card img,.reference-card img,.case-card img,.news-card img,.card img,.media-panel img{aspect-ratio:16/10;object-fit:cover}
@media(max-width:1100px){.v173-price-grid,.v173-mini-price-grid,.v173-proof-grid,.v173-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.container,.wrap{max-width:min(100%,calc(100vw - 24px))}.section-header h2,.hero h1{font-size:clamp(2rem,10vw,3.2rem)!important;line-height:1.02!important}.hero-actions,.v173-cta-row{width:100%;display:grid;grid-template-columns:1fr;gap:10px}.btn,.button,.v173-cta,.service-page-link{width:100%;justify-content:center}.v173-price-grid,.v173-mini-price-grid,.v173-proof-grid,.v173-steps{grid-template-columns:1fr}.v173-price-card,.v173-mini-price,.v173-proof-card,.v173-steps article{min-height:auto;padding:20px}.v173-price-head{flex-direction:column}.v173-devis-panel,.v173-fast-panel{align-items:stretch;flex-direction:column}}

/* ---- v174-loader-video.css ---- */

/* V174 — vidéo en fond d'écran de chargement */
.fs38-preloader{
  position:fixed!important;
  inset:0!important;
  overflow:hidden!important;
  background:#020711!important;
  isolation:isolate!important;
}
.fs38-preloader-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  z-index:0!important;
  opacity:.92!important;
  filter:saturate(1.08) contrast(1.08) brightness(.82)!important;
  transform:scale(1.02)!important;
  pointer-events:none!important;
}
.fs38-preloader-bg{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  background:none!important;
  animation:none!important;
}
.fs38-preloader-shade{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  background:
    radial-gradient(circle at 50% 38%, rgba(15,120,255,.10), transparent 30%),
    linear-gradient(90deg, rgba(0,5,15,.86), rgba(0,10,25,.40) 48%, rgba(0,5,15,.86)),
    linear-gradient(180deg, rgba(0,0,0,.26), rgba(0,0,0,.74))!important;
  backdrop-filter:none!important;
}
.fs38-preloader-content{
  position:relative!important;
  z-index:2!important;
  text-shadow:0 4px 24px rgba(0,0,0,.85)!important;
}
.fs38-preloader-logo-stage,
.fs38-preloader-logo-wrap{
  background:rgba(2,8,18,.34)!important;
  backdrop-filter:blur(10px)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.fs38-preloader-brand{
  color:#fff!important;
  text-shadow:0 4px 28px rgba(0,0,0,.95),0 0 24px rgba(56,189,248,.30)!important;
}
.fs38-preloader-sub{
  color:rgba(245,250,255,.86)!important;
  text-shadow:0 3px 18px rgba(0,0,0,.90)!important;
}
@media (prefers-reduced-motion: reduce){
  .fs38-preloader-video{animation:none!important;}
}
@media(max-width:720px){
  .fs38-preloader-video{object-position:center center!important;filter:saturate(1.05) contrast(1.05) brightness(.76)!important;}
  .fs38-preloader-shade{background:linear-gradient(180deg,rgba(0,4,14,.68),rgba(0,0,0,.84))!important;}
}

/* ---- v175-loader-hq-banniere-scroll.css ---- */

/* V175 — loader vidéo haute qualité + bannière photos scroll horizontal */
.fs38-preloader{
  background:#01040a!important;
}
.fs38-preloader-video{
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  image-rendering:auto!important;
}
.fs38-preloader-shade{
  background:
    linear-gradient(90deg,rgba(0,0,0,.40),rgba(0,0,0,.10) 48%,rgba(0,0,0,.42)),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.42))!important;
  backdrop-filter:none!important;
}
.fs38-preloader-logo-stage,
.fs38-preloader-logo-wrap{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.fs38-preloader-logo-wrap::before,
.fs38-preloader-logo-wrap::after,
.fs38-preloader-logo-stage::before,
.fs38-preloader-logo-stage::after{
  display:none!important;
  content:none!important;
}
.fs38-preloader-logo{
  background:transparent!important;
  box-shadow:none!important;
  border:none!important;
  filter:drop-shadow(0 18px 42px rgba(0,0,0,.74)) drop-shadow(0 0 28px rgba(56,189,248,.20))!important;
}
.fs38-preloader-brand,
.fs38-preloader-sub{
  text-shadow:0 5px 28px rgba(0,0,0,.92)!important;
}
@media(max-width:720px){
  .fs38-preloader-video{filter:none!important;opacity:1!important;transform:none!important;}
  .fs38-preloader-shade{background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.58))!important;}
}

.v175-scroll-gallery{
  position:relative;
  height:240vh;
  margin:0;
  background:#020711;
  overflow:clip;
}
.v175-scroll-sticky{
  position:sticky;
  top:0;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
}
.v175-scroll-sticky::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 18% 20%,rgba(56,189,248,.16),transparent 28%),
    radial-gradient(circle at 80% 68%,rgba(14,165,233,.12),transparent 30%),
    linear-gradient(180deg,#030915 0%,#050b16 100%);
}
.v175-scroll-inner{
  position:relative;
  z-index:2;
  width:100%;
  padding:clamp(76px,9vh,110px) 0;
}
.v175-scroll-head{
  width:min(1180px,calc(100vw - 36px));
  margin:0 auto 28px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.v175-scroll-head .kicker{
  display:inline-flex;
  width:max-content;
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  text-shadow:0 3px 18px rgba(0,0,0,.70);
}
.v175-scroll-head h2{
  color:#fff!important;
  margin:12px 0 0;
  font-size:clamp(2.1rem,5vw,5.1rem);
  line-height:.95;
  letter-spacing:-.06em;
  max-width:820px;
  text-shadow:0 4px 34px rgba(0,0,0,.74);
}
.v175-scroll-head p{
  max-width:360px;
  color:rgba(240,247,255,.78)!important;
  line-height:1.65;
  margin:0;
}
.v175-gallery-viewport{
  position:relative;
  width:100%;
  overflow:visible;
}
.v175-gallery-track{
  display:flex;
  gap:22px;
  width:max-content;
  padding:12px calc((100vw - min(1180px,calc(100vw - 36px)))/2) 24px;
  transform:translate3d(var(--v175-gallery-x,0px),0,0);
  will-change:transform;
}
.v175-gallery-card{
  position:relative;
  flex:0 0 clamp(310px,37vw,560px);
  height:clamp(320px,52vh,570px);
  border-radius:34px;
  overflow:hidden;
  background:#071426;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 36px 100px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.10);
  transform:translateZ(0);
}
.v175-gallery-card img{
  width:100%;
  height:100%!important;
  object-fit:cover;
  display:block;
  transform:scale(1.015);
}
.v175-gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 28%,rgba(0,0,0,.78) 100%);
  pointer-events:none;
}
.v175-gallery-caption{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  z-index:2;
  color:#fff;
}
.v175-gallery-caption span{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  backdrop-filter:blur(12px);
}
.v175-gallery-caption h3{
  margin:12px 0 0;
  color:#fff!important;
  font-size:clamp(1.28rem,2.4vw,2.15rem);
  line-height:1.02;
  text-shadow:0 4px 26px rgba(0,0,0,.86);
}
.v175-gallery-progress{
  width:min(1180px,calc(100vw - 36px));
  height:3px;
  margin:10px auto 0;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  overflow:hidden;
}
.v175-gallery-progress span{
  display:block;
  width:calc(var(--v175-gallery-progress,0) * 100%);
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#94e7ff,#38bdf8,#0ea5e9);
  box-shadow:0 0 22px rgba(56,189,248,.48);
}
@media(max-width:900px){
  .v175-scroll-gallery{height:auto;min-height:0;}
  .v175-scroll-sticky{position:relative;min-height:auto;}
  .v175-scroll-head{display:block;}
  .v175-scroll-head p{margin-top:14px;max-width:100%;}
  .v175-gallery-track{overflow-x:auto;width:auto;transform:none!important;scroll-snap-type:x mandatory;padding:10px 18px 24px;}
  .v175-gallery-card{flex-basis:min(82vw,420px);height:420px;scroll-snap-align:center;}
  .v175-gallery-progress{display:none;}
}

/* ---- v177-animation-ia-premium.css ---- */

/* ==========================================================
   V177 — Animation IA Premium
   Ajouts seulement : aucun changement de structure générale.
   ========================================================== */

:root{
  --v177-blue:#39c6ff;
  --v177-blue-soft:#9ce8ff;
  --v177-deep:#04101e;
  --v177-line:rgba(88,205,255,.22);
}

/* Fond IA discret */
.v177-ai-field{
  position:fixed;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:.18;
  mix-blend-mode:screen;
}
body > header,
body > main,
body > footer,
.topbar,
.fs38-preloader,
.ai-panel{
  position:relative;
  z-index:1;
}

/* Halo ambiant très discret, sans changer les fonds existants */
body.apple-premium::after{
  content:"";
  position:fixed;
  inset:-20%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 22%,rgba(20,143,255,.08),transparent 26%),
    radial-gradient(circle at 80% 64%,rgba(0,210,255,.055),transparent 28%);
  filter:blur(34px);
  animation:v177Ambient 18s ease-in-out infinite alternate;
}
@keyframes v177Ambient{
  from{transform:translate3d(-1.5%,0,0) scale(1);}
  to{transform:translate3d(1.5%,-1%,0) scale(1.035);}
}

/* Scroll reveal moderne, sans tilt */
.v177-reveal{
  opacity:0;
  transform:translate3d(0,26px,0) scale(.985);
  filter:blur(3px);
  transition:
    opacity .78s cubic-bezier(.16,1,.3,1),
    transform .78s cubic-bezier(.16,1,.3,1),
    filter .78s ease;
  transition-delay:var(--v177-delay,0ms);
}
.v177-reveal.v177-visible{
  opacity:1;
  transform:none;
  filter:none;
}

/* Glow premium : élévation verticale uniquement, jamais de rotation */
.card,
.project-card,
.sector-card-premium,
.v173-proof-card,
.v173-mini-price,
.v173-price-card,
.means-card,
.equipment-card,
.timeline-step,
.capsule-card,
.v177-need-card{
  transition:
    transform .28s cubic-bezier(.2,.8,.2,1),
    border-color .28s ease,
    box-shadow .28s ease,
    background-color .28s ease !important;
}
.card:hover,
.project-card:hover,
.sector-card-premium:hover,
.v173-proof-card:hover,
.v173-mini-price:hover,
.v173-price-card:hover,
.means-card:hover,
.equipment-card:hover,
.timeline-step:hover,
.capsule-card:hover,
.v177-need-card:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(88,205,255,.43) !important;
  box-shadow:
    0 28px 74px rgba(0,0,0,.30),
    0 0 0 1px rgba(88,205,255,.12),
    0 0 42px rgba(30,174,255,.15) !important;
}

/* Radar SAR / ORS / 3S */
.v177-radar-target{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
}
.v177-radar-layer{
  position:absolute;
  right:-52px;
  top:-62px;
  width:210px;
  height:210px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  opacity:.32;
  border:1px solid rgba(80,210,255,.22);
  background:
    repeating-radial-gradient(circle,transparent 0 28px,rgba(80,210,255,.13) 29px 30px),
    linear-gradient(90deg,transparent 49.5%,rgba(80,210,255,.18) 50%,transparent 50.5%),
    linear-gradient(0deg,transparent 49.5%,rgba(80,210,255,.16) 50%,transparent 50.5%);
}
.v177-radar-layer::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 76%,rgba(71,205,255,.42) 88%,rgba(125,229,255,.06) 96%,transparent 100%);
  animation:v177RadarSweep 4.4s linear infinite;
}
.v177-radar-layer::before{
  content:"";
  position:absolute;
  left:54%;
  top:37%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#9ce8ff;
  box-shadow:0 0 0 5px rgba(81,211,255,.12),0 0 18px rgba(81,211,255,.72);
  animation:v177RadarPing 2.2s ease-in-out infinite;
}
.v177-radar-target > *:not(.v177-radar-layer){
  position:relative;
  z-index:1;
}
@keyframes v177RadarSweep{to{transform:rotate(360deg)}}
@keyframes v177RadarPing{
  0%,100%{opacity:.28;transform:scale(.85)}
  50%{opacity:1;transform:scale(1.15)}
}

/* Choisissez votre besoin */
.v177-needs-section{
  position:relative;
  overflow:hidden;
}
.v177-needs-section::before{
  content:"";
  position:absolute;
  inset:8% -8%;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 50%,rgba(33,164,255,.075),transparent 30%),
    radial-gradient(circle at 80% 50%,rgba(55,215,255,.055),transparent 28%);
  filter:blur(18px);
}
.v177-needs-header{position:relative;z-index:1}
.v177-needs-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:26px;
}
.v177-need-card{
  min-width:0;
  min-height:230px;
  display:flex;
  flex-direction:column;
  padding:22px;
  border-radius:26px;
  text-decoration:none !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 22% 0%,rgba(61,194,255,.14),transparent 35%),
    linear-gradient(180deg,rgba(8,20,37,.96),rgba(3,8,17,.98));
  border:1px solid rgba(121,220,255,.16);
  box-shadow:0 20px 58px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.06);
}
.v177-need-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  font-size:1.45rem;
  background:rgba(58,191,255,.11);
  border:1px solid rgba(101,216,255,.20);
  color:#b8efff;
  box-shadow:0 0 30px rgba(43,187,255,.10);
}
.v177-need-title{
  margin-top:18px;
  color:#75d9ff;
  font-size:.88rem;
  font-weight:950;
  letter-spacing:.035em;
  line-height:1.2;
}
.v177-need-desc{
  margin-top:9px;
  color:rgba(244,249,255,.78);
  font-size:.91rem;
  line-height:1.55;
}
.v177-need-action{
  margin-top:auto;
  padding-top:16px;
  color:#fff;
  font-size:.82rem;
  font-weight:850;
}
.v177-need-action b{color:#6bd9ff;font-size:1rem}

/* CTA plus visibles, sans changer leurs libellés */
.btn-primary,
.v173-cta.btn-primary,
.v170-cta-realisations,
.v176-sectors-cta{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(255,255,255,.50) !important;
  box-shadow:
    0 14px 38px rgba(12,159,255,.28),
    0 0 0 1px rgba(255,255,255,.12) inset !important;
}
.btn-primary::after,
.v173-cta.btn-primary::after,
.v170-cta-realisations::after,
.v176-sectors-cta::after{
  content:"";
  position:absolute;
  top:-50%;
  bottom:-50%;
  width:36%;
  left:-55%;
  z-index:-1;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.40),transparent);
  transition:left .65s cubic-bezier(.2,.8,.2,1);
}
.btn-primary:hover::after,
.v173-cta.btn-primary:hover::after,
.v170-cta-realisations:hover::after,
.v176-sectors-cta:hover::after{left:120%}
.v176-sectors-cta{
  min-height:52px !important;
  padding:13px 22px !important;
  font-size:.96rem !important;
}

/* Galerie immersive : même structure, mouvement plus doux */
.v176-gallery-track{
  will-change:transform;
  transform:translate3d(0,0,0);
}
.v176-gallery-item{
  box-shadow:
    0 34px 100px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.11) !important;
}
.v176-gallery-item img{
  transition:filter .5s ease,transform .8s cubic-bezier(.16,1,.3,1);
}
.v176-gallery-item.v177-gallery-active img{
  transform:scale(1.016);
}

/* Curseur drone custom */
.v177-drone-cursor{
  position:fixed;
  left:0;
  top:0;
  width:74px;
  height:74px;
  z-index:2147483000;
  pointer-events:none;
  transform:translate3d(-50%,-50%,0);
  transition:
    width .18s ease,
    height .18s ease,
    filter .18s ease,
    opacity .18s ease;
  opacity:0;
  filter:drop-shadow(0 0 10px rgba(66,193,255,.52)) drop-shadow(0 6px 12px rgba(0,0,0,.40));
}
.v177-drone-cursor img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.v177-drone-cursor.v177-cursor-visible{opacity:.96}
.v177-drone-cursor.v177-cursor-action{
  width:84px;
  height:84px;
  filter:drop-shadow(0 0 17px rgba(66,205,255,.75)) drop-shadow(0 7px 15px rgba(0,0,0,.46));
}
@media (pointer:fine){
  html,body,a,button,input,textarea,select,label,[role="button"]{cursor:none !important}
}

/* Mobile : expérience plus respirante, toucher facile */
@media(max-width:1100px){
  .v177-needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .v177-ai-field{opacity:.10}
  .v177-needs-grid{grid-template-columns:1fr;gap:12px}
  .v177-need-card{min-height:172px;padding:19px}
  .v177-need-icon{width:48px;height:48px;border-radius:16px}
  .v177-needs-section .section-header{gap:10px}
  .btn,.v173-cta,.v176-sectors-cta{
    min-height:48px !important;
  }
  .v176-gallery-item{
    flex-basis:91vw !important;
    height:70vh !important;
  }
  .v176-gallery-track{
    gap:14px !important;
    padding-left:4.5vw !important;
    padding-right:4.5vw !important;
  }
}
@media(pointer:coarse),(max-width:760px){
  .v177-drone-cursor{display:none !important}
}
@media(prefers-reduced-motion:reduce){
  .v177-ai-field{display:none}
  .v177-reveal{opacity:1;transform:none;filter:none;transition:none}
  .v177-radar-layer::after,.v177-radar-layer::before,
  body.apple-premium::after{animation:none !important}
}

/* ---- v178-conversion-coherence-premium.css ---- */

/* V178 — Conversion & Cohérence Premium */
:root{--v178-blue:#38c7ff;--v178-blue2:#0ea5e9;--v178-dark:#04101e;--v178-card:#071426;--v178-red:#ff3b3b}

/* CTA directs haut / milieu / bas */
.v178-cta-strip{position:relative;z-index:2;margin:clamp(14px,2.2vw,24px) 0;padding:0 0;background:transparent!important}
.v178-cta-inner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:13px;border-radius:24px;background:rgba(4,14,28,.72);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 56px rgba(0,0,0,.24);backdrop-filter:blur(16px)}
.v178-cta-label{color:#9ee9ff;font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;margin-right:4px}
.v178-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border-radius:999px;text-decoration:none!important;color:#fff!important;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.18);font-weight:900;font-size:.88rem;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;background .22s ease}
.v178-cta:hover{transform:translateY(-2px);border-color:rgba(96,210,255,.48);box-shadow:0 16px 38px rgba(36,188,255,.18)}
.v178-cta-primary,.v178-cta-select{color:#03101f!important;background:linear-gradient(135deg,#fff,#9ee9ff 40%,#28bfff)!important;border-color:rgba(255,255,255,.55)!important;box-shadow:0 14px 40px rgba(45,190,255,.24)!important}
.v178-cta-urgent{background:linear-gradient(135deg,rgba(255,48,48,.98),rgba(148,0,0,.92))!important;border-color:rgba(255,140,140,.45)!important;box-shadow:0 14px 38px rgba(255,50,50,.22)!important;color:#fff!important}

/* Bandeau France & international */
.v178-intervention-banner{position:relative;z-index:2;margin:18px 0 8px;background:transparent!important}
.v178-intervention-inner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:14px 18px;border-radius:999px;background:linear-gradient(90deg,rgba(5,16,32,.88),rgba(3,11,22,.94));border:1px solid rgba(86,208,255,.26);box-shadow:0 18px 60px rgba(0,0,0,.30),0 0 48px rgba(42,184,255,.10)}
.v178-intervention-inner strong{color:#fff;font-size:.95rem;letter-spacing:.03em;text-transform:uppercase}.v178-intervention-inner span{color:#dff8ff;font-weight:850}.v178-intervention-inner i{color:#49d0ff;font-style:normal}

/* Trust / Preuves / Livrables */
.v178-trust-grid,.v178-tier-grid,.v178-prestation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}.v178-tier-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v178-prestation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.v178-trust-grid article,.v178-tier-grid article,.v178-prestation-grid article,.v178-deliverables-grid article{position:relative;overflow:hidden;min-width:0;padding:24px;border-radius:28px;background:radial-gradient(circle at 20% 0%,rgba(56,199,255,.18),transparent 35%),linear-gradient(180deg,rgba(9,22,42,.97),rgba(3,8,18,.99));border:1px solid rgba(255,255,255,.16);box-shadow:0 22px 70px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.06);color:#fff}
.v178-trust-grid span,.v178-tier-grid span,.v178-prestation-grid span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border-radius:16px;background:rgba(56,199,255,.13);border:1px solid rgba(88,214,255,.22);color:#dff8ff;font-weight:950}.v178-trust-grid h3,.v178-tier-grid h3,.v178-prestation-grid h3{color:#fff!important;margin:16px 0 9px}.v178-trust-grid p,.v178-tier-grid p,.v178-prestation-grid p{color:rgba(245,249,255,.86)!important;line-height:1.62}.v178-prestation-action{grid-column:auto}.v178-prestation-action .v178-cta{margin-top:10px}
.v178-proof-band{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:18px 20px;border-radius:28px;background:rgba(5,15,30,.86);border:1px solid rgba(255,255,255,.15);box-shadow:0 18px 56px rgba(0,0,0,.24)}.v178-proof-band strong{color:#fff}.v178-proof-band span{display:inline-flex;padding:8px 11px;border-radius:999px;background:rgba(56,199,255,.10);border:1px solid rgba(56,199,255,.18);color:#e8f9ff;font-weight:820;font-size:.9rem}
.v178-deliverables-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}.v178-deliverables-grid article{min-height:98px;display:grid;place-items:center;text-align:center;font-weight:950;color:#fff!important}

/* Formulaire guidé */
.v178-guided-form{margin:20px 0 24px;padding:22px;border-radius:28px;background:linear-gradient(180deg,rgba(8,20,38,.96),rgba(3,8,18,.98));border:1px solid rgba(255,255,255,.16);box-shadow:0 22px 70px rgba(0,0,0,.24);color:#fff}.v178-guided-head span{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(56,199,255,.13);border:1px solid rgba(56,199,255,.22);color:#dff8ff;font-size:.75rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.v178-guided-head h3{margin:12px 0 6px;color:#fff!important}.v178-guided-head p{color:rgba(246,249,255,.85)}.v178-guided-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.v178-guided-form label{display:grid;gap:8px;color:#fff;font-weight:850}.v178-guided-form select,.v178-guided-form input{min-height:46px;border-radius:16px;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.08);color:#fff;padding:0 12px}.v178-guided-questions{margin-top:16px;display:grid;gap:10px}.v178-guided-questions:empty::before{content:attr(data-empty);display:block;color:rgba(246,249,255,.70);padding:12px;border-radius:16px;background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.16)}.v178-guided-question{padding:12px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);color:#eefaff}

/* Finitions design */
.brand-badge img{animation:v178LogoFloat 5.4s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(66,200,255,.18))}.nav-urgent-round,.btn-emergency,.floating-btn.floating-ai{animation:v178SoftPulse 2.8s ease-in-out infinite}.section::before{pointer-events:none}.section-header{position:relative}.section-header::after{content:"";display:block;width:78px;height:2px;margin-top:14px;border-radius:999px;background:linear-gradient(90deg,transparent,#49d0ff,transparent);box-shadow:0 0 16px rgba(73,208,255,.35)}
.prestations-page .service-card .icon,.mission-card .icon{animation:v178IconBreath 4.4s ease-in-out infinite}
@keyframes v178LogoFloat{0%,100%{transform:translateY(0);filter:drop-shadow(0 0 10px rgba(66,200,255,.16))}50%{transform:translateY(-2px);filter:drop-shadow(0 0 18px rgba(66,200,255,.33))}}
@keyframes v178SoftPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,55,55,.22)}50%{box-shadow:0 0 0 8px rgba(255,55,55,0)}}@keyframes v178IconBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}

/* Fond IA plus présent sur pages sensibles */
body[data-page*="sar"]::before,body[data-page*="ors"]::before,body[data-page*="surete"]::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 18% 22%,rgba(50,205,255,.10),transparent 30%),repeating-linear-gradient(90deg,rgba(90,210,255,.035) 0 1px,transparent 1px 62px),repeating-linear-gradient(0deg,rgba(90,210,255,.028) 0 1px,transparent 1px 62px);opacity:.45}

/* Mobile */
@media(max-width:1120px){.v178-trust-grid,.v178-prestation-grid,.v178-deliverables-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.v178-cta-inner{justify-content:stretch;display:grid;grid-template-columns:1fr;gap:9px;border-radius:22px}.v178-cta-label{text-align:center;margin:0}.v178-cta{width:100%;min-height:48px}.v178-intervention-inner{border-radius:24px}.v178-trust-grid,.v178-tier-grid,.v178-prestation-grid,.v178-deliverables-grid,.v178-guided-grid{grid-template-columns:1fr}.v178-trust-grid article,.v178-tier-grid article,.v178-prestation-grid article{padding:20px}.v178-proof-band{align-items:stretch;flex-direction:column}.v178-proof-band span{text-align:center;justify-content:center}.section-header::after{margin-left:auto;margin-right:auto}}
@media(prefers-reduced-motion:reduce){.brand-badge img,.nav-urgent-round,.btn-emergency,.floating-btn.floating-ai,.prestations-page .service-card .icon,.mission-card .icon{animation:none!important}}

/* ---- v181-orientation-spacing.css ---- */

/* V181 — Orientation rapide : éviter le recouvrement par le menu */
#choisissez-votre-besoin{
  scroll-margin-top:140px;
}
#choisissez-votre-besoin .section-header{
  padding-top:56px !important;
}
#choisissez-votre-besoin .section-header h2{
  margin-top:12px !important;
}
#choisissez-votre-besoin .section-header p{
  margin-top:18px !important;
}
#choisissez-votre-besoin::before{
  min-height:220px;
}
#choisissez-votre-besoin{
  padding-top:48px !important;
}
#choisissez-votre-besoin .v177-needs-grid{
  margin-top:34px !important;
}

/* Image de fond plus haute */
#choisissez-votre-besoin{
  background-size:cover !important;
  background-position:center center !important;
}
#choisissez-votre-besoin .v177-needs-header{
  min-height:240px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
@media (max-width:760px){
  #choisissez-votre-besoin{
    scroll-margin-top:110px;
    padding-top:36px !important;
  }
  #choisissez-votre-besoin .v177-needs-header{
    min-height:180px;
  }
}

/* ---- v182-controle-visibilite-total.css ---- */

/* V182 — Contrôle visibilité total : lisibilité, positionnement, overflow, mobile */
html,body{max-width:100%;overflow-x:clip!important;}
*{box-sizing:border-box;min-width:0;}
img,video,canvas,svg{max-width:100%;height:auto;}

/* Le lien accessibilité ne doit pas masquer le haut des pages hors focus */
.skip-link:not(:focus):not(:focus-visible){
  position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;
}
.skip-link:focus,.skip-link:focus-visible{
  position:fixed!important;left:14px!important;top:14px!important;z-index:999999!important;
  padding:10px 14px!important;border-radius:12px!important;background:#03101d!important;color:#fff!important;
}

/* Correction image logo qui créait un débordement mobile dans l'assistant */
.ai-mini-logo,.ai-mini-logo img{
  width:56px!important;height:56px!important;max-width:56px!important;max-height:56px!important;min-width:0!important;
}
.ai-mini-logo img{object-fit:contain!important;display:block!important;}
.ai-panel,.ai-card,.ai-message,.assistant-card{max-width:calc(100vw - 24px)!important;overflow:hidden!important;}

/* Pages hero : le contenu descend sous la barre de menu, fonds plus respirants */
.hero,.service-hero,.page-header{
  min-height:clamp(720px,92vh,980px)!important;
  padding-top:clamp(132px,15vh,178px)!important;
  padding-bottom:clamp(72px,9vh,120px)!important;
  background-size:cover!important;
  background-position:center center!important;
}
.hero .hero-inner,.service-hero .hero-inner,.page-header .hero-inner{
  align-items:center!important;
}
.hero-copy,.service-copy,.page-header .hero-copy{
  margin-top:clamp(22px,4vh,54px)!important;
  position:relative!important;z-index:4!important;
}
.hero h1,.service-hero h1,.page-header h1{
  overflow-wrap:break-word!important;word-break:normal!important;text-wrap:balance;
  color:#fff!important;text-shadow:0 5px 28px rgba(0,0,0,.78)!important;
}
.hero p,.service-hero p,.page-header p{
  color:rgba(246,249,255,.90)!important;text-shadow:0 4px 18px rgba(0,0,0,.68)!important;
}

/* Kicker et titres toujours lisibles */
.kicker,.eyebrow,.sector-kicker,.v177-need-title,.v173-price-head span,.v178-mini-kicker{
  text-shadow:0 2px 14px rgba(0,0,0,.55)!important;
}
.section-header h1,.section-header h2,.section-header h3,.card h3,.project-card h3,.sector-card h3,.reference-card h3,.price-card h3,.case-card h3,.equipment-card h3,.v173-proof-card h3,.v177-need-card h3{
  overflow-wrap:break-word!important;text-wrap:balance;
}
.section-header p,.card p,.project-card p,.sector-card p,.reference-card p,.price-card p,.case-card p,.equipment-card p,.v173-proof-card p,.v177-need-desc{
  overflow-wrap:break-word!important;
}

/* Bandeau France & international : aucun élément ne sort sur mobile */
.v178-intervention-banner{overflow:hidden!important;}
.v178-intervention-inner{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;
  gap:8px 12px!important;text-align:center!important;line-height:1.35!important;
  padding-left:12px!important;padding-right:12px!important;
}
.v178-intervention-inner strong{flex:1 0 100%;font-size:clamp(1rem,3.5vw,1.18rem)!important;color:#fff!important;text-shadow:0 3px 18px rgba(0,0,0,.62)!important;}
.v178-intervention-inner span,.v178-intervention-inner i{display:inline-flex!important;white-space:nowrap!important;color:#f7fbff!important;}
.v178-intervention-inner i{opacity:.58!important;}

/* Cartes et cases : même logique d’alignement, pas de texte hors cadre */
.grid,.cards,.v177-needs-grid,.v173-proof-grid,.v173-price-grid,.v173-mini-price-grid,.sector-activity-grid,.project-grid,.reference-grid,.price-grid,.case-grid,.equipment-grid{
  align-items:stretch!important;
}
.card,.project-card,.sector-card,.sector-card-premium,.reference-card,.price-card,.case-card,.equipment-card,.v177-need-card,.v173-proof-card,.v173-price-card,.v173-mini-price,.sector-activity-card{
  height:auto;min-width:0!important;overflow:hidden!important;
}
.card img,.project-card img,.reference-card img,.case-card img,.news-card img,.media-panel img,.v176-gallery-item img{
  object-fit:cover!important;
}

/* CTA et boutons : contraste fort et largeur sûre */
.btn,.button,.v173-cta,.v176-sectors-cta,.service-page-link,.contact-stage-button{
  max-width:100%!important;white-space:normal!important;text-align:center!important;line-height:1.25!important;
}
.btn-primary,.button.primary,.v173-cta.btn-primary,.v176-sectors-cta,.service-page-link,.contact-stage-button{
  color:#03101d!important;background:linear-gradient(135deg,#ffffff 0%,#aeeeff 40%,#37c3ff 100%)!important;
  border:1px solid rgba(255,255,255,.62)!important;text-shadow:none!important;
}
.btn-secondary,.button.ghost{
  color:#fff!important;background:rgba(4,13,27,.72)!important;border:1px solid rgba(255,255,255,.24)!important;
}

/* Galerie immersive : largeur verrouillée */
.v176-immersive-gallery{max-width:100vw!important;overflow:clip!important;}
.v176-gallery-sticky{max-width:100vw!important;overflow:hidden!important;}
.v176-gallery-track{max-width:none!important;}
.v176-gallery-item{min-width:0!important;}

/* Mobile global */
@media(max-width:760px){
  .container,.wrap{width:min(100%,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;margin-left:auto!important;margin-right:auto!important;}
  .hero,.service-hero,.page-header{
    min-height:clamp(690px,96vh,860px)!important;
    padding-top:clamp(138px,18vh,172px)!important;
    padding-bottom:70px!important;
  }
  .hero-copy,.service-copy,.page-header .hero-copy{margin-top:22px!important;}
  .hero h1,.service-hero h1,.page-header h1{font-size:clamp(2.08rem,10.6vw,3.35rem)!important;line-height:1.04!important;}
  .hero p,.service-hero p,.page-header p{font-size:1rem!important;line-height:1.58!important;}
  .hero-actions,.v173-cta-row{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:10px!important;}
  .btn,.button,.v173-cta,.v176-sectors-cta,.service-page-link{width:100%!important;justify-content:center!important;}
  .section-header{gap:12px!important;}
  .v178-intervention-inner{gap:7px 9px!important;}
  .v178-intervention-inner span,.v178-intervention-inner i{font-size:.92rem!important;}
  .ai-mini-logo,.ai-mini-logo img{width:46px!important;height:46px!important;max-width:46px!important;}
}

/* ---- v183-corrections-visuelles.css ---- */

/* ==========================================================
   V183 — Corrections visuelles réelles
   Boutons lisibles, galerie collée, marges réduites, anti-répétition visuelle.
   ========================================================== */

/* 1) Boutons : plus aucun bouton blanc illisible sur fond clair */
a[class*="btn"],
button[class*="btn"],
.btn,
.btn-primary,
.btn-secondary,
.btn-outline,
.cta,
a[href*="formulaire"],
a[href*="tarifs-packs"],
a[href*="references"],
a[href*="realisations"]{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  text-wrap:nowrap !important;
  line-height:1.15 !important;
}

/* Boutons génériques sur sections claires : fond net, texte foncé ou blanc selon type */
.section a.btn-secondary,
.section a.btn-outline,
.section a[href*="references"],
.section a[href*="tarifs-packs"],
.section a[href*="formulaire"],
.section a[href*="realisations"],
.v173-home-prices a,
.v173-proof-section a,
.v178-trust-section a,
.v178-deliverables-section a,
.v178-proof-section a{
  min-width:max-content !important;
  max-width:100% !important;
  min-height:48px !important;
  padding:13px 22px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-decoration:none !important;
  color:#06111f !important;
  background:linear-gradient(135deg,#48d3ff 0%,#9fedff 100%) !important;
  border:1px solid rgba(6,17,31,.22) !important;
  box-shadow:0 14px 34px rgba(0,120,190,.24), inset 0 1px 0 rgba(255,255,255,.55) !important;
  text-shadow:none !important;
  opacity:1 !important;
}

/* Boutons sur cartes sombres : contraste premium */
.card a,
.project-card a,
.v177-need-card .v177-need-action,
.service-card a,
.prestation-card a{
  color:#ffffff !important;
  text-shadow:0 1px 12px rgba(0,0,0,.45) !important;
}

/* Éviter le bouton "Commencer" coupé en deux */
a, button{
  hyphens:none !important;
}
.btn,
.btn-primary,
.btn-secondary,
.btn-outline{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.45rem !important;
  min-width:148px !important;
  width:auto !important;
}

/* En mobile, les boutons restent propres sans texte coupé */
@media(max-width:760px){
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-outline,
  .section a[href*="formulaire"],
  .section a[href*="tarifs-packs"],
  .section a[href*="references"],
  .section a[href*="realisations"]{
    width:auto !important;
    max-width:calc(100vw - 40px) !important;
    min-width:160px !important;
    padding-left:18px !important;
    padding-right:18px !important;
    font-size:.93rem !important;
  }
}

/* 2) Galerie immersive : haut réduit, pas de gros blanc dessous, photos collées */
.v176-immersive-gallery{
  margin-top:clamp(28px,4.5vw,72px) !important;
  margin-bottom:0 !important;
  padding:0 !important;
  height:520vh !important;
  background:#030810 !important;
  overflow:hidden !important;
}
.v176-gallery-sticky{
  height:100vh !important;
  align-items:center !important;
  background:#030810 !important;
}
.v176-gallery-track{
  gap:0 !important;
  padding:0 !important;
  height:100vh !important;
  align-items:center !important;
}
.v176-gallery-item{
  flex:0 0 100vw !important;
  height:100vh !important;
  border-radius:0 !important;
  box-shadow:none !important;
  border:0 !important;
  background:#030810 !important;
}
.v176-gallery-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:0 !important;
  display:block !important;
}
.v176-gallery-progress{
  bottom:22px !important;
  z-index:4 !important;
}

/* Supprime les grands blancs accidentels après la galerie */
.v176-immersive-gallery + section,
.v176-immersive-gallery + .section{
  margin-top:0 !important;
}
.v176-immersive-gallery + *{
  padding-top:clamp(42px,5vw,86px) !important;
}

/* 3) Sections preuves/références : pas de boutons fantômes et pas de doublons visuels */
.v178-proof-section,
.v173-proof-section,
.v178-trust-section{
  scroll-margin-top:130px;
}
.v178-proof-section .btn-secondary:empty,
.v173-proof-section .btn-secondary:empty,
.v178-proof-section a:empty,
.v173-proof-section a:empty{
  display:none !important;
}

/* 4) Cases/cartes : contenu toujours lisible et contenu dans la carte */
.card,
.project-card,
.sector-card-premium,
.v173-proof-card,
.v173-price-card,
.v177-need-card,
.v178-trust-card,
.v178-deliverable-card,
.v178-tier-card{
  overflow:hidden !important;
}
.card p,
.project-card p,
.sector-card-premium p,
.v173-proof-card p,
.v173-price-card p,
.v177-need-card p,
.v178-trust-card p,
.v178-deliverable-card p,
.v178-tier-card p{
  overflow-wrap:break-word !important;
  word-break:normal !important;
}

/* 5) Le curseur drone ne doit pas masquer les boutons ni sembler être un élément du site */
.v177-drone-cursor{
  mix-blend-mode:normal !important;
  opacity:.82 !important;
}
.v177-drone-cursor.v177-cursor-action{
  opacity:.95 !important;
}

/* 6) Finitions contraste sur fonds clairs */
.light-section .kicker,
.section .kicker{
  color:#06111f !important;
}
.section-header h2,
.section h2{
  color:inherit;
}
section[style*="background:#fff"] a,
section[style*="background: #fff"] a,
section[style*="background:white"] a{
  color:#06111f !important;
}

/* Mobile galerie : plein écran, photos collées aussi */
@media(max-width:760px){
  .v176-immersive-gallery{
    height:500vh !important;
    margin-top:34px !important;
  }
  .v176-gallery-track{
    gap:0 !important;
    padding:0 !important;
  }
  .v176-gallery-item{
    flex-basis:100vw !important;
    width:100vw !important;
    height:100vh !important;
  }
}

/* ---- v184-accueil-assistant-marges.css ---- */

/* ==========================================================
   V184 — Accueil, assistant IA, marges homogènes, boutons propres
   ========================================================== */

/* 1) Sécurité : masquer définitivement le bandeau Intervention France & international s'il reste dans le DOM */
[class*="intervention"][class*="banner"],
[class*="france"][class*="international"],
.v178-intervention-strip,
.v178-france-international,
.v178-home-banner,
.v178-operational-strip{
  display:none !important;
}

/* 2) Haut de l'accueil remis plus proche de l'origine : pas de gros bandeau ajouté */
body:has(#choisissez-votre-besoin) .hero,
body:has(#choisissez-votre-besoin) .home-hero,
body:has(#choisissez-votre-besoin) .hero-premium,
body:has(#choisissez-votre-besoin) .hero-cinematic{
  min-height:100svh !important;
}
body:has(#choisissez-votre-besoin) .hero .container,
body:has(#choisissez-votre-besoin) .home-hero .container,
body:has(#choisissez-votre-besoin) .hero-premium .container{
  padding-top:clamp(118px,12vh,150px) !important;
  padding-bottom:clamp(72px,8vh,110px) !important;
}

/* 3) Boutons : corriger les gros boutons pâles / texte invisible */
a.btn,
button.btn,
.btn,
.btn-primary,
.btn-secondary,
.btn-outline,
a[class*="btn"],
button[class*="btn"]{
  min-width:168px !important;
  width:auto !important;
  max-width:100% !important;
  min-height:48px !important;
  padding:12px 22px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  text-align:center !important;
  hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  text-shadow:none !important;
}

/* Les boutons secondaires sur fond clair ne doivent plus être blancs invisibles */
.btn-secondary,
.btn-outline,
.section .btn-secondary,
.section .btn-outline,
.section a[href*="references"],
.section a[href*="realisations"],
.section a[href*="tarifs"],
.section a[href*="formulaire"]{
  color:#06111f !important;
  background:linear-gradient(135deg,#44d4ff 0%,#9befff 100%) !important;
  border:1px solid rgba(3,15,30,.24) !important;
  box-shadow:0 12px 28px rgba(10,135,205,.22), inset 0 1px 0 rgba(255,255,255,.58) !important;
  opacity:1 !important;
}

/* Boutons fantômes : si le HTML en contient encore, ils disparaissent */
a.btn:empty,
button.btn:empty,
a[href*="demande=rappel"].btn-secondary,
a[href*="references"].btn-secondary.ghost,
a[href*="references"].v178-ghost,
a[data-v184-remove="true"]{
  display:none !important;
}

/* Empêcher "Commencer" ou autres CTA courts de se couper */
.btn-primary,
.v173-cta,
a[href="/devis.html"]{
  min-width:178px !important;
}

/* 4) Marges homogènes entre sections */
main > section,
main > .section{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:clamp(72px,7vw,112px) !important;
  padding-bottom:clamp(72px,7vw,112px) !important;
}
main > section:first-child,
main > .section:first-child{
  padding-top:0 !important;
}
.section + .section,
main > section + section,
main > .section + .section{
  border-top:0 solid transparent;
}

/* Orientation rapide : espacements propres, pas trop haut */
#choisissez-votre-besoin{
  padding-top:clamp(72px,7vw,112px) !important;
  padding-bottom:clamp(72px,7vw,112px) !important;
}
#choisissez-votre-besoin .v177-needs-header{
  min-height:unset !important;
  justify-content:flex-start !important;
}
#choisissez-votre-besoin .section-header{
  padding-top:0 !important;
}

/* Galerie immersive : mêmes marges que les autres sections, photos collées */
.v176-immersive-gallery{
  margin:0 !important;
  padding:0 !important;
  height:560vh !important;
  background:#030810 !important;
}
.v176-gallery-sticky{
  top:0 !important;
  height:100svh !important;
  background:#030810 !important;
}
.v176-gallery-track{
  gap:0 !important;
  padding:0 !important;
  height:100svh !important;
}
.v176-gallery-item{
  flex:0 0 100vw !important;
  width:100vw !important;
  height:100svh !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
}
.v176-gallery-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.v176-immersive-gallery + *{
  padding-top:clamp(72px,7vw,112px) !important;
}

/* 5) Assistant IA : panneau plus bas, jamais collé au haut, visible correctement */
#ai-assistant-panel,
.ai-assistant-panel,
.ai-panel,
.assistant-panel{
  top:clamp(92px,10vh,118px) !important;
  bottom:24px !important;
  max-height:calc(100svh - 132px) !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
}
#ai-assistant-panel .ai-panel-inner,
.ai-panel .ai-panel-inner,
.assistant-panel .ai-panel-inner{
  max-height:none !important;
  overflow:visible !important;
}
#ai-assistant-panel h2,
.ai-panel h2,
.assistant-panel h2{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* Empêcher les barres horizontales dans le panneau */
#ai-assistant-panel *,
.ai-panel *,
.assistant-panel *{
  max-width:100% !important;
  box-sizing:border-box !important;
}
#ai-assistant-panel textarea,
.ai-panel textarea,
.assistant-panel textarea{
  min-height:118px !important;
}

/* 6) Bannière "Un projet ? Parlons-en" propre en bas */
main > section:last-child,
main > .section:last-child{
  margin-bottom:0 !important;
}
main > section:last-child:has(a[href*="formulaire"]),
main > .section:last-child:has(a[href*="formulaire"]){
  padding-top:clamp(86px,8vw,130px) !important;
  padding-bottom:clamp(86px,8vw,130px) !important;
}

/* Mobile */
@media(max-width:760px){
  main > section,
  main > .section{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }
  #ai-assistant-panel,
  .ai-assistant-panel,
  .ai-panel,
  .assistant-panel{
    top:86px !important;
    left:12px !important;
    right:12px !important;
    bottom:16px !important;
    width:auto !important;
    max-height:calc(100svh - 104px) !important;
    border-radius:22px !important;
  }
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-outline,
  a[class*="btn"],
  button[class*="btn"]{
    min-width:170px !important;
    max-width:calc(100vw - 40px) !important;
    white-space:nowrap !important;
    font-size:.93rem !important;
  }
  .v176-immersive-gallery{
    height:540vh !important;
  }
}

/* ---- v185-anti-superposition-final.css ---- */
/* V185 — ANTI-SUPERPOSITION FINAL */
html,body{max-width:100%;overflow-x:clip!important}*,*::before,*::after{box-sizing:border-box}img,video,svg,canvas,iframe{max-width:100%}
main{position:relative;isolation:isolate}
main>section,main>.section,main>.section-tight{position:relative!important;z-index:auto!important;margin-top:0!important;margin-bottom:0!important;clear:both}
.hero-banner,body.apple-premium .hero-banner,.immersive-band,.home-sectors-section,.v173-home-tarifs,.v173-fast-devis,.v178-trust-section,.v178-deliverables-section,.v177-needs-section{margin-top:0!important;margin-bottom:0!important}
.hero-actions,.immersive-actions,.v173-cta-row,.nav-cta,.ai-panel-actions,.actions,.emergency-after{display:flex;flex-wrap:wrap;align-items:center;gap:12px!important}
.hero-actions>*,.immersive-actions>*,.v173-cta-row>*,.nav-cta>*,.actions>*{margin:0!important}
.btn,.btn-primary,.btn-secondary,.btn-outline,button,a[class*="btn"]{position:relative;flex:0 0 auto;margin:0!important;transform-origin:center}
.btn+.btn,a[class*="btn"]+a[class*="btn"],button+button{margin-left:0!important}
.card-grid,.project-grid,.sector-grid,.v173-mini-price-grid,.v173-price-grid,.v173-proof-grid,.v177-needs-grid,.v178-trust-grid,.v178-deliverables-grid,.feature-row,.info-cards,.means-grid,.means-gallery,.pricing-grid,.service-grid,.timeline-grid,.news-grid,.offers-grid{gap:clamp(16px,2vw,24px)!important;align-items:stretch!important}
.card,.project-card,.sector-card,.sector-card-premium,.v173-mini-price,.v173-price-card,.v173-proof-card,.v177-need-card,.v178-trust-grid>*,.v178-deliverables-grid>*,.feature-item,.means-card,.equipment-card,.timeline-step{min-width:0!important;max-width:100%!important;position:relative!important}
h1,h2,h3,h4,p,li,span,strong,small,label,a,button{max-width:100%}h1,h2,h3,h4,p,li{overflow-wrap:break-word;word-break:normal}
.topbar{position:sticky!important;top:0!important;z-index:12000!important}.topbar .nav{position:relative!important;z-index:12001!important}.topbar .nav-panel{z-index:12010!important;max-width:min(460px,calc(100vw - 20px))!important;max-height:calc(100svh - 92px)!important;overflow:auto!important;overscroll-behavior:contain}
.hero:not(.hero-home) .hero-inner,.page-header .hero-inner,.service-hero .service-hero-inner,.legal-hero>.container{position:relative;padding-top:max(118px,12vh)!important}.hero-home .hero-inner{padding-top:max(124px,12vh)!important}section[id]{scroll-margin-top:110px}
.v176-immersive-gallery{position:relative!important;z-index:2!important;isolation:isolate;overflow:clip!important;margin:0!important;padding:0!important}.v176-gallery-sticky{position:sticky!important;top:0!important;z-index:2!important;overflow:hidden!important}.v176-gallery-track{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:0!important;padding:0!important;margin:0!important}.v176-gallery-item{margin:0!important;padding:0!important;flex-shrink:0!important}.v176-gallery-item img{display:block!important;margin:0!important}
.floating-actions{position:fixed!important;right:22px!important;bottom:22px!important;z-index:12500!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:12px!important}.floating-actions .floating-btn{position:relative!important;margin:0!important;flex:0 0 auto!important}body.v185-footer-visible .floating-actions{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
#ai-assistant-panel,.ai-assistant-panel{position:fixed!important;z-index:12600!important;top:96px!important;right:18px!important;bottom:18px!important;left:auto!important;width:min(520px,calc(100vw - 36px))!important;height:auto!important;max-height:calc(100svh - 114px)!important;padding:0!important;align-items:stretch!important;justify-content:flex-start!important;overflow:hidden!important}#ai-assistant-panel .ai-panel-card,.ai-assistant-panel .ai-panel-card{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;margin:0!important;overflow:auto!important;overscroll-behavior:contain}body:has(#ai-assistant-panel.is-open) .floating-actions{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.ai-panel-close{top:14px!important;right:14px!important;z-index:5!important;margin:0!important}.footer,footer{position:relative;z-index:3}
@media(max-width:980px){.topbar .nav-panel{max-width:calc(100vw - 24px)!important}.hero:not(.hero-home) .hero-inner,.page-header .hero-inner,.service-hero .service-hero-inner,.legal-hero>.container{padding-top:108px!important}.hero-home .hero-inner{padding-top:114px!important}}
@media(max-width:760px){.floating-actions{right:12px!important;bottom:12px!important;gap:10px!important}#ai-assistant-panel,.ai-assistant-panel{top:82px!important;right:10px!important;bottom:10px!important;left:10px!important;width:auto!important;max-height:calc(100svh - 92px)!important}.topbar .nav-panel{max-height:calc(100svh - 76px)!important}.hero:not(.hero-home) .hero-inner,.page-header .hero-inner,.service-hero .service-hero-inner,.legal-hero>.container{padding-top:96px!important}.hero-home .hero-inner{padding-top:104px!important}.hero-actions,.immersive-actions,.v173-cta-row,.actions{align-items:stretch}}

/* ---- v186-composants-uniformes.css ---- */

/* V186 — composants partagés uniformisés */
.topbar .brand img,.footer-brand img,.fs38-preloader img,#ai-assistant-panel img[class*="logo"]{object-fit:contain!important}
.btn,.btn-primary,.btn-secondary,.btn-outline,.floating-btn{border-radius:999px!important;font-weight:900!important}
#ai-assistant-panel .ai-panel-card,.ai-assistant-panel .ai-panel-card{border-radius:28px!important}
.footer .socials,.footer .social-links,.footer .footer-socials,.footer .footer-social{display:flex!important;justify-content:center!important;align-items:center!important;gap:14px!important;flex-wrap:wrap!important}
.card,.project-card,.sector-card-premium,.v173-proof-card,.v173-price-card,.v177-need-card,.means-card,.equipment-card{border-radius:28px!important}

/* ---- v187-correction-generale.css ---- */

/* ==========================================================
   V187 — Correction générale demandée
   Menu incrusté, menu réduit restauré, flottants séparés,
   domaines sous hero, galerie verrouillée, boutons lisibles.
   ========================================================== */

/* 1) Barre de menu incrustée dans le fond écran, sans bande bleue */
.topbar{
  position:fixed !important;
  top:0 !important; left:0 !important; right:0 !important;
  z-index:30000 !important;
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  pointer-events:none;
}
.topbar::before,.topbar::after{display:none !important; content:none !important;}
.topbar .nav{
  pointer-events:auto;
  margin:clamp(10px,1.15vw,18px) auto 0 !important;
  width:min(1180px, calc(100vw - 28px)) !important;
  min-height:64px !important;
  border-radius:999px !important;
  background:rgba(3,8,18,.38) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 16px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(18px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(125%) !important;
}
.topbar.is-compact .nav{
  width:max-content !important;
  max-width:min(340px, calc(100vw - 24px)) !important;
  margin-left:clamp(10px,1.15vw,18px) !important;
  margin-right:auto !important;
  min-height:52px !important;
  border-radius:24px !important;
}
.topbar.is-compact .brand-text{display:none !important;}

/* Menu réduit restauré : libellé + 3 barres visibles */
.burger{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-width:92px !important;
  min-height:42px !important;
  padding:0 34px 0 16px !important;
  border-radius:999px !important;
  overflow:hidden !important;
}
.burger .burger-label{
  position:relative !important;
  z-index:2 !important;
  font-style:normal !important;
  letter-spacing:.08em !important;
  font-size:.76rem !important;
}
.burger > span{
  position:absolute !important;
  right:13px !important;
  width:18px !important;
  height:2px !important;
  border-radius:999px !important;
  background:#fff !important;
  display:block !important;
  z-index:2 !important;
  opacity:.96 !important;
  box-shadow:0 0 10px rgba(67,205,255,.28) !important;
}
.burger > span:nth-of-type(1){top:calc(50% - 7px) !important;}
.burger > span:nth-of-type(2){top:calc(50% - 1px) !important;}
.burger > span:nth-of-type(3){top:calc(50% + 5px) !important;}
.nav.menu-open .burger > span:nth-of-type(1),.topbar.menu-open .burger > span:nth-of-type(1){top:50% !important; transform:rotate(45deg) !important;}
.nav.menu-open .burger > span:nth-of-type(2),.topbar.menu-open .burger > span:nth-of-type(2){opacity:0 !important; transform:scaleX(0) !important;}
.nav.menu-open .burger > span:nth-of-type(3),.topbar.menu-open .burger > span:nth-of-type(3){top:50% !important; transform:rotate(-45deg) !important;}

/* Les contenus commencent sous le menu fixe */
main > section:first-child:not(.v187-immersive-gallery){padding-top:max(118px,12vh) !important;}
.hero-home,.hero.hero-home{margin-top:0 !important; margin-bottom:0 !important;}
.hero-home .hero-inner,.hero.hero-home .hero-inner{padding-top:max(126px,12vh) !important;}

/* 2) Bande 7 domaines : collée sous le fond d'accueil, sans grosse marge */
.hero-banner{
  margin:0 !important;
  padding:16px 0 18px !important;
  background:linear-gradient(180deg,rgba(2,8,18,.98),rgba(3,10,20,.96)) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(72,210,255,.10) !important;
  transform:none !important;
}
.hero + .hero-banner,.hero-home + .hero-banner{margin-top:0 !important;}
.hero-banner .stats-bar{
  display:grid !important;
  grid-template-columns:1.1fr 1fr 1fr 1fr !important;
  gap:10px !important;
  align-items:stretch !important;
}
.hero-banner .stat{
  min-height:74px !important;
  display:flex !important;
  align-items:center !important;
  padding:14px 18px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:none !important;
}
.hero-banner .stat strong{color:#fff !important; text-shadow:0 0 18px rgba(61,200,255,.22) !important;}
.hero-banner .stat span{color:rgba(245,250,255,.80) !important;}
.hero-banner + *{margin-top:0 !important; padding-top:clamp(28px,3.6vw,54px) !important;}

/* 3) Boutons flottants : assistant IA et haut ne peuvent plus se superposer */
.floating-actions{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  z-index:32000 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  align-items:flex-end !important;
  width:auto !important;
  pointer-events:none !important;
}
.floating-actions .floating-btn,.floating-ai,.floating-top{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  margin:0 !important;
  min-height:52px !important;
  min-width:170px !important;
  width:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  pointer-events:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  flex:0 0 auto !important;
}
.floating-ai{order:1 !important;}
.floating-top{order:2 !important;}
body.v187-ai-open .floating-actions{opacity:0 !important; visibility:hidden !important; pointer-events:none !important;}
body.v185-footer-visible .floating-actions{opacity:0 !important; visibility:hidden !important; pointer-events:none !important;}

/* 4) Assistant IA : jamais collé au menu, jamais hors écran */
#ai-assistant-panel,.ai-assistant-panel{
  position:fixed !important;
  top:96px !important;
  right:18px !important;
  bottom:18px !important;
  left:auto !important;
  width:min(540px, calc(100vw - 36px)) !important;
  height:auto !important;
  max-height:calc(100svh - 114px) !important;
  z-index:33000 !important;
  overflow:hidden !important;
}
#ai-assistant-panel .ai-panel-card,.ai-assistant-panel .ai-panel-card{
  height:100% !important;
  max-height:100% !important;
  overflow:auto !important;
  margin:0 !important;
}

/* 5) Boutons visibles partout : plus de blanc sur fond clair */
.btn,.btn-primary,.btn-secondary,.btn-outline,a[class*="btn"],button[class*="btn"]{
  min-height:48px !important;
  min-width:150px !important;
  max-width:100% !important;
  padding:12px 20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
  text-wrap:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  line-height:1.1 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.btn-primary,.nav-panel .btn-primary,a.btn-primary{
  color:#03101c !important;
  background:linear-gradient(135deg,#2fc9ff 0%,#a7f0ff 100%) !important;
  border:1px solid rgba(255,255,255,.52) !important;
  box-shadow:0 14px 34px rgba(25,178,255,.30) !important;
}
.btn-secondary,.btn-outline,a.btn-secondary,a.btn-outline,.section a[href*="formulaire"].btn,.section a[href*="tarifs"].btn,.section a[href*="references"].btn,.section a[href*="realisations"].btn{
  color:#03101c !important;
  background:linear-gradient(135deg,#54d9ff 0%,#c3f6ff 100%) !important;
  border:1px solid rgba(3,16,28,.24) !important;
  box-shadow:0 12px 28px rgba(17,148,210,.22), inset 0 1px 0 rgba(255,255,255,.58) !important;
}
.nav-links a{white-space:nowrap !important;}

/* 6) Galerie photo : plein écran, collée, verrouillée avant la suite */
.v187-immersive-gallery{
  position:relative !important;
  height:800svh;
  margin:0 !important;
  padding:0 !important;
  background:#020812 !important;
  overflow:clip !important;
  isolation:isolate !important;
  z-index:2 !important;
}
.v187-gallery-sticky{
  position:sticky !important;
  top:0 !important;
  width:100vw !important;
  height:100svh !important;
  overflow:hidden !important;
  background:#020812 !important;
}
.v187-gallery-track{
  height:100svh !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
  will-change:transform !important;
  transform:translate3d(0,0,0);
}
.v187-gallery-item{
  flex:0 0 100vw !important;
  width:100vw !important;
  height:100svh !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  background:#020812 !important;
}
.v187-gallery-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
}
.v187-gallery-progress{
  position:absolute !important;
  left:50% !important;
  bottom:22px !important;
  transform:translateX(-50%) !important;
  width:min(420px,70vw) !important;
  height:4px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.22) !important;
  overflow:hidden !important;
  z-index:5 !important;
}
.v187-gallery-progress span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#fff,#57d7ff)!important;}
.v187-immersive-gallery + *{margin-top:0 !important; padding-top:clamp(34px,4vw,58px) !important;}

/* 7) Marges propres et régulières entre les sections */
main > section:not(.hero):not(.hero-banner):not(.v187-immersive-gallery),main > .section:not(.hero):not(.hero-banner):not(.v187-immersive-gallery){
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:clamp(64px,6vw,96px) !important;
  padding-bottom:clamp(64px,6vw,96px) !important;
}
section + section{margin-top:0 !important;}

@media(max-width:980px){
  .topbar .nav{width:calc(100vw - 20px) !important; min-height:58px !important;}
  .hero-banner .stats-bar{grid-template-columns:1fr 1fr !important;}
}
@media(max-width:760px){
  .topbar .nav{margin-top:8px !important; width:calc(100vw - 16px) !important;}
  .brand-text small{display:none !important;}
  .burger{min-width:74px !important; padding-left:12px !important; padding-right:30px !important;}
  main > section:first-child:not(.v187-immersive-gallery){padding-top:104px !important;}
  .hero-home .hero-inner,.hero.hero-home .hero-inner{padding-top:110px !important;}
  .hero-banner{padding:12px 0 14px !important;}
  .hero-banner .stats-bar{grid-template-columns:1fr !important; gap:8px !important;}
  .hero-banner .stat{min-height:58px !important; border-radius:18px !important;}
  .floating-actions{right:12px !important; bottom:12px !important; gap:10px !important;}
  .floating-actions .floating-btn,.floating-ai,.floating-top{min-width:150px !important; min-height:48px !important;}
  #ai-assistant-panel,.ai-assistant-panel{top:84px !important; left:10px !important; right:10px !important; bottom:10px !important; width:auto !important; max-height:calc(100svh - 94px) !important;}
  .btn,.btn-primary,.btn-secondary,.btn-outline,a[class*="btn"],button[class*="btn"]{min-width:142px !important; max-width:calc(100vw - 34px) !important; font-size:.92rem !important;}
  main > section:not(.hero):not(.hero-banner):not(.v187-immersive-gallery),main > .section:not(.hero):not(.hero-banner):not(.v187-immersive-gallery){padding-top:54px !important; padding-bottom:54px !important;}
}

/* ---- v188-accueil-cleanup.css ---- */

/* ==========================================================
   V188 — Ajustements demandés utilisateur
   - boutons bleu ciel -> bleu identique aux autres
   - suppression des 3 traits du bouton menu
   - bande "7 domaines" sans contours blancs
   - suppression des badges texte sur le hero d'accueil
   ========================================================== */

/* 1) Tous les boutons secondaires / clairs passent au même bleu premium */
.btn-secondary,
.btn-outline,
.section .btn-secondary,
.section .btn-outline,
.section a[href*="references"],
.section a[href*="realisations"],
.section a[href*="tarifs"],
.section a[href*="formulaire"],
.service-page-link,
.contact-stage-button,
.v176-sectors-cta,
a[href*="demande=rappel"],
a[href="/references.html"],
a[href="/realisations.html"]{
  color:#ffffff !important;
  background:linear-gradient(135deg,#1789ff 0%, #35c2ff 100%) !important;
  border:1px solid rgba(115,186,255,.34) !important;
  box-shadow:0 16px 34px rgba(18,105,221,.24), inset 0 1px 0 rgba(255,255,255,.15) !important;
}
.btn-secondary:hover,
.btn-outline:hover,
.section .btn-secondary:hover,
.section a[href*="references"]:hover,
.section a[href*="realisations"]:hover,
.section a[href*="tarifs"]:hover,
.section a[href*="formulaire"]:hover,
.service-page-link:hover,
.contact-stage-button:hover,
.v176-sectors-cta:hover,
a[href*="demande=rappel"]:hover,
a[href="/references.html"]:hover,
a[href="/realisations.html"]:hover{
  filter:brightness(1.04) saturate(1.02) !important;
  transform:translateY(-1px) !important;
}

/* 2) Bouton menu : conserver MENU mais retirer les 3 traits */
.burger{
  min-width:80px !important;
  padding:0 16px !important;
}
.burger > span,
.topbar .burger > span,
.nav .burger > span{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}
.nav.menu-open .burger > span,
.topbar.menu-open .burger > span{
  display:none !important;
}
.burger .burger-label{
  margin:0 !important;
}

/* 3) Masquer la ligne de pastilles texte sur le fond d'accueil */
.hero-cinematic-badges{
  display:none !important;
}

/* 4) Bande 7 domaines : pas de contour blanc, juste sur fond bleu */
.hero-banner{
  margin:0 !important;
  padding:14px 0 16px !important;
  background:linear-gradient(180deg,#08182f 0%, #061426 100%) !important;
  border-top:0 !important;
  border-bottom:0 !important;
}
.hero-banner .stats-bar{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  gap:0 !important;
  border-radius:0 !important;
}
.hero-banner .stat,
.stats-bar .stat{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  padding:12px 16px !important;
}
.hero-banner .stat + .stat{
  box-shadow:inset 1px 0 0 rgba(255,255,255,.10) !important;
}
.hero-banner .stat strong{
  color:#ffffff !important;
  text-shadow:none !important;
}
.hero-banner .stat span{
  color:rgba(236,245,255,.90) !important;
}
@media (max-width:900px){
  .hero-banner .stats-bar{gap:8px !important;}
  .hero-banner .stat + .stat{box-shadow:none !important;}
  .hero-banner .stat{
    background:rgba(255,255,255,.03) !important;
    border-radius:16px !important;
  }
}

/* ---- v189-services-tarifs-hero.css ---- */

/* ==========================================================
   V189 — Corrections services / tarifs / boutons hero
   ========================================================== */

/* Retirer les effets animés sur les boutons du fond écran principal de chaque page */
.hero .btn,
.hero-home .btn,
.page-header .btn,
.service-hero .btn,
.legal-hero .btn,
.hero .btn-primary,
.hero .btn-secondary,
.hero-home .btn-primary,
.hero-home .btn-secondary,
.page-header .btn-primary,
.page-header .btn-secondary,
.service-hero .btn-primary,
.service-hero .btn-secondary{
  animation:none !important;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

/* Neutralise l'effet de lumière / balayage ajouté sur les CTA du hero */
.hero .btn::before,
.hero .btn::after,
.hero-home .btn::before,
.hero-home .btn::after,
.page-header .btn::before,
.page-header .btn::after,
.service-hero .btn::before,
.service-hero .btn::after,
.legal-hero .btn::before,
.legal-hero .btn::after{
  display:none !important;
  content:none !important;
}

/* Pas de pulsation sur les boutons des fonds principaux */
.hero .btn-emergency,
.hero-home .btn-emergency,
.page-header .btn-emergency,
.service-hero .btn-emergency,
.hero .nav-urgent-round,
.hero-home .nav-urgent-round{
  animation:none !important;
}

/* Boutons hero statiques, propres et lisibles */
.hero .btn-primary,
.hero-home .btn-primary,
.page-header .btn-primary,
.service-hero .btn-primary{
  color:#fff !important;
  background:linear-gradient(135deg,#1789ff 0%,#35c2ff 100%) !important;
  border:1px solid rgba(115,186,255,.34) !important;
  box-shadow:0 14px 30px rgba(18,105,221,.22) !important;
}

.hero .btn-secondary,
.hero-home .btn-secondary,
.page-header .btn-secondary,
.service-hero .btn-secondary{
  color:#fff !important;
  background:rgba(8,22,42,.72) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
}

/* Texte hero tarifs : visible sur le fond écran principal */
.v189-tarifs-hero-description{
  max-width:820px !important;
  margin:18px 0 0 !important;
  color:rgba(245,250,255,.92) !important;
  font-size:clamp(1rem,1.25vw,1.18rem) !important;
  line-height:1.7 !important;
  text-shadow:0 2px 18px rgba(0,0,0,.62) !important;
}

/* ---- v193-sitewide-fixes.css ---- */
/* ==========================================================
   V193 — Correctifs globaux sitewide
   ========================================================== */
/* Menu identique sur toutes les pages, sans les 3 traits */
.topbar .burger{
  min-width:auto !important;
  width:auto !important;
  height:40px !important;
  padding:0 14px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  border-radius:999px !important;
}
.topbar .burger span,
.topbar .burger::before,
.topbar .burger::after{
  display:none !important;
  content:none !important;
}
.topbar .burger .burger-label{
  display:inline-block !important;
  font-size:.62rem !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:#e9f2ff !important;
  opacity:1 !important;
}
.topbar.is-compact .burger{
  width:auto !important;
  min-width:auto !important;
  height:34px !important;
  padding:0 12px !important;
  gap:0 !important;
}
.topbar.is-compact .burger .burger-label{
  font-size:.54rem !important;
}

/* Faire disparaître les boutons flottants tout en bas de page */
body.v185-footer-visible .floating-actions,
body.v185-footer-visible .floating-btn.floating-ai,
body.v185-footer-visible .floating-btn.floating-top{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(12px) !important;
}

/* Sécurisation visuelle du bloc flottant */
.floating-actions{
  transition:opacity .25s ease, visibility .25s ease, transform .25s ease !important;
}

/* ---- v194-cta-band-fullwidth.css ---- */
/* ==========================================================
   V194 — CTA bandeau pleine largeur + animation plus élégante
   ========================================================== */

/* Désactive l'effet de mouvement/tilt sur les bandeaux CTA */
.cta-band,
.cta-band.fs40-tilt-active,
body.apple-premium .cta-band,
body.apple-premium .cta-band.fs40-tilt-active{
  transform:none !important;
  transition:background .28s ease, box-shadow .28s ease, border-color .28s ease, filter .28s ease !important;
  will-change:auto !important;
}

/* Bandeau plus premium, propre et stable */
.cta-band{
  position:relative !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  grid-template-areas:
    "mark content"
    "button button" !important;
  gap:18px 20px !important;
  align-items:center !important;
  padding:28px !important;
  border-radius:26px !important;
  background:
    linear-gradient(135deg, rgba(9,25,47,.97) 0%, rgba(12,43,82,.95) 50%, rgba(18,111,190,.90) 100%) !important;
  border:1px solid rgba(146,220,255,.22) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.cta-band::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at top right, rgba(125,214,255,.16), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0));
}
.cta-band::after{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(77,199,255,.94), rgba(255,255,255,.58), rgba(77,199,255,.94));
  box-shadow:0 0 16px rgba(77,199,255,.28);
  pointer-events:none;
}
.cta-band > *{position:relative; z-index:1;}
.cta-band .mark{
  grid-area:mark !important;
  width:88px !important;
  height:88px !important;
  border-radius:22px !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.05)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
  font-size:2rem !important;
}
.cta-band > div:not(.mark){
  grid-area:content !important;
  min-width:0 !important;
}
.cta-band h3{
  margin:0 0 8px !important;
  font-size:clamp(1.65rem,2.2vw,2.2rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.03em !important;
  color:#fff !important;
}
.cta-band p{
  margin:0 !important;
  color:rgba(238,246,255,.86) !important;
  line-height:1.62 !important;
  font-size:1rem !important;
}

/* Bouton pleine largeur horizontal */
.cta-band .btn,
.cta-band .button,
.cta-band .btn-white,
.cta-band a.btn,
.cta-band a.button{
  grid-area:button !important;
  width:100% !important;
  min-width:0 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-height:58px !important;
  padding:16px 22px !important;
  border-radius:18px !important;
  text-align:center !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  color:#fff !important;
  background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.06)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(10px) !important;
  transform:none !important;
  transition:background .24s ease, box-shadow .24s ease, border-color .24s ease, color .24s ease !important;
}

/* Remplace l'animation "qui bouge" par un hover plus chic et stable */
.cta-band .btn::before,
.cta-band .button::before,
.cta-band .btn::after,
.cta-band .button::after,
.cta-band .btn-white::before,
.cta-band .btn-white::after{
  display:none !important;
  content:none !important;
}
.cta-band:hover{
  box-shadow:0 22px 52px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
  border-color:rgba(154,226,255,.28) !important;
}
.cta-band .btn:hover,
.cta-band .button:hover,
.cta-band .btn-white:hover,
.cta-band .btn:focus-visible,
.cta-band .button:focus-visible,
.cta-band .btn-white:focus-visible{
  transform:none !important;
  color:#fff !important;
  background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.09)) !important;
  border-color:rgba(255,255,255,.28) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.20), 0 0 0 1px rgba(126,214,255,.16) inset !important;
}

@media (max-width: 760px){
  .cta-band{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "mark"
      "content"
      "button" !important;
    padding:22px !important;
    gap:16px !important;
  }
  .cta-band .mark{
    width:72px !important;
    height:72px !important;
    border-radius:18px !important;
    font-size:1.7rem !important;
  }
  .cta-band .btn,
  .cta-band .button,
  .cta-band .btn-white,
  .cta-band a.btn,
  .cta-band a.button{
    min-height:54px !important;
    border-radius:16px !important;
  }
}

/* ---- v195-finition-premium.css ---- */
/* ==========================================================
   V195 — FINITION PREMIUM GLOBALE
   Boutons uniformes + effets visuels allégés + stabilité UI
   ========================================================== */

:root{
  --v195-blue-1:#0b4fb8;
  --v195-blue-2:#146fd8;
  --v195-blue-3:#1f82ee;
  --v195-navy-1:#081523;
  --v195-navy-2:#0b1d34;
  --v195-line:rgba(131,198,255,.24);
  --v195-white:#ffffff;
  --v195-muted:rgba(235,244,255,.86);
  --v195-red-1:#d9362b;
  --v195-red-2:#ff6554;
}

/* ---------- BOUTONS : BASE UNIQUE ---------- */
.btn,
.button,
.service-page-link,
.contact-stage-button,
.v173-cta,
.quote-preview-btn,
.quote-print-btn{
  box-sizing:border-box !important;
  min-height:50px !important;
  min-width:154px !important;
  max-width:100% !important;
  padding:13px 20px !important;
  border-radius:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  margin:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
  line-height:1.1 !important;
  font-size:.92rem !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
  text-decoration:none !important;
  text-shadow:none !important;
  transform:none !important;
  animation:none !important;
  transition:background .20s ease, border-color .20s ease, box-shadow .20s ease, color .20s ease, filter .20s ease !important;
}

/* Famille primaire : bleu premium identique partout */
.btn-primary,
.btn-white,
.button.primary,
.service-page-link,
.contact-stage-button,
.v173-cta.btn-primary,
.v170-cta-realisations,
.v176-sectors-cta,
.nav-cta .btn-primary,
.ai-send-link{
  color:var(--v195-white) !important;
  background:linear-gradient(135deg,var(--v195-blue-1) 0%,var(--v195-blue-2) 62%,var(--v195-blue-3) 100%) !important;
  border:1px solid rgba(148,210,255,.38) !important;
  box-shadow:0 12px 28px rgba(8,79,170,.22), inset 0 1px 0 rgba(255,255,255,.16) !important;
  backdrop-filter:none !important;
}

/* Famille secondaire : bleu nuit uniforme */
.btn-secondary,
.btn-outline,
.button.ghost,
.ai-call-link,
.ai-generate-demand,
.quote-preview-btn,
.quote-print-btn{
  color:var(--v195-white) !important;
  background:linear-gradient(180deg,rgba(12,32,55,.96),rgba(7,21,38,.96)) !important;
  border:1px solid rgba(136,197,255,.26) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.07) !important;
  backdrop-filter:blur(8px) !important;
}

/* Urgence : seule famille rouge */
.btn-emergency,
.nav-panel-emergency,
.nav-urgent-round,
.emergency-phone{
  color:#fff !important;
  background:linear-gradient(135deg,var(--v195-red-1),var(--v195-red-2)) !important;
  border:1px solid rgba(255,183,171,.32) !important;
  box-shadow:0 10px 26px rgba(124,24,18,.22), inset 0 1px 0 rgba(255,255,255,.13) !important;
  animation:none !important;
}

/* Hover/focus : changement de lumière, PAS de déplacement */
.btn:hover,
.button:hover,
.service-page-link:hover,
.contact-stage-button:hover,
.v173-cta:hover,
.quote-preview-btn:hover,
.quote-print-btn:hover{
  transform:none !important;
  filter:brightness(1.06) saturate(1.02) !important;
  box-shadow:0 14px 32px rgba(0,0,0,.22), 0 0 0 1px rgba(112,193,255,.10) inset !important;
}
.btn:focus-visible,
.button:focus-visible,
.service-page-link:focus-visible,
.contact-stage-button:focus-visible{
  outline:2px solid rgba(122,210,255,.92) !important;
  outline-offset:3px !important;
}

/* Aucun balayage / shimmer / ripple sur les boutons */
.btn::before,.btn::after,
.button::before,.button::after,
.service-page-link::before,.service-page-link::after,
.contact-stage-button::before,.contact-stage-button::after,
.v173-cta::before,.v173-cta::after{
  display:none !important;
  content:none !important;
}

/* Boutons dans bandeaux CTA : pleine largeur conservée V194 */
.cta-band .btn,
.cta-band .button,
.cta-band .btn-white,
.cta-band a.btn,
.cta-band a.button{
  width:100% !important;
  min-width:0 !important;
  min-height:58px !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,var(--v195-blue-1),var(--v195-blue-2)) !important;
  color:#fff !important;
}

/* ---------- MENU / BOUTONS FLOTTANTS : SOBRE ---------- */
.topbar .burger,
.topbar.is-compact .burger{
  animation:none !important;
  transform:none !important;
  transition:background .20s ease,border-color .20s ease,box-shadow .20s ease !important;
}
.topbar .burger:hover,
.topbar.is-compact .burger:hover{
  transform:none !important;
}
.topbar .burger span{display:none !important;}

.floating-actions{
  transition:opacity .20s ease, visibility .20s ease !important;
}
.floating-btn,
.floating-ai,
.floating-top{
  animation:none !important;
  transform:none !important;
  transition:background .20s ease,border-color .20s ease,box-shadow .20s ease,opacity .20s ease !important;
}
.floating-btn:hover,.floating-ai:hover,.floating-top:hover{transform:none !important;}

/* ---------- EFFETS TROP CHARGÉS : NETTOYAGE ---------- */
.fs40-click-ripple,
.fs38-cursor-glow,
.fs52-ripple{
  display:none !important;
}

/* Neutralise tilt / translations sur cartes et panneaux */
.fs40-tilt-active,
.is-tilt,
.is-tilt:hover,
.card:hover,
.project-card:hover,
.sector-card:hover,
.sector-card-premium:hover,
.news-card:hover,
.team-card:hover,
.panel:hover,
.stat:hover,
.reference-card:hover,
.feature-item:hover,
.mission-flow-step:hover,
.v173-proof-card:hover,
.v173-price-card:hover,
.v173-mini-price:hover,
.v177-need-card:hover,
.means-card:hover,
.equipment-card:hover,
.timeline-step:hover,
.hero-ribbon-card:hover{
  transform:none !important;
}

.card,.project-card,.sector-card,.sector-card-premium,.news-card,.team-card,.panel,.stat,.reference-card,.feature-item,.mission-flow-step,.v173-proof-card,.v173-price-card,.v173-mini-price,.v177-need-card,.means-card,.equipment-card,.timeline-step,.hero-ribbon-card{
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,filter .22s ease !important;
}
.card:hover,.project-card:hover,.sector-card:hover,.sector-card-premium:hover,.panel:hover,.reference-card:hover,.v173-proof-card:hover,.v173-price-card:hover,.v177-need-card:hover,.means-card:hover,.equipment-card:hover,.hero-ribbon-card:hover{
  border-color:rgba(97,183,255,.28) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.19), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* Supprime les balayages décoratifs lourds des panneaux/cartes */
.panel::before,
.card::before,
.project-card::before,
.reference-card::before,
.is-tilt::before{
  animation:none !important;
}

/* Logo / icônes : statiques */
.brand-badge img,
.prestations-page .service-card .icon,
.mission-card .icon{
  animation:none !important;
  transform:none !important;
}

/* Fond IA : conserve l'esprit mais très discret */
.v177-ai-field{opacity:.075 !important;}
body.apple-premium::after{animation:none !important; opacity:.62 !important;}

/* Radar conservé car fonctionnel, mais visuellement plus fin */
.v177-radar-layer{opacity:.20 !important;}
.v177-radar-layer::after{animation-duration:7.5s !important;}
.v177-radar-layer::before{animation-duration:3.8s !important;}

/* CTA bandeaux : aucun mouvement */
.cta-band,
.cta-band:hover,
.cta-band.fs40-tilt-active{
  transform:none !important;
  filter:none !important;
}

/* ---------- RESPONSIVE BOUTONS ---------- */
@media(max-width:760px){
  .btn,
  .button,
  .service-page-link,
  .contact-stage-button,
  .v173-cta,
  .quote-preview-btn,
  .quote-print-btn{
    width:100% !important;
    min-width:0 !important;
    min-height:50px !important;
    padding:13px 16px !important;
    border-radius:15px !important;
    font-size:.90rem !important;
    white-space:normal !important;
  }
  .nav-cta .btn{width:100% !important;}
}

/* ---------- CORRECTIONS ISSUES AUDIT V195 ---------- */
/* Les anciennes révélations décalées de 36 px pouvaient empiéter visuellement sur la section suivante. */
.premium-reveal,
.premium-reveal.is-visible{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

/* Tous les bandeaux CTA, y compris dans /prestations/, utilisent exactement le même layout pleine largeur. */
.cta-band{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  grid-template-areas:
    "mark content"
    "button button" !important;
  gap:18px 20px !important;
  align-items:center !important;
}
.cta-band .mark{grid-area:mark !important;}
.cta-band > div:not(.mark){grid-area:content !important;min-width:0 !important;}
.cta-band > .btn,
.cta-band > .button,
.cta-band > a.btn,
.cta-band > a.button,
.cta-band > .btn-white{
  grid-area:button !important;
  width:100% !important;
  min-width:0 !important;
}
@media(max-width:760px){
  .cta-band{
    grid-template-columns:1fr !important;
    grid-template-areas:"mark" "content" "button" !important;
  }
}

/* ---------- HERO : NETTOYAGE DES MOUVEMENTS CINÉMATIQUES TROP CHARGÉS ---------- */
.hero.page-header::before,
.service-hero::before,
.legal-hero::before{
  animation:none !important;
  transform:scale(1.08) !important;
  will-change:auto !important;
}
.hero.page-header::after,
.service-hero::after,
.legal-hero::after{
  animation:none !important;
}
.hero.page-header .hero-inner::before,
.service-hero .service-hero-inner::before,
.legal-hero .container::before{
  animation:none !important;
  opacity:.18 !important;
}

/* L'accueil conserve sa transition jour/nuit volontaire, mais sans mouvement de bouton. */
.hero.hero-home .hero-actions .btn{
  animation:none !important;
  transform:none !important;
}

/* Assistant IA : boutons internes uniformisés et statiques */
.ai-mode-bar button,
.ai-quick-grid button,
.ai-panel-actions button,
.ai-panel-actions .btn{
  min-height:44px !important;
  border-radius:14px !important;
  color:#fff !important;
  background:linear-gradient(180deg,rgba(12,32,55,.96),rgba(7,21,38,.96)) !important;
  border:1px solid rgba(136,197,255,.24) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
  transform:none !important;
  animation:none !important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease !important;
}
.ai-mode-bar button:hover,
.ai-quick-grid button:hover,
.ai-panel-actions button:hover{
  transform:none !important;
  background:linear-gradient(180deg,rgba(17,43,72,.98),rgba(9,27,48,.98)) !important;
  border-color:rgba(136,205,255,.34) !important;
}
.ai-mode-bar button.is-active,
.ai-quick-grid button.is-active{
  background:linear-gradient(135deg,var(--v195-blue-1),var(--v195-blue-2)) !important;
  border-color:rgba(148,210,255,.36) !important;
}
.ai-panel-close{
  animation:none !important;
  transform:none !important;
}

/* Zone basse : masquage explicite des actions flottantes */
body.v195-bottom-zone .floating-actions,
body.v195-bottom-zone .floating-ai,
body.v195-bottom-zone .floating-top{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Assistant IA : état visuel piloté aussi par la classe V195 pour neutraliser les anciens conflits */
body.v195-ai-open #ai-assistant-panel,
body.v195-ai-open .ai-assistant-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
body.v195-ai-open #ai-assistant-panel .ai-panel-card,
body.v195-ai-open .ai-assistant-panel .ai-panel-card{
  transform:none !important;
}
@media(min-width:761px){
  #ai-assistant-panel,
  .ai-assistant-panel{
    position:fixed !important;
    top:96px !important;
    right:18px !important;
    bottom:18px !important;
    left:auto !important;
    width:min(520px,calc(100vw - 36px)) !important;
    height:auto !important;
    max-height:calc(100svh - 114px) !important;
    padding:0 !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
  }
}
@media(max-width:760px){
  #ai-assistant-panel,
  .ai-assistant-panel{
    position:fixed !important;
    top:84px !important;
    right:10px !important;
    bottom:8px !important;
    left:10px !important;
    width:auto !important;
    height:auto !important;
    max-height:calc(100dvh - 92px) !important;
    padding:0 !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
  }
  #ai-assistant-panel .ai-panel-card,
  .ai-assistant-panel .ai-panel-card{
    width:100% !important;
    height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    overflow-y:auto !important;
    border-radius:22px !important;
  }
}

/* Assistant : ouverture propre sans transition de visibilité conflictuelle */
#ai-assistant-panel,
.ai-assistant-panel,
#ai-assistant-panel.is-open,
.ai-assistant-panel.is-open{
  animation:none !important;
  transition:opacity .16s ease !important;
}
#ai-assistant-panel,
.ai-assistant-panel,
#ai-assistant-panel.is-open,
.ai-assistant-panel.is-open{
  transition:none !important;
}

/* ---- v196-cta-photo-fullbleed.css ---- */

/* V196 — photo de fond CTA en pleine largeur sans augmenter la hauteur */
.v196-cta-section{
  overflow:visible !important;
}

.cta-band.v196-cta-fullbleed{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;

  padding-left:max(28px, calc((100vw - 1180px)/2 + 28px)) !important;
  padding-right:max(28px, calc((100vw - 1180px)/2 + 28px)) !important;

  min-height:0 !important;
  height:auto !important;
  padding-top:28px !important;
  padding-bottom:28px !important;

  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
}

.cta-band.v196-cta-fullbleed::before,
body.apple-premium .cta-band.v196-cta-fullbleed::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  opacity:1 !important;
  pointer-events:none !important;

  background-image:
    linear-gradient(90deg,
      rgba(3,12,26,.88) 0%,
      rgba(4,18,38,.72) 42%,
      rgba(8,42,76,.48) 72%,
      rgba(5,24,45,.64) 100%
    ),
    url('/assets/paysage-aerien.webp') !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center 52% !important;
}

.cta-band.v196-cta-fullbleed::after{
  left:max(28px, calc((100vw - 1180px)/2 + 28px)) !important;
  right:max(28px, calc((100vw - 1180px)/2 + 28px)) !important;
}

.cta-band.v196-cta-fullbleed,
.cta-band.v196-cta-fullbleed:hover,
.cta-band.v196-cta-fullbleed.fs40-tilt-active{
  transform:none !important;
}

@media (max-width:760px){
  .cta-band.v196-cta-fullbleed{
    padding-left:18px !important;
    padding-right:18px !important;
    padding-top:22px !important;
    padding-bottom:22px !important;
  }

  .cta-band.v196-cta-fullbleed::after{
    left:18px !important;
    right:18px !important;
  }

  .cta-band.v196-cta-fullbleed::before,
  body.apple-premium .cta-band.v196-cta-fullbleed::before{
    background-position:center center !important;
  }
}

/* ---- v199-boutons-premium-uniformes.css ---- */

/* V199 — Uniformisation premium des boutons d'accueil */
.v176-sectors-cta,
.v170-cta-realisations,
.v173-cta[href="/tarifs-packs.html"],
a.v176-sectors-cta[href$="secteurs-activite.html"],
a.v170-cta-realisations[href$="realisations.html"],
a.v173-cta[href$="tarifs-packs.html"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  min-height:52px!important;
  padding:14px 22px!important;
  border-radius:16px!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  line-height:1.2!important;
  color:#f7fbff!important;
  -webkit-text-fill-color:#f7fbff!important;
  text-shadow:0 1px 10px rgba(0,0,0,.24)!important;
  background:linear-gradient(135deg,#0a3b73 0%,#0f5fb6 48%,#1793ff 100%)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:
    0 16px 34px rgba(2,17,38,.28),
    0 8px 20px rgba(13,110,253,.22),
    inset 0 1px 0 rgba(255,255,255,.16)!important;
  backdrop-filter:blur(10px)!important;
  opacity:1!important;
  filter:none!important;
  position:relative!important;
  overflow:hidden!important;
}

.v176-sectors-cta::before,
.v170-cta-realisations::before,
.v173-cta[href="/tarifs-packs.html"]::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:15px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0));
  pointer-events:none;
}

.v176-sectors-cta:hover,
.v170-cta-realisations:hover,
.v173-cta[href="/tarifs-packs.html"]:hover,
.v176-sectors-cta:focus-visible,
.v170-cta-realisations:focus-visible,
.v173-cta[href="/tarifs-packs.html"]:focus-visible{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  background:linear-gradient(135deg,#0d4a8c 0%,#1371cd 48%,#20a2ff 100%)!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:
    0 20px 40px rgba(2,17,38,.34),
    0 12px 28px rgba(32,162,255,.28),
    inset 0 1px 0 rgba(255,255,255,.20)!important;
  transform:translateY(-2px)!important;
}

.v176-sectors-cta:active,
.v170-cta-realisations:active,
.v173-cta[href="/tarifs-packs.html"]:active{
  transform:translateY(0)!important;
  box-shadow:
    0 10px 22px rgba(2,17,38,.24),
    0 6px 14px rgba(32,162,255,.18),
    inset 0 1px 0 rgba(255,255,255,.14)!important;
}

@media (max-width: 760px){
  .v176-sectors-cta,
  .v170-cta-realisations,
  .v173-cta[href="/tarifs-packs.html"]{
    width:100%!important;
    justify-content:center!important;
    min-height:50px!important;
    padding:13px 18px!important;
  }
}

/* ---- v198-loader-video-4k.css ---- */
/* V198/V201 — Loader vidéo 4K net */
.fs38-preloader-video{filter:none!important;transform:none!important;image-rendering:auto!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;object-fit:cover!important;object-position:center center!important;}

/* ---- v233-loader-ultra.css ---- */
/* V233 — loader 4K ultra : source 2160x3840, lecture sans adoucissement CSS */
.fs38-preloader-video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  image-rendering:auto!important;
  -webkit-font-smoothing:auto!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.fs38-preloader-shade{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.38))!important;
}
@media(max-width:760px){
  .fs38-preloader-video{object-position:center center!important;}
}

/* ---- v202-boutons-video-net.css ---- */
/* ==========================================================
   V202 — 3 CTA accueil strictement identiques + loader 4K net
   ========================================================== */

/* EXACTEMENT le même bouton pour Secteurs / Réalisations / Tarifs */
#contenu a.btn.fs38-home-unified-cta,
main#contenu a.btn.fs38-home-unified-cta{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:340px !important;
  max-width:100% !important;
  min-width:340px !important;
  height:54px !important;
  min-height:54px !important;
  max-height:54px !important;
  margin:0 !important;
  padding:0 22px !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:linear-gradient(135deg,#082f5f 0%,#0c4e96 48%,#126fc7 100%) !important;
  box-shadow:0 14px 32px rgba(1,14,35,.30),inset 0 1px 0 rgba(255,255,255,.14) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:0 1px 8px rgba(0,0,0,.28) !important;
  font-size:.94rem !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  opacity:1 !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  overflow:hidden !important;
  position:relative !important;
  transform:none !important;
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease !important;
}
#contenu a.btn.fs38-home-unified-cta::before,
#contenu a.btn.fs38-home-unified-cta::after,
main#contenu a.btn.fs38-home-unified-cta::before,
main#contenu a.btn.fs38-home-unified-cta::after{
  display:none !important;
  content:none !important;
}
#contenu a.btn.fs38-home-unified-cta:hover,
#contenu a.btn.fs38-home-unified-cta:focus-visible,
main#contenu a.btn.fs38-home-unified-cta:hover,
main#contenu a.btn.fs38-home-unified-cta:focus-visible{
  transform:none !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:linear-gradient(135deg,#0a3b72 0%,#0f5bab 48%,#1784e5 100%) !important;
  border-color:rgba(255,255,255,.28) !important;
  box-shadow:0 16px 36px rgba(1,14,35,.34),0 0 0 1px rgba(82,186,255,.10) inset !important;
}
#contenu a.btn.fs38-home-unified-cta:active,
main#contenu a.btn.fs38-home-unified-cta:active{
  transform:none !important;
}

/* Loader : aucune transformation CSS qui adoucit l'image */
.fs38-preloader-video{
  filter:none !important;
  transform:none !important;
  image-rendering:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  backface-visibility:hidden !important;
  -webkit-backface-visibility:hidden !important;
}
.fs38-preloader-shade{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

@media(max-width:760px){
  #contenu a.btn.fs38-home-unified-cta,
  main#contenu a.btn.fs38-home-unified-cta{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    padding:0 16px !important;
    font-size:.90rem !important;
    white-space:normal !important;
  }
}

/* ---- v206-ssiap-gallery.css ---- */

/* V206 — Galerie SSIAP */
.v206-ssiap-gallery-section{
  padding-top:clamp(54px,6vw,92px) !important;
  padding-bottom:clamp(54px,6vw,92px) !important;
}
.v206-ssiap-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.v206-ssiap-gallery figure{
  margin:0;
  min-height:280px;
  border-radius:24px;
  overflow:hidden;
  background:#07111e;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 44px rgba(0,0,0,.20);
}
.v206-ssiap-gallery img{
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  display:block;
}
@media(max-width:900px){
  .v206-ssiap-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  .v206-ssiap-gallery{grid-template-columns:1fr;gap:12px;}
  .v206-ssiap-gallery figure,
  .v206-ssiap-gallery img{min-height:240px;}
}

/* ---- v207-ssifap.css ---- */

/* V207 — SSIFAP */
.v207-ssifap-section{padding-top:clamp(54px,6vw,92px)!important;padding-bottom:clamp(54px,6vw,92px)!important}
.v207-ssifap-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.v207-ssifap-gallery figure{margin:0;aspect-ratio:1/1;border-radius:24px;overflow:hidden;background:#07111e;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 44px rgba(0,0,0,.2)}
.v207-ssifap-gallery figure.wide{grid-column:span 2;aspect-ratio:2/1}
.v207-ssifap-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.v207-fire-duo{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 14px;overflow:hidden;border-radius:18px}
.v207-fire-duo img{width:100%!important;height:180px!important;object-fit:cover!important;border-radius:0!important;margin:0!important}
@media(max-width:760px){.v207-ssifap-gallery{grid-template-columns:1fr 1fr}.v207-ssifap-gallery figure.wide{grid-column:span 2}}
@media(max-width:520px){.v207-ssifap-gallery{grid-template-columns:1fr}.v207-ssifap-gallery figure,.v207-ssifap-gallery figure.wide{grid-column:span 1;aspect-ratio:1/1}}

/* ---- v208-appui-rapide.css ---- */

/* V208 — Appui rapide sur pages sensibles */
.v208-rapid-support-section{
  padding-top:clamp(38px,5vw,72px) !important;
  padding-bottom:clamp(38px,5vw,72px) !important;
}
.v208-rapid-support-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px 22px;
  align-items:center;
  padding:26px 28px;
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 20%, rgba(52,152,255,.20), transparent 28rem),
    linear-gradient(135deg, rgba(6,18,36,.98) 0%, rgba(8,40,78,.94) 52%, rgba(8,64,116,.88) 100%);
  border:1px solid rgba(125,204,255,.22);
  box-shadow:0 22px 58px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.10);
}
.v208-rapid-support-card::before{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(87,207,255,.95), rgba(255,255,255,.55), rgba(87,207,255,.95));
  box-shadow:0 0 18px rgba(87,207,255,.28);
}
.v208-rapid-support-card > *{
  position:relative;
  z-index:1;
}
.v208-rapid-support-icon{
  width:72px;
  height:72px;
  border-radius:22px;
  display:grid;
  place-items:center;
  font-size:2rem;
  background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.v208-rapid-support-copy h2{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(1.55rem,2.2vw,2.25rem);
  line-height:1.05;
  letter-spacing:-.03em;
}
.v208-rapid-support-copy p{
  margin:0;
  max-width:760px;
  color:rgba(238,246,255,.86);
  line-height:1.62;
}
.v208-rapid-support-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  min-width:210px;
  padding:15px 24px;
  border-radius:18px;
  text-decoration:none !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-weight:900;
  letter-spacing:.01em;
  background:linear-gradient(135deg, #b81720 0%, #e2323c 48%, #ff5d66 100%);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 16px 36px rgba(226,50,60,.26), inset 0 1px 0 rgba(255,255,255,.18);
  transform:none !important;
  transition:background .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.v208-rapid-support-button:hover,
.v208-rapid-support-button:focus-visible{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:linear-gradient(135deg, #cc1f29 0%, #f13e48 48%, #ff7179 100%);
  border-color:rgba(255,255,255,.28);
  box-shadow:0 20px 44px rgba(226,50,60,.32), inset 0 1px 0 rgba(255,255,255,.20);
  transform:none !important;
}
@media(max-width:860px){
  .v208-rapid-support-card{
    grid-template-columns:1fr;
    padding:22px;
  }
  .v208-rapid-support-icon{
    width:64px;
    height:64px;
    border-radius:18px;
    font-size:1.7rem;
  }
  .v208-rapid-support-button{
    width:100%;
    min-width:0;
  }
}

/* ---- v209-corrections-globales.css ---- */

/* ==========================================================
   V209 — Corrections globales lisibilité, matériel, galerie, menu
   ========================================================== */

/* Références : hero aligné avec les autres pages */
.references-hero-standard .hero-inner{
  width:min(1180px, calc(100vw - 28px)) !important;
  margin:0 auto !important;
}
.references-hero-standard .hero-copy{
  max-width:760px !important;
  text-align:left !important;
}
.references-hero-standard .kicker{
  color:#63c8ff !important;
  -webkit-text-fill-color:#63c8ff !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}
.references-hero-standard .hero-actions{
  justify-content:flex-start !important;
}

/* Références : lisibilité des panneaux Preuve de sérieux / Exemples de livrables */
.references-hero-standard + section ~ section .proof-panel,
.references-hero-standard ~ section .proof-panel{
  background:linear-gradient(180deg, rgba(8,22,44,.92), rgba(5,14,29,.96)) !important;
  border:1px solid rgba(119,204,255,.20) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.references-hero-standard ~ section .proof-panel .kicker,
.references-hero-standard ~ section .proof-panel h3,
.references-hero-standard ~ section .proof-panel li{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.28) !important;
}
.references-hero-standard ~ section .proof-panel .kicker{
  color:#7ed8ff !important;
  -webkit-text-fill-color:#7ed8ff !important;
}
.references-hero-standard ~ section .proof-panel li{
  color:rgba(244,249,255,.90) !important;
  -webkit-text-fill-color:rgba(244,249,255,.90) !important;
}

/* Zones d'intervention : France & international bien centré */
.coverage-card .map{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:10px !important;
  min-height:260px !important;
  padding:26px !important;
}
.coverage-card .map strong{
  display:block !important;
  color:#fff !important;
  font-size:clamp(1.65rem,2.4vw,2.4rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
}
.coverage-card .map .small{
  display:block !important;
  max-width:520px !important;
  margin:0 auto !important;
  color:rgba(238,246,255,.82) !important;
  line-height:1.45 !important;
}
.coverage-card .map .v209-fr-int{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:4px auto 0 !important;
  padding:11px 18px !important;
  border-radius:999px !important;
  color:#fff !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  background:linear-gradient(135deg,#0d4a8c,#167bff,#36c8ff) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 14px 34px rgba(22,123,255,.24), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

/* Matériel : transformer les listes verticales en cartes de tags premium */
.means-equipment-list.v209-equipment-premium{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-top:18px !important;
}
.means-equipment-list.v209-equipment-premium article{
  position:relative !important;
  overflow:hidden !important;
  padding:22px !important;
  border-radius:26px !important;
  background:
    radial-gradient(circle at top right, rgba(74,191,255,.14), transparent 42%),
    linear-gradient(180deg, rgba(10,28,54,.92), rgba(5,14,29,.96)) !important;
  border:1px solid rgba(126,214,255,.16) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.means-equipment-list.v209-equipment-premium article::before{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  top:0 !important;
  height:3px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, rgba(78,208,255,.88), rgba(255,255,255,.45), rgba(78,208,255,.88)) !important;
}
.means-equipment-list.v209-equipment-premium h3{
  margin:0 0 16px !important;
  color:#fff !important;
  font-size:1.03rem !important;
  line-height:1.2 !important;
}
.means-equipment-list.v209-equipment-premium ul{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:0 !important;
  margin:0 !important;
  list-style:none !important;
}
.means-equipment-list.v209-equipment-premium li{
  display:inline-flex !important;
  align-items:center !important;
  min-height:34px !important;
  padding:8px 11px !important;
  border-radius:999px !important;
  color:rgba(242,248,255,.92) !important;
  font-size:.82rem !important;
  line-height:1.15 !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}
@media(max-width:1100px){
  .means-equipment-list.v209-equipment-premium{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:640px){
  .means-equipment-list.v209-equipment-premium{grid-template-columns:1fr !important;}
}

/* Menu réduit : position stable dès l'ouverture, sans apparition à droite puis replacement */
.topbar.is-compact .nav-panel{
  left:calc(100% + 14px) !important;
  right:auto !important;
  top:0 !important;
  transform:translate3d(-8px,0,0) scale(.98) !important;
  transform-origin:left top !important;
  transition:opacity .20s ease, visibility .20s ease, transform .20s ease !important;
}
.topbar.is-compact .nav.menu-open .nav-panel,
.topbar.is-compact.menu-open .nav-panel{
  left:calc(100% + 14px) !important;
  right:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:translate3d(0,0,0) scale(1) !important;
}
@media(max-width:760px){
  .topbar.is-compact .nav-panel,
  .topbar.is-compact .nav.menu-open .nav-panel,
  .topbar.is-compact.menu-open .nav-panel{
    left:0 !important;
    right:auto !important;
    top:calc(100% + 10px) !important;
    width:min(420px, calc(100vw - 20px)) !important;
    transform:translate3d(0,-6px,0) scale(.98) !important;
  }
  .topbar.is-compact .nav.menu-open .nav-panel,
  .topbar.is-compact.menu-open .nav-panel{
    transform:translate3d(0,0,0) scale(1) !important;
  }
}

/* ---- v210-lisibilite-textes.css ---- */

/* ==========================================================
   V210 — Lisibilité textes / anti texte vertical / corrections pages
   ========================================================== */

/* Anti-texte vertical : empêche les lettres seules en colonne */
body,
h1,h2,h3,h4,h5,h6,
p,li,span,strong,small,em,
a,button,label,input,textarea,select,
.btn,.button,.kicker,.eyebrow,.tag,.badge,.chip,
.means-chip,.means-label,.meta span,
.nav-links a,.nav-cta a,
.hero-actions a,.section-header,
.card,.panel,.proof-panel,.service-card,
.v173-proof-card,.v173-price-card,.v173-mini-price,
.v208-rapid-support-button{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

h1,h2,h3,h4,.section-header h2,.hero-copy h1{
  text-wrap:balance;
}

p,li,.section-header p,.hero-copy p{
  text-wrap:pretty;
}

.card,.panel,.proof-panel,.service-card,
.v173-proof-card,.v173-price-card,.v173-mini-price,
.hero-copy,.section-header,.means-card-content{
  min-width:0 !important;
}

.btn,.button,a[class*="btn"],button[class*="btn"],
.hero-actions a,.nav-cta a{
  min-width:max-content !important;
  max-width:100% !important;
  white-space:normal !important;
  line-height:1.15 !important;
}

/* Évite les micro-colonnes dans les grilles trop serrées */
@media(max-width:900px){
  .section-header{
    grid-template-columns:1fr !important;
  }
  .hero-actions,.actions,.v173-cta-row{
    align-items:stretch !important;
  }
  .btn,.button,a[class*="btn"],button[class*="btn"],
  .hero-actions a,.nav-cta a{
    min-width:min(210px,100%) !important;
  }
}

/* Page Cadre : panneaux lisibles sur fond sombre */
.v210-cadre-readable .panel{
  background:
    radial-gradient(circle at top right, rgba(78,190,255,.14), transparent 38%),
    linear-gradient(180deg, rgba(7,20,42,.96), rgba(4,12,26,.98)) !important;
  border:1px solid rgba(130,215,255,.20) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.v210-cadre-readable .panel .kicker,
.v210-cadre-readable .panel h2,
.v210-cadre-readable .panel p,
.v210-cadre-readable .panel li{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.30) !important;
}
.v210-cadre-readable .panel .kicker{
  color:#76d7ff !important;
  -webkit-text-fill-color:#76d7ff !important;
  letter-spacing:.13em !important;
}
.v210-cadre-readable .panel p,
.v210-cadre-readable .panel li{
  color:rgba(240,247,255,.90) !important;
  -webkit-text-fill-color:rgba(240,247,255,.90) !important;
}

/* Page Devis : bloc 3 étapes visible, plus de blanc sur blanc */
.v210-devis-readable .section-header{
  position:relative !important;
  overflow:hidden !important;
  padding:24px 26px !important;
  margin-bottom:22px !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at top right, rgba(74,190,255,.16), transparent 36%),
    linear-gradient(135deg, rgba(7,21,43,.96), rgba(5,14,29,.98)) !important;
  border:1px solid rgba(130,215,255,.20) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.v210-devis-readable .section-header .kicker,
.v210-devis-readable .section-header h2,
.v210-devis-readable .section-header p{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.28) !important;
}
.v210-devis-readable .section-header .kicker{
  color:#76d7ff !important;
  -webkit-text-fill-color:#76d7ff !important;
}
.v210-devis-readable .v173-steps article{
  background:linear-gradient(180deg, rgba(8,22,44,.92), rgba(5,14,29,.96)) !important;
  border:1px solid rgba(130,215,255,.16) !important;
}
.v210-devis-readable .v173-steps article h3,
.v210-devis-readable .v173-steps article p,
.v210-devis-readable .v173-steps article span{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.v210-devis-readable .v173-steps article p{
  color:rgba(240,247,255,.88) !important;
  -webkit-text-fill-color:rgba(240,247,255,.88) !important;
}

/* Zone d’intervention : libellé corrigé et centré */
.coverage-card .map .v209-fr-int,
.coverage-card .map strong,
.coverage-card .map .small{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

/* Sécurité mobile : les titres restent horizontaux et lisibles */
@media(max-width:520px){
  h1,h2,.section-header h2,.hero-copy h1{
    font-size:clamp(1.85rem,9vw,2.7rem) !important;
    line-height:1.05 !important;
  }
  .kicker,.eyebrow,.tag,.means-label,.means-chip{
    letter-spacing:.06em !important;
  }
  .btn,.button,a[class*="btn"],button[class*="btn"]{
    width:100% !important;
    justify-content:center !important;
  }
}

/* ---- v211-audit-gallery.css ---- */

/* V211 — Galerie Audit */
.v211-audit-gallery-section{
  padding-top:clamp(54px,6vw,92px) !important;
  padding-bottom:clamp(54px,6vw,92px) !important;
}
.v211-audit-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.v211-audit-gallery figure{
  margin:0;
  min-height:300px;
  aspect-ratio:1/1;
  border-radius:24px;
  overflow:hidden;
  background:#07111e;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 44px rgba(0,0,0,.20);
}
.v211-audit-gallery figure.v211-audit-wide{
  grid-column:span 2;
  aspect-ratio:2/1;
}
.v211-audit-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media(max-width:900px){
  .v211-audit-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .v211-audit-gallery figure.v211-audit-wide{
    grid-column:span 2;
  }
}
@media(max-width:620px){
  .v211-audit-gallery{
    grid-template-columns:1fr;
    gap:12px;
  }
  .v211-audit-gallery figure,
  .v211-audit-gallery figure.v211-audit-wide{
    grid-column:span 1;
    aspect-ratio:1/1;
    min-height:250px;
  }
}

/* ---- v212-tarification-adaptee.css ---- */

/* ==========================================================
   V212 — Message de tarification adaptée
   ========================================================== */
.v212-pricing-note{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:flex-start;
  margin:22px 0 20px;
  padding:24px 26px;
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(83,196,255,.16), transparent 34%),
    linear-gradient(135deg, rgba(7,22,45,.96), rgba(5,14,29,.98));
  border:1px solid rgba(130,215,255,.20);
  box-shadow:0 18px 48px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
}
.v212-pricing-note::before{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(74,202,255,.92), rgba(255,255,255,.48), rgba(74,202,255,.92));
  box-shadow:0 0 16px rgba(74,202,255,.24);
}
.v212-pricing-note > *{
  position:relative;
  z-index:1;
}
.v212-pricing-note-icon{
  width:62px;
  height:62px;
  border-radius:20px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:1.7rem;
  font-weight:900;
  background:linear-gradient(135deg,#0d4a8c,#167bff,#36c8ff);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 14px 34px rgba(22,123,255,.24), inset 0 1px 0 rgba(255,255,255,.16);
}
.v212-pricing-note h3{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(1.25rem,1.8vw,1.75rem);
  line-height:1.08;
  letter-spacing:-.02em;
}
.v212-pricing-note p{
  margin:0;
  color:rgba(240,247,255,.88);
  line-height:1.58;
}
.v212-pricing-note p + p{
  margin-top:6px;
}
.v212-pricing-note-compact{
  margin-top:20px;
  margin-bottom:24px;
}
@media(max-width:680px){
  .v212-pricing-note{
    grid-template-columns:1fr;
    padding:22px;
    gap:14px;
  }
  .v212-pricing-note-icon{
    width:56px;
    height:56px;
    border-radius:18px;
    font-size:1.45rem;
  }
}

/* ---- v214-menus-identiques.css ---- */

/* ==========================================================
   V214 — Menus normal et rétréci identiques à l'accueil
   ========================================================== */

/* Header commun */
.topbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:9999 !important;
  pointer-events:none !important;
}
.topbar .nav{
  pointer-events:auto !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  width:min(1180px, calc(100vw - 28px)) !important;
  margin:14px auto 0 !important;
  min-height:64px !important;
  padding:10px 12px !important;
  border-radius:999px !important;
  background:rgba(3,8,18,.38) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 16px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(18px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(125%) !important;
}

/* Menu rétréci : même comportement et même placement partout */
.topbar.is-compact .nav{
  width:max-content !important;
  max-width:min(340px, calc(100vw - 24px)) !important;
  margin-left:clamp(10px,1.15vw,18px) !important;
  margin-right:auto !important;
  margin-top:8px !important;
  min-height:52px !important;
  padding:8px 10px !important;
  border-radius:24px !important;
}
.topbar.is-compact .brand-text{
  display:none !important;
}
.topbar.is-compact .brand-badge{
  width:40px !important;
  height:40px !important;
  flex:0 0 40px !important;
}
.topbar.is-compact .brand-badge img{
  width:40px !important;
  height:40px !important;
  object-fit:contain !important;
}

/* Bouton MENU identique, sans les 3 traits */
.topbar .burger,
.topbar.is-compact .burger{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:auto !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 14px !important;
  gap:0 !important;
  border-radius:999px !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}
.topbar .burger span,
.topbar .burger::before,
.topbar .burger::after,
.topbar.is-compact .burger span,
.topbar.is-compact .burger::before,
.topbar.is-compact .burger::after{
  display:none !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  content:none !important;
}
.topbar .burger .burger-label,
.topbar.is-compact .burger .burger-label{
  display:inline-block !important;
  color:#e9f2ff !important;
  -webkit-text-fill-color:#e9f2ff !important;
  font-size:.58rem !important;
  font-style:normal !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  opacity:1 !important;
}

/* Panneau menu normal */
.topbar .nav-panel{
  position:absolute !important;
  top:calc(100% + 12px) !important;
  right:0 !important;
  left:auto !important;
  width:min(420px, calc(100vw - 32px)) !important;
  border-radius:28px !important;
  padding:18px !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translate3d(0,-6px,0) scale(.98) !important;
  transform-origin:top right !important;
  transition:opacity .20s ease, visibility .20s ease, transform .20s ease !important;
}
.topbar .nav.menu-open .nav-panel{
  opacity:1 !important;
  visibility:visible !important;
  transform:translate3d(0,0,0) scale(1) !important;
}

/* Panneau menu rétréci : stable dès l'ouverture, pas d'apparition à droite */
.topbar.is-compact .nav-panel{
  top:0 !important;
  left:calc(100% + 14px) !important;
  right:auto !important;
  transform:translate3d(-8px,0,0) scale(.98) !important;
  transform-origin:left top !important;
}
.topbar.is-compact .nav.menu-open .nav-panel{
  top:0 !important;
  left:calc(100% + 14px) !important;
  right:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:translate3d(0,0,0) scale(1) !important;
}

/* Mobile : menu compact visible dans l'écran, même rendu partout */
@media(max-width:760px){
  .topbar .nav,
  .topbar.is-compact .nav{
    width:min(100vw - 20px, 420px) !important;
    max-width:calc(100vw - 20px) !important;
    margin:8px auto 0 !important;
    border-radius:24px !important;
    padding:8px 10px !important;
  }
  .topbar .brand-text,
  .topbar.is-compact .brand-text{
    display:none !important;
  }
  .topbar .brand-badge,
  .topbar.is-compact .brand-badge{
    width:40px !important;
    height:40px !important;
    flex:0 0 40px !important;
  }
  .topbar .nav-panel,
  .topbar.is-compact .nav-panel{
    left:0 !important;
    right:auto !important;
    top:calc(100% + 10px) !important;
    width:min(420px, calc(100vw - 20px)) !important;
    transform:translate3d(0,-6px,0) scale(.98) !important;
    transform-origin:top left !important;
  }
  .topbar .nav.menu-open .nav-panel,
  .topbar.is-compact .nav.menu-open .nav-panel{
    left:0 !important;
    right:auto !important;
    top:calc(100% + 10px) !important;
    transform:translate3d(0,0,0) scale(1) !important;
  }
}

/* ---- v219-menu-galerie-fix.css ---- */

/* V219 — Fix menu scroll + galerie horizontale accueil */
.topbar{transition:transform .22s ease,padding .22s ease!important}
.topbar .nav{transition:width .24s ease,max-width .24s ease,min-height .24s ease,margin .24s ease,padding .24s ease,border-radius .24s ease,background .24s ease,box-shadow .24s ease!important}
.topbar .brand-text,.topbar .brand-badge,.topbar .burger{transition:all .22s ease!important}
.topbar.is-compact .nav,html.fs219-scrolled .topbar .nav{width:max-content!important;max-width:min(330px,calc(100vw - 20px))!important;min-height:52px!important;margin:8px auto 0 clamp(10px,1.15vw,18px)!important;padding:8px 10px!important;border-radius:24px!important;background:rgba(3,8,18,.58)!important}
.topbar.is-compact .brand-text,html.fs219-scrolled .topbar .brand-text{display:none!important;opacity:0!important;width:0!important;max-width:0!important;overflow:hidden!important}
.topbar.is-compact .brand-badge,html.fs219-scrolled .topbar .brand-badge{width:40px!important;height:40px!important;flex:0 0 40px!important}
.topbar.is-compact .brand-badge img,html.fs219-scrolled .topbar .brand-badge img{width:40px!important;height:40px!important;object-fit:contain!important}
.topbar.is-compact .burger,html.fs219-scrolled .topbar .burger{height:38px!important;min-height:38px!important;padding:0 14px!important}
.topbar.is-compact .nav-panel,html.fs219-scrolled .topbar .nav-panel{top:0!important;left:calc(100% + 14px)!important;right:auto!important;transform-origin:left top!important}
.topbar.is-compact .nav.menu-open .nav-panel,html.fs219-scrolled .topbar .nav.menu-open .nav-panel{top:0!important;left:calc(100% + 14px)!important;right:auto!important;transform:translate3d(0,0,0) scale(1)!important}
@media(max-width:760px){.topbar.is-compact .nav,html.fs219-scrolled .topbar .nav{width:min(100vw - 20px,420px)!important;max-width:calc(100vw - 20px)!important;margin:8px auto 0!important}.topbar.is-compact .nav-panel,html.fs219-scrolled .topbar .nav-panel,.topbar.is-compact .nav.menu-open .nav-panel,html.fs219-scrolled .topbar .nav.menu-open .nav-panel{left:0!important;right:auto!important;top:calc(100% + 10px)!important}}
.v187-immersive-gallery{position:relative!important;display:block!important;margin:0!important;padding:0!important;background:#020812!important;overflow:visible!important;isolation:isolate!important}
.v187-gallery-sticky{position:sticky!important;top:0!important;height:100svh!important;min-height:100svh!important;max-height:100svh!important;overflow:hidden!important;background:#020812!important;margin:0!important;padding:0!important}
.v187-gallery-track{display:flex!important;flex-wrap:nowrap!important;gap:0!important;height:100svh!important;margin:0!important;padding:0!important;will-change:transform!important;transform:translate3d(0,0,0)}
.v187-gallery-item{flex:0 0 100vw!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;height:100svh!important;min-height:100svh!important;max-height:100svh!important;margin:0!important;padding:0!important;border-radius:0!important;overflow:hidden!important;background:#020812!important}
.v187-gallery-item img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;margin:0!important;padding:0!important}
.v187-immersive-gallery + section,.v187-immersive-gallery + .section,.v187-immersive-gallery + .section-tight{margin-top:0!important}
body.fs219-gallery-locked{overflow:hidden!important;touch-action:none!important}html.fs219-gallery-locked{overflow:hidden!important}

/* ---- v225-controle-total.css ---- */
/* V225 — contrôle total contraste ciblé, sans changement du design */
/* Surfaces claires historiques : texte foncé garanti */
body.apple-premium .form-panel,
body.apple-premium .featured-card,
body.apple-premium details,
body.apple-premium .process .step,
body.apple-premium .feature-item,
body.apple-premium .quote-preview-panel,
body.apple-premium .quote-sheet{
  color:#13233f !important;
  text-shadow:none !important;
}
body.apple-premium .form-panel > h2,
body.apple-premium .form-panel > h3,
body.apple-premium .featured-card h2,
body.apple-premium .featured-card h3,
body.apple-premium details summary,
body.apple-premium .process .step h3,
body.apple-premium .process .step h4,
body.apple-premium .feature-item h3,
body.apple-premium .feature-item h4,
body.apple-premium .quote-preview-panel strong,
body.apple-premium .quote-sheet h2,
body.apple-premium .quote-sheet h3,
body.apple-premium .quote-sheet strong{
  color:#13233f !important;
  text-shadow:none !important;
}
body.apple-premium .form-panel > p,
body.apple-premium .form-panel .form-grid .field,
body.apple-premium .form-panel .form-grid .field label,
body.apple-premium .form-panel .form-grid .field p,
body.apple-premium .form-panel .form-grid .field .field-help,
body.apple-premium .featured-card p,
body.apple-premium .featured-card .mini-meta,
body.apple-premium details p,
body.apple-premium .process .step p,
body.apple-premium .feature-item p,
body.apple-premium .quote-preview-panel p,
body.apple-premium .quote-sheet p,
body.apple-premium .quote-sheet li{
  color:#53627a !important;
  text-shadow:none !important;
}
body.apple-premium .form-panel .form-grid input,
body.apple-premium .form-panel .form-grid select,
body.apple-premium .form-panel .form-grid textarea{
  color:#ffffff !important;
}
body.apple-premium .notice,
body.apple-premium .notice p,
body.apple-premium .notice li{
  color:#9d2c37 !important;
  text-shadow:none !important;
}
body.apple-premium .notice h2,
body.apple-premium .notice h3,
body.apple-premium .notice h4{
  color:#d92f3d !important;
  text-shadow:none !important;
}
body.apple-premium .coverage-card .map{
  color:#42608f !important;
  text-shadow:none !important;
}
body.apple-premium .coverage-card .map strong{
  color:#1a73ff !important;
  text-shadow:none !important;
}
/* Surfaces photo/sombres : contraste conservé */
body.apple-premium .hero h1,
body.apple-premium .hero h2,
body.apple-premium .hero h3,
body.apple-premium .hero p,
body.apple-premium .service-hero h1,
body.apple-premium .service-hero h2,
body.apple-premium .service-hero h3,
body.apple-premium .service-hero p,
body.apple-premium .immersive-card h2,
body.apple-premium .immersive-card p,
body.apple-premium .cta-band h2,
body.apple-premium .cta-band h3,
body.apple-premium .cta-band p{
  color:#fff !important;
}
/* Les textes de sections claires ne doivent jamais repasser en blanc */
body.apple-premium .section-header h1,
body.apple-premium .section-header h2,
body.apple-premium .section-header h3{
  color:#0d1d33 !important;
  text-shadow:none !important;
}
body.apple-premium .section-header p{
  color:#5a6b83 !important;
  text-shadow:none !important;
}
/* Les blocs tarifs catégorisés restent sombres et lisibles */
.v220-tarif-category h3,
.v220-tarif-category p,
.v220-tarif-category .v220-category-label,
.v220-price-factors h3,
.v220-price-factors p,
.v223-home-price-category h3,
.v223-home-price-category p,
.v223-home-price-category .v223-category-code,
.v223-home-price-category .v223-rate,
.v223-home-price-category .v223-rate span,
.v223-home-price-category .v223-rate strong{
  color:#f4f8ff !important;
}

/* ---- v226-sans-fond-derriere-ecritures.css ---- */
/* V226 — Suppression des fonds gris / pastilles derrière les écritures */

/* 1) Kicker / eyebrow : on retire les fonds et bordures, on garde seulement le texte */
.kicker,
.eyebrow,
.emergency-kicker,
body.apple-premium .section-header .kicker,
body.apple-premium .section > .container > .kicker,
body.apple-premium .section-tight > .container > .kicker,
body.apple-premium .proof-panel .kicker,
body.apple-premium .sales-flow-grid .kicker,
body.apple-premium .hero .kicker,
body.apple-premium .service-hero .kicker,
body.apple-premium .legal-hero .kicker,
body.apple-premium .immersive-card .kicker,
body.apple-premium .page-header .kicker,
.v210-cadre-readable .panel .kicker,
.v210-devis-readable .section-header .kicker{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

/* 2) Conserver une bonne lisibilité selon le contexte */
body.apple-premium .hero .kicker,
body.apple-premium .service-hero .kicker,
body.apple-premium .legal-hero .kicker,
body.apple-premium .immersive-card .kicker,
body.apple-premium .page-header .kicker,
.v210-cadre-readable .panel .kicker{
  color:#f3fbff !important;
  text-shadow:0 3px 18px rgba(0,0,0,.42) !important;
}

body.apple-premium .section-header .kicker,
body.apple-premium .section > .container > .kicker,
body.apple-premium .section-tight > .container > .kicker,
body.apple-premium .proof-panel .kicker,
body.apple-premium .sales-flow-grid .kicker,
.v210-devis-readable .section-header .kicker,
.kicker,
.eyebrow,
.emergency-kicker{
  text-shadow:none !important;
}

/* 3) Le bloc d’en-tête spécifique de la page devis ne doit plus afficher un grand fond gris */
.v210-devis-readable .section-header{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
}

/* 4) Neutraliser les effets résiduels éventuels */
.kicker::after,
.eyebrow::after,
.emergency-kicker::after{
  box-shadow:none !important;
}

/* ---- v227-securite-privee-partenaire.css ---- */
/* V227 — sécurité privée via partenaire : intégration sans modifier le design */
.v227-partner-note{margin-top:12px;padding-left:14px;border-left:2px solid rgba(53,194,255,.72);background:transparent!important;color:inherit;line-height:1.6}
.v227-partner-note strong{color:inherit}
.v227-tarif-partner-note{margin-top:16px;margin-bottom:4px}
.v227-partner-section{background:transparent!important}
.v227-partner-section .section-header{background:transparent!important;border:0!important;box-shadow:none!important}

/* ---- v236-boutique-soutien.css ---- */

/* V236 — Boutique + Soutenir FALCON SAR 38 */
.topbar .nav-panel{
  max-height:calc(100vh - 110px) !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}

body[data-page="boutique"] .page-boutique,
body[data-page="soutenir"] .page-soutenir{
  min-height:76vh;
}

.v236-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.v236-card{
  position:relative;
  min-width:0;
  height:100%;
  padding:24px;
  border-radius:24px;
  border:1px solid rgba(83,177,255,.22);
  background:linear-gradient(155deg,rgba(11,28,51,.96),rgba(5,16,32,.98));
  box-shadow:0 18px 44px rgba(1,8,20,.22);
  color:#eaf4ff;
  overflow:hidden;
}
.v236-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,#35c2ff,#126fc7 62%,transparent);
  opacity:.85;
}
.v236-card .icon-badge{margin-bottom:16px}
.v236-card h3{
  margin:0 0 10px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:1.12rem;
  line-height:1.2;
}
.v236-card p,
.v236-card li{
  color:rgba(232,242,255,.80) !important;
  -webkit-text-fill-color:rgba(232,242,255,.80) !important;
  line-height:1.62;
}
.v236-card ul{margin:14px 0 0;padding-left:18px}
.v236-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:14px;
  color:#76d9ff !important;
  -webkit-text-fill-color:#76d9ff !important;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.v236-status::before{
  content:"";
  width:7px;height:7px;border-radius:999px;
  background:#35c2ff;
  box-shadow:0 0 14px rgba(53,194,255,.9);
}

.v236-split{
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(320px,.97fr);
  gap:26px;
  align-items:start;
}
.v236-form-card,
.v236-info-card{
  border-radius:26px;
  border:1px solid rgba(56,149,234,.20);
  background:linear-gradient(155deg,#f9fbff,#edf5ff);
  box-shadow:0 20px 56px rgba(9,42,79,.10);
  padding:28px;
  color:#14243d;
}
.v236-form-card h2,.v236-form-card h3,
.v236-info-card h2,.v236-info-card h3{
  color:#11223d !important;
  -webkit-text-fill-color:#11223d !important;
}
.v236-form-card p,.v236-info-card p,
.v236-form-card li,.v236-info-card li{
  color:#52627a !important;
  -webkit-text-fill-color:#52627a !important;
}
.v236-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.v236-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.v236-field.v236-full{grid-column:1/-1}
.v236-field label{
  color:#1c2e48 !important;
  -webkit-text-fill-color:#1c2e48 !important;
  font-size:.9rem;
  font-weight:800;
}
.v236-field input,
.v236-field select,
.v236-field textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid rgba(23,89,154,.20);
  border-radius:15px;
  background:#fff;
  color:#13243e !important;
  -webkit-text-fill-color:#13243e !important;
  padding:13px 14px;
  font:inherit;
  outline:none;
}
.v236-field textarea{min-height:120px;resize:vertical}
.v236-field input:focus,
.v236-field select:focus,
.v236-field textarea:focus{
  border-color:#1684d7;
  box-shadow:0 0 0 3px rgba(22,132,215,.10);
}
.v236-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:16px 0 18px;
  color:#52627a;
  line-height:1.5;
}
.v236-check input{margin-top:4px;flex:0 0 auto}
.v236-form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.v236-form-actions .btn{max-width:100%;white-space:normal;text-align:center}
.v236-small{
  display:block;
  margin-top:14px;
  color:#66778e !important;
  -webkit-text-fill-color:#66778e !important;
  font-size:.82rem;
  line-height:1.55;
}
.v236-notice{
  margin-top:22px;
  padding:18px 20px;
  border-left:3px solid #1684d7;
  border-radius:0 18px 18px 0;
  background:rgba(15,79,141,.06) !important;
}
.v236-notice strong{
  color:#123255 !important;
  -webkit-text-fill-color:#123255 !important;
}
.v236-notice p{
  margin:5px 0 0;
  color:#52627a !important;
  -webkit-text-fill-color:#52627a !important;
}
.v236-use-list{display:grid;gap:12px;margin-top:18px}
.v236-use{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:14px;
  border-radius:17px;
  background:rgba(14,75,132,.055);
  border:1px solid rgba(25,105,180,.10);
}
.v236-use b{display:block;color:#132a48;margin-bottom:3px}
.v236-use span{color:#607089;font-size:.9rem;line-height:1.5}
.v236-use-icon{
  width:42px;height:42px;border-radius:13px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#0d4f91,#1684d7);
  color:#fff;
  box-shadow:0 8px 20px rgba(13,79,145,.18);
}
.v236-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.v236-step{
  padding:22px;
  border-radius:22px;
  border:1px solid rgba(72,158,236,.18);
  background:rgba(7,25,48,.88);
  color:#eaf4ff;
}
.v236-step .step-no{
  color:#59cbff !important;
  -webkit-text-fill-color:#59cbff !important;
  font-weight:950;
  letter-spacing:.08em;
}
.v236-step h3{color:#fff !important;-webkit-text-fill-color:#fff !important;margin:8px 0}
.v236-step p{color:rgba(233,244,255,.78) !important;-webkit-text-fill-color:rgba(233,244,255,.78) !important;margin:0}

@media(max-width:1050px){
  .v236-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .v236-split{grid-template-columns:1fr}
  .v236-steps{grid-template-columns:1fr}
}
@media(max-width:640px){
  .v236-grid{grid-template-columns:1fr}
  .v236-form-grid{grid-template-columns:1fr}
  .v236-field.v236-full{grid-column:auto}
  .v236-card,.v236-form-card,.v236-info-card{padding:20px}
  .v236-form-actions{display:grid;grid-template-columns:1fr}
  .v236-form-actions .btn{width:100%}
}

/* ---- v238-tarifs-assistant-complet.css ---- */
/* V238 — Tarifs lisibles + Assistant IA services complets */

/* TARIFS : les familles et facteurs restent sur un fond sombre premium,
   pour éviter tout blanc sur blanc quelle que soit la cascade historique. */
body[data-page="tarifs-packs"] .v220-tarif-category,
body[data-page="tarifs-packs"] .v220-price-factors{
  background:
    radial-gradient(circle at 18% 0%,rgba(56,189,248,.13),transparent 32%),
    linear-gradient(180deg,rgba(7,20,38,.985),rgba(3,10,21,.995)) !important;
  border:1px solid rgba(116,198,255,.18) !important;
  box-shadow:0 22px 64px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.055) !important;
}
body[data-page="tarifs-packs"] .v220-category-head > div{min-width:0 !important;}
body[data-page="tarifs-packs"] .v220-category-label,
body[data-page="tarifs-packs"] .v220-price-factors .kicker{
  color:#54ceff !important;
  -webkit-text-fill-color:#54ceff !important;
}
body[data-page="tarifs-packs"] .v220-category-head h3,
body[data-page="tarifs-packs"] .v220-price-factors h3{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:none !important;
}
body[data-page="tarifs-packs"] .v220-category-head p,
body[data-page="tarifs-packs"] .v220-price-factors p{
  color:rgba(241,247,255,.90) !important;
  -webkit-text-fill-color:rgba(241,247,255,.90) !important;
  text-shadow:none !important;
}
body[data-page="tarifs-packs"] .v220-factors-list span{
  color:#f8fbff !important;
  -webkit-text-fill-color:#f8fbff !important;
  border-left-color:rgba(84,206,255,.78) !important;
  text-shadow:none !important;
}

/* ASSISTANT IA : 12 accès rapides, mêmes dimensions et texte contenu. */
.ai-panel-card-premium .ai-quick-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
}
.ai-panel-card-premium .ai-quick-grid button{
  min-width:0 !important;
  min-height:44px !important;
  padding:8px 7px !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.18 !important;
  font-size:.78rem !important;
  text-align:center !important;
}
@media(max-width:560px){
  .ai-panel-card-premium .ai-quick-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .ai-panel-card-premium .ai-quick-grid button{
    font-size:.76rem !important;
    padding:8px 6px !important;
  }
}

/* ---- v241-confiance-lisibilite-audit.css ---- */
/* V241 — Audit global ciblé : contraste + partenaires.
   Ne modifie pas la structure générale ni les fonds des composants existants. */

/* ========== ILS NOUS FONT CONFIANCE ========== */
.v241-trusted-section{
  position:relative;
  overflow:hidden;
}
.v241-trusted-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.v241-trusted-card{
  min-width:0;
  min-height:128px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 0%,rgba(53,194,255,.15),transparent 42%),
    linear-gradient(180deg,#0a1528 0%,#050b16 100%);
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 18px 52px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
}
.v241-trusted-card span{
  display:block;
  margin:0 0 8px;
  color:#70d8ff !important;
  -webkit-text-fill-color:#70d8ff !important;
  font-size:.76rem;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.08em;
  text-transform:uppercase;
  overflow-wrap:break-word;
}
.v241-trusted-card h3{
  margin:0;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:1.08rem;
  line-height:1.25;
  overflow-wrap:break-word;
}

/* ========== SURFACES SOMBRES ========== */
/* Couleurs seulement : on conserve les fonds, bordures et ombres déjà en place. */
body .card h2, body .card h3, body .card h4,
body .project-card h2, body .project-card h3, body .project-card h4,
body .sector-card h2, body .sector-card h3, body .sector-card h4,
body .sector-card-premium h2, body .sector-card-premium h3, body .sector-card-premium h4,
body .reference-card h2, body .reference-card h3, body .reference-card h4,
body .price-card h2, body .price-card h3, body .price-card h4,
body .case-card h2, body .case-card h3, body .case-card h4,
body .equipment-card h2, body .equipment-card h3, body .equipment-card h4,
body .audit-card h2, body .audit-card h3, body .audit-card h4,
body .panel h2, body .panel h3, body .panel h4,
body .stat h2, body .stat h3, body .stat strong,
body .logo-cell strong,
body .mission-flow-step h2, body .mission-flow-step h3, body .mission-flow-step h4,
body .means-card h2, body .means-card h3, body .means-card h4,
body .means-summary-card h2, body .means-summary-card h3, body .means-summary-card h4,
body .timeline-step h2, body .timeline-step h3, body .timeline-step h4,
body .capsule-card h2, body .capsule-card h3, body .capsule-card h4,
body .v173-price-card h2, body .v173-price-card h3, body .v173-price-card h4,
body .v173-mini-price h2, body .v173-mini-price h3, body .v173-mini-price h4,
body .v173-proof-card h2, body .v173-proof-card h3, body .v173-proof-card h4,
body .v173-steps article h2, body .v173-steps article h3, body .v173-steps article h4,
body .v173-fast-panel h2, body .v173-fast-panel h3,
body .v173-devis-panel h2, body .v173-devis-panel h3,
body .v177-need-card h2, body .v177-need-card h3,
body .v178-trust-grid article h3,
body .v178-tier-grid article h3,
body .v178-prestation-grid article h3,
body .v178-deliverables-grid article h3,
body .v236-card h2, body .v236-card h3, body .v236-card h4,
body .v236-step h2, body .v236-step h3,
body .v233-equipment-card h2, body .v233-equipment-card h3,
body .form-trust-panel h2, body .form-trust-panel h3,
body .notice-box h2, body .notice-box h3,
body .yuneec-inline-card h2, body .yuneec-inline-card h3,
body .quote-card strong,
body .news-card .content h2, body .news-card .content h3{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:none !important;
}

body .card p, body .card li,
body .project-card p, body .project-card li,
body .sector-card p, body .sector-card li,
body .sector-card-premium p, body .sector-card-premium li,
body .reference-card p, body .reference-card li,
body .price-card p, body .price-card li,
body .case-card p, body .case-card li,
body .equipment-card p, body .equipment-card li,
body .audit-card p, body .audit-card li,
body .panel p, body .panel li, body .panel .check-list li,
body .stat span,
body .mission-flow-step p,
body .means-card p, body .means-card li,
body .means-summary-card p, body .means-summary-card li,
body .timeline-step p,
body .capsule-card p,
body .v173-price-card p, body .v173-price-card li,
body .v173-mini-price p, body .v173-mini-price li,
body .v173-proof-card p, body .v173-proof-card li,
body .v173-steps article p,
body .v173-fast-panel p,
body .v173-devis-panel p,
body .v177-need-card p,
body .v178-trust-grid article p,
body .v178-tier-grid article p,
body .v178-prestation-grid article p,
body .v236-card p, body .v236-card li,
body .v236-step p,
body .v233-equipment-card p, body .v233-equipment-card li,
body .form-trust-panel p, body .form-trust-panel li,
body .notice-box p, body .notice-box li,
body .yuneec-inline-card p, body .yuneec-inline-card li,
body .quote-card p, body .quote-card .small, body .quote-card .muted,
body .news-card .content p{
  color:rgba(244,249,255,.88) !important;
  -webkit-text-fill-color:rgba(244,249,255,.88) !important;
  text-shadow:none !important;
}

/* ========== SURFACES CLAIRES ========== */
body .form-panel h2, body .form-panel h3, body .form-panel h4,
body .featured-card h2, body .featured-card h3, body .featured-card h4,
body .feature-item h2, body .feature-item h3, body .feature-item h4,
body .info-card h2, body .info-card h3, body .info-card h4,
body .process .step h2, body .process .step h3, body .process .step h4,
body .proof-panel h2, body .proof-panel h3, body .proof-panel h4,
body .sales-flow-grid article h2, body .sales-flow-grid article h3, body .sales-flow-grid article h4,
body .quote-preview-panel h2, body .quote-preview-panel h3, body .quote-preview-panel strong,
body .quote-sheet h2, body .quote-sheet h3, body .quote-sheet strong,
body details summary,
body .v236-form-card h2, body .v236-form-card h3,
body .v236-info-card h2, body .v236-info-card h3,
body .devis-reference-card strong{
  color:#13233f !important;
  -webkit-text-fill-color:#13233f !important;
  text-shadow:none !important;
}

body .form-panel p, body .form-panel li,
body .featured-card p, body .featured-card .mini-meta,
body .feature-item p,
body .info-card p,
body .process .step p,
body .proof-panel p, body .proof-panel li,
body .sales-flow-grid article p,
body .quote-preview-panel p,
body .quote-sheet p, body .quote-sheet li,
body details p, body details li,
body .v236-form-card p, body .v236-form-card li,
body .v236-info-card p, body .v236-info-card li,
body .devis-reference-card p{
  color:#53627a !important;
  -webkit-text-fill-color:#53627a !important;
  text-shadow:none !important;
}

/* Zone France & international = surface claire */
body .coverage-card .map{
  color:#42608f !important;
  -webkit-text-fill-color:#42608f !important;
  text-shadow:none !important;
}
body .coverage-card .map strong{
  color:#1a73ff !important;
  -webkit-text-fill-color:#1a73ff !important;
}
body .coverage-card .map .small,
body .coverage-card .map .muted{
  color:#53627a !important;
  -webkit-text-fill-color:#53627a !important;
}

/* ========== EN-TÊTES DE SECTION ========== */
body .section-header h1,
body .section-header h2,
body .section-header h3{
  color:#0d1d33 !important;
  -webkit-text-fill-color:#0d1d33 !important;
  text-shadow:none !important;
}
body .section-header p{
  color:#5a6b83 !important;
  -webkit-text-fill-color:#5a6b83 !important;
  text-shadow:none !important;
}
body .section-header .kicker,
body .section > .container > .kicker,
body .section-tight > .container > .kicker{
  color:#1677c8 !important;
  -webkit-text-fill-color:#1677c8 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

/* Repasser en blanc dans les vrais contextes photo/sombres. */
body .hero h1, body .hero h2, body .hero h3, body .hero p,
body .service-hero h1, body .service-hero h2, body .service-hero h3, body .service-hero p,
body .legal-hero h1, body .legal-hero h2, body .legal-hero h3, body .legal-hero p,
body .immersive-card h1, body .immersive-card h2, body .immersive-card h3, body .immersive-card p,
body .cta-band h1, body .cta-band h2, body .cta-band h3, body .cta-band p,
body .footer, body .footer a,
body .ai-panel-card-premium, body .ai-panel-card-premium h2, body .ai-panel-card-premium h3,
body .ai-panel-card-premium p, body .ai-panel-card-premium label,
body .urgent-strip h2, body .urgent-strip h3, body .urgent-strip p{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body .hero .kicker,
body .service-hero .kicker,
body .legal-hero .kicker,
body .immersive-card .kicker{
  color:#f3fbff !important;
  -webkit-text-fill-color:#f3fbff !important;
  background:transparent !important;
  border:0 !important;
  text-shadow:0 3px 18px rgba(0,0,0,.42) !important;
}

/* ========== URGENCE ========== */
/* Corrige notamment contact.html, qui n'avait pas le patch spécifique de formulaire.html. */
body .notice.notice-urgent,
body .notice.notice-urgent h2,
body .notice.notice-urgent h3,
body .notice.notice-urgent h4,
body .notice.notice-urgent p,
body .notice.notice-urgent li{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body .notice.notice-urgent .btn,
body .notice.notice-urgent a.btn{
  background:#fff !important;
  color:#9f0011 !important;
  -webkit-text-fill-color:#9f0011 !important;
  border-color:#fff !important;
  text-shadow:none !important;
}

/* ========== SÉCURITÉ ANTI-DÉBORDEMENT TEXTE ========== */
body h1,body h2,body h3,body h4,
body p,body li,body a,body button,body span,body strong,body small{
  overflow-wrap:break-word;
  word-break:normal;
}
body .btn,
body a[class*="btn"],
body button[class*="btn"]{
  max-width:100% !important;
  white-space:normal !important;
  text-align:center;
}

@media(max-width:900px){
  .v241-trusted-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .v241-trusted-grid{grid-template-columns:1fr}
  .v241-trusted-card{min-height:0;padding:19px}
}

/* ---- v242-premium.css ---- */
/* FALCON SAR 38 — V242 PREMIUM */
:root{
  --v242-cyan:#35c2ff;
  --v242-blue:#188cff;
  --v242-ink:#06111f;
  --v242-card:#0b1828;
  --v242-line:rgba(130,215,255,.18);
  --v242-glow:0 24px 80px rgba(0,145,255,.16);
  --v242-ease:cubic-bezier(.22,1,.36,1);
}
html{scroll-behavior:smooth}
body.apple-premium{background:#030914}
body.apple-premium .main{overflow:clip}
body.apple-premium a,body.apple-premium button,body.apple-premium .card,body.apple-premium .project-card,body.apple-premium .sector-card-premium{transition:transform .48s var(--v242-ease),box-shadow .48s var(--v242-ease),border-color .48s var(--v242-ease),background .48s var(--v242-ease),opacity .48s var(--v242-ease)}
.section,.section-tight,.immersive-band{content-visibility:auto;contain-intrinsic-size:800px}
.hero-copy h1,.section-header h2,.v242-display-title{letter-spacing:-.055em;text-wrap:balance}
.section-header p,.v242-lead{text-wrap:pretty}

/* menu plus net */
.nav-panel{backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}
.nav-links{gap:6px!important}
.nav-links a{border-radius:14px!important;padding:10px 12px!important}
.nav-links a:hover{transform:translateX(4px);background:rgba(53,194,255,.08)!important}

/* trust / partners */
.v242-trust{position:relative;overflow:hidden;background:
 radial-gradient(circle at 12% 12%,rgba(53,194,255,.14),transparent 28%),
 radial-gradient(circle at 86% 8%,rgba(31,96,255,.10),transparent 24%),
 linear-gradient(180deg,#07111f,#030914)}
.v242-trust::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 80%,transparent);pointer-events:none}
.v242-trust .container{position:relative;z-index:1}
.v242-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0 34px}
.v242-stat{padding:22px;border:1px solid var(--v242-line);border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.v242-stat strong{display:block;font-size:clamp(1.8rem,4vw,3.35rem);line-height:.95;color:#fff;letter-spacing:-.05em}
.v242-stat span{display:block;margin-top:9px;color:#a9bad0;font-size:.9rem;line-height:1.35}
.v242-logo-marquee{overflow:hidden;border-block:1px solid var(--v242-line);padding:26px 0;margin:22px 0 38px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.v242-logo-track{display:flex;width:max-content;gap:24px;animation:v242-marquee 30s linear infinite}
.v242-logo-marquee:hover .v242-logo-track{animation-play-state:paused}
.v242-logo-item{width:260px;height:138px;border:1px solid var(--v242-line);border-radius:24px;background:rgba(255,255,255,.98);display:grid;place-items:center;padding:12px 16px;box-shadow:0 18px 46px rgba(10,47,89,.14)}
.v242-logo-item img{width:100%;height:100%;max-width:228px;max-height:110px;object-fit:contain;filter:saturate(1) contrast(1.04)}
@keyframes v242-marquee{to{transform:translateX(calc(-50% - 9px))}}
.v242-partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v242-partner-card{position:relative;min-height:320px;border-radius:28px;overflow:hidden;border:1px solid var(--v242-line);background:#091625;box-shadow:var(--v242-glow)}
.v242-partner-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52;transform:scale(1.02);transition:transform .8s var(--v242-ease),opacity .5s var(--v242-ease)}
.v242-partner-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,9,20,.1) 5%,rgba(3,9,20,.94) 86%)}
.v242-partner-card .v242-partner-copy{position:absolute;z-index:2;inset:auto 22px 22px}
.v242-partner-card .tag{display:inline-flex;margin-bottom:10px}
.v242-partner-card h3{margin:0;color:#fff;font-size:1.3rem}
.v242-partner-card p{margin:8px 0 0;color:#c1d0e1;line-height:1.55}
.v242-partner-card:hover{transform:translateY(-7px);border-color:rgba(53,194,255,.42)}
.v242-partner-card:hover img{transform:scale(1.08);opacity:.64}
.v242-proof-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:22px}
.v242-project-proof,.v242-testimonial-safe{border:1px solid var(--v242-line);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));padding:26px}
.v242-project-proof h3,.v242-testimonial-safe h3{margin:6px 0 14px;color:#fff}
.v242-project-list{display:grid;gap:10px}
.v242-project-list div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
.v242-project-list strong{color:var(--v242-cyan)}
.v242-project-list span{color:#c3d2e3}
.v242-testimonial-safe{display:flex;flex-direction:column;justify-content:center}
.v242-testimonial-safe .quote-mark{font-size:4rem;line-height:.7;color:var(--v242-cyan);opacity:.7}
.v242-testimonial-safe p{color:#b9cadc;line-height:1.65}
.v242-testimonial-safe small{color:#7f94aa}

/* portfolio filters */
.v242-portfolio-section{position:relative}
.v242-filterbar{position:sticky;top:78px;z-index:8;display:flex;flex-wrap:wrap;gap:9px;padding:12px;margin:0 0 28px;border:1px solid rgba(120,211,255,.16);border-radius:22px;background:rgba(4,12,25,.82);backdrop-filter:blur(18px);box-shadow:0 16px 50px rgba(0,0,0,.18)}
.v242-filterbar button{appearance:none;border:1px solid rgba(137,215,255,.15);background:rgba(255,255,255,.04);color:#c7d7e8;border-radius:999px;padding:10px 15px;font:inherit;font-weight:750;cursor:pointer}
.v242-filterbar button:hover,.v242-filterbar button.is-active{background:linear-gradient(135deg,var(--v242-blue),var(--v242-cyan));color:#001120;border-color:transparent;box-shadow:0 8px 28px rgba(24,140,255,.26)}
.v242-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.v242-project-card{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(130,215,255,.15);background:#091525;box-shadow:0 22px 60px rgba(0,0,0,.22)}
.v242-project-card[hidden]{display:none!important}
.v242-project-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .8s var(--v242-ease),filter .6s var(--v242-ease)}
.v242-project-card .content{padding:20px}
.v242-project-card h3{margin:8px 0;color:#fff}
.v242-project-card p{color:#aebfd2;line-height:1.55}
.v242-project-card:hover{transform:translateY(-8px);border-color:rgba(53,194,255,.4)}
.v242-project-card:hover img{transform:scale(1.055);filter:saturate(1.08) contrast(1.03)}
.v242-project-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.v242-project-badges span{padding:6px 9px;border-radius:999px;border:1px solid rgba(104,204,255,.16);background:rgba(53,194,255,.06);color:#bfe8ff;font-size:.78rem;font-weight:700}

/* intelligent quote form */
.v242-quote-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.form-shell > .v242-form-panel{grid-column:1/-1}
.form-shell > .v242-form-panel + div{grid-column:1/-1}
.v242-prequal{position:sticky;top:96px;border:1px solid rgba(86,202,255,.23);border-radius:28px;padding:22px;background:linear-gradient(155deg,rgba(11,30,50,.96),rgba(3,12,25,.98));box-shadow:0 28px 80px rgba(0,0,0,.32)}
.v242-prequal .kicker{margin-bottom:7px}.v242-prequal h3{margin:0 0 8px;color:#fff}.v242-prequal p{color:#a9bdd1;line-height:1.5}
.v242-ref{font-size:1.08rem;font-weight:900;letter-spacing:.04em;color:var(--v242-cyan);padding:11px 13px;border-radius:14px;background:rgba(53,194,255,.08);border:1px solid rgba(53,194,255,.14);margin:13px 0}
.v242-score{height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:12px 0 16px}.v242-score span{display:block;height:100%;width:0;background:linear-gradient(90deg,#1a75ff,#35c2ff);border-radius:inherit;transition:width .45s var(--v242-ease)}
.v242-estimate{padding:16px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);margin:14px 0}.v242-estimate strong{display:block;color:#fff;font-size:1.4rem}.v242-estimate small{color:#829ab0}
.v242-checklist{display:grid;gap:8px;margin:14px 0}.v242-check{display:flex;gap:9px;align-items:flex-start;color:#bdd0e2;font-size:.88rem}.v242-check::before{content:"✓";display:grid;place-items:center;flex:0 0 20px;height:20px;border-radius:50%;background:rgba(53,194,255,.1);color:var(--v242-cyan);font-weight:900}
.v242-form-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;grid-column:1/-1}
.v242-form-extra .field{min-width:0}
.form-grid input[type=file]{padding:14px!important;border-style:dashed!important}
.form-grid input[type=file]::file-selector-button{border:0;border-radius:10px;padding:9px 12px;margin-right:10px;background:#138cff;color:#fff;font-weight:800;cursor:pointer}

/* price configurator */
.v242-price-config{margin-top:34px;border-radius:32px;border:1px solid rgba(100,205,255,.2);background:
 radial-gradient(circle at 88% 12%,rgba(53,194,255,.12),transparent 26%),
 linear-gradient(145deg,#0a1829,#06101e);padding:28px;box-shadow:var(--v242-glow)}
.v242-price-config-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-top:20px}
.v242-config-field label{display:block;color:#b9cce0;font-size:.82rem;font-weight:800;margin-bottom:7px}.v242-config-field select,.v242-config-field input{width:100%;min-height:48px;border-radius:14px;border:1px solid rgba(126,215,255,.18);background:#06111f;color:#fff;padding:0 12px;font:inherit}
.v242-config-result{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;margin-top:20px;padding:20px;border-radius:22px;border:1px solid rgba(53,194,255,.2);background:rgba(53,194,255,.06)}
.v242-config-result strong{display:block;font-size:clamp(1.8rem,4vw,3rem);color:#fff;letter-spacing:-.04em}.v242-config-result p{margin:4px 0 0;color:#9fb5ca}.v242-config-result .btn{white-space:nowrap}

/* assistant commercial */
.ai-panel-card-v116{max-width:min(760px,calc(100vw - 24px))!important}
.v242-ai-commercial{margin:14px 0;padding:14px;border-radius:18px;border:1px solid rgba(53,194,255,.15);background:rgba(53,194,255,.045)}
.v242-ai-commercial strong{color:#fff}.v242-ai-commercial ul{margin:8px 0 0;padding-left:18px;color:#b8cadc}.v242-ai-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}

/* full screen cinematic video */
.v242-video-stage{position:relative;min-height:min(82vh,780px);display:grid;place-items:end start;overflow:hidden;background:#020814}
.v242-video-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;filter:saturate(.92) contrast(1.05)}
.v242-video-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,8,20,.12),rgba(2,8,20,.35) 50%,rgba(2,8,20,.94))}
.v242-video-copy{position:relative;z-index:2;max-width:850px;padding:clamp(34px,6vw,76px);color:#fff}
.v242-video-copy h2{font-size:clamp(2.8rem,7vw,7rem);line-height:.9;margin:9px 0 18px;letter-spacing:-.065em}.v242-video-copy p{max-width:650px;color:#c2d0df;font-size:1.08rem;line-height:1.65}

/* 3D fleet / drone halo */
.means-card,.equipment-card,.fleet-card{transform-style:preserve-3d;will-change:transform}
.means-card img,.equipment-card img,.fleet-card img{filter:drop-shadow(0 20px 38px rgba(28,156,255,.12));transition:filter .5s var(--v242-ease),transform .55s var(--v242-ease)}
.means-card:hover img,.equipment-card:hover img,.fleet-card:hover img{filter:drop-shadow(0 24px 55px rgba(53,194,255,.28));transform:translateZ(14px) scale(1.02)}

/* local SEO hub/pages */
.v242-local-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.v242-local-card{padding:24px;border-radius:26px;border:1px solid rgba(123,214,255,.15);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 20px 55px rgba(0,0,0,.15)}.v242-local-card h3{margin:8px 0;color:#fff}.v242-local-card p{color:#afc0d3;line-height:1.6}.v242-local-card a{color:#7ed8ff;font-weight:800;text-decoration:none}.v242-local-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.v242-local-fact{padding:18px;border-radius:20px;border:1px solid rgba(130,215,255,.13);background:rgba(255,255,255,.035)}.v242-local-fact strong{display:block;color:#fff}.v242-local-fact span{color:#9eb3c8;font-size:.88rem}

/* motion / reveal */
.v242-reveal{opacity:0;transform:translateY(22px) scale(.99)}.v242-reveal.v242-in{opacity:1;transform:none;transition:opacity .8s var(--v242-ease),transform .8s var(--v242-ease)}

@media(max-width:1100px){
 .v242-stat-grid{grid-template-columns:repeat(2,1fr)}.v242-partner-grid,.v242-portfolio-grid,.v242-local-grid{grid-template-columns:repeat(2,1fr)}.v242-proof-grid{grid-template-columns:1fr}.v242-quote-shell{grid-template-columns:1fr}.v242-prequal{position:relative;top:auto}.v242-price-config-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
 .v242-stat-grid,.v242-partner-grid,.v242-portfolio-grid,.v242-local-grid,.v242-local-facts{grid-template-columns:1fr}.v242-stat{padding:18px}.v242-filterbar{top:64px;overflow-x:auto;flex-wrap:nowrap;border-radius:16px;margin-inline:-8px;padding:8px}.v242-filterbar button{white-space:nowrap}.v242-price-config{padding:20px 16px}.v242-price-config-grid{grid-template-columns:1fr}.v242-config-result{grid-template-columns:1fr}.v242-form-extra{grid-template-columns:1fr}.v242-logo-item{width:205px;height:110px;padding:10px 12px}.v242-logo-item img{max-width:180px;max-height:88px}.v242-video-stage{min-height:70vh}.v242-video-copy{padding:30px 20px}.v242-project-list div{grid-template-columns:1fr;gap:4px}.ai-panel-card-v116{width:calc(100vw - 16px)!important;max-height:88vh!important;overflow:auto!important}
}
@media(prefers-reduced-motion:reduce){.v242-logo-track{animation:none}.v242-reveal{opacity:1;transform:none}.means-card,.equipment-card,.fleet-card{transform:none!important}}

/* testimonial demonstration cards */
.v242-testimonials-demo{justify-content:flex-start}
.v242-demo-note{margin:0 0 16px;padding:13px 14px;border-radius:16px;border:1px solid rgba(255,196,72,.2);background:rgba(255,196,72,.06);color:#d9cba9!important;font-size:.9rem}
.v242-demo-note strong{color:#ffd779}
.v242-demo-testimonials{display:grid;gap:12px}
.v242-demo-quote{position:relative;padding:17px 16px 15px;border-radius:19px;border:1px solid rgba(126,215,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018))}
.v242-demo-quote .quote-mark{font-size:2.6rem;line-height:.7;margin:8px 0 4px}
.v242-demo-quote p{margin:0 0 10px;color:#c4d3e2!important;font-size:.94rem;line-height:1.6}
.v242-demo-quote small{display:block;color:#8299ae}
.v242-demo-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,196,72,.24);background:rgba(255,196,72,.08);color:#ffd779;font-size:.68rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.v242-demo-footer{display:block;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);color:#71889e!important;line-height:1.5}

.v242-demo-testimonials-wide{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}
.v242-demo-legal{margin-top:14px;color:#738aa0;font-size:.8rem;line-height:1.55}
@media(max-width:900px){.v242-demo-testimonials-wide{grid-template-columns:1fr}}

/* ---- v243-commercial.css ---- */
/* FALCON SAR 38 — V243 commercial / mobile / SEO UI */
:root{--v243-cyan:#48d7ff;--v243-blue:#1677ff;--v243-red:#ff344d;--v243-ink:#07101d;--v243-panel:rgba(8,18,33,.82);--v243-line:rgba(120,215,255,.18)}
.v243-section{padding:clamp(64px,8vw,112px) 0;position:relative}.v243-section.soft{background:linear-gradient(180deg,rgba(13,27,48,.36),rgba(3,10,20,.04))}.v243-container{width:min(1180px,calc(100% - 36px));margin:auto}.v243-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:32px;align-items:end;margin-bottom:34px}.v243-header h2{font-size:clamp(2rem,4.6vw,4.8rem);line-height:.98;letter-spacing:-.045em;margin:.25rem 0 .4rem}.v243-header p{margin:0;color:var(--muted,#b6c4d8);font-size:1.02rem}.v243-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;font-weight:850;color:var(--v243-cyan)}
.v243-grid{display:grid;gap:18px}.v243-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.v243-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.v243-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.v243-card{border:1px solid var(--v243-line);background:linear-gradient(155deg,rgba(14,31,54,.88),rgba(5,13,25,.86));border-radius:26px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.22);position:relative;overflow:hidden}.v243-card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(72,215,255,.55),transparent)}.v243-card h3{margin:.25rem 0 .65rem;font-size:1.3rem}.v243-card p,.v243-card li{color:var(--muted,#b6c4d8)}
.v243-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;border:1px solid rgba(72,215,255,.22);background:rgba(72,215,255,.08);font-size:.78rem;font-weight:800}.v243-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,rgba(72,215,255,.18),rgba(22,119,255,.13));border:1px solid rgba(72,215,255,.22);font-size:1.35rem}.v243-bullets{padding-left:1.05rem;margin:.8rem 0 0}.v243-bullets li{margin:.44rem 0}
/* simulator */
.v243-simulator{border:1px solid rgba(72,215,255,.24);border-radius:30px;background:radial-gradient(circle at 85% 0,rgba(22,119,255,.16),transparent 34%),linear-gradient(145deg,rgba(7,18,33,.96),rgba(5,12,24,.96));padding:clamp(22px,4vw,40px);box-shadow:0 30px 90px rgba(0,0,0,.28)}.v243-sim-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.v243-field label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#cfeaff;margin-bottom:7px}.v243-field select,.v243-field input{width:100%;min-height:48px;border-radius:14px;border:1px solid rgba(120,215,255,.2);background:#091729;color:#fff;padding:0 13px}.v243-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.v243-option{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(120,215,255,.18);border-radius:12px;background:rgba(255,255,255,.025);font-size:.86rem}.v243-option input{width:auto;min-height:0}.v243-sim-result{margin-top:22px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:22px;border-radius:20px;background:linear-gradient(135deg,rgba(72,215,255,.10),rgba(22,119,255,.08));border:1px solid rgba(72,215,255,.2)}.v243-price{font-size:clamp(2rem,5vw,4rem);line-height:1;font-weight:950;letter-spacing:-.05em}.v243-result-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.v243-result-meta span{font-size:.78rem;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06)}
/* comparator */
.v243-comparison{overflow:auto;border-radius:24px;border:1px solid var(--v243-line)}.v243-comparison table{width:100%;min-width:980px;border-collapse:collapse;background:rgba(5,14,26,.86)}.v243-comparison th,.v243-comparison td{padding:15px 16px;text-align:left;border-bottom:1px solid rgba(120,215,255,.10);vertical-align:top}.v243-comparison th{position:sticky;top:0;background:#0a182a;color:#fff;font-size:.84rem}.v243-comparison tr:hover td{background:rgba(72,215,255,.035)}.v243-comparison strong{color:#fff}.v243-yes{color:#8ff0c1}.v243-limit{color:#ffd58c}
/* equipment */
.v243-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.v243-equipment{padding:0;cursor:pointer;transition:.25s transform,.25s border-color}.v243-equipment:hover{transform:translateY(-4px);border-color:rgba(72,215,255,.42)}.v243-equipment-media{height:230px;background:#07101d;display:grid;place-items:center;overflow:hidden}.v243-equipment-media img{width:100%;height:100%;object-fit:contain;padding:14px}.v243-equipment-body{padding:22px}.v243-equipment-detail{display:none;padding-top:12px}.v243-equipment[aria-expanded="true"] .v243-equipment-detail{display:block}.v243-equipment-toggle{border:0;background:none;color:var(--v243-cyan);font-weight:850;padding:8px 0;cursor:pointer}
/* videos */
.v243-video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.v243-video-card{position:relative;aspect-ratio:9/16;border-radius:24px;overflow:hidden;border:1px solid var(--v243-line);background:#06111f;box-shadow:0 20px 60px rgba(0,0,0,.25)}.v243-video-card video,.v243-video-card img{width:100%;height:100%;object-fit:cover}.v243-video-overlay{position:absolute;inset:auto 0 0;padding:40px 16px 16px;background:linear-gradient(transparent,rgba(2,7,14,.94))}.v243-video-overlay strong{display:block;color:#fff}.v243-video-overlay small{color:#c8d6e8}.v243-video-play{position:absolute;left:16px;top:16px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.32);background:rgba(3,10,18,.72);color:#fff;font-size:1rem;cursor:pointer;backdrop-filter:blur(10px)}
/* map */
.v243-map-wrap{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.v243-map{min-height:520px;border-radius:28px;overflow:hidden;border:1px solid var(--v243-line);background:radial-gradient(circle at 52% 45%,rgba(22,119,255,.18),transparent 34%),#07111f;position:relative}.v243-map-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(100,200,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(100,200,255,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(#000,transparent 96%)}.v243-map-label{position:absolute;left:20px;top:20px;z-index:3;padding:9px 12px;border-radius:999px;background:rgba(3,10,18,.78);border:1px solid rgba(72,215,255,.22);font-size:.78rem}.v243-pin{position:absolute;z-index:2;transform:translate(-50%,-50%);border:0;background:transparent;color:#fff;cursor:pointer}.v243-pin i{display:block;width:16px;height:16px;border-radius:50%;background:var(--v243-cyan);box-shadow:0 0 0 7px rgba(72,215,255,.10),0 0 25px rgba(72,215,255,.9)}.v243-pin span{display:block;white-space:nowrap;margin-top:9px;padding:5px 8px;border-radius:9px;background:rgba(3,10,18,.85);font-size:.72rem}.v243-map-list button{width:100%;text-align:left;border:1px solid rgba(120,215,255,.14);background:rgba(255,255,255,.025);color:#fff;border-radius:14px;padding:12px;margin-bottom:9px;cursor:pointer}.v243-map-list button:hover,.v243-map-list button.is-active{border-color:rgba(72,215,255,.45);background:rgba(72,215,255,.08)}
/* before after */
.v243-before-after{position:relative;overflow:hidden;border-radius:28px;aspect-ratio:16/9;border:1px solid var(--v243-line);background:#07101d;--pos:50%}.v243-before-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v243-before-after .before{filter:saturate(.7) contrast(.85) brightness(.9)}.v243-before-after .after{clip-path:inset(0 0 0 var(--pos));filter:saturate(1.05) contrast(1.04)}.v243-before-after:after{content:"";position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;box-shadow:0 0 16px rgba(255,255,255,.8);transform:translateX(-1px)}.v243-before-after input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4}.v243-ba-label{position:absolute;z-index:3;top:16px;padding:7px 10px;border-radius:999px;background:rgba(3,10,18,.72);font-size:.74rem;font-weight:850}.v243-ba-label.left{left:16px}.v243-ba-label.right{right:16px}
/* FAQ */
.v243-faq{display:grid;gap:10px}.v243-faq details{border:1px solid rgba(120,215,255,.14);border-radius:18px;background:rgba(5,14,26,.70);padding:0 18px}.v243-faq summary{cursor:pointer;list-style:none;font-weight:850;padding:18px 0}.v243-faq summary::-webkit-details-marker{display:none}.v243-faq details p{padding:0 0 18px;margin:0;color:var(--muted,#b6c4d8)}
/* sector cards */
.v243-sector-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.v243-sector-link{display:block;text-decoration:none;color:inherit;padding:20px;border-radius:20px;border:1px solid rgba(120,215,255,.15);background:linear-gradient(145deg,rgba(12,28,49,.82),rgba(5,13,25,.74));transition:.22s}.v243-sector-link:hover{transform:translateY(-3px);border-color:rgba(72,215,255,.4)}.v243-sector-link strong{display:block;font-size:1.08rem;color:#fff;margin-bottom:6px}.v243-sector-link span{color:var(--muted,#b6c4d8);font-size:.9rem}
/* smart assistant wizard injected */
.v243-ai-wizard{margin-top:14px;border-top:1px solid rgba(120,215,255,.15);padding-top:14px}.v243-ai-wizard-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v243-ai-wizard select{width:100%;min-height:42px;border-radius:12px;border:1px solid rgba(120,215,255,.18);background:#091729;color:#fff;padding:0 10px}.v243-ai-summary{margin-top:12px;border:1px solid rgba(72,215,255,.2);background:rgba(72,215,255,.06);border-radius:14px;padding:12px;font-size:.84rem}.v243-ai-summary strong{color:#fff}.v243-ai-summary ul{padding-left:1rem;margin:.5rem 0}
/* contextual CTA */
.v243-context-cta{margin:24px auto 0;width:min(1180px,calc(100% - 36px));padding:20px 22px;border-radius:22px;background:linear-gradient(120deg,rgba(22,119,255,.18),rgba(72,215,255,.10),rgba(255,52,77,.09));border:1px solid rgba(72,215,255,.22);display:flex;align-items:center;justify-content:space-between;gap:20px}.v243-context-cta strong{font-size:1.15rem}.v243-context-cta p{margin:4px 0 0;color:var(--muted,#b6c4d8)}
/* availability */
.v243-availability{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.v243-availability label{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:8px;border-radius:13px;border:1px solid rgba(120,215,255,.16);background:rgba(255,255,255,.025);cursor:pointer;font-size:.82rem}.v243-availability input{position:absolute;opacity:0}.v243-availability label:has(input:checked){border-color:rgba(72,215,255,.5);background:rgba(72,215,255,.10);color:#fff}
/* landing */
.v243-offer{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}.v243-offer-price{font-size:clamp(4rem,10vw,8rem);font-weight:950;letter-spacing:-.07em;line-height:.8}.v243-offer-price small{font-size:.18em;letter-spacing:0}.v243-checks{display:grid;gap:8px}.v243-checks div{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(120,215,255,.10)}
@media(max-width:980px){.v243-header,.v243-map-wrap,.v243-offer{grid-template-columns:1fr}.v243-grid.three,.v243-grid.four,.v243-equipment-grid,.v243-sector-links{grid-template-columns:repeat(2,minmax(0,1fr))}.v243-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v243-sim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v243-map{min-height:460px}}
@media(max-width:720px){.v243-grid.two,.v243-grid.three,.v243-grid.four,.v243-equipment-grid,.v243-sector-links,.v243-video-grid,.v243-sim-grid{grid-template-columns:1fr}.v243-sim-result{grid-template-columns:1fr}.v243-context-cta{flex-direction:column;align-items:flex-start}.v243-availability{grid-template-columns:1fr 1fr}.v243-ai-wizard-grid{grid-template-columns:1fr}.v243-before-after{aspect-ratio:4/3}.v243-header h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){.v243-equipment,.v243-sector-link{transition:none!important}}

/* ---- v243-light-restoration.css ---- */
/* FALCON SAR 38 — V243.1 — restauration du fond clair V241 + lisibilité */
:root{
  --v243-light-bg:#f6f9fc;
  --v243-light-bg2:#eef4fb;
  --v243-light-card:#ffffff;
  --v243-light-card2:#f8fbff;
  --v243-light-ink:#07101d;
  --v243-light-muted:#53657a;
  --v243-light-line:rgba(27,112,190,.16);
  --v243-light-shadow:0 22px 60px rgba(31,76,120,.10);
}

/* Retour au fond général clair de la V241. Le formulaire conserve son univers sombre dédié. */
body.apple-premium:not([data-page="formulaire"]){
  background:linear-gradient(180deg,var(--v243-light-bg) 0%,var(--v243-light-bg2) 100%)!important;
  color:var(--v243-light-ink)!important;
}
body.apple-premium:not([data-page="formulaire"]) .main{
  background:transparent!important;
}

/* Sections V243 : claires et lisibles */
body.apple-premium:not([data-page="formulaire"]) .v243-section.soft{
  background:linear-gradient(180deg,rgba(224,239,252,.72),rgba(246,249,252,.28))!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-header h2,
body.apple-premium:not([data-page="formulaire"]) .v243-card h3,
body.apple-premium:not([data-page="formulaire"]) .v243-card h2,
body.apple-premium:not([data-page="formulaire"]) .v243-context-cta strong,
body.apple-premium:not([data-page="formulaire"]) .v243-offer-price{
  color:var(--v243-light-ink)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-header p,
body.apple-premium:not([data-page="formulaire"]) .v243-card p,
body.apple-premium:not([data-page="formulaire"]) .v243-card li,
body.apple-premium:not([data-page="formulaire"]) .v243-sector-link span,
body.apple-premium:not([data-page="formulaire"]) .v243-context-cta p{
  color:var(--v243-light-muted)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-card,
body.apple-premium:not([data-page="formulaire"]) .v243-sector-link,
body.apple-premium:not([data-page="formulaire"]) .v243-simulator,
body.apple-premium:not([data-page="formulaire"]) .v243-faq details,
body.apple-premium:not([data-page="formulaire"]) .v243-context-cta{
  background:linear-gradient(155deg,#fff,#f7fbff)!important;
  border-color:var(--v243-light-line)!important;
  box-shadow:var(--v243-light-shadow)!important;
  color:var(--v243-light-ink)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-card:before{
  background:linear-gradient(90deg,transparent,rgba(22,119,255,.35),transparent)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-pill,
body.apple-premium:not([data-page="formulaire"]) .v243-option,
body.apple-premium:not([data-page="formulaire"]) .v243-checks div,
body.apple-premium:not([data-page="formulaire"]) .v243-result-meta span,
body.apple-premium:not([data-page="formulaire"]) .v243-sim-result{
  background:rgba(22,119,255,.055)!important;
  border-color:rgba(22,119,255,.14)!important;
  color:#17344f!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-field label{
  color:#285578!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-field select,
body.apple-premium:not([data-page="formulaire"]) .v243-field input,
body.apple-premium:not([data-page="formulaire"]) .v243-ai-wizard select{
  background:#fff!important;
  color:#07101d!important;
  border-color:rgba(27,112,190,.20)!important;
}

/* Comparateur clair */
body.apple-premium:not([data-page="formulaire"]) .v243-comparison{
  border-color:var(--v243-light-line)!important;
  box-shadow:var(--v243-light-shadow)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-comparison table{
  background:#fff!important;
  color:#14263a!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-comparison th{
  background:#eaf4fd!important;
  color:#07101d!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-comparison td{
  border-bottom-color:rgba(27,112,190,.10)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-comparison strong{
  color:#07101d!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-comparison tr:hover td{
  background:#f5faff!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-yes{color:#087a4b!important}
body.apple-premium:not([data-page="formulaire"]) .v243-limit{color:#9a6200!important}

/* Fiches matériel : contenu clair, image conservée sur un fond très léger */
body.apple-premium:not([data-page="formulaire"]) .v243-equipment-media{
  background:linear-gradient(180deg,#f8fbff,#eef5fb)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-equipment-toggle{
  color:#096ab9!important;
}

/* FAQ claire */
body.apple-premium:not([data-page="formulaire"]) .v243-faq summary{
  color:#07101d!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-faq details p{
  color:var(--v243-light-muted)!important;
}

/* Carte : conserver le visuel cartographique sombre pour les repères, mais liste latérale claire */
body.apple-premium:not([data-page="formulaire"]) .v243-map-list button{
  background:#fff!important;
  color:#17344f!important;
  border-color:rgba(27,112,190,.15)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v243-map-list button:hover,
body.apple-premium:not([data-page="formulaire"]) .v243-map-list button.is-active{
  background:#eaf6ff!important;
  color:#07101d!important;
}

/* V242 : remettre les nouveaux blocs sur la logique visuelle claire de la V241 */
body.apple-premium:not([data-page="formulaire"]) .v242-trust{
  background:
    radial-gradient(circle at 12% 12%,rgba(53,194,255,.11),transparent 28%),
    radial-gradient(circle at 86% 8%,rgba(31,96,255,.07),transparent 24%),
    linear-gradient(180deg,#f8fbff,#eef5fb)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-trust::before{
  background-image:linear-gradient(rgba(20,87,143,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(20,87,143,.035) 1px,transparent 1px)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-stat,
body.apple-premium:not([data-page="formulaire"]) .v242-project-proof,
body.apple-premium:not([data-page="formulaire"]) .v242-testimonial-safe,
body.apple-premium:not([data-page="formulaire"]) .v242-local-card,
body.apple-premium:not([data-page="formulaire"]) .v242-local-fact,
body.apple-premium:not([data-page="formulaire"]) .v242-project-card,
body.apple-premium:not([data-page="formulaire"]) .v242-price-config{
  background:linear-gradient(155deg,#fff,#f7fbff)!important;
  border-color:rgba(27,112,190,.15)!important;
  box-shadow:var(--v243-light-shadow)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-stat strong,
body.apple-premium:not([data-page="formulaire"]) .v242-project-proof h3,
body.apple-premium:not([data-page="formulaire"]) .v242-testimonial-safe h3,
body.apple-premium:not([data-page="formulaire"]) .v242-project-card h3,
body.apple-premium:not([data-page="formulaire"]) .v242-local-card h3,
body.apple-premium:not([data-page="formulaire"]) .v242-local-fact strong,
body.apple-premium:not([data-page="formulaire"]) .v242-price-config h2,
body.apple-premium:not([data-page="formulaire"]) .v242-price-config h3{
  color:#07101d!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-stat span,
body.apple-premium:not([data-page="formulaire"]) .v242-project-list span,
body.apple-premium:not([data-page="formulaire"]) .v242-testimonial-safe p,
body.apple-premium:not([data-page="formulaire"]) .v242-testimonial-safe small,
body.apple-premium:not([data-page="formulaire"]) .v242-project-card p,
body.apple-premium:not([data-page="formulaire"]) .v242-local-card p,
body.apple-premium:not([data-page="formulaire"]) .v242-local-fact span{
  color:var(--v243-light-muted)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-filterbar{
  background:rgba(255,255,255,.92)!important;
  border-color:rgba(27,112,190,.14)!important;
  box-shadow:0 12px 36px rgba(31,76,120,.10)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-filterbar button{
  background:#f4f9fd!important;
  color:#183550!important;
  border-color:rgba(27,112,190,.12)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-filterbar button:hover,
body.apple-premium:not([data-page="formulaire"]) .v242-filterbar button.is-active{
  background:linear-gradient(135deg,#188cff,#35c2ff)!important;
  color:#03101f!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-config-field label{color:#285578!important}
body.apple-premium:not([data-page="formulaire"]) .v242-config-field select,
body.apple-premium:not([data-page="formulaire"]) .v242-config-field input{
  background:#fff!important;
  color:#07101d!important;
  border-color:rgba(27,112,190,.18)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-config-result{
  background:#eef8ff!important;
  border-color:rgba(27,112,190,.14)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-config-result strong{color:#07101d!important}
body.apple-premium:not([data-page="formulaire"]) .v242-config-result p{color:var(--v243-light-muted)!important}
body.apple-premium:not([data-page="formulaire"]) .v242-project-badges span{
  background:#eef8ff!important;
  color:#155a8c!important;
  border-color:rgba(27,112,190,.12)!important;
}
body.apple-premium:not([data-page="formulaire"]) .v242-local-card a{color:#096ab9!important}

/* Les cartes photo/vidéo gardent volontairement un overlay sombre : le texte blanc y reste lisible. */
body.apple-premium:not([data-page="formulaire"]) .v243-video-card,
body.apple-premium:not([data-page="formulaire"]) .v243-map,
body.apple-premium:not([data-page="formulaire"]) .v243-before-after,
body.apple-premium:not([data-page="formulaire"]) .v242-partner-card,
body.apple-premium:not([data-page="formulaire"]) .v242-video-stage{
  color:#fff;
}

/* Fond clair = titres et textes généraux redevenus visibles hors héros / bandes volontairement sombres */
body.apple-premium:not([data-page="formulaire"]) .section:not(.trust-section):not(.ai-compact-section) .section-header h1,
body.apple-premium:not([data-page="formulaire"]) .section:not(.trust-section):not(.ai-compact-section) .section-header h2,
body.apple-premium:not([data-page="formulaire"]) .section-tight:not(.v196-cta-section) .section-header h2{
  color:#07101d;
}

@media(max-width:720px){
  body.apple-premium:not([data-page="formulaire"]) .v243-card,
  body.apple-premium:not([data-page="formulaire"]) .v243-simulator,
  body.apple-premium:not([data-page="formulaire"]) .v242-price-config{
    box-shadow:0 14px 34px rgba(31,76,120,.08)!important;
  }
}

/* ---- v243-uniformite-falcon.css ---- */
/* V243.5 — Uniformisation graphique FALCON SAR 38
   Objectif : titres, sous-titres, CTA et accents cohérents sur tout le site.
*/
:root{
  --falcon-navy:#0B2F55;
  --falcon-title:#103C67;
  --falcon-blue:#0B67C2;
  --falcon-blue-2:#178FE5;
  --falcon-cyan:#16B7D9;
  --falcon-red:#D93B4B;
  --falcon-text:#243B53;
  --falcon-subtitle:#587087;
  --falcon-soft:#F3F8FC;
  --falcon-line:rgba(11,103,194,.16);
  --falcon-shadow:0 14px 36px rgba(27,72,112,.10);
  --category:#0B67C2;
  --category-2:#16B7D9;
}

/* Accents de catégorie — même charte, accent métier distinct */
body[data-page="captation-audiovisuelle"],
body[data-page="home"],
body[data-page="realisations"],
body[data-page="references"]{--category:#0B67C2;--category-2:#16B7D9}
body[data-page="inspection-technique"]{--category:#008CA8;--category-2:#23BDD2}
body[data-page="surete-securite-3s"]{--category:#5B5FC7;--category-2:#7B83E7}
body[data-page="sar-recherche-secours"]{--category:#168A63;--category-2:#39B98C}
body[data-page="appui-operationnel-ors"]{--category:#D85F18;--category-2:#F08A36}
body[data-page="securite-incendie"],
body[data-page="caisp"]{--category:#C83246;--category-2:#E35B68}
body[data-page="deneigement-robotise"]{--category:#4C7DAA;--category-2:#6EB7DA}
body[data-page="initiation-audit"]{--category:#3F5F7C;--category-2:#6386A5}

/* ----- Typographie : une seule logique visuelle ----- */
body.apple-premium h1,
body.apple-premium h2,
body.apple-premium h3,
body.apple-premium h4,
body.apple-premium .section-header h1,
body.apple-premium .section-header h2,
body.apple-premium .section-header h3,
body.apple-premium .v243-header h1,
body.apple-premium .v243-header h2,
body.apple-premium .v243-header h3,
body.apple-premium .card h3,
body.apple-premium .v243-card h2,
body.apple-premium .v243-card h3,
body.apple-premium .v241-trusted-card h3,
body.apple-premium .v173-proof-card h3,
body.apple-premium .falcon-trust-feedback-copy h4{
  color:var(--falcon-title)!important;
  -webkit-text-fill-color:var(--falcon-title)!important;
  text-shadow:none!important;
}

/* Sous-titres / textes d'introduction */
body.apple-premium .section-header > p,
body.apple-premium .section-header > div + p,
body.apple-premium .v243-header > p,
body.apple-premium .v243-header > div + p,
body.apple-premium .stage-subtitle,
body.apple-premium .lead:not(.hero .lead),
body.apple-premium .section-subtitle,
body.apple-premium .subtitle,
body.apple-premium .muted{
  color:var(--falcon-subtitle)!important;
  -webkit-text-fill-color:var(--falcon-subtitle)!important;
}

/* Kicker / eyebrow = accent de catégorie, partout identique */
body.apple-premium .kicker,
body.apple-premium .eyebrow,
body.apple-premium .v243-kicker,
body.apple-premium .capsule-tag,
body.apple-premium .v242-partner-copy .tag,
body.apple-premium .project-card .tag,
body.apple-premium .v223-category-code,
body.apple-premium .falcon-trust-feedback-copy > span,
body.apple-premium .v241-trusted-card > span,
body.apple-premium .v173-proof-card > span{
  color:var(--category)!important;
  -webkit-text-fill-color:var(--category)!important;
  border-color:color-mix(in srgb,var(--category) 26%, transparent)!important;
}

body.apple-premium .capsule-tag,
body.apple-premium .v242-partner-copy .tag,
body.apple-premium .project-card .tag,
body.apple-premium .v223-category-code{
  background:color-mix(in srgb,var(--category) 10%, white)!important;
}

/* Les zones volontairement sombres/photographiques gardent le contraste blanc. */
body.apple-premium .hero h1,
body.apple-premium .hero h2,
body.apple-premium .hero h3,
body.apple-premium .hero h4,
body.apple-premium .hero p,
body.apple-premium .hero .kicker,
body.apple-premium .service-hero h1,
body.apple-premium .service-hero h2,
body.apple-premium .service-hero h3,
body.apple-premium .service-hero p,
body.apple-premium .service-hero .kicker,
body.apple-premium .legal-hero h1,
body.apple-premium .legal-hero h2,
body.apple-premium .legal-hero p,
body.apple-premium .legal-hero .kicker,
body.apple-premium .cta-band h2,
body.apple-premium .cta-band h3,
body.apple-premium .cta-band p,
body.apple-premium .v196-cta-section h2,
body.apple-premium .v196-cta-section h3,
body.apple-premium .v196-cta-section p,
body.apple-premium .v242-video-copy h1,
body.apple-premium .v242-video-copy h2,
body.apple-premium .v242-video-copy h3,
body.apple-premium .v242-video-copy p,
body.apple-premium .v242-video-copy .kicker,
body.apple-premium .v242-partner-card h3,
body.apple-premium .v242-partner-card p,
body.apple-premium .v242-partner-card .tag,
body.apple-premium .v243-video-card,
body.apple-premium .v243-video-card strong,
body.apple-premium .v243-video-card small,
body.apple-premium .v243-map,
body.apple-premium .v243-map strong,
body.apple-premium .v243-map small,
body.apple-premium .v243-before-after,
body.apple-premium .footer,
body.apple-premium .footer h3,
body.apple-premium .footer h4,
body.apple-premium .footer p,
body.apple-premium .footer a,
body.apple-premium .ai-panel-card-premium,
body.apple-premium .ai-panel-card-premium h2,
body.apple-premium .ai-panel-card-premium h3,
body.apple-premium .ai-panel-card-premium p,
body.apple-premium .ai-panel-card-premium label,
body.apple-premium .urgent-strip h2,
body.apple-premium .urgent-strip h3,
body.apple-premium .urgent-strip p{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.apple-premium .hero h1 span,
body.apple-premium .service-hero h1 span,
body.apple-premium .legal-hero h1 span{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}

/* ----- Boutons : même forme, même hiérarchie ----- */
body.apple-premium .btn,
body.apple-premium a.btn,
body.apple-premium button.btn,
body.apple-premium .button,
body.apple-premium a.button,
body.apple-premium .contact-stage-button,
body.apple-premium .capsule-link{
  border-radius:14px!important;
  font-weight:800!important;
  letter-spacing:.005em!important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease!important;
}

body.apple-premium .btn-primary,
body.apple-premium a.btn-primary,
body.apple-premium button.btn-primary,
body.apple-premium .button.primary,
body.apple-premium .contact-stage-button{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,var(--category) 0%,var(--falcon-blue) 56%,var(--category-2) 118%)!important;
  border:1px solid color-mix(in srgb,var(--category) 72%, white)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--category) 24%, transparent)!important;
  text-shadow:none!important;
}
body.apple-premium .btn-primary:hover,
body.apple-premium a.btn-primary:hover,
body.apple-premium button.btn-primary:hover,
body.apple-premium .button.primary:hover,
body.apple-premium .contact-stage-button:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--category) 30%, transparent)!important;
}

body.apple-premium .btn-secondary,
body.apple-premium a.btn-secondary,
body.apple-premium button.btn-secondary,
body.apple-premium .btn-outline,
body.apple-premium .button.secondary{
  color:var(--category)!important;
  -webkit-text-fill-color:var(--category)!important;
  background:#fff!important;
  border:1px solid color-mix(in srgb,var(--category) 42%, white)!important;
  box-shadow:0 8px 22px rgba(24,67,103,.08)!important;
  text-shadow:none!important;
}
body.apple-premium .btn-secondary:hover,
body.apple-premium a.btn-secondary:hover,
body.apple-premium button.btn-secondary:hover,
body.apple-premium .btn-outline:hover,
body.apple-premium .button.secondary:hover{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:var(--category)!important;
  border-color:var(--category)!important;
  transform:translateY(-2px)!important;
}

body.apple-premium .btn-white,
body.apple-premium a.btn-white{
  color:var(--falcon-blue)!important;
  -webkit-text-fill-color:var(--falcon-blue)!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.16)!important;
}

/* Liens d'action secondaires */
body.apple-premium .arrow-link,
body.apple-premium .capsule-link,
body.apple-premium a[class*="link"]:not(.brand):not(.nav-link){
  color:var(--category)!important;
  -webkit-text-fill-color:var(--category)!important;
}

/* Cartes : même langage visuel, accent catégorie discret */
body.apple-premium .card,
body.apple-premium .v243-card,
body.apple-premium .v241-trusted-card,
body.apple-premium .v173-proof-card,
body.apple-premium .falcon-trust-feedback-card,
body.apple-premium .timeline-step,
body.apple-premium .capsule-card{
  border-color:var(--falcon-line)!important;
  box-shadow:var(--falcon-shadow)!important;
}
body.apple-premium .card:hover,
body.apple-premium .v243-card:hover,
body.apple-premium .v241-trusted-card:hover,
body.apple-premium .v173-proof-card:hover,
body.apple-premium .falcon-trust-feedback-card:hover,
body.apple-premium .capsule-card:hover{
  border-color:color-mix(in srgb,var(--category) 42%, white)!important;
}

/* Badges existants = palette métier cohérente */
body.apple-premium .badge-blue{background:rgba(11,103,194,.12)!important;color:#0B67C2!important}
body.apple-premium .badge-cyan{background:rgba(0,140,168,.12)!important;color:#008CA8!important}
body.apple-premium .badge-purple{background:rgba(91,95,199,.12)!important;color:#5B5FC7!important}
body.apple-premium .badge-green{background:rgba(22,138,99,.12)!important;color:#168A63!important}
body.apple-premium .badge-orange{background:rgba(216,95,24,.12)!important;color:#D85F18!important}
body.apple-premium .badge-red{background:rgba(200,50,70,.12)!important;color:#C83246!important}

/* Références réelles : bande horizontale nette, sans fausse citation */
.falcon-real-references{
  grid-column:1/-1;
  margin-top:18px;
  padding:24px;
  border:1px solid var(--falcon-line);
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#f6fbff);
  box-shadow:var(--falcon-shadow);
}
.falcon-real-references-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.falcon-real-references-head h3{margin:4px 0 0}
.falcon-real-references-head p{max-width:620px;margin:0;color:var(--falcon-subtitle)}
.falcon-real-references-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.falcon-real-reference-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--falcon-line);border-radius:18px;background:#fff;min-width:0}
.falcon-real-reference-card img{width:58px;height:58px;border-radius:14px;object-fit:cover;flex:none;background:#eef5fb}
.falcon-real-reference-card span{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--category);margin-bottom:4px}
.falcon-real-reference-card strong{display:block;color:var(--falcon-title);font-size:1rem;line-height:1.2}
.falcon-real-reference-card small{display:block;color:var(--falcon-subtitle);margin-top:4px;line-height:1.35}

@media(max-width:900px){
  .falcon-real-references-head{align-items:flex-start;flex-direction:column}
  .falcon-real-references-row{grid-template-columns:1fr}
}
@media(max-width:640px){
  body.apple-premium .btn,body.apple-premium a.btn,body.apple-premium button.btn{min-height:48px;padding:12px 16px!important}
  .falcon-real-references{padding:18px;border-radius:20px}
}

/* ---- v2437-no-bottom-mobile-nav.css ---- */
/* FALCON SAR 38 — V243.7 : suppression définitive de la barre mobile basse */
@media (max-width: 980px) {
  .m-bottom-nav,
  .mobile-bottom-nav,
  .mobile-bottom-menu,
  .mobile-nav-bottom,
  .bottom-mobile-nav,
  .bottom-nav,
  .bottom-menu,
  .app-bottom-nav,
  .app-tabbar,
  .mobile-dock,
  #m-bottom-nav,
  #mobile-bottom-nav,
  #mobile-bottom-menu,
  #app-bottom-nav,
  [data-mobile-bottom-nav],
  [data-bottom-mobile-nav],
  [data-mobile-dock] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: static !important;
    inset: auto !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }
  /* Aucun espace réservé à l'ancienne barre */
  body, main, .main, .page, .site-main { padding-bottom: 0 !important; }
  .m-final { padding-bottom: 32px !important; }
}

/* ---- v24313-remove-context-cta.css ---- */
/* V243.13 — suppression définitive du CTA contextuel "Parlons de votre mission" */
.v243-context-cta{display:none !important;}

/* ---- v245-contact-no-line-click-drones.css ---- */
/* V243.14 — retrait du trait CONTACT + nuée de mini-drones au clic */
.fs38-home-contact-original .fs38-contact-heading::before{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:none !important;
}

/* Particules drone déclenchées au clic / tap */
.fs38-click-drone-particle{
  position:fixed;
  left:0;
  top:0;
  width:var(--drone-size,28px);
  height:var(--drone-size,28px);
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-drag:none !important;
  z-index:2147483000;
  opacity:0;
  transform:translate3d(var(--start-x),var(--start-y),0) scale(.38) rotate(0deg);
  transform-origin:center;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.30)) drop-shadow(0 0 6px rgba(47,127,247,.34));
  animation:fs38DroneBurst var(--drone-duration,820ms) cubic-bezier(.16,.72,.24,1) forwards;
  will-change:transform,opacity,filter;
}
.fs38-click-drone-particle img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  pointer-events:none !important;
}
@keyframes fs38DroneBurst{
  0%{
    opacity:0;
    transform:translate3d(var(--start-x),var(--start-y),0) scale(.2) rotate(0deg);
  }
  10%{
    opacity:.98;
    transform:translate3d(calc(var(--start-x) + var(--dx) * .10),calc(var(--start-y) + var(--dy) * .10),0) scale(.92) rotate(calc(var(--rot) * .15));
  }
  62%{
    opacity:.90;
    transform:translate3d(calc(var(--start-x) + var(--dx) * .72),calc(var(--start-y) + var(--dy) * .72),0) scale(var(--drone-scale,1)) rotate(calc(var(--rot) * .78));
  }
  100%{
    opacity:0;
    transform:translate3d(calc(var(--start-x) + var(--dx)),calc(var(--start-y) + var(--dy)),0) scale(.44) rotate(var(--rot));
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.12)) blur(.7px);
  }
}
@media (max-width:640px){
  .fs38-click-drone-particle{
    filter:drop-shadow(0 4px 6px rgba(0,0,0,.26)) drop-shadow(0 0 4px rgba(47,127,247,.26));
  }
}
@media (prefers-reduced-motion:reduce){
  .fs38-click-drone-particle{animation-duration:360ms !important;}
}

/* ---- v24317-partner-logos-xl.css ---- */
/* V243.17 — logos partenaires réellement agrandis */
.v242-logo-marquee{
  padding:30px 0 34px !important;
  margin:22px 0 38px !important;
}
.v242-logo-track{
  gap:30px !important;
  animation-duration:42s !important;
}
.v242-logo-item{
  width:360px !important;
  height:190px !important;
  padding:10px 14px !important;
  border-radius:26px !important;
}
.v242-logo-item img{
  width:100% !important;
  height:100% !important;
  max-width:330px !important;
  max-height:158px !important;
  object-fit:contain !important;
  transform:scale(1.04);
}
@media (max-width:760px){
  .v242-logo-marquee{padding:22px 0 28px !important;}
  .v242-logo-track{gap:20px !important;animation-duration:36s !important;}
  .v242-logo-item{
    width:280px !important;
    height:152px !important;
    padding:8px 10px !important;
    border-radius:22px !important;
  }
  .v242-logo-item img{
    max-width:258px !important;
    max-height:128px !important;
    transform:scale(1.03);
  }
}

/* ---- v24318-gap-performance-readability.css ---- */
/* V243.18 — raccord urgence/galerie + audit lisibilité final + fluidité */

/* 1 — Aucun espace blanc entre Assistance urgente et la galerie immersive.
   ID + sélecteurs structuraux > anciennes règles génériques !important. */
body.apple-premium main > section#operations-assistance.fs38-home-ops-banners,
main > section#operations-assistance.fs38-home-ops-banners,
#operations-assistance.fs38-home-ops-banners{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  overflow:hidden !important;
}
#operations-assistance .fs38-metrics-banner,
#operations-assistance .fs38-urgent-banner{
  margin:0 !important;
  border:0 !important;
}
#operations-assistance .fs38-urgent-banner{padding:0 !important;}
body.apple-premium main > section#operations-assistance + section#galerie-immersive.v187-immersive-gallery,
main > section#operations-assistance + section#galerie-immersive.v187-immersive-gallery,
#operations-assistance + #galerie-immersive{
  margin:-2px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  background:#020812 !important;
  transform:none !important;
}
#galerie-immersive > .v187-gallery-sticky,
#galerie-immersive .v187-gallery-track,
#galerie-immersive .v187-gallery-item,
#galerie-immersive .v187-gallery-item img{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

/* 2 — Audit lisibilité final.
   La charte globale impose des titres bleu FALCON sur les surfaces claires.
   Ici on rétablit explicitement le blanc sur les composants réellement sombres. */
body.apple-premium :is(
  .card,.project-card,.sector-card,.sector-card-premium,.sector-card-v160,
  .reference-card,.price-card,.case-card,.equipment-card,.audit-card,
  .panel,.stat,.logo-cell,.mission-flow-step,.form-trust-panel,.notice-box,
  .yuneec-inline-card,.timeline-step,.capsule-card,.service-comparator,
  .zone-side-card,.zone-hotspot,.means-card,.means-summary-card,
  .v169-ref-card,.v172-price-card,.v172-home-price,.v173-price-card,
  .v173-mini-price,.v173-proof-card,.v173-steps article,.v173-devis-panel,
  .v177-need-card,.v178-trust-grid article,.v178-tier-grid article,
  .v178-prestation-grid article,.v178-deliverables-grid article,
  .v178-intervention-inner,.v178-proof-band,.v178-guided-form,
  .v236-card,.v236-step,.v233-equipment-card,.v241-trusted-card,
  .hero-ribbon-card,.proof-panel
) :is(h1,h2,h3,h4,h5,h6,strong){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:none !important;
}
body.apple-premium :is(
  .card,.project-card,.sector-card,.sector-card-premium,.sector-card-v160,
  .reference-card,.price-card,.case-card,.equipment-card,.audit-card,
  .panel,.stat,.logo-cell,.mission-flow-step,.form-trust-panel,.notice-box,
  .yuneec-inline-card,.timeline-step,.capsule-card,.service-comparator,
  .zone-side-card,.zone-hotspot,.means-card,.means-summary-card,
  .v169-ref-card,.v172-price-card,.v172-home-price,.v173-price-card,
  .v173-mini-price,.v173-proof-card,.v173-steps article,.v173-devis-panel,
  .v177-need-card,.v178-trust-grid article,.v178-tier-grid article,
  .v178-prestation-grid article,.v178-deliverables-grid article,
  .v178-intervention-inner,.v178-proof-band,.v178-guided-form,
  .v236-card,.v236-step,.v233-equipment-card,.v241-trusted-card,
  .hero-ribbon-card,.proof-panel
) :is(p,li,small,dd){
  color:rgba(244,249,255,.90) !important;
  -webkit-text-fill-color:rgba(244,249,255,.90) !important;
  text-shadow:none !important;
}

/* Surfaces photo / vidéo / urgence : texte blanc systématique. */
body.apple-premium :is(
  .hero,.service-hero,.legal-hero,.hero-banner,.immersive-card,.cta-band,
  .v196-cta-section,.v242-video-stage,.v242-video-copy,.v243-video-card,
  .v243-map,.v243-before-after,.urgent-strip,.emergency-contact,
  .fs38-metrics-banner,.fs38-urgent-banner,.v175-gallery-card
) :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,.kicker){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Surfaces explicitement claires : bleu/gris FALCON garanti. */
body.apple-premium:not([data-page="formulaire"]) :is(
  .form-panel,.featured-card,.feature-item,.info-card,.process .step,
  .sales-flow-grid article,.quote-preview-panel,.quote-sheet,.v236-form-card,
  .v236-info-card,.devis-reference-card,.falcon-trust-feedback-card,
  .v243-card,.v242-stat,.v242-project-proof,.v242-testimonial-safe,
  .v242-local-card,.v242-local-fact,.v242-project-card,.v242-price-config
) :is(h1,h2,h3,h4,h5,h6,strong){
  color:#103C67 !important;
  -webkit-text-fill-color:#103C67 !important;
}
body.apple-premium:not([data-page="formulaire"]) :is(
  .form-panel,.featured-card,.feature-item,.info-card,.process .step,
  .sales-flow-grid article,.quote-preview-panel,.quote-sheet,.v236-form-card,
  .v236-info-card,.devis-reference-card,.falcon-trust-feedback-card,
  .v243-card,.v242-stat,.v242-project-proof,.v242-testimonial-safe,
  .v242-local-card,.v242-local-fact,.v242-project-card,.v242-price-config
) :is(p,li,small,dd){
  color:#53657A !important;
  -webkit-text-fill-color:#53657A !important;
}

/* Formulaire sombre : ne jamais transformer ses champs en texte foncé. */
body[data-page="formulaire"].apple-premium input:not([type="range"]),
body[data-page="formulaire"].apple-premium textarea,
body[data-page="formulaire"].apple-premium select{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body[data-page="formulaire"].apple-premium input::placeholder,
body[data-page="formulaire"].apple-premium textarea::placeholder{
  color:#AEB8C8 !important;
  -webkit-text-fill-color:#AEB8C8 !important;
  opacity:1 !important;
}
/* Autres pages : champs clairs lisibles. */
body.apple-premium:not([data-page="formulaire"]) input:not([type="range"]),
body.apple-premium:not([data-page="formulaire"]) textarea,
body.apple-premium:not([data-page="formulaire"]) select{
  color:#173A5E;
}
body.apple-premium:not([data-page="formulaire"]) input::placeholder,
body.apple-premium:not([data-page="formulaire"]) textarea::placeholder{
  color:#6B7F93;
  opacity:1;
}

/* 3 — Fluidité : même rendu, moins de travail de composition. */
html{scroll-behavior:smooth;scrollbar-gutter:stable;}
.fs38-cursor-glow,.v177-drone-cursor,.topbar,.topbar .nav,.v187-gallery-track{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform-style:flat;
}
.v177-drone-cursor,.v187-gallery-track{will-change:transform;}
img,video{image-rendering:auto;}

@media(max-width:760px){
  body.apple-premium main > section#operations-assistance.fs38-home-ops-banners,
  main > section#operations-assistance.fs38-home-ops-banners,
  #operations-assistance.fs38-home-ops-banners{
    margin:0 !important;
    padding:0 !important;
  }
  #operations-assistance + #galerie-immersive{
    margin-top:-2px !important;
    padding-top:0 !important;
  }
}

/* ---- v24319-about-price-footer.css ---- */
/* FALCON SAR 38 — V243.19
   - CTA final directement raccordé au footer
   - aucune bande blanche sous la dernière bannière d'action
*/
main > .v196-cta-section:last-child,
main > section.v196-cta-section:last-child{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
main:has(> .v196-cta-section:last-child) + .footer.footer-refined{
  margin-top:0 !important;
}
body[data-page="a-propos"] main,
body[data-page="home"] main{
  margin-bottom:0 !important;
}
body[data-page="a-propos"] main > .v196-cta-section:last-child + *{
  margin-top:0 !important;
}
@media (max-width:760px){
  main > .v196-cta-section:last-child,
  main > section.v196-cta-section:last-child{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
  main:has(> .v196-cta-section:last-child) + .footer.footer-refined{
    margin-top:0 !important;
  }
}
/* Fallback sans dépendre de :has() pour la page À propos */
body[data-page="a-propos"] .footer.footer-refined{
  margin-top:0 !important;
}

/* ---- v24325-footer-readability-final.css ---- */
/* FALCON SAR 38 — V243.25
   Footer nettoyé + logo XXL + audit final de lisibilité + bannière stats à image unique. */

/* --------------------------------------------------------------------------
   1. Footer : suppression de l'emblème droit et logo principal XXL
   -------------------------------------------------------------------------- */
.footer.footer-refined{
  color:#e7eef8 !important;
}
.footer.footer-refined .footer-user-emblem-wrap,
.footer.footer-refined .footer-user-emblem{
  display:none !important;
}
.footer.footer-refined .footer-logo-main{
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  box-shadow:0 24px 52px rgba(0,0,0,.38),0 0 0 4px rgba(255,255,255,.07) !important;
}
.footer.footer-refined .footer-region,
.footer.footer-refined .footer-contact-stack a,
.footer.footer-refined .footer-contact-stack span,
.footer.footer-refined .footer-links-legal,
.footer.footer-refined .footer-links-legal a,
.footer.footer-refined .footer-copy,
.footer.footer-refined .footer-handle{
  color:#e8eef7 !important;
  -webkit-text-fill-color:#e8eef7 !important;
}
.footer.footer-refined .footer-legal-title{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.footer.footer-refined .footer-contact-stack .footer-urgent,
.footer.footer-refined .footer-contact-stack .footer-urgent *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.footer.footer-refined .footer-contact-stack .footer-urgent .label{
  color:#ff6961 !important;
  -webkit-text-fill-color:#ff6961 !important;
}
.footer.footer-refined .footer-accreditation{
  color:#ff9d53 !important;
  -webkit-text-fill-color:#ff9d53 !important;
}
.footer.footer-refined .footer-backtop,
.footer.footer-refined .footer-backtop span{
  color:#72b8ff !important;
  -webkit-text-fill-color:#72b8ff !important;
}

@media (min-width:1181px){
  .footer.footer-refined{
    padding:48px 28px 36px !important;
    min-height:390px !important;
  }
  .footer.footer-refined .footer-inner{
    width:min(1540px,100%) !important;
    display:grid !important;
    grid-template-columns:330px minmax(250px,1.15fr) minmax(220px,.92fr) minmax(190px,.78fr) 115px !important;
    grid-template-areas:
      "logo contact legal socials backtop"
      "logo contact legal handle backtop"
      "region copy accred accred backtop" !important;
    gap:18px 30px !important;
    align-items:center !important;
    text-align:left !important;
  }
  .footer.footer-refined .footer-logo-wrap{
    grid-area:logo !important;
    justify-content:flex-start !important;
    align-items:center !important;
    align-self:center !important;
    margin:0 !important;
    min-height:310px !important;
  }
  .footer.footer-refined .footer-logo-main{
    width:310px !important;
    height:310px !important;
    max-width:none !important;
  }
  .footer.footer-refined .footer-region{grid-area:region !important;margin:0 !important;}
  .footer.footer-refined .footer-contact-stack{grid-area:contact !important;}
  .footer.footer-refined .footer-links-legal{grid-area:legal !important;}
  .footer.footer-refined .footer-socials{grid-area:socials !important;}
  .footer.footer-refined .footer-handle{grid-area:handle !important;}
  .footer.footer-refined .footer-copy{grid-area:copy !important;}
  .footer.footer-refined .footer-accreditation{grid-area:accred !important;}
  .footer.footer-refined .footer-backtop{grid-area:backtop !important;}
}

@media (min-width:921px) and (max-width:1180px){
  .footer.footer-refined{
    padding:44px 24px 34px !important;
  }
  .footer.footer-refined .footer-inner{
    width:min(1160px,100%) !important;
    display:grid !important;
    grid-template-columns:255px minmax(220px,1fr) minmax(195px,.9fr) minmax(165px,.72fr) !important;
    grid-template-areas:
      "logo contact legal socials"
      "logo contact legal handle"
      "region copy accred accred"
      "backtop backtop backtop backtop" !important;
    gap:18px 22px !important;
  }
  .footer.footer-refined .footer-logo-wrap{
    grid-area:logo !important;
    align-self:center !important;
    justify-content:flex-start !important;
    margin:0 !important;
  }
  .footer.footer-refined .footer-logo-main{
    width:238px !important;
    height:238px !important;
  }
}

@media (max-width:920px){
  .footer.footer-refined .footer-logo-wrap{
    width:100% !important;
    justify-content:center !important;
    margin:0 auto 22px !important;
  }
  .footer.footer-refined .footer-logo-main{
    width:230px !important;
    height:230px !important;
    max-width:72vw !important;
  }
}
@media (max-width:520px){
  .footer.footer-refined .footer-logo-main{
    width:210px !important;
    height:210px !important;
    max-width:78vw !important;
  }
}

/* --------------------------------------------------------------------------
   2. Accueil : la bannière 0 / 85 % / 1000 / 100 % n'a qu'une seule image.
   L'ancien insert aérien est neutralisé même si un cache conserve le HTML.
   -------------------------------------------------------------------------- */
#operations-assistance .fs38-metrics-inset{
  display:none !important;
}
#operations-assistance .fs38-metrics-grid{
  padding-top:78px !important;
}
@media(max-width:900px){
  #operations-assistance .fs38-metrics-grid{padding-top:72px !important;}
}
@media(max-width:640px){
  #operations-assistance .fs38-metrics-grid{padding-top:70px !important;}
}

/* --------------------------------------------------------------------------
   3. Lisibilité globale : les anciennes feuilles avaient rendu certaines
   cartes BLANCHES avec du texte BLANC. Ces surfaces sont explicitement claires.
   -------------------------------------------------------------------------- */
body.apple-premium:not([data-page="formulaire"]) :is(
  .card,.project-card,.sector-card,.news-card,.team-card,
  .feature-item,.panel,.info-card,.logo-cell,.reference-card,
  .stats-bar .stat,.proof-panel,.sales-flow-grid article,
  .featured-card,.process .step,.quote-preview-panel,.quote-sheet,
  .devis-reference-card,.falcon-trust-feedback-card,
  .v243-card,.v243-sector-link,.v243-simulator,.v243-faq details,.v243-context-cta,
  .v242-stat,.v242-project-proof,.v242-testimonial-safe,.v242-local-card,
  .v242-local-fact,.v242-project-card,.v242-price-config,
  .v236-form-card,.v236-info-card,.v241-trusted-card
){
  color:#142a42 !important;
}
body.apple-premium:not([data-page="formulaire"]) :is(
  .card,.project-card,.sector-card,.news-card,.team-card,
  .feature-item,.panel,.info-card,.logo-cell,.reference-card,
  .stats-bar .stat,.proof-panel,.sales-flow-grid article,
  .featured-card,.process .step,.quote-preview-panel,.quote-sheet,
  .devis-reference-card,.falcon-trust-feedback-card,
  .v243-card,.v243-sector-link,.v243-simulator,.v243-faq details,.v243-context-cta,
  .v242-stat,.v242-project-proof,.v242-testimonial-safe,.v242-local-card,
  .v242-local-fact,.v242-project-card,.v242-price-config,
  .v236-form-card,.v236-info-card,.v241-trusted-card
) :is(h1,h2,h3,h4,h5,h6,strong,summary){
  color:#103c67 !important;
  -webkit-text-fill-color:#103c67 !important;
  text-shadow:none !important;
}
body.apple-premium:not([data-page="formulaire"]) :is(
  .card,.project-card,.sector-card,.news-card,.team-card,
  .feature-item,.panel,.info-card,.reference-card,
  .stats-bar .stat,.proof-panel,.sales-flow-grid article,
  .featured-card,.process .step,.quote-preview-panel,.quote-sheet,
  .devis-reference-card,.falcon-trust-feedback-card,
  .v243-card,.v243-sector-link,.v243-simulator,.v243-faq details,.v243-context-cta,
  .v242-stat,.v242-project-proof,.v242-testimonial-safe,.v242-local-card,
  .v242-local-fact,.v242-project-card,.v242-price-config,
  .v236-form-card,.v236-info-card,.v241-trusted-card
) :is(p,li,small,dd){
  color:#53657a !important;
  -webkit-text-fill-color:#53657a !important;
  text-shadow:none !important;
}
body.apple-premium:not([data-page="formulaire"]) .logo-cell{
  color:#344b63 !important;
  -webkit-text-fill-color:#344b63 !important;
}
body.apple-premium:not([data-page="formulaire"]) .stats-bar strong{
  color:#1477d4 !important;
  -webkit-text-fill-color:#1477d4 !important;
}

/* Cartes et sections réellement sombres/photo : blanc garanti. */
body.apple-premium :is(
  .hero,.hero-bg,.service-hero,.legal-hero,.hero-banner,
  .immersive-card,.v242-video-stage,.v242-video-copy,.v243-video-card,
  .v243-map,.v243-before-after,.urgent-strip,.emergency-contact,
  .fs38-metrics-banner,.fs38-urgent-banner,.v175-gallery-card,
  .cta-band,.v196-cta-fullbleed,.ai-assistant-panel,.ai-panel-card,
  .form-trust-panel,.notice-box.dark,.dark-panel
) :is(h1,h2,h3,h4,h5,h6,p,li,strong,small,label,span:not(.tag),summary){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Boutons : contraste explicite, quel que soit l'héritage du parent. */
body.apple-premium :is(.btn-primary,.btn.primary,.fs38-home-unified-cta,.v243-btn-primary),
body.apple-premium a:is(.btn-primary,.btn.primary,.fs38-home-unified-cta,.v243-btn-primary),
body.apple-premium button:is(.btn-primary,.btn.primary,.fs38-home-unified-cta,.v243-btn-primary){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body.apple-premium :is(.btn-white,a.btn-white,button.btn-white){
  color:#0d3d69 !important;
  -webkit-text-fill-color:#0d3d69 !important;
}
body.apple-premium :is(.btn-secondary,a.btn-secondary,button.btn-secondary){
  color:#164b78 !important;
  -webkit-text-fill-color:#164b78 !important;
}
body[data-page="formulaire"].apple-premium :is(.btn-secondary,a.btn-secondary,button.btn-secondary){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Champs clairs et sombres. */
body.apple-premium:not([data-page="formulaire"]) :is(input,textarea,select){
  color:#173a5e !important;
  -webkit-text-fill-color:#173a5e !important;
}
body.apple-premium:not([data-page="formulaire"]) :is(input,textarea)::placeholder{
  color:#65798e !important;
  -webkit-text-fill-color:#65798e !important;
  opacity:1 !important;
}
body[data-page="formulaire"].apple-premium :is(input,textarea,select){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body[data-page="formulaire"].apple-premium :is(input,textarea)::placeholder{
  color:#b7c2d2 !important;
  -webkit-text-fill-color:#b7c2d2 !important;
  opacity:1 !important;
}

/* Accessibilité au clavier et lisibilité des liens. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:3px solid #5bb5ff !important;
  outline-offset:3px !important;
}

/* V243.25b — surfaces claires restaurées explicitement après les anciens audits sombres. */
body.apple-premium:not([data-page="formulaire"]) :is(
  .card,.project-card,.sector-card,.news-card,.team-card,
  .feature-item,.panel,.info-card,.logo-cell,.reference-card,
  .stats-bar .stat,.proof-panel,.sales-flow-grid article,
  .featured-card,.process .step,.quote-preview-panel,.quote-sheet,
  .devis-reference-card,.falcon-trust-feedback-card,
  .v243-card,.v243-sector-link,.v243-simulator,.v243-faq details,.v243-context-cta,
  .v242-stat,.v242-project-proof,.v242-testimonial-safe,.v242-local-card,
  .v242-local-fact,.v242-project-card,.v242-price-config,
  .v236-form-card,.v236-info-card,
  .caisp-equipment-section .v233-equipment-card
){
  background:linear-gradient(155deg,#ffffff 0%,#f6faff 100%) !important;
  border-color:rgba(18,86,139,.14) !important;
  color:#142a42 !important;
}
/* La grille stats conserve une seule enveloppe blanche et des séparateurs discrets. */
body.apple-premium:not([data-page="formulaire"]) .stats-bar{
  background:#fff !important;
  border-color:rgba(18,86,139,.14) !important;
}
body.apple-premium:not([data-page="formulaire"]) .stats-bar .stat{
  background:transparent !important;
}

/* Tags / métadonnées de cartes claires : jamais blanc sur blanc. */
body.apple-premium:not([data-page="formulaire"]) :is(
  .card,.project-card,.sector-card,.news-card,.reference-card,
  .caisp-equipment-section .v233-equipment-card
) :is(.tag,.price-tag,.means-chip,.means-label){
  color:#145d91 !important;
  -webkit-text-fill-color:#145d91 !important;
  background:#eaf5ff !important;
  border-color:rgba(20,93,145,.16) !important;
}
body.apple-premium:not([data-page="formulaire"]) :is(
  .card,.project-card,.sector-card,.news-card,.reference-card
) :is(.meta,.meta span,.small){
  color:#65778a !important;
  -webkit-text-fill-color:#65778a !important;
}

/* CAISP : ces quatre cartes ont été volontairement repassées en clair. */
body.apple-premium:not([data-page="formulaire"]) .caisp-equipment-section .v233-equipment-card :is(h2,h3,h4,strong){
  color:#173a5e !important;
  -webkit-text-fill-color:#173a5e !important;
}
body.apple-premium:not([data-page="formulaire"]) .caisp-equipment-section .v233-equipment-card :is(p,li,small){
  color:#5a6e82 !important;
  -webkit-text-fill-color:#5a6e82 !important;
}

/* Les cartes v241 restent sombres : ne pas les transformer en texte foncé. */
body.apple-premium .v241-trusted-card :is(h2,h3,h4,strong){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body.apple-premium .v241-trusted-card :is(p,li,small){
  color:rgba(240,248,255,.86) !important;
  -webkit-text-fill-color:rgba(240,248,255,.86) !important;
}

/* Bouton secondaire utilisé dans un hero/CTA sombre : blanc. */
body.apple-premium :is(.hero,.service-hero,.legal-hero,.hero-banner,.v242-video-stage,.cta-band,.v196-cta-fullbleed,.ai-panel-card) :is(.btn-secondary,a.btn-secondary,button.btn-secondary){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

@media (min-width:1181px){
  .footer.footer-refined .footer-logo-main{
    width:330px !important;
    height:330px !important;
  }
  .footer.footer-refined .footer-logo-wrap{min-height:330px !important;}
}

/* ---- v24326-final-readability.css ---- */
/* V243.26 — Audit final lisibilité, contrastes et débordements
   Chargé EN DERNIER sur toutes les pages. */

:root{
  --fs38-ink:#132c46;
  --fs38-title:#103c67;
  --fs38-muted:#52677d;
  --fs38-blue:#1674d1;
  --fs38-blue-dark:#0d4d87;
  --fs38-line:rgba(18,86,139,.16);
  --fs38-light:#ffffff;
}

html,body{max-width:100%;overflow-x:clip;}
img,video,svg{max-width:100%;}

/* Les enfants de grilles/flex doivent pouvoir rétrécir sans pousser leur carte. */
:is(.container,.split,.card-grid,.feature-row,.info-cards,.process,.project-grid,.sector-grid,.news-grid,.form-grid,.v242-stat-grid,.v242-partner-grid,.falcon-trust-feedback-row) > *{
  min-width:0;
}

/* Typographie : aucun mot/URL ne doit sortir d'une carte. */
:is(h1,h2,h3,h4,h5,h6,p,li,dd,dt,summary,label,small,.footer-contact-stack a,.footer-links-legal a,.footer-accreditation){
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}

/* ---------- Boutons : contraste garanti et texte jamais coupé ---------- */
body .btn,
body a.btn,
body button.btn,
body .button,
body [role="button"]{
  max-width:100%;
  min-width:0;
  height:auto;
  white-space:normal;
  text-align:center;
  line-height:1.22;
  overflow-wrap:break-word;
}

body.apple-premium :is(.btn-primary,a.btn-primary,button.btn-primary,.button.primary,.fs38-home-unified-cta,.v243-btn-primary),
body :is(.btn-primary,a.btn-primary,button.btn-primary){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:linear-gradient(135deg,#208cff 0%,#1168d8 58%,#0b4fa8 100%) !important;
  border-color:rgba(26,115,255,.55) !important;
  text-shadow:none !important;
}

body.apple-premium :is(.btn-secondary,a.btn-secondary,button.btn-secondary,.btn-outline,a.btn-outline,button.btn-outline,.button.secondary),
body :is(.btn-secondary,a.btn-secondary,button.btn-secondary,.btn-outline,a.btn-outline,button.btn-outline){
  color:#0d4d87 !important;
  -webkit-text-fill-color:#0d4d87 !important;
  background:#fff !important;
  border:1px solid rgba(13,77,135,.28) !important;
  text-shadow:none !important;
}
body.apple-premium :is(.btn-secondary,a.btn-secondary,button.btn-secondary,.btn-outline,a.btn-outline,button.btn-outline):hover,
body :is(.btn-secondary,a.btn-secondary,button.btn-secondary,.btn-outline,a.btn-outline,button.btn-outline):hover{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#126ec4 !important;
  border-color:#126ec4 !important;
}

body.apple-premium :is(.btn-white,a.btn-white,button.btn-white),
body :is(.btn-white,a.btn-white,button.btn-white){
  color:#0d3d69 !important;
  -webkit-text-fill-color:#0d3d69 !important;
  background:#fff !important;
  border-color:rgba(255,255,255,.9) !important;
  text-shadow:none !important;
}

/* Les CTA d'urgence doivent rester contrastés même dans les notices rouges. */
body .notice-urgent :is(.btn-primary,a.btn-primary,button.btn-primary),
body .emergency-contact :is(.btn-primary,a.btn-primary,button.btn-primary){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:linear-gradient(135deg,#0f5fb8,#0a3e7f) !important;
  border-color:rgba(255,255,255,.45) !important;
}

/* ---------- À propos : statistiques blanches = textes foncés ---------- */
body.apple-premium .hero-banner .stats-bar,
body.apple-premium .stats-bar{
  background:#fff !important;
  color:var(--fs38-ink) !important;
}
body.apple-premium .hero-banner .stats-bar .stat,
body.apple-premium .stats-bar .stat{
  background:transparent !important;
  color:var(--fs38-ink) !important;
}
body.apple-premium .hero-banner .stats-bar .stat strong,
body.apple-premium .stats-bar .stat strong{
  color:#126fc6 !important;
  -webkit-text-fill-color:#126fc6 !important;
  text-shadow:none !important;
}
body.apple-premium .hero-banner .stats-bar .stat span,
body.apple-premium .stats-bar .stat span{
  color:#53677d !important;
  -webkit-text-fill-color:#53677d !important;
  text-shadow:none !important;
}

/* ---------- Texte sur image : rétablir un vrai voile de contraste ---------- */
body.apple-premium .immersive-card::before{
  opacity:1 !important;
  display:block !important;
  background:
    linear-gradient(90deg,rgba(3,10,22,.92) 0%,rgba(3,10,22,.80) 38%,rgba(3,10,22,.48) 68%,rgba(3,10,22,.26) 100%),
    linear-gradient(180deg,rgba(3,10,22,.16) 0%,rgba(3,10,22,.34) 50%,rgba(3,10,22,.88) 100%) !important;
}
body.apple-premium .immersive-card :is(h1,h2,h3,h4,p,strong,small,.kicker){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:0 2px 16px rgba(0,0,0,.58) !important;
}
body.apple-premium .hero-mosaic-card::before{
  opacity:1 !important;
  display:block !important;
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(2,8,18,.04) 35%,rgba(2,8,18,.78) 100%) !important;
  pointer-events:none;
}
body.apple-premium .hero-mosaic-card > *{position:relative;z-index:1;}
body.apple-premium .hero-mosaic-card span{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.65) !important;
}

/* ---------- Formulaire sombre : cartes claires = textes foncés ---------- */
body[data-page="formulaire"].apple-premium :is(.info-card,.process .step,.faq details,.quote-preview-panel,.quote-sheet){
  background:linear-gradient(155deg,#fff 0%,#f4f8fc 100%) !important;
  border-color:rgba(18,86,139,.16) !important;
  color:var(--fs38-ink) !important;
}
body[data-page="formulaire"].apple-premium .info-card :is(h3,h4,h5,strong),
body[data-page="formulaire"].apple-premium .process .step :is(h3,h4,h5),
body[data-page="formulaire"].apple-premium .faq details :is(summary,strong){
  color:#173a5e !important;
  -webkit-text-fill-color:#173a5e !important;
  text-shadow:none !important;
}
body[data-page="formulaire"].apple-premium :is(.info-card,.process .step,.faq details) :is(p,li,small){
  color:#586d82 !important;
  -webkit-text-fill-color:#586d82 !important;
  text-shadow:none !important;
}
body[data-page="formulaire"].apple-premium .process .step > strong{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#1a73ff !important;
}
body[data-page="formulaire"].apple-premium main > .section-tight .section-header h2{
  color:#f7fbff !important;
  -webkit-text-fill-color:#f7fbff !important;
  text-shadow:none !important;
}
body[data-page="formulaire"].apple-premium .quote-status{
  color:#0d548f !important;
  -webkit-text-fill-color:#0d548f !important;
}

/* ---------- Champs et listes ---------- */
body.apple-premium:not([data-page="formulaire"]) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){
  color:#173a5e !important;
  -webkit-text-fill-color:#173a5e !important;
  background:#fff !important;
  border-color:rgba(18,86,139,.24) !important;
}
body.apple-premium:not([data-page="formulaire"]) :is(input,textarea)::placeholder{
  color:#63788e !important;
  -webkit-text-fill-color:#63788e !important;
  opacity:1 !important;
}
body select option{
  color:#122f4b !important;
  background:#fff !important;
}

/* ---------- Skip link clavier ---------- */
.skip-link:focus,
.skip-link:focus-visible{
  left:12px !important;
  top:12px !important;
  width:auto !important;
  height:auto !important;
  padding:10px 14px !important;
  overflow:visible !important;
  color:#0b3f6d !important;
  -webkit-text-fill-color:#0b3f6d !important;
  background:#fff !important;
  border:2px solid #1a73ff !important;
  z-index:99999 !important;
}

/* ---------- Footer : texte et liens toujours lisibles ---------- */
.footer.footer-refined,
.footer.footer-refined :is(p,span,small,strong,a,div){
  text-shadow:none;
}
.footer.footer-refined .footer-contact-stack a,
.footer.footer-refined .footer-links-legal a,
.footer.footer-refined .footer-copy,
.footer.footer-refined .footer-handle{
  color:#f2f7ff !important;
  -webkit-text-fill-color:#f2f7ff !important;
}
.footer.footer-refined .footer-legal-title,
.footer.footer-refined .footer-region{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.footer.footer-refined .footer-accreditation{
  color:#ff9c4a !important;
  -webkit-text-fill-color:#ff9c4a !important;
  line-height:1.35 !important;
}

/* ---------- Mobile : actions flottantes compactes, aucun contenu masqué ---------- */
@media(max-width:640px){
  .floating-actions{
    right:10px !important;
    bottom:10px !important;
    gap:8px !important;
  }
  .floating-actions .floating-btn{
    width:50px !important;
    min-width:50px !important;
    max-width:50px !important;
    height:50px !important;
    min-height:50px !important;
    padding:0 !important;
    border-radius:50% !important;
    gap:0 !important;
    overflow:hidden !important;
  }
  .floating-actions .floating-btn > span:not(.floating-icon){display:none !important;}
  .floating-actions .floating-icon{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    font-size:13px !important;
  }

  /* Les héros secondaires grandissent avec leur contenu au lieu de le couper. */
  body.apple-premium :is(.hero.page-header,.service-hero,.legal-hero){
    height:auto !important;
    min-height:0 !important;
    overflow-x:clip !important;
    overflow-y:visible !important;
  }
  body.apple-premium :is(.hero.page-header .hero-inner,.service-hero .service-hero-inner,.legal-hero > .container){
    height:auto !important;
    min-height:0 !important;
    padding-bottom:48px !important;
  }

  body .btn,body a.btn,body button.btn{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .footer.footer-refined .footer-accreditation,
  .footer.footer-refined .footer-contact-stack a,
  .footer.footer-refined .footer-links-legal a{
    overflow-wrap:anywhere;
  }
}

/* 320 px : aucune carte ou bouton ne force la largeur de l'écran. */
@media(max-width:360px){
  :is(.card,.project-card,.sector-card,.panel,.info-card,.feature-item,.process .step,.v243-card,.v242-stat,.falcon-trust-feedback-card){
    max-width:100% !important;
    min-width:0 !important;
  }
  body .btn,body a.btn,body button.btn{font-size:.9rem !important;}
}

/* V243.26b — priorité supérieure aux anciens sélecteurs contextuels. */
body.apple-premium :is(.hero,.service-hero,.legal-hero,.hero-banner,.v242-video-stage,.cta-band,.v196-cta-fullbleed,.ai-panel-card,.immersive-card) :is(a.btn.btn-secondary,button.btn.btn-secondary,.btn.btn-secondary,a.btn.btn-outline,button.btn.btn-outline,.btn.btn-outline){
  color:#0d4d87 !important;
  -webkit-text-fill-color:#0d4d87 !important;
  background:#fff !important;
  border-color:rgba(255,255,255,.88) !important;
  text-shadow:none !important;
}
body.apple-premium :is(.hero,.service-hero,.legal-hero,.hero-banner,.v242-video-stage,.cta-band,.v196-cta-fullbleed,.ai-panel-card,.immersive-card) :is(a.btn.btn-secondary,button.btn.btn-secondary,.btn.btn-secondary,a.btn.btn-outline,button.btn.btn-outline,.btn.btn-outline):hover{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#126ec4 !important;
  border-color:#126ec4 !important;
}
body.apple-premium .notice.notice-urgent a.btn.btn-primary,
body.apple-premium .notice.notice-urgent button.btn.btn-primary,
body.apple-premium .emergency-contact a.btn.btn-primary{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:linear-gradient(135deg,#0f5fb8,#0a3e7f) !important;
  border-color:rgba(255,255,255,.48) !important;
}
body.apple-premium .process .step > strong{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#1a73ff !important;
}
.skip-link{
  color:#0b3f6d !important;
  -webkit-text-fill-color:#0b3f6d !important;
  background:#fff !important;
}
body[data-page="netlify-forms"].apple-premium .burger{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#07172a !important;
  border-color:rgba(255,255,255,.16) !important;
}
body[data-page="netlify-forms"].apple-premium .burger .burger-label{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* V243.26c — dernière passe d'audit automatique. */
html body.apple-premium .process .step > strong{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#1a73ff !important;
  border-color:#1a73ff !important;
}
html body.apple-premium a.skip-link{
  color:#0b3f6d !important;
  -webkit-text-fill-color:#0b3f6d !important;
  background:#fff !important;
  border:2px solid #0b3f6d !important;
}
/* Page technique Netlify : aucun panneau hors écran n'est utile à l'utilisateur. */
body[data-page="netlify-forms"].apple-premium .nav-panel,
body[data-page="netlify-forms"].apple-premium .floating-actions{
  display:none !important;
}
@media(max-width:640px){
  .floating-ai::after{display:none !important;}
}
/* Panneaux sombres de préqualification : contraste garanti. */
body.apple-premium .v242-prequal,
body.apple-premium .v242-prequal :is(h2,h3,h4,strong,label,.kicker,.v242-prequal-status,.v242-ref,.v242-estimate,p,small,span,li){
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body.apple-premium .v242-prequal :is(input,select,textarea){
  color:#10243f !important;
  -webkit-text-fill-color:#10243f !important;
  background:#fff !important;
}

/* V243.26d — spécificité maximale sur les rares conflits hérités. */
html body.apple-premium[data-page] .process .step > strong{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#126ec4 !important;
  border-color:#126ec4 !important;
}
html body.apple-premium[data-page] > a.skip-link,
html body.apple-premium[data-page] a.skip-link{
  color:#0b3f6d !important;
  -webkit-text-fill-color:#0b3f6d !important;
  background:#fff !important;
  border-color:#0b3f6d !important;
}

/* ---- v24327-final-exploitable.css ---- */
/* FALCON SAR 38 — V243.27 FINAL EXPLOITABLE
   Dernière couche de sûreté visuelle, volontairement ciblée.
   Chargée après toutes les autres feuilles afin d'empêcher les régressions
   de contraste, débordement et superposition sans changer la charte. */

html,body{max-width:100%;overflow-x:clip!important;}
*,*::before,*::after{box-sizing:border-box;}
img,video,canvas,svg{max-width:100%;}

/* Les enfants flex/grid peuvent toujours rétrécir. */
:is(.container,.wrap,.split,.grid,.cards,.card-grid,.project-grid,.sector-grid,.reference-grid,.equipment-grid,.feature-row,.info-cards,.process,.form-grid,.v242-stat-grid,.v242-partner-grid,.falcon-trust-feedback-row,.footer-inner)>*{min-width:0!important;}

/* Aucun texte, mail, URL ou libellé ne sort de son cadre. */
:is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,summary,label,small,strong,span,a,button,td,th,.footer-accreditation,.footer-contact-stack a,.footer-links-legal a){
  max-width:100%;overflow-wrap:break-word;word-break:normal;
}
:is(.footer-contact-stack a,.footer-links-legal a,.footer-accreditation,.fs38-contact-detail){overflow-wrap:anywhere;}

/* Boutons : texte toujours contenu et contrastes déjà validés en V243.26. */
body .btn,body a.btn,body button.btn,body .button,body [role="button"],body .fs38-contact-wide-cta{
  max-width:100%!important;min-width:0!important;height:auto!important;min-height:44px;
  white-space:normal!important;overflow-wrap:break-word!important;line-height:1.22!important;text-align:center!important;
}
body :is(.btn-primary,a.btn-primary,button.btn-primary,.button.primary,.fs38-home-unified-cta,.v243-btn-primary,.fs38-contact-wide-cta){
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,#208cff 0%,#1168d8 58%,#0b4fa8 100%)!important;
  border-color:rgba(26,115,255,.60)!important;text-shadow:none!important;
}
body :is(.btn-secondary,a.btn-secondary,button.btn-secondary,.btn-outline,a.btn-outline,button.btn-outline,.button.secondary){
  color:#0d4d87!important;-webkit-text-fill-color:#0d4d87!important;background:#fff!important;
  border:1px solid rgba(13,77,135,.30)!important;text-shadow:none!important;
}
body :is(.btn-secondary,a.btn-secondary,button.btn-secondary,.btn-outline,a.btn-outline,button.btn-outline,.button.secondary):hover{
  color:#fff!important;-webkit-text-fill-color:#fff!important;background:#126ec4!important;border-color:#126ec4!important;
}
body .notice-urgent :is(.btn,.btn-primary),body .emergency-contact :is(.btn,.btn-primary){
  color:#fff!important;-webkit-text-fill-color:#fff!important;background:#0b559e!important;border-color:rgba(255,255,255,.50)!important;
}

/* Formulaire : panneaux sombres et cartes internes claires ont chacun leur contraste. */
body[data-page="formulaire"].apple-premium .panel{color:#fff!important;}
body[data-page="formulaire"].apple-premium .panel :is(h1,h2,h3,h4,h5,h6,strong,label,.section-title){
  color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important;
}
body[data-page="formulaire"].apple-premium .panel :is(p,li,small,.muted){
  color:#c8d4e2!important;-webkit-text-fill-color:#c8d4e2!important;
}
body[data-page="formulaire"].apple-premium :is(.info-card,.process .step,.faq details,.quote-preview-panel,.quote-sheet){
  color:#132c46!important;
}
body[data-page="formulaire"].apple-premium :is(.info-card,.process .step,.faq details,.quote-preview-panel,.quote-sheet) :is(h2,h3,h4,h5,h6,strong,summary){
  color:#173a5e!important;-webkit-text-fill-color:#173a5e!important;text-shadow:none!important;
}
body[data-page="formulaire"].apple-premium :is(.info-card,.process .step,.faq details,.quote-preview-panel,.quote-sheet) :is(p,li,small){
  color:#586d82!important;-webkit-text-fill-color:#586d82!important;text-shadow:none!important;
}

/* Champs : aucun texte de saisie ne se confond avec son fond. */
body :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){max-width:100%!important;min-width:0!important;}
body.apple-premium:not([data-page="formulaire"]) :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){
  color:#173a5e!important;-webkit-text-fill-color:#173a5e!important;background:#fff!important;border-color:rgba(18,86,139,.26)!important;
}
body.apple-premium:not([data-page="formulaire"]) :is(input,textarea)::placeholder{
  color:#60768d!important;-webkit-text-fill-color:#60768d!important;opacity:1!important;
}
body[data-page="formulaire"].apple-premium :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){
  color:#fff!important;-webkit-text-fill-color:#fff!important;background:rgba(0,0,0,.42)!important;border-color:rgba(255,255,255,.22)!important;
}
body[data-page="formulaire"].apple-premium :is(input,textarea)::placeholder{
  color:#c0cad8!important;-webkit-text-fill-color:#c0cad8!important;opacity:1!important;
}
body select option{color:#122f4b!important;background:#fff!important;}

/* Héros : aucun titre n'est rogné par un ancien overflow. */
body.apple-premium :is(.hero.page-header,.service-hero,.legal-hero){overflow-x:clip!important;overflow-y:visible!important;}
body.apple-premium :is(.hero.page-header,.service-hero,.legal-hero) h1{
  max-width:100%!important;overflow:visible!important;overflow-wrap:break-word!important;
}

/* Tables et comparateurs. */
table{max-width:100%;}
th,td{overflow-wrap:break-word;word-break:normal;vertical-align:top;}

/* Accueil : le numéro de la bannière urgence reste intégralement dans l'écran. */
.fs38-urgent-phone{max-width:100%!important;white-space:nowrap!important;box-sizing:border-box!important;}
.fs38-urgent-right{min-width:0!important;}

/* Lien d'évitement : invisible hors focus, contrasté au clavier.
   Corrige les dernières alertes d'accessibilité détectées. */
html body a.skip-link:not(:focus):not(:focus-visible){
  position:fixed!important;left:0!important;top:0!important;width:1px!important;height:1px!important;
  padding:0!important;margin:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;
  color:#0b3f6d!important;-webkit-text-fill-color:#0b3f6d!important;background:#fff!important;border:0!important;
}
html body a.skip-link:focus,html body a.skip-link:focus-visible{
  position:fixed!important;left:12px!important;top:12px!important;width:auto!important;height:auto!important;
  clip-path:none!important;overflow:visible!important;padding:10px 14px!important;
  color:#0b3f6d!important;-webkit-text-fill-color:#0b3f6d!important;background:#fff!important;
  border:2px solid #0b3f6d!important;border-radius:10px!important;z-index:999999!important;
}

/* Footer : tous les textes restent francs et le logo XXL reste contenu. */
.footer.footer-refined{overflow:hidden!important;}
.footer.footer-refined .footer-logo-wrap{min-width:0!important;overflow:visible!important;}
.footer.footer-refined .footer-logo-main{object-fit:contain!important;max-width:100%!important;height:auto!important;}
.footer.footer-refined :is(.footer-contact-stack a,.footer-links-legal a,.footer-copy,.footer-handle,.footer-region,.footer-legal-title){
  color:#f5f8ff!important;-webkit-text-fill-color:#f5f8ff!important;
}
.footer.footer-refined .footer-accreditation{color:#ff9c4a!important;-webkit-text-fill-color:#ff9c4a!important;}
.footer.footer-refined .footer-urgent{color:#fff!important;-webkit-text-fill-color:#fff!important;}

@media(min-width:1320px){
  .footer.footer-refined .footer-inner{
    grid-template-columns:minmax(300px,340px) minmax(220px,1fr) minmax(210px,.9fr) minmax(210px,.8fr) 90px!important;
  }
  .footer.footer-refined .footer-logo-main{width:300px!important;max-height:300px!important;}
}
@media(min-width:1121px) and (max-width:1319px){
  .footer.footer-refined .footer-inner{
    grid-template-columns:230px minmax(200px,1fr) minmax(180px,.9fr) minmax(180px,.8fr) 70px!important;
    gap:18px!important;
  }
  .footer.footer-refined .footer-logo-main{width:220px!important;max-height:220px!important;}
}
@media(max-width:920px){
  .footer.footer-refined .footer-logo-main{width:min(280px,72vw)!important;max-height:280px!important;margin-inline:auto!important;}
}

@media(max-width:640px){
  /* Les actions flottantes ne couvrent plus le texte : IA placée dans la zone du header, bouton Haut masqué. */
  .floating-actions{
    position:fixed!important;top:17px!important;right:78px!important;bottom:auto!important;
    display:block!important;width:42px!important;height:42px!important;z-index:9001!important;
  }
  .floating-actions .floating-top{display:none!important;}
  .floating-actions .floating-ai{
    width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;
    padding:0!important;border-radius:50%!important;overflow:hidden!important;
  }
  .floating-actions .floating-ai>span:not(.floating-icon){display:none!important;}
  .floating-actions .floating-ai .floating-icon{width:34px!important;height:34px!important;min-width:34px!important;font-size:11px!important;}

  body.apple-premium :is(.hero.page-header,.service-hero,.legal-hero){
    height:auto!important;min-height:0!important;padding-top:130px!important;padding-bottom:58px!important;
  }
  body.apple-premium :is(.hero.page-header .hero-inner,.service-hero .service-hero-inner,.legal-hero>.container){
    height:auto!important;min-height:0!important;padding-bottom:0!important;
  }
  body.apple-premium :is(.hero.page-header,.service-hero,.legal-hero) h1{
    font-size:clamp(2rem,10vw,3.15rem)!important;line-height:1.04!important;
  }

  .fs38-urgent-phone{font-size:clamp(1.55rem,8.1vw,2.1rem)!important;padding:10px 12px!important;letter-spacing:.035em!important;}
  .fs38-urgent-note{max-width:100%!important;padding-inline:8px!important;}
  table{font-size:.92rem!important;}
  th,td{padding-left:10px!important;padding-right:10px!important;}
  body .btn,body a.btn,body button.btn{padding-left:13px!important;padding-right:13px!important;}
  .footer.footer-refined .footer-logo-main{width:min(300px,84vw)!important;max-height:300px!important;}
}

@media(max-width:360px){
  body .btn,body a.btn,body button.btn{font-size:.88rem!important;}
  .fs38-urgent-phone{font-size:1.55rem!important;letter-spacing:.02em!important;}
  :is(.card,.project-card,.sector-card,.info-card,.feature-item,.process .step,.v243-card,.v242-stat,.falcon-trust-feedback-card){max-width:100%!important;min-width:0!important;}
}

/* ---- v24328-header-responsive-final.css ---- */
/* FALCON SAR 38 — V243.28 HEADER RESPONSIVE FINAL
   Règle terminale : neutralise les anciens breakpoints contradictoires
   sans modifier le design général du site. */

.topbar .nav{
  box-sizing:border-box!important;
}
.topbar .brand{
  min-width:0!important;
  max-width:100%!important;
}
.topbar .brand-text{
  min-width:0!important;
  max-width:100%!important;
}
.topbar .brand-text strong,
.topbar .brand-text small{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.topbar .nav-urgent-round,
.topbar .burger{
  flex-shrink:0!important;
}

/* Tablette / petit laptop : le header reste sur une seule ligne. */
@media (min-width:701px) and (max-width:1120px){
  .topbar{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .topbar:not(.is-compact) .nav{
    width:calc(100vw - 20px)!important;
    max-width:1100px!important;
    min-height:62px!important;
    padding:7px 9px!important;
    gap:8px!important;
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    overflow:visible!important;
  }
  .topbar:not(.is-compact) .brand{
    flex:1 1 auto!important;
    width:auto!important;
    margin-right:0!important;
    gap:8px!important;
    overflow:hidden!important;
  }
  .topbar:not(.is-compact) .brand-badge{
    width:46px!important;
    height:46px!important;
    flex:0 0 46px!important;
    padding:4px!important;
  }
  .topbar:not(.is-compact) .brand-text{
    flex:1 1 auto!important;
    width:auto!important;
    overflow:hidden!important;
  }
  .topbar:not(.is-compact) .brand-text strong{
    display:block!important;
    font-size:1rem!important;
    line-height:1.05!important;
    letter-spacing:.025em!important;
    white-space:nowrap!important;
  }
  /* Le sous-titre est le premier élément sacrifié sur tablette :
     l'identité FALCON SAR 38 reste lisible et aucune commande ne déborde. */
  .topbar:not(.is-compact) .brand-text small{
    display:none!important;
  }
  .topbar:not(.is-compact) .nav-urgent-round{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    flex:0 0 40px!important;
    margin:0!important;
  }
  .topbar:not(.is-compact) .burger{
    display:inline-flex!important;
    width:auto!important;
    min-width:84px!important;
    height:42px!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0 9px!important;
    gap:5px!important;
  }
  .topbar:not(.is-compact) .burger-label{
    display:inline-block!important;
    font-size:.58rem!important;
    letter-spacing:.11em!important;
    white-space:nowrap!important;
  }
  .topbar:not(.is-compact) .burger span{
    width:14px!important;
    height:2px!important;
  }
}

/* Smartphone large et standard : commandes prioritaires, nom masqué pour éviter tout chevauchement. */
@media (max-width:700px){
  .topbar{
    padding-left:6px!important;
    padding-right:6px!important;
  }
  .topbar:not(.is-compact) .nav{
    width:calc(100vw - 12px)!important;
    min-height:54px!important;
    padding:6px 7px!important;
    gap:6px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    overflow:visible!important;
  }
  .topbar:not(.is-compact) .brand{
    flex:1 1 auto!important;
    min-width:38px!important;
    width:auto!important;
    margin:0!important;
    gap:0!important;
    overflow:hidden!important;
  }
  .topbar:not(.is-compact) .brand-badge{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    padding:3px!important;
  }
  .topbar:not(.is-compact) .brand-text{
    display:none!important;
  }
  .topbar:not(.is-compact) .nav-urgent-round{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    flex:0 0 38px!important;
    margin:0!important;
  }
  .topbar:not(.is-compact) .burger{
    display:inline-flex!important;
    width:auto!important;
    min-width:74px!important;
    height:40px!important;
    flex:0 0 74px!important;
    margin:0!important;
    padding:0 7px!important;
    gap:4px!important;
  }
  .topbar:not(.is-compact) .burger-label{
    display:inline-block!important;
    font-size:.52rem!important;
    letter-spacing:.09em!important;
    white-space:nowrap!important;
  }
  .topbar:not(.is-compact) .burger span{
    width:12px!important;
    height:1.8px!important;
  }
}

/* Très petit écran : conserve au minimum logo + urgence + menu sans overflow. */
@media (max-width:360px){
  .topbar:not(.is-compact) .nav{
    gap:4px!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
  .topbar:not(.is-compact) .brand-badge{
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
  }
  .topbar:not(.is-compact) .nav-urgent-round{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    flex-basis:36px!important;
  }
  .topbar:not(.is-compact) .burger{
    min-width:68px!important;
    flex-basis:68px!important;
    height:38px!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
}

/* État compact : garde le module volontairement minimaliste et toujours dans le viewport. */
@media (max-width:1120px){
  .topbar.is-compact{
    padding-left:0!important;
    padding-right:0!important;
  }
  .topbar.is-compact .nav{
    width:max-content!important;
    max-width:calc(100vw - 12px)!important;
    min-width:0!important;
    margin-left:6px!important;
    margin-right:auto!important;
    overflow:visible!important;
  }
  .topbar.is-compact .brand-text,
  .topbar.is-compact .nav-urgent-round{
    display:none!important;
  }
  .topbar.is-compact .brand-badge{
    flex-shrink:0!important;
  }
  .topbar.is-compact .burger{
    flex-shrink:0!important;
    white-space:nowrap!important;
  }
}

/* Panneau de menu : toujours contenu dans le viewport tablette/mobile. */
@media (max-width:1120px){
  .topbar .nav-panel,
  body > .nav-panel.fs147-mobile-panel{
    max-width:calc(100vw - 20px)!important;
    box-sizing:border-box!important;
  }
}

/* ---- v24329-ai-vertical-bubble.css ---- */
/* V243.29 — Assistant IA en grande bulle verticale */
#ai-assistant-panel.ai-assistant-panel,
.ai-assistant-panel{
  position:fixed !important;
  inset:auto auto 22px 22px !important;
  top:auto !important;
  right:auto !important;
  left:22px !important;
  bottom:22px !important;
  width:min(455px,calc(100vw - 44px)) !important;
  height:min(790px,calc(100dvh - 118px)) !important;
  max-height:calc(100dvh - 118px) !important;
  padding:0 !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  background:transparent !important;
  backdrop-filter:none !important;
  overflow:visible !important;
  pointer-events:none !important;
  z-index:2147483100 !important;
}
#ai-assistant-panel.ai-assistant-panel.is-open,
.ai-assistant-panel.is-open{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
}
#ai-assistant-panel .ai-panel-card,
.ai-assistant-panel .ai-panel-card,
#ai-assistant-panel .ai-panel-card-premium,
#ai-assistant-panel .ai-panel-card-v116{
  position:relative !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:28px 24px 30px !important;
  border-radius:44px !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  pointer-events:auto !important;
  color:#f7fbff !important;
  background:
    radial-gradient(circle at 18% 3%,rgba(35,143,255,.24),transparent 28%),
    linear-gradient(165deg,rgba(5,13,30,.985),rgba(5,24,55,.97) 62%,rgba(3,13,31,.99)) !important;
  border:1px solid rgba(126,198,255,.30) !important;
  box-shadow:0 30px 90px rgba(0,15,45,.46),0 10px 32px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.13) !important;
  backdrop-filter:blur(26px) saturate(145%) !important;
  transform:translateY(28px) scale(.94) !important;
  transform-origin:left bottom !important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .22s ease !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(94,178,255,.58) transparent;
}
#ai-assistant-panel.is-open .ai-panel-card,
.ai-assistant-panel.is-open .ai-panel-card{
  transform:translateY(0) scale(1) !important;
}
#ai-assistant-panel .ai-panel-card::-webkit-scrollbar{width:7px}
#ai-assistant-panel .ai-panel-card::-webkit-scrollbar-track{background:transparent}
#ai-assistant-panel .ai-panel-card::-webkit-scrollbar-thumb{background:rgba(94,178,255,.50);border-radius:99px}

/* Croix de fermeture rouge, grande et toujours visible */
#ai-assistant-panel .ai-panel-close,
.ai-assistant-panel .ai-panel-close{
  position:sticky !important;
  top:0 !important;
  right:0 !important;
  float:right !important;
  z-index:100 !important;
  display:grid !important;
  place-items:center !important;
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  min-height:50px !important;
  margin:0 0 -50px auto !important;
  padding:0 !important;
  border:2px solid rgba(255,255,255,.88) !important;
  border-radius:50% !important;
  background:linear-gradient(180deg,#ff3747,#d9001b) !important;
  color:#fff !important;
  font-size:2rem !important;
  font-weight:500 !important;
  line-height:1 !important;
  box-shadow:0 10px 28px rgba(218,0,27,.38),inset 0 1px 0 rgba(255,255,255,.28) !important;
  cursor:pointer !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}
#ai-assistant-panel .ai-panel-close:hover{
  background:linear-gradient(180deg,#ff5260,#ee001f) !important;
  transform:scale(1.06) !important;
}
#ai-assistant-panel .ai-panel-close:focus-visible{
  outline:3px solid #fff !important;
  outline-offset:3px !important;
}

/* Aspect conversationnel / bulle */
#ai-assistant-panel .ai-panel-head{padding-right:58px !important;margin-bottom:14px !important}
#ai-assistant-panel .ai-mini-logo{width:54px !important;height:54px !important;border-radius:18px !important}
#ai-assistant-panel .ai-panel-kicker{color:#74cfff !important}
#ai-assistant-panel .ai-panel-card h3{color:#fff !important;font-size:clamp(1.35rem,2.2vw,1.65rem) !important;line-height:1.08 !important}
#ai-assistant-panel .ai-panel-intro,
#ai-assistant-panel .ai-panel-card p,
#ai-assistant-panel .ai-panel-card small,
#ai-assistant-panel .ai-panel-card label{color:rgba(244,249,255,.86) !important}
#ai-assistant-panel .ai-mode-bar,
#ai-assistant-panel .ai-quick-grid,
#ai-assistant-panel .ai-guided-fields,
#ai-assistant-panel .v243-ai-wizard-grid{gap:9px !important}
#ai-assistant-panel .ai-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
#ai-assistant-panel .ai-quick-grid button,
#ai-assistant-panel .ai-mode-bar button{
  border-radius:18px !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
#ai-assistant-panel textarea,
#ai-assistant-panel input,
#ai-assistant-panel select{
  max-width:100% !important;
  border-radius:16px !important;
}
#ai-assistant-panel .ai-panel-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
#ai-assistant-panel .ai-panel-actions .btn,
#ai-assistant-panel .v242-ai-actions .btn{
  width:100% !important;
  justify-content:center !important;
  white-space:normal !important;
  min-height:48px !important;
  border-radius:18px !important;
}

/* La bulle ouverte masque seulement les commandes flottantes, pas la page */
body:has(#ai-assistant-panel.is-open) .floating-actions{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
html:has(#ai-assistant-panel.is-open),
body:has(#ai-assistant-panel.is-open){overflow:auto !important}

@media(max-width:760px){
  #ai-assistant-panel.ai-assistant-panel,
  .ai-assistant-panel{
    left:10px !important;
    right:10px !important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px)) !important;
    top:auto !important;
    width:auto !important;
    height:min(760px,calc(100dvh - 94px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))) !important;
    max-height:calc(100dvh - 94px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) !important;
  }
  #ai-assistant-panel .ai-panel-card,
  .ai-assistant-panel .ai-panel-card{
    padding:22px 18px 24px !important;
    border-radius:34px !important;
    transform-origin:center bottom !important;
  }
  #ai-assistant-panel .ai-panel-close{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    margin:0 0 -48px auto !important;
  }
  #ai-assistant-panel .ai-panel-head{padding-right:54px !important}
  #ai-assistant-panel .ai-quick-grid{grid-template-columns:1fr 1fr !important}
}
@media(max-width:420px){
  #ai-assistant-panel .ai-quick-grid,
  #ai-assistant-panel .ai-mode-bar,
  #ai-assistant-panel .v243-ai-wizard-grid{grid-template-columns:1fr !important}
  #ai-assistant-panel .ai-panel-card{border-radius:30px !important}
}

/* ---- v24330-mobile-actions-footer-glue.css ---- */
/* FALCON SAR 38 — V243.30
   1) Actions flottantes IA + Haut visibles sur mobile en bas a droite.
   2) Toutes les bannieres CTA finales sont raccordees directement au footer.
*/

/* ---------- CTA final -> footer : aucun interstice ---------- */
html body main{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

html body main > section.v196-cta-section:last-child,
html body main > .v196-cta-section:last-child{
  margin:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
}

html body main > section.v196-cta-section:last-child > .container,
html body main > .v196-cta-section:last-child > .container{
  margin-bottom:0 !important;
}

html body main > section.v196-cta-section:last-child .cta-band,
html body main > .v196-cta-section:last-child .cta-band,
html body main > section.v196-cta-section:last-child .cta-panel,
html body main > .v196-cta-section:last-child .cta-panel{
  margin-bottom:0 !important;
}

html body main + footer.footer,
html body main + footer.footer-refined,
html body main + .footer,
html body main + .footer-refined{
  margin-top:0 !important;
  border-top-width:0 !important;
}

/* Evite une ligne claire due a un pseudo-element/decor entre CTA et footer. */
html body main > section.v196-cta-section:last-child::after,
html body main > .v196-cta-section:last-child::after{
  bottom:0 !important;
}

/* ---------- Mobile : IA + Haut en bas a droite ---------- */
@media (max-width:700px){
  html body .floating-actions,
  html body.v185-footer-visible .floating-actions,
  html body.v195-bottom-zone .floating-actions{
    position:fixed !important;
    top:auto !important;
    left:auto !important;
    right:12px !important;
    bottom:calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    width:auto !important;
    height:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;
    gap:9px !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    z-index:2147482500 !important;
  }

  html body .floating-actions .floating-btn,
  html body .floating-actions .floating-ai,
  html body .floating-actions .floating-top{
    display:grid !important;
    place-items:center !important;
    position:relative !important;
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:50% !important;
    overflow:hidden !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    white-space:nowrap !important;
  }

  html body .floating-actions .floating-btn > span:not(.floating-icon),
  html body .floating-actions .floating-ai > span:not(.floating-icon),
  html body .floating-actions .floating-top > span:not(.floating-icon){
    display:none !important;
  }

  html body .floating-actions .floating-icon{
    display:grid !important;
    place-items:center !important;
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1 !important;
  }

  /* La bulle IA ouverte reste prioritaire et masque seulement les deux commandes. */
  html body:has(#ai-assistant-panel.is-open) .floating-actions{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  html body main > section.v196-cta-section:last-child,
  html body main > .v196-cta-section:last-child{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
}

/* ---- v24331-floating-actions-all-devices.css ---- */
/* FALCON SAR 38 — V243.31
   Actions IA + Haut garanties sur mobile / tablette / desktop.
   Les anciennes classes de proximité footer ne peuvent plus les masquer.
*/
html body .floating-actions,
html body.v185-footer-visible .floating-actions,
html body.v195-bottom-zone .floating-actions,
html body.v185-footer-visible.v195-bottom-zone .floating-actions{
  position:fixed !important;
  top:auto !important;
  left:auto !important;
  right:18px !important;
  bottom:18px !important;
  width:auto !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  gap:10px !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
  z-index:2147483000 !important;
}

html body .floating-actions .floating-btn,
html body .floating-actions .floating-ai,
html body .floating-actions .floating-top{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  margin:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
  flex:0 0 auto !important;
  z-index:1 !important;
}

/* L'assistant ouvert est le seul état qui masque volontairement les commandes. */
html body.fs38-ai-panel-open .floating-actions,
html body:has(#ai-assistant-panel.is-open) .floating-actions{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Tablette : commandes compactes et toujours accessibles. */
@media (max-width:1100px){
  html body .floating-actions,
  html body.v185-footer-visible .floating-actions,
  html body.v195-bottom-zone .floating-actions{
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    gap:9px !important;
  }
  html body .floating-actions .floating-btn,
  html body .floating-actions .floating-ai,
  html body .floating-actions .floating-top{
    width:50px !important;
    min-width:50px !important;
    max-width:50px !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
    padding:0 !important;
    border-radius:50% !important;
    overflow:hidden !important;
  }
  html body .floating-actions .floating-btn > span:not(.floating-icon),
  html body .floating-actions .floating-ai > span:not(.floating-icon),
  html body .floating-actions .floating-top > span:not(.floating-icon){
    display:none !important;
  }
  html body .floating-actions .floating-icon{
    display:grid !important;
    place-items:center !important;
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1 !important;
  }
}

/* Smartphone : deux boutons ronds empilés en bas à droite. */
@media (max-width:700px){
  html body .floating-actions,
  html body.v185-footer-visible .floating-actions,
  html body.v195-bottom-zone .floating-actions,
  html body.v185-footer-visible.v195-bottom-zone .floating-actions{
    right:12px !important;
    bottom:calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    gap:8px !important;
  }
  html body .floating-actions .floating-btn,
  html body .floating-actions .floating-ai,
  html body .floating-actions .floating-top{
    display:grid !important;
    place-items:center !important;
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    border-radius:50% !important;
  }
}

/* ---- v24333-interactions-safari-final.css ---- */
/* FALCON SAR 38 — V243.33 — sécurité interactions Safari/iOS */
html,body,.page-shell,#top,main,header,footer{pointer-events:auto;}
a,button,input,select,textarea,label,[role="button"],.burger,.nav-urgent-round,.floating-actions,.floating-btn{
  pointer-events:auto !important;
  -webkit-tap-highlight-color:rgba(47,127,247,.16);
  touch-action:manipulation;
}
/* Aucun overlay fermé ne doit pouvoir intercepter un tap. */
html:not(.fs38-preload-active) .fs38-preloader,
.fs38-preloader.is-leaving{
  pointer-events:none !important;
  visibility:hidden !important;
}
#ai-assistant-panel:not(.is-open),
.ai-assistant-panel:not(.is-open){
  display:none !important;
  pointer-events:none !important;
  visibility:hidden !important;
}
#ai-assistant-panel.is-open,
.ai-assistant-panel.is-open{
  display:flex !important;
}
.fs52-lightbox:not(.is-open):not(.open),
.fs38-send-overlay:not(.is-visible){
  pointer-events:none !important;
  visibility:hidden !important;
}
/* Couches purement décoratives : jamais tactiles. */
.fs38-cursor-glow,.hero-cinematic,.fs38-click-drone,.v177-ai-field,
.fs38-preloader-bg,.fs38-preloader-shade,.ai-premium-orb{
  pointer-events:none !important;
}
/* Les commandes restent au-dessus des contenus normaux. */
.topbar{z-index:2147482500 !important;}
.topbar .nav,.topbar .burger,.topbar .nav-urgent-round,.topbar .brand{pointer-events:auto !important;}
.floating-actions{z-index:2147483000 !important;pointer-events:auto !important;}
#ai-assistant-panel.is-open{z-index:2147483100 !important;}
@media(max-width:1100px){
  .topbar,.topbar .nav,.topbar .burger,.topbar .nav-urgent-round,.floating-actions,.floating-btn{
    touch-action:manipulation !important;
  }
}

/* ---- v24334-functional-final.css ---- */
/* FALCON SAR 38 — V243.34 — correction fonctionnelle finale multi-écrans */
/* Le panneau mobile/tablette doit toujours commencer sous le header fixe. */
@media (max-width:980px){
  body > .nav-panel.fs147-mobile-panel{
    left:10px!important;
    right:10px!important;
    width:auto!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  /* Les actions flottantes ne doivent jamais recouvrir le menu ouvert. */
  body.fs38-menu-open .floating-actions{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
/* Le bouton MENU reste un contrôle prioritaire du header. */
.topbar .burger,
.topbar .nav-urgent-round{
  isolation:isolate;
}

/* ---- v24340-ai-cursor-visible.css ---- */
/* V243.40 — Curseur toujours visible au-dessus de la bulle Assistant IA */
@media (pointer:fine){
  .v177-drone-cursor{
    z-index:2147483646 !important;
    pointer-events:none !important;
  }
  #ai-assistant-panel,
  #ai-assistant-panel *{
    cursor:none !important;
  }
}

/* Accessibilité : curseurs natifs si le curseur personnalisé n’est pas utilisé */
@media (pointer:coarse){
  #ai-assistant-panel button,
  #ai-assistant-panel a,
  #ai-assistant-panel [role="button"]{
    cursor:pointer !important;
  }
}

/* ---- v24345-consolidation.css ---- */
/* V243.45 — consolidation commerciale, crédibilité et responsive */
.footer-accreditation{max-width:780px;line-height:1.35;letter-spacing:.045em}
.v24345-why{background:linear-gradient(180deg,#f7faff 0%,#eef5fb 100%)}
.v24345-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.v24345-proof-grid article{padding:24px;border:1px solid rgba(9,37,71,.09);border-radius:24px;background:#fff;box-shadow:0 12px 38px rgba(17,44,78,.07)}
.v24345-proof-grid article>span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#e9f7ff;color:#0876b9;font-weight:900;margin-bottom:18px}
.v24345-proof-grid h3{margin:0 0 10px;color:#082a4c}.v24345-proof-grid p{margin:0;color:#566b7d;line-height:1.65}
.v24345-cases{background:#f5f8fc}.v24345-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.v24345-case{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);overflow:hidden;border-radius:28px;background:#fff;border:1px solid rgba(9,37,71,.09);box-shadow:0 18px 50px rgba(16,41,73,.08)}
.v24345-case-media{min-height:360px;background:#07111f}.v24345-case-media img,.v24345-case-media video{display:block;width:100%;height:100%;object-fit:cover}
.v24345-case-copy{padding:26px;display:flex;flex-direction:column;justify-content:center}.v24345-case-copy .tag{align-self:flex-start}.v24345-case-copy h3{margin:10px 0 18px;font-size:clamp(1.55rem,2.1vw,2.2rem);color:#082a4c}
.v24345-case-copy dl{display:grid;gap:13px;margin:0}.v24345-case-copy dl div{display:grid;grid-template-columns:82px 1fr;gap:10px;padding-top:12px;border-top:1px solid #e6edf4}.v24345-case-copy dt{font-weight:900;color:#0a6ea8}.v24345-case-copy dd{margin:0;color:#53697b;line-height:1.55}
/* Rail vidéo : posters immédiats, médias chargés uniquement à proximité */
.fs39-video-card video:not([data-loaded="1"]){background:#020813}
@media(max-width:1100px){.v24345-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v24345-case{grid-template-columns:1fr}.v24345-case-media{min-height:320px;max-height:520px}}
@media(max-width:680px){.v24345-proof-grid{grid-template-columns:1fr}.v24345-case-grid{grid-template-columns:1fr}.v24345-case{border-radius:22px}.v24345-case-media{min-height:280px;max-height:460px}.v24345-case-copy{padding:20px}.v24345-case-copy dl div{grid-template-columns:1fr;gap:4px}.footer-accreditation{font-size:.72rem}}

.v24345-prefill-notice{grid-column:1/-1;margin:0 0 18px;padding:14px 16px;border-radius:16px;background:#eaf8ff;border:1px solid rgba(25,163,222,.28);color:#07547d;font-weight:800;line-height:1.45}

/* ---- v24351-ambiance.css ---- */
/* V243.51 — Ambiance sonore sitewide */
.fs38-ambience-toggle{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:2147482000;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(5,12,25,.82);
  color:#fff;
  box-shadow:0 14px 38px rgba(0,0,0,.26);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  font:700 12px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.04em;
  cursor:pointer;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.fs38-ambience-toggle:hover{
  transform:translateY(-2px);
  border-color:rgba(53,194,255,.56);
  box-shadow:0 18px 44px rgba(0,0,0,.30),0 0 0 1px rgba(53,194,255,.08);
}
.fs38-ambience-toggle:focus-visible{
  outline:3px solid rgba(53,194,255,.48);
  outline-offset:3px;
}
.fs38-ambience-icon{
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#35c2ff,#1379c8);
  color:#fff;
  font-size:14px;
  box-shadow:0 0 18px rgba(53,194,255,.34);
}
.fs38-ambience-toggle[aria-pressed="false"]{
  background:rgba(13,18,29,.72);
  color:rgba(255,255,255,.74);
}
.fs38-ambience-toggle[aria-pressed="false"] .fs38-ambience-icon{
  background:rgba(255,255,255,.12);
  box-shadow:none;
  color:rgba(255,255,255,.72);
}
.fs38-ambience-bars{
  display:inline-flex;
  align-items:flex-end;
  gap:2px;
  height:15px;
}
.fs38-ambience-bars i{
  width:2px;
  border-radius:999px;
  background:#fff;
  opacity:.9;
  animation:fs38SoundBar 1.05s ease-in-out infinite alternate;
}
.fs38-ambience-bars i:nth-child(1){height:6px;animation-delay:-.65s}
.fs38-ambience-bars i:nth-child(2){height:12px;animation-delay:-.2s}
.fs38-ambience-bars i:nth-child(3){height:8px;animation-delay:-.45s}
.fs38-ambience-toggle[aria-pressed="false"] .fs38-ambience-bars i{
  animation:none;
  height:3px;
  opacity:.45;
}
@keyframes fs38SoundBar{from{transform:scaleY(.52)}to{transform:scaleY(1)}}
@media (max-width:700px){
  .fs38-ambience-toggle{
    left:12px;
    bottom:max(12px,env(safe-area-inset-bottom));
    width:46px;
    min-width:46px;
    height:46px;
    min-height:46px;
    padding:0;
    justify-content:center;
  }
  .fs38-ambience-label,.fs38-ambience-bars{display:none}
  .fs38-ambience-icon{width:28px;height:28px}
}
@media (prefers-reduced-motion:reduce){
  .fs38-ambience-toggle,.fs38-ambience-bars i{transition:none!important;animation:none!important}
}

/* ---- v24352-loader-sound.css ---- */
/* V243.52 — écran de chargement isolé */
html.fs38-preload-active,html.fs38-preload-active body{overflow:hidden!important}
html.fs38-preload-active .page-shell,html.fs38-preload-active .skip-link,html.fs38-preload-active .floating-actions,html.fs38-preload-active .ai-assistant-panel,html.fs38-preload-active .fs38-ambience-toggle,html.fs38-preload-active .cookie-banner,html.fs38-preload-active .cookie-consent{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html.fs38-preload-active .fs38-preloader{visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:2147483000!important}
.fs38-loader-audio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}

/* V244 FINAL PRODUCTION — accessibility, stability, finishing */
:focus-visible{outline:3px solid #4dc8ff!important;outline-offset:3px!important}
.skip-link:focus{position:fixed!important;left:16px!important;top:16px!important;z-index:2147483647!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;padding:12px 16px!important;border-radius:10px!important;background:#061426!important;color:#fff!important}
img,video{max-width:100%}
.v244-case-proof-grid .card p{margin:.45rem 0}.v244-case-proof-grid .card strong{color:inherit}
.v244-404-hero{min-height:70vh;display:flex;align-items:center}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-parallax]{transform:none!important}
  .fs38-cursor-glow{display:none!important}
}
@media (forced-colors:active){.btn,.card,.topbar,.nav-panel{border:1px solid CanvasText!important}}

/* V244 FINAL — correction lisibilité mise en relation */
.v227-partner-service .arrow-link,
.v227-partner-service .arrow-link:link,
.v227-partner-service .arrow-link:visited,
.v227-partner-service .arrow-link:hover,
.v227-partner-service .arrow-link:focus,
.v227-partner-service .arrow-link:active{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.24)!important}
.v227-partner-service .arrow-link::before,.v227-partner-service .arrow-link::after{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* V244 FINAL — CTA partenaire blanc, spécificité renforcée */
body.apple-premium[data-page] .v227-partner-service a.arrow-link,
body.apple-premium[data-page] .v227-partner-service a.arrow-link:link,
body.apple-premium[data-page] .v227-partner-service a.arrow-link:visited,
body.apple-premium[data-page] .v227-partner-service a.arrow-link:hover,
body.apple-premium[data-page] .v227-partner-service a.arrow-link:focus-visible{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.24)!important}
