
@font-face{font-family:'Goodly';font-weight:800;src:url('fonts/font_1.ttf') format('truetype');}
@font-face{font-family:'Goodly';font-weight:700;src:url('fonts/font_2.ttf') format('truetype');}
@font-face{font-family:'Goodly';font-weight:500;src:url('fonts/font_3.ttf') format('truetype');}
@font-face{font-family:'Goodly';font-weight:400;src:url('fonts/font_4.ttf') format('truetype');}
@font-face{font-family:'Goodly';font-weight:300;src:url('fonts/font_5.ttf') format('truetype');}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{--navy:#0D0F1E;--red:#E11D48;--white:#FFFFFF;--offwhite:#F5F4F0;--G:'Goodly',sans-serif;}
html{scroll-behavior:smooth!important;}
body{font-family:var(--G)!important;background:var(--navy)!important;color:var(--white)!important;overflow-x:hidden!important;cursor:none!important;overscroll-behavior:none;}

/* CURSOR — SVG Bold & Co */
#cur{position:fixed;top:0;left:0;width:40px;height:40px;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);}
@keyframes curPirouette{
  0%  {transform:translate(-50%,-50%) rotate(0deg);}
  100%{transform:translate(-50%,-50%) rotate(360deg);}
}
#cur.is-x{animation:curPirouette .5s cubic-bezier(.16,1,.3,1) forwards;}
@media(pointer:coarse){#cur{display:none!important;}body{cursor:auto!important;}}

/* KEYFRAMES */
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes afloat{0%,100%{transform:rotate(-1.5deg);}50%{transform:rotate(.5deg);}}
@keyframes spulse{0%,100%{opacity:.28;transform:scaleY(1);}50%{opacity:1;transform:scaleY(1.15);}}
@keyframes fi{from{opacity:0;}to{opacity:1;}}
@keyframes svc{from{opacity:0;transform:translateX(-10px);}to{opacity:1;transform:translateX(0);}}
@keyframes dot{0%,100%{box-shadow:0 0 0 0 rgba(225,29,72,.45);}50%{box-shadow:0 0 0 6px rgba(225,29,72,0);}}
@keyframes tlin{0%{opacity:0;letter-spacing:.5em;color:rgba(255,255,255,0);}100%{opacity:1;letter-spacing:.22em;color:rgba(255,255,255,.82);}}
@keyframes mib{0%{opacity:0;letter-spacing:.6em;color:rgba(255,255,255,0);}100%{opacity:1;letter-spacing:.28em;color:rgba(255,255,255,1);}}
@keyframes slowDrift{0%,100%{transform:translate(0,0) rotate(0deg);opacity:.08;}50%{transform:translate(6px,-8px) rotate(1.5deg);opacity:.13;}}
@keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes slowDrift2{0%,100%{transform:translate(0,0) rotate(0deg);opacity:.06;}50%{transform:translate(-5px,7px) rotate(-2deg);opacity:.1;}}
@keyframes slowPulse{0%,100%{opacity:.06;}50%{opacity:.11;}}
@keyframes ampDivFloat{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-6px) rotate(.8deg);}}

/* ── LOGO DRAW ANIMATION ──
   Each path starts hidden (dashoffset = pathLength).
   JS sets the exact pathLength per path, then triggers CSS transitions.
   Phase 1: stroke draws (dashoffset 0)
   Phase 2: fill fades in + stroke fades out simultaneously
*/
#heroLogo path {
  fill: none;
  fill-opacity: 0;
  stroke-width: 1.8;
  /* stroke-dasharray and stroke-dashoffset set by JS */
  transition:
    stroke-dashoffset 0s,   /* overridden per path by JS */
    fill-opacity 0.7s ease,
    stroke-opacity 0.5s ease;
}

/* After .drawing class added by JS: stroke animates */
#heroLogo path.drawing {
  /* transition-duration set inline by JS for per-path timing */
}

/* After .filled class added by JS: fill appears, stroke fades */
#heroLogo path.filled {
  fill-opacity: 1 !important;
  stroke-opacity: 0 !important;
}

/* Glow pulse on the & path just before it fills */
@keyframes strokeGlow {
  0%,100%{ filter:drop-shadow(0 0 0px transparent); }
  50%    { filter:drop-shadow(0 0 8px rgba(255,255,255,.6)); }
}
#heroLogo #lp-amp.glowing { animation: strokeGlow .6s ease; }
#heroLogo #lp-c.glowing,
#heroLogo #lp-o.glowing   { animation: strokeGlow .5s ease; }

/* logo CSS → see scroll section below */

/* Tagline */
.h-tagline{font-family:var(--G)!important;font-weight:300!important;font-size:clamp(.75rem,1vw,.95rem)!important;letter-spacing:.5em!important;text-transform:uppercase!important;opacity:0;margin-top:0!important;white-space:nowrap!important;text-align:center!important;}
.h-tagline.show{animation:tlin 1s ease forwards!important;}
/* make it Bold — hero */
.h-mib{font-family:var(--G)!important;font-weight:300!important;font-size:clamp(.8rem,1.1vw,1rem)!important;letter-spacing:.6em!important;text-transform:uppercase!important;opacity:0;margin-top:8px!important;white-space:nowrap!important;text-align:center!important;}
.h-mib span{font-weight:700!important;color:var(--red)!important;}
.h-mib.show{animation:mib 1.1s cubic-bezier(.16,1,.3,1) forwards!important;}
/* bloc tagline — centré sous le logo dans le hero */
.h-tagline-block{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;top:68vh!important;z-index:5;display:flex;flex-direction:column;align-items:center;pointer-events:none;white-space:nowrap;}
/* make it — variantes sections */
.sec-mit{font-family:var(--G)!important;font-weight:300!important;font-size:clamp(.45rem,.58vw,.58rem)!important;letter-spacing:.32em!important;text-transform:uppercase!important;color:rgba(255,255,255,.28)!important;margin-bottom:18px!important;display:block!important;}
.sec-mit span{font-weight:600!important;color:rgba(255,255,255,.55)!important;}
.sec-mit.dark{color:rgba(0,0,0,.25)!important;}
.sec-mit.dark span{color:rgba(0,0,0,.45)!important;}
.h-accent{width:0;height:1px;background:rgba(255,255,255,.2);margin:16px auto 0!important;transition:width .6s cubic-bezier(.16,1,.3,1);}
.h-accent.show{width:28px!important;}

