:root{--bg:#090909;--surface:#121212;--cream:#f4f1e9;--muted:#9c9c9b;--yellow:#ffc400;--border:#30302e;--mono:'DM Mono',monospace;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}::selection{background:var(--yellow);color:#090909}.mono{font:500 10px/1.6 var(--mono);letter-spacing:.1em}.noise{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.91' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.17' filter='url(%23n)'/%3E%3C/svg%3E")}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:100;background:transparent}.progress span{display:block;height:100%;width:0;background:var(--yellow)}.section-wrap{max-width:1660px;margin:auto;padding-left:clamp(22px,5.2vw,90px);padding-right:clamp(22px,5.2vw,90px)}.header{height:88px;position:absolute;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5.2vw,90px);border-bottom:1px solid #30302e}.brand{font-size:19px;font-weight:800;letter-spacing:-.08em;white-space:nowrap}.brand-dot{color:var(--yellow)}.brand-sub{font:400 9px var(--mono);letter-spacing:.02em;color:#898989;margin-left:12px}.nav{display:flex;gap:34px}.nav a{font-size:12px;font-weight:600;color:#b3b2b1;transition:color .2s}.nav a:hover{color:var(--yellow)}.nav-contact{font-size:12px;font-weight:800;border:1px solid #55544e;padding:13px 18px;transition:.2s}.nav-contact:hover{background:var(--yellow);color:#000;border-color:var(--yellow)}.nav-contact span{margin-left:13px}.mobile-toggle{display:none;background:none;border:0;color:#fff;padding:10px}.mobile-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:6px 0}.hero{min-height:800px;height:min(980px,100svh);position:relative;display:flex;flex-direction:column;justify-content:center;padding:140px clamp(22px,5.2vw,90px) 64px;overflow:hidden}.hero-glow{width:75vw;height:70vw;position:absolute;left:43%;top:0;transform:translateY(-32%);background:radial-gradient(ellipse,#7a5a081f 0%,transparent 64%);pointer-events:none}.hero-meta{display:flex;justify-content:space-between;max-width:1390px;width:100%;color:#b4b1a8;margin:0 auto 58px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--yellow);margin-right:10px;box-shadow:0 0 12px var(--yellow)}.hero h1{max-width:1390px;width:100%;margin:0 auto;font-size:clamp(60px,9.25vw,164px);line-height:.91;letter-spacing:-.098em;font-weight:800;position:relative;z-index:1}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #99958a}.hero h1>span{white-space:nowrap}.period{color:var(--yellow)}.hero-bottom{max-width:1390px;width:100%;margin:72px auto 0;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.hero-bottom p:first-child{width:330px;font-size:15px;line-height:1.8;color:#b6b3ae}.circle-link{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;border:1px solid #6f6b5d;transition:.3s}.circle-link:hover{background:var(--yellow);color:#000;transform:translateY(8px)}.circle-link span{font-size:33px}.hero-count{text-align:right;color:#aaa}.hero-count strong{font:800 52px var(--sans);color:var(--cream);letter-spacing:-.09em}.hero-outline{position:absolute;right:-3vw;bottom:-7vw;font-size:clamp(140px,27vw,500px);line-height:1;font-weight:800;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px #ffffff0a;pointer-events:none}.eyebrow{display:flex;align-items:center;gap:14px;color:var(--yellow)}.eyebrow-line{display:block;height:1px;width:28px;background:var(--yellow)}.featured-intro{padding-top:130px;padding-bottom:100px}.intro-grid,.work-heading,.about-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:15%;align-items:end}.intro-grid{margin-top:50px}.intro-grid h2,.work-heading h2,.about h2{font-size:clamp(46px,6vw,98px);line-height:1.02;letter-spacing:-.085em;font-weight:800;margin:0}.intro-grid h2 em,.work-heading h2 em,.about h2 em{color:var(--yellow);font-style:normal}.intro-grid p,.work-heading p{font-size:15px;line-height:1.95;max-width:365px;color:#aaa;margin:0 0 10px}.showcase{height:440vh;position:relative;--accent:#d6b88f}.showcase-sticky{position:sticky;top:0;height:100svh;min-height:640px;overflow:hidden;background:#141210;isolation:isolate}.showcase-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 60% 55%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 62%);opacity:.8;transition:background .6s}.showcase-sticky:after{content:"";position:absolute;pointer-events:none;inset:0;background:linear-gradient(90deg,#0005,transparent 70%)}.showcase-top,.showcase-bottom{position:absolute;z-index:5;display:flex;justify-content:space-between;align-items:center;color:#a9a29a;left:clamp(22px,5.2vw,90px);right:clamp(22px,5.2vw,90px)}.showcase-top{top:45px}.showcase-bottom{bottom:38px}.showcase-pips{display:flex;gap:7px}.showcase-pips i{height:3px;width:28px;background:#ffffff55;display:block;transition:.35s}.showcase-pips i.on{background:var(--yellow);width:45px}.showcase-stage{position:absolute;inset:0;display:grid;grid-template-columns:41% 59%;align-items:center;padding:70px clamp(22px,5.2vw,90px)}.project-copy{position:relative;z-index:4;align-self:center;transform:translateY(0);will-change:transform,opacity}.project-kicker{color:var(--yellow);margin-bottom:25px}.project-copy h3{font-size:clamp(45px,6.5vw,104px);line-height:.99;letter-spacing:-.083em;margin:0 0 23px;max-width:700px;overflow-wrap:anywhere}.project-copy p{font-size:15px;line-height:1.8;max-width:300px;color:#bcb4ac}.text-action{background:none;border:0;border-bottom:1px solid var(--yellow);color:var(--cream);padding:18px 0 10px;font:500 11px var(--mono);letter-spacing:.07em;display:inline-flex;align-items:center;gap:44px;margin-top:22px}.text-action:hover{color:var(--yellow)}.text-action span{font-size:22px}.browser-space{position:relative;perspective:1300px;height:min(65vh,600px);display:grid;place-items:center;z-index:2}.browser-shell{position:relative;width:min(880px,115%);aspect-ratio:1.55;background:#eae9e5;box-shadow:0 30px 120px #000a,0 0 0 1px #ffffff26;border-radius:12px;overflow:visible;transform-style:preserve-3d;will-change:transform,opacity}.browser-top{height:37px;border-radius:12px 12px 0 0;background:#ededed;display:flex;align-items:center;justify-content:space-between;padding:0 14px;position:relative;z-index:3;will-change:transform}.browser-dots{display:flex;gap:5px}.browser-dots i{height:7px;width:7px;border-radius:50%;background:#bebebe}.browser-dots i:first-child{background:#ff6e66}.browser-dots i:nth-child(2){background:#f7c354}.browser-dots i:nth-child(3){background:#50b96d}.browser-url{font-size:8px;color:#666;background:#dcdcdc;padding:4px 22px;border-radius:4px;text-transform:lowercase}.browser-menu{color:#777;font-size:12px}.browser-canvas{height:calc(100% - 37px);overflow:hidden;background:#fff;border-radius:0 0 12px 12px;will-change:transform;position:relative}.browser-reflection{position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#fff2,transparent 30%,#0001 80%);border-radius:inherit}.orbit{position:absolute;border:1px solid #ffffff15;border-radius:50%;pointer-events:none;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-20deg)}.orbit-one{width:120%;height:90%}.orbit-two{width:145%;height:120%}.float-label{position:absolute;z-index:4;color:#bdb5ab;font-size:9px}.label-a{right:5%;top:0}.label-b{left:7%;bottom:0}.preview{height:100%;overflow:hidden;display:flex;flex-direction:column;color:#111;position:relative;font-family:var(--sans)}.preview-head{min-height:11%;display:flex;align-items:center;justify-content:space-between;padding:0 6%;font-size:clamp(7px,.8vw,12px);font-weight:800;letter-spacing:-.03em;flex-shrink:0}.preview-head .preview-links{display:flex;gap:16px;font-size:.73em;font-weight:600;letter-spacing:0}.preview-head .preview-pill{border-radius:25px;padding:7px 12px;border:1px solid currentColor}.preview-body{height:89%;position:relative;display:flex;flex-direction:column;justify-content:center;padding:5% 8%;overflow:hidden}.preview-visual{position:absolute;border-radius:50%;z-index:1;pointer-events:none}.preview-kicker{position:relative;z-index:2;font-size:clamp(6px,.7vw,11px);letter-spacing:.26em;font-weight:700;margin-bottom:13px}.preview-title{position:relative;z-index:2;font-size:clamp(22px,4.3vw,73px);line-height:1.04;font-weight:800;letter-spacing:-.07em;max-width:67%;white-space:pre-line}.preview-cta{position:relative;z-index:2;margin-top:24px;padding:10px 15px;display:inline-block;align-self:flex-start;border:1px solid currentColor;border-radius:35px;font-size:clamp(6px,.7vw,10px);font-weight:700}.preview-accent{position:absolute;right:8%;top:50%;transform:translateY(-50%) rotate(-16deg);width:35%;aspect-ratio:.78;background:linear-gradient(130deg,#fff8,#fff0 45%),var(--preview-object,#b2a483);border-radius:44% 44% 20% 20%;box-shadow:18px 24px 35px #0002,inset -16px -6px 25px #0002;z-index:1;display:grid;place-items:center;font-size:clamp(28px,6vw,90px)}.preview-accent:before{content:"";position:absolute;top:-10%;height:20%;width:40%;background:#5f554d;border-radius:10% 10% 2% 2%}.preview-bottom{position:absolute;z-index:2;bottom:4%;left:8%;right:8%;display:flex;justify-content:space-between;font-size:clamp(5px,.55vw,9px);text-transform:uppercase;letter-spacing:.12em;border-top:1px solid currentColor;padding-top:8px;opacity:.6}.preview.vitrine .preview-accent{border-radius:7px;transform:translateY(-43%) rotate(8deg);aspect-ratio:1.12}.preview.vitrine .preview-accent:before{content:none}.preview.odoo .preview-accent{width:45%;aspect-ratio:1.3;border-radius:11px;transform:translateY(-40%) rotate(-8deg);background:linear-gradient(145deg,#fff 0%,#f5f2fb 70%);box-shadow:20px 30px 45px #0002}.preview.odoo .preview-accent:before{content:none}.mini-dash{width:85%;height:78%;display:grid;grid-template-columns:22% 1fr;gap:7%;align-items:stretch}.mini-dash aside{border-radius:5px;background:#eee5f1;padding:6px;display:flex;flex-direction:column;gap:5px}.mini-dash aside i{height:5px;background:#c6b7cd;border-radius:4px}.mini-dash aside i:first-child{background:#8c618e}.mini-dash main{display:flex;flex-direction:column;gap:8px}.mini-dash main>b{font-size:clamp(6px,.8vw,13px);color:#725179;text-align:left}.mini-bars{height:55%;display:flex;align-items:end;gap:5px}.mini-bars i{width:17%;background:#bda3c4;border-radius:3px 3px 0 0}.mini-bars i:nth-child(1){height:45%}.mini-bars i:nth-child(2){height:70%}.mini-bars i:nth-child(3){height:55%}.mini-bars i:nth-child(4){height:90%;background:#82538c}.mini-bars i:nth-child(5){height:75%}.mini-lines i{display:block;width:90%;height:5px;background:#e5d9e7;margin-top:5px}.mini-lines i:last-child{width:65%}
.work{padding-top:145px;padding-bottom:100px}.work-heading{margin:55px 0 60px}.filterbar{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:22px 0;margin-bottom:35px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filter{background:transparent;border:1px solid transparent;color:#a6a5a1;border-radius:50px;padding:11px 15px;font:500 10px var(--mono);letter-spacing:.07em;transition:.2s}.filter:hover{border-color:#555;color:#fff}.filter.active{background:var(--yellow);color:#080808;font-weight:800}.filter span{opacity:.62;margin-left:6px}.work-result{color:#898989;white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:75px 23px}.work-card{min-width:0;cursor:pointer;outline:none}.work-card:focus-visible .card-image{outline:2px solid var(--yellow);outline-offset:4px}.card-image{aspect-ratio:1.43;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center;background:var(--card-bg,#24221e)}.card-image:after{content:"";inset:0;position:absolute;pointer-events:none;background:linear-gradient(180deg,transparent 70%,#0002)}.card-image .preview{width:82%;height:73%;border-radius:7px;box-shadow:0 30px 55px #0005;transform:translateY(8%) rotate(-4deg);transition:transform .75s cubic-bezier(.2,.8,.2,1),box-shadow .7s}.card-image .preview-head{min-height:14%}.card-image .preview-body{height:86%}.card-image .preview-title{font-size:clamp(16px,2.7vw,48px)}.card-image .preview-accent{font-size:clamp(20px,4vw,60px)}.card-image .preview-head{font-size:clamp(6px,.65vw,11px)}.card-image .preview-kicker{font-size:clamp(5px,.5vw,9px)}.card-image .preview-cta{font-size:clamp(5px,.5vw,9px)}.work-card:hover .preview{transform:translateY(2%) rotate(0deg) scale(1.045);box-shadow:0 35px 65px #0006}.card-arrow{position:absolute;top:22px;right:22px;width:48px;height:48px;border-radius:50%;background:var(--yellow);color:#000;display:grid;place-items:center;font-size:22px;z-index:3;transition:transform .2s}.work-card:hover .card-arrow{transform:rotate(45deg)}.card-info{display:flex;justify-content:space-between;align-items:start;gap:12px;padding-top:21px}.card-info h3{margin:0 0 8px;font-size:clamp(21px,2vw,31px);letter-spacing:-.06em}.card-info p{font-size:12px;color:#999;margin:0}.card-number{color:#888;font-size:10px}.work-card[hidden]{display:none}.work-end{display:flex;justify-content:space-between;gap:20px;margin-top:92px;padding-top:26px;border-top:1px solid var(--border);color:#999}.work-end a{color:var(--yellow)}.about{padding-top:130px;padding-bottom:160px;border-top:1px solid var(--border)}.about-grid{margin-top:65px;align-items:center}.about-grid p{color:#aaa;line-height:1.9;font-size:16px;max-width:480px}.service-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:38px}.service-tags span{font:500 9px var(--mono);border:1px solid #444;padding:12px 15px;color:#d2d0c8}.contact{background:var(--yellow);color:#10100f;padding:95px 0 45px}.contact .eyebrow{color:#191919}.contact .eyebrow-line{background:#191919}.contact-lead{font:600 14px var(--mono);letter-spacing:.1em;margin:75px 0 12px}.contact-big{display:flex;align-items:center;justify-content:space-between;font-size:clamp(57px,12vw,200px);line-height:.95;letter-spacing:-.1em;font-weight:800;border-bottom:1px solid #171717;padding-bottom:55px;white-space:nowrap}.contact-big span{font-weight:400;font-size:.58em;transition:.2s}.contact-big:hover span{transform:translate(12px,-12px)}.contact-bottom{display:flex;justify-content:space-between;margin-top:32px;font:500 10px var(--mono);letter-spacing:.06em}.footer{height:120px;display:flex;justify-content:space-between;align-items:center;color:#777;gap:20px}.footer a:hover{color:var(--yellow)}
.modal{position:fixed;inset:0;z-index:200;display:none}.modal[aria-hidden="false"]{display:block}.modal-underlay{position:absolute;inset:0;background:#000c;backdrop-filter:blur(8px)}.modal-panel{position:absolute;right:0;top:0;bottom:0;width:min(760px,100%);background:#131313;overflow:auto;box-shadow:-25px 0 100px #0006;animation:slideIn .42s cubic-bezier(.2,.8,.2,1)}@keyframes slideIn{from{transform:translateX(30px);opacity:.5}to{transform:translateX(0);opacity:1}}.modal-close{position:sticky;float:right;z-index:9;top:23px;right:23px;background:var(--yellow);border:0;color:#111;width:47px;height:47px;font-size:18px;border-radius:50%;margin:23px 23px -70px 0}.modal-hero{padding:90px 7% 45px}.modal-hero .mono{color:var(--yellow)}.modal-hero h2{font-size:clamp(45px,6vw,86px);line-height:1;letter-spacing:-.08em;margin:28px 0}.modal-hero p{max-width:490px;font-size:16px;line-height:1.9;color:#aaa}.modal-preview{height:340px;background:var(--card-bg);display:grid;place-items:center;overflow:hidden}.modal-preview .preview{width:79%;height:77%;box-shadow:0 35px 60px #0004;transform:rotate(-3deg);border-radius:8px}.modal-preview .preview-title{font-size:clamp(22px,3vw,48px)}.modal-preview .preview-accent{font-size:65px}.modal-preview .preview-kicker{font-size:8px}.modal-preview .preview-head{font-size:8px}.modal-details{padding:50px 7% 75px}.modal-details h3{font-size:27px;letter-spacing:-.05em}.modal-details p{line-height:1.9;color:#b5b5b5}.modal-tags{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0 36px}.modal-tags span{border:1px solid #555;padding:10px 13px;font:10px var(--mono);color:#bcbcbc}.modal-link{display:inline-flex;gap:28px;background:var(--yellow);color:#090909;padding:18px 22px;font-size:12px;font-weight:800}.modal-link:hover{background:#fff}.modal-note{font-size:11px!important;color:#777!important;margin-top:18px}
@media(max-width:1050px){.brand-sub{display:none}.nav{gap:18px}.showcase-stage{grid-template-columns:43% 57%}.project-copy h3{font-size:clamp(42px,6vw,74px)}.browser-shell{width:124%}.intro-grid,.work-heading,.about-grid{gap:8%}.hero h1{font-size:clamp(64px,9.2vw,110px)}}
@media(max-width:700px){.header{height:73px}.nav{display:none;position:absolute;top:73px;left:0;right:0;background:#151515;padding:25px;flex-direction:column;gap:26px;border-bottom:1px solid #444}.nav.open{display:flex}.nav-contact{margin-left:auto;margin-right:14px;padding:10px 12px;font-size:10px}.mobile-toggle{display:block}.hero{height:auto;min-height:750px;padding-top:160px;padding-bottom:48px;justify-content:center}.hero-meta{margin-bottom:44px}.hero-meta span:last-child{display:none}.hero h1{font-size:clamp(48px,12vw,82px);line-height:.98}.hero h1>span{white-space:normal}.hero-bottom{margin-top:65px;gap:25px;flex-wrap:wrap}.hero-bottom p:first-child{font-size:13px;width:55%}.circle-link{width:64px;height:64px}.hero-count{width:100%;text-align:left;margin:15px 0 0}.hero-count strong{font-size:42px}.featured-intro{padding-top:85px;padding-bottom:55px}.intro-grid,.work-heading,.about-grid{grid-template-columns:1fr;gap:24px}.intro-grid{margin-top:32px}.intro-grid h2,.work-heading h2,.about h2{font-size:clamp(40px,10vw,75px)}.intro-grid p,.work-heading p{font-size:13px;line-height:1.8}.showcase{height:360vh}.showcase-sticky{min-height:580px}.showcase-stage{grid-template-columns:1fr;grid-template-rows:39% 61%;padding:72px 22px 75px}.project-copy{align-self:end}.project-copy h3{font-size:clamp(42px,11vw,65px);margin-bottom:11px}.project-kicker{margin-bottom:10px}.project-copy p{font-size:12px;margin:0;max-width:300px}.text-action{margin-top:8px;padding:10px 0 5px;font-size:9px}.browser-space{height:100%;width:100%}.browser-shell{width:93%;aspect-ratio:1.55}.browser-top{height:24px;padding:0 8px}.browser-dots i{width:5px;height:5px}.browser-url{font-size:6px;padding:3px 9px}.browser-canvas{height:calc(100% - 24px)}.preview-title{font-size:clamp(22px,7vw,48px)}.preview-head{font-size:7px}.preview-kicker{font-size:7px}.preview-cta{font-size:7px}.preview-accent{font-size:38px}.showcase-top{top:22px}.showcase-bottom{bottom:20px}.showcase-bottom>span:last-child{display:none}.showcase-pips i{width:18px}.showcase-pips i.on{width:30px}.label-a,.label-b{display:none}.work{padding-top:92px;padding-bottom:75px}.work-heading{margin:35px 0}.filterbar{align-items:start;flex-direction:column}.filter{font-size:9px;padding:10px 12px}.project-grid{gap:42px 15px}.card-image{aspect-ratio:1.0}.card-image .preview{width:92%;height:61%;transform:rotate(-4deg)}.card-image .preview-head{font-size:5px}.card-image .preview-title{font-size:clamp(13px,4vw,25px)}.card-image .preview-kicker{font-size:5px}.card-image .preview-cta{padding:4px 6px;margin-top:10px;font-size:5px}.card-image .preview-accent{font-size:28px}.card-image .preview-links{display:none}.card-arrow{width:32px;height:32px;font-size:16px;right:9px;top:9px}.card-info h3{font-size:17px}.card-info p{font-size:10px}.work-end{margin-top:60px;flex-direction:column}.about{padding-top:90px;padding-bottom:100px}.about-grid{margin-top:35px}.contact{padding-top:70px}.contact-lead{margin-top:65px;font-size:11px}.contact-big{font-size:clamp(49px,12vw,100px);padding-bottom:38px}.contact-bottom{gap:20px;font-size:9px}.footer{height:auto;padding-top:40px;padding-bottom:40px;font-size:9px;flex-direction:column;align-items:start}.modal-preview{height:250px}.modal-hero{padding-top:85px}}
@media(max-width:430px){.project-grid{grid-template-columns:1fr}.card-image{aspect-ratio:1.45}.card-image .preview{width:85%;height:72%}.card-image .preview-title{font-size:32px}.card-image .preview-head{font-size:7px}.card-image .preview-kicker{font-size:7px}.card-info h3{font-size:21px}.hero h1{font-size:clamp(45px,11.6vw,65px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.showcase{height:auto}.showcase-sticky{position:relative;height:710px}.orbit{display:none}}


/* -----------------------------------------------------------
   MOTION TYPOGRAPHY HERO — animation native, sans librairie
   ----------------------------------------------------------- */
.hero-motion{isolation:isolate;min-height:780px;padding-bottom:115px;--hero-scroll:0;--hero-mouse-x:0;--hero-mouse-y:0}
.hero-motion-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:clamp(64px,8vw,138px) clamp(64px,8vw,138px);mask-image:linear-gradient(to bottom,transparent,#0009 35%,transparent 96%);transform:translate3d(calc(var(--hero-mouse-x)*-8px),calc(var(--hero-scroll)*-30px),0)}
.hero-ambient{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
.hero-ambient span{position:absolute;font:600 clamp(32px,8vw,130px)/1 var(--sans);letter-spacing:-.08em;color:#fff;opacity:.025;white-space:nowrap}
.hero-ambient span:nth-child(1){top:21%;right:-5%;transform:rotate(-90deg)}.hero-ambient span:nth-child(2){bottom:6%;left:2%;transform:translateX(calc(var(--hero-scroll)*-120px))}.hero-ambient span:nth-child(3){font-size:22px;top:39%;left:47%;transform:rotate(-16deg)}
.hero-motion .hero-meta{margin-bottom:clamp(30px,4vh,55px);position:relative;z-index:2}
.meta-reveal{opacity:0;transform:translateY(12px);animation:heroMetaIn .7s ease-out .12s both}
.meta-reveal:last-child{animation-delay:.4s}
.hero-heading-frame{max-width:1390px;width:100%;margin:0 auto;position:relative;z-index:2}
.hero-topnote{display:block;color:var(--yellow);margin-bottom:14px;opacity:0;animation:heroMetaIn .7s ease-out .35s both}
.hero-motion h1{margin:0;width:100%;font-size:clamp(56px,9.25vw,164px);letter-spacing:-.105em;line-height:.94;max-width:none}
.motion-line{display:block;white-space:nowrap;overflow:hidden;padding:0 .09em .1em .025em;margin:-.015em -.09em -.095em -.025em;will-change:transform;transform:translate3d(calc(var(--hero-scroll) * var(--slide-x, 0px)),0,0)}
.motion-line-1{--slide-x:-170px}.motion-line-2{--slide-x:200px}.motion-line-3{--slide-x:-120px}
.motion-inner{display:inline-block;transform:translate3d(0,125%,0) rotate(4deg);opacity:0;animation:heroLineIn 1.05s cubic-bezier(.16,1,.3,1) .38s forwards;will-change:transform,opacity}
.motion-line-2 .motion-inner{animation-delay:.55s}.motion-line-3 .motion-inner{animation-delay:.74s}
.motion-word{display:inline-block;position:relative;transition:color .35s}
.motion-word:hover{color:var(--yellow)}
.hero-motion h1 .stroke-word{font-style:normal;color:transparent;-webkit-text-stroke:1.5px #eee9dd;transition:-webkit-text-stroke .3s,color .3s}
.hero-motion h1 .stroke-word:hover{color:var(--yellow);-webkit-text-stroke:1.5px var(--yellow)}
.motion-mark{display:inline-block;font-size:.35em;vertical-align:top;color:var(--yellow);margin-left:.22em;transform-origin:center;animation:markSpin 9s linear infinite}
.hero-stamp{position:absolute;right:0;top:3%;color:#8c8a80;border:1px solid #46453b;padding:14px 18px;line-height:1.7;transform:rotate(9deg);opacity:0;animation:heroMetaIn .7s ease-out 1.25s both;pointer-events:none}
.hero-stamp span{color:var(--yellow)}
.hero-kinetic{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:clamp(10px,1.13vw,15px);letter-spacing:.08em;opacity:0;animation:heroMetaIn .7s ease-out 1.2s both}
.kinetic-label{color:#a29d92}.kinetic-window{height:1.65em;overflow:hidden;position:relative;color:var(--yellow);font-weight:700}.kinetic-stack{display:flex;flex-direction:column;animation:kineticSwap 8s cubic-bezier(.68,.02,.25,1) 2.3s infinite}.kinetic-stack span{height:1.65em;line-height:1.65em;white-space:nowrap}
.hero-motion .hero-bottom{margin-top:clamp(35px,5vh,70px);opacity:0;animation:heroMetaIn .85s ease-out 1.05s both}
.hero-bottom-copy strong{color:var(--cream);font-weight:700}
.hero-motion .circle-link{position:relative;overflow:hidden}.hero-motion .circle-link:after{content:'';position:absolute;inset:8px;border:1px solid #776c4c;border-radius:50%;animation:heroPulse 2.6s ease-in-out infinite;pointer-events:none}
.hero-ticker{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #302d23;border-bottom:1px solid #302d23;height:55px;display:flex;align-items:center;overflow:hidden;background:#11100c;transform:translateY(100%);animation:tickerReveal .7s ease-out 1.45s forwards}
.hero-ticker-track{display:flex;width:max-content;animation:tickerFlow 40s linear infinite;white-space:nowrap;will-change:transform}
.hero-ticker-track>span{display:inline-block;font:700 12px/1 var(--mono);letter-spacing:.13em;padding-right:30px}
.hero-ticker b{font-size:20px;color:var(--yellow);padding:0 25px;vertical-align:-2px}
.hero-motion .hero-glow{transform:translate3d(calc(var(--hero-mouse-x)*30px),calc(-32% + var(--hero-mouse-y)*22px),0);transition:transform .3s ease-out}
@keyframes heroLineIn{0%{transform:translate3d(0,125%,0) rotate(4deg);opacity:0}100%{transform:translate3d(0,0,0) rotate(0);opacity:1}}
@keyframes heroMetaIn{to{opacity:1;transform:translateY(0)}}
@keyframes kineticSwap{0%,18%{transform:translateY(0)}25%,43%{transform:translateY(-1.65em)}50%,68%{transform:translateY(-3.3em)}75%,93%{transform:translateY(-4.95em)}100%{transform:translateY(-4.95em)}}
@keyframes tickerReveal{to{transform:translateY(0)}}
@keyframes tickerFlow{to{transform:translateX(-50%)}}
@keyframes markSpin{to{transform:rotate(360deg)}}
@keyframes heroPulse{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:.12;transform:scale(1.22)}}
@media(max-width:1050px){.hero-stamp{right:1%;top:-4%;font-size:8px}.hero-motion h1{font-size:clamp(54px,9.2vw,110px)}}
@media(max-width:700px){.hero-motion{height:auto;min-height:740px;padding-top:145px;padding-bottom:112px}.hero-motion h1{font-size:clamp(47px,11.65vw,82px)}.hero-motion .hero-meta{margin-bottom:50px}.hero-stamp{display:none}.hero-kinetic{margin-top:20px}.hero-ticker{height:44px}.hero-ticker-track>span{font-size:10px}.motion-mark{margin-left:.08em}.hero-motion .hero-bottom{margin-top:45px}}
@media(max-width:430px){.hero-motion{min-height:690px}.hero-motion h1{font-size:clamp(42px,11.35vw,62px)}.hero-motion .hero-bottom{gap:12px}.hero-motion .hero-bottom-copy{width:65%;font-size:12px}.hero-motion .circle-link{width:58px;height:58px}.hero-topnote{font-size:8px}.hero-kinetic{font-size:10px;gap:6px}}
@media(prefers-reduced-motion:reduce){.motion-inner,.meta-reveal,.hero-topnote,.hero-stamp,.hero-kinetic,.hero-motion .hero-bottom{opacity:1;transform:none;animation:none}.hero-ticker{transform:none;animation:none}.hero-ticker-track,.kinetic-stack,.motion-mark{animation:none}.hero-motion .circle-link:after{animation:none}.motion-line{transform:none!important}}


/* ==================== V3 — SHARED MOTION + CRO ==================== */
:root{--ease-out:cubic-bezier(.16,1,.3,1)}
.skip-link{position:fixed;top:-70px;left:18px;z-index:200;padding:10px;background:var(--yellow);color:#111}.skip-link:focus{top:10px}
[data-reveal]{opacity:0;transform:translate3d(0,42px,0);transition:opacity .8s var(--ease-out),transform .85s var(--ease-out)}[data-reveal].in-view{opacity:1;transform:translate3d(0,0,0)}
[data-split] .text-clip{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.13em;margin-bottom:-.13em}[data-split] .text-word{display:inline-block;transform:translate3d(0,125%,0) rotate(4deg);transition:transform 1s var(--ease-out);transition-delay:calc(var(--wi,0) * 65ms)}[data-split].in-view .text-word{transform:translate3d(0,0,0) rotate(0deg)}
.floating-contact{position:fixed;right:25px;bottom:23px;z-index:48;background:var(--yellow);color:#101010;border-radius:99px;padding:16px 20px;font:800 11px var(--sans);letter-spacing:.04em;box-shadow:0 12px 35px #0009;display:flex;align-items:center;gap:12px;transition:transform .3s,background .3s}.floating-contact:hover{transform:translateY(-5px);background:#ffe173}.floating-contact>span:last-child{font-size:17px}.floating-pulse{width:7px;height:7px;border-radius:50%;background:#111;box-shadow:0 0 0 4px #0002;animation:floatBeat 2s ease infinite}@keyframes floatBeat{50%{box-shadow:0 0 0 9px #0000}}
.proof-section{padding:130px 0 125px;position:relative;overflow:hidden;border-top:1px solid #222;background:#13130f}.proof-section:before{content:'PROOF';position:absolute;font:800 clamp(180px,31vw,500px)/1 var(--sans);letter-spacing:-.1em;color:#ffffff05;bottom:-.25em;right:-.05em;pointer-events:none}.proof-inner{position:relative}.proof-title-row,.services-title-row,.method-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:end;margin:50px 0 70px}.proof-title-row h2,.services-title-row h2,.method-heading h2,.faq-layout h2{font-size:clamp(45px,6.5vw,104px);line-height:1.02;letter-spacing:-.09em;margin:0;font-weight:800}.proof-title-row h2 em,.services-title-row h2 em,.method-heading h2 em,.faq-layout h2 em{font-style:normal;color:var(--yellow)}.proof-title-row p,.services-title-row p,.method-heading p{font-size:15px;line-height:1.9;color:#aaa;max-width:400px}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #4b493e;border-bottom:1px solid #4b493e}.proof-card{padding:38px clamp(20px,3vw,46px) 29px;min-height:320px;display:flex;flex-direction:column;border-right:1px solid #4b493e;position:relative;transition:background .35s}.proof-card:first-child{padding-left:0}.proof-card:last-child{border-right:0}.proof-card:hover{background:#29271c}.proof-card-highlight{background:#ffc400;color:#111;padding-left:32px}.proof-card-highlight:hover{background:#ffdb50}.proof-index{opacity:.7}.proof-stat{font:800 clamp(68px,8vw,128px)/1 var(--sans);letter-spacing:-.09em;margin-top:23px;font-variant-numeric:tabular-nums}.proof-stat small{font-size:clamp(18px,2vw,35px);letter-spacing:-.04em}.proof-card p{font-size:13px;line-height:1.75;max-width:250px;margin:16px 0 35px}.proof-footer{display:inline-block;margin-top:auto;font-size:9px;text-decoration:underline;text-decoration-color:#777;text-underline-offset:6px}.proof-disclaimer{font-size:9px;color:#777;margin-top:22px}
.services-section{padding-top:150px;padding-bottom:150px}.services-stack{border-top:1px solid #333}.service-item{display:grid;grid-template-columns:70px minmax(0,1fr) 150px;gap:20px;align-items:center;padding:32px 12px;border-bottom:1px solid #333;position:relative;isolation:isolate;overflow:hidden;transition:padding .35s}.service-item:before{content:'';position:absolute;inset:0;background:var(--yellow);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease-out);z-index:-1}.service-item:hover:before,.service-item:focus-visible:before{transform:scaleY(1)}.service-item:hover,.service-item:focus-visible{color:#000;padding-left:27px}.service-no{color:#999}.service-item:hover .service-no,.service-item:hover .service-info small{color:#232323}.service-info{display:flex;flex-direction:column;gap:12px}.service-info strong{font-size:clamp(22px,4vw,61px);line-height:1;letter-spacing:-.07em}.service-info small{font-size:12px;font-weight:500;color:#929292;letter-spacing:0}.service-star{font-size:.42em;color:var(--yellow);vertical-align:top;margin-left:12px;display:inline-block;transition:transform .5s}.service-item:hover .service-star{color:#000;transform:rotate(180deg)}.service-cta{font:600 10px var(--mono);justify-self:end}.service-cta span{font-size:23px;vertical-align:middle;padding-left:10px}
.method-section{padding:140px 0;background:#eae6db;color:#161616;overflow:hidden}.method-section .eyebrow{color:#6b5400}.method-section .eyebrow-line{background:#6b5400}.method-heading h2 em{color:#79631d}.method-heading p{color:#57554e}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.method-card{background:#dcd8ce;padding:36px;min-height:330px;display:flex;flex-direction:column;transition:transform .4s,background .4s}.method-card:hover{background:#ffd95a;transform:translateY(-10px)}.method-card .mono{font-size:10px}.method-icon{font-size:62px;line-height:1;margin:40px 0 25px}.method-card h3{font-size:23px;letter-spacing:-.05em;margin:0 0 10px}.method-card p{font-size:13px;line-height:1.8;color:#555;max-width:330px;margin:0}.method-card:hover p{color:#282828}
.faq-section{padding-top:160px;padding-bottom:160px}.faq-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:55px}.faq-layout h2{font-size:clamp(43px,5vw,77px)}.faq-items{border-top:1px solid #3d3d3d}.faq-items details{border-bottom:1px solid #3d3d3d}.faq-items summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 0;font-weight:700;font-size:14px;line-height:1.5}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{width:30px;height:30px;border:1px solid #525252;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;font-size:22px;transition:transform .3s,background .3s}.faq-items details[open] summary span{transform:rotate(45deg);background:var(--yellow);color:#000}.faq-items details p{max-width:500px;color:#aaa;line-height:1.9;margin:0 0 28px;font-size:13px}
.contact-motion{padding-top:145px;background:#ffc400;color:#101010;overflow:hidden}.contact-motion .eyebrow{color:#222}.contact-motion .eyebrow-line{background:#222}.contact-kinetic{padding-top:60px}.contact-motion .contact-lead{margin:0 0 25px;font-size:12px;font-family:var(--mono)}.contact-headline{font-size:clamp(64px,12vw,198px);line-height:.88;letter-spacing:-.11em;font-weight:800;margin:0;max-width:1500px}.contact-headline em{color:transparent;-webkit-text-stroke:2px #101010;font-style:normal}.contact-desc{max-width:550px;line-height:1.85;font-size:15px;margin:44px 0 65px}.brief-form{background:#11110f;color:#eee;padding:clamp(25px,4vw,65px);max-width:1050px;margin:0 0 65px;box-shadow:20px 30px 0 #11111112}.form-heading{display:flex;justify-content:space-between;gap:15px;padding-bottom:27px;border-bottom:1px solid #454545;color:#ffc400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:29px;margin:36px 0}.brief-form label{display:flex;flex-direction:column;gap:12px;font-size:12px;font-weight:700}.brief-form label>span{color:#ffc400}.brief-form .optional{color:#999}.brief-form input,.brief-form textarea,.brief-form select{font:500 14px var(--sans);width:100%;background:#20201e;color:#fff;border:1px solid #555;border-radius:0;padding:17px;min-height:53px;outline:none;transition:border-color .2s}.brief-form textarea{resize:vertical;min-height:120px}.brief-form input:focus,.brief-form select:focus,.brief-form textarea:focus{border-color:var(--yellow)}.brief-form input::placeholder,.brief-form textarea::placeholder{color:#888}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:32px}.form-footer p{color:#aaa;max-width:340px;font-size:12px;line-height:1.8}.form-footer button{background:#ffc400;color:#111;border:0;padding:19px 22px;font-weight:800;font-size:12px;white-space:nowrap;transition:transform .25s}.form-footer button:hover{transform:translateY(-4px);background:#ffe274}.form-footer button span{margin-left:20px}.form-status{font-size:13px;line-height:1.6;min-height:0;margin:12px 0 0;color:#ffe384}.contact-alternative{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 0;border-top:1px solid #1116}.contact-alternative a{font-weight:800;font-size:14px;text-decoration:underline;text-underline-offset:6px}.contact-motion .contact-bottom{border-color:#1117;color:#111}.contact-motion .contact-bottom span{color:#111}.contact-motion .contact-bottom{padding-bottom:32px}.contact-motion a:hover{opacity:.75}
@media(max-width:1000px){.proof-title-row,.services-title-row,.method-heading{gap:4%}.service-info strong{font-size:clamp(25px,4vw,44px)}.proof-card{min-height:300px}}
@media(max-width:750px){.proof-section,.services-section,.faq-section{padding-top:95px;padding-bottom:95px}.proof-title-row,.services-title-row,.method-heading,.faq-layout{grid-template-columns:1fr;gap:22px;margin:30px 0 45px}.proof-grid{grid-template-columns:1fr}.proof-card,.proof-card:first-child{padding:26px 20px;min-height:240px;border-right:0;border-bottom:1px solid #444}.proof-card-highlight{padding:26px 20px}.proof-stat{margin-top:14px}.proof-card p{margin:10px 0 20px}.service-item{grid-template-columns:30px 1fr;gap:12px;padding:22px 0}.service-info strong{font-size:clamp(24px,7vw,48px)}.service-info small{font-size:11px}.service-cta{grid-column:2;justify-self:start;font-size:9px}.method-section{padding:95px 0}.method-grid{grid-template-columns:1fr}.method-card{min-height:220px}.method-icon{margin:20px 0;font-size:42px}.faq-layout h2{font-size:clamp(45px,9vw,75px)}.contact-motion{padding-top:95px}.contact-kinetic{padding-top:35px}.contact-headline{font-size:clamp(55px,12vw,100px)}.contact-desc{font-size:13px;margin:32px 0 45px}.form-grid{grid-template-columns:1fr;gap:20px}.form-footer{flex-direction:column;align-items:stretch}.form-footer button{width:100%}.floating-contact{bottom:12px;right:12px;padding:13px 15px;font-size:10px}.contact-alternative{flex-direction:column;align-items:flex-start}.proof-disclaimer{font-size:8px}}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}[data-split] .text-word{transform:none!important;transition:none!important}.floating-pulse{animation:none}.service-item,.method-card{transition:none}}

/* ===========================================================
   V4 / IMMERSIVE JOURNEY + UNIFIED MOTION TYPOGRAPHY
   =========================================================== */
.type-display,
.work-heading .type-display,
.proof-title-row .type-display,
.services-title-row .type-display,
.method-heading .type-display,
.faq-layout .type-display,
.contact-motion .type-display {
  font-family:var(--sans);font-weight:800;letter-spacing:-.095em;
  line-height:.93;text-transform:uppercase;
  font-size:clamp(55px,8vw,132px);font-kerning:normal;
}
.type-display em{font-weight:800;font-style:normal;letter-spacing:-.095em;}
/* Mêmes codes typographiques que THE DIGITAL : remplissage + contour */
.work-heading .type-display em,.services-title-row .type-display em,
.method-heading .type-display em,.faq-layout .type-display em,
.proof-title-row .type-display em {
  color:transparent;-webkit-text-stroke:1.6px var(--cream);
}
.contact-motion .type-display em{color:transparent;-webkit-text-stroke:2px #111;}
.type-display .text-clip{display:inline-flex;overflow:hidden;vertical-align:bottom;padding-bottom:.18em;margin-bottom:-.18em;}
.type-display .text-word{display:inline-block;transform-origin:bottom left;transition-duration:1.2s;transition-timing-function:cubic-bezier(.16,1,.3,1);}
.type-display .text-clip:nth-of-type(even) .text-word{transition-delay:calc(var(--wi,0) * 65ms + 40ms);}
.type-display.in-view .text-word:hover{transform:translateY(-.055em) rotate(-2deg);color:var(--yellow);-webkit-text-stroke:0 transparent;transition-duration:.25s;}
.contact-motion .type-display.in-view .text-word:hover{color:#f9f6ec;}
.journey-intro{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:18px;color:#c5c2b7;font-size:10px;letter-spacing:.075em;}
.journey-intro-right{margin-left:auto;color:#81817c;}
.journey-pulse,.journey-live{display:inline-block;width:7px;height:7px;border-radius:100%;background:#ffc400;box-shadow:0 0 0 4px #ffc40020;animation:journeyBlink 1.7s ease-in-out infinite;flex-shrink:0;}
@keyframes journeyBlink{50%{opacity:.2;box-shadow:0 0 0 10px #ffc40000}}
.card-image{isolation:isolate;perspective:1200px;aspect-ratio:1.3;background:var(--card-bg,#1b1b19);}
.card-image .journey{position:absolute;inset:0;overflow:hidden;background:var(--journey-bg);transform:scale(.92) rotate(-2deg);border-radius:10px;box-shadow:0 23px 50px #0008;transition:transform .9s cubic-bezier(.16,1,.3,1),border-radius .9s;will-change:transform;}
.work-card:is(:hover,:focus-visible) .card-image .journey{transform:scale(1) rotate(0deg) rotateY(var(--travel-tilt,0deg));border-radius:0;}
.card-image .journey-browser{position:absolute;left:4%;right:4%;top:7%;bottom:7%;background:var(--journey-bg);box-shadow:0 10px 40px #0005;overflow:hidden;border-radius:8px;transform:scale(1);transition:transform .75s cubic-bezier(.16,1,.3,1);}
.work-card:is(:hover,:focus-visible) .journey-browser{transform:scale(1.06);}
.journey-chrome{height:26px;background:#f9f8f3;display:flex;align-items:center;justify-content:space-between;padding:0 11px;color:#666;font-family:var(--mono);font-size:8px;position:relative;z-index:2;border-bottom:1px solid #ddd;}
.journey-dots{display:flex;gap:4px}.journey-dots i{height:5px;width:5px;border-radius:50%;background:#c1bdb7;}
.journey-dots i:first-child{background:#f18a80}.journey-dots i:nth-child(2){background:#e3ba64}.journey-dots i:last-child{background:#9fce8a}
.journey-viewport{height:calc(100% - 26px);overflow:hidden;background:var(--journey-bg);}
.journey-page{height:auto;will-change:transform;transform:translateY(calc(var(--travel-progress,0) * -75%));transition:transform .18s linear;}
.journey-nav{height:34px;display:flex;justify-content:space-between;align-items:center;padding:0 6%;font-size:9px;background:var(--journey-bg);color:var(--journey-ink);}
.journey-nav b{font-size:9px;letter-spacing:-.035em}.journey-nav span{font-size:7px;letter-spacing:.1em;}
.journey-screen{min-height:260px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px 8%;background:var(--journey-bg);color:var(--journey-ink);}
.journey-subtitle{font-size:8px;letter-spacing:.13em;z-index:1}
.journey-screen strong{font-size:clamp(20px,3.8vw,57px);font-weight:800;letter-spacing:-.075em;line-height:.95;position:relative;z-index:1;margin:20px 0 24px;max-width:78%;}
.journey-object{position:absolute;right:-8%;top:9%;width:48%;aspect-ratio:1;border-radius:38% 62% 52% 48%;background:var(--journey-object);display:grid;place-items:center;font-size:110px;color:#ffffff54;transform:rotate(23deg);box-shadow:inset 15px -25px 50px #0002;}
.journey-button{display:inline-block;background:var(--journey-ink);color:var(--journey-bg);padding:9px 13px;font-size:7px;letter-spacing:.03em;z-index:1;}
.journey-section{min-height:260px;padding:25px 8%;color:var(--journey-ink);position:relative;overflow:hidden;}
.journey-section .mono{font-size:8px;letter-spacing:.1em}.journey-section h4{font-size:clamp(25px,4vw,52px);line-height:.98;letter-spacing:-.085em;margin:32px 0 22px;font-weight:800}
.journey-section-2{background:#fff9}.journey-features{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.journey-features i{height:95px;background:var(--journey-accent);border-radius:30px 30px 2px 2px;opacity:.75}.journey-features i:nth-child(2){border-radius:2px 50px 2px 2px;transform:translateY(18px);opacity:.5}
.journey-section-3{background:var(--journey-accent);}.journey-tiles{display:flex;gap:10px;margin-top:18px}.journey-tiles i{display:block;flex:1;height:105px;background:var(--journey-ink);opacity:.15;border-radius:50% 50% 5px 5px}.journey-tiles i:nth-child(2){transform:translateY(16px)}
.journey-section-4{min-height:220px;background:var(--journey-ink);color:var(--journey-bg)}.journey-section-4 .journey-button{background:var(--journey-bg);color:var(--journey-ink)}
.journey-media{position:absolute;inset:0;background-position:center;background-size:cover;z-index:1;pointer-events:none;}
.journey-media:not(:has(video)){display:none}
.journey-video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s;}
.work-card.is-journey-active .journey-video:not([hidden]){opacity:1}
.work-card.is-journey-active:has(.journey-video:not([hidden])) .journey-browser{opacity:0}
.journey-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:15px;color:#fff;background:linear-gradient(180deg,#0008,transparent 20%,transparent 75%,#0009)}
.journey-label,.journey-hint{align-self:flex-start;font-size:9px;letter-spacing:.09em;background:#111c;padding:8px 10px;display:flex;align-items:center;gap:9px;backdrop-filter:blur(12px)}
.journey-hint{margin-top:auto;align-self:flex-end;transition:opacity .3s}.work-card.is-journey-active .journey-hint{opacity:0}
.journey-progress{display:block;width:100%;height:2px;background:#ffffff70;margin-top:12px;position:relative;overflow:hidden}.journey-progress i{display:block;width:100%;height:100%;background:#ffc400;transform-origin:left;transform:scaleX(var(--travel-progress,0));}
.journey-steps{display:flex;justify-content:space-between;font-size:8px;color:#e4e3da;margin-top:7px;}
.work-card.is-journey-active .journey-label{background:#ffc400;color:#111}.work-card.is-journey-active .journey-live{background:#111;box-shadow:0 0 0 4px #0002}
.work-card .card-arrow{z-index:5;pointer-events:none;}
.card-cta-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #333;margin-top:13px;padding-top:12px;font-size:10px;color:#999;transition:color .25s}
.work-card:hover .card-cta-row,.work-card:focus-visible .card-cta-row{color:#ffc400}
.work-card[hidden]{display:none!important}
@media(max-width:900px){.journey-intro-right{display:none}.card-image{aspect-ratio:1.25}.journey-page{transform:none}.card-image .journey{transform:scale(.97)}.journey-browser{transform:none!important}.journey-screen strong{font-size:clamp(24px,5vw,42px)}.type-display{font-size:clamp(48px,9vw,85px)!important}}
@media(max-width:600px){.type-display{font-size:clamp(42px,10vw,70px)!important;letter-spacing:-.08em!important}.type-display em{letter-spacing:-.08em!important}.journey-browser{left:4%;right:4%;top:7%;bottom:7%}.journey-screen strong{font-size:34px}.journey-section{min-height:215px}.journey-screen{min-height:215px}.card-image{aspect-ratio:1.4}}
@media(prefers-reduced-motion:reduce){.journey-live,.journey-pulse{animation:none}.journey-page{transform:none!important}.card-image .journey{transform:none!important;transition:none!important}.type-display .text-word{transform:none!important}}


/* ========================================================
   V5 — SCROLL-DRIVEN TYPOGRAPHY / BLANC -> JAUNE
   Les mots importants se remplissent de gauche à droite,
   progressivement selon la position de la section.
   ======================================================== */
.type-display em .text-word {
  --ink-progress: 0%;
  --ink-color: #ffc400;
  background-image: linear-gradient(to right, var(--ink-color) 0 var(--ink-progress), transparent var(--ink-progress) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  will-change: background-image;
}
/* Conserver les contours lorsque le remplissage n'est pas encore visible. */
.type-display em .text-word { -webkit-text-stroke: 1.6px var(--cream); }
.method-section .type-display em .text-word { --ink-color:#927000; -webkit-text-stroke: 1.6px #25231c; }
.contact-motion .type-display em .text-word { --ink-color:#fffaf0; -webkit-text-stroke: 1.6px #111; }
/* L'interaction au survol reste utilisable : mouvement + couleur pleine. */
.type-display.in-view em .text-word:hover {
  background-image:none;
  -webkit-text-fill-color:var(--ink-color);
  -webkit-text-stroke:0 transparent;
}
/* Le hero aussi prend une touche jaune au scroll (DIGITAL). */
.hero-motion .motion-word.stroke-word {
  --hero-ink-progress:0%;
  background-image:linear-gradient(90deg,#ffc400 0 var(--hero-ink-progress),transparent var(--hero-ink-progress) 100%);
  background-clip:text;-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
@media(prefers-reduced-motion:reduce){
  .type-display em .text-word { --ink-progress:100%!important; transition:none!important; }
  .hero-motion .motion-word.stroke-word { --hero-ink-progress:100%!important; }
}

/* V6 — multilingual navigation / conversion WhatsApp */
.header-actions{display:flex;gap:20px;align-items:center}.language-picker{display:flex;gap:7px;align-items:center;border:1px solid #44433f;border-radius:100px;padding:7px 11px;background:#111a}.language-picker button{border:0;background:transparent;color:#888;padding:3px 5px;font:700 11px var(--mono);letter-spacing:.07em}.language-picker button.lang-active{color:var(--yellow)}.language-picker>span{color:#494842;font-size:10px}
.wa-panel{border:1px solid #48453b;background:linear-gradient(130deg,#151510,#0c0c0b);padding:clamp(22px,4.5vw,64px);margin-top:55px;position:relative;overflow:hidden}.wa-panel:before{content:"";position:absolute;width:380px;height:380px;right:-190px;top:-230px;background:radial-gradient(circle,#ffc40026,transparent 70%);pointer-events:none}.wa-panel-top,.wa-preview-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--yellow);font-size:10px}.wa-indicator{display:flex;align-items:center;gap:8px;color:#aaa}.wa-online{height:7px;width:7px;background:#25d366;border-radius:50%;display:inline-block;box-shadow:0 0 14px #25d36655}.wa-panel-heading{font-weight:800;font-size:clamp(26px,4vw,62px);letter-spacing:-.07em;line-height:1.03;margin:40px 0 15px}.wa-panel-description{max-width:660px;color:#aaa;font-size:14px;line-height:1.9}.wa-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0}.wa-choice{display:flex;align-items:center;flex-direction:column;gap:18px;text-align:left;min-height:132px;justify-content:space-between;border:1px solid #44423c;background:#181816;padding:20px;color:#eee;transition:background .25s,border-color .25s,transform .25s}.wa-choice span:last-child{font-size:12px;line-height:1.45;font-weight:800;align-self:flex-start}.wa-choice-icon{align-self:flex-end;color:#777;font-size:20px}.wa-choice:hover{transform:translateY(-3px);border-color:var(--yellow)}.wa-choice.is-selected{background:var(--yellow);color:#0b0b0b;border-color:var(--yellow)}.wa-choice.is-selected .wa-choice-icon{color:#111}.wa-message-preview{background:#181916;border:1px solid #343a2e;padding:22px;margin:20px 0 24px}.wa-message-preview p{white-space:pre-line;font-size:13px;line-height:1.7;color:#d4d6ce;margin:12px 0 0;max-width:780px}.wa-action{background:#25d366;color:#061a0f;border:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:23px 25px;font-size:clamp(12px,1.6vw,18px);font-weight:800;letter-spacing:-.02em;transition:filter .2s,transform .2s}.wa-action:hover{filter:brightness(1.13);transform:translateY(-2px)}.wa-action-icon{font-size:25px}.wa-micro{font-size:11px;color:#999;margin:15px 0 0;line-height:1.8}.wa-error{color:#ffb278;font-size:13px;min-height:1em}.modal-brief-link{font-family:inherit;text-align:left;cursor:pointer;width:auto}.nav a,.work-card,.service-item{cursor:pointer}
@media(max-width:980px){.header-actions{gap:8px}.language-picker{padding:5px 7px}.wa-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.wa-choice{min-height:115px}}
@media(max-width:620px){.header{gap:8px}.brand-sub{display:none}.header-actions{margin-left:auto}.nav-contact{display:none}.language-picker button{font-size:10px}.wa-panel{margin-top:30px}.wa-panel-top{align-items:flex-start;gap:8px}.wa-choices{gap:8px}.wa-choice{padding:12px;min-height:105px}.wa-choice span:last-child{font-size:11px}.wa-action{padding:18px 15px}.wa-message-preview{padding:16px}}

/* V18 — Affichage des couvertures réelles et lecture vidéo au survol.
   Sépare les 3 états : poster, chargement, lecture. */
.card-image .journey { isolation:isolate; }
.journey-media { display:block !important; position:absolute;inset:0;z-index:4;
  background-position:center top;background-size:contain;background-repeat:no-repeat;
  background-color:var(--journey-bg,#171717);opacity:1;visibility:visible;
  pointer-events:none; }
.journey-browser { z-index:0; }
.journey-media .journey-video { display:block;position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center top;opacity:0 !important;
  transition:opacity .22s ease;pointer-events:none; }
.work-card.is-video-playing .journey-video { opacity:1 !important; }
.work-card.is-video-playing .journey-media { background-image:none !important; }
.work-card.is-journey-active .journey-video:not([hidden]) { opacity:0; }
.work-card.is-journey-active:has(.journey-video:not([hidden])) .journey-browser { opacity:1; }
.work-card .journey-overlay { z-index:6; }
.work-card .card-arrow { z-index:8; }
/* Image sans vidéo : ne jamais masquer le poster. */
.journey-poster-only .journey-media { display:block !important; }
@media (prefers-reduced-motion:reduce) {.journey-media .journey-video {transition:none}}
