/* Herald : poster / éditorial, d'après moodboard (fog périwinkle · grotesque + italique serif + mono, orange en accent seul) */

*{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy-1:#28313F;
  --navy-2:#1B2434;
  --navy-3:#111927;
  --navy-4:#0B121E;
  --ink:#141B2A;
  --ink-soft:#38435A;
  --slate:#4E5B70;
  --slate-2:#6A7688;
  --on-dark:#EEF1F6;
  --on-dark-soft:#AEB6C6;
  --white:#FFFFFF;
  --orange:#FF7A00;
  --orange-2:#FF9236;
  --orange-deep:#F06A00;
  --line-ink:rgba(20,27,42,.16);
  --line-ink-soft:rgba(20,27,42,.10);
  --line-light:rgba(255,255,255,.55);
  --glass:rgba(246,248,251,.55);
  --glass-2:rgba(246,248,251,.42);
  --paper:#F3F0E8;
  --paper-alt:#EAE5D8;
  --card:#FFFFFF;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100vh;
  background-color:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:140px 140px;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.skip-link{
  position:absolute;left:16px;top:-60px;z-index:300;
  background:var(--ink);color:#fff;font-family:'JetBrains Mono',monospace;font-size:13px;
  padding:12px 18px;border-radius:10px;transition:top .2s;
}
.skip-link:focus{top:16px}

.container{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(20px,5vw,64px)}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}

/* ---- typographic primitives ---- */
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--slate);font-weight:500;
  display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--slate-2);display:inline-block}
.eyebrow.on-dark{color:var(--on-dark-soft)}

.display{
  font-family:'Inter',sans-serif;
  font-weight:800;text-transform:uppercase;
  letter-spacing:-.028em;line-height:.94;
}
.display .ln{display:block}
.ital{
  font-family:'Fraunces',Georgia,serif;
  font-style:italic;font-weight:500;
  text-transform:none;letter-spacing:-.005em;
  color:var(--slate);
}
.caption{
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;letter-spacing:.02em;color:var(--slate);
}
.caption .name{color:var(--orange)}
.hot{color:var(--orange-deep)}

