/* ════════════════════════════════════════════════════════
   SARAMKO v7 — "INDUSTRIAL LEDGER"
   Refonte complète · encre + or · hairlines · éditorial
════════════════════════════════════════════════════════ */
:root{
  --bg:   #05080F;
  --bg2:  #070B13;
  --bg3:  #0A0F1A;
  --srf:  #0D1420;
  --srf2: #111A29;
  --ln:   rgba(226,235,245,.08);
  --ln2:  rgba(226,235,245,.17);
  --ln3:  rgba(226,235,245,.3);

  --gold:    #DC9420;
  --gold-hi: #F4B440;
  --gold-lo: #9A6A10;
  --gold-a:  rgba(220,148,32,.12);
  --gold-b:  rgba(220,148,32,.35);

  --txt:  #F4F7FB;
  --off:  #C6D3E2;
  --mut:  #8AA0B9;
  --mut2: #566C83;

  --grn:  #23B573;
  --red:  #D2544A;
  --blu:  #4A98D8;
  --wa:   #25D366;

  --paper:#EEF1F5;
  --paper2:#E2E7ED;
  --ink-on-paper:#0B1220;

  --fh: 'Barlow Condensed', sans-serif;
  --fb: 'Barlow', sans-serif;
  --fs: 'DM Serif Display', serif;

  --ez:  cubic-bezier(.19,1,.22,1);
  --ez2: cubic-bezier(.83,0,.17,1);

  --wrap: 1280px;
  --gut: 40px;
}

/* ── RESET ─────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--fb);
  background:var(--bg);
  color:var(--txt);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5{font-family:var(--fh);line-height:1;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
a[onclick]{cursor:pointer}
img{max-width:100%;display:block;height:auto}
button{font:inherit;background:none;border:none;color:inherit;cursor:pointer}
::selection{background:var(--gold);color:var(--bg)}
.page{display:none}.page.active{display:block}

/* ── KEYBOARD FOCUS (a11y) ─────────────────────────── */
:focus{outline:none}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:1px}
.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:none}
a[onclick]:focus-visible,[role="button"]:focus-visible,[role="link"]:focus-visible,button:focus-visible{outline-offset:4px}
/* skip-link: hidden until focused */
.skip-link{
  position:fixed;left:12px;top:-80px;z-index:3000;
  background:var(--gold);color:#0B0800;padding:12px 22px;
  font-family:var(--fh);font-size:14px;font-weight:800;letter-spacing:1px;
  text-transform:uppercase;border-radius:4px;transition:top .25s var(--ez);
}
.skip-link:focus{top:12px;outline:2px solid #0B0800;outline-offset:2px}

/* ── HIDE NATIVE CURSOR ONLY WHERE CUSTOM ONE RUNS ── */
@media (hover:hover) and (pointer:fine){
  body:not(.no-cur){cursor:none}
  body:not(.no-cur) a,body:not(.no-cur) button,body:not(.no-cur) [role="button"],
  body:not(.no-cur) input,body:not(.no-cur) textarea,body:not(.no-cur) select{cursor:none}
}
@media (pointer:coarse){
  a[onclick],[role="button"]{cursor:pointer}
}

/* ── GRAIN ─────────────────────────────────────────── */
body::after{
  content:'';position:fixed;inset:0;z-index:99940;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;mix-blend-mode:overlay;
}

/* ── LAYOUT ────────────────────────────────────────── */
.W {max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.Wn{max-width:900px;margin:0 auto;padding:0 var(--gut)}
.sec{padding:clamp(84px,10vw,140px) 0;position:relative}
.secS{padding:clamp(60px,7vw,96px) 0;position:relative}
.hairline-t{border-top:1px solid var(--ln)}
.tc{text-align:center}

/* ── SECTION HEADER (editorial chrome) ─────────────── */
.shead{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:32px;margin-bottom:clamp(40px,5vw,72px);
}
.shead.center{flex-direction:column;align-items:center;text-align:center;gap:0}
.s-kick{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--fh);font-size:11px;font-weight:700;
  letter-spacing:5px;text-transform:uppercase;color:var(--gold);
  margin-bottom:16px;
}
.s-kick::before{content:'';width:34px;height:1px;background:var(--gold);flex-shrink:0}
.shead.center .s-kick::after{content:'';width:34px;height:1px;background:var(--gold);flex-shrink:0}
.s-title{
  font-size:clamp(36px,4.8vw,66px);font-weight:800;
  text-transform:uppercase;line-height:.96;letter-spacing:-.015em;
}
.s-title em{font-style:normal;color:var(--gold-hi)}
.s-title .si{font-family:var(--fs);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;color:var(--gold-hi);font-size:.92em}
.s-ix{
  font-family:var(--fh);font-weight:800;
  font-size:clamp(56px,7vw,110px);line-height:.8;
  color:transparent;-webkit-text-stroke:1px rgba(220,148,32,.4);
  flex-shrink:0;user-select:none;
}
.s-sub{font-size:16px;color:var(--mut);line-height:1.75;max-width:560px}
.s-sub strong{color:var(--txt)}
.shead.center .s-sub{margin:16px auto 0}

/* ── TYPO UTILITIES ───────────────────────────────── */
.si{font-family:var(--fs);font-style:italic;color:var(--gold-hi)}
.lede{font-family:var(--fs);font-style:italic;font-size:clamp(19px,2.3vw,27px);color:var(--off);line-height:1.5}
.body-txt{font-size:16px;color:var(--mut);line-height:1.85}
.body-txt strong{color:var(--txt)}
.body-txt p{margin-bottom:16px}
.pull-quote{
  border-left:2px solid var(--gold);padding:6px 0 6px 26px;
  font-family:var(--fs);font-style:italic;font-size:clamp(18px,2vw,23px);
  color:var(--off);line-height:1.55;margin:30px 0;
}
.microtag{
  font-family:var(--fh);font-size:10px;font-weight:700;
  letter-spacing:3.5px;text-transform:uppercase;color:var(--mut2);
}

/* ── LINE-MASK TITLE REVEAL ───────────────────────── */
.lm{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.li{display:block;transform:translateY(112%);transition:transform 1s var(--ez)}
.split.V .lm:nth-child(1) .li{transition-delay:.05s}
.split.V .lm:nth-child(2) .li{transition-delay:.14s}
.split.V .lm:nth-child(3) .li{transition-delay:.23s}
.split.V .lm:nth-child(4) .li{transition-delay:.32s}
.split.V .li{transform:translateY(0)}

/* ── SCROLL REVEALS ───────────────────────────────── */
.rv{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ez),transform .85s var(--ez)}
.rvL{opacity:0;transform:translateX(-36px);transition:opacity .85s var(--ez),transform .85s var(--ez)}
.rvR{opacity:0;transform:translateX(36px);transition:opacity .85s var(--ez),transform .85s var(--ez)}
.rv.V,.rvL.V,.rvR.V{opacity:1;transform:none}
.dl1{transition-delay:.08s}.dl2{transition-delay:.16s}.dl3{transition-delay:.24s}
.dl4{transition-delay:.32s}.dl5{transition-delay:.4s}
.zm{overflow:hidden}
.zm img{transform:scale(1.09);transition:transform 1.3s var(--ez)}
.zm.V img{transform:scale(1)}

/* ── BUTTONS ──────────────────────────────────────── */
.b{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--gold);color:#0B0800;
  font-family:var(--fh);font-size:15px;font-weight:800;
  letter-spacing:1.5px;text-transform:uppercase;
  padding:17px 30px;transition:.3s var(--ez);
  position:relative;
}
.b .ar{display:inline-block;transition:transform .3s var(--ez)}
.b:hover{background:var(--gold-hi);transform:translateY(-2px);box-shadow:0 18px 50px rgba(220,148,32,.28)}
.b:hover .ar{transform:translateX(6px)}
.b-o{
  display:inline-flex;align-items:center;gap:14px;
  background:transparent;color:var(--txt);
  border:1px solid var(--ln2);
  font-family:var(--fh);font-size:14px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;
  padding:16px 26px;transition:.3s var(--ez);
}
.b-o .ar{display:inline-block;transition:transform .3s var(--ez)}
.b-o:hover{border-color:var(--gold);color:var(--gold-hi)}
.b-o:hover .ar{transform:translateX(6px)}
.b-g{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--grn);color:#03170D;
  font-family:var(--fh);font-size:15px;font-weight:800;
  letter-spacing:1.5px;text-transform:uppercase;
  padding:17px 30px;transition:.3s var(--ez);
}
.b-g .ar{display:inline-block;transition:transform .3s var(--ez)}
.b-g:hover{filter:brightness(1.12);transform:translateY(-2px);box-shadow:0 18px 50px rgba(35,181,115,.25)}
.b-g:hover .ar{transform:translateX(6px)}
.b-b{background:var(--blu);color:#04121F}
.b-b:hover{background:#63AADF;box-shadow:0 18px 50px rgba(74,152,216,.25)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.mag{will-change:transform}
.btn-note{font-size:12px;color:var(--mut2);margin-top:14px;letter-spacing:.3px}

/* ── CURSOR ───────────────────────────────────────── */
#cur{
  position:fixed;width:8px;height:8px;background:var(--gold-hi);border-radius:50%;
  pointer-events:none;z-index:99960;transform:translate(-50%,-50%);
  transition:width .25s var(--ez),height .25s var(--ez),opacity .3s;
}
#cur-ring{
  position:fixed;width:38px;height:38px;border:1px solid var(--gold-b);border-radius:50%;
  pointer-events:none;z-index:99959;transform:translate(-50%,-50%);
  transition:width .3s var(--ez),height .3s var(--ez),opacity .3s,border-color .3s;
}
body.ch #cur{width:4px;height:4px}
body.ch #cur-ring{width:64px;height:64px;border-color:var(--gold-hi)}
body.ct #cur{opacity:0}
body.ct #cur-ring{width:2px;height:26px;border-radius:1px;border-color:var(--gold-hi)}
@media(max-width:900px),(pointer:coarse){#cur,#cur-ring{display:none!important}}

/* ── LOADER · logo entrance animation ─────────────── */
#ldr{
  position:fixed;inset:0;background:
    radial-gradient(ellipse 60% 50% at 50% 42%,rgba(220,148,32,.06),transparent 70%),var(--bg);
  z-index:99950;display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.ldr-stage{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px}
.ldr-mark-wrap{position:relative;line-height:0}
.ldr-mark-wrap::after{
  content:'';position:absolute;inset:-30%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(220,148,32,.28),transparent 62%);
  opacity:0;animation:ldrGlow 1.5s var(--ez) .25s forwards;
}
@keyframes ldrGlow{40%{opacity:1}100%{opacity:.55}}
.ldr-mark{
  width:clamp(240px,42vw,460px);height:auto;position:relative;z-index:1;
  clip-path:inset(0 100% 0 0);transform:scale(.98);opacity:0;
  filter:drop-shadow(0 6px 26px rgba(220,148,32,.28));
  animation:ldrLogo 1.15s var(--ez) .2s forwards;
}
@keyframes ldrLogo{
  0%{clip-path:inset(0 100% 0 0);transform:scale(.98);opacity:0}
  12%{opacity:1}
  100%{clip-path:inset(0 0 0 0);transform:none;opacity:1}
}
.ldr-word{
  display:flex;gap:.02em;margin-top:26px;
  font-family:var(--fh);font-weight:800;text-transform:uppercase;
  font-size:clamp(30px,5.4vw,54px);letter-spacing:.14em;color:var(--txt);
  padding-left:.14em;
}
.ldr-word span{opacity:0;transform:translateY(14px);animation:ldrLetter .55s var(--ez) forwards}
.ldr-word span:nth-child(1){animation-delay:1.15s}
.ldr-word span:nth-child(2){animation-delay:1.22s}
.ldr-word span:nth-child(3){animation-delay:1.29s}
.ldr-word span:nth-child(4){animation-delay:1.36s}
.ldr-word span:nth-child(5){animation-delay:1.43s}
.ldr-word span:nth-child(6){animation-delay:1.50s}
.ldr-word span:nth-child(7){animation-delay:1.57s}
@keyframes ldrLetter{to{opacity:1;transform:none}}
.ldr-tagline{
  margin-top:14px;font-family:var(--fh);font-size:clamp(10px,1.4vw,12px);
  font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:var(--gold-hi);
  opacity:0;animation:ldrFade .7s var(--ez) 1.7s forwards;padding-left:.42em;
}
@keyframes ldrFade{to{opacity:.9}}
.ldr-bot{
  position:absolute;left:0;right:0;bottom:0;
  display:flex;align-items:center;gap:18px;padding:0 clamp(24px,5vw,64px) 34px;
}
.ldr-track{flex:1;height:1px;background:var(--ln);position:relative;overflow:hidden}
.ldr-bar{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--gold-lo),var(--gold-hi))}
.ldr-pct{font-family:var(--fh);font-weight:800;font-size:20px;color:var(--gold-hi);letter-spacing:1px}
.ldr-pct em{font-style:normal;font-size:.6em;color:var(--mut2);margin-left:1px}
#ldr.done{animation:ldrOut .8s var(--ez2) forwards}
@keyframes ldrOut{to{transform:translateY(-100%)}}
@media (prefers-reduced-motion: reduce){
  .ldr-mark{clip-path:none;transform:none;opacity:1;animation:none}
  .ldr-mark-wrap::after{opacity:.55;animation:none}
  .ldr-word span,.ldr-tagline{opacity:1;transform:none;animation:none}
}

