:root{--black:#161414;--yellow:#fc0;--off:#f5f5f5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;border:25px solid var(--off);font-family:Inter,Arial,sans-serif;color:var(--black);overflow-x:hidden}h1,h2,h3{text-align:left}i,em{font-style:normal}a{color:inherit;text-decoration:none}.wrap{width:min(1600px,calc(100% - 80px));margin:auto}.site-header{height:150px;display:flex;align-items:center;justify-content:space-between}.site-header img{width:221px;height:70px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:34px;font-weight:700}.nav-services{position:relative}.service-submenu{position:absolute;z-index:50;top:calc(100% + 18px);left:50%;display:grid;width:270px;padding:14px;background:#fff;color:var(--black);border:1px solid #dedbd5;border-radius:10px;box-shadow:0 18px 45px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .18s ease,transform .18s ease,visibility .18s}.service-submenu::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}.service-submenu a{padding:9px 11px;border-radius:6px;font-size:13px}.service-submenu a:hover,.service-submenu a:focus-visible,.service-submenu a[aria-current="page"]{background:var(--yellow)}.nav-services:hover .service-submenu,.nav-services:focus-within .service-submenu{opacity:1;visibility:visible;transform:translate(-50%,0)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--black);color:white;border-radius:8px;padding:17px 28px;font-weight:700}.hamb{display:none}.hero{min-height:880px;padding-top:170px}.hero h1{font-size:clamp(76px,8.1vw,155px);line-height:.97;letter-spacing:-.065em;margin:0;font-weight:900}.hero em,.about em,.cta em{color:var(--yellow);font-style:normal}.rotating{display:inline-block;transition:opacity .22s,transform .22s}.rotating.out{opacity:0;transform:translateY(-14px)}.scroll-arrow{display:block;margin:130px auto 0;object-fit:contain}.about{background:var(--black);color:white;border-radius:25px;margin:0 auto;width:min(1749px,calc(100% - 60px));padding:120px 70px}.about-inner{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:80px}.about-inner>div{grid-column:1;grid-row:1}.portrait{grid-column:2;grid-row:1;width:100%;height:auto;transform:rotate(3.5deg)}.about h2{font-size:clamp(58px,5.2vw,100px);line-height:1.05;margin:0 0 45px;letter-spacing:-.05em}.about h2 i,.portfolio h2 i{font-weight:900}.underline{width:55%;height:auto;margin:-75px 0 70px 45%}.about p{font-size:20px;line-height:1.8;max-width:900px}.chips{display:flex;flex-wrap:wrap;gap:30px;margin-top:60px}.chips span{background:var(--off);color:var(--black);padding:17px 30px;border-radius:8px;font-weight:700}.services{padding:155px 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;position:relative}.service-media img{width:100%;height:auto;display:block}.service-copy h2{font-size:clamp(42px,3.2vw,62px);line-height:1.08;margin:0 0 30px}.service-copy p{font-size:20px;line-height:1.8}.slider-nav{position:absolute;bottom:80px;left:48%;display:flex;gap:14px;align-items:center}.slider-nav button{border:0;background:none;font-size:22px}.dots{display:flex;gap:8px}.dots button{width:11px;height:11px;border:1px solid var(--black);border-radius:50%;padding:0}.dots button.active{background:var(--black)}.portfolio{padding:60px 0 130px}.portfolio-head{display:flex;justify-content:space-between;align-items:center}.portfolio h2{font-size:54px;line-height:1.08}.portfolio-window{overflow:hidden;padding-left:max(40px,calc((100vw - 1600px)/2))}.portfolio-track{display:flex;gap:18px;width:max-content;will-change:transform;transition:transform .08s linear}.project-card{width:387px;height:447px;border-radius:25px;background:var(--black);color:white;padding:28px;display:flex;flex-direction:column;justify-content:flex-end}.project-card span{color:var(--yellow);font-size:14px}.project-card strong{font-size:28px}.cta{background:var(--yellow);border-radius:25px;min-height:284px;padding:60px 80px;display:flex;align-items:center;justify-content:space-between}.cta h2{font-size:54px;line-height:1.08;margin:0}.cta em{color:white}footer{background:var(--black);color:white;margin-top:-20px;padding:180px 0 80px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:80px}.footer-grid h2{font-size:28px}.footer-grid a{display:block;margin:13px 0}.footer-grid p{line-height:1.8}.footer-grid img{max-width:220px;height:auto}.social{display:flex;gap:12px}.social img{width:34px;height:34px}.cursor-dot{position:fixed;z-index:9999;width:13px;height:13px;border-radius:50%;background:#000;pointer-events:none;transform:translate(-50%,-50%);opacity:0}body.has-pointer,body.has-pointer a,body.has-pointer button{cursor:none}.has-pointer .cursor-dot{opacity:1}
@media(max-width:700px){body{border-width:8px}.wrap{width:calc(100% - 70px)}.site-header{height:145px;position:relative}.site-header img{width:170px;height:54px}.site-header nav,.site-header>.btn{display:none}.site-header nav.mobile-open{position:absolute;z-index:20;display:grid;gap:24px;top:115px;left:0;right:0;background:white;border:8px solid var(--off);padding:35px;font-size:24px;box-shadow:0 18px 40px rgba(0,0,0,.1)}.site-header nav.mobile-open .nav-services{display:grid;gap:12px}.site-header nav.mobile-open .service-submenu{position:static;display:grid;width:auto;padding:0 0 0 16px;border:0;border-left:2px solid var(--yellow);border-radius:0;background:transparent;color:inherit;box-shadow:none;opacity:1;visibility:visible;transform:none}.site-header nav.mobile-open .service-submenu::before{display:none}.site-header nav.mobile-open .service-submenu a{padding:5px 8px;font-size:14px}.site-header nav.mobile-open .service-submenu a:hover,.site-header nav.mobile-open .service-submenu a[aria-current="page"]{background:var(--yellow);color:var(--black)}.hamb{display:grid;gap:7px;border:0;background:none;padding:0}.hamb i{display:block;width:44px;height:7px;background:var(--black)}.hamb i:nth-child(2){width:31px;margin-left:auto;background:var(--yellow)}.hero{min-height:560px;padding-top:65px}.hero h1{font-size:55px;line-height:1.08}.scroll-arrow{margin:60px 0 0 40px}.about{width:100%;border-radius:0;padding:0 40px 70px}.about-inner{display:flex;flex-direction:column;gap:15px}.portrait{order:0;width:115%;margin-top:-38px}.about-inner>div{order:1}.about h2{font-size:55px;line-height:1.08;margin:0 0 40px}.underline{margin:-55px 0 60px;width:100%}.about p{font-size:16px;line-height:1.75}.chips{display:grid;gap:18px;margin-top:35px}.chips span{width:max-content;padding:12px 18px}.services{padding:55px 0 110px;display:flex;flex-direction:column;gap:45px}.service-copy h2{font-size:35px}.service-copy p{font-size:16px;line-height:1.75}.slider-nav{left:35px;bottom:40px}.portfolio{padding:55px 0 80px}.portfolio-head{display:block}.portfolio h2{font-size:35px}.portfolio-head .btn{margin:25px 0}.portfolio-window{padding-left:35px}.project-card{width:251px;height:289px}.cta{width:100%;border-radius:0;min-height:484px;padding:70px 40px;display:block}.cta h2{font-size:35px}.cta .btn{margin-top:40px}footer{margin:0;padding:55px 0}.footer-grid{display:block}.footer-grid>div{margin-bottom:45px}.footer-grid h2{font-size:25px}.cursor-dot{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.scroll-arrow{transform:rotate(90deg)}

/* Interactions des sections coulissantes */
.service-media img,.service-copy{transition:opacity .28s ease,transform .28s ease}.services.is-changing .service-media img,.services.is-changing .service-copy{opacity:0;transform:translateX(18px)}.services{touch-action:pan-y}.slider-nav button,.portfolio-nav button{width:46px;height:46px;border:1px solid var(--black);border-radius:50%;background:white;color:var(--black);cursor:pointer}.portfolio-actions,.portfolio-nav{display:flex;align-items:center;gap:12px}.portfolio-window{overflow:hidden;cursor:grab}.portfolio-window:active{cursor:grabbing}.portfolio-track{transition:transform .14s cubic-bezier(.22,.61,.36,1)}.project-card{flex:0 0 auto;margin-top:0;width:387px}.cta{position:relative;z-index:2;margin-bottom:-90px}footer{margin-top:0;padding-top:200px}

@media(max-width:700px){.portfolio-actions{align-items:flex-start;flex-direction:column}.portfolio-head .btn{margin:12px 0 25px}.portfolio-window{padding-right:35px}.project-card{width:251px;margin-top:0}.cta{margin-bottom:-45px;border-radius:0 0 20px 20px}footer{padding-top:100px}}
.portfolio-actions{gap:24px}.portfolio-nav,.portfolio-dots{display:flex;align-items:center;gap:14px}.portfolio-dots button.active{background:var(--black);border-color:var(--black)}
.underline{display:none}.slider-nav>.prev,.slider-nav>.next{display:none}.slider-nav{left:calc(45% + 100px);gap:0}.dots{gap:12px}.dots button,.slider-nav button{width:30px;height:30px;border:4px solid var(--black);background:white;transition:width .2s ease,background .2s ease}.dots button.active{width:100px;background:var(--black);border-radius:999px}.faq{padding:90px 0 160px;display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq h2{font-size:clamp(42px,3.7vw,70px);line-height:1.04;letter-spacing:-.045em;margin:18px 0 0}.faq h2 i{font-weight:900}.faq-list{border-top:2px solid var(--black)}.faq details{border-bottom:1px solid #bdbab5}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 0;font-size:22px;font-weight:700}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:32px;font-weight:400;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{max-width:760px;margin:-5px 60px 30px 0;font-size:17px;line-height:1.7;color:#55514e}
@media(max-width:700px){.slider-nav{left:35px}.dots button,.slider-nav button{width:24px;height:24px;border-width:3px}.dots button.active{width:76px}.faq{padding:70px 0 100px;display:block}.faq h2{font-size:35px;margin-bottom:45px}.faq summary{font-size:18px;padding:22px 0}.faq details p{font-size:15px;margin-right:30px}}
.hero{position:relative;isolation:auto;overflow:visible;background:none}.hero::before,.hero::after{content:none}.hero h1,.scroll-arrow{position:relative;z-index:1}.hero-line{display:inline-flex;align-items:baseline}.hero-fixed{flex:0 0 auto}.rotating{display:inline-block;min-width:15ch;transition:none}.rotating::after{content:"";display:inline-block;width:.055em;height:.82em;margin-left:.055em;background:var(--black);vertical-align:-.06em;animation:type-caret .8s steps(1,end) infinite}@keyframes type-caret{50%{opacity:0}}
@media(max-width:700px){.rotating{min-width:0}}

/* La vidéo occupe exactement l'ancien espace du fond animé. */
.intro-stage{position:relative;isolation:isolate;overflow:hidden;width:100%;height:calc(100vh - 50px);min-height:670px;margin:0;background:#fff}.intro-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.hero-shell{position:relative;z-index:1;height:100%;overflow:visible}.hero-shell .site-header,.hero-shell .hero{position:relative}.intro-stage .hero{height:calc(100% - 150px);min-height:0;padding-top:clamp(70px,12vh,170px)}.about-stage{position:relative;z-index:1;width:100%;margin:0;background:var(--black)}
.about-stage::before{content:none}
.about-stage::after{content:none!important}
.about{position:relative;z-index:1;isolation:isolate;overflow:hidden;width:100%;max-width:none;margin:0;border-radius:0;background:var(--black)}
.about::before,.about::after{content:none!important}
.about-inner{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){.intro-video{display:none}.rotating::after{display:none}}

@media(max-width:700px){.intro-stage{width:100%;height:calc(100svh - 16px);min-height:650px;margin:0}.intro-stage .hero{height:calc(100% - 145px);min-height:0;padding-top:clamp(35px,7vh,65px)}.about-stage{width:100%;margin:0}}

/* Navigation mobile plein écran */
@media(max-width:700px){
body.menu-open{overflow:hidden}
body.menu-open .intro-stage{z-index:2147483000!important;overflow:visible!important}
body.menu-open .hero-shell{z-index:2147483001!important;overflow:visible!important}
body.menu-open .site-header{z-index:2147483002!important}
.site-header nav.mobile-open{position:fixed!important;z-index:10000!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:100vh;display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:flex-start;gap:22px!important;margin:0!important;padding:135px 35px 45px!important;overflow-y:auto;background:var(--black)!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important;text-align:left!important}
.site-header nav.mobile-open *{text-align:left!important}
.site-header nav.mobile-open>a,.site-header nav.mobile-open .nav-services,.site-header nav.mobile-open .nav-services>a{width:100%;text-align:left!important}
.site-header nav.mobile-open>a,.site-header nav.mobile-open .nav-services>a{font-size:clamp(27px,8vw,38px);line-height:1}
.site-header nav.mobile-open a:hover,.site-header nav.mobile-open a:focus-visible{color:var(--yellow)!important}
.site-header nav.mobile-open .nav-services{display:grid!important;gap:10px!important}
.site-header nav.mobile-open .service-submenu{position:static!important;display:grid!important;width:100%!important;gap:0!important;padding:8px 0 0 16px!important;border:0!important;border-left:2px solid var(--yellow)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important;color:#fff!important;text-align:left!important}
.site-header nav.mobile-open .service-submenu::before{display:none!important}
.site-header nav.mobile-open .service-submenu a{width:100%;padding:5px 8px!important;background:none!important;color:#fff!important;font-size:14px!important;line-height:1.3;text-align:left!important}
.site-header nav.mobile-open .service-submenu a:hover,.site-header nav.mobile-open .service-submenu a:focus-visible,.site-header nav.mobile-open .service-submenu a[aria-current=page]{background:none!important;color:var(--yellow)!important}
body.menu-open .site-header>a:first-child{position:fixed!important;z-index:10002!important;top:30px;left:35px}
body.menu-open .site-header>a:first-child img{filter:brightness(0) invert(1)!important}
body.menu-open .site-header .hamb{position:fixed!important;z-index:10003!important;top:36px;right:35px;width:42px;height:42px;display:block!important}
body.menu-open .site-header .hamb i{position:absolute;top:18px;left:2px;width:38px!important;height:4px;margin:0!important;background:#fff!important;transform-origin:center;transition:transform .2s ease,opacity .2s ease}
body.menu-open .site-header .hamb i:nth-child(1){transform:rotate(45deg)}
body.menu-open .site-header .hamb i:nth-child(2){opacity:0}
body.menu-open .site-header .hamb i:nth-child(3){transform:rotate(-45deg)}
}

/* Sélection de projets — accueil */
.selected-cases{padding-top:130px;padding-bottom:155px}.selected-cases-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:65px}.selected-cases-head h2{max-width:1000px;margin:0;font-size:clamp(58px,6vw,108px);line-height:.92;letter-spacing:-.065em}.selected-cases-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;align-items:start}.selected-case-card{position:relative;display:block;overflow:hidden;background:var(--black);color:#fff;min-height:260px}.selected-case-1{grid-column:span 5;aspect-ratio:4/5}.selected-case-2{grid-column:span 7;aspect-ratio:16/10}.selected-case-3{grid-column:span 4;aspect-ratio:1}.selected-case-4{grid-column:span 5;aspect-ratio:4/5}.selected-case-5{grid-column:span 3;aspect-ratio:3/4}.selected-case-6{grid-column:span 7;aspect-ratio:16/10}.selected-case-7{grid-column:span 5;aspect-ratio:1}.selected-case-8{grid-column:span 4;aspect-ratio:4/5}.selected-case-9{grid-column:span 8;aspect-ratio:16/9}.selected-case-art{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;transition:transform .5s cubic-bezier(.22,.61,.36,1)}.selected-case-art img{width:100%;height:100%;object-fit:cover}.selected-case-art>span{font-size:clamp(70px,10vw,180px);font-weight:900;letter-spacing:-.08em}.selected-case-hover{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:38px;background:var(--yellow);color:var(--black);opacity:0;transition:opacity .28s ease}.selected-case-hover p,.selected-case-hover h3,.selected-case-hover strong,.selected-case-hover>span{margin:0}.selected-case-hover p{margin-bottom:auto;font-size:15px;font-weight:900;text-transform:uppercase}.selected-case-hover h3{max-width:88%;font-size:clamp(30px,3.4vw,64px);line-height:.94;letter-spacing:-.055em}.selected-case-hover strong{margin-top:12px;font-size:17px}.selected-case-hover>span{max-width:560px;margin-top:8px;font-size:14px;line-height:1.45}.selected-case-hover i{position:absolute;right:34px;bottom:30px;font-size:34px;font-style:normal;font-weight:900}.selected-case-card:hover .selected-case-art,.selected-case-card:focus-visible .selected-case-art{transform:scale(1.035)}.selected-case-card:hover .selected-case-hover,.selected-case-card:focus-visible .selected-case-hover{opacity:1}.selected-cases-empty{grid-column:1/-1;padding:70px;background:var(--off);font-size:20px;font-weight:700}
@media(max-width:700px){.selected-cases{width:calc(100% - 70px);padding:80px 0 95px}.selected-cases-head{display:block;margin-bottom:38px}.selected-cases-head h2{font-size:48px}.selected-cases-head .btn{margin-top:25px}.selected-cases-grid{display:block}.selected-case-card{width:100%;margin-bottom:14px;aspect-ratio:1/.88}.selected-case-hover{padding:26px;opacity:1;background:linear-gradient(transparent 18%,rgba(0,0,0,.9));color:#fff}.selected-case-hover p{color:var(--yellow);font-size:12px}.selected-case-hover h3{font-size:37px}.selected-case-hover i{right:24px;bottom:22px}.selected-cases-empty{padding:40px 25px}}
@media(prefers-reduced-motion:reduce){.selected-case-art,.selected-case-hover{transition:none}}

/* Composition typographique du hero sur mobile */
@media(max-width:700px){
.hero h1{text-align:left}
.hero-line,.hero-fixed,.rotating,.rotating-word{display:block}
.hero-line+br{display:none}
.hero h1>em{display:block}
.rotating{min-width:0;min-height:1.94em}
.rotating::after{display:none}
.rotating-word:last-child::after{content:"";display:inline-block;width:.055em;height:.82em;margin-left:.055em;background:var(--black);vertical-align:-.06em;animation:type-caret .8s steps(1,end) infinite}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.rotating-word:last-child::after{display:none}}

/* Le sous-menu Services doit toujours passer devant le hero sur ordinateur. */
@media(min-width:701px){.hero-shell .site-header{z-index:100}.hero-shell .hero{z-index:1}.hero-shell .service-submenu{z-index:110}}

/* Centre le titre dans l'espace disponible entre l'en-tête et le bloc noir. */
.intro-stage .hero{display:flex;align-items:center;padding-top:0}
@media(max-width:700px){.intro-stage .hero{padding-top:0}}

/* Navigation mobile : icône fournie et raccourcis fixes. */
.mobile-sticky{display:none}
@media(max-width:700px){
  .hamb{width:44px;height:44px;display:block;flex:0 0 44px;background:transparent url("img/hamburger.svg") center/44px 44px no-repeat}
  .hamb i{display:none}
  .about-page .hamb,.service-page .hamb,.projects-page .hamb,.project-page .hamb,.blog-page .hamb,.article-page .hamb,.form-page .hamb,.privacy-page .hamb{background-image:url("img/hamburger-light.svg")}
  body.menu-open .site-header .hamb{background-image:none}
  body.menu-open .site-header .hamb i{display:block}
  .mobile-sticky{position:fixed;z-index:9998;left:50%;bottom:max(14px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,58px);width:max-content;overflow:hidden;border:1px solid #383535;border-radius:18px;background:var(--black);box-shadow:0 14px 38px rgba(0,0,0,.28);transform:translateX(-50%)}
  .mobile-sticky a{display:grid;width:58px;height:58px;place-items:center;color:#fff;border-right:1px solid #383535}
  .mobile-sticky a:last-child{border-right:0}
  .mobile-sticky svg{width:24px;height:24px;fill:currentColor}
  .mobile-sticky .is-pending{opacity:.48}
  .mobile-sticky-quote{background:var(--yellow);color:var(--black)!important}
  footer{padding-bottom:135px}
}