/* ---- nav ---- */
.nav{position:sticky;top:0;z-index:60;transition:background .3s,box-shadow .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(226,230,237,.72);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-bottom-color:var(--line-ink-soft)}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:18px;letter-spacing:-.01em;color:var(--ink)}
.brand span{color:var(--slate-2);font-weight:500}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:15px;padding:14px 22px;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;border:1px solid transparent;line-height:1}
.btn--primary{background:var(--ink);color:#fff}
.btn--primary:hover{background:var(--navy-2)}
.btn--primary-onDark{background:#fff;color:var(--ink)}
.btn--primary-onDark:hover{background:var(--paper-alt)}
.btn--ghost{background:transparent;border-color:var(--line-ink);color:var(--ink)}
.btn--ghost:hover{background:var(--paper-alt);border-color:var(--slate-2)}
.btn--lg{padding:16px 26px;font-size:15.5px}
.btn--block{width:100%;justify-content:center}

/* ---- hero ---- */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero__inner{position:relative;z-index:2;padding-block:clamp(72px,12vw,148px) clamp(60px,9vw,110px)}
.hero .eyebrow{margin-bottom:26px}
.display--hero{font-size:clamp(46px,9.4vw,132px);font-weight:900;max-width:15ch}
.display--hero .ln--white{color:#fff;text-shadow:0 2px 30px rgba(20,27,42,.22)}
.display--hero .ln--ink{color:var(--ink)}
.display--hero .ital{display:inline;font-size:.58em;font-weight:600;color:#313E54}
.lede{font-size:clamp(19px,2.4vw,26px);font-weight:500;color:var(--ink);margin-top:30px}
.hero__para{font-size:16.5px;color:var(--ink-soft);max-width:52ch;margin-top:18px;line-height:1.62}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero__caption{margin-top:22px}
.hero--sub .display--hero{max-width:18ch}

/* ---- section frame ---- */
.section{padding-block:clamp(70px,10vw,140px);position:relative}
.section__head{max-width:60ch;margin-bottom:clamp(34px,5vw,58px)}
.section__head .eyebrow{margin-bottom:22px}
.display--sec{font-size:clamp(30px,5vw,60px);font-weight:800;color:var(--ink)}
.display--sec .ital{display:inline;font-size:.82em}
.section__sub{font-size:16.5px;color:var(--ink-soft);margin-top:18px;max-width:56ch;line-height:1.6}

/* ---- benefits (stats poster) ---- */
.benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat{padding:8px clamp(18px,2.4vw,32px);border-left:1px solid var(--line-ink)}
.stat:first-child{border-left:none;padding-left:0}
.stat__n{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(30px,4.6vw,52px);letter-spacing:-.03em;color:var(--ink);line-height:1}
.stat__n .u{color:var(--orange-deep)}
.stat__k{font-size:13.5px;color:var(--ink-soft);margin-top:16px;max-width:26ch;line-height:1.5}

/* ---- statement band ---- */
.band{padding-block:clamp(56px,8vw,120px)}
.band__line{
  font-family:'Inter',sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:-.01em;line-height:1.02;
  font-size:clamp(28px,5.6vw,78px);
  color:rgba(28,37,54,.34);
}
.band__line .ital{color:var(--slate);font-weight:500}
.band__line .solid{color:var(--ink)}

/* ---- glass panels ---- */
.panel{
  background:var(--glass);
  backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);
  border:1px solid var(--line-light);
  border-radius:20px;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 30px 70px -40px rgba(16,23,38,.6);
}
.panel--dark{
  background:linear-gradient(158deg,rgba(24,32,46,.86),rgba(12,18,30,.92));
  border:1px solid rgba(255,255,255,.09);
  color:var(--on-dark);
  box-shadow:0 40px 90px -46px rgba(8,12,22,.85);
}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{padding:26px 24px 28px}
.step__n{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:14px;color:var(--slate);letter-spacing:.06em}
.step__t{font-size:19px;font-weight:700;color:var(--ink);margin-top:14px;letter-spacing:-.01em}
.step__w{font-size:14.5px;color:var(--ink-soft);margin-top:9px;line-height:1.58}

/* fit yes/no */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fit__col{padding:26px 26px 28px}
.fit__k{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:16px}
.fit__list{list-style:none;display:flex;flex-direction:column;gap:13px}
.fit__list li{font-size:15px;color:var(--ink);padding-left:30px;position:relative;line-height:1.5}
.fit__list li::before{position:absolute;left:0;top:1px;font-family:'JetBrains Mono';font-size:13px;font-weight:700}
.fit--yes .fit__list li::before{content:"✓";color:var(--orange-deep)}
.fit--no{background:var(--glass-2)}
.fit--no .fit__list li{color:var(--ink-soft)}
.fit--no .fit__list li::before{content:"×";color:var(--slate-2)}

/* ---- cas client teaser ---- */
.case{position:relative;overflow:hidden;padding:clamp(30px,5vw,52px);isolation:isolate}
.case__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center}
.case .eyebrow{color:var(--orange-2)}
.case .eyebrow::before{background:var(--orange-2)}
.case__t{font-size:clamp(23px,3vw,34px);font-weight:800;color:var(--on-dark);letter-spacing:-.015em;line-height:1.1;margin-top:18px}
.case__t .ital{color:var(--orange-2);display:inline}
.case__w{font-size:15px;color:var(--on-dark-soft);margin-top:16px;max-width:48ch;line-height:1.6}
.case__cta{margin-top:24px}
.case__metrics{display:flex;flex-direction:column;gap:20px}
.metric{display:flex;align-items:baseline;gap:12px}
.metric__n{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(34px,4.4vw,54px);color:#fff;line-height:1;letter-spacing:-.02em}
.metric__n .u{color:var(--orange-2)}
.metric__k{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-soft)}

/* ---- form ---- */
.form{padding:28px}
.form__row{margin-bottom:16px}
.form__row label{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:7px}
.form__row input,.form__row select{width:100%;min-height:48px;font-family:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line-ink);border-radius:6px;padding:13px 14px;transition:border-color .2s,box-shadow .2s}
.form__row input::placeholder{color:var(--slate-2)}
.form__row input:focus,.form__row select:focus{outline:none;border-color:var(--ink-soft);box-shadow:0 0 0 3px rgba(20,27,42,.1)}
.form__note{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--slate);margin-top:14px;line-height:1.6}
.form__ok{display:none;font-size:15px;color:var(--ink);background:rgba(255,255,255,.5);border:1px solid var(--line-ink);border-radius:12px;padding:16px}
.form__ok.show{display:block}