/* ── CURTAIN TRANSITION ───────────────────────────── */
.ctn{position:fixed;inset:0;z-index:9600;pointer-events:none;transform:scaleY(0)}
#ctA{background:var(--gold);transform-origin:bottom}
#ctB{background:var(--bg2);transform-origin:bottom}
body.tr-in #ctA{animation:ctIn .52s var(--ez2) forwards}
body.tr-in #ctB{animation:ctIn .52s var(--ez2) .08s forwards}
body.tr-out #ctB{animation:ctOut .52s var(--ez2) forwards}
body.tr-out #ctA{animation:ctOut .52s var(--ez2) .08s forwards}
@keyframes ctIn{from{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}
@keyframes ctOut{from{transform:scaleY(1);transform-origin:top}to{transform:scaleY(0);transform-origin:top}}

/* ── PROGRESS / STICKY ────────────────────────────── */
#prog{position:fixed;top:0;left:0;height:2px;width:0;background:var(--gold);z-index:9999}
.wa-sticky{
  position:fixed;bottom:26px;right:26px;z-index:990;
  width:58px;height:58px;border-radius:50%;
  background:var(--wa);display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 34px rgba(37,211,102,.4);transition:.3s var(--ez);
}
.wa-sticky svg{width:28px;height:28px;fill:#07271A}
.wa-sticky:hover{transform:scale(1.08) rotate(6deg)}
.back-top{
  position:fixed;bottom:96px;right:32px;z-index:989;
  width:46px;height:46px;border:1px solid var(--ln2);background:rgba(10,15,26,.8);
  backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;
  color:var(--mut);opacity:0;pointer-events:none;transition:.3s;font-size:16px;
}
.back-top.show{opacity:1;pointer-events:auto}
.back-top:hover{border-color:var(--gold);color:var(--gold-hi)}

/* ── NAV ──────────────────────────────────────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:8000;transition:.35s}
nav.scrolled{background:rgba(5,8,15,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid var(--ln)}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:80px;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);
}
.logo{display:flex;align-items:center;cursor:pointer}
.logo-img{height:34px;width:auto;transition:.3s}
.logo:hover .logo-img{opacity:.85}
.nav-links{display:flex;align-items:center;gap:4px}
.uni-tag{
  font-family:var(--fh);font-size:9px;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;color:var(--mut2);
  border-right:1px solid var(--ln2);padding-right:16px;margin-right:12px;
}
body.u-gate .uni-tag{display:none}
.nav-links > a{
  padding:9px 13px;font-family:var(--fh);font-size:14px;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;color:var(--mut);
  transition:.2s;cursor:pointer;position:relative;
}
.nav-links > a:hover{color:var(--txt)}
.nav-links > a.active{color:var(--txt)}
.nav-links > a.active::after{
  content:'';position:absolute;left:13px;right:13px;bottom:3px;height:1px;background:var(--gold);
}
.nav-switch{color:var(--gold-hi)!important;border:1px solid var(--gold-b);margin-right:6px}
.nav-switch:hover{background:var(--gold-a)}
.nav-cta{
  background:var(--gold)!important;color:#0B0800!important;
  font-weight:800!important;padding:11px 20px!important;margin-left:6px;
  transition:.25s!important;
}
.nav-cta:hover{background:var(--gold-hi)!important}
.nav-cta.active::after{display:none!important}
.mb-btn{
  display:none;width:46px;height:46px;z-index:7500;
  flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;
}
.mb-btn span{width:24px;height:1.5px;background:var(--txt);transition:.35s var(--ez);transform-origin:center}
.mb-btn.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.mb-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.mb-btn.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media(max-width:960px){
  .nav-links{display:none!important}
  .mb-btn{display:flex}
}

/* ── MOBILE MENU ──────────────────────────────────── */
#mob-menu{
  position:fixed;inset:0;background:var(--bg);z-index:7000;
  display:flex;flex-direction:column;justify-content:center;
  padding:90px clamp(26px,7vw,60px) 40px;
  clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ez2);
  overflow-y:auto;
}
#mob-menu.open{clip-path:inset(0 0 0 0)}
.mob-cat{
  font-family:var(--fh);font-size:10px;font-weight:700;letter-spacing:4px;
  color:var(--gold);text-transform:uppercase;margin:22px 0 6px;
  display:flex;align-items:center;gap:12px;
}
.mob-cat::after{content:'';flex:1;height:1px;background:var(--ln)}
.mob-link{
  display:flex;align-items:baseline;gap:16px;
  font-family:var(--fh);font-size:clamp(30px,7vw,50px);font-weight:800;
  text-transform:uppercase;color:var(--off);line-height:1.16;
  padding:6px 0;cursor:pointer;transition:color .2s,padding .3s var(--ez);
  transform:translateY(34px);opacity:0;
}
#mob-menu.open .mob-link{transform:none;opacity:1;transition:transform .6s var(--ez),opacity .6s,color .2s,padding .3s var(--ez)}
.mob-link:hover{color:var(--gold-hi);padding-left:12px}
.mob-link .mno{font-size:12px;font-weight:600;color:var(--gold);letter-spacing:2px}
.mob-foot{margin-top:34px;padding-top:20px;border-top:1px solid var(--ln);display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--mut)}
.mob-foot a{color:var(--gold-hi)}

/* ── HERO (home) ──────────────────────────────────── */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:40px}
.hero-photo{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:brightness(.42) saturate(.85) contrast(1.06);
  animation:kb 22s var(--ez) infinite alternate;
}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.12)}}
.hero-ov{position:absolute;inset:0;background:
  linear-gradient(to top,var(--bg) 4%,rgba(5,8,15,.72) 34%,rgba(5,8,15,.25) 70%,rgba(5,8,15,.55));
}
.hero-grid{
  position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(226,235,245,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(226,235,245,.03) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,transparent 20%,black);
}
.hero-in{position:relative;z-index:3;width:100%;padding-top:150px}
.hero-meta{
  display:flex;align-items:center;gap:14px;margin-bottom:26px;
  font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:4px;
  text-transform:uppercase;color:var(--gold-hi);
}
.hero-meta::before{content:'';width:40px;height:1px;background:var(--gold)}
.hero-meta .dot{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:blink 1.8s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.15}}
.hero-h1{
  font-size:clamp(46px,8vw,118px);font-weight:800;text-transform:uppercase;
  line-height:.9;letter-spacing:-.02em;margin-bottom:8px;
}
.hero-h1 .ghost{color:transparent;-webkit-text-stroke:1.5px rgba(244,247,251,.5)}
.hero-h1 .serif{
  font-family:var(--fs);font-style:italic;font-weight:400;text-transform:none;
  letter-spacing:0;color:var(--gold-hi);font-size:.62em;line-height:1.1;
}
.hero-sub{font-size:17px;color:rgba(198,211,226,.9);line-height:1.8;max-width:600px;margin:26px 0 30px}
.hero-sub strong{color:var(--txt)}
.hero-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  border-top:1px solid var(--ln);margin-top:44px;padding-top:22px;flex-wrap:wrap;
}
.ht-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--mut)}
.ht-item strong{color:var(--off)}
.ht-item::before{content:'';width:6px;height:6px;background:var(--gold);flex-shrink:0}
.scroll-hint{
  position:absolute;bottom:38px;right:var(--gut);z-index:4;
  display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;
}
.scroll-hint span{font-family:var(--fh);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--mut);writing-mode:vertical-rl}
.scroll-line{width:1px;height:54px;background:var(--ln2);position:relative;overflow:hidden}
.scroll-line::after{content:'';position:absolute;top:-40%;left:0;width:100%;height:40%;background:var(--gold-hi);animation:sline 2s var(--ez) infinite}
@keyframes sline{to{top:110%}}
@media(max-width:900px){.scroll-hint{display:none}}