.rv{opacity:0!important;transform:translateY(32px)!important;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)!important;}
.rv.vis{opacity:1!important;transform:translateY(0)!important;}
.d1{transition-delay:.12s!important;}.d2{transition-delay:.24s!important;}.d3{transition-delay:.36s!important;}.d4{transition-delay:.48s!important;}
.amp-svg-wrap{display:inline-block;line-height:0;}
.amp-svg-wrap svg{display:block;}

/* NAV */
nav{
  position:fixed!important;top:0;left:0;right:0;z-index:100!important;
  pointer-events:auto!important;
  padding:6px 52px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  transition:background .4s ease, border-color .4s ease, backdrop-filter .4s ease;
  background:transparent!important;
  border-bottom:1px solid transparent!important;
  backdrop-filter:blur(0px)!important;
  -webkit-backdrop-filter:blur(0px)!important;
}
nav[data-theme="dark"]{background:rgba(8,14,38,.52)!important;border-bottom-color:rgba(100,140,255,.12)!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;}
nav[data-theme="dark"] .nav-links a{color:rgba(255,255,255,.52)!important;}
nav[data-theme="dark"] .nav-links a:hover{color:rgba(255,255,255,1)!important;}
nav[data-theme="dark"] .nav-btn{color:rgba(255,255,255,.88)!important;border-color:rgba(255,255,255,.22)!important;}
nav[data-theme="dark"] .nav-btn:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.5)!important;}
nav[data-theme="light"]{background:rgba(8,14,38,.52)!important;border-bottom-color:rgba(100,140,255,.12)!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;}
nav[data-theme="light"] .nav-links a{color:rgba(255,255,255,.52)!important;}
nav[data-theme="light"] .nav-links a:hover{color:rgba(255,255,255,1)!important;}
nav[data-theme="light"] .nav-btn{color:rgba(255,255,255,.88)!important;border-color:rgba(255,255,255,.22)!important;}
nav[data-theme="light"] .nav-btn:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.5)!important;}
.nav-logo{width:46px;height:46px;display:block;flex-shrink:0;}
.nav-logo svg{width:100%;height:100%;}
.nav-links{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;display:flex!important;gap:36px!important;list-style:none!important;}
.nav-links a{font-family:var(--G)!important;font-weight:400!important;font-size:.68rem!important;letter-spacing:.16em!important;text-transform:uppercase!important;text-decoration:none!important;transition:color .3s;cursor:pointer!important;pointer-events:auto!important;}
.nav-right{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.nav-btn{font-family:var(--G)!important;font-weight:500!important;font-size:.68rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;text-decoration:none!important;padding:9px 24px!important;border-radius:100px!important;transition:border-color .3s,background .3s,color .3s;border:1px solid transparent!important;cursor:pointer!important;pointer-events:auto!important;}

/* HAMBURGER */
.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;background:none;border:1px solid rgba(255,255,255,.15);border-radius:8px;cursor:pointer;padding:0;flex-shrink:0;transition:border-color .3s;}
.nav-burger:hover{border-color:rgba(225,29,72,.6);}
.nb-l{display:block;width:18px;height:1.5px;background:#fff;border-radius:2px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .25s,width .3s;}
.nav-burger.open .nb-l:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-burger.open .nb-l:nth-child(2){opacity:0;width:0;}
.nav-burger.open .nb-l:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* MENU MOBILE OVERLAY */
.nav-mob{position:fixed;inset:0;z-index:98;background:var(--navy);display:flex;flex-direction:column;justify-content:center;padding:90px 40px 60px;opacity:0;pointer-events:none;transform:translateX(100%);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1);}
.nav-mob.open{opacity:1;pointer-events:auto;transform:translateX(0);}
.nav-mob-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:70px 70px;opacity:.6;}
.nav-mob-in{position:relative;z-index:1;display:flex;flex-direction:column;}
.nml{font-family:var(--G)!important;font-weight:700!important;font-size:clamp(2rem,9vw,3rem)!important;letter-spacing:-.02em!important;text-transform:uppercase!important;color:rgba(255,255,255,.55)!important;text-decoration:none!important;padding:14px 0!important;border-bottom:1px solid rgba(255,255,255,.06)!important;display:flex!important;align-items:center!important;gap:0!important;transition:color .3s,gap .3s!important;overflow:hidden!important;}
.nml::before{content:'';display:block;width:0;height:2px;background:var(--red);flex-shrink:0;transition:width .35s cubic-bezier(.16,1,.3,1),margin-right .35s;}
.nml:hover{color:rgba(255,255,255,1)!important;gap:14px!important;}
.nml:hover::before{width:20px;}
/* Animation d'entrée des liens — décalage en cascade */
.nav-mob.open .nml:nth-child(1){animation:mobLinkIn .5s cubic-bezier(.16,1,.3,1) .05s both;}
.nav-mob.open .nml:nth-child(2){animation:mobLinkIn .5s cubic-bezier(.16,1,.3,1) .12s both;}
.nav-mob.open .nml:nth-child(3){animation:mobLinkIn .5s cubic-bezier(.16,1,.3,1) .19s both;}
.nav-mob.open .nml:nth-child(4){animation:mobLinkIn .5s cubic-bezier(.16,1,.3,1) .26s both;}
@keyframes mobLinkIn{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}
.nav-mob-foot{position:relative;z-index:1;margin-top:auto;padding-top:40px;display:flex;flex-direction:column;gap:8px;}
.nav-mob-mail{font-family:var(--G);font-weight:300;font-size:.7rem;letter-spacing:.14em;color:rgba(255,255,255,.3);text-decoration:none;text-transform:lowercase;transition:color .3s;}
.nav-mob-mail:hover{color:rgba(255,255,255,.7);}
.nav-mob-tag{font-family:var(--G);font-weight:300;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.1);}
.nav-mob-tag span{font-weight:700;color:var(--red);}
.nav-mob-deco{position:absolute;bottom:-60px;right:-40px;width:260px;height:260px;pointer-events:none;opacity:.04;z-index:0;}
.nav-mob-deco svg{width:100%;height:100%;}