/* ---- footer ---- */
.footer{background:linear-gradient(180deg,#141C2A,#0B121E);color:var(--on-dark);margin-top:clamp(60px,8vw,120px)}
.footer__in{padding-block:clamp(48px,6vw,80px);display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.footer .brand{color:#fff}
.footer .brand span{color:var(--on-dark-soft)}
.footer__blurb{font-size:14px;color:var(--on-dark-soft);margin-top:16px;max-width:34ch;line-height:1.6}
.footer__sig{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--orange-2);margin-top:18px;letter-spacing:.02em}
.footer__col h4{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-soft);font-weight:500;margin-bottom:16px}
.footer__col a,.footer__col p{display:block;font-size:14px;color:var(--on-dark);margin-bottom:11px;opacity:.86;transition:opacity .2s}
.footer__col a:hover{opacity:1;color:var(--orange-2)}
.footer__base{border-top:1px solid rgba(255,255,255,.1);padding-block:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer__base p{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--on-dark-soft)}

/* ---- responsive ---- */
@media(max-width:900px){
  .case__grid,.audit__grid{grid-template-columns:1fr}
  .footer__in{grid-template-columns:1fr 1fr}
  .benefits__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .nav__links{position:fixed;inset:70px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:rgba(226,230,237,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:12px clamp(20px,5vw,64px) 22px;border-bottom:1px solid var(--line-ink);transform:translateY(-14px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;box-shadow:0 26px 50px -30px rgba(16,23,38,.6)}
  .nav.open .nav__links{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav__links a{padding:15px 2px;border-bottom:1px solid var(--line-ink-soft);font-size:16px}
  .steps,.fit{grid-template-columns:1fr}
  .footer__in{grid-template-columns:1fr}
  .benefits__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}

/* ---- zone info cards ---- */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{padding:26px 26px 28px}
.card__t{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.card__w{font-size:14.5px;color:var(--ink-soft);margin-top:9px;line-height:1.58}
@media(max-width:760px){.grid-2{grid-template-columns:1fr}}

/* ============ header deux niveaux, dropdown, langue, modal, anims ============ */
.only-mobile{display:none}

/* header shell */
.nav__top{border-bottom:1px solid var(--line-ink-soft)}
.nav__top-in{display:flex;align-items:center;justify-content:space-between;height:40px}
.nav__phone{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-soft);letter-spacing:.02em;transition:color .2s}
.nav__phone:hover{color:var(--orange-deep)}
.nav__util{display:flex;align-items:center;gap:12px}
.nav__ico{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft);border-radius:8px;transition:color .2s,background .2s}
.nav__ico:hover{color:var(--orange-deep);background:rgba(255,255,255,.35)}
.nav__ico svg{width:16px;height:16px;display:block}
.lang{display:inline-flex;border:1px solid var(--line-ink);border-radius:999px;overflow:hidden;background:rgba(255,255,255,.32)}
.lang__b{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;padding:5px 10px;color:var(--slate);background:transparent;border:none;cursor:pointer;transition:background .2s,color .2s}
.lang__b.is-active{background:var(--orange);color:#17212F;font-weight:700}

.nav__main{}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:11px}
.brand__mark{width:36px;height:36px;border-radius:6px;background:#0F141C;color:#fff;font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:23px;display:flex;align-items:center;justify-content:center;line-height:1}
.brand__txt{font-weight:700;font-size:18px;letter-spacing:-.01em;color:var(--ink)}
.brand__txt span{color:var(--slate-2);font-weight:500}

.nav__links{display:flex;align-items:center;gap:24px}
.nav__links>a{font-size:14.5px;color:var(--ink-soft);font-weight:500;transition:color .2s}
.nav__links>a:hover,.nav__links>a[aria-current="page"]{color:var(--ink)}

.nav__has-drop{position:relative}
.nav__droptrig{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:14.5px;color:var(--ink-soft);font-weight:500;background:none;border:none;cursor:pointer;padding:0}
.nav__droptrig:hover,.nav__has-drop.open .nav__droptrig{color:var(--ink)}
.caret{font-size:9px;transition:transform .25s}
.nav__has-drop.open .caret{transform:rotate(180deg)}
.nav__drop{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(-8px);min-width:256px;padding:8px;border-radius:15px;background:rgba(244,247,251,.92);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--line-light);box-shadow:0 30px 66px -34px rgba(16,23,38,.65);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:80}
.nav__has-drop.open .nav__drop{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.nav__drop a{display:block;padding:10px 12px;border-radius:10px;font-size:14px;color:var(--ink-soft);transition:background .2s,color .2s}
.nav__drop a:hover{background:rgba(255,122,0,.1);color:var(--orange-deep)}
.nav__contact{padding:10px 20px;font-size:14px}

/* modal */
.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s}
.modal.open{opacity:1;pointer-events:auto}
.modal__scrim{position:absolute;inset:0;background:rgba(14,20,32,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal__panel{position:relative;width:min(880px,100%);max-height:92vh;overflow:auto;padding:clamp(26px,4vw,46px);transform:translateY(18px) scale(.985);transition:transform .3s}
.modal.open .modal__panel{transform:none}
.modal__close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:11px;border:1px solid var(--line-ink);background:rgba(255,255,255,.55);font-size:22px;color:var(--ink);cursor:pointer;line-height:1;transition:background .2s}
.modal__close:hover{background:rgba(255,255,255,.85)}
.modal__grid{display:grid;grid-template-columns:1.2fr .9fr;gap:clamp(24px,3vw,42px);margin-top:26px}
.contact-info{display:flex;flex-direction:column;gap:18px}
.contact-info .ci{display:flex;flex-direction:column;gap:4px}
.contact-info .ci .k{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
.contact-info .ci a,.contact-info .ci span{font-size:15px;color:var(--ink);transition:color .2s}
.contact-info .ci a:hover{color:var(--orange-deep)}
.form__row textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:rgba(255,255,255,.6);border:1px solid var(--line-ink);border-radius:11px;padding:13px 14px;min-height:112px;resize:vertical;transition:border-color .2s,box-shadow .2s}
.form__row textarea::placeholder{color:var(--slate-2)}
.form__row textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,122,0,.16)}

/* zones cards */
.zones{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.zone{padding:26px 24px 28px;position:relative;overflow:hidden}
.zone__k{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:12px}
.zone__t{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.015em}
.zone__w{font-size:14.5px;color:var(--ink-soft);margin-top:10px;line-height:1.55}
.zone__list{list-style:none;margin-top:16px;display:flex;flex-wrap:wrap;gap:6px}
.zone__list li{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--slate);border:1px solid var(--line-ink);border-radius:6px;padding:3px 8px}

/* services rows */
.svc{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,4vw,52px);padding:clamp(30px,4vw,46px) 0;border-top:1px solid var(--line-ink);scroll-margin-top:130px}
.svc:first-of-type{border-top:none}
.svc__n{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(26px,4vw,44px);color:var(--orange-deep);line-height:1}
.svc__t{font-size:clamp(21px,3vw,29px);font-weight:800;color:var(--ink);letter-spacing:-.015em}
.svc__w{font-size:16px;color:var(--ink-soft);margin-top:12px;max-width:62ch;line-height:1.62}
.svc__tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.svc__tags li{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--slate);border:1px solid var(--line-ink);border-radius:7px;padding:4px 9px}

/* cta final */
.cta-final{position:relative;overflow:hidden;padding:clamp(40px,6vw,74px) clamp(24px,4vw,48px);text-align:center;isolation:isolate}
.cta-final .eyebrow{justify-content:center;color:var(--on-dark-soft)}
.cta-final__t{font-size:clamp(28px,4.6vw,54px);font-weight:800;color:var(--on-dark);letter-spacing:-.02em;line-height:1.05;max-width:20ch;margin:14px auto 0}
.cta-final__t .ital{color:var(--on-dark-soft);display:inline}
.cta-final__w{font-size:16px;color:var(--on-dark-soft);margin:16px auto 0;max-width:52ch;line-height:1.6}
.cta-final .btn{margin-top:28px}
.cta-final__links{margin-top:16px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.cta-final__links a{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--on-dark-soft);text-decoration:underline;text-underline-offset:3px;transition:color .2s}
.cta-final__links a:hover{color:var(--on-dark)}

/* animations */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
.step,.card,.zone,.faq__item{transition:transform .3s ease,box-shadow .3s ease}
.step:hover,.card:hover,.zone:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 42px 82px -42px rgba(16,23,38,.7)}

