:root {
  --rose:#DD83B3; --peche:#F5AB8E;
  --g5:#0C0C0C; --g11:#1C1C1A; --g93:#EFEFEB; --g95:#F5F4EF;
  --b9:rgba(12,12,12,0.09); --b6:rgba(12,12,12,0.06); --b7:rgba(12,12,12,0.07);
  --b26:rgba(12,12,12,0.26); --b48:rgba(12,12,12,0.48);
  --rose25:rgba(221,131,179,0.25); --peche25:rgba(245,171,142,0.25);
  --w18:rgba(255,255,255,0.18);
  --cp: clamp(20px, 3.9vw, 56px);
  --cw: 1328px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:#fff;color:var(--g5);font-family:'Geist',sans-serif;font-weight:300;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;}
a{text-decoration:none;color:inherit;}
img{display:block;}

.inner {
  width:100%;
  max-width:calc(var(--cw) + 2 * var(--cp));
  margin:0 auto;
  padding-left:var(--cp);
  padding-right:var(--cp);
}

/* ══ NAV ══════════════════════════════════════════════ */
nav {
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:58px;
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--b9);
  transition:background 0.3s,border-color 0.3s;
}
.nav-inner {
  max-width:calc(var(--cw) + 2 * var(--cp));
  margin:0 auto;padding:0 var(--cp);height:58px;
  display:flex;align-items:center;justify-content:space-between;
}
nav.on-hero{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
nav.scrolled{background:rgba(255,255,255,0.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--b9);}
nav.on-hero:not(.scrolled) .nav-logo svg path,
nav.on-hero:not(.scrolled) .nav-logo svg polygon,
nav.on-hero:not(.scrolled) .nav-logo svg rect{fill:white;}
nav.on-hero:not(.scrolled) .nav-logo img{filter:brightness(0) invert(1);}
nav.on-hero:not(.scrolled) .nav-links a{color:rgba(255,255,255,0.78);}
nav.on-hero:not(.scrolled) .nav-cta-rose{color:rgba(255,255,255,0.9) !important;}
nav.on-hero:not(.scrolled) .nav-cta-rose path{stroke:rgba(255,255,255,0.9);}

.nav-logo{flex-shrink:0;line-height:0;}
.nav-logo svg{height:22px;width:auto;display:block;}
.nav-logo svg path,.nav-logo svg polygon,.nav-logo svg rect{transition:fill 0.3s;}
.nav-links{display:flex;align-items:center;gap:32px;}
.nav-links a{font-size:13px;font-weight:300;color:var(--g11);white-space:nowrap;transition:color 0.2s;}
.nav-links a:hover{color:var(--g5);}
.nav-cta-rose{
  display:inline-flex;align-items:center;gap:4px;
  font-size:13.5px;font-weight:400;color:var(--rose) !important;
}
.nav-cta-rose path{stroke:var(--rose);}
.nav-burger{
  display:none;
  background:none;border:none;cursor:pointer;padding:8px;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;
}
.nav-burger span{
  display:block;width:22px;height:1.5px;background:var(--g5);
  transition:background 0.3s,transform 0.3s,opacity 0.3s;
  transform-origin:center;
}
nav.on-hero:not(.scrolled) .nav-burger span{background:#fff;}
#mobileMenu {
  display:none;
  position:fixed;top:58px;left:0;right:0;bottom:0;z-index:199;
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  flex-direction:column;align-items:center;justify-content:center;
  gap:32px;
}
#mobileMenu.open{display:flex;}
#mobileMenu a{
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:clamp(32px,7vw,48px);color:var(--g5);letter-spacing:-0.02em;
  transition:color 0.2s;
}
#mobileMenu a:hover{color:var(--rose);}
#mobileMenu .menu-close{
  position:absolute;top:20px;right:var(--cp);
  background:none;border:none;cursor:pointer;
  font-size:24px;color:var(--b48);
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;
}