/* AUDIENCE TABS */
.a-tabs{display:inline-flex;border:1px solid var(--ln2);margin-bottom:24px;flex-wrap:wrap}
.a-tab{
  padding:12px 20px;font-family:var(--fh);font-size:13px;font-weight:700;
  letter-spacing:1.2px;text-transform:uppercase;color:var(--mut);
  cursor:pointer;transition:.25s;border-right:1px solid var(--ln2);
}
.a-tab:last-child{border-right:none}
.a-tab:hover{color:var(--txt)}
.a-tab.on{background:var(--gold);color:#0B0800}
.a-content{display:none}
.a-content.on{display:block;animation:acIn .5s var(--ez)}
@keyframes acIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.a-content p{font-size:15px;color:var(--mut);line-height:1.75;margin-bottom:18px;max-width:640px}
.a-content p strong{color:var(--off)}

/* ── MARQUEES ─────────────────────────────────────── */
.mq{overflow:hidden;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);position:relative}
.mq-track{display:flex;width:max-content;animation:mqMove var(--mqd,34s) linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
@keyframes mqMove{to{transform:translateX(-50%)}}
.mq.gold{background:var(--gold);border:none}
.mq.gold .mq-it{color:#0B0800}
.mq.gold .mq-it::after{background:#0B0800}
.mq-it{
  display:flex;align-items:center;gap:34px;padding:14px 17px;
  font-family:var(--fh);font-size:14px;font-weight:800;
  letter-spacing:3px;text-transform:uppercase;color:var(--mut);white-space:nowrap;
}
.mq-it::after{content:'';width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.mq-big .mq-it{
  font-size:clamp(40px,6vw,84px);letter-spacing:0;padding:10px 30px;gap:60px;font-weight:800;
  color:transparent;-webkit-text-stroke:1px rgba(226,235,245,.25);
}
.mq-big .mq-it:nth-child(even){color:var(--gold);-webkit-text-stroke:0;opacity:.9}
.mq-big .mq-it::after{width:10px;height:10px;background:var(--gold-lo)}

/* ── PROOF STRIP / STATS ──────────────────────────── */
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.proof-cell{
  padding:44px 26px;text-align:left;border-right:1px solid var(--ln);
  position:relative;transition:background .3s;
}
.proof-cell:last-child{border-right:none}
.proof-cell:hover{background:var(--bg3)}
.proof-num{font-family:var(--fh);font-size:clamp(48px,5.5vw,76px);font-weight:800;color:var(--txt);line-height:.9;display:flex;align-items:flex-start}
.proof-num .u{font-size:.45em;color:var(--gold-hi);margin-top:.18em;margin-left:2px}
.proof-lbl{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:2px;margin-top:14px;line-height:1.5}
@media(max-width:760px){
  .proof-strip{grid-template-columns:1fr 1fr}
  .proof-cell:nth-child(2n){border-right:none}
  .proof-cell:nth-child(-n+2){border-bottom:1px solid var(--ln)}
}
.big-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ln)}
.bs-cell{padding:clamp(44px,5vw,72px) 36px;border-right:1px solid var(--ln);position:relative;overflow:hidden}
.bs-cell:last-child{border-right:none}
.bs-cell::after{
  content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ez);
}
.bs-cell:hover::after{transform:scaleX(1)}
.bs-num{font-family:var(--fh);font-size:clamp(70px,8vw,120px);font-weight:800;line-height:.85;color:var(--txt);display:flex;align-items:flex-start}
.bs-num .u{font-size:.4em;color:var(--gold-hi);margin-top:.2em}
.bs-label{font-family:var(--fh);font-size:15px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--off);margin-top:18px}
.bs-sub{font-size:13px;color:var(--mut2);margin-top:6px}
@media(max-width:860px){
  .big-stats{grid-template-columns:1fr}
  .bs-cell{border-right:none;border-bottom:1px solid var(--ln)}
  .bs-cell:last-child{border-bottom:none}
}

/* ── TERRAIN GALLERY ──────────────────────────────── */
.tg-marquee{overflow:hidden;margin-top:0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
.tg-track{display:flex;gap:20px;width:max-content;animation:mqMove 46s linear infinite;padding:4px 0}
.tg-marquee:hover .tg-track{animation-play-state:paused}
.tg-item{width:min(500px,76vw);flex-shrink:0}
.tg-ph{position:relative;height:clamp(230px,26vw,340px);overflow:hidden;border:1px solid var(--ln)}
.tg-ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.92);transition:filter .6s,transform 1s var(--ez)}
.tg-item:hover .tg-ph img{filter:grayscale(0) brightness(1);transform:scale(1.05)}
.tg-cap{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding:12px 2px 0;border-top:none;
}
.tg-cap b{font-family:var(--fh);font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--off)}
.tg-cap span{font-size:11px;color:var(--gold);letter-spacing:1px;text-transform:uppercase;white-space:nowrap}

/* ── TRUST BAND (paper) ───────────────────────────── */
.trust-band{background:var(--paper);color:var(--ink-on-paper);padding:clamp(64px,8vw,100px) 0;position:relative}
.trust-band .s-kick{color:var(--gold-lo)}
.trust-band .s-title{color:var(--ink-on-paper)}
.trust-band .s-title em{color:var(--gold-lo)}
/* ── LOGO SHELF + MARQUEE (clients & partenaires) ──── */
.logo-marquee{
  position:relative;overflow:hidden;margin-top:36px;padding:26px 0;
  background:#fff;border:1px solid rgba(11,18,32,.06);border-radius:18px;
  box-shadow:0 18px 44px -22px rgba(11,18,32,.26);
}
.lm-track{
  display:flex;align-items:center;gap:clamp(44px,6vw,76px);width:max-content;
  padding:0 clamp(44px,6vw,76px);
  animation:lm-scroll 46s linear infinite;will-change:transform;
}
.lm-track.rev{animation-duration:56s;animation-direction:reverse}
.logo-marquee:hover .lm-track{animation-play-state:paused}
@keyframes lm-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.lm-item{
  flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:58px;
}
.lm-item img{
  height:52px;width:auto;max-width:210px;object-fit:contain;display:block;
  opacity:.94;transition:opacity .3s,transform .3s;
}
.lm-item:hover img{opacity:1;transform:scale(1.06)}
@media(max-width:640px){
  .logo-marquee{border-radius:14px;padding:18px 0}
  .lm-item{height:42px}
  .lm-item img{height:38px;max-width:150px}
}
@media(prefers-reduced-motion:reduce){
  .lm-track{animation:none}
}
.trust-sub{
  text-align:center;font-family:var(--fh);font-size:11px;font-weight:700;
  letter-spacing:4px;text-transform:uppercase;color:#7A8899;margin:52px auto 0;
  display:flex;align-items:center;gap:20px;max-width:640px;
}
.trust-sub::before,.trust-sub::after{content:'';flex:1;height:1px;background:rgba(11,18,32,.14)}
.gemic{font-family:var(--fh);font-size:26px;font-weight:800;font-style:italic;color:#1746C8;letter-spacing:.5px}

/* ── CASE / RÉALISATIONS ──────────────────────────── */
.case-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;align-items:stretch}
.case-photo{position:relative;overflow:hidden;border:1px solid var(--ln);min-height:440px}
.case-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.92)}
.case-badge{
  position:absolute;left:0;bottom:0;z-index:2;
  background:var(--gold);color:#0B0800;
  padding:14px 22px;font-family:var(--fh);font-size:13px;font-weight:800;
  letter-spacing:2px;text-transform:uppercase;
}
.case-stats{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ln)}
.case-cell{
  padding:clamp(22px,2.6vw,34px);border-right:1px solid var(--ln);border-bottom:1px solid var(--ln);
  display:flex;flex-direction:column;justify-content:center;transition:background .3s;
}
.case-cell:nth-child(2n){border-right:none}
.case-cell:nth-last-child(-n+2){border-bottom:none}
.case-cell:hover{background:var(--bg3)}
.case-num{font-family:var(--fh);font-size:clamp(36px,3.8vw,54px);font-weight:800;color:var(--gold-hi);line-height:.9;display:flex;align-items:flex-start}
.case-num .u{font-size:.5em;margin-top:.15em;color:var(--off)}
.case-lbl{font-size:12.5px;color:var(--mut);margin-top:10px;line-height:1.5}
.case-foot{text-align:center;margin-top:30px;font-size:14px;color:var(--mut)}
.case-foot strong{color:var(--txt)}
@media(max-width:1000px){.case-grid{grid-template-columns:1fr}.case-photo{min-height:300px}}
@media(max-width:520px){.case-stats{grid-template-columns:1fr}.case-cell{border-right:none!important}.case-cell:nth-last-child(2){border-bottom:1px solid var(--ln)}}

/* ── GATE ─────────────────────────────────────────── */
.gate{padding:140px 0 0;min-height:100svh;display:flex;flex-direction:column}
.gate-head{max-width:1000px;margin:0 auto;padding:0 var(--gut);text-align:center}
.gate-eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:5px;
  text-transform:uppercase;color:var(--gold-hi);margin-bottom:22px;
}
.gate-eyebrow::before,.gate-eyebrow::after{content:'';width:36px;height:1px;background:var(--gold)}
.gate-title{
  font-size:clamp(44px,7.4vw,104px);font-weight:800;text-transform:uppercase;
  line-height:.92;letter-spacing:-.02em;margin-bottom:20px;
}
.gate-title em{font-style:normal;color:var(--gold-hi)}
.gate-line{font-size:16.5px;color:var(--mut);max-width:620px;margin:0 auto;line-height:1.75}
.gate-line strong{color:var(--off)}
.gate-doors{
  display:flex;gap:2px;margin-top:56px;flex:1;min-height:560px;
  border-top:1px solid var(--ln);
}
.gate-door{
  position:relative;flex:1;overflow:hidden;cursor:pointer;
  display:flex;align-items:flex-end;
  transition:flex .9s var(--ez);
}
.gate-door:hover{flex:1.55}
.gd-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:grayscale(.55) brightness(.42);transition:filter .8s,transform 1.4s var(--ez);
}
.gate-door:hover .gd-bg{filter:grayscale(0) brightness(.55);transform:scale(1.05)}
.gd-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,8,15,.95) 6%,rgba(5,8,15,.4) 50%,rgba(5,8,15,.2))}
.gd-content{position:relative;z-index:2;padding:clamp(30px,4vw,56px);width:100%}
.gd-num{
  font-family:var(--fh);font-size:clamp(54px,6vw,92px);font-weight:800;line-height:.8;
  color:transparent;-webkit-text-stroke:1px rgba(244,247,251,.4);margin-bottom:18px;
  transition:.5s;
}
.gate-door:hover .gd-num{-webkit-text-stroke-color:var(--gold-hi)}
.gd-kicker{
  font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:3px;
  text-transform:uppercase;color:var(--gold-hi);display:block;margin-bottom:12px;
}
.gd-title{font-size:clamp(28px,3.4vw,46px);font-weight:800;text-transform:uppercase;line-height:.95;margin-bottom:14px}
.gd-desc{
  font-size:15px;color:rgba(198,211,226,.85);line-height:1.65;max-width:430px;margin-bottom:22px;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .7s var(--ez),opacity .5s .1s;
}
.gate-door:hover .gd-desc{max-height:160px;opacity:1}
.gd-cta{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--fh);font-size:15px;font-weight:800;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--gold-hi);
}
.gd-cta .ar{transition:transform .3s var(--ez)}
.gate-door:hover .gd-cta .ar{transform:translateX(8px)}
/* per-audience colour coding (gold = default) */
.gate-door.d-grn .gd-kicker,.gate-door.d-grn .gd-cta{color:var(--grn)}
.gate-door.d-grn:hover .gd-num{-webkit-text-stroke-color:var(--grn)}
.gate-door.d-blu .gd-kicker,.gate-door.d-blu .gd-cta{color:var(--blu)}
.gate-door.d-blu:hover .gd-num{-webkit-text-stroke-color:var(--blu)}
.gate-switchnote{text-align:center;font-size:13px;color:var(--mut2);padding:26px 20px;border-top:1px solid var(--ln)}
@media(max-width:860px){
  .gate{min-height:auto}
  .gate-doors{flex-direction:column;min-height:auto}
  .gate-door{min-height:340px;flex:none}
  .gd-desc{max-height:none;opacity:1}
}