/* responsive header */
@media(max-width:760px){
  .only-mobile{display:block}
  .only-desktop{display:none}
  .nav__top{display:none}
  .nav__in{height:64px}
  .nav__links{position:fixed;inset:64px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:rgba(228,232,239,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:10px clamp(20px,5vw,64px) 22px;border-bottom:1px solid var(--line-ink);transform:translateY(-14px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;box-shadow:0 26px 50px -30px rgba(16,23,38,.6);max-height:calc(100vh - 64px);overflow:auto}
  .nav.open .nav__links{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav__links>a,.nav__mob-link{padding:15px 2px;border-bottom:1px solid var(--line-ink-soft);font-size:16px;color:var(--ink)}
  .nav__drop{display:none}
  .nav__contact{margin-top:14px;justify-content:center;padding:14px;font-size:15px}
  .menu__util{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-ink)}
  .menu__util .nav__phone{font-size:13px}
  .nav__toggle{display:inline-flex}
}
@media(min-width:761px){.menu__util{display:none}}
.nav__toggle{display:none;width:44px;height:44px;border:1px solid var(--line-ink);border-radius:11px;background:rgba(255,255,255,.4);align-items:center;justify-content:center;cursor:pointer}
.nav__toggle span,.nav__toggle span::before,.nav__toggle span::after{content:"";display:block;width:18px;height:2px;background:var(--ink);position:relative;transition:transform .25s,opacity .2s}
.nav__toggle span::before{position:absolute;top:-6px}
.nav__toggle span::after{position:absolute;top:6px}
.nav.open .nav__toggle span{background:transparent}
.nav.open .nav__toggle span::before{transform:translateY(6px) rotate(45deg)}
.nav.open .nav__toggle span::after{transform:translateY(-6px) rotate(-45deg)}

@media(max-width:900px){.zones{grid-template-columns:1fr}.modal__grid{grid-template-columns:1fr}}
@media(max-width:640px){.svc{grid-template-columns:1fr;gap:10px}}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important}
  .step:hover,.card:hover,.zone:hover{transform:none}
}

