:root{
      --bg:#050505; --panel:#111; --panel2:#171717; --text:#f5f5f5; --muted:#b6b6b6;
      --green:#a6ff00; --pink:#ff0b85; --line:rgba(255,255,255,.1);
      --max:1120px; --radius:22px;
    }
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5;overflow-x:hidden}
    a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 38px));margin:auto}.accent{color:var(--pink)}.green{color:var(--green)}
    .noise{position:fixed;inset:0;pointer-events:none;opacity:.09;background:radial-gradient(circle at 20% 10%,#fff 0 1px,transparent 1px),radial-gradient(circle at 70% 90%,#fff 0 1px,transparent 1px);background-size:26px 26px,38px 38px;mix-blend-mode:screen;z-index:1}
    header{position:fixed;inset:0 0 auto 0;z-index:20;background:linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.24),transparent);backdrop-filter:blur(6px)}
    nav{height:72px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:1000;font-style:italic;font-size:27px;letter-spacing:-1px;position:relative}.logo:after{content:"";position:absolute;left:0;bottom:-5px;width:58px;height:3px;background:linear-gradient(90deg,var(--green),var(--pink));border-radius:99px}.navlinks{display:flex;gap:22px;font-size:13px;color:#eee;align-items:center}.navlinks a{padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(0,0,0,.28)}.navlinks a:hover{color:var(--green);border-color:rgba(166,255,0,.55)}
    .hero{min-height:820px;display:grid;place-items:end start;position:relative;padding:120px 0 86px;border-bottom:1px solid var(--line);overflow:hidden;background:#030303 url("assets/bsa-van-covering.jpeg") center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.50) 34%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.35) 100%),linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.05) 52%,#030303 100%);z-index:0}.hero:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(115deg,rgba(166,255,0,.42) 0 8%,transparent 9% 45%,rgba(255,11,133,.38) 78% 100%),radial-gradient(circle at 10% 86%,rgba(166,255,0,.55),transparent 23%),radial-gradient(circle at 90% 28%,rgba(255,11,133,.45),transparent 25%);mix-blend-mode:screen;opacity:.95}.hero .scratchL,.hero .scratchR{display:none}.heroContent{position:relative;z-index:2;text-align:left;max-width:690px;background:linear-gradient(135deg,rgba(0,0,0,.78),rgba(0,0,0,.42));border:1px solid rgba(166,255,0,.26);border-left:5px solid var(--green);border-radius:0 28px 28px 0;padding:44px 34px 40px;box-shadow:0 22px 90px rgba(0,0,0,.62),0 0 42px rgba(255,11,133,.18);backdrop-filter:blur(4px)}.heroContent:before{content:"";position:absolute;right:18px;top:18px;width:148px;height:5px;background:linear-gradient(90deg,var(--green),var(--pink));border-radius:99px}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.42em;font-weight:900;font-size:12px;margin-bottom:18px}.hero h1{font-size:clamp(48px,8vw,92px);line-height:.88;margin:0;text-transform:uppercase;letter-spacing:-.065em;font-weight:1000;text-shadow:0 8px 30px #000}.hero h1 .accent{display:inline-block;color:var(--pink);text-shadow:0 0 22px rgba(255,11,133,.45),0 8px 30px #000}.hero p{max-width:690px;margin:28px 0 0;color:#f2f2f2;font-size:19px;text-shadow:0 4px 16px #000}.heroBadges{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.heroBadges span{font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.06em;padding:9px 12px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.55);border-radius:999px}.heroBadges span:nth-child(odd){color:var(--green)}.heroBadges span:nth-child(even){color:var(--pink)}.cta{display:flex;justify-content:flex-start;gap:14px;margin-top:34px;flex-wrap:wrap}.btn{padding:15px 24px;border-radius:999px;font-weight:900;font-size:13px;border:1px solid var(--line)}.btn.primary{background:linear-gradient(90deg,var(--green),var(--pink));color:#050505;border:0}.btn:hover{transform:translateY(-2px)}
    section{padding:105px 0;border-bottom:1px solid rgba(255,255,255,.07);position:relative} section:not(.hero):before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 3% 20%,rgba(166,255,0,.10),transparent 17%),radial-gradient(circle at 96% 35%,rgba(255,11,133,.10),transparent 18%);opacity:.75}.sectionHead{margin-bottom:32px}.sectionHead h2{font-size:clamp(36px,6vw,66px);line-height:.96;margin:0;letter-spacing:-.055em}.grid2{display:grid;grid-template-columns:1fr 1.35fr;gap:48px;align-items:center}.card{background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.026));border:1px solid rgba(255,255,255,.11);border-radius:var(--radius);padding:34px;box-shadow:0 18px 60px rgba(0,0,0,.32);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 6px,rgba(255,255,255,.018) 7px 8px);pointer-events:none}.card p{color:#d5d5d5;margin:0 0 16px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service h3{font-size:21px;margin:12px 0 8px}.serviceIcon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;color:var(--green);filter:drop-shadow(0 0 8px rgba(166,255,0,.28))}.service:nth-child(even) .serviceIcon{color:var(--pink);filter:drop-shadow(0 0 12px rgba(255,11,133,.25))}.service p{font-size:15px;color:#cfcfcf}.note{border-left:4px solid var(--pink);padding:15px 18px;background:rgba(255,255,255,.045);border-radius:0 16px 16px 0;margin-top:20px;color:#d2d2d2}
    .pricebar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 32px;border-left:4px solid var(--green);margin-bottom:22px}.pricebar strong{font-size:34px;color:var(--green)}.packs{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.pack h3{margin:0 0 6px}.pack .price{font-weight:1000;color:var(--pink);margin-bottom:12px;font-size:22px;text-shadow:0 0 18px rgba(255,11,133,.32)}.pack ul{margin:0;padding-left:19px;color:#d6d6d6}.pack li{margin:5px 0}.tarifInfo{margin-top:18px;border-left:4px solid var(--green);font-size:17px}.tarifInfo strong{color:var(--green)}.transparency{text-align:center;border-color:rgba(255,11,133,.45);margin-top:18px}.transparency strong{color:var(--green)}
    .zone{text-align:center}.zone h2{font-size:clamp(43px,8vw,78px)}.zone p{color:#cfcfcf}.contact{text-align:center}.contactBox{max-width:520px;margin:28px auto 0}.contactBox a{font-weight:900}.social{display:flex;justify-content:center;gap:18px;margin-top:18px}.social a{width:44px;height:44px;border:2px solid var(--pink);border-radius:50%;display:grid;place-items:center;color:var(--pink)}.social a:first-child{border-color:var(--green);color:var(--green)}.social svg{width:23px;height:23px;fill:currentColor}
    footer{padding:34px;text-align:center;color:#bbb;font-size:13px}.mobileOnly{display:none}
    @media(max-width:850px){.navlinks{display:flex;gap:6px;font-size:10px;overflow-x:auto;max-width:78vw}.navlinks a{padding:7px 9px;white-space:nowrap}.mobileOnly{display:block}.hero{min-height:760px;background-position:center top}.heroContent{border-radius:22px;border-left:3px solid var(--green);margin-top:220px}.heroContent{padding:36px 20px}.hero:before{inset:0}.hero:after{inset:0}.grid2,.services,.packs{grid-template-columns:1fr}.sectionHead h2 br{display:none}.card{padding:24px}.pricebar{display:block}.pricebar strong{display:block;margin-top:8px}.hero p{font-size:16px}.btn{width:100%;text-align:center}.cta{width:min(420px,100%);margin-inline:0}.services{gap:14px}}


/* Page Prestations & Tarifs */
.subHero{min-height:520px;display:grid;place-items:end start;position:relative;padding:130px 0 76px;border-bottom:1px solid var(--line);overflow:hidden;background:#030303 url("assets/bsa-van-covering.jpeg") center/cover no-repeat}
.subHero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.90),rgba(0,0,0,.54),rgba(0,0,0,.72)),linear-gradient(180deg,rgba(0,0,0,.1),#030303 100%);z-index:0}
.subHero:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(115deg,rgba(166,255,0,.36) 0 10%,transparent 12% 52%,rgba(255,11,133,.34) 76% 100%),radial-gradient(circle at 8% 85%,rgba(166,255,0,.42),transparent 22%),radial-gradient(circle at 88% 20%,rgba(255,11,133,.38),transparent 24%);mix-blend-mode:screen}
.subHero .heroContent{max-width:760px}
.pageIntro{max-width:900px;color:#d7d7d7;font-size:18px;margin:0 0 30px}
.detailGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.detailPack h3{font-size:26px;margin:0 0 8px}.detailPack .desc{color:#cfcfcf;margin-bottom:18px}.priceZones{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.zonePrice{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px;text-align:center}.zonePrice span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.zonePrice strong{display:block;color:var(--green);font-size:22px;margin-top:3px}.detailPack:nth-child(even) .zonePrice strong{color:var(--pink)}
.included{margin:14px 0 0;padding-left:19px;color:#d8d8d8}.included li{margin:6px 0}.infoStrip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.infoStrip .card{padding:24px}.infoStrip strong{color:var(--green);display:block;margin-bottom:8px}.importantBox{border-left:4px solid var(--pink);margin-top:24px}.importantBox strong{color:var(--pink)}.miniCta{margin-top:18px!important}.miniCta .btn{display:inline-block}
.tableBox{overflow:auto}.zoneTable{width:100%;border-collapse:collapse;min-width:680px}.zoneTable th,.zoneTable td{padding:16px 14px;border-bottom:1px solid rgba(255,255,255,.10);text-align:left}.zoneTable th{color:var(--green);font-size:12px;text-transform:uppercase;letter-spacing:.16em}.zoneTable td:last-child,.zoneTable th:last-child{text-align:right;color:var(--pink);font-weight:900}.backLink{margin-top:28px}.backLink .btn{display:inline-block}
@media(max-width:850px){.subHero{min-height:560px;background-position:center top}.detailGrid,.infoStrip{grid-template-columns:1fr}.priceZones{grid-template-columns:1fr}.subHero .heroContent{margin-top:160px}.zoneTable{min-width:0}.zoneTable th:nth-child(2),.zoneTable td:nth-child(2){display:none}.zoneTable th,.zoneTable td{padding:13px 10px}}

/* QR Instagram */

.serviceIcon svg{width:100%;height:100%;display:block}

/* Page Performance & Accessoires */
.performanceHero{min-height:520px;display:grid;place-items:end start;position:relative;padding:130px 0 76px;border-bottom:1px solid var(--line);overflow:hidden;background:radial-gradient(circle at 8% 78%,rgba(255,11,133,.18),transparent 20%),radial-gradient(circle at 92% 24%,rgba(166,255,0,.16),transparent 22%),linear-gradient(135deg,#050505 0%,#0a0a0a 48%,#020202 100%)}
.performanceHero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 16px,rgba(255,255,255,.012) 17px 18px),radial-gradient(circle at 18% 25%,rgba(255,11,133,.08),transparent 24%),radial-gradient(circle at 86% 70%,rgba(166,255,0,.08),transparent 24%)}
.performanceHero .heroContent{max-width:820px}
.performanceGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:start}
.performanceTitle{font-size:clamp(46px,7vw,88px);line-height:.9;margin:0;text-transform:uppercase;letter-spacing:-.055em}
.performanceLead{font-size:19px;color:#ddd;max-width:780px;margin:24px 0 0}
.quoteBox{border:1px solid rgba(255,11,133,.55);box-shadow:0 0 35px rgba(255,11,133,.08)}
.quoteBox strong{display:block;color:var(--green);font-size:34px;line-height:1.05;text-transform:uppercase}
.quoteBox span{display:block;margin-top:10px;color:#ddd}
.modGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.modCard{text-align:center;padding:24px 18px}
.modCard svg{width:64px;height:64px;margin:auto;color:var(--green);filter:drop-shadow(0 0 10px rgba(166,255,0,.35));stroke-linecap:round;stroke-linejoin:round}
.modCard:nth-child(even) svg{color:var(--pink);filter:drop-shadow(0 0 10px rgba(255,11,133,.35))}
.modCard h3{margin:14px 0 6px;font-size:18px}
.conditionsGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.conditionsList{list-style:none;padding:0;margin:0}
.conditionsList li{position:relative;padding:0 0 0 30px;margin:14px 0;color:#ddd}
.conditionsList li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:900}
.noticeCard{border-left:4px solid var(--pink)}.noticeCard strong{color:var(--pink)}
.mobileNote{border-left:4px solid var(--green)}.mobileNote strong{color:var(--green)}
.performanceFooterCta{text-align:center}
@media(max-width:850px){.performanceGrid,.conditionsGrid,.modGrid{grid-template-columns:1fr}.performanceHero{min-height:560px;padding-top:120px}.performanceHero .heroContent{margin-top:0}}

/* Icônes reprises directement des visuels BSA validés */
.serviceIcon{width:62px!important;height:62px!important;display:flex!important;align-items:center!important;justify-content:center!important;filter:none!important}
.serviceIcon img{width:62px;height:62px;object-fit:contain;display:block}
.referenceIcon{width:72px;height:72px;object-fit:contain;display:block;margin:0 auto 10px}
.modCard svg{display:none}


/* Clé officielle BSA ajoutée au sommet des pages */
.brandLogo{display:flex;align-items:center;gap:9px}
.brandLogo img{width:58px;height:30px;object-fit:contain;display:block;filter:drop-shadow(0 0 8px rgba(166,255,0,.26))}
.brandLogo span{display:block}
@media(max-width:850px){.brandLogo{gap:6px}.brandLogo img{width:42px;height:24px}.brandLogo span{font-size:22px}}


/* =========================================================
   BSA — VERSION SIMPLE ET AUTONOME
   Uniquement les arrière-plans sont modifiés.
   Aucun fichier image supplémentaire nécessaire.
   ========================================================= */

/* Accueil : suppression des grosses nappes fluo */
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      165deg,
      transparent 0 20px,
      rgba(166,255,0,.00) 20px 34px,
      rgba(166,255,0,.32) 34px 38px,
      transparent 38px 54px
    ) left bottom / 42% 38% no-repeat,
    repeating-linear-gradient(
      195deg,
      transparent 0 20px,
      rgba(255,11,133,.00) 20px 34px,
      rgba(255,11,133,.32) 34px 38px,
      transparent 38px 54px
    ) right bottom / 42% 38% no-repeat;
  opacity:.75;
  mix-blend-mode:normal;
}

/* Bandeaux des autres pages */
.subHero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      165deg,
      transparent 0 22px,
      rgba(166,255,0,.26) 22px 26px,
      transparent 26px 46px
    ) left bottom / 38% 30% no-repeat,
    repeating-linear-gradient(
      195deg,
      transparent 0 22px,
      rgba(255,11,133,.26) 22px 26px,
      transparent 26px 46px
    ) right bottom / 38% 30% no-repeat;
  opacity:.7;
  mix-blend-mode:normal;
}

/* Rappels très discrets dans les sections */
section:not(.hero):before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      165deg,
      transparent 0 28px,
      rgba(166,255,0,.10) 28px 31px,
      transparent 31px 58px
    ) left bottom / 30% 20% no-repeat,
    repeating-linear-gradient(
      195deg,
      transparent 0 28px,
      rgba(255,11,133,.10) 28px 31px,
      transparent 31px 58px
    ) right bottom / 30% 20% no-repeat;
  opacity:.55;
}

/* Page performance : retrait des anciennes taches */
.performanceHero{
  background:linear-gradient(135deg,#050505 0%,#0a0a0a 48%,#020202 100%);
}
.performanceHero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      165deg,
      transparent 0 22px,
      rgba(166,255,0,.24) 22px 26px,
      transparent 26px 48px
    ) left bottom / 38% 30% no-repeat,
    repeating-linear-gradient(
      195deg,
      transparent 0 22px,
      rgba(255,11,133,.24) 22px 26px,
      transparent 26px 48px
    ) right bottom / 38% 30% no-repeat,
    repeating-linear-gradient(
      115deg,
      transparent 0 16px,
      rgba(255,255,255,.012) 17px 18px
    );
  opacity:.65;
}

/* Mobile */
@media(max-width:850px){
  .hero:after{
    background-size:55% 30%,55% 30%;
    opacity:.62;
  }
  .subHero:after,
  .performanceHero:before{
    background-size:48% 24%,48% 24%;
    opacity:.56;
  }
  section:not(.hero):before{
    background-size:38% 16%,38% 16%;
    opacity:.42;
  }
}
