:root{
  --bg:#000;
  --fg:#e3e3e3;
  --white:#fff;
  --cream:#fffdf0;
  --mute:rgba(227,227,227,.5);
  --accent:#e9523c;
  --line:rgba(255,255,255,.28);
  --pad:72px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font-family:Inter,sans-serif;font-size:16px;line-height:1.2;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-family:Montserrat,sans-serif;font-weight:600;color:var(--white)}

/* grain */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;background:url(../assets/img/grain.png);opacity:.05;mix-blend-mode:overlay}

/* ---------- shader canvases ---------- */
.shader{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block}

/* soft fades to black at section edges: never a hard cut */
.hero::after,.projects::before,.projects::after,.footer::before{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}
.hero::after{bottom:0;height:260px;background:linear-gradient(to top,#000 8%,rgba(0,0,0,.6) 45%,transparent)}
.projects::before{top:0;height:320px;background:linear-gradient(#000 5%,rgba(0,0,0,.6) 45%,transparent)}
.projects::after{bottom:0;height:300px;background:linear-gradient(to top,#000 8%,rgba(0,0,0,.6) 45%,transparent)}
.footer::before{top:0;height:340px;background:linear-gradient(#000 5%,rgba(0,0,0,.6) 45%,transparent)}
.hero::before{content:"";position:absolute;top:0;left:0;right:0;height:140px;z-index:1;pointer-events:none;background:linear-gradient(rgba(0,0,0,.85),transparent)}

/* ---------- buttons / pills ---------- */
/* Glow button: replica of the original: red rim glows swap sides on hover (650ms, strongly eased) */
.btn{--t:650ms;--e:cubic-bezier(.16,1,.3,1);position:relative;display:inline-flex;height:48px;border-radius:11.5px;color:#e3e3e3;font-size:16px;line-height:1;white-space:nowrap;isolation:isolate}
.btn--sm{height:36px}
.btn__c{position:relative;display:block;height:100%;padding:1.4px;border-radius:11.5px;background:#3b3b3b;overflow:hidden;isolation:isolate;box-shadow:0 1px 9px rgba(255,255,255,0);animation:rimpulse 3.2s ease-in-out infinite}
.btn__in{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;padding:0 24px;border-radius:10px;background:#000;overflow:hidden}
.btn__in .t{position:relative;z-index:2}
.btn i{position:absolute;display:block;pointer-events:none;transition:left var(--t) var(--e),width var(--t) var(--e),height var(--t) var(--e),top var(--t) var(--e),bottom var(--t) var(--e),opacity var(--t) var(--e)}
.btn .g0,.btn .g1{border-radius:999px;filter:blur(10px);background:radial-gradient(50% 50%,#a3a3a3 0%,rgba(0,0,0,0) 100%);opacity:.5;z-index:1}
.btn .g0{left:-25px;bottom:-29px;width:77px;height:41px}
.btn .g1{left:calc(100% - 84px);top:-20px;width:92px;height:40px}
.btn .wt,.btn .w3,.btn .w4{background:#e9523c;filter:blur(8px);z-index:0}
.btn .wt{left:calc(100% - 78px);top:-19px;width:95px;height:36px}
.btn .w3{left:-22px;bottom:-18px;width:54px;height:46px}
.btn .w4{left:-22px;bottom:-17px;width:40px;height:34px}
.btn .g5,.btn .g6{border-radius:999px;filter:blur(10px);background:radial-gradient(50% 50%,#e9523c 0%,rgba(0,0,0,0) 100%);z-index:-1;opacity:.3}
.btn .g5{left:-11px;bottom:-7.3px;width:58px;height:30px}
.btn .g6{left:calc(100% - 62px);top:-7px;width:74px;height:41px;border-radius:21px;opacity:.22}
.btn:hover .g0{left:calc(100% - 52px);height:48px;bottom:-28px}
.btn:hover .g1{left:-8px;top:-21px}
.btn:hover .wt{left:-43px}
.btn:hover .w3{left:calc(100% - 79px);width:87px;height:51px;bottom:-19px}
.btn:hover .w4{left:calc(100% - 89px);width:61px;height:39px;bottom:-18px}
.btn:hover .g5{left:calc(100% - 60px);bottom:-9px}
.btn:hover .g6{left:-11px}
@keyframes rimpulse{0%,100%{box-shadow:0 1px 9px rgba(255,255,255,0)}50%{box-shadow:0 1px 7px rgba(255,255,255,.24)}}
.btn .btn__c,.btn .btn__in{transition:none}

.pill{display:inline-flex;align-items:center;gap:10px;height:39px;padding:0 18px;border-radius:11.5px;background:rgba(10,10,10,.4);backdrop-filter:blur(68px);-webkit-backdrop-filter:blur(68px);font-size:16px;color:var(--fg);border:1px solid rgba(255,255,255,.06)}
.pill--flat{background:none;backdrop-filter:none;border:0;height:auto;padding:0;font-size:12px;letter-spacing:.02em;gap:8px}
.dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.7);flex:none}
.pill--flat .dot{background:var(--accent);box-shadow:0 0 6px var(--accent)}
.hero .pill .dot{background:var(--white);animation:dotblink 1s ease-in-out infinite alternate}
@keyframes dotblink{
  0%,35%{background:#fff;box-shadow:0 0 6px rgba(255,255,255,.8)}
  65%,100%{background:#e9523c;box-shadow:0 0 8px rgba(233,82,60,.9)}
}
.pill--red{height:41px;padding:0 20px;gap:12px;border:1px solid rgba(233,82,60,.28);background:rgba(25,6,4,.55);box-shadow:0 0 18px rgba(233,82,60,.12)}
.pill--red .dot{background:var(--accent);box-shadow:0 0 6px var(--accent)}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:4px var(--pad);background:rgba(0,0,0,0);transition:background .5s var(--ease),backdrop-filter .5s}
.nav.scrolled{background:rgba(0,0,0,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.nav__wrap{position:relative;height:64px;display:flex;align-items:center;justify-content:space-between;max-width:1296px;margin:0 auto}
.nav__logo{position:relative;display:block;width:124px;height:14px}
.nav__logo img{position:absolute;inset:0;width:100%;height:100%;transition:opacity .35s}
.nav__logo .hover{opacity:0}
.nav__logo:hover .hover{opacity:1}
.nav__links{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:24px;font-size:13px;color:var(--white)}
.nav__links a{opacity:.9;transition:opacity .3s,color .3s}
.nav__links a:hover{opacity:1;color:var(--accent)}
.nav__burger{display:none;width:36px;height:36px;background:none;border:0;position:relative;cursor:pointer}
.nav__burger i{position:absolute;left:8px;right:8px;height:1.5px;background:#fff;transition:transform .4s var(--ease),top .4s var(--ease)}
.nav__burger i:nth-child(1){top:14px}.nav__burger i:nth-child(2){top:21px}
.nav.open .nav__burger i:nth-child(1){top:18px;transform:rotate(45deg)}
.nav.open .nav__burger i:nth-child(2){top:18px;transform:rotate(-45deg)}
.nav__mobile{display:none}

/* ---------- reveal ---------- */
[data-in]{opacity:0;transform:translateY(24px);filter:blur(8px)}
.loaded [data-in]{opacity:1;transform:none;filter:none;transition:opacity 1s var(--ease) var(--d,0s),transform 1s var(--ease) var(--d,0s),filter 1s var(--ease) var(--d,0s)}
.w{display:inline-block;opacity:0;filter:blur(12px);transform:translateY(.3em);transition:opacity .9s var(--ease),filter .9s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i)*70ms + var(--base,0s))}
[data-split].in .w,[data-split-m].in .w{opacity:1;filter:none;transform:none}
[data-reveal]{opacity:0;transform:translateY(32px);filter:blur(6px);transition:opacity 1s var(--ease),transform 1.1s var(--ease),filter 1s var(--ease)}
[data-reveal].in{opacity:1;transform:none;filter:none}
/* rows: line draws in, content fades up */
[data-row]{--line:rgba(255,255,255,.28)}
[data-row]::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease);transition-delay:var(--rd,0s)}
[data-row]>*{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--rd,0s) + .15s)}
[data-row].in::before{transform:none}
[data-row].in>*{opacity:1;transform:none}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;padding:200px var(--pad) 40px;overflow:hidden;display:flex;flex-direction:column;align-items:center;isolation:isolate}
.hero__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:840px;width:100%;margin-top:0}
.hero h1{font-size:clamp(40px,5.5vw,79px);line-height:1;margin:24px 0 24px;font-weight:600}
.hero__lead{max-width:540px;color:var(--mute);font-size:16px;line-height:1.2}
.hero__btns{display:flex;gap:28px;margin-top:30px;flex-wrap:wrap;justify-content:center}
.marquee{position:relative;z-index:2;width:840px;max-width:100%;margin-top:56px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.marquee__track{display:flex;width:max-content;animation:marq 45s linear infinite}
.marquee__set{display:flex;align-items:center;gap:56px;padding-right:56px;height:80px}
.marquee__set img{height:70px;object-fit:contain;opacity:.5;filter:grayscale(1) brightness(1.4);flex:none}
@keyframes marq{to{transform:translateX(-50%)}}
.scroll-hint{position:relative;z-index:2;margin-top:auto;padding-top:70px;display:flex;align-items:center;gap:18px;font-family:Montserrat,sans-serif;font-size:15px;letter-spacing:-.3px;color:var(--fg);width:min(720px,100%);justify-content:center}
.scroll-hint .line{flex:1;height:1px;background:rgba(255,255,255,.3)}
.scroll-hint .wheel{animation:wheel 1.6s ease-in-out infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(8px);opacity:0}100%{opacity:0}}

/* ---------- section heads ---------- */
.sec-head{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 var(--pad)}
.sec-head h2{font-size:clamp(40px,5.5vw,79px);line-height:1.06;margin:22px 0 20px}
.sec-head__lead{max-width:640px;color:var(--mute);line-height:1.2;margin-bottom:30px}

/* ---------- services ---------- */
.services{position:relative;padding:130px 0 150px;background:#000}
.svc-list{position:relative;z-index:2;margin:70px var(--pad) 0}
.svc-list::after{content:"";display:block;height:1px;background:var(--line)}
.svc{position:relative;display:grid;grid-template-columns:90px 1fr minmax(260px,420px);align-items:center;gap:20px;padding:36px 0;min-height:107px;cursor:pointer}
.svc__n{font-size:11px;color:var(--accent);padding-left:6px}
.svc h3{font-family:Inter,sans-serif;font-weight:300;font-size:clamp(26px,2.6vw,38px);text-transform:uppercase;color:var(--white);line-height:1.05;max-width:360px;transition:transform .5s var(--ease),color .3s}
.svc p{justify-self:end;text-align:right;font-size:13px;line-height:1.25;color:var(--mute);max-width:440px}
.svc-list:hover .svc.in h3,.svc-list:hover .svc.in .svc__n,.svc-list:hover .svc.in p{opacity:.4}
.svc-list .svc.in:hover h3,.svc-list .svc.in:hover .svc__n,.svc-list .svc.in:hover p{opacity:1}
.svc h3,.svc p,.svc__n{transition:opacity .4s,transform 1s var(--ease)}
.svc-card{position:fixed;left:0;top:0;width:200px;height:250px;border-radius:12px;overflow:hidden;z-index:60;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .3s,transform .4s var(--ease);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.svc-card.on{opacity:1}
.svc-card img,.svc-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- projects ---------- */
.projects{position:relative;padding:150px 0 120px;overflow:hidden;isolation:isolate}
.proj{position:relative;z-index:2;display:grid;grid-template-columns:250px 1fr;gap:0;margin:30px var(--pad) 0;max-width:1296px;align-items:start}
.proj__card{width:250px;padding-left:0}
.proj__img{width:170px;height:170px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.18);margin-bottom:26px;background:#111}
.proj__img img{width:100%;height:100%;object-fit:cover;transition:opacity .35s}
.proj__card h4{font-family:Inter,sans-serif;font-weight:400;font-size:12px;letter-spacing:.04em;color:var(--fg);margin-bottom:12px}
.proj__card p{font-size:18px;line-height:1.2;color:var(--white);max-width:170px}
.proj__card.swap .proj__img img,.proj__card.swap p,.proj__card.swap h4{opacity:0}
.proj__card p,.proj__card h4{transition:opacity .3s}
.proj__list{margin-left:100px;max-width:850px;width:calc(100% - 100px);border-bottom:1px solid rgba(255,255,255,.14)}
.proj__list li{--line:rgba(255,255,255,.14);position:relative;display:flex;align-items:baseline;gap:14px;padding:12px 0;cursor:pointer;font-family:Montserrat,sans-serif;font-weight:600;text-transform:uppercase;font-size:clamp(34px,4vw,56px);line-height:1.1;color:var(--white)}
.proj__list li>*{transition:opacity .45s,transform 1s var(--ease)}
.proj__list li.in>*{opacity:.18}
.proj__list li.in.is-active>*{opacity:1}
.proj__list li span{display:block;transition:transform .5s var(--ease)}
.proj__list li.is-active span,.proj__list li:hover span{transform:translateX(6px)}
.proj__list sup{font-size:12px;font-weight:500;letter-spacing:.05em;color:var(--fg);align-self:center;margin-top:8px}
.proj__list sup{color:var(--accent)}
.proj__list sup b{color:var(--white);font-weight:500;padding:0 4px}
.all-link{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;margin:70px 0 0 calc(var(--pad) + 350px);font-size:15px;color:var(--white)}
.all-link svg{color:var(--accent);transition:transform .4s var(--ease)}
.all-link:hover svg{transform:translate(4px,4px)}

/* ---------- footer ---------- */
.footer{position:relative;min-height:620px;padding:110px var(--pad) 28px;overflow:hidden;isolation:isolate}
.footer__big{position:absolute;left:50%;transform:translateX(-50%);bottom:-.2em;z-index:1;text-align:center;font-family:Montserrat,sans-serif;font-weight:800;font-size:32vw;line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.12);white-space:nowrap;pointer-events:none;user-select:none}
.footer__inner{position:relative;z-index:2;max-width:1296px;margin:0 auto}
.footer__cta{position:relative}
.footer__cta h2{font-size:clamp(44px,5.5vw,79px);line-height:1.1;font-weight:700;color:var(--fg)}
.circle{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.7);color:#fff;margin-left:10px;transition:transform .4s var(--ease),background .3s,color .3s}
.circle:hover{background:#fff;color:#000;transform:rotate(45deg)}
.footer__side{position:absolute;right:0;top:48px;display:flex;flex-direction:column;align-items:flex-end;gap:26px}
.stars{color:#fff;margin-right:2px}
.footer__cols{display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:40px;margin-top:70px}
.footer__nav p{font-size:19px;color:var(--fg);line-height:1.1;margin-bottom:10px;max-width:290px}
.footer__nav p a{color:var(--cream)}
.footer__nav a:hover,.footer__contact a:hover{color:var(--accent)}
.social[hidden]{display:none}
.social{display:flex;align-items:center;gap:12px;margin-top:20px;color:#fff}
.social span{color:var(--fg)}
.footer__contact{display:flex;flex-direction:column;gap:4px;padding-left:0}
.footer__contact small{font-size:13px;color:var(--fg);margin-top:0}
.footer__contact a{font-size:19px;color:var(--cream);margin-bottom:18px;transition:color .3s}
.footer__copy{margin-top:var(--gh);text-align:center;font-size:12px;color:var(--fg)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  :root{--pad:36px}
  .proj{grid-template-columns:200px 1fr}
  .proj__list{margin-left:40px;width:calc(100% - 40px)}
  .all-link{margin-left:calc(var(--pad) + 240px)}
  .footer__cols{grid-template-columns:1fr 1fr;}
  .footer__cols .btn{justify-self:start}
  .footer__contact{padding-left:0}
}
@media (max-width:810px){
  :root{--pad:20px}
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:block}
  .nav__mobile{display:flex;flex-direction:column;gap:18px;position:absolute;left:0;right:0;top:68px;padding:28px var(--pad);background:rgba(8,8,8,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);font-size:22px;font-family:Montserrat,sans-serif;color:#fff;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .4s,transform .4s var(--ease)}
  .nav.open .nav__mobile{opacity:1;pointer-events:auto;transform:none}
  .hero{padding-top:150px}
  .hero__btns{gap:14px}
  .scroll-hint span{display:none}
  .svc{grid-template-columns:36px 1fr;padding:26px 0;row-gap:12px}
  .svc p{grid-column:2;justify-self:start;text-align:left;font-size:13px}
  .svc-list:hover .svc{opacity:1}
  .proj{grid-template-columns:1fr;margin-top:30px}
  .proj__card{order:2;width:100%;margin-top:40px;display:grid;grid-template-columns:120px 1fr;column-gap:20px}
  .proj__img{width:120px;height:120px;grid-row:1 / span 2}
  .proj__card p{max-width:none;font-size:16px}
  .proj__list{margin-left:0;width:100%}
  .all-link{margin-left:var(--pad)}
  .footer{padding-top:100px;min-height:760px}
  .footer__cols{grid-template-columns:1fr;gap:30px}
  .footer__side{position:static;align-items:center;margin-top:26px}
  .footer,.footer__cta{text-align:center}
  .footer__cols{justify-items:center;text-align:center}
  .footer__nav p{max-width:none}
  .social{justify-content:center}
  .footer__contact{align-items:center}
  .footer__cols .btn{justify-self:center}
}
@media (max-width:480px){
  .hero h1,.sec-head h2{font-size:36px}
  .footer__cta h2{font-size:42px}
  .btn{height:46px}
  .marquee__set{gap:40px;padding-right:40px}
}
@media (prefers-reduced-motion:reduce){
  .marquee__track,.stars,.scroll-hint .wheel,.hero .pill .dot{animation:none}
  [data-in],[data-reveal]{opacity:1!important;transform:none!important;filter:none!important}
}

/* touch: service thumbnail accordion */
.svc__thumb{display:none}
@media (hover:none){
  .svc-card{display:none}
  .svc__thumb{display:block;grid-column:2;width:150px;height:0;overflow:hidden;border-radius:10px;opacity:0;transition:height .6s var(--ease),opacity .5s,margin .6s var(--ease)}
  .svc__thumb img{width:100%;height:100%;object-fit:cover}
  .svc.open .svc__thumb{height:188px;opacity:1;margin-top:4px}
}

/* demo video modal (replica: 80% black scrim, 16:9 video up to 1080px, 11.5px radius, X inside top-right) */
.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility 0s .45s}
.modal[hidden]{display:flex}
.modal.open{opacity:1;visibility:visible;transition:opacity .45s var(--ease)}
.modal__bg{position:absolute;inset:0;background:rgba(0,0,0,.8);cursor:pointer}
.modal__box{position:relative;width:min(1080px,88vw);aspect-ratio:16/9;border-radius:11.5px;overflow:hidden;background:#000;transform:translateY(20px) scale(.97);transition:transform .6s var(--ease)}
.modal.open .modal__box{transform:none}
.modal__box video{display:block;width:100%;height:100%;object-fit:cover}
.modal__close{position:absolute;top:20px;right:20px;z-index:2;width:30px;height:30px;padding:0;border:0;background:none;color:#fff;opacity:.8;display:flex;align-items:center;justify-content:center;cursor:pointer;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5));transition:opacity .3s,transform .4s var(--ease)}
.modal__close:hover{opacity:1;transform:rotate(90deg)}
body.modal-open{overflow:hidden}
/* =====================================================
   NEW SECTIONS: résultats, témoignages, agence, processus
   ===================================================== */

/* ---------- RÉSULTATS ---------- */
.stats{position:relative;padding:60px 0 130px;overflow:hidden}
.kw{position:relative;z-index:1;margin-bottom:110px;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.kw__row{overflow:hidden;white-space:nowrap}
.kw__track{display:flex;width:max-content;will-change:transform}
.kw__set{display:flex;align-items:center;flex:none}
.kw__set span{font-family:Inter,sans-serif;font-weight:300;text-transform:uppercase;font-size:clamp(54px,8.5vw,124px);line-height:1.15;letter-spacing:-.01em;color:rgba(255,255,255,.2)}
.kw__row--fill .kw__set span{color:rgba(255,255,255,.07)}
.kw__star{display:inline-flex;align-items:center;margin:0 .35em;font-size:clamp(34px,5vw,70px);color:var(--accent);filter:drop-shadow(0 0 14px rgba(233,82,60,.55));animation:starspin 9s linear infinite}
@keyframes starspin{to{transform:rotate(360deg)}}
.stats__grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);margin:70px var(--pad) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{position:relative;padding:46px 28px 42px;display:flex;flex-direction:column;gap:14px;overflow:hidden;isolation:isolate}
.stat+.stat{border-left:1px solid var(--line)}
.stat::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .5s;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(233,82,60,.22),transparent 65%)}
.stat:hover::before{opacity:1}
.stat__n{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(46px,5.6vw,84px);line-height:1;color:var(--white);display:flex;align-items:baseline;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat__n .suf{color:var(--accent);font-size:.6em;margin-left:.04em;white-space:nowrap}
.stat__l{font-size:14px;line-height:1.3;color:var(--mute);max-width:200px}

/* ---------- TÉMOIGNAGES ---------- */
.testi{position:relative;padding:130px 0 120px;overflow:hidden;isolation:isolate}
.testi__glow{position:absolute;left:50%;top:58%;width:min(900px,120vw);height:520px;transform:translate(-50%,-50%);z-index:-1;background:radial-gradient(closest-side,rgba(233,82,60,.2),rgba(233,82,60,.06) 55%,transparent);filter:blur(30px);animation:glowbreath 7s ease-in-out infinite alternate}
@keyframes glowbreath{from{opacity:.55;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
.testi__stage{position:relative;z-index:2;max-width:980px;margin:80px auto 0;padding:0 var(--pad)}
.testi__mark{position:absolute;left:calc(var(--pad) - 6px);top:-128px;font-family:Montserrat,sans-serif;font-weight:800;font-size:230px;line-height:1;color:var(--accent);opacity:.9;filter:drop-shadow(0 0 30px rgba(233,82,60,.45));pointer-events:none;will-change:transform}
.testi__slides{display:grid;position:relative}
.tq{grid-area:1/1;margin:0;display:flex;flex-direction:column;gap:36px;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility 0s .5s}
.tq.is-active{opacity:1;visibility:visible;transition:opacity .5s var(--ease) .1s}
.tq blockquote{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(24px,3.1vw,42px);line-height:1.22;color:var(--white);letter-spacing:-.01em;position:relative;z-index:1}
.tq .w{transition-delay:calc(var(--i)*22ms + .15s)}
.tq figcaption{display:flex;align-items:center;gap:16px}
.tq .avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:14px;letter-spacing:.04em;color:var(--white);background:radial-gradient(circle at 30% 25%,#3b3b3b,#0b0b0b);border:1px solid rgba(255,255,255,.2);box-shadow:0 0 18px rgba(233,82,60,.3)}
.tq figcaption span{display:flex;flex-direction:column;gap:5px}
.tq figcaption b{font-weight:500;font-size:17px;color:var(--cream)}
.tq figcaption em{font-style:normal;font-size:14px;color:var(--mute)}
.testi__ctrl{display:flex;align-items:center;gap:28px;margin-top:64px}
.testi__bars{display:flex;gap:10px;flex:1}
.bar{flex:1;max-width:120px;height:18px;padding:8px 0;background:none;border:0;cursor:pointer;position:relative}
.bar::before,.bar i{content:"";position:absolute;left:0;right:0;top:8px;height:2px;border-radius:2px}
.bar::before{background:rgba(255,255,255,.18)}
.bar i{background:var(--accent);box-shadow:0 0 10px rgba(233,82,60,.8);transform:scaleX(0);transform-origin:left}
.bar.is-done i{transform:scaleX(1)}
.testi__count{font-size:13px;color:var(--mute);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.testi__count b{font-weight:500;color:var(--white)}
.testi__arrows{display:flex;gap:10px}
.testi__arrows .circle{margin:0;background:none;cursor:pointer}

/* ---------- L'AGENCE (aperçu) ---------- */
.about{position:relative;padding:140px var(--pad) 150px;text-align:center;overflow:hidden}
.about .sec-head{padding:0}
.about__text{position:relative;z-index:2;max-width:1000px;margin:34px auto 50px;font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(23px,2.9vw,40px);line-height:1.22;letter-spacing:-.012em;color:var(--white)}
.about__text .sw{opacity:.16;transition:opacity .35s linear,color .35s linear,text-shadow .35s}
.about__text .sw.lit{opacity:1}
.about::before{content:"";position:absolute;left:50%;top:50%;width:1100px;height:560px;max-width:140vw;transform:translate(-50%,-50%);z-index:0;background:radial-gradient(closest-side,rgba(233,82,60,.13),transparent);filter:blur(20px);pointer-events:none}

/* ---------- PROCESSUS ---------- */
.process{position:relative;padding:130px 0 170px}
.process__grid{position:relative;display:grid;grid-template-columns:minmax(300px,1fr) 1.1fr;gap:70px;margin:0 var(--pad);max-width:1296px}
.process__head{position:sticky;top:130px;align-self:start;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.process__head h2{font-size:clamp(38px,4.6vw,66px);line-height:1.06;margin:22px 0 20px}
.process__lead{color:var(--mute);max-width:300px;line-height:1.3}
.steps{position:relative;padding-left:76px}
.steps__line{position:absolute;z-index:1;left:21px;top:14px;bottom:14px;width:2px;background:rgba(255,255,255,.14);border-radius:2px;list-style:none}
.steps__fill{position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(var(--accent),#ff8a5c);box-shadow:0 0 14px rgba(233,82,60,.85);transform-origin:top;transform:scaleY(var(--p,0));border-radius:2px}
.steps__dot{position:absolute;left:50%;top:calc(var(--p,0) * 100%);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(233,82,60,.35),0 0 22px 6px rgba(233,82,60,.8)}
.step{position:relative;display:grid;grid-template-columns:70px 1fr;gap:10px;padding:0 0 110px}
.step:last-of-type{padding-bottom:0}
.step>div{opacity:.28;transition:opacity .6s var(--ease)}
.step.is-on>div{opacity:1}
.step__n{position:absolute;left:-76px;top:0;z-index:2;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.75);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(9px) brightness(1.25);backdrop-filter:blur(9px) brightness(1.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.16);transition:color .5s,border-color .5s,box-shadow .5s,background .5s}
.step.is-on .step__n{color:#fff;border-color:rgba(233,82,60,.75);background:rgba(233,82,60,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 22px rgba(233,82,60,.4)}
.step>div{grid-column:1/-1;padding-top:2px}
.step h3{font-family:Inter,sans-serif;font-weight:300;font-size:clamp(30px,3.4vw,50px);text-transform:uppercase;color:var(--white);line-height:1.05;transform:translateX(0);transition:transform .8s var(--ease)}
.step.is-on h3{transform:translateX(8px)}
.step p{margin-top:16px;max-width:480px;font-size:15px;line-height:1.35;color:var(--mute)}

@media (max-width:1100px){
  .process__grid{grid-template-columns:1fr;gap:50px}
  .process__head{position:static}
}
@media (max-width:810px){
  .stats{padding-top:30px}
  .kw{margin-bottom:70px}
  .stats__grid{margin-top:50px;grid-template-columns:1fr}
  .stat{padding:34px 18px 30px;flex-direction:row;align-items:center;gap:22px}
  .stat+.stat{border-left:0;border-top:1px solid var(--line)}
  .stat__n{min-width:46%}
  .testi__mark{font-size:150px;top:-82px;left:var(--pad)}
  .testi__stage{margin-top:60px}
  .testi__ctrl{flex-wrap:wrap;gap:18px;margin-top:44px}
  .testi__bars{flex-basis:100%;order:3}
  .testi__count{margin-right:auto}
  .about{padding:100px var(--pad) 110px}
  .process{padding:90px 0 120px}
  .steps{padding-left:64px}
  .step__n{left:-64px;width:40px;height:40px}
  .steps__line{left:19px}
  .step{padding-bottom:80px}
}
@media (max-width:480px){
  .stat__l{font-size:13px}
  .about__text{font-size:22px}
}
@media (prefers-reduced-motion:reduce){
  .kw__star,.testi__glow{animation:none}
  .about__text .sw{opacity:1}
  .step{opacity:1}
}

/* =====================================================
   SUBPAGES: projets, projet, contact form
   ===================================================== */
.pj-card[hidden]{display:none}
.pj-empty{grid-column:1/-1;color:var(--mute);text-align:center;padding:80px 0}

/* ---------- Projets: header + filters ---------- */
.pj{overflow-x:clip}
.pj-head{position:relative;width:min(1296px,calc(100% - 2 * var(--pad)));margin:0 auto;padding-top:160px}
.pj-head__glow{position:absolute;right:-8%;top:40px;width:640px;height:420px;z-index:-1;background:radial-gradient(closest-side,rgba(233,82,60,.2),transparent);filter:blur(30px);pointer-events:none;animation:glowbreath 8s ease-in-out infinite alternate}
.pj-head h1{font-size:clamp(40px,5vw,72px);line-height:1;font-weight:600}
.pj-head__side{margin:18px 0 0 auto;max-width:520px;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:22px}
.pj-head__side p{font-weight:500;font-size:18px;line-height:1.4;letter-spacing:-.03em;color:var(--fg)}
.pj-filters{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:64px}
.pj-filters button{position:relative;padding:4px 0;background:none;border:0;cursor:pointer;font-family:Inter,sans-serif;font-weight:600;font-size:clamp(22px,2.3vw,28px);letter-spacing:-.05em;line-height:1.4;color:rgba(227,227,227,.25);transition:color .4s var(--ease),transform .5s var(--ease);animation:fin .9s var(--ease) both;animation-delay:calc(var(--i) * 70ms + .4s)}
.pj-filters button:hover{color:rgba(227,227,227,.7);transform:translateY(-2px)}
.pj-filters button.is-active{color:#e3e3e3}
.pj-filters button::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 10px rgba(233,82,60,.8);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.pj-filters button.is-active::after{transform:scaleX(1)}
@keyframes fin{from{opacity:0;filter:blur(8px);transform:translateY(14px)}to{opacity:1;filter:none;transform:none}}
.pj-line{display:block;height:1px;margin-top:20px;background:linear-gradient(90deg,var(--accent),rgba(233,82,60,.25) 60%,transparent);transform-origin:left;animation:linedraw 1.6s var(--ease) .5s both}
@keyframes linedraw{from{transform:scaleX(0)}to{transform:none}}

/* ---------- Projets: cards ---------- */
.pj-grid{width:min(1296px,calc(100% - 2 * var(--pad)));margin:60px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:72px 56px;padding-bottom:130px}
.pj-card{display:block;position:relative;color:inherit}
.pj-card__img{position:relative;aspect-ratio:507/308;border-radius:24px;overflow:hidden;background:#101010;box-shadow:0 0 0 1px rgba(255,255,255,.07);transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease),box-shadow .5s;will-change:transform;isolation:isolate}
.pj-card:hover .pj-card__img{box-shadow:0 0 0 1px rgba(233,82,60,.45),0 30px 70px rgba(0,0,0,.6),0 0 60px rgba(233,82,60,.14)}
.pj-card__img img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pj-card:hover .pj-card__img img{transform:scale(1.06)}
.pj-card__img.is-contain::before{content:"";position:absolute;inset:-25%;z-index:0;background:var(--img) center/cover;filter:blur(36px) brightness(.55) saturate(1.3)}
.pj-card__img.is-contain img{object-fit:contain}
.pj-card__glare{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(280px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.18),transparent 62%);mix-blend-mode:overlay}
.pj-card:hover .pj-card__glare{opacity:1}
.pj-card__mark{position:absolute;z-index:3;top:18px;right:18px;width:9px;height:9px;border-top:2px solid var(--accent);border-right:2px solid var(--accent);filter:drop-shadow(0 0 6px rgba(233,82,60,.8));transition:transform .5s var(--ease)}
.pj-card:hover .pj-card__mark{transform:translate(3px,-3px) scale(1.3)}
.pj-card__view{position:absolute;z-index:3;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:50px;font-size:13px;font-weight:500;color:#fff;background:rgba(10,10,10,.55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.22);opacity:0;transform:translateY(12px);transition:opacity .45s var(--ease),transform .55s var(--ease)}
.pj-card:hover .pj-card__view{opacity:1;transform:none}
.pj-card h3{margin-top:26px;font-family:Inter,sans-serif;font-weight:600;font-size:22px;letter-spacing:-.04em;line-height:1.2;color:#e3e3e3;transition:transform .6s var(--ease)}
.pj-card:hover h3{transform:translateX(6px)}
.pj-card p{margin-top:8px;max-width:440px;font-weight:500;font-size:17px;line-height:1.4;letter-spacing:-.03em;color:rgba(227,227,227,.6)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chips li{padding:7px 14px;border-radius:50px;background:#e3e3e3;color:#0b0b0c;font-size:11px;font-weight:600;letter-spacing:-.04em;text-transform:uppercase;line-height:1.3;box-shadow:0 0 0 1px rgba(233,82,60,.55),0 0 14px rgba(233,82,60,.2)}

/* ---------- Projet: detail ---------- */
.scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:150;pointer-events:none}
.scroll-progress i{display:block;height:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--accent),#ff8a5c);box-shadow:0 0 12px rgba(233,82,60,.9)}
.pd{padding-top:150px;overflow-x:clip}
.pd-hero,.pd-facts,.pd-story,.pd-results,.pd-blocks,.pd-gallery,.pd-quote,.pd-next,.pd-cover{width:min(1296px,calc(100% - 2 * var(--pad)));margin-left:auto;margin-right:auto}
.pd-hero{position:relative;display:flex;flex-direction:column;align-items:flex-start}
.pd-hero__glow{position:absolute;right:-10%;top:-60px;width:680px;height:460px;z-index:-1;background:radial-gradient(closest-side,rgba(233,82,60,.22),transparent);filter:blur(30px);pointer-events:none;animation:glowbreath 8s ease-in-out infinite alternate}
.pd-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--mute);margin-bottom:34px;transition:color .3s,transform .5s var(--ease)}
.pd-back:hover{color:#fff;transform:translateX(-4px)}
.pd-tags{display:flex;flex-wrap:wrap;gap:10px}
.tagl{padding:7px 14px;border-radius:50px;border:1px solid rgba(255,255,255,.25);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#e3e3e3;transition:border-color .3s,color .3s,box-shadow .3s}
.tagl:hover{border-color:var(--accent);color:#fff;box-shadow:0 0 16px rgba(233,82,60,.35)}
.pd-hero h1{font-size:clamp(44px,7.4vw,112px);line-height:1;font-weight:700;letter-spacing:-.03em;margin:26px 0 22px}
.pd-lead{max-width:640px;font-weight:500;font-size:clamp(18px,1.6vw,22px);line-height:1.4;letter-spacing:-.02em;color:rgba(227,227,227,.65)}
.pd-cta{display:flex;flex-wrap:wrap;gap:18px;margin-top:36px}
.pd-cover{position:relative;margin-top:70px;aspect-ratio:16/8.2;border-radius:28px;overflow:hidden;background:#0b0b0b;box-shadow:0 0 0 1px rgba(255,255,255,.07),0 40px 100px rgba(0,0,0,.6);isolation:isolate}
.pd-cover__in{position:absolute;inset:0;transform-origin:center;will-change:transform}
.pd-cover__in img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;will-change:transform}
.pd-cover.is-contain .pd-cover__in::before{content:"";position:absolute;inset:-25%;background:var(--img) center/cover;filter:blur(44px) brightness(.5) saturate(1.3)}
.pd-cover.is-contain .pd-cover__in img{object-fit:contain}
.pd-play{position:absolute;z-index:3;left:50%;top:50%;width:86px;height:86px;margin:-43px 0 0 -43px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(10,10,10,.45);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s,transform .5s var(--ease)}
.pd-play::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(233,82,60,.7);animation:ping 2.4s ease-out infinite}
@keyframes ping{from{transform:scale(1);opacity:.9}to{transform:scale(1.7);opacity:0}}
.pd-play:hover{background:var(--accent);transform:scale(1.08)}
.pd-marq{overflow:hidden;margin:90px 0;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.pd-marq__track{display:flex;width:max-content;will-change:transform}
.pd-marq__set{display:flex;align-items:center;flex:none}
.pd-marq__set span{font-family:Inter,sans-serif;font-weight:300;text-transform:uppercase;white-space:nowrap;font-size:clamp(56px,9vw,140px);line-height:1.15;letter-spacing:-.01em;color:rgba(255,255,255,.09)}
.pd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pd-fact{padding:30px 26px;display:flex;flex-direction:column;gap:12px}
.pd-fact+.pd-fact{border-left:1px solid var(--line)}
.pd-fact small{font-size:13px;color:var(--mute)}
.pd-fact b{font-weight:500;font-size:20px;line-height:1.35;color:var(--cream)}
.pd-story{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;margin-top:130px}
.pd-story h2{font-size:clamp(32px,4vw,56px);line-height:1.08;position:sticky;top:130px;align-self:start}
.pd-story__txt{display:flex;flex-direction:column;gap:26px}
.pd-story__txt p{font-weight:500;font-size:clamp(18px,1.7vw,24px);line-height:1.4;letter-spacing:-.02em;color:rgba(227,227,227,.86)}
.pd-results{margin-top:130px;display:flex;flex-direction:column;align-items:flex-start}
.pd-results .stats__grid{margin:44px 0 0;width:100%}
.pd-stats{grid-template-columns:repeat(var(--n,3),1fr)}
.pd-blocks{display:flex;flex-direction:column;gap:130px;margin-top:140px}
.pd-block{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.pd-block.is-flip .pd-block__txt{order:2}
.pd-block__n{display:block;font-size:12px;letter-spacing:.08em;color:var(--accent);margin-bottom:18px}
.pd-block h3{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(28px,3.2vw,46px);line-height:1.1;margin-bottom:22px}
.pd-block p{font-weight:500;font-size:18px;line-height:1.45;letter-spacing:-.02em;color:var(--mute);margin-top:14px;max-width:520px}
.pd-block__img{aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:#101010;box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.pd-block__img img,.pd-gallery img{width:100%;height:100%;object-fit:cover;will-change:transform}
.pd-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:140px;align-items:start}
.pd-gallery figure{aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:#101010;box-shadow:0 0 0 1px rgba(255,255,255,.07)}
.pd-gallery figure:nth-child(even){margin-top:70px}
.pd-quote{position:relative;max-width:980px;margin-top:150px;padding-top:30px}
.pd-quote .testi__mark{position:absolute;left:-6px;top:-90px}
.pd-quote blockquote{position:relative;font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(24px,3vw,42px);line-height:1.22;color:#fff}
.pd-quote cite{display:block;margin-top:28px;font-style:normal;font-size:16px;color:var(--mute)}
.pd-next{margin-top:160px}
.pd-next__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pd-next__head h2{font-size:clamp(34px,4.4vw,64px);line-height:1.05}
.pd-next .all-link{margin:0 0 10px}
.pj-grid--next{width:100%;margin-top:50px}

/* ---------- Contact section ---------- */
.contact{position:relative;margin-top:30px;padding:120px var(--pad) 150px;overflow:hidden;isolation:isolate}
.contact::before,.contact::after{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}
.contact::before{top:0;height:300px;background:linear-gradient(#000 4%,rgba(0,0,0,.6) 45%,transparent)}
.contact::after{bottom:0;height:300px;background:linear-gradient(to top,#000 4%,rgba(0,0,0,.6) 45%,transparent)}
.contact>*:not(canvas){position:relative;z-index:2}
.contact__top{display:flex;justify-content:flex-end;max-width:1296px;margin:0 auto}
.contact__label{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;letter-spacing:.04em;color:#fff}
.contact__mark{display:block;width:9px;height:9px;border-top:2px solid var(--accent);border-right:2px solid var(--accent);transform:translateY(-3px)}
.contact__title{max-width:1296px;margin:26px auto 80px;font-size:clamp(46px,8vw,124px);line-height:1;font-weight:700;letter-spacing:-.04em;color:#fff}
.contact__grid{max-width:1296px;margin:0 auto;display:grid;grid-template-columns:1fr 1.35fr;gap:80px;align-items:start}
.contact__side p{max-width:380px;font-weight:500;font-size:17px;line-height:1.45;letter-spacing:-.02em;color:rgba(255,255,255,.62)}
.contact__lines{margin-top:44px;display:flex;flex-direction:column;gap:22px}
.contact__lines small{display:block;font-size:13px;color:var(--fg);text-decoration:underline;margin-bottom:5px}
.contact__lines a{font-size:19px;color:var(--cream);transition:color .3s}
.contact__lines a:hover{color:var(--accent)}
.cform{position:relative;display:flex;flex-direction:column;gap:8px}
.cform__services{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.cform__legend{flex-basis:100%;font-size:13px;color:var(--mute);margin-bottom:2px}
.tag{cursor:pointer}
.tag input{position:absolute;opacity:0;pointer-events:none}
.tag span{display:inline-block;padding:8px 16px;border-radius:50px;border:1px solid rgba(255,255,255,.22);font-size:13px;color:rgba(255,255,255,.75);transition:background .35s,border-color .35s,color .35s,box-shadow .35s,transform .4s var(--ease)}
.tag:hover span{border-color:rgba(255,255,255,.55);transform:translateY(-2px)}
.tag input:checked+span{background:rgba(233,82,60,.2);border-color:var(--accent);color:#fff;box-shadow:0 0 18px rgba(233,82,60,.35)}
.tag input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.field{position:relative;display:block;border-bottom:1px solid rgba(255,255,255,.22);margin-bottom:6px}
.field::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--accent);box-shadow:0 0 10px rgba(233,82,60,.8);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.field:focus-within::after{transform:scaleX(1)}
.field input,.field textarea{display:block;width:100%;padding:26px 0 12px;background:none;border:0;outline:0;resize:none;color:#fff;font:500 17px/1.4 Inter,sans-serif;letter-spacing:-.02em}
.field span{position:absolute;left:0;top:25px;font-size:17px;font-weight:500;letter-spacing:-.02em;color:rgba(255,255,255,.5);pointer-events:none;transform-origin:left;transition:transform .45s var(--ease),color .3s}
.field input:focus+span,.field input:not(:placeholder-shown)+span,.field textarea:focus+span,.field textarea:not(:placeholder-shown)+span{transform:translateY(-20px) scale(.74);color:var(--accent)}
.field.is-bad{border-color:#ff6a55}
.field.is-bad span{color:#ff8a76}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cform__row{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin-top:26px}
.send{display:inline-flex;align-items:center;gap:10px;padding:0;background:none;border:0;cursor:pointer;color:#fff;font:500 17px Inter,sans-serif;letter-spacing:-.02em}
.send svg{color:var(--accent);transition:transform .5s var(--ease)}
.send:hover svg{transform:translate(4px,4px)}
.send:disabled{opacity:.5;cursor:wait}
.cform__msg{font-size:14px;color:var(--mute)}
.cform__msg.is-err{color:#ff8a76}
.cform.is-done>:not(.cform__done){display:none}
.cform__done{display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding:30px 0}
.cform__done[hidden]{display:none}
.cform__done svg{color:var(--accent);filter:drop-shadow(0 0 12px rgba(233,82,60,.7))}
.cform__done circle,.cform__done path{stroke-dasharray:170;stroke-dashoffset:170;animation:draw 1.1s var(--ease) forwards}
.cform__done path{animation-delay:.35s}
@keyframes draw{to{stroke-dashoffset:0}}
.cform__done h3{font-family:Montserrat,sans-serif;font-weight:600;font-size:32px;color:#fff}
.cform__done p{color:var(--mute)}

@media (max-width:1100px){
  .pd-story{grid-template-columns:1fr;gap:34px}
  .pd-story h2{position:static}
  .contact__grid{grid-template-columns:1fr;gap:56px}
}
@media (max-width:810px){
  .pj-head{padding-top:130px}
  .pj-head__side{align-items:flex-start;text-align:left;margin-left:0}
  .pj-filters{margin-top:46px;gap:0 18px}
  .pj-grid{gap:56px 24px;margin-top:44px}
  .pj-card h3{font-size:20px}
  .pj-card p{font-size:16px}
  .pd{padding-top:120px}
  .pd-cover{aspect-ratio:4/3;border-radius:20px;margin-top:50px}
  .pd-marq{margin:60px 0}
  .pd-facts{grid-template-columns:1fr 1fr}
  .pd-fact:nth-child(odd){border-left:0}
  .pd-fact:nth-child(n+3){border-top:1px solid var(--line)}
  .pd-story,.pd-blocks,.pd-results{margin-top:90px}
  .pd-block{grid-template-columns:1fr;gap:34px}
  .pd-block.is-flip .pd-block__txt{order:0}
  .pd-blocks{gap:90px}
  .pd-gallery{margin-top:90px;gap:14px}
  .pd-gallery figure:nth-child(even){margin-top:36px}
  .pd-stats{grid-template-columns:1fr}
  .pd-quote{margin-top:110px}
  .pd-next{margin-top:110px}
  .contact{padding:90px var(--pad) 110px}
  .contact__title{margin-bottom:50px}
  .pd-play{width:68px;height:68px;margin:-34px 0 0 -34px}
}
@media (max-width:640px){
  .pj-grid{grid-template-columns:1fr}
  .pj-grid--next{grid-template-columns:1fr}
  .pd-gallery{grid-template-columns:1fr}
  .pd-gallery figure:nth-child(even){margin-top:0}
}
@media (prefers-reduced-motion:reduce){
  .pj-head__glow,.pd-hero__glow,.pd-play::after,.pj-filters button,.pj-line{animation:none}
}

/* =====================================================
   PRELOADER (accueil, une seule fois par visite) :
   logo + fine barre pendant que la vidéo se charge, puis une fenêtre 16:9 joue la vidéo et s'ouvre en plein écran
   ===================================================== */
.pre{display:none}
html.has-pre{overflow:hidden}
html.has-pre .pre{display:block;position:fixed;inset:0;z-index:400;background:#0c0c0c;transition:opacity .7s var(--ease)}
.pre.is-out{opacity:0;pointer-events:none}
.pre__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:22px;transition:opacity .5s}
.pre__big{width:min(190px,48vw);height:auto;opacity:0;animation:prein .9s var(--ease) .1s forwards}
.pre__bar{width:min(120px,30vw);height:1px;background:rgba(255,255,255,.16);overflow:hidden;opacity:0;animation:prein .9s var(--ease) .3s forwards}
.pre__bar i{display:block;height:100%;background:rgba(255,255,255,.75);transform-origin:left;transform:scaleX(0)}
.pre.vid-on .pre__center{opacity:0}
.pre__logo{position:absolute;left:36px;top:26px;width:124px;height:auto;opacity:0;transition:opacity .6s}
.pre.vid-on .pre__logo{opacity:1}
.pre__pct{position:absolute;right:36px;bottom:30px;font:500 13px/1 Inter,sans-serif;letter-spacing:.08em;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums;opacity:0;transition:opacity .6s}
.pre.vid-on .pre__pct{opacity:1}
.pre.is-open .pre__logo,.pre.is-open .pre__pct{opacity:0!important}
.pre__win{position:absolute;left:50%;top:50%;width:0;height:0;transform:translate(-50%,-50%);overflow:hidden;border-radius:6px;background:#000;
  transition:width .85s cubic-bezier(.76,0,.24,1),height .85s cubic-bezier(.76,0,.24,1),border-radius .85s cubic-bezier(.76,0,.24,1)}
.pre.is-open .pre__win{transition-duration:1.05s}
.pre__win video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 1.1s cubic-bezier(.76,0,.24,1)}
.pre.is-open .pre__win video{transform:scale(1)}
@keyframes prein{to{opacity:1}}
@media (max-width:640px){.pre__logo{left:20px;top:20px;width:110px}.pre__pct{right:20px;bottom:22px}}

/* =====================================================
   SERVICES : vue d'ensemble et fiches
   ===================================================== */
.sv{overflow-x:clip;padding-top:150px}
.sv-hero{position:relative;width:min(1296px,calc(100% - 2 * var(--pad)));margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.sv-hero--hub{display:block}
.sv-hero__glow{position:absolute;right:-8%;top:-90px;width:700px;height:520px;z-index:-1;background:radial-gradient(closest-side,rgba(233,82,60,.22),transparent);filter:blur(30px);pointer-events:none;animation:glowbreath 8s ease-in-out infinite alternate}
.sv-hero__txt{display:flex;flex-direction:column;align-items:flex-start}
.sv-hero h1{font-size:clamp(42px,6.4vw,100px);line-height:1;font-weight:700;letter-spacing:-.03em;margin:22px 0}
.sv-hero--hub h1{max-width:1020px;font-size:clamp(40px,5.6vw,88px)}
.sv-hero .pd-cta{align-items:center}
.sv-link{margin:0}
.sv-visual{position:relative;margin:0;justify-self:end;width:min(430px,100%);aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:#101010;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 40px 90px rgba(0,0,0,.6),0 0 90px rgba(233,82,60,.2)}
.sv-visual__in{position:absolute;inset:-6%;will-change:transform}
.sv-visual__in img{display:block;width:100%;height:100%;object-fit:cover}
.sv-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.35),transparent 45%)}
.sv .pd-marq{margin:110px 0 0}
.sv-statement{margin-top:20px;padding-top:110px}
.sv-points,.sv-more{width:min(1296px,calc(100% - 2 * var(--pad)));margin-left:auto;margin-right:auto}
.sv-points{margin-top:50px}
.sv-points__head{display:flex;flex-direction:column;align-items:flex-start}
.sv-points__head h2{font-size:clamp(34px,4.6vw,66px);line-height:1.06;margin:20px 0 0}
.sv-points__grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sv-point{position:relative;isolation:isolate;overflow:hidden;padding:46px 30px 50px;display:flex;flex-direction:column;gap:14px}
.sv-point+.sv-point{border-left:1px solid var(--line)}
.sv-point::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .5s;background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(233,82,60,.22),transparent 65%)}
.sv-point:hover::before{opacity:1}
.sv-point__n{font-size:12px;letter-spacing:.08em;color:var(--accent)}
.sv-point h3{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(22px,2.2vw,30px);line-height:1.12}
.sv-point p{color:var(--mute);font-size:16px;line-height:1.4}
.sv-cta{width:min(1296px,calc(100% - 2 * var(--pad)));margin:130px auto 0}
.sv-cta__box{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding:72px clamp(28px,5vw,80px);border:1px solid var(--line);border-radius:28px;background:radial-gradient(120% 150% at 90% 0%,rgba(233,82,60,.22),transparent 55%),#070707}
.sv-cta__box::after{content:"";position:absolute;z-index:-1;right:clamp(10px,6vw,90px);top:50%;width:clamp(150px,22vw,300px);aspect-ratio:1;margin-top:calc(clamp(150px,22vw,300px) / -2);opacity:.16;animation:starspin 26s linear infinite;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e9523c' stroke-width='.7' stroke-linecap='round'%3E%3Cpath d='M12 2v20M2 12h20M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E") center/contain no-repeat}
.sv-cta__box h2{font-size:clamp(34px,5vw,72px);line-height:1.05}
.sv-cta__box p{max-width:520px;color:var(--mute);font-size:17px;line-height:1.4}
.sv-more{margin-top:150px}
.sv-more h2{font-size:clamp(30px,4vw,56px);margin-bottom:34px}
.sv-more ul{border-top:1px solid var(--line)}
.sv-more li{position:relative;border-bottom:1px solid var(--line)}
.sv-more__i{display:grid;grid-template-columns:70px 1fr 24px;align-items:center;gap:18px;padding:30px 6px;transition:padding .5s var(--ease),background .4s}
.sv-more__i span{font-size:12px;color:var(--accent)}
.sv-more__i b{font-family:Inter,sans-serif;font-weight:300;font-size:clamp(24px,3.2vw,44px);text-transform:uppercase;line-height:1.1;color:#fff}
.sv-more__i i{display:flex;color:var(--accent);transition:transform .5s var(--ease)}
.sv-more__i:hover{padding-left:20px;background:linear-gradient(90deg,rgba(233,82,60,.09),transparent)}
.sv-more__i:hover i{transform:translateX(6px)}
.sv-related{margin-top:140px}
/* vue d'ensemble : la liste des services */
.sv-list.services{padding:90px 0 0;background:none}
.sv-list .svc{grid-template-columns:90px 1fr minmax(240px,420px) auto;transition:background .4s}
.sv-list .svc:hover{background:linear-gradient(90deg,rgba(233,82,60,.09),transparent 70%)}
.sv-list .svc h3 a{color:inherit}
.svc__go{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:50px;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:13px;font-weight:500;white-space:nowrap;transition:background .35s,border-color .35s,transform .5s var(--ease),box-shadow .35s}
.svc__go b{font-weight:500}
.svc__go svg{transition:transform .5s var(--ease)}
.svc:hover .svc__go{background:var(--accent);border-color:var(--accent);box-shadow:0 0 24px rgba(233,82,60,.55)}
.svc:hover .svc__go svg{transform:translateX(4px)}
.sv-hint{width:min(1296px,calc(100% - 2 * var(--pad)));margin:0 auto 22px;display:flex;align-items:center;gap:12px;font-size:15px;color:var(--fg)}
.sv-hint__dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(233,82,60,.7);animation:hintpulse 2s ease-out infinite}
@keyframes hintpulse{0%{box-shadow:0 0 0 0 rgba(233,82,60,.7)}100%{box-shadow:0 0 0 12px rgba(233,82,60,0)}}
.svc h3 a{text-decoration:none}

@media (max-width:1100px){
  .sv-hero{grid-template-columns:1fr;gap:50px}
  .sv-visual{justify-self:start;width:min(360px,100%)}
}
@media (max-width:810px){
  .sv{padding-top:120px}
  .sv-points__grid{grid-template-columns:1fr}
  .sv-point+.sv-point{border-left:0;border-top:1px solid var(--line)}
  .sv .pd-marq{margin-top:80px}
  .sv-statement{padding-top:80px}
  .sv-cta{margin-top:90px}
  .sv-cta__box{padding:48px 24px}
  .sv-points,.sv-more{margin-top:90px}
  .sv-more__i{grid-template-columns:44px 1fr 20px}
  .sv-list .svc{grid-template-columns:36px 1fr}
  .sv-list .svc .svc__go{grid-column:2;justify-self:start}
}
/* contenu des fiches */
.sv-head{display:flex;flex-direction:column;align-items:flex-start}
.sv-head h2{font-size:clamp(34px,4.6vw,66px);line-height:1.06;margin:20px 0 0}
.sv-why{margin-top:50px}
.sv-offer,.sv-for,.sv-faq{width:min(1296px,calc(100% - 2 * var(--pad)));margin-left:auto;margin-right:auto}
.sv-offer{margin-top:140px}
.sv-offer__grid{margin-top:56px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.sv-card{position:relative;isolation:isolate;overflow:hidden;padding:40px 36px 44px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:14px;transition:border-color .4s}
.sv-card::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .5s;background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(233,82,60,.22),transparent 65%)}
.sv-card:hover{border-color:rgba(233,82,60,.5)}
.sv-card:hover::before{opacity:1}
.sv-card__n{font-size:12px;letter-spacing:.08em;color:var(--accent)}
.sv-card h3{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(22px,2.3vw,32px);line-height:1.12}
.sv-card p{color:var(--mute);font-size:16px;line-height:1.45;max-width:440px}
.sv-for{margin-top:150px;display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start}
.sv-for__head{position:sticky;top:130px;display:flex;flex-direction:column;align-items:flex-start}
.sv-for__head h2{font-size:clamp(34px,4.4vw,62px);line-height:1.06;margin:20px 0 0}
.sv-for__list::after{content:"";display:block;height:1px;background:var(--line)}
.sv-for__list li{position:relative;display:grid;grid-template-columns:56px 1fr;gap:12px;padding:30px 6px}
.sv-for__list li span{font-size:12px;letter-spacing:.08em;color:var(--accent);padding-top:7px}
.sv-for__list li p{font-weight:500;font-size:clamp(19px,2vw,26px);line-height:1.3;letter-spacing:-.02em;color:#fff}
.sv-for__cta{grid-column:2;margin-top:6px}
.sv-more-link{margin:50px 0 0}
.sv-faq{margin-top:150px}
.sv-faq__list{margin-top:50px;border-top:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 6px;font-weight:500;font-size:clamp(18px,1.8vw,24px);line-height:1.3;color:#fff;transition:color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent)}
.faq summary i{flex:none;position:relative;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.3);transition:transform .5s var(--ease),background .3s,border-color .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:#fff;transform:translate(-50%,-50%)}
.faq summary i::after{transition:transform .4s var(--ease);transform:translate(-50%,-50%) rotate(90deg)}
.faq[open] summary i{background:var(--accent);border-color:var(--accent);transform:rotate(180deg)}
.faq[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq__a{padding:0 6px 32px;max-width:780px;animation:faqin .5s var(--ease)}
.faq__a p{color:var(--mute);font-size:17px;line-height:1.55}
@keyframes faqin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (max-width:1100px){.sv-for{grid-template-columns:1fr;gap:34px}.sv-for__head{position:static}.sv-for__cta{grid-column:1}}
@media (max-width:810px){
  .sv-offer,.sv-for,.sv-faq{margin-top:90px}
  .sv-offer__grid{grid-template-columns:1fr}
  .sv-card{padding:30px 26px 34px}
  .sv-hint{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.sv-hero__glow,.sv-cta__box::after,.sv-hint__dot{animation:none}}

/* ============ L'AGENCE ============ */
.ag-hero{padding-bottom:20px}
.ag-hero .sv-hero__txt{max-width:980px}
.ag-hero h1{font-size:clamp(38px,5.8vw,92px)}
.ag-collage{position:absolute;right:0;top:-10px;width:clamp(240px,32vw,470px);aspect-ratio:1;z-index:-1;pointer-events:none}
.ag-collage figure{position:absolute;margin:0;width:56%;aspect-ratio:4/5;border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 30px 70px -25px rgba(0,0,0,.8);animation:agfloat 7s ease-in-out infinite}
.ag-collage img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:grayscale(1) brightness(.85)}
.ag-collage figure:nth-child(1){left:0;top:12%;transform:rotate(-7deg)}
.ag-collage figure:nth-child(2){right:0;top:0;transform:rotate(5deg);animation-delay:-2s;z-index:1}
.ag-collage figure:nth-child(3){left:22%;top:44%;transform:rotate(-2deg);animation-delay:-4s;z-index:2;box-shadow:0 0 0 1px rgba(233,82,60,.6),0 0 60px -10px rgba(233,82,60,.5)}
.ag-collage figure:nth-child(3) img{filter:none}
@keyframes agfloat{50%{translate:0 -14px}}
.ag-raison{padding-top:120px}
.ag-manif{width:min(1296px,calc(100% - 2 * var(--pad)));margin:60px auto 0;display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:start}
.ag-manif__head{position:sticky;top:130px;display:flex;flex-direction:column;align-items:flex-start}
.ag-manif__head h2{font-size:clamp(34px,4.6vw,66px);line-height:1.06;margin:20px 0 0}
.ag-manif__txt{display:flex;flex-direction:column;gap:30px}
.ag-manif__txt p{font-size:clamp(18px,1.7vw,23px);line-height:1.45;color:var(--mute)}
.ag-manif__txt p:first-child{color:var(--white);font-weight:500;font-size:clamp(22px,2.3vw,32px);line-height:1.25;letter-spacing:-.02em}
.ag-values .sv-offer__grid{grid-template-columns:repeat(2,1fr)}
.ag-stats{padding-top:150px}
.ag-team{width:min(1296px,calc(100% - 2 * var(--pad)));margin:150px auto 0}
.ag-team__lead{margin-top:22px;max-width:560px;color:var(--mute);font-size:17px;line-height:1.45}
.ag-team__grid{margin-top:70px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:start}
.ag-m:nth-child(2){margin-top:60px}.ag-m:nth-child(4){margin-top:60px}
.ag-m__img{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:#101010;box-shadow:0 0 0 1px rgba(255,255,255,.08);transition:transform .8s var(--ease),box-shadow .6s}
.ag-m__img img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block;filter:grayscale(1) contrast(1.05) brightness(.9);transform:scale(1.04);transition:filter .7s,transform 1.2s var(--ease)}
.ag-m__img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 45%),radial-gradient(120% 70% at 50% 110%,rgba(233,82,60,.35),transparent 60%);opacity:.85;pointer-events:none;transition:opacity .6s}
.ag-m__shine{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(260px circle at var(--gx,50%) var(--gy,30%),rgba(255,255,255,.22),transparent 60%);opacity:0;transition:opacity .4s}
.ag-m:hover .ag-m__img{box-shadow:0 0 0 1px rgba(233,82,60,.6),0 20px 70px -20px rgba(233,82,60,.45)}
.ag-m:hover .ag-m__img img{filter:none;transform:scale(1.09)}
.ag-m:hover .ag-m__shine{opacity:1}
.ag-m:hover .ag-m__img::after{opacity:.5}
.ag-m__txt{padding:22px 4px 0;display:flex;flex-direction:column;gap:6px}
.ag-m__n{font-size:12px;letter-spacing:.08em;color:var(--accent)}
.ag-m h3{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(26px,2.4vw,34px);line-height:1.05}
.ag-m b{font-weight:500;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.ag-m p{color:var(--mute);font-size:15px;line-height:1.4;margin-top:6px}
.ag-m4 .ag-m__img::before{content:"Ouaf!";position:absolute;z-index:3;right:14px;top:14px;padding:6px 12px;border-radius:50px;background:var(--accent);color:#fff;font-size:12px;font-weight:600;transform:rotate(8deg) scale(0);transition:transform .5s var(--ease)}
.ag-m4:hover .ag-m__img::before{transform:rotate(8deg) scale(1)}
.ag-services{width:min(1296px,calc(100% - 2 * var(--pad)));margin:150px auto 0}
.ag-services .sv-more-list{margin-top:44px;border-top:1px solid var(--line)}
.ag-services .sv-more-list li{position:relative;border-bottom:1px solid var(--line)}
@media (max-width:1000px){
  .ag-manif{grid-template-columns:1fr;gap:34px}.ag-manif__head{position:static}
  .ag-team__grid{grid-template-columns:repeat(2,1fr);gap:34px 16px}
  .ag-m:nth-child(n){margin-top:0}.ag-m:nth-child(even){margin-top:40px}
  .ag-values .sv-offer__grid{grid-template-columns:1fr}
  .ag-team,.ag-services{margin-top:100px}
}
@media (max-width:1000px){.ag-collage{opacity:.35;width:56vw;right:-8%}}
@media (max-width:560px){.ag-m h3{font-size:24px}.ag-m p{font-size:14px}}
@media (hover:none){.ag-m__img img{filter:none}}
@media (prefers-reduced-motion:reduce){.ag-collage figure{animation:none}}

/* ============ SECTIONS CLAIRES (beige), bords fondus vers le noir ============ */
.lt-block{--fg:#1b1b1b;--white:#0e0e0e;--mute:rgba(20,20,20,.6);--line:rgba(0,0,0,.2);position:relative;background:#f2eee4;color:var(--fg)}
.lt-block .about::before{opacity:.5}
.lt-block .pill--flat{color:#111}
.lt-block .about,.lt-block .ag-manif{position:relative;z-index:2}

.lt-block .kw__set span{color:rgba(0,0,0,.2)}
.lt-block .kw__row--fill .kw__set span{color:rgba(0,0,0,.07)}
.lt-block .stat::before{background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(233,82,60,.2),transparent 65%)}
.lt-block .tq figcaption b{color:#111}
.lt-block .tq .avatar{color:#fff}
.lt-block .bar::before{background:rgba(0,0,0,.16)}
.lt-block .circle{border-color:rgba(0,0,0,.6);color:#111}
.lt-block .circle:hover{background:#111;color:#fff}
.lt-block .testi__glow{opacity:.5}
.lt-block .steps__line{background:rgba(0,0,0,.14)}
.lt-block .step.is-on .step__n{color:#111;border-color:rgba(233,82,60,.8);background:rgba(233,82,60,.14);box-shadow:0 0 22px rgba(233,82,60,.25)}
.lt-block .steps__dot{background:#111}

/* équipe : version courte pour l'accueil */
.ag-team--mini{margin-top:130px}
.ag-team--mini .sec-head{padding:0}
.ag-team--mini .sec-head h2{font-size:clamp(36px,4.8vw,70px);line-height:1.06;margin:22px 0 0}
.ag-team--mini .ag-team__grid{margin-top:60px}
.ag-team--mini .ag-m:nth-child(2),.ag-team--mini .ag-m:nth-child(4){margin-top:44px}
.ag-team--mini .ag-m__txt{padding-top:16px}
.ag-team--mini .ag-m h3{font-size:clamp(22px,2vw,28px)}
.ag-team__more{display:flex;justify-content:center;margin-top:56px}
@media (max-width:1000px){.ag-team--mini .ag-m:nth-child(n){margin-top:0}.ag-team--mini .ag-m:nth-child(even){margin-top:36px}.ag-team--mini{margin-top:90px}}

/* ============ BEIGE : détails (FAQ, cartes, boîte d'appel, frise en verre dépoli) ============ */
.lt-block .step__n{color:rgba(0,0,0,.65);background:rgba(242,238,228,.55);border-color:rgba(0,0,0,.25);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.lt-block .steps__dot{background:#111;box-shadow:0 0 0 4px rgba(233,82,60,.3),0 0 22px 6px rgba(233,82,60,.55)}
.lt-block .sv-card{background:rgba(0,0,0,.03)}
.lt-block .faq summary{color:#111}
.lt-block .faq summary:hover{color:var(--accent)}
.lt-block .faq summary i{border-color:rgba(0,0,0,.3)}
.lt-block .faq summary i::before,.lt-block .faq summary i::after{background:#111}
.lt-block .faq[open] summary i::before,.lt-block .faq[open] summary i::after{background:#fff}
.lt-block .sv-cta__box{background:radial-gradient(120% 150% at 90% 0%,rgba(233,82,60,.2),transparent 55%);border-color:rgba(0,0,0,.2)}
.lt-block .sv-offer__grid .sv-card h3{color:#0e0e0e}

/* ============ RYTHME : mêmes espaces partout ============
   --sec : espace entre deux sections (et haut/bas d'une bande beige)
   --gh  : espace entre un titre de section et son contenu */
:root{--sec:clamp(80px,9.5vw,140px);--gh:clamp(40px,4.4vw,60px)}
.services,.projects,.stats,.testi,.about,.process{padding-top:var(--sec);padding-bottom:0;margin-top:0}
.contact{margin-top:0;padding-top:var(--sec);padding-bottom:0}
.footer{padding-top:var(--sec)}
.pd-story,.pd-results,.pd-blocks,.pd-gallery,.pd-quote,.pd-next,.sv-why,.sv-points,.sv-cta,.sv-for,.sv-faq,.sv-related,.sv-more,.sv-offer,.ag-manif,.ag-team,.ag-services,.ag-team--mini,.pd-cover{margin-top:var(--sec)}
.pd-marq,.sv .pd-marq{margin:var(--sec) 0 0}
.pj-grid{padding-bottom:0}
.kw{margin-bottom:var(--sec)}
.svc-list,.stats__grid,.testi__stage,.sv-offer__grid,.sv-points__grid,.sv-faq__list,.ag-team__grid,.ag-team--mini .ag-team__grid,.ag-services .sv-more-list,.pd-results .stats__grid,.pj-grid--next,.sv-more-link,.proj{margin-top:var(--gh)}
.sv-more h2{margin-bottom:var(--gh)}
.contact__title{margin-bottom:var(--gh)}
.footer__cols{margin-top:var(--gh)}
.sec-head h2,.sv-head h2,.sv-points__head h2,.sv-for__head h2,.process__head h2,.ag-manif__head h2,.ag-team--mini .sec-head h2{margin-top:22px}
.sv-statement{margin-top:0}
/* bandes beiges : espace identique en haut et en bas, sections internes espacées pareil */
.lt-block{margin-top:var(--sec);padding:var(--sec) 0}
.lt-block>*:not(.x){margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}
.lt-block>*+*:not(.x){margin-top:var(--sec)}
.lt-block .stats__grid,.lt-block .sv-offer__grid,.lt-block .sv-faq__list{margin-top:var(--gh)}
.lt-block .testi__stage{margin-top:var(--gh)}
.lt-block .sv-cta{margin-top:0}

/* menu : page courante */
.nav__links a{position:relative}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 10px rgba(233,82,60,.8);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav__links a.is-active{opacity:1;color:#fff}
.nav__links a.is-active::after{transform:scaleX(1)}
.nav__links:has(a.is-active) a:not(.is-active){opacity:.55}
.nav__links:has(a.is-active) a:not(.is-active):hover{opacity:1}
.nav__mobile a.is-active{color:var(--accent)}

/* accueil : liste des projets centrée */
@media (min-width:811px){
  .projects .proj{width:min(1200px,calc(100% - 2 * var(--pad)));max-width:none;margin-left:auto;margin-right:auto}
  .projects .all-link{display:flex;width:fit-content;margin:var(--gh) auto 0}
}

/* beige : la lueur orange de « L'agence » n'est plus coupée en rectangle */
.lt-block{overflow-x:clip}
.lt-block .about{overflow:visible}
.lt-block .about::before{width:min(1100px,100vw);height:700px}



/* ============ BLOGUE (mise en page éditoriale) ============ */
.bl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.bl-meta i{width:3px;height:3px;border-radius:50%;background:currentColor}
.bl-top,.bl-feat,.bl-rows,.bl-next{width:min(1296px,calc(100% - 2 * var(--pad)));margin-left:auto;margin-right:auto}
.bl-top{display:flex;flex-direction:column;align-items:flex-start}
.bl-top h1{font-size:clamp(40px,6vw,92px);line-height:1;letter-spacing:-.03em;margin:22px 0 0}
.bl-top__lead{margin-top:26px;max-width:620px;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--mute)}
.bl-feat{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(28px,4.5vw,64px);align-items:center;margin-top:var(--gh)}
.bl-feat__img,.bl-rows__img,.bh-card__img{display:block;overflow:hidden;border-radius:6px;background:#111}
.bl-feat__img img,.bl-rows__img img,.bh-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.bl-feat__img{aspect-ratio:3/2}
.bl-feat:hover .bl-feat__img img,.bl-rows a:hover .bl-rows__img img,.bh-card:hover .bh-card__img img{transform:scale(1.04)}
.bl-feat__txt{display:flex;flex-direction:column;gap:18px}
.bl-feat__t{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(26px,3vw,44px);line-height:1.1;letter-spacing:-.02em;color:var(--white);transition:color .3s}
.bl-feat:hover .bl-feat__t{color:var(--accent)}
.bl-feat__d{font-size:17px;line-height:1.5;color:var(--mute)}
.bl-more-link{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--white);border-bottom:1px solid rgba(255,255,255,.4);align-self:flex-start;padding-bottom:3px}
.bl-more-link svg{color:var(--accent)}
.bl-rows{margin-top:var(--sec);border-top:1px solid var(--line)}
.bl-rows li{position:relative;border-bottom:1px solid var(--line)}
.bl-rows li a{display:grid;grid-template-columns:150px 1fr 240px;gap:clamp(18px,3vw,44px);align-items:center;padding:34px 0}
.bl-rows__meta{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--mute)}
.bl-rows__meta b{font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.bl-rows__t{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(20px,2.1vw,29px);line-height:1.15;letter-spacing:-.015em;color:var(--white);transition:color .3s}
.bl-rows__t small{display:block;margin-top:12px;font-family:Inter,sans-serif;font-weight:400;font-size:15px;line-height:1.45;letter-spacing:0;color:var(--mute);max-width:560px}
.bl-rows li a:hover .bl-rows__t{color:var(--accent)}
.bl-rows__img{aspect-ratio:3/2}
.bl-next{margin-top:var(--sec)}
.bl-next h2{font-size:clamp(30px,4vw,56px);margin-bottom:var(--gh)}
.bl-next .bl-rows{margin-top:0;width:100%}
.bl-art{width:min(1100px,calc(100% - 2 * var(--pad)));margin:0 auto}
.bl-art__head{max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.bl-crumb{font-size:13px;color:var(--mute)}
.bl-crumb a:hover{color:var(--accent)}
.bl-art__head h1{font-size:clamp(34px,4.8vw,64px);line-height:1.05;letter-spacing:-.03em;margin:0}
.bl-dek{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--mute)}
.bl-cover{margin:var(--gh) 0 0}
.bl-cover img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;display:block}
.bl-cover figcaption{margin-top:10px;font-size:12px;color:var(--mute);text-align:right}
.bl-cover figcaption a{text-decoration:underline;text-underline-offset:3px}
.bl-art__body{max-width:700px;margin:var(--gh) auto 0;font-size:19px;line-height:1.7;color:rgba(227,227,227,.88)}
.bl-art__body h2{font-size:clamp(24px,2.6vw,32px);line-height:1.15;letter-spacing:-.02em;margin:58px 0 16px}
.bl-art__body p{margin:0 0 20px}
.bl-art__body ul{margin:0 0 24px;display:flex;flex-direction:column;gap:10px}
.bl-art__body ul li{position:relative;padding-left:26px}
.bl-art__body ul li::before{content:"";position:absolute;left:0;top:.82em;width:14px;height:1px;background:var(--accent)}
.bl-stats{display:flex;flex-direction:column;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 12px}
.bl-stat{display:grid;grid-template-columns:minmax(120px,190px) 1fr;column-gap:28px;align-items:baseline;padding:28px 0}
.bl-stat+.bl-stat{border-top:1px solid var(--line)}
.bl-stat b{grid-row:1 / span 2;font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(38px,5vw,60px);line-height:1;letter-spacing:-.03em;color:var(--white)}
.bl-stat p{margin:0 0 8px;font-size:17px;line-height:1.45}
.bl-stat a{font-size:13px;color:var(--mute);text-decoration:underline;text-underline-offset:3px;transition:color .3s}
.bl-stat a:hover{color:var(--accent)}
.bl-faq{border-top:1px solid var(--line)}
.bl-svc{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);font-size:16px;color:var(--mute)}
.bl-svc a{color:var(--white);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.bl-src{margin-top:40px;font-size:14px;line-height:1.5;color:var(--mute)}
.bl-src h3{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--fg);margin-bottom:10px}
.bl-src ol{list-style:decimal;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.bl-src a{text-decoration:underline;text-underline-offset:3px}
.bl-src a:hover{color:var(--accent)}
.bl-cta{max-width:700px;margin:var(--sec) auto 0;width:calc(100% - 2 * var(--pad));display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-top:var(--gh);border-top:1px solid var(--line)}
.bl-cta h2{font-size:clamp(30px,4vw,48px)}
.bl-cta p{color:var(--mute);font-size:18px}
@media (max-width:900px){
  .bl-feat{grid-template-columns:1fr}
  .bl-rows li a{grid-template-columns:1fr 130px;grid-template-areas:"m i" "t i"}
  .bl-rows__meta{grid-area:m;flex-direction:row;gap:12px}.bl-rows__t{grid-area:t}.bl-rows__img{grid-area:i;align-self:start}
  .bl-stat{grid-template-columns:1fr;row-gap:8px}.bl-stat b{grid-row:auto}
}
@media (max-width:560px){.bl-art__body{font-size:17px}.bl-rows li a{grid-template-columns:1fr 96px;padding:26px 0}.bl-rows__t small{display:none}}

/* accueil : section blogue */
.bh{width:min(1296px,calc(100% - 2 * var(--pad)));margin:0 auto}
.bh__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.bh__head h2{font-size:clamp(38px,5vw,72px);line-height:1.05;margin-top:22px}
.bh__head .all-link{margin:0}
.bh__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,34px);margin-top:var(--gh)}
.bh-card{display:flex;flex-direction:column;gap:14px}
.bh-card__img{aspect-ratio:3/2}
.bh-card__t{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(19px,1.7vw,24px);line-height:1.2;letter-spacing:-.015em;color:var(--white);transition:color .3s}
.bh-card:hover .bh-card__t{color:var(--accent)}
@media (max-width:900px){.bh__grid{grid-template-columns:1fr 1fr}.bh-card:nth-child(3){display:none}}
@media (max-width:560px){.bh__grid{grid-template-columns:1fr}.bh-card:nth-child(3){display:flex}}

/* zones desservies */
.zn-list{width:min(1296px,calc(100% - 2 * var(--pad)));margin:var(--sec) auto 0}
.zn-list ul{border-top:1px solid var(--line)}
.zn-list li{position:relative;border-bottom:1px solid var(--line)}
.zn-list a{display:grid;grid-template-columns:1fr auto 24px;align-items:center;gap:18px;padding:26px 6px;transition:padding .5s var(--ease),background .4s}
.zn-list b{font-family:Inter,sans-serif;font-weight:300;font-size:clamp(22px,3vw,40px);text-transform:uppercase;line-height:1.1;color:var(--white)}
.zn-list span{font-size:14px;color:var(--mute)}
.zn-list i{display:flex;color:var(--accent);transition:transform .5s var(--ease)}
.zn-list a:hover{padding-left:20px;background:linear-gradient(90deg,rgba(233,82,60,.09),transparent)}
.zn-list a:hover i{transform:translateX(6px)}

/* pied de page : annuaire */
.footer__dir{margin-top:var(--gh);padding-top:30px;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:1fr 1fr;gap:34px}
.footer__dir h4{font-family:Inter,sans-serif;font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.footer__dir ul{display:flex;flex-direction:column;gap:9px}
.footer__dir-z ul{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 24px}
.footer__dir a{font-size:14px;color:var(--fg);opacity:.78;transition:opacity .3s,color .3s}
.footer__dir a:hover{opacity:1;color:var(--accent)}
.footer__area{margin-top:30px;max-width:640px;font-size:13px;line-height:1.5;color:var(--mute)}
@media (max-width:900px){.footer__dir{grid-template-columns:1fr 1fr}.footer__dir-z{grid-column:1 / -1}}
@media (max-width:560px){.footer__dir{grid-template-columns:1fr}.footer__area{text-align:center;margin-left:auto;margin-right:auto}}
@media (max-width:560px){.footer__dir-z ul{grid-template-columns:1fr 1fr}}

/* pages de villes : le marché en bref */
.zn-facts{width:min(1296px,calc(100% - 2 * var(--pad)));margin:var(--sec) auto 0}
.zn-facts__grid{display:grid;grid-template-columns:1fr 1fr 1.6fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:var(--gh)}
.zn-facts__grid>div{padding:34px 28px}
.zn-facts__grid>div+div{border-left:1px solid var(--line)}
.zn-facts dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.zn-facts dd{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(26px,3vw,44px);line-height:1.05;letter-spacing:-.02em;color:var(--white)}
.zn-facts dd small{display:block;margin-top:10px;font-family:Inter,sans-serif;font-weight:400;font-size:14px;line-height:1.35;letter-spacing:0;color:var(--mute)}
.zn-facts dd.is-text{font-family:Inter,sans-serif;font-weight:400;font-size:17px;line-height:1.5;letter-spacing:0;color:var(--fg)}
.zn-facts__txt{margin-top:34px;max-width:760px;font-size:19px;line-height:1.55;color:rgba(227,227,227,.88)}
.zn-facts__src{margin-top:16px;font-size:13px;color:var(--mute)}
.zn-facts__src a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.zn-facts__grid{grid-template-columns:1fr}.zn-facts__grid>div+div{border-left:0;border-top:1px solid var(--line)}}

/* blogue : pagination, citations client, articles liés */
.bl-pager{width:min(1296px,calc(100% - 2 * var(--pad)));margin:var(--gh) auto 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.bl-pager ul{display:flex;gap:6px}
.bl-pager li a,.bl-pager li b{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;font-size:15px;color:var(--mute);border:1px solid transparent;transition:color .3s,border-color .3s}
.bl-pager li a:hover{color:var(--white);border-color:var(--line)}
.bl-pager li b{font-weight:500;color:var(--white);border-color:rgba(255,255,255,.5)}
.bl-pager__a{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--white);border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:3px;justify-self:start}
.bl-pager__a[rel="next"]{justify-self:end}
.bl-pager__a svg{color:var(--accent)}
.bl-rows--top{margin-top:var(--gh)}
.bl-quote{margin:44px 0;padding:6px 0 6px 28px;border-left:2px solid var(--accent)}
.bl-quote p{margin:0 0 12px;font-family:Montserrat,sans-serif;font-weight:500;font-size:clamp(20px,2.2vw,26px);line-height:1.35;letter-spacing:-.01em;color:var(--white)}
.bl-quote cite{font-style:normal;font-size:14px;color:var(--mute)}
.bl-rel{margin-top:44px;padding-top:22px;border-top:1px solid var(--line)}
.bl-rel h3{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--fg);margin-bottom:12px}
.bl-rel ul{display:flex;flex-direction:column;gap:8px;margin:0}
.bl-rel li{padding-left:0}
.bl-rel li::before{display:none}
.bl-rel a{font-size:16px;line-height:1.4;text-decoration:underline;text-decoration-color:rgba(233,82,60,.6);text-underline-offset:4px;transition:color .3s}
.bl-rel a:hover{color:var(--accent)}
@media (max-width:560px){.bl-pager{grid-template-columns:1fr 1fr}.bl-pager ul{grid-column:1 / -1;grid-row:1;justify-content:center}}

/* boutons : coins toujours arrondis, aussi sur iPhone (le flou et le débordement ne doivent jamais former un carré) */
.btn__c{-webkit-clip-path:inset(0 round 11.5px);clip-path:inset(0 round 11.5px);-webkit-mask-image:-webkit-radial-gradient(#fff,#000);transform:translateZ(0)}
.btn__in{-webkit-clip-path:inset(0 round 10px);clip-path:inset(0 round 10px)}

/* fenêtre de contact */
.modal--form .modal__box{width:min(680px,100%);aspect-ratio:auto;max-height:calc(100dvh - 40px);overflow:auto;background:#0b0b0b;border:1px solid var(--line);border-radius:22px;padding:44px clamp(24px,4vw,48px) 40px}
.modal--form h2{font-size:clamp(28px,4vw,40px);line-height:1.05;margin-bottom:10px}
.cm__lead{color:var(--mute);font-size:16px;line-height:1.45;margin-bottom:26px}
.modal--form .modal__close{top:18px;right:18px}
@media (max-width:560px){.modal--form{padding:12px}.modal--form .modal__box{padding:36px 20px 28px;border-radius:18px}}

/* page déjà vue pendant cette visite : pas de nouvelle animation d'apparition */
.seen [data-in],.seen [data-reveal],.seen .w,.seen [data-row]>*{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
.seen [data-row]::before{transform:none!important;transition:none!important}

.bl-ext{margin-top:44px;padding-top:22px;border-top:1px solid var(--line)}
.bl-ext h3{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--fg);margin-bottom:14px}
.bl-ext ul{display:flex;flex-direction:column;gap:16px;margin:0}
.bl-ext li{padding-left:0;display:flex;flex-direction:column;gap:3px}
.bl-ext li::before{display:none}
.bl-ext a{font-size:16px;line-height:1.35;color:var(--white);text-decoration:underline;text-decoration-color:rgba(233,82,60,.6);text-underline-offset:4px;transition:color .3s}
.bl-ext a:hover{color:var(--accent)}
.bl-ext span{font-size:14px;line-height:1.4;color:var(--mute)}

/* page contact */
.ct-info{width:min(1296px,calc(100% - 2 * var(--pad)));margin:var(--gh) auto 0}
.ct-info ul{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ct-info li{position:relative;padding:34px 28px;display:flex;flex-direction:column;gap:10px}
.ct-info li+li{border-left:1px solid var(--line)}
.ct-info small{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.ct-info a,.ct-info span{font-family:Montserrat,sans-serif;font-weight:600;font-size:clamp(20px,2.2vw,30px);line-height:1.15;letter-spacing:-.01em;color:var(--white)}
.ct-info a:hover{color:var(--accent)}
.ct .contact{margin-top:var(--sec)}
@media (max-width:900px){.ct-info ul{grid-template-columns:1fr}.ct-info li+li{border-left:0;border-top:1px solid var(--line)}}