/* ---- FAQ accordion ---- */
.faq{display:flex;flex-direction:column;gap:12px}
.faq__item{border-radius:16px;overflow:hidden}
.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;background:none;border:none;text-align:left;font-family:'Inter',sans-serif;font-size:16.5px;font-weight:700;color:var(--ink);cursor:pointer}
.faq__plus{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-ink);display:flex;align-items:center;justify-content:center;position:relative;transition:transform .25s,background .2s}
.faq__plus::before,.faq__plus::after{content:"";position:absolute;background:var(--ink-soft)}
.faq__plus::before{width:11px;height:1.6px}
.faq__plus::after{width:1.6px;height:11px;transition:opacity .2s}
.faq__item.open .faq__plus{transform:rotate(180deg);background:var(--ink);border-color:var(--ink)}
.faq__item.open .faq__plus::before,.faq__item.open .faq__plus::after{background:#17212F}
.faq__item.open .faq__plus::after{opacity:0}
.faq__a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq__a-in{padding:0 24px 24px;font-size:15px;color:var(--ink-soft);line-height:1.62;max-width:68ch}
.faq__a-in a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:3px}

/* ---- pricing (tarifs.html) ---- */
.offer{padding:clamp(28px,4vw,44px)}
.offer__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.offer__name{font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--ink);letter-spacing:-.015em}
.offer__price{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(26px,3.4vw,36px);color:var(--orange-deep);white-space:nowrap}
.offer__price .u{font-size:.5em;color:var(--slate);font-weight:500}
.offer__lede{font-size:15.5px;color:var(--ink-soft);margin-top:12px;max-width:62ch;line-height:1.6}
.offer__list{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:12px}
.offer__list li{font-size:15px;color:var(--ink);padding-left:28px;position:relative;line-height:1.5}
.offer__list li::before{content:"✓";position:absolute;left:0;top:1px;color:var(--orange-deep);font-family:'JetBrains Mono';font-size:13px;font-weight:700}
.offer__def{margin-top:26px;padding:20px 22px;border-radius:14px;background:var(--glass-2);border:1px solid var(--line-ink-soft)}
.offer__def h4{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:12px}
.offer__def ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.offer__def li{font-size:14px;color:var(--ink-soft);line-height:1.5}