/* LANGUAGE SWITCHER */
.lang-sw{display:flex;align-items:center;gap:2px;flex-shrink:0;}
.ls-btn{background:none;border:none;cursor:pointer;font-family:var(--G)!important;font-size:.58rem!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:rgba(255,255,255,.28)!important;padding:5px 8px!important;transition:color .3s;line-height:1;}
.ls-btn.ls-active{color:rgba(255,255,255,.92)!important;}
.ls-btn:hover:not(.ls-active){color:rgba(255,255,255,.55)!important;}
.ls-sep{font-family:var(--G);font-size:.5rem;color:rgba(255,255,255,.15);pointer-events:none;padding:0 1px;}
nav[data-theme="light"] .ls-btn{color:rgba(255,255,255,.35)!important;}
nav[data-theme="light"] .ls-btn.ls-active{color:#fff!important;}
@media(max-width:768px){
  nav{padding:10px 20px!important;}
  .nav-links{display:none!important;}
  .nav-btn{font-size:.6rem!important;padding:8px 16px!important;letter-spacing:.1em!important;}
  .nav-burger{display:flex;}
}

/* HERO */
.hero{position:relative!important;height:100vh!important;min-height:700px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:center!important;overflow:hidden!important;background:var(--navy)!important;padding-top:7vh!important;}
.hero-texture{position:absolute!important;inset:0!important;z-index:0!important;background-image:url('images/image_1.png')!important;background-size:cover!important;background-position:center!important;opacity:.85!important;pointer-events:none!important;}
.hero-vignette{position:absolute!important;inset:0!important;z-index:1!important;background:radial-gradient(ellipse 75% 75% at 50% 50%,transparent 35%,rgba(13,15,30,.75) 100%)!important;pointer-events:none!important;}
.hero-grid{position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px)!important;background-size:90px 90px!important;opacity:0;animation:fi 2s ease .3s forwards!important;}
.deco-bl{position:absolute!important;bottom:-50px!important;left:-40px!important;width:clamp(140px,16vw,200px)!important;height:clamp(140px,16vw,200px)!important;z-index:1!important;pointer-events:none!important;animation:slowDrift2 20s ease-in-out 3s infinite!important;opacity:.07!important;}
.deco-bl svg{width:100%;height:100%;}
.h-stage{position:relative!important;z-index:2!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;}
.h-btm{position:absolute!important;bottom:0!important;left:0!important;right:0!important;z-index:2!important;display:grid!important;grid-template-columns:1fr 1fr!important;align-items:flex-end!important;padding:0 52px 44px!important;opacity:0;}
.h-btm.show{animation:fi .8s ease forwards!important;}
.h-svcs{display:flex!important;flex-direction:column!important;gap:5px!important;}
.h-svcs-lbl{font-family:var(--G)!important;font-weight:300!important;font-size:.55rem!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:rgba(255,255,255,.18)!important;margin-bottom:12px!important;}
.h-svc{display:flex!important;align-items:center!important;gap:10px!important;font-family:var(--G)!important;font-weight:400!important;font-size:.76rem!important;letter-spacing:.04em!important;color:rgba(255,255,255,.85)!important;}
.h-svc.on{color:rgba(255,255,255,.85)!important;}
.h-svc::before{content:''!important;width:12px!important;height:1px!important;background:var(--red)!important;display:inline-block!important;flex-shrink:0!important;}
.h-scroll{display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;padding-bottom:4px!important;}
.h-stxt{font-family:var(--G)!important;font-weight:300!important;font-size:.5rem!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:rgba(255,255,255,.15)!important;writing-mode:vertical-rl!important;}
.h-sline{width:1px!important;height:44px!important;background:linear-gradient(to bottom,rgba(225,29,72,.5),transparent)!important;animation:spulse 2.5s ease-in-out infinite!important;}
.h-right{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-self:end!important;gap:14px!important;}
.h-cta{display:inline-flex!important;align-items:center!important;gap:14px!important;font-family:var(--G)!important;font-weight:500!important;font-size:.72rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--white)!important;text-decoration:none!important;transition:gap .3s;}
.h-cta:hover{gap:22px!important;}
.h-cta-c{width:44px!important;height:44px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:background .3s,border-color .3s;}
.h-cta:hover .h-cta-c{background:var(--red)!important;border-color:var(--red)!important;}
.h-cta-c svg{transition:transform .3s;}
.h-cta:hover .h-cta-c svg{transform:rotate(45deg);}
.h-badge{display:inline-flex!important;align-items:center!important;gap:7px!important;font-family:var(--G)!important;font-weight:300!important;font-size:.55rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:rgba(255,255,255,.2)!important;}
.h-bdot{width:5px!important;height:5px!important;background:var(--red)!important;border-radius:50%!important;animation:dot 2.2s ease-in-out infinite!important;flex-shrink:0!important;}
.h-ctl{position:absolute!important;top:96px!important;left:52px!important;z-index:2!important;opacity:0;animation:fi .8s ease 4s forwards!important;}
.h-ctr{position:absolute!important;top:96px!important;right:52px!important;z-index:2!important;text-align:right!important;opacity:0;animation:fi .8s ease 4s forwards!important;}
.h-yr{font-family:var(--G)!important;font-weight:300!important;font-size:.64rem!important;letter-spacing:.22em!important;color:rgba(255,255,255,.12)!important;}
.h-sub{font-family:var(--G)!important;font-weight:300!important;font-size:.5rem!important;letter-spacing:.14em!important;color:rgba(255,255,255,.07)!important;margin-top:3px!important;}
.h-ctrn{font-family:var(--G)!important;font-weight:800!important;font-size:4rem!important;line-height:1!important;color:transparent!important;-webkit-text-stroke:1px rgba(255,255,255,.05)!important;letter-spacing:-.05em!important;}
.h-ctrl{font-family:var(--G)!important;font-weight:300!important;font-size:.5rem!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:rgba(255,255,255,.08)!important;margin-top:2px!important;}
@media(max-width:768px){.h-btm{grid-template-columns:1fr auto!important;padding:0 24px 36px!important;}.h-ctl,.h-ctr{display:none!important;}.deco-br{width:130px!important;height:130px!important;}.deco-bl{display:none!important;}}
@media(max-width:480px){.h-scroll{display:none!important;}.h-btm{grid-template-columns:1fr!important;}}

/* MARQUEE */
.mq-strip{background:var(--red)!important;padding:14px 0!important;overflow:hidden!important;z-index:10!important;position:relative!important;}
.mq-track{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;width:max-content!important;animation:mq 22s linear infinite!important;}
.mi{white-space:nowrap!important;flex-shrink:0!important;padding:0 20px!important;font-family:var(--G)!important;font-weight:700!important;font-size:.74rem!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--white)!important;}
.mi-sep{flex-shrink:0!important;padding:0 8px!important;font-family:var(--G)!important;font-weight:700!important;font-size:.9rem!important;color:rgba(255,255,255,.6)!important;line-height:1!important;}
.md{width:3px!important;height:3px!important;background:rgba(255,255,255,.45)!important;border-radius:50%!important;}