/* ── HUB CARDS (3 profils) ────────────────────────── */
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ln)}
.hub-card{
  position:relative;padding:clamp(28px,3vw,42px);cursor:pointer;
  border-right:1px solid var(--ln);transition:.4s var(--ez);overflow:hidden;
  display:flex;flex-direction:column;
}
.hub-card:last-child{border-right:none}
.hub-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ez);
}
.hub-card.c-gold::before{background:var(--gold)}
.hub-card.c-grn::before{background:var(--grn)}
.hub-card.c-blu::before{background:var(--blu)}
.hub-card:hover{background:var(--bg3)}
.hub-card:hover::before{transform:scaleX(1)}
.hub-wm{
  position:absolute;top:18px;right:22px;
  font-family:var(--fh);font-size:80px;font-weight:800;line-height:.8;
  color:transparent;-webkit-text-stroke:1px var(--ln2);user-select:none;transition:.4s;
}
.hub-card:hover .hub-wm{-webkit-text-stroke-color:var(--gold-b)}
.hub-tag{font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;display:block;margin-bottom:16px}
.c-gold .hub-tag{color:var(--gold-hi)}
.c-grn .hub-tag{color:var(--grn)}
.c-blu .hub-tag{color:var(--blu)}
.hub-name{font-size:clamp(21px,2.2vw,27px);font-weight:800;text-transform:uppercase;line-height:1.02;margin-bottom:12px;max-width:86%}
.hub-short{font-size:13.5px;color:var(--mut);line-height:1.65;margin-bottom:22px}
.hub-list{list-style:none;display:grid;gap:9px;padding-top:20px;border-top:1px solid var(--ln);margin-bottom:26px}
.hub-list li{display:flex;gap:11px;font-size:13.5px;color:var(--mut);line-height:1.5}
.hub-list li::before{content:'';width:5px;height:5px;margin-top:7px;flex-shrink:0;transform:rotate(45deg)}
.c-gold .hub-list li::before{background:var(--gold)}
.c-grn .hub-list li::before{background:var(--grn)}
.c-blu .hub-list li::before{background:var(--blu)}
.hub-cta{
  margin-top:auto;display:inline-flex;align-items:center;gap:12px;
  font-family:var(--fh);font-size:14px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
}
.c-gold .hub-cta{color:var(--gold-hi)}
.c-grn .hub-cta{color:var(--grn)}
.c-blu .hub-cta{color:var(--blu)}
.hub-cta .ar{transition:transform .3s var(--ez)}
.hub-card:hover .hub-cta .ar{transform:translateX(7px)}
@media(max-width:960px){
  .hub-grid{grid-template-columns:1fr}
  .hub-card{border-right:none;border-bottom:1px solid var(--ln)}
  .hub-card:last-child{border-bottom:none}
}

/* ── SERVICES CARDS ───────────────────────────────── */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-card{
  position:relative;background:var(--srf);border:1px solid var(--ln);
  padding:36px 32px 30px;cursor:pointer;overflow:hidden;
  transition:.4s var(--ez);display:flex;flex-direction:column;min-height:340px;
}
.svc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.svc-card.c-gold::before{background:linear-gradient(90deg,var(--gold),transparent)}
.svc-card.c-grn::before{background:linear-gradient(90deg,var(--grn),transparent)}
.svc-card.c-blu::before{background:linear-gradient(90deg,var(--blu),transparent)}
.svc-card:hover{transform:translateY(-6px);border-color:var(--ln2);box-shadow:0 30px 70px rgba(0,0,0,.5)}
.svc-num{
  font-family:var(--fh);font-size:64px;font-weight:800;line-height:.8;
  color:transparent;-webkit-text-stroke:1px var(--ln2);margin-bottom:22px;transition:.4s;
}
.svc-card:hover .svc-num{-webkit-text-stroke-color:var(--gold-b)}
.svc-tag{font-family:var(--fh);font-size:10.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;display:block;margin-bottom:10px}
.c-gold .svc-tag{color:var(--gold-hi)}
.c-grn .svc-tag{color:var(--grn)}
.c-blu .svc-tag{color:var(--blu)}
.svc-name{font-size:clamp(22px,2.2vw,27px);font-weight:800;text-transform:uppercase;line-height:1;margin-bottom:10px}
.svc-hook{font-family:var(--fs);font-style:italic;font-size:15.5px;color:var(--off);margin-bottom:14px}
.svc-desc{font-size:13.5px;color:var(--mut);line-height:1.7;margin-bottom:22px}
.svc-go{
  margin-top:auto;display:inline-flex;align-items:center;gap:12px;
  font-family:var(--fh);font-size:14px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
  padding-top:18px;border-top:1px solid var(--ln);
}
.c-gold .svc-go{color:var(--gold-hi)}
.c-grn .svc-go{color:var(--grn)}
.c-blu .svc-go{color:var(--blu)}
.svc-go .ar{transition:transform .3s var(--ez)}
.svc-card:hover .svc-go .ar{transform:translateX(7px)}
@media(max-width:960px){.svc-grid{grid-template-columns:1fr}}

/* ── IMG SPLIT ────────────────────────────────────── */
.img-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.isp-img{position:relative;overflow:hidden;min-height:520px}
.isp-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(.92);transition:transform 1.2s var(--ez)}
.isp-img:hover img{transform:scale(1.04)}
.isp-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(5,8,15,.35),transparent 60%)}
.isp-badge{
  position:absolute;left:0;bottom:0;z-index:2;background:var(--gold);color:#0B0800;
  padding:13px 22px;font-family:var(--fh);font-size:12px;font-weight:800;
  letter-spacing:2px;text-transform:uppercase;
}
.isp-txt{padding:clamp(44px,5.5vw,84px) clamp(28px,4.5vw,72px);display:flex;flex-direction:column;justify-content:center}
.isp-txt .body-txt p{margin-bottom:16px}
@media(max-width:920px){
  .img-split{grid-template-columns:1fr}
  .isp-img{min-height:320px}
}

/* ── FEATURE LIST (numbered) ──────────────────────── */
.feat-list{display:grid;border:1px solid var(--ln)}
.feat-item{
  display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;
  padding:22px 24px;border-bottom:1px solid var(--ln);transition:background .3s;
}
.feat-item:last-child{border-bottom:none}
.feat-item:hover{background:var(--bg3)}
.feat-no{
  font-family:var(--fh);font-size:30px;font-weight:800;line-height:1;
  color:transparent;-webkit-text-stroke:1px var(--gold-b);padding-top:2px;
}
.feat-title{font-family:var(--fh);font-size:16px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:5px}
.feat-desc{font-size:13.5px;color:var(--mut);line-height:1.65}

/* ── ACCORDION (domaines / mine) ──────────────────── */
.acc{border:1px solid var(--ln)}
.acc-item{border-bottom:1px solid var(--ln);transition:background .3s}
.acc-item:last-child{border-bottom:none}
.acc-item.open{background:var(--bg3)}
.acc-q{
  display:grid;grid-template-columns:74px 1fr 46px;align-items:center;gap:16px;
  padding:22px 26px;cursor:pointer;
}
.acc-q:hover{background:var(--bg3)}
.acc-no{
  font-family:var(--fh);font-size:26px;font-weight:800;line-height:1;
  color:transparent;-webkit-text-stroke:1px var(--ln3);transition:.3s;
}
.acc-item.open .acc-no,.acc-q:hover .acc-no{-webkit-text-stroke-color:var(--gold-hi)}
.acc-title{font-family:var(--fh);font-size:clamp(17px,1.8vw,21px);font-weight:700;letter-spacing:.6px;text-transform:uppercase}
.acc-x{
  width:34px;height:34px;border:1px solid var(--ln2);
  display:flex;align-items:center;justify-content:center;position:relative;transition:.35s var(--ez);
}
.acc-x::before,.acc-x::after{content:'';position:absolute;background:var(--gold-hi);transition:.35s var(--ez)}
.acc-x::before{width:12px;height:1.5px}
.acc-x::after{width:1.5px;height:12px}
.acc-item.open .acc-x{border-color:var(--gold);transform:rotate(135deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ez)}
.acc-item.open .acc-body{max-height:300px}
.acc-body-in{padding:0 26px 26px 116px;font-size:14.5px;color:var(--mut);line-height:1.85}
@media(max-width:700px){
  .acc-q{grid-template-columns:1fr 40px;padding:18px 18px}
  .acc-no{display:none}
  .acc-body-in{padding:0 18px 22px}
}

/* ── PARALLAX BAND ────────────────────────────────── */
.par-sec{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden}
.par-bg{position:absolute;inset:-18% 0;background-size:cover;background-position:center;filter:brightness(.3) saturate(.75);will-change:transform}
.par-ov{position:absolute;inset:0;background:linear-gradient(120deg,rgba(5,8,15,.94),rgba(5,8,15,.6))}
.par-in{position:relative;z-index:2;padding:90px 0;width:100%}
.par-q{
  font-family:var(--fs);font-style:italic;font-weight:400;
  font-size:clamp(26px,4vw,52px);line-height:1.2;color:var(--txt);
  max-width:900px;margin:0 auto 26px;
}
.par-q em{color:var(--gold-hi);font-style:italic}
.par-sub{font-size:16px;color:rgba(198,211,226,.75);max-width:540px;margin:0 auto 34px;line-height:1.75}

/* ── LETTER ───────────────────────────────────────── */
.letter{position:relative;border:1px solid var(--ln);padding:clamp(30px,4.5vw,64px);background:var(--bg2)}
.letter::before{
  content:'“';position:absolute;top:-6px;right:26px;
  font-family:var(--fs);font-size:150px;line-height:1;color:var(--gold);opacity:.16;
}
.letter p{font-size:16.5px;color:var(--mut);line-height:1.9;margin-bottom:18px}
.letter p.big{font-family:var(--fs);font-style:italic;font-size:22px;color:var(--txt);line-height:1.5}
.letter strong{color:var(--txt)}
.letter .sign{font-family:var(--fs);font-style:italic;font-size:22px;color:var(--gold-hi);margin-top:10px}
.letter .ps{margin-top:28px;padding:22px 26px;border-left:2px solid var(--gold);background:var(--srf);font-size:15px;color:var(--off);line-height:1.75}
.letter .ps strong{color:var(--gold-hi)}