.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tier{padding:26px 24px 28px;position:relative}
.tier--featured{border-color:var(--orange);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 30px 70px -34px rgba(240,106,0,.45)}
.tier__badge{position:absolute;top:-13px;left:24px;background:var(--orange);color:#17212F;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.tier__name{font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.tier__price{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(26px,3vw,34px);color:var(--ink);margin-top:10px}
.tier__price .u{font-size:.42em;color:var(--slate);font-weight:500}
.tier__list{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:10px}
.tier__list li{font-size:13.5px;color:var(--ink-soft);display:flex;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line-ink-soft)}
.tier__list li:last-child{border-bottom:none;padding-bottom:0}
.tier__list b{color:var(--ink);font-weight:700}

.comm-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:14px}
.comm-table th,.comm-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line-ink-soft)}
.comm-table th{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-weight:500}
.comm-table td{color:var(--ink)}
.comm-table td.pct{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--orange-deep)}
.comm-wrap{overflow-x:auto}

@media(max-width:900px){.tiers{grid-template-columns:1fr}}

/* ================= landing dédiée (trafic payant) ================= */
.lp-nav{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--line-ink)}
.lp-nav__in{display:flex;align-items:center;justify-content:space-between;height:64px}
.lp-nav__phone{display:inline-flex;align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:500;color:var(--ink);border:1px solid var(--line-ink);border-radius:6px;padding:9px 16px;transition:background .2s,border-color .2s}
.lp-nav__phone:hover{background:var(--paper-alt);border-color:var(--slate-2)}
.lp-nav__phone svg{width:15px;height:15px;color:var(--ink-soft)}

.lp-hero{padding-block:clamp(52px,9vw,100px) clamp(48px,7vw,80px)}
.lp-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,60px);align-items:start}
.lp-hero .display--hero{font-size:clamp(38px,6vw,76px);max-width:14ch}
.lp-proof-row{display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,36px);margin-top:36px}
.lp-proof{min-width:110px}
.lp-proof__n{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(22px,2.6vw,30px);color:var(--ink);letter-spacing:-.02em;line-height:1}
.lp-proof__n .u{color:var(--ink-soft)}
.lp-proof__k{font-size:12.5px;color:var(--ink-soft);margin-top:6px;max-width:16ch;line-height:1.4}
.lp-alt{margin-top:22px;font-size:14px;color:var(--ink-soft)}
.lp-alt a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--line-ink)}