/* & DIVIDER */
.adiv{display:flex!important;justify-content:center!important;align-items:center!important;overflow:hidden!important;padding:20px 0!important;}
.adiv.lt{background:var(--offwhite)!important;}.adiv.dk{background:var(--navy)!important;}
.adiv .amp-svg-wrap{display:block!important;animation:ampDivFloat 5s ease-in-out infinite!important;transition:transform .5s cubic-bezier(.16,1,.3,1);cursor:default!important;}
.adiv .amp-svg-wrap:hover{transform:skewX(-3deg) scale(1.04)!important;animation-play-state:paused!important;}
.adiv .amp-svg-wrap svg{width:clamp(90px,14vw,180px)!important;height:clamp(90px,14vw,180px)!important;display:block!important;}

/* EXPERTISES */
.exp-s{padding:110px 52px 120px!important;position:relative!important;overflow:hidden!important;background:var(--offwhite)!important;}
.exp-s::after{content:''!important;position:absolute!important;inset:0!important;z-index:0!important;background-image:url('images/image_2.svg+xml')!important;background-size:cover!important;background-position:center!important;opacity:.12!important;pointer-events:none!important;}
.exp-amp-bg{position:absolute!important;bottom:-30px!important;right:-30px!important;width:clamp(200px,30vw,360px)!important;height:clamp(200px,30vw,360px)!important;z-index:1!important;pointer-events:none!important;opacity:.06!important;animation:slowDrift 20s ease-in-out infinite!important;}
.exp-amp-bg svg{width:100%;height:100%;}
.exp-s>*{position:relative!important;z-index:2!important;}
.eyebrow{font-family:var(--G)!important;font-weight:500!important;font-size:.8rem!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:var(--red)!important;margin-bottom:52px!important;display:flex!important;align-items:center!important;gap:14px!important;}
.eyebrow::before{content:''!important;display:inline-block!important;width:24px!important;height:1px!important;background:var(--red)!important;}
/* ══ EXPERTISES ══ */
.exp-grid{
  display:grid!important;
  grid-template-columns:repeat(6,1fr)!important;
  gap:3px!important;
}
.exp-card.d1,.exp-card.d2,.exp-card.d3{ grid-column:span 2!important; }
.exp-card.d5{ grid-column:3/5!important; margin-top:3px!important; }

/* Base card */
.exp-card{
  position:relative!important;
  min-height:380px!important;
  overflow:hidden!important;
  cursor:default!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  background:var(--navy)!important;
  transition:transform .65s cubic-bezier(.16,1,.3,1), box-shadow .65s cubic-bezier(.16,1,.3,1)!important;
  z-index:1!important;
}
/* Ligne rouge qui balaie le bas de la carte */
.exp-card::after{
  content:''!important;
  position:absolute!important;
  bottom:0!important;left:0!important;
  width:0!important;height:2px!important;
  background:var(--red)!important;
  transition:width .7s cubic-bezier(.16,1,.3,1)!important;
  z-index:3!important;
}
.exp-card:hover::after, .exp-card.exp-revealed::after{ width:100%!important; }
.exp-card:hover{
  transform:translateY(-5px)!important;
  z-index:4!important;
  box-shadow:0 20px 45px rgba(0,0,0,.32), 0 0 0 1px rgba(225,29,72,.12)!important;
}

/* Photo card */
.exp-photo{
  position:absolute!important;
  inset:0!important;
  background-size:cover!important;
  background-position:center!important;
  transition:transform .8s cubic-bezier(.16,1,.3,1)!important;
}
.exp-card:hover .exp-photo{ transform:scale(1.1)!important; }
.exp-overlay{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(to top, rgba(8,12,30,.88) 0%, rgba(8,12,30,.2) 60%, transparent 100%)!important;
  transition:opacity .5s!important;
}
.exp-card:hover .exp-overlay{ opacity:.97!important; }

/* Dark card illustration zone */
.exp-dark{ background:#060a1a!important; }
.exp-illo{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:.9!important;
  transition:opacity .4s, transform .4s!important;
}
.exp-card:hover .exp-illo{ opacity:.3!important; transform:scale(1.03)!important; }

/* Content overlay */
.exp-content{
  position:relative!important;
  z-index:2!important;
  padding:28px 28px 32px!important;
  transform:translateY(8px)!important;
  transition:transform .6s cubic-bezier(.16,1,.3,1)!important;
}
.exp-card:hover .exp-content{ transform:translateY(-6px)!important; }

.exp-num{
  display:block!important;
  font-family:var(--G)!important;
  font-size:.72rem!important;
  font-weight:500!important;
  letter-spacing:.2em!important;
  color:#E11D48!important;
  margin-bottom:10px!important;
  transition:letter-spacing .5s cubic-bezier(.16,1,.3,1)!important;
}
.exp-card:hover .exp-num{ letter-spacing:.38em!important; }
.exp-title{
  font-family:var(--G)!important;
  font-size:1.35rem!important;
  font-weight:700!important;
  color:rgba(255,255,255,.88)!important;
  line-height:1.25!important;
  margin:0 0 10px!important;
  transition:color .35s!important;
}
.exp-card:hover .exp-title{ color:#fff!important; }
.exp-desc{
  font-family:var(--G)!important;
  font-size:.86rem!important;
  font-weight:400!important;
  color:rgba(255,255,255,.82)!important;
  line-height:1.75!important;
  font-size:.9rem!important;
  margin:0 0 16px!important;
  max-height:0!important;
  overflow:hidden!important;
  opacity:0!important;
  transform:translateY(6px)!important;
  transition:max-height .6s cubic-bezier(.16,1,.3,1), opacity .55s .12s, transform .55s .08s cubic-bezier(.16,1,.3,1)!important;
}
.exp-card:hover .exp-desc{ max-height:200px!important; opacity:1!important; transform:translateY(0)!important; }
.exp-card:hover .exp-tag{ color:rgba(255,255,255,.8)!important; border-color:rgba(225,29,72,.5)!important; }

/* ── Scroll-driven reveal ── */
.exp-card.exp-revealed .exp-desc{ max-height:200px!important; opacity:1!important; transform:translateY(0)!important; }
.exp-card.exp-revealed .exp-content{ transform:translateY(0)!important; }
.exp-card.exp-revealed .exp-overlay{ opacity:.92!important; }
.exp-card.exp-revealed .exp-photo{ transform:scale(1.05)!important; }
.exp-card.exp-revealed .exp-tag{ color:rgba(255,255,255,.75)!important; border-color:rgba(225,29,72,.45)!important; }
.exp-tag{
  display:inline-block!important;
  font-family:var(--G)!important;
  font-size:.58rem!important;
  font-weight:600!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:rgba(255,255,255,.35)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  padding:4px 10px!important;
  border-radius:100px!important;
}

/* ── Web illo ── */
.exp-illo-web{ padding:30px; }
.ew-frame{
  width:200px; height:140px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px; overflow:hidden;
}
.ew-bar{ height:18px; background:rgba(255,255,255,.06); display:flex; align-items:center; gap:5px; padding:0 8px; }
.ew-bar span{ width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.2); }
.ew-hero{ height:56px; background:linear-gradient(135deg,var(--red) 0%,rgba(225,29,72,.3) 100%); }
.ew-rows{ padding:8px 10px; display:flex; flex-direction:column; gap:5px; }
.ew-rows div{ height:5px; border-radius:2px; background:rgba(255,255,255,.1); }
.ew-rows div:nth-child(2){ width:75%; }
.ew-rows div:nth-child(3){ width:55%; }
.ew-cards{ padding:0 10px; display:flex; gap:6px; }
.ew-cards div{ flex:1; height:18px; border-radius:3px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); }
.ew-cursor{
  position:absolute; width:14px; height:14px;
  border:2px solid var(--red); border-radius:50%;
  bottom:40%; right:30%;
  animation:cursorFloat 3s ease-in-out infinite;
}
@keyframes cursorFloat{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(6px,-8px); } }