/* ── VALUES ───────────────────────────────────────── */
.val-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ln)}
.val-cell{padding:38px 28px;border-right:1px solid var(--ln);position:relative;overflow:hidden;transition:background .3s}
.val-cell:last-child{border-right:none}
.val-cell::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ez)}
.val-cell:hover{background:var(--bg3)}
.val-cell:hover::after{transform:scaleX(1)}
.val-no{font-family:var(--fh);font-size:40px;font-weight:800;color:transparent;-webkit-text-stroke:1px var(--gold-b);line-height:1;margin-bottom:20px}
.val-name{font-family:var(--fh);font-size:20px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.val-desc{font-size:13.5px;color:var(--mut);line-height:1.6}
@media(max-width:920px){
  .val-grid{grid-template-columns:1fr 1fr}
  .val-cell{border-bottom:1px solid var(--ln)}
  .val-cell:nth-child(2n){border-right:none}
  .val-cell:nth-last-child(-n+2){border-bottom:none}
}
@media(max-width:520px){
  .val-grid{grid-template-columns:1fr}
  .val-cell{border-right:none!important;border-bottom:1px solid var(--ln)!important}
  .val-cell:last-child{border-bottom:none!important}
}

/* ── WHO FOR ──────────────────────────────────────── */
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.who-card{border:1px solid var(--ln);padding:clamp(26px,3vw,40px);position:relative}
.who-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.who-card.yes::before{background:var(--grn)}
.who-card.no::before{background:var(--red)}
.who-label{font-family:var(--fh);font-size:19px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:24px;display:flex;align-items:center;gap:12px}
.who-card.yes .who-label{color:var(--grn)}
.who-card.no .who-label{color:var(--red)}
.who-item{display:flex;gap:12px;padding:13px 0;font-size:14.5px;color:var(--mut);line-height:1.6;border-bottom:1px solid var(--ln)}
.who-item:last-child{border-bottom:none}
.who-item strong{color:var(--txt)}
.who-dot{font-family:var(--fh);font-weight:800;flex-shrink:0;margin-top:1px}
.who-card.yes .who-dot{color:var(--grn)}
.who-card.no .who-dot{color:var(--red)}
@media(max-width:860px){.who-grid{grid-template-columns:1fr}}

/* ── NEWS ─────────────────────────────────────────── */
.news-mag{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}
.news-feat{border:1px solid var(--ln);background:var(--srf);cursor:pointer;transition:.35s var(--ez);overflow:hidden;display:flex;flex-direction:column}
.news-feat:hover{border-color:var(--gold-b);transform:translateY(-4px);box-shadow:0 26px 60px rgba(0,0,0,.5)}
.nf-img{height:300px;overflow:hidden;position:relative}
.nf-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.85);transition:.7s var(--ez)}
.news-feat:hover .nf-img img{filter:grayscale(0) brightness(1);transform:scale(1.04)}
.n-cat{
  position:absolute;top:0;left:0;background:var(--gold);color:#0B0800;
  font-family:var(--fh);font-size:10px;font-weight:800;letter-spacing:2.5px;
  text-transform:uppercase;padding:8px 16px;z-index:2;
}
.nf-body{padding:28px;flex:1}
.nf-date{font-family:var(--fh);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.nf-title{font-family:var(--fh);font-size:clamp(19px,2.2vw,25px);font-weight:800;text-transform:uppercase;line-height:1.05;margin-bottom:12px;transition:.25s}
.news-feat:hover .nf-title{color:var(--gold-hi)}
.nf-exc{font-size:13.5px;color:var(--mut);line-height:1.7}
.nf-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-top:1px solid var(--ln)}
.nf-more{font-family:var(--fh);font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-hi)}
.news-side{display:grid;gap:20px;align-content:start}
.n-side-card{
  border:1px solid var(--ln);background:var(--srf);overflow:hidden;
  display:grid;grid-template-columns:110px 1fr;cursor:pointer;transition:.3s var(--ez);
}
.n-side-card:hover{border-color:var(--gold-b);transform:translateX(5px)}
.nsc-img{overflow:hidden;min-height:100px}
.nsc-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4) brightness(.85);transition:.5s}
.n-side-card:hover .nsc-img img{filter:grayscale(0)}
.nsc-body{padding:18px}
.nsc-cat{font-family:var(--fh);font-size:9.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:7px}
.nsc-title{font-family:var(--fh);font-size:15px;font-weight:700;text-transform:uppercase;line-height:1.12;margin-bottom:6px}
.nsc-date{font-size:11px;color:var(--mut2)}
.news-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:960px){.news-mag{grid-template-columns:1fr}.news-3{grid-template-columns:1fr}}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.filter{
  padding:9px 18px;font-family:var(--fh);font-size:11px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--mut);
  border:1px solid var(--ln2);cursor:pointer;transition:.25s;
}
.filter:hover{color:var(--txt);border-color:var(--ln3)}
.filter.on{background:var(--gold);color:#0B0800;border-color:var(--gold)}

/* ── INVESTOR CARDS ───────────────────────────────── */
.inv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ln)}
.inv-card{
  padding:clamp(28px,3vw,40px);border-right:1px solid var(--ln);border-bottom:1px solid var(--ln);
  position:relative;overflow:hidden;transition:background .3s;
}
.inv-card:nth-child(3n){border-right:none}
.inv-card:nth-last-child(-n+3){border-bottom:none}
.inv-card:hover{background:var(--bg3)}
.inv-no{font-family:var(--fh);font-size:36px;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold-b);margin-bottom:20px}
.inv-title{font-family:var(--fh);font-size:20px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;margin-bottom:10px}
.inv-desc{font-size:13.5px;color:var(--mut);line-height:1.7}
@media(max-width:960px){
  .inv-grid{grid-template-columns:1fr}
  .inv-card{border-right:none!important;border-bottom:1px solid var(--ln)!important}
  .inv-card:last-child{border-bottom:none!important}
}

/* ── AUD HERO (pages internes) ────────────────────── */
.aud-hero{position:relative;min-height:78svh;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:60px}
.aud-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.38) saturate(.85);transform:scale(1.04)}
.aud-hero-ov{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 3%,rgba(5,8,15,.68) 45%,rgba(5,8,15,.3))}
.aud-hero-in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:170px var(--gut) 0;width:100%}
.kicker{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:4px;
  text-transform:uppercase;color:var(--gold-hi);margin-bottom:20px;
}
.kicker::before{content:'';width:36px;height:1px;background:var(--gold)}
.aud-h1{font-size:clamp(42px,6.6vw,92px);font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:-.015em;margin-bottom:18px}
.aud-h1 em{font-style:normal;color:var(--gold-hi)}
.you-line{font-family:var(--fs);font-style:italic;font-size:clamp(19px,2.4vw,28px);color:var(--gold-hi);line-height:1.45;margin-bottom:18px;max-width:760px}
.aud-p{font-size:16px;color:rgba(198,211,226,.85);max-width:620px;line-height:1.8}
.aud-p strong{color:var(--txt)}

/* ── PG HERO (services / contact) ─────────────────── */
.pg-hero{position:relative;min-height:62svh;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:56px}
.ph-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.32) saturate(.75)}
.ph-ov{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 2%,rgba(5,8,15,.7) 45%,rgba(5,8,15,.3))}
.ph-in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:160px var(--gut) 0;width:100%}
.ph-in h1{font-size:clamp(40px,6vw,82px);font-weight:800;text-transform:uppercase;line-height:.94;margin-bottom:16px}
.ph-in h1 em{font-style:normal;color:var(--gold-hi)}
.ph-in .sv-tag{font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;margin-bottom:18px}
.ph-in .sv-tag::before{content:'';width:36px;height:1px;background:currentColor}
.ph-in p.pl{font-size:16.5px;color:rgba(198,211,226,.85);max-width:580px;line-height:1.78}

/* ── BEFORE / AFTER ───────────────────────────────── */
.ba-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ba-col{border:1px solid var(--ln);padding:clamp(24px,3vw,38px);position:relative}
.ba-col::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.ba-col.before::before{background:var(--red)}
.ba-col.after::before{background:var(--grn)}
.ba-label{font-family:var(--fh);font-size:15px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:20px}
.ba-col.before .ba-label{color:var(--red)}
.ba-col.after .ba-label{color:var(--grn)}
.ba-item{display:flex;gap:11px;padding:11px 0;font-size:14px;color:var(--mut);line-height:1.55;border-bottom:1px solid var(--ln)}
.ba-item:last-child{border-bottom:none}
.ba-dot{font-family:var(--fh);font-weight:800;flex-shrink:0}
.ba-col.before .ba-dot{color:var(--red)}
.ba-col.after .ba-dot{color:var(--grn)}
@media(max-width:820px){.ba-wrap{grid-template-columns:1fr}}

/* ── DELIVERABLES ─────────────────────────────────── */
.deliv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ln)}
.deliv-grid.two{grid-template-columns:repeat(2,1fr)}
.deliv-card{
  padding:30px 28px;border-right:1px solid var(--ln);border-bottom:1px solid var(--ln);
  transition:background .3s;
}
.deliv-grid .deliv-card:nth-child(3n){border-right:none}
.deliv-grid.two .deliv-card:nth-child(3n){border-right:1px solid var(--ln)}
.deliv-grid.two .deliv-card:nth-child(2n){border-right:none}
.deliv-card:hover{background:var(--bg3)}
.deliv-no{font-family:var(--fh);font-size:26px;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold-b);margin-bottom:16px}
.deliv-title{font-family:var(--fh);font-size:16px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}
.deliv-desc{font-size:13px;color:var(--mut);line-height:1.65}
@media(max-width:920px){
  .deliv-grid,.deliv-grid.two{grid-template-columns:1fr}
  .deliv-card{border-right:none!important}
}

/* ── STEPS ────────────────────────────────────────── */
.steps-wrap{border:1px solid var(--ln)}
.step{
  display:grid;grid-template-columns:130px 1fr;gap:26px;align-items:start;
  padding:clamp(28px,3.4vw,46px);border-bottom:1px solid var(--ln);transition:background .3s;
}
.step:last-child{border-bottom:none}
.step:hover{background:var(--bg3)}
.step-num{
  font-family:var(--fh);font-size:clamp(56px,6vw,84px);font-weight:800;line-height:.8;
  color:transparent;-webkit-text-stroke:1.5px var(--gold-b);
}
.step h4{font-family:var(--fh);font-size:clamp(20px,2vw,25px);font-weight:800;text-transform:uppercase;margin-bottom:12px}
.step p{font-size:14.5px;color:var(--mut);line-height:1.8}
.step p strong{color:var(--txt)}
.step-tag{
  display:inline-flex;align-items:center;gap:8px;margin-top:14px;
  border:1px solid var(--gold-b);color:var(--gold-hi);padding:8px 16px;
  font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
}
@media(max-width:700px){.step{grid-template-columns:1fr;gap:10px}}