.lp-form{position:sticky;top:88px;padding:clamp(24px,3vw,32px)}
.lp-form__t{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.lp-form__sub{font-size:13.5px;color:var(--ink-soft);margin-top:8px;line-height:1.5}
.lp-form form{margin-top:20px}

.lp-footer{background:var(--navy-3);color:var(--on-dark-soft);margin-top:clamp(50px,7vw,90px);padding-block:32px}
.lp-footer__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.lp-footer__in .brand{color:#fff}
.lp-footer__links{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
.lp-footer__links a{color:var(--on-dark-soft);transition:color .2s}
.lp-footer__links a:hover{color:var(--on-dark)}

.lp-sticky{display:none}
@media(max-width:760px){
  .lp-hero__grid{grid-template-columns:1fr}
  .lp-form{position:static}
  .lp-sticky{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:10px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:var(--navy-3);
    border-top:1px solid rgba(255,255,255,.1);
  }
  .lp-sticky a,.lp-sticky button{flex:1;text-align:center;justify-content:center;font-size:14.5px;padding:13px 10px;min-height:48px}
  .lp-sticky-spacer{height:72px}
}

/* ================= landing v3 (sobre, sans glass, orange en accent unique) ================= */

.section--alt{background:var(--paper-alt)}

/* hero plein écran, photo de fond */
.lp-hero2{position:relative;overflow:hidden;isolation:isolate;min-height:min(78vh,680px);display:flex;align-items:flex-end}
/* Couche photo + dégradé sombre en un seul empilement : si assets/hero-technician.jpg
   est absent ou ne charge pas, seul le dégradé navy reste visible (rendu volontaire,
   pas de rectangle cassé). Remplacer par un vrai technicien dès que possible. */
.lp-hero2__bg{
  position:absolute;inset:0;z-index:0;background-color:var(--navy-3);
  background-image:
    linear-gradient(175deg, var(--navy-1) 0%, var(--navy-3) 45%, var(--navy-4) 100%),
    url('assets/hero-technician.jpg');
  background-size:cover,cover;
  background-position:center,center;
  background-repeat:no-repeat,no-repeat;
}
.lp-hero2__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(11,18,30,0) 0%, rgba(9,14,24,.6) 100%)}
.lp-hero2__in{position:relative;z-index:2;padding-block:clamp(48px,9vw,64px) clamp(56px,8vw,84px);max-width:44ch}

/* le seul usage d'orange de toute la page */
.tag-soon{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-2);border:1px solid rgba(255,146,54,.55);border-radius:3px;padding:7px 14px;margin-bottom:26px}

.lp-hero2__t{font-size:clamp(34px,5.6vw,58px)}
.lp-hero2__t .ln--white{color:#fff}
.lp-hero2__accent{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;text-transform:none;letter-spacing:-.005em;color:var(--on-dark-soft);font-size:.62em;display:block;margin-top:6px}
.lp-hero2__sub{font-size:16.5px;color:var(--on-dark-soft);max-width:52ch;margin-top:20px;line-height:1.62}
.lp-hero2 .cta-row{margin-top:32px}
.btn--ghost-dark{background:transparent;border:1px solid rgba(255,255,255,.38);color:#fff}
.btn--ghost-dark:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6)}
.trust-line{margin-top:26px;font-size:13px;color:var(--on-dark-soft)}
@media(max-width:760px){
  .lp-hero2{min-height:auto}
  .lp-hero2__in{padding-block:36px 48px}
  .cta-row{flex-direction:column}
  .cta-row .btn{width:100%;justify-content:center}
}

/* listes numérotées éditoriales : étapes et services (mêmes règles) */
.row-list{border-top:1px solid var(--line-ink)}
.row-item{display:grid;grid-template-columns:44px 1fr;gap:22px;align-items:baseline;padding-block:26px;border-bottom:1px solid var(--line-ink)}
.row-item__n{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--slate);letter-spacing:.02em}
.row-item__t{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.row-item__w{font-size:14.5px;color:var(--ink-soft);margin-top:6px;line-height:1.58;max-width:58ch}
@media(max-width:560px){.row-item{grid-template-columns:32px 1fr;gap:14px}}

/* zone d'intervention : chips + carte, carte pleine, pas de glass */
.zone-wide{background:var(--card);border:1px solid var(--line-ink-soft);border-radius:8px;padding:clamp(26px,4vw,38px);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,3vw,36px);align-items:center}
.zone__list--lg{display:flex;flex-wrap:wrap;gap:9px;list-style:none}
.zone__list--lg li{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--ink-soft);border:1px solid var(--line-ink);border-radius:4px;padding:7px 12px}
.zone-wide__map{border-radius:6px;overflow:hidden;border:1px solid var(--line-ink-soft);aspect-ratio:4/3;background:var(--paper-alt)}
.zone-wide__map iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:900px){.zone-wide{grid-template-columns:1fr}}