/* ── Photo/Vidéo illo ── */
.exp-illo-photo{ flex-direction:column; gap:18px; }
.ep-cam{ position:relative; }
.ep-body{
  width:80px; height:56px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.ep-lens{ width:34px; height:34px; border-radius:50%; border:2px solid rgba(225,29,72,.6); display:flex; align-items:center; justify-content:center; }
.ep-l2{ width:22px; height:22px; border-radius:50%; border:1px solid rgba(225,29,72,.4); display:flex; align-items:center; justify-content:center; }
.ep-l3{ width:10px; height:10px; border-radius:50%; background:rgba(225,29,72,.5); }
.ep-top{ position:absolute; top:-8px; right:14px; width:16px; height:8px; background:rgba(255,255,255,.1); border-radius:3px 3px 0 0; border:1px solid rgba(255,255,255,.1); border-bottom:none; }
.ep-strip{ display:flex; gap:4px; }
.ep-frame{ width:40px; height:32px; border-radius:2px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); }
.ep-f1{ background:rgba(225,29,72,.2); }
.ep-f2{ background:rgba(255,255,255,.08); }

/* ── Social illo ── */
.exp-illo-social{ position:relative; }
.es-phone{
  width:70px; height:130px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px; overflow:hidden;
  display:flex; flex-direction:column; padding:10px 6px 6px;
  gap:5px;
}
.es-notch{ width:20px; height:4px; background:rgba(255,255,255,.15); border-radius:2px; align-self:center; margin-bottom:4px; }
.es-post{ display:flex; gap:4px; align-items:center; }
.es-pimg{ width:22px; height:22px; border-radius:3px; flex-shrink:0; }
.es-p1 .es-pimg{ background:var(--red); }
.es-p2 .es-pimg{ background:rgba(255,255,255,.15); }
.es-p3 .es-pimg{ background:rgba(100,120,220,.4); }
.es-ptxt{ flex:1; display:flex; flex-direction:column; gap:3px; }
.es-ptxt div{ height:3px; border-radius:2px; background:rgba(255,255,255,.15); }
.es-ptxt div:last-child{ width:60%; }
.es-bubble{
  position:absolute;
  font-family:var(--G); font-size:.6rem; font-weight:600;
  background:rgba(255,255,255,.1); color:rgba(255,255,255,.7);
  border:1px solid rgba(255,255,255,.12);
  padding:4px 8px; border-radius:100px;
  white-space:nowrap;
}
.es-b1{ top:25%; right:15%; animation:bubbleFloat 3s ease-in-out infinite; }
.es-b2{ bottom:28%; right:10%; animation:bubbleFloat 3s ease-in-out 1.5s infinite; }
@keyframes bubbleFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-5px); } }

/* ── Print illo ── */
.exp-illo-print{ flex-direction:column; gap:14px; align-items:center; }
.epr-stack{ position:relative; width:100px; height:90px; }
.epr-sheet{
  position:absolute;
  width:80px; height:100px;
  border-radius:3px; border:1px solid rgba(255,255,255,.1);
}
.epr-s1{ background:rgba(255,255,255,.03); transform:rotate(-7deg) translate(-18px,5px); }
.epr-s2{
  background:rgba(255,255,255,.09);
  z-index:2; left:10px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:12px;
}
.epr-s3{ background:rgba(255,255,255,.03); transform:rotate(7deg) translate(18px,5px); }
.epr-logo{ width:24px; height:24px; background:var(--red); clip-path:polygon(50% 0%,100% 100%,0% 100%); }
.epr-lines{ width:100%; display:flex; flex-direction:column; gap:4px; }
.epr-lines div{ height:2px; border-radius:1px; background:rgba(255,255,255,.2); }
.epr-lines div:nth-child(2){ width:70%; }
.epr-lines div:nth-child(3){ width:50%; }
.epr-card{
  width:90px; height:54px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:5px;
  display:flex; align-items:center; gap:10px; padding:0 12px;
}
.epr-card-logo{ width:16px; height:16px; background:var(--red); clip-path:polygon(50% 0%,100% 100%,0% 100%); flex-shrink:0; }
.epr-card-info{ flex:1; display:flex; flex-direction:column; gap:4px; }
.epr-card-info div{ height:2px; border-radius:1px; background:rgba(255,255,255,.2); }
.epr-card-info div:last-child{ width:60%; }