/* ── OFFER SPLIT (fleet) ──────────────────────────── */
.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.offer-card{border:1px solid var(--ln);padding:clamp(28px,3.4vw,46px);position:relative;cursor:pointer;transition:.35s var(--ez);overflow:hidden}
.offer-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.offer-card.c-gold::before{background:var(--gold)}
.offer-card.c-grn::before{background:var(--grn)}
.offer-card:hover{transform:translateY(-5px);border-color:var(--ln2);box-shadow:0 30px 70px rgba(0,0,0,.5);background:var(--bg3)}
.offer-tag{font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px;display:block}
.offer-card.c-gold .offer-tag{color:var(--gold-hi)}
.offer-card.c-grn .offer-tag{color:var(--grn)}
.offer-name{font-size:clamp(24px,2.6vw,32px);font-weight:800;text-transform:uppercase;margin-bottom:14px}
.offer-p{font-size:14.5px;color:var(--mut);line-height:1.75;margin-bottom:22px}
.offer-p strong{color:var(--txt)}
.offer-list{list-style:none;display:grid;gap:10px;margin-bottom:28px;padding-top:20px;border-top:1px solid var(--ln)}
.offer-list li{display:flex;gap:11px;font-size:14px;color:var(--mut)}
.offer-list li::before{content:'✓';font-weight:700;flex-shrink:0}
.offer-card.c-gold .offer-list li::before{color:var(--gold-hi)}
.offer-card.c-grn .offer-list li::before{color:var(--grn)}
@media(max-width:860px){.offer-grid{grid-template-columns:1fr}}
.offer-note{
  margin-top:20px;border:1px solid var(--ln);border-left:2px solid var(--blu);
  padding:26px 30px;display:flex;flex-wrap:wrap;align-items:center;gap:20px;justify-content:space-between;
}
.offer-note .on-tag{font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--blu);display:block;margin-bottom:8px}
.offer-note .on-name{font-family:var(--fh);font-size:22px;font-weight:800;text-transform:uppercase;margin-bottom:8px}
.offer-note p{font-size:14px;color:var(--mut);max-width:520px;line-height:1.65}

/* ── FAQ ──────────────────────────────────────────── */
.faq-cat{
  font-family:var(--fh);font-size:12px;font-weight:700;letter-spacing:4px;
  text-transform:uppercase;color:var(--gold);margin:44px 0 14px;
  display:flex;align-items:center;gap:16px;
}
.faq-cat:first-child{margin-top:0}
.faq-cat::after{content:'';flex:1;height:1px;background:var(--ln)}
.faq-item{border:1px solid var(--ln);border-bottom:none}
.faq-item:last-of-type,.faq-item.last{border-bottom:1px solid var(--ln)}
.faq-item.open{background:var(--bg3)}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 24px;cursor:pointer;font-family:var(--fb);
  font-size:15.5px;font-weight:600;color:var(--txt);transition:.2s;
}
.faq-q:hover{color:var(--gold-hi)}
.faq-x{
  width:30px;height:30px;border:1px solid var(--ln2);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;position:relative;transition:.35s var(--ez);
}
.faq-x::before,.faq-x::after{content:'';position:absolute;background:var(--gold-hi)}
.faq-x::before{width:11px;height:1.5px}
.faq-x::after{width:1.5px;height:11px}
.faq-item.open .faq-x{transform:rotate(135deg);border-color:var(--gold)}
.faq-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ez)}
.faq-item.open .faq-body{max-height:500px}
.faq-body-in{padding:0 24px 24px;font-size:14.5px;color:var(--mut);line-height:1.85}
.faq-body-in p{margin-bottom:12px}
.faq-body-in p:last-child{margin:0}
.faq-body-in strong{color:var(--txt)}

/* ── CONTACT ──────────────────────────────────────── */
.ct-grid{display:grid;grid-template-columns:1fr 380px;gap:56px;align-items:start}
.form-group{margin-bottom:20px}
.form-label{
  display:block;font-family:var(--fh);font-size:11px;font-weight:700;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--off);margin-bottom:8px;
}
.form-input,.form-select,.form-textarea{
  width:100%;background:var(--srf);border:1px solid var(--ln2);
  padding:15px 16px;color:var(--txt);font-family:var(--fb);font-size:15px;
  transition:.25s;outline:none;appearance:none;border-radius:0;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-a)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--mut2)}
.form-select{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.form-select option{background:var(--srf)}
.form-textarea{resize:vertical;min-height:120px;line-height:1.6}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-submit{
  width:100%;background:var(--gold);color:#0B0800;padding:18px;
  font-family:var(--fh);font-size:18px;font-weight:800;letter-spacing:2px;
  text-transform:uppercase;transition:.3s var(--ez);margin-top:6px;
}
.form-submit:hover{background:var(--gold-hi);transform:translateY(-2px);box-shadow:0 16px 44px rgba(220,148,32,.3)}
.form-note{font-size:11.5px;color:var(--mut2);text-align:center;margin-top:12px;line-height:1.6}
.ct-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:104px}
.wa-card{background:linear-gradient(135deg,#07301F,#0A4A2E);border:1px solid rgba(37,211,102,.25);padding:28px;text-align:center}
.wa-card h4{font-family:var(--fh);font-size:19px;font-weight:800;text-transform:uppercase;margin-bottom:6px}
.wa-card p{font-size:13px;color:rgba(255,255,255,.6);margin-bottom:18px}
.btn-wa{
  display:inline-flex;align-items:center;justify-content:center;gap:11px;width:100%;
  background:var(--wa);color:#07271A;padding:15px 20px;
  font-family:var(--fh);font-size:15px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
  transition:.25s;
}
.btn-wa svg{width:18px;height:18px;fill:#07271A}
.btn-wa:hover{filter:brightness(1.08);transform:translateY(-2px)}
.ci-card{border:1px solid var(--ln);padding:28px;background:var(--srf)}
.ci-card h4{font-family:var(--fh);font-size:16px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:20px;color:var(--off)}
.ci-item{display:flex;gap:14px;padding:11px 0;font-size:13.5px;color:var(--mut);line-height:1.55;border-bottom:1px solid var(--ln)}
.ci-item:last-of-type{border-bottom:none}
.ci-item strong{color:var(--txt);display:block;font-family:var(--fh);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2px}
.ci-item a{color:var(--gold-hi)}
.ci-k{font-family:var(--fh);font-size:11px;font-weight:800;color:var(--gold);letter-spacing:1px;flex-shrink:0;width:20px;padding-top:3px}
.next-steps{border:1px solid var(--ln)}
.next-step{display:flex;align-items:center;gap:14px;padding:14px 18px;font-size:13.5px;color:var(--mut);border-bottom:1px solid var(--ln)}
.next-step:last-child{border-bottom:none}
.ns-num{
  font-family:var(--fh);font-size:15px;font-weight:800;color:var(--gold-hi);
  border:1px solid var(--gold-b);width:28px;height:28px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.success-msg{border:1px solid rgba(35,181,115,.3);background:rgba(35,181,115,.06);padding:44px;text-align:center;display:none}
.success-msg.show{display:block}
.success-msg h3{font-family:var(--fh);font-size:30px;font-weight:800;text-transform:uppercase;color:var(--grn);margin-bottom:14px}
.success-msg p{font-size:14.5px;color:var(--mut);line-height:1.75}
.legal-line{font-size:11px;color:var(--mut2);line-height:1.7;margin-top:16px;padding-top:14px;border-top:1px solid var(--ln)}
.legal-line strong{color:var(--mut)}
@media(max-width:960px){.ct-grid{grid-template-columns:1fr}.ct-sidebar{position:static}.form-row{grid-template-columns:1fr}}

/* ── REASSURANCE ──────────────────────────────────── */
.reass-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ln)}
.reass-item{padding:30px 22px;border-right:1px solid var(--ln);transition:background .3s}
.reass-item:last-child{border-right:none}
.reass-item:hover{background:var(--bg3)}
.ri-no{font-family:var(--fh);font-size:13px;font-weight:800;color:var(--gold);letter-spacing:2px;margin-bottom:10px}
.ri-title{font-family:var(--fh);font-size:15px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}
.ri-desc{font-size:12px;color:var(--mut)}
@media(max-width:760px){
  .reass-row{grid-template-columns:1fr 1fr}
  .reass-item:nth-child(2n){border-right:none}
  .reass-item:nth-child(-n+2){border-bottom:1px solid var(--ln)}
}

/* ── FOOTER ───────────────────────────────────────── */
footer{background:#03060C;border-top:1px solid var(--ln);position:relative;overflow:hidden}
.ft-word{
  font-family:var(--fh);font-weight:800;text-transform:uppercase;
  font-size:clamp(70px,14vw,220px);line-height:.78;text-align:center;
  color:transparent;-webkit-text-stroke:1px rgba(226,235,245,.09);
  user-select:none;padding:50px 0 0;letter-spacing:.02em;white-space:nowrap;
}
.ft-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.2fr;gap:48px;padding:56px 0 0}
.ft-brand p{font-size:13.5px;color:var(--mut);line-height:1.75;margin-top:16px;max-width:340px}
.ft-values{margin-top:14px;font-family:var(--fh);font-size:10.5px;font-weight:700;letter-spacing:2.5px;color:var(--gold);text-transform:uppercase}
.ft-social{display:flex;gap:10px;margin-top:22px}
.ft-soc{
  width:38px;height:38px;border:1px solid var(--ln2);
  display:flex;align-items:center;justify-content:center;color:var(--mut);transition:.25s;
}
.ft-soc svg{width:15px;height:15px;fill:currentColor}
.ft-soc:hover{background:var(--gold);border-color:var(--gold);color:#0B0800;transform:translateY(-3px)}
.ft-col h5{
  font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:3.5px;
  text-transform:uppercase;color:var(--gold);margin-bottom:16px;
}
.ft-col a{display:block;font-size:13.5px;color:var(--mut);padding:5px 0;cursor:pointer;transition:.2s}
.ft-col a:hover{color:var(--txt);padding-left:6px}
.ft-logo-img{height:36px;width:auto}
.ft-bottom{
  border-top:1px solid var(--ln);margin-top:48px;padding:24px 0 28px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  font-size:11.5px;color:var(--mut2);
}
.ft-tagline{font-family:var(--fh);font-size:12px;font-weight:700;color:var(--gold);letter-spacing:2.5px;text-transform:uppercase}
@media(max-width:960px){.ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ft-grid{grid-template-columns:1fr}}

/* ── RESPONSIVE GLOBAL ────────────────────────────── */
@media(max-width:900px){
  :root{--gut:24px}
  .shead{flex-direction:column;align-items:flex-start;gap:12px}
  .s-ix{display:none}
  .hero-bottom{gap:12px}
}
@media(max-width:600px){
  :root{--gut:20px}
  .hero-h1{font-size:clamp(42px,12vw,60px)}
  .cta-row .b,.cta-row .b-o,.cta-row .b-g{width:100%;justify-content:center}
}

/* ── REDUCED MOTION ───────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.01s!important;scroll-behavior:auto!important}
  .rv,.rvL,.rvR,.zm img,.li{opacity:1!important;transform:none!important}
  .hero-photo{animation:none}
  .mq-track,.tg-track{animation:none}
}

/* ── LANDING (homepage) nav: show entreprise nav, hide universe tag ── */
body.landing .uni-tag{display:none}
main#main{display:block}

/* ════════════════════════════════════════════════════════
   AWARD-POLISH REFINEMENTS  (obsessive detail pass)
════════════════════════════════════════════════════════ */

/* — Global type rendering: real kerning, ligatures, legibility — */
html{text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale}
body{font-feature-settings:"kern" 1,"liga" 1,"calt" 1;font-kerning:normal}

/* — Tabular figures on every animated / data number → no jitter, no CLS — */
.counter,.proof-num,.bs-num,.case-num,.ldr-pct,.ns-num,.step-num,.s-ix,.hub-wm,.svc-num,.val-no,.inv-no,.deliv-no,.acc-no,.gd-num,.feat-no,.ri-no{
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;
}

/* — Custom scrollbar: thin, dark track, gold thumb (desktop) — */
@media (pointer:fine){
  *{scrollbar-width:thin;scrollbar-color:var(--gold-lo) var(--bg2)}
  ::-webkit-scrollbar{width:11px;height:11px}
  ::-webkit-scrollbar-track{background:var(--bg2)}
  ::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold-lo),var(--gold));border:3px solid var(--bg2);border-radius:20px}
  ::-webkit-scrollbar-thumb:hover{background:var(--gold-hi)}
}