/* ══ HERO ══════════════════════════════════════════════ */
#hero {
  position:relative;width:100%;
  height:100svh;min-height:600px;
  display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;
}
.h-bg-base{position:absolute;inset:0;background:#1C1C1A;z-index:0;}
.h-bg-g1{position:absolute;inset:0;z-index:1;background:
  radial-gradient(91.92% 91.92% at 65% 35%,rgba(221,131,179,0.13) 0%,transparent 50%),
  radial-gradient(113.14% 113.14% at 20% 80%,rgba(245,171,142,0.1) 0%,transparent 45%),
  linear-gradient(154.53deg,#1A1614 0%,#0E0C0B 40%,#141210 100%);}
/* Root-relative path so it resolves correctly from the CSS file */
.h-bg-img{position:absolute;inset:0;z-index:2;background:url('/public/media/images/hero-background.png') center/cover no-repeat;}
.h-bg-o1{position:absolute;inset:0;z-index:3;background:rgba(12,12,12,0.6);}
.h-bg-o2{position:absolute;inset:0;z-index:4;background:linear-gradient(180deg,rgba(12,12,12,0.1) 0%,rgba(12,12,12,0.05) 35%,rgba(12,12,12,0.6) 75%,rgba(12,12,12,0.9) 100%);}
.hero-content {
  position:relative;z-index:10;
  width:100%;
  max-width:calc(var(--cw) + 2 * var(--cp));
  margin:0 auto;
  padding:0 var(--cp) clamp(40px,5.6vw,64px);
  display:flex;flex-direction:column;gap:22px;
}
.hero-h1{display:flex;flex-direction:column;gap:12px;}
.roll-clip{overflow:hidden;}
.roll-track{display:flex;flex-direction:column;will-change:transform;}
.roll-item{
  display:block;white-space:nowrap;
  font-family:'Instrument Serif',serif;font-style:normal;font-weight:400;
  font-size:clamp(44px,9vw,129.6px);
  line-height:1.05;letter-spacing:-0.02em;color:#fff;
  opacity:0;padding-bottom:0.2em;
}
.roll-item em{font-style:italic;}
.roll-prep{font-style:normal;}
.roll-item.active{opacity:1;}
.hero-line2{
  font-family:'Instrument Serif',serif;font-weight:400;font-style:normal;
  font-size:clamp(44px,9vw,129.6px);line-height:0.935;letter-spacing:-0.02em;
  color:#fff;display:block;
}
.hero-line3-wrap{display:flex;align-items:center;padding-top:clamp(8px,1.2vw,16px);}
.hero-line3{
  font-family:'Instrument Serif',serif;font-weight:400;font-style:normal;
  font-size:clamp(44px,9vw,129.6px);line-height:0.935;letter-spacing:-0.02em;
  color:var(--rose);display:block;
}
.hero-btns{display:flex;align-items:center;gap:14px;padding-top:clamp(16px,1.9vw,22px);flex-wrap:wrap;}
.btn-ow{display:inline-flex;align-items:center;font-family:'Geist',sans-serif;font-size:13.5px;font-weight:400;color:#fff;border:1px solid #fff;border-radius:2px;padding:11px 22px;height:42px;white-space:nowrap;transition:background 0.2s;}
.btn-ow:hover{background:rgba(255,255,255,0.1);}
.btn-fw{display:inline-flex;align-items:center;font-family:'Geist',sans-serif;font-size:13.5px;font-weight:400;background:#fff;color:#1C1C1A;border-radius:2px;padding:12px 24px;height:42px;white-space:nowrap;transition:opacity 0.2s;}
.btn-fw:hover{opacity:0.88;}

/* ══ STATEMENT ════════════════════════════════════════ */
#statement{background:#fff;border-top:1px solid var(--b9);width:100%;}
.stmt-inner{
  width:100%;
  max-width:calc(var(--cw) + 2 * var(--cp));
  margin:0 auto;
  padding:96px var(--cp) 80px;
  display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;
  gap:72px;
  min-height:900px;
}
.stmt-images{
  flex:0 0 47.3%;
  max-width:628px;
  aspect-ratio:628/1250;
  position:relative;
  overflow:hidden;
}
.si{position:absolute;object-fit:cover;}
.si-1{left:0;top:0;width:100%;height:28%;}
.si-2{left:0;top:20%;width:63%;height:50%;}
.si-3{left:32%;top:32%;width:68%;height:34%;}
.si-4{left:0;top:62%;width:55%;height:36%;}
.si-5{left:40%;top:56%;width:60%;height:42%;}
.stmt-text-wrap{
  flex:1;
  min-width:0;
  max-width:628px;
  align-self:flex-start;
}
.stmt-text{
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:clamp(36px,6vw,98px);
  line-height:0.9;letter-spacing:-0.04em;color:var(--g5);
}

/* ══ MARQUEE ════════════════════════════════════════ */
#marquee{width:100%;background:#1C1C1A;border-bottom:1px solid var(--b6);padding-top:44px;padding-bottom:44px;overflow:hidden;position:relative;display:block;}
.mq-fade-l,.mq-fade-r{position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;}
.mq-fade-l{left:0;background:linear-gradient(to right,#1C1C1A,transparent);}
.mq-fade-r{right:0;background:linear-gradient(to left,#1C1C1A,transparent);}
.mq-track{
  display:flex;align-items:center;gap:56px;padding:0 24px;
  height:50px;width:max-content;
  opacity:0.5;animation:ticker 75s linear infinite;
}
.mq-track:hover{animation-play-state:paused;}
.mq-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:visible;}
.mq-logo svg{display:block;}

/* ══ EXPERTISES ══════════════════════════════════════ */
#expertises{background:#fff;border-top:1px solid var(--b9);width:100%;}
.exp-pad{
  max-width:calc(var(--cw) + 2 * var(--cp));
  margin:0 auto;
  padding:112px var(--cp) 300px;
  display:flex;flex-direction:column;gap:80px;
  position:relative;
}
.exp-header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:40px;}
.exp-h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(32px,4.2vw,56px);line-height:1.05;letter-spacing:-0.02em;color:var(--g5);flex-shrink:0;}
.exp-intro{font-size:15px;font-weight:300;color:var(--b48);line-height:26.25px;max-width:636px;padding-top:4px;}
.exp-layout{display:flex;flex-direction:row;gap:24px;}
.exp-list{flex:0 0 56.4%;display:flex;flex-direction:column;}
.exp-row{
  position:relative;
  min-height:clamp(160px,17.77vw,236px);
  flex-shrink:0;
}
.exp-num-box{position:absolute;left:0;top:18px;overflow:hidden;}
.exp-num{
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:clamp(100px,18.07vw,240px);
  line-height:0.85;letter-spacing:-0.04em;
  color:var(--rose25);display:block;user-select:none;
}
.exp-row:nth-child(2) .exp-num,
.exp-row:nth-child(4) .exp-num{color:var(--peche25);}
.exp-body{
  position:absolute;
  left:clamp(72px,9.04vw,120px);
  top:52px;
  width:calc(100% - clamp(72px,9.04vw,120px));
  background:rgba(255,255,255,0.5);
  padding:18px 0 0;display:flex;flex-direction:column;gap:12px;
}
.exp-title{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(20px,2.56vw,34px);line-height:1.15;letter-spacing:-0.015em;color:var(--g5);}
.exp-desc{font-size:15px;font-weight:300;color:#1C1C1A;line-height:26px;}
.exp-imgs{flex:1;position:relative;min-height:clamp(500px,71vw,944px);overflow:hidden;}
.ei{position:absolute;object-fit:cover;}
.ei-1{left:0;top:0;width:79.1%;height:26.2%;}
.ei-2{right:4.9%;top:19.9%;width:49.9%;height:41.5%;}
.ei-3{left:3.4%;top:41.9%;width:46.7%;height:39%;}
.ei-4{left:27.4%;top:69.6%;width:72.6%;height:29.3%;}

/* ══ LAME 360×365 ════════════════════════════════════ */
#lame{
  width:100%;
  min-height:clamp(300px,33.3vw,479px);
  background:var(--g5);
  position:relative;
  overflow:visible;
  display:flex;flex-direction:column;
}
.lame-360{
  position:absolute;
  left:50%;transform:translateX(-50%);
  width:max-content;
  max-width:100vw;
  text-align:center;
  top:clamp(-220px,-15.87vw,-60px);
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:clamp(80px,37.15vw,535px);
  line-height:0.88;letter-spacing:-0.04em;
  white-space:nowrap;z-index:2;pointer-events:none;
  overflow:hidden;
}
.lame-360 .r{color:var(--rose);}
.lame-360 .x{color:#303030;}
.lame-360 .p{color:var(--peche);}
.lame-inner{
  width:100%;flex:1;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  padding:clamp(160px,15vw,220px) var(--cp) 80px;
  position:relative;z-index:1;
}
.lame-sub{font-family:'Geist',sans-serif;font-weight:300;font-size:clamp(15px,1.39vw,20px);line-height:1.82;letter-spacing:0.14px;color:rgba(255,255,255,0.92);text-align:center;max-width:min(855px,100%);}
.lame-link{display:inline-flex;align-items:center;font-family:'Geist',sans-serif;font-size:13.5px;font-weight:400;color:#fff;border:1px solid #fff;border-radius:2px;padding:11px 22px;margin-top:36px;transition:opacity 0.2s;}
.lame-link:hover{opacity:0.75;}

/* ══ CAS ══════════════════════════════════════════════ */
#cas{width:100%;background:var(--g95);border-top:1px solid var(--b6);}
.cas-pad{max-width:calc(var(--cw) + 2 * var(--cp));margin:0 auto;padding:112px var(--cp);display:flex;flex-direction:column;gap:56px;}
.cas-hdr{display:flex;justify-content:space-between;align-items:flex-end;}
.cas-h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(32px,4.2vw,56px);line-height:1.05;letter-spacing:-0.02em;color:var(--g5);}
.cas-voir{display:inline-flex;align-items:center;gap:8px;padding:0 0 2px;border-bottom:1px solid var(--b9);font-size:13px;font-weight:300;color:var(--b48);transition:color 0.2s;white-space:nowrap;}
.cas-voir:hover{color:var(--g5);}
.cas-grid{display:flex;flex-direction:row;align-items:flex-start;gap:4px;width:100%;flex-wrap:nowrap;}
.cas-c1-wrap{flex:0 0 35.1%;}
.cas-c2-wrap{flex:0 0 32.15%;padding-top:3.9%;}
.cas-c3-wrap{flex:0 0 32.15%;}
.cas-card{position:relative;overflow:hidden;border-radius:3px;width:100%;}
.cas-c1-wrap .cas-card{aspect-ratio:466/827;}
.cas-c2-wrap .cas-card{aspect-ratio:427/665;}
.cas-c3-wrap .cas-card{aspect-ratio:427/784;}
.cas-photo{
  position:absolute;inset:0;
  background-color:#1a1a1a;background-size:cover;background-position:center;
  transition:transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
.cas-card:hover .cas-photo{transform:scale(1.05);}
.cas-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,12,0) 77.07%,rgba(12,12,12,0.9) 89.7%);}
.cas-c2-bg{position:absolute;inset:0;background:radial-gradient(84.85% 98.99% at 60% 30%,rgba(221,131,179,0.22) 0%,transparent 50%),linear-gradient(166.36deg,#1E1218 0%,#0D080B 100%);}
.cas-info{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;padding:0 clamp(14px,1.8vw,24px) clamp(16px,2.4vw,32px);}
.cas-brand{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(15px,1.66vw,22px);line-height:1.2;letter-spacing:-0.01em;color:#fff;}
.cas-sub{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(15px,1.66vw,22px);line-height:1.2;letter-spacing:-0.01em;color:var(--rose);}
.cas-sub-p{color:var(--peche);}
.cas-play{position:absolute;top:clamp(12px,1.4vw,20px);right:clamp(12px,1.4vw,20px);width:clamp(28px,2.5vw,36px);height:clamp(28px,2.5vw,36px);border-radius:50%;border:1px solid rgba(255,255,255,0.3);background:rgba(0,0,0,0.25);display:flex;align-items:center;justify-content:center;transition:border-color 0.2s,background 0.2s;}
.cas-card:hover .cas-play{border-color:rgba(255,255,255,0.7);background:rgba(0,0,0,0.45);}
.cas-play svg{margin-left:2px;}

/* ══ CTA ══════════════════════════════════════════════ */
#cta{width:100%;background:var(--peche);}
.cta-pad{max-width:calc(var(--cw) + 2 * var(--cp));margin:0 auto;padding:96px var(--cp) 112px;display:flex;flex-direction:row;align-items:center;}
.cta-h2-frame{flex:0 0 70.7%;display:flex;flex-direction:column;justify-content:center;}
.cta-h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(80px,15.11vw,217.587px);line-height:0.685;letter-spacing:-0.03em;color:var(--g5);}
.cta-right{flex:1;display:flex;flex-direction:column;justify-content:center;gap:28px;}
.cta-desc{font-size:15px;font-weight:300;color:#1C1C1A;line-height:26px;}
.btn-cta{display:inline-flex;align-items:center;font-family:'Geist',sans-serif;font-size:13.5px;font-weight:400;background:#fff;color:#1C1C1A;border-radius:2px;padding:12px 24px;height:42px;align-self:flex-start;transition:opacity 0.2s;}
.btn-cta:hover{opacity:0.88;}

/* ══ FOOTER ══════════════════════════════════════════ */
footer{width:100%;background:var(--g93);border-top:1px solid var(--b7);}
.footer-pad{max-width:calc(var(--cw) + 2 * var(--cp));margin:0 auto;padding:68px var(--cp) 48px;display:flex;flex-direction:column;gap:28px;}
.footer-top{display:flex;flex-direction:row;align-items:flex-start;gap:124px;padding-bottom:28px;border-bottom:1px solid var(--b7);}
.footer-cols{display:flex;flex-direction:row;gap:48px;flex-shrink:0;}
.f-col{display:flex;flex-direction:column;gap:16px;width:150px;}
.f-col-travaux{padding-bottom:31px;}
.f-head{font-size:10.5px;font-weight:500;letter-spacing:1.575px;text-transform:uppercase;color:var(--b26);}
.f-list{list-style:none;display:flex;flex-direction:column;gap:10px;}
.f-list a{font-size:13px;font-weight:300;color:#1C1C1A;opacity:0.7;transition:opacity 0.2s;}
.f-list a:hover{opacity:1;}
.footer-logo-right{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;min-height:113px;}
.footer-logo-right img{width:min(658px,100%);height:auto;display:block;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;}
.f-copy,.f-entity{font-size:11.5px;font-weight:300;color:var(--b26);}

/* ══ MOBILE ONLY elements (hidden desktop) ══════════ */
.stmt-mobile-imgs,.exp-mobile-imgs{display:none;}

/* ══ RESPONSIVE ≤768px ═══════════════════════════════ */
@media(max-width:768px){
  :root{--cp:20px;}

  .nav-links{display:none;}
  .nav-burger{display:flex;}

  .hero-content{padding-bottom:40px;gap:16px;}
  .hero-h1{gap:8px;}
  .hero-btns{flex-direction:column;align-items:flex-start;gap:10px;padding-top:16px;}

  .stmt-inner{
    flex-direction:column;gap:32px;
    padding-top:56px;padding-bottom:0;
    min-height:auto;
  }
  .stmt-images{
    flex:none;width:100%;max-width:100%;
    aspect-ratio:auto;height:240px;overflow:hidden;
  }
  .stmt-images .si{display:none;}
  .stmt-images .si-1{display:block;width:100%;height:100%;left:0;top:0;}
  .stmt-text-wrap{width:100%;max-width:100%;}
  .stmt-text{font-size:clamp(34px,8.5vw,56px);line-height:0.9;}

  .stmt-mobile-imgs{
    display:block;
    position:relative;
    width:100%;height:420px;
    overflow:visible;
    padding-bottom:48px;
    margin-bottom:48px;
    margin-top:20px;
  }
  .smi{position:absolute;object-fit:cover;border-radius:2px;box-shadow:0 2px 12px rgba(0,0,0,0.12);}
  .smi-1{width:62%;height:200px;left:0;top:0;z-index:1;}
  .smi-2{width:58%;height:190px;right:0;top:50px;z-index:2;}
  .smi-3{width:55%;height:180px;left:10%;top:190px;z-index:3;}
  .smi-4{width:52%;height:170px;right:5%;top:235px;z-index:2;}

  .mq-logo{transform:scale(0.7);transform-origin:center center;}
  .mq-track{gap:32px;}

  .exp-pad{padding-top:64px;padding-bottom:200px;gap:0;}
  .exp-header{flex-direction:column;gap:16px;margin-bottom:40px;}
  .exp-layout{flex-direction:column;}
  .exp-list{width:100%;}
  .exp-row{
    position:relative;
    min-height:auto;height:auto;
    padding-bottom:32px;padding-top:100px;
  }
  .exp-num-box{position:absolute;left:0;top:0;overflow:hidden;height:110px;}
  .exp-num{font-size:clamp(80px,24vw,140px);line-height:110px;}
  .exp-body{
    position:static;left:auto;top:auto;
    width:100%;background:rgba(255,255,255,0.5);
    padding:14px 0 0;
  }
  .exp-imgs{display:none;}
  .exp-mobile-imgs{
    display:block;
    position:relative;width:100%;height:400px;
    overflow:visible;
    margin-top:8px;
  }
  .emi{position:absolute;object-fit:cover;border-radius:2px;box-shadow:0 2px 12px rgba(0,0,0,0.1);}
  .emi-1{width:65%;height:195px;left:0;top:0;z-index:1;}
  .emi-2{width:52%;height:170px;right:0;top:50px;z-index:2;}
  .emi-3{width:55%;height:175px;left:12%;top:195px;z-index:3;}
  .emi-4{width:60%;height:165px;right:2%;top:225px;z-index:2;}

  #lame{overflow:hidden;}
  .lame-360{
    font-size:clamp(88px,30vw,180px);
    top:clamp(-160px,-18vw,-60px);
    width:100vw;
    left:50%;transform:translateX(-50%);
    overflow:visible;
  }
  .lame-inner{padding:clamp(120px,14vw,180px) var(--cp) 56px;}

  .cas-pad{padding-top:64px;padding-bottom:64px;gap:32px;}
  .cas-hdr{flex-direction:column;align-items:flex-start;gap:16px;}
  .cas-grid{flex-direction:column;gap:12px;}
  .cas-c1-wrap,.cas-c2-wrap,.cas-c3-wrap{flex:none;width:100%;padding-top:0;}
  .cas-c1-wrap .cas-card{aspect-ratio:9/16;max-height:none;}
  .cas-c2-wrap .cas-card{aspect-ratio:9/16;max-height:none;}
  .cas-c3-wrap .cas-card{aspect-ratio:9/16;max-height:none;}

  .cta-pad{flex-direction:column;gap:28px;padding-top:56px;padding-bottom:72px;}
  .cta-h2-frame{flex:none;width:100%;}
  .cta-h2{font-size:clamp(80px,20vw,160px);line-height:0.85;}
  .cta-right{width:100%;}
  .cta-desc{width:100%;max-width:100%;}

  .footer-pad{padding-top:48px;padding-bottom:36px;gap:24px;}
  .footer-top{flex-direction:column;gap:32px;padding-bottom:24px;}
  .footer-cols{flex-wrap:wrap;gap:20px;}
  .f-col,.f-col-travaux{width:calc(50% - 10px);}
  .footer-logo-right{width:100%;min-height:auto;align-items:flex-start;margin-top:8px;}
  .footer-logo-right img{width:100%;}
  .footer-bottom{flex-direction:row;align-items:center;justify-content:space-between;gap:0;}
}

@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ══ Image stagger reveal ════════════════════════════ */
.si, .ei, .smi, .emi {
  opacity: 0;
  transform: translateY(16px) scale(0.975);
  transition: opacity 0.6s cubic-bezier(0.16,1,0.3,1),
              transform 0.6s cubic-bezier(0.16,1,0.3,1);
}
.si.img-revealed, .ei.img-revealed,
.smi.img-revealed, .emi.img-revealed {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.si.px-live, .ei.px-live {
  transition: opacity 0.6s cubic-bezier(0.16,1,0.3,1);
  will-change: transform;
}

/* ══ 360×365 title appear ════════════════════════════ */
.lame-360{
  opacity: 0;
  transform: translateX(-50%) translateY(20px);
  transition: opacity 0.9s cubic-bezier(0.16,1,0.3,1),
              transform 0.9s cubic-bezier(0.16,1,0.3,1);
}
.lame-360.lame-visible{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