@media(max-width:1024px){.exp-grid{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:600px){.exp-s{padding:80px 24px!important;}.exp-grid{grid-template-columns:1fr!important;}}

/* WORKS */
.wk-s{padding:120px 52px!important;position:relative!important;overflow:hidden!important;background:var(--navy)!important;}
.wk-s::before{content:''!important;position:absolute!important;inset:0!important;z-index:0!important;background-image:url('images/image_3.svg+xml')!important;background-size:cover!important;background-position:center!important;opacity:.14!important;pointer-events:none!important;}
.wk-deco{position:absolute!important;top:40px!important;right:40px!important;width:80px!important;height:80px!important;opacity:.06!important;pointer-events:none!important;z-index:1!important;animation:floatY 6s ease-in-out infinite!important;}
.wk-deco svg{width:100%;height:100%;}
.wk-s>*{position:relative!important;z-index:1!important;}
.wk-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;margin-bottom:60px!important;}
.wk-title{font-family:var(--G)!important;font-weight:800!important;font-size:clamp(2.4rem,6vw,5.5rem)!important;line-height:.92!important;letter-spacing:-.02em!important;color:var(--white)!important;}
.wk-title em{color:var(--red)!important;font-style:normal!important;}
.wk-more{font-family:var(--G)!important;font-weight:400!important;font-size:.68rem!important;letter-spacing:.15em!important;text-transform:uppercase!important;color:rgba(255,255,255,.35)!important;text-decoration:none!important;display:flex!important;align-items:center!important;gap:10px!important;transition:color .25s,gap .3s;}
.wk-more:hover{color:rgba(255,255,255,.8)!important;gap:16px!important;}
.wk-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:3px!important;}
.wi{position:relative!important;overflow:hidden!important;background:rgba(255,255,255,.04)!important;cursor:none!important;aspect-ratio:4/3!important;}
.wi.feat{grid-column:span 2!important;aspect-ratio:16/7!important;}
.wi.d1b{aspect-ratio:4/3!important;}
.wi-bg{width:100%!important;height:100%!important;transition:transform .75s cubic-bezier(.16,1,.3,1)!important;}
.wi:hover .wi-bg{transform:scale(1.05)!important;}
.wi:hover .wp{transform:scale(1.05)!important;}
.wi:hover 
.wi-ov{
  position:absolute!important;inset:0!important;
  display:flex!important;flex-direction:column!important;justify-content:flex-end!important;
  padding:28px!important;
  background:linear-gradient(to top,rgba(8,12,28,.92) 0%,rgba(8,12,28,.4) 45%,transparent 70%)!important;
  z-index:3!important;
  pointer-events:none!important;
}
.wi-tag{font-family:var(--G)!important;font-weight:400!important;font-size:.6rem!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--red)!important;margin-bottom:8px!important;}
.wi-name{font-family:var(--G)!important;font-weight:700!important;font-size:1.4rem!important;color:var(--white)!important;line-height:1.2!important;}
.wi-arr{position:absolute!important;top:20px!important;right:20px!important;width:40px!important;height:40px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:0!important;transform:scale(.8)!important;transition:opacity .3s,transform .3s,background .3s!important;}
.wi:hover .wi-arr{opacity:1!important;transform:scale(1)!important;background:var(--red)!important;border-color:var(--red)!important;}
.wp{width:100%!important;height:100%!important;position:absolute!important;inset:0!important;overflow:hidden!important;background-size:cover!important;background-position:center!important;transition:transform .7s cubic-bezier(.16,1,.3,1)!important;transform:scale(1)!important;}
.wp1{background:linear-gradient(135deg,#141830,#2a182c);}
.wp2{background:linear-gradient(135deg,#18132e,#361020);}
.wp3{background:linear-gradient(135deg,#0d1c28,#121e14)!important;}
.wp4{background:linear-gradient(135deg,#1e1212,#141830)!important;}
.wp svg{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;opacity:.1!important;}
@media(max-width:768px){.wk-s{padding:80px 24px!important;}.wk-head{flex-direction:column!important;align-items:flex-start!important;gap:20px!important;}.wk-grid{grid-template-columns:1fr!important;}.wi.feat{grid-column:span 1!important;aspect-ratio:4/3!important;}}

/* STATS */
.st-s{padding:100px 52px!important;position:relative!important;overflow:hidden!important;background:var(--offwhite)!important;}
.st-s::before{content:''!important;position:absolute!important;inset:0!important;z-index:0!important;background-image:url('images/image_4.svg+xml')!important;background-size:cover!important;background-position:center!important;opacity:.1!important;pointer-events:none!important;}
.st-deco{position:absolute!important;bottom:-60px!important;right:-60px!important;width:220px!important;height:220px!important;opacity:.05!important;pointer-events:none!important;z-index:1!important;animation:slowDrift 18s ease-in-out 5s infinite!important;}
.st-deco svg{width:100%;height:100%;}
.st-in{display:grid!important;grid-template-columns:1fr 1fr!important;gap:80px!important;align-items:start!important;position:relative!important;z-index:2!important;}
.st-big{font-family:var(--G)!important;font-weight:800!important;font-size:clamp(1.9rem,3.8vw,3.4rem)!important;line-height:1.15!important;color:var(--navy)!important;letter-spacing:-.02em!important;margin-bottom:32px!important;}
.st-big .amp-svg-wrap{vertical-align:middle;margin:0 .04em;}
.st-big .amp-svg-wrap svg{width:1.5em!important;height:1.5em!important;display:inline-block!important;animation:afloat 7s ease-in-out infinite!important;}
.st-cta{display:inline-flex!important;align-items:center!important;gap:12px!important;font-family:var(--G)!important;font-weight:500!important;font-size:.74rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--navy)!important;text-decoration:none!important;border-bottom:1px solid rgba(0,0,0,.18)!important;padding-bottom:4px!important;transition:gap .3s,border-color .25s,color .25s;}
.st-cta:hover{gap:20px!important;color:var(--red)!important;border-color:var(--red)!important;}
.st-grid{display:grid!important;grid-template-columns:1fr 1fr!important;}
.si{padding:32px 0!important;border-top:1px solid rgba(0,0,0,.08)!important;}
.si:nth-child(odd){padding-right:32px!important;border-right:1px solid rgba(0,0,0,.08)!important;}
.si:nth-child(even){padding-left:32px!important;}
.sn{font-family:var(--G)!important;font-weight:800!important;font-size:3rem!important;line-height:1!important;color:var(--navy)!important;letter-spacing:-.03em!important;}
.sn span{color:var(--red)!important;}
.sl{font-family:var(--G)!important;font-weight:400!important;font-size:.68rem!important;line-height:1.5!important;color:rgba(0,0,0,.38)!important;margin-top:8px!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
@media(max-width:900px){.st-s{padding:80px 24px!important;}.st-in{grid-template-columns:1fr!important;gap:48px!important;}}

/* CLIENTS */
.cl-s{background:var(--navy)!important;padding:48px 0!important;overflow:hidden!important;}
.cl-lbl{font-family:var(--G)!important;font-weight:300!important;font-size:.58rem!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:rgba(255,255,255,.18)!important;text-align:center!important;margin-bottom:32px!important;}
.cl-track{display:flex!important;width:max-content!important;animation:mq 32s linear infinite!important;}
.cl{padding:0 40px!important;opacity:.22!important;transition:opacity .3s!important;white-space:nowrap!important;font-family:var(--G)!important;font-weight:700!important;font-size:.88rem!important;letter-spacing:.06em!important;color:var(--white)!important;text-transform:uppercase!important;border-right:1px solid rgba(255,255,255,.05)!important;}
.cl:hover{opacity:.65!important;}

/* FOOTER */
.ft{padding:130px 52px 80px!important;position:relative!important;overflow:hidden!important;background:var(--navy)!important;}
.ft::before{content:''!important;position:absolute!important;inset:0!important;z-index:0!important;background-image:url('images/image_5.svg+xml')!important;background-size:cover!important;background-position:center!important;opacity:.18!important;pointer-events:none!important;}
.ft-amp-bg{position:absolute!important;bottom:-20px!important;right:-20px!important;width:clamp(200px,38vw,480px)!important;height:clamp(200px,38vw,480px)!important;z-index:1!important;pointer-events:none!important;opacity:.06!important;animation:afloat 12s ease-in-out infinite!important;}
.ft-amp-bg svg{width:100%;height:100%;}
.ft-deco{position:absolute!important;top:-30px!important;left:80px!important;width:120px!important;height:120px!important;opacity:.08!important;pointer-events:none!important;z-index:1!important;animation:slowDrift2 14s ease-in-out 1s infinite!important;}
.ft-deco svg{width:100%;height:100%;}
.ft-in{position:relative!important;z-index:2!important;text-align:center!important;}
.ft-lbl{font-family:var(--G)!important;font-weight:400!important;font-size:.65rem!important;letter-spacing:.25em!important;text-transform:uppercase!important;color:var(--red)!important;margin-bottom:28px!important;}
.ft-title{font-family:var(--G)!important;font-weight:800!important;font-size:clamp(2.4rem,7vw,7.5rem)!important;line-height:1!important;letter-spacing:-.03em!important;color:var(--white)!important;margin-bottom:60px!important;}
.ft-title em{color:var(--red)!important;font-style:normal!important;}
.ft-btn{display:inline-flex!important;align-items:center!important;gap:14px!important;background:var(--red)!important;color:var(--white)!important;font-family:var(--G)!important;font-weight:500!important;font-size:.76rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;text-decoration:none!important;padding:17px 36px!important;border-radius:100px!important;transition:background .3s,transform .3s,gap .3s;}
.ft-btn:hover{background:#c71840!important;transform:scale(1.02)!important;gap:22px!important;}
.ft-nav{border-top:1px solid rgba(255,255,255,.06)!important;padding-top:44px!important;margin-top:80px!important;display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:24px!important;position:relative!important;z-index:2!important;}
.ft-logo{width:40px;height:40px;flex-shrink:0;}
.ft-logo svg{width:100%;height:100%;}
.ft-links{display:flex!important;gap:26px!important;list-style:none!important;justify-content:center!important;}
.ft-links a{font-family:var(--G)!important;font-weight:400!important;font-size:.65rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:rgba(255,255,255,.25)!important;text-decoration:none!important;transition:color .25s;}
.ft-links a:hover{color:rgba(255,255,255,.7)!important;}
.ft-copy{font-family:var(--G)!important;font-weight:300!important;text-align:right!important;font-size:.6rem!important;letter-spacing:.1em!important;color:rgba(255,255,255,.14)!important;text-transform:uppercase!important;}
@media(max-width:768px){.ft{padding:80px 24px 60px!important;}.ft-nav{grid-template-columns:1fr!important;text-align:center!important;}.ft-links{flex-wrap:wrap!important;justify-content:center!important;}.ft-copy{text-align:center!important;}.ft-logo{margin:0 auto!important;}}

/* Nav spacer (remplace le logo retiré) */
.nav-spacer { width:46px; height:46px; flex-shrink:0; }

/* Logo hero — FLIP scroll animation
   Position naturelle : relative dans .h-stage (visible au chargement)
   Au scroll : fixed en haut à gauche via JS */
.h-logo-wrap {
  position: relative !important;
  width: clamp(220px, 46vw, 600px);
  opacity: 0;
  transform-origin: top left;
  transition: none;
}
.h-logo-wrap.ready { opacity: 1; }

/* État fixé après scroll — top/left/width gérés intégralement par JS */
.h-logo-wrap.pinned {
  position: fixed !important;
  z-index: 9999 !important;
}

@media(max-width:768px) {
  .nav-spacer { width: 36px; }
  .h-logo-wrap { width: clamp(200px, 68vw, 340px); }
  /* Logo — descendre du bord nav */
  .hero { padding-top: 15vh !important; }
  /* Slogan — réduire espacement et permettre retour à la ligne */
  .h-tagline-block { top: 52vh !important; width: 88vw !important; white-space: normal !important; text-align: center !important; align-items: center !important; }
  .h-tagline { font-size: clamp(.6rem, 2.4vw, .8rem) !important; letter-spacing: .18em !important; white-space: normal !important; text-align: center !important; }
  .h-mib { font-size: clamp(.65rem, 2.6vw, .85rem) !important; letter-spacing: .2em !important; white-space: normal !important; }
}

/* ── Logo Carousel ── */
.logo-carousel{position:absolute!important;inset:0!important;overflow:hidden!important;z-index:1!important;}
.lc-slide{
  position:absolute!important;inset:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  opacity:0!important;transition:opacity .8s ease!important;
}
.lc-slide.lc-active{opacity:1!important;}
.lc-img{
  width:100%!important;height:100%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
.lc-label{
  position:absolute!important;bottom:16px!important;left:50%!important;
  transform:translateX(-50%)!important;
  font-family:var(--G)!important;font-size:.6rem!important;font-weight:600!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;
  color:rgba(255,255,255,.7)!important;white-space:nowrap!important;
}
.lc-dots{
  position:absolute!important;bottom:8px!important;left:50%!important;
  transform:translateX(-50%)!important;
  display:flex!important;gap:5px!important;
}
.lc-dot{
  width:4px!important;height:4px!important;border-radius:50%!important;
  background:rgba(255,255,255,.3)!important;transition:background .3s!important;
}
.lc-dot.lc-dot-active{background:rgba(255,255,255,.9)!important;}

/* ── Carousel dots top ── */
.wi-dots{
  position:absolute!important;top:16px!important;left:50%!important;
  transform:translateX(-50%)!important;
  display:flex!important;gap:6px!important;
  z-index:4!important;
}
.wi-dot-top{
  width:5px!important;height:5px!important;border-radius:50%!important;
  background:rgba(255,255,255,.3)!important;
  transition:background .3s, transform .3s!important;
}
.wi-dot-top.active{background:rgba(255,255,255,.95)!important;transform:scale(1.3)!important;}

/* ── iD Motion group ── */
.wi-group{
  grid-column: 1 / -1!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-template-rows:auto auto!important;
  gap:3px!important;
  position:relative!important;
}
.wi-group-ov{
  grid-column:1/-1!important;
  padding:20px 24px 16px!important;
  background:rgba(8,12,28,.55)!important;
  border-left:3px solid var(--red)!important;
  margin-bottom:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.wi-group-ov .wi-tag{
  font-family:var(--G)!important;font-weight:500!important;font-size:.65rem!important;
  letter-spacing:.14em!important;text-transform:uppercase!important;
  color:rgba(255,255,255,.6)!important;margin:0!important;
}
.wi-group-ov .wi-name{
  font-family:var(--G)!important;font-weight:700!important;font-size:1.5rem!important;
  color:#fff!important;line-height:1.2!important;
}
.wi-group .wi{grid-column:unset!important;}
.wi-group .wi.feat{grid-column:1/3!important;aspect-ratio:16/7!important;}
.wi-group .wi.d1{grid-column:1/2!important;aspect-ratio:4/3!important;}
.wi-group .wi.d1b{grid-column:2/3!important;aspect-ratio:4/3!important;}

.wi-slide-label{
  position:absolute!important;
  top:34px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  font-family:var(--G)!important;
  font-size:.58rem!important;
  font-weight:600!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:rgba(255,255,255,.75)!important;
  white-space:nowrap!important;
  z-index:4!important;
  pointer-events:none!important;
}
/* ── Green-D group ── */
.gd-group{
  grid-column:1/-1!important;
  margin-top:32px!important;
  display:grid!important;
  grid-template-columns:2fr 1fr 1fr 1fr!important;
  gap:3px!important;
  position:relative!important;
}
.gd-group .wi{grid-column:unset!important;}
.gd-feat{min-height:280px!important;background:#0a1a0d!important;}
.gd-sm{aspect-ratio:1/1!important;background:#0a1a0d!important;}

/* Van mockup */
.gd-van-mockup{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.gd-van-body{
  width:240px;height:110px;
  background:#2d7a3a;
  border-radius:8px 16px 8px 8px;
  position:relative;
  box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);
}
.gd-van-window{
  position:absolute;top:10px;right:14px;
  width:70px;height:44px;
  background:rgba(255,255,255,.15);
  border-radius:4px 10px 4px 4px;
  border:1px solid rgba(255,255,255,.2);
}
.gd-van-door{
  position:absolute;top:10px;right:90px;
  width:50px;height:70px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:3px;
}
.gd-van-logo{
  position:absolute;left:20px;top:50%;
  transform:translateY(-50%);
  width:60px;height:60px;
  display:flex;align-items:center;justify-content:center;
}
.gd-logo-text{
  font-family:var(--G);font-size:2.2rem;font-weight:900;
  color:rgba(255,255,255,.9);letter-spacing:-2px;
}
.gd-van-stripe{
  position:absolute;bottom:0;left:0;right:0;
  height:8px;background:rgba(255,255,255,.15);
  border-radius:0 0 8px 8px;
}
.gd-van-wheel{
  position:absolute;bottom:-12px;
  width:28px;height:28px;border-radius:50%;
  background:#1a1a1a;border:3px solid #444;
}
.gd-w1{left:30px;}
.gd-w2{right:30px;}

/* Logo mockup */
.gd-logo-mockup{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:12px!important;}
.gd-logo-circle{
  width:70px;height:70px;border-radius:50%;
  background:#2d7a3a;
  display:flex;align-items:center;justify-content:center;gap:2px;
}
.gd-logo-g,.gd-logo-d{font-family:var(--G);font-size:1.6rem;font-weight:900;color:#fff;}
.gd-logo-tagline{width:60px;height:3px;background:rgba(255,255,255,.2);border-radius:2px;}

/* Shirt mockup */
.gd-shirt-mockup{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.gd-shirt-body{position:relative;width:80px;height:80px;}
.gd-shirt-neck{position:absolute;top:0;left:50%;transform:translateX(-50%);width:20px;height:12px;background:#2d7a3a;border-radius:0 0 8px 8px;}
.gd-shirt-sleeve{position:absolute;top:0;width:22px;height:28px;background:#2d7a3a;border-radius:4px;}
.gd-sl{left:-10px;transform:rotate(-15deg);}
.gd-sr{right:-10px;transform:rotate(15deg);}
.gd-shirt-print{
  position:absolute;top:14px;left:50%;transform:translateX(-50%);
  width:58px;height:60px;background:#2d7a3a;border-radius:4px;
  display:flex;align-items:center;justify-content:center;
}
.gd-shirt-print span{font-family:var(--G);font-size:1.8rem;font-weight:900;color:rgba(255,255,255,.8);}

/* Business card mockup */
.gd-card-mockup{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:-10px!important;}
.gd-bc{
  width:100px;height:60px;border-radius:4px;
  padding:10px 12px;
  display:flex;flex-direction:column;justify-content:center;gap:6px;
  position:absolute;
}
.gd-bc1{background:#2d7a3a;transform:rotate(-6deg) translate(-20px,5px);z-index:1;}
.gd-bc2{background:#1f5229;transform:rotate(4deg) translate(20px,-5px);z-index:2;}
.gd-bc-logo{font-family:var(--G);font-size:1.1rem;font-weight:900;color:rgba(255,255,255,.9);}
.gd-bc-name{height:4px;width:65%;background:rgba(255,255,255,.4);border-radius:2px;}
.gd-bc-lines{display:flex;flex-direction:column;gap:3px;}
.gd-bc-lines div{height:2px;border-radius:1px;background:rgba(255,255,255,.25);}
.gd-bc-lines div:nth-child(2){width:75%;}
.gd-bc-lines div:nth-child(3){width:50%;}

.exp-s .wk-title{color:var(--navy)!important;}
.exp-s .sec-mit span{color:#E11D48!important;}
.exp-s .sec-mit{color:rgba(255,255,255,.35)!important;}
.exp-s .wk-title{color:var(--navy)!important;}
.exp-s .sec-mit{color:#E11D48!important;}
.exp-s .sec-mit span{color:#E11D48!important;}
/* ── Works & deco ── */
.wk-amp-wrap{
  display:flex!important;
  justify-content:center!important;
  padding:24px 0 32px!important;
}
.wk-amp-deco{
  width:clamp(60px,8vw,110px)!important;
  height:auto!important;
  opacity:.18!important;
  animation:wkAmpFloat 4s ease-in-out infinite!important;
}
@keyframes wkAmpFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-10px); }
}