/* — Section-kicker hairline draws itself in on reveal — */
.shead.rv .s-kick::before,.shead.rv.center .s-kick::after{width:0;transition:width .9s var(--ez) .18s}
.shead.rv.V .s-kick::before,.shead.rv.center.V .s-kick::after{width:34px}

/* — Nav links: underline grows from left on hover (distinct from active) — */
.nav-links > a:not(.nav-cta):not(.nav-switch)::before{
  content:'';position:absolute;left:13px;bottom:3px;height:1px;width:0;
  background:var(--gold-hi);opacity:.75;transition:width .3s var(--ez);
}
.nav-links > a:not(.nav-cta):not(.nav-switch):hover::before{width:calc(100% - 26px)}

/* — Footer / column links: animated underline sweep — */
.ft-col a{position:relative}
.ft-col a::after{content:'';position:absolute;left:0;bottom:2px;width:0;height:1px;background:var(--gold);transition:width .35s var(--ez)}
.ft-col a:hover::after{width:1.15em}

/* — Primary button: light sheen sweep on hover — */
.b{overflow:hidden}
.b::after{content:'';position:absolute;top:0;left:-130%;width:55%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg)}
.b:hover::after{animation:sheen .85s var(--ez)}
@keyframes sheen{from{left:-130%}to{left:170%}}

/* — Terrain photos: gold inner-edge on hover, deepens the frame — */
.tg-item .tg-ph::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .4s}
.tg-item:hover .tg-ph::before{box-shadow:inset 0 0 0 1px var(--gold-b)}

/* — Anchored scroll offset clears the fixed nav — */
:target{scroll-margin-top:100px}

/* — Reduced motion: kill the sweep — */
@media (prefers-reduced-motion: reduce){
  .b:hover::after{animation:none}
  .shead.rv .s-kick::before,.shead.rv.center .s-kick::after{width:34px}
}

/* ════════════════════════════════════════════════════════
   ARTICLE PAGES  (real editorial content)
════════════════════════════════════════════════════════ */
.art-hero{position:relative;min-height:56svh;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:46px}
.art-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.34) saturate(.82);transform:scale(1.04)}
.art-hero-ov{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 3%,rgba(5,8,15,.7) 48%,rgba(5,8,15,.28))}
.art-hero-in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:150px var(--gut) 0;width:100%}
.crumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--mut2);margin-bottom:20px}
.crumb a{color:var(--gold-hi)}
.crumb a:hover{text-decoration:underline;text-underline-offset:3px}
.crumb .sep{opacity:.5}
.art-cat{display:inline-block;background:var(--gold);color:#0B0800;font-family:var(--fh);font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;padding:7px 15px;margin-bottom:18px}
.art-hero h1{font-size:clamp(30px,4.7vw,62px);font-weight:800;text-transform:uppercase;line-height:1;max-width:920px;margin-bottom:18px}
.art-meta{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--fh);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut)}
.art-meta b{color:var(--gold-hi);font-weight:700}
.art-body{max-width:760px}
.art-body>p{font-size:16.5px;line-height:1.9;color:var(--off);margin-bottom:22px}
.art-body>p.lede{font-family:var(--fs);font-style:italic;font-size:clamp(20px,2.3vw,26px);color:var(--txt);line-height:1.5;margin-bottom:30px}
.art-body h2{font-family:var(--fh);font-size:clamp(21px,2.5vw,30px);font-weight:800;text-transform:uppercase;letter-spacing:.3px;margin:44px 0 18px}
.art-body h2::before{content:'';display:block;width:44px;height:2px;background:var(--gold);margin-bottom:18px}
.art-body ul{list-style:none;margin:0 0 24px;display:grid;gap:13px}
.art-body li{position:relative;padding-left:24px;font-size:16px;line-height:1.7;color:var(--off)}
.art-body li::before{content:'';position:absolute;left:0;top:10px;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.art-body strong{color:var(--txt)}
.art-body .pull{border-left:2px solid var(--gold);padding:4px 0 4px 26px;margin:32px 0;font-family:var(--fs);font-style:italic;font-size:clamp(19px,2.2vw,26px);color:var(--gold-hi);line-height:1.42}
.art-figure{margin:32px 0;border:1px solid var(--ln);overflow:hidden}
.art-figure img{width:100%;height:auto;display:block;filter:saturate(.95)}
.art-figure figcaption{font-family:var(--fh);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut2);padding:12px 16px;border-top:1px solid var(--ln)}
.art-cta{margin-top:48px;border:1px solid var(--ln);border-top:2px solid var(--gold);padding:clamp(26px,3vw,38px);background:var(--bg2)}
.art-cta h3{font-family:var(--fh);font-size:clamp(20px,2.2vw,26px);font-weight:800;text-transform:uppercase;margin-bottom:12px}
.art-cta p{font-size:15px;color:var(--mut);margin-bottom:22px;line-height:1.7}
.art-back{display:inline-flex;align-items:center;gap:10px;margin-top:34px;font-family:var(--fh);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-hi);font-size:13px}
.art-back .ar{transition:transform .3s var(--ez)}
.art-back:hover .ar{transform:translateX(-6px)}

/* ════════════════════════════════════════════════════════
   PHOTO TRIO — captioned proof-in-images band
════════════════════════════════════════════════════════ */
.photo-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:clamp(44px,5vw,64px)}
.pt3{position:relative;overflow:hidden;border:1px solid var(--ln)}
.pt3 img{width:100%;height:clamp(210px,23vw,300px);object-fit:cover;display:block;filter:grayscale(.35) brightness(.88);transition:filter .6s,transform 1s var(--ez)}
.pt3:hover img{filter:grayscale(0) brightness(1);transform:scale(1.05)}
.pt3-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:16px 18px 14px;background:linear-gradient(to top,rgba(5,8,15,.94),rgba(5,8,15,.4) 70%,transparent);display:flex;flex-direction:column;gap:3px;pointer-events:none}
.pt3-cap b{font-family:var(--fh);font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--off)}
.pt3-cap span{font-size:11px;color:var(--gold);letter-spacing:1px;text-transform:uppercase}
.pt3::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;transition:box-shadow .4s}
.pt3:hover::after{box-shadow:inset 0 0 0 1px var(--gold-b)}
@media(max-width:820px){.photo-trio{grid-template-columns:1fr}.pt3 img{height:200px}}
@media(prefers-reduced-motion:reduce){.pt3 img{transition:none}.pt3:hover img{transform:none}}

/* ════════════════════════════════════════════════════════
   FOOTER — INDUSTRIAL LEDGER SUITE (MONUMENTAL & PREMIUM)
════════════════════════════════════════════════════════ */
footer.site-footer, footer{
  background: radial-gradient(circle at 50% -20%, #0d1726 0%, #03060C 80%);
  border-top: 1px solid rgba(220,148,32,0.22);
  position: relative;
  overflow: hidden;
  color: var(--txt);
  box-shadow: 0 -20px 40px rgba(0,0,0,0.5);
}

/* ── Bandeau Pré-Footer Opérationnel Live ── */
.ft-prebar{
  border-bottom: 1px solid rgba(226,235,245,0.09);
  background: rgba(9, 15, 26, 0.75);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 13px 0;
  position: relative;
  z-index: 5;
}
.ft-pre-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.ft-pre-status{
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--fh);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--off);
}
.ft-pre-status strong{
  color: var(--gold-hi);
  font-weight: 800;
}
.ft-pre-status .pulse-dot{
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--grn);
  box-shadow: 0 0 12px var(--grn), 0 0 4px #fff;
  animation: pulseGlow 1.8s infinite;
  flex-shrink: 0;
}
@keyframes pulseGlow{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.4;transform:scale(1.35)}
}

/* Horloge Conakry Live (GMT) */
.ft-clock-wrap{
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--fh);
  font-size: 11.5px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--mut);
  background: rgba(13,20,32,0.6);
  border: 1px solid rgba(226,235,245,0.12);
  padding: 4px 12px;
  border-radius: 3px;
}
.ft-clock-flag{
  font-size: 13px;
}
.ft-clock-label{
  color: var(--mut2);
}
.ft-clock-time{
  color: var(--gold-hi);
  font-weight: 800;
  letter-spacing: 1.5px;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* Bouton Alerte Dispatch Pré-Footer */
.ft-pre-cta{
  display: flex;
  align-items: center;
}
.ft-pre-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(220,148,32,0.12);
  border: 1px solid var(--gold-b);
  color: var(--gold-hi);
  font-family: var(--fh);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 2px;
  transition: all 0.25s var(--ez);
}
.ft-pre-btn .ft-pre-icon{
  color: var(--gold-hi);
}
.ft-pre-btn .ar{
  transition: transform 0.25s var(--ez);
}
.ft-pre-btn:hover{
  background: var(--gold);
  border-color: var(--gold-hi);
  color: #0B0800;
  box-shadow: 0 4px 18px rgba(220,148,32,0.35);
}
.ft-pre-btn:hover .ft-pre-icon{
  color: #0B0800;
}
.ft-pre-btn:hover .ar{
  transform: translateX(4px);
}