/* formulaire devis : carte pleine, centrée */
.lp-form-wide{max-width:560px;margin:0 auto;background:var(--card);border:1px solid var(--line-ink-soft);border-radius:8px;padding:clamp(30px,4vw,42px);box-shadow:0 1px 2px rgba(20,27,42,.04),0 24px 48px -34px rgba(20,27,42,.18)}
.lp-form-wide .lp-form__t{text-align:center}
.lp-form-wide .lp-form__sub{text-align:center}
.lp-form-wide form{margin-top:24px}

/* preuves : bande de chiffres encadrée, pas de cartes */
.stat-strip{display:flex;flex-wrap:wrap;border-top:1px solid var(--line-ink);border-bottom:1px solid var(--line-ink)}
.stat-strip__item{flex:1 1 200px;text-align:center;padding:30px 20px;border-left:1px solid var(--line-ink)}
.stat-strip__item:first-child{border-left:none}
.stat-strip__n{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(24px,3.2vw,34px);color:var(--ink);letter-spacing:-.02em}
.stat-strip__n .u{color:var(--ink-soft)}
.stat-strip__k{font-size:13px;color:var(--ink-soft);margin-top:8px}
@media(max-width:560px){.stat-strip{flex-direction:column}.stat-strip__item{border-left:none;border-top:1px solid var(--line-ink)}.stat-strip__item:first-child{border-top:none}}

/* faq : carte pleine */
.faq__item{background:var(--card);border:1px solid var(--line-ink-soft);border-radius:6px}

/* cta final : bloc navy plein, pas de dégradé translucide */
.cta-final{background:var(--navy-3);border-radius:8px}
.eyebrow--onDark{color:var(--on-dark-soft)}
.eyebrow--onDark::before{background:var(--on-dark-soft)}

/* ---- bandeau cookies (RGPD) ---- */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:120;background:var(--card);border-top:1px solid var(--line-ink);box-shadow:0 -8px 28px -18px rgba(20,27,42,.35)}
.cookie-banner[hidden]{display:none}
.cookie-banner__in{max-width:1000px;margin:0 auto;padding:18px clamp(16px,4vw,32px);display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cookie-banner__txt{flex:1 1 360px;font-size:13.5px;color:var(--ink-soft);line-height:1.55}
.cookie-banner__txt a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.cookie-banner__actions{display:flex;gap:10px;flex:0 0 auto}
.cookie-banner__actions .btn{padding:11px 18px;font-size:14px}
@media(max-width:560px){
  .cookie-banner__in{flex-direction:column;align-items:stretch}
  .cookie-banner__actions{justify-content:stretch}
  .cookie-banner__actions .btn{flex:1}
}

/* ---- pages légales (mentions-legales.html, politique-confidentialite.html) ---- */
.legal{padding-block:clamp(48px,8vw,84px);max-width:760px;margin:0 auto}
.legal__back{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--ink-soft);margin-bottom:28px}
.legal__back:hover{color:var(--ink)}
.legal h1{font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--ink);letter-spacing:-.015em;margin-bottom:8px}
.legal__updated{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--slate);margin-bottom:40px}
.legal h2{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin-top:40px;margin-bottom:12px;padding-top:24px;border-top:1px solid var(--line-ink)}
.legal h2:first-of-type{margin-top:0;padding-top:0;border-top:none}
.legal p{font-size:15px;color:var(--ink-soft);line-height:1.7;margin-bottom:14px}
.legal p:last-child{margin-bottom:0}
.legal ul{margin:0 0 14px;padding-left:22px;color:var(--ink-soft)}
.legal li{font-size:15px;line-height:1.7;margin-bottom:6px}
.legal a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.legal strong{color:var(--ink);font-weight:600}
.legal__note{margin-top:14px;padding:14px 16px;background:var(--paper-alt);border-radius:6px;font-size:13.5px;color:var(--ink-soft);line-height:1.6}

/* footer minimal v2 */
.lp-footer__mention{font-size:13px;color:var(--on-dark-soft)}
@media(max-width:760px){.lp-footer__in{flex-direction:column;align-items:flex-start;gap:14px}}