/* ── Filigrane Monumental SARAMKO ── */
.ft-watermark-wrap{
  position: relative;
  width: 100%;
  pointer-events: none;
  overflow: hidden;
  margin-top: -10px;
}
.ft-word{
  font-family: var(--fh);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(68px, 15vw, 230px);
  line-height: 0.76;
  text-align: center;
  color: transparent;
  -webkit-text-stroke: 1px rgba(220,148,32,0.13);
  user-select: none;
  padding: 40px 0 0;
  letter-spacing: 0.05em;
  white-space: nowrap;
  opacity: 0.75;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0.15) 100%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,0.15) 100%);
}

/* ── Corps Principal du Footer (Grille 4 Colonnes) ── */
.ft-main-wrap{
  position: relative;
  z-index: 3;
  padding-top: 10px;
}
.ft-grid{
  display: grid;
  grid-template-columns: 2.3fr 1.15fr 1.25fr 1.55fr;
  gap: clamp(30px, 3.5vw, 54px);
  padding: 24px 0 48px;
}

/* Col 1 : Identité & Marque */
.ft-brand{
  display: flex;
  flex-direction: column;
}
.ft-logo-link{
  display: inline-block;
  margin-bottom: 14px;
  transition: opacity 0.2s;
}
.ft-logo-link:hover{
  opacity: 0.88;
}
.ft-logo-img{
  height: 38px;
  width: auto;
  display: block;
}
.ft-lead-pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--fh);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold-hi);
  margin-bottom: 14px;
}
.ft-lead-pill .ft-pill-dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}
.ft-desc{
  font-size: 13.5px;
  color: var(--mut);
  line-height: 1.75;
  margin-bottom: 20px;
  max-width: 420px;
}

/* Grille de Badges de Confiance */
.ft-badge-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 22px;
  max-width: 420px;
}
.ft-badge-item{
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(13,20,32,0.65);
  border: 1px solid rgba(226,235,245,0.08);
  padding: 7px 10px;
  border-radius: 3px;
  transition: all 0.25s var(--ez);
}
.ft-badge-ic{
  font-size: 13px;
  flex-shrink: 0;
}
.ft-badge-txt{
  font-family: var(--fh);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--off);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ft-badge-item:hover{
  background: rgba(220,148,32,0.09);
  border-color: var(--gold-b);
  transform: translateY(-2px);
}
.ft-badge-item:hover .ft-badge-txt{
  color: var(--gold-hi);
}

/* Réseaux Sociaux */
.ft-social-block{
  margin-top: auto;
}
.ft-social-title{
  display: block;
  font-family: var(--fh);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--mut2);
  margin-bottom: 10px;
}
.ft-social{
  display: flex;
  gap: 8px;
  align-items: center;
}
.ft-soc{
  width: 38px;
  height: 38px;
  border: 1px solid var(--ln2);
  background: rgba(13,20,32,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mut);
  transition: all 0.25s var(--ez);
  border-radius: 3px;
}
.ft-soc svg{
  width: 17px;
  height: 17px;
  fill: currentColor;
}
.ft-soc:hover{
  background: var(--gold);
  border-color: var(--gold-hi);
  color: #0B0800;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(220,148,32,0.35);
}

/* Colonnes de Liens (Col 2 & 3) */
.ft-col-title{
  font-family: var(--fh);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold-hi);
  margin-bottom: 22px;
  position: relative;
  display: inline-block;
}
.ft-col-title::after{
  content: '';
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 28px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), transparent);
}
.ft-nav-list{
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
}
.ft-nav-list li a{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: var(--mut);
  padding: 2px 0;
  cursor: pointer;
  transition: all 0.2s var(--ez);
  position: relative;
}
.ft-nav-list li a::before{
  content: '➔';
  font-size: 9px;
  color: var(--gold);
  opacity: 0;
  transform: translateX(-6px);
  transition: all 0.2s var(--ez);
  flex-shrink: 0;
}
.ft-nav-list li a:hover{
  color: var(--txt);
  padding-left: 4px;
}
.ft-nav-list li a:hover::before{
  opacity: 1;
  transform: translateX(0);
}

/* Col 4 : Carte Contact & Dispatch H24 */
.ft-contact-col{
  display: flex;
  flex-direction: column;
}
.ft-contact-card{
  background: rgba(13,20,32,0.55);
  border: 1px solid rgba(226,235,245,0.09);
  border-top: 2px solid var(--gold);
  border-radius: 4px;
  padding: 18px 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}
.ft-c-item{
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.ft-c-icon{
  font-size: 15px;
  color: var(--gold-hi);
  margin-top: 1px;
  flex-shrink: 0;
}
.ft-c-body{
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 13px;
}
.ft-c-label{
  font-family: var(--fh);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--mut2);
  display: flex;
  align-items: center;
  gap: 8px;
}
.ft-status-pill{
  background: rgba(35,181,115,0.15);
  color: var(--grn);
  border: 1px solid rgba(35,181,115,0.3);
  font-size: 9px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 2px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.ft-c-val{
  color: var(--off);
  line-height: 1.5;
  transition: color 0.2s;
}
.ft-c-val.ft-addr{
  font-size: 12.5px;
  color: var(--mut);
}
.ft-phone-link{
  color: var(--gold-hi);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.5px;
}
.ft-c-item a.ft-c-val:hover{
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ft-action-wrap{
  margin-top: 6px;
}
.ft-quote-btn{
  width: 100%;
  background: linear-gradient(90deg, #DC9420, #F4B440);
  color: #0B0800;
  font-family: var(--fh);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 10px 14px;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.25s var(--ez);
  box-shadow: 0 4px 16px rgba(220,148,32,0.25);
  text-align: center;
}
.ft-quote-btn .ar{
  transition: transform 0.25s var(--ez);
}
.ft-quote-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(220,148,32,0.45);
  color: #000;
}
.ft-quote-btn:hover .ar{
  transform: translateX(4px);
}

/* ── Barre Inférieure (Sub-Footer) ── */
.ft-bottom{
  border-top: 1px solid rgba(226,235,245,0.08);
  padding: 24px 0 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--mut2);
}
.ft-copy strong{
  color: var(--off);
  font-weight: 700;
}
.ft-tagline{
  font-family: var(--fs);
  font-style: italic;
  font-size: 14px;
  color: var(--gold-hi);
  letter-spacing: 0.3px;
  text-align: center;
}
.ft-tagline-quote{
  color: var(--gold);
  opacity: 0.7;
}
.ft-bottom-links{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.ft-std-tag{
  font-family: var(--fh);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--off);
}
.ft-sep{
  color: var(--mut2);
  opacity: 0.6;
}
.ft-bottom-links a{
  color: var(--mut);
  transition: color 0.2s;
  font-size: 11.5px;
}
.ft-bottom-links a:hover{
  color: var(--gold-hi);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ── Bouton Flottant WhatsApp Haute Visibilité ── */
.wa-sticky{
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 9990;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--wa);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 32px rgba(37,211,102,0.45);
  transition: transform 0.3s var(--ez), box-shadow 0.3s;
}
.wa-sticky svg{
  width: 30px;
  height: 30px;
  fill: #062114;
}
.wa-sticky:hover{
  transform: scale(1.08) rotate(4deg);
  box-shadow: 0 16px 44px rgba(37,211,102,0.65);
}
.wa-badge{
  position: absolute;
  top: -2px;
  right: -2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #E53935;
  color: #FFFFFF;
  border: 2px solid #05080F;
  font-family: var(--fh);
  font-size: 11px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.wa-ring-pulse{
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid var(--wa);
  opacity: 0.6;
  animation: waRingPulse 2.4s cubic-bezier(0.25, 1, 0.5, 1) infinite;
  pointer-events: none;
}
@keyframes waRingPulse{
  0%{transform: scale(0.9); opacity: 0.8;}
  100%{transform: scale(1.45); opacity: 0;}
}
.wa-tooltip{
  position: absolute;
  right: 70px;
  background: rgba(5,8,15,0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--txt);
  padding: 9px 16px;
  border-radius: 4px;
  border: 1px solid var(--gold-b);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transform: translateX(12px);
  transition: all 0.25s var(--ez);
  box-shadow: 0 8px 28px rgba(0,0,0,0.6);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.wa-tt-title{
  font-family: var(--fh);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--gold-hi);
}
.wa-tt-sub{
  font-size: 11px;
  color: var(--mut);
}
.wa-sticky:hover .wa-tooltip{
  opacity: 1;
  transform: translateX(0);
}

/* ── Bouton Magnétique de Retour en Haut ── */
.back-top{
  position: fixed;
  bottom: 96px;
  right: 32px;
  z-index: 9980;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(13,20,32,0.85);
  border: 1px solid var(--ln2);
  color: var(--gold-hi);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fh);
  font-size: 18px;
  font-weight: 800;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(16px);
  transition: all 0.3s var(--ez);
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
  backdrop-filter: blur(8px);
}
.back-top.show{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.back-top:hover{
  background: var(--gold);
  border-color: var(--gold-hi);
  color: #0B0800;
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(220,148,32,0.35);
}

/* ── Responsive Footer ── */
@media(max-width:1120px){
  .ft-grid{
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 36px 28px;
  }
  .ft-grid .ft-contact-col{
    grid-column: span 3;
  }
}
@media(max-width:768px){
  .ft-prebar{
    padding: 10px 0;
  }
  .ft-pre-inner{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .ft-pre-status{
    font-size: 11px;
    letter-spacing: 1.2px;
  }
  .ft-clock-wrap{
    width: 100%;
    justify-content: space-between;
  }
  .ft-pre-cta{
    width: 100%;
  }
  .ft-pre-btn{
    width: 100%;
    justify-content: center;
  }
  .ft-grid{
    grid-template-columns: 1fr 1fr;
    gap: 36px 24px;
    padding: 20px 0 36px;
  }
  .ft-grid .ft-brand{
    grid-column: span 2;
  }
  .ft-grid .ft-contact-col{
    grid-column: span 2;
  }
  .ft-bottom{
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
  .ft-bottom-links{
    justify-content: center;
  }
  .wa-sticky{
    bottom: 20px;
    right: 20px;
    width: 52px;
    height: 52px;
  }
  .back-top{
    bottom: 82px;
    right: 24px;
    width: 40px;
    height: 40px;
  }
  .wa-tooltip{
    display: none;
  }
}
@media(max-width:540px){
  .ft-grid{
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .ft-grid .ft-brand,
  .ft-grid .ft-col,
  .ft-grid .ft-contact-col{
    grid-column: span 1;
  }
  .ft-badge-grid{
    grid-template-columns: 1fr;
  }
}
