:root{--orange:#f65b36;--ink:#181818;--muted:#6d6d6d;--paper:#fff;--soft:#f5f3ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px;position:fixed;inset:0 0 auto;z-index:20;background:rgba(255,255,255,.93);border-bottom:1px solid rgba(0,0,0,.06);backdrop-filter:blur(14px);transform:translateY(-100%);animation:header-drop .72s cubic-bezier(.22,1,.36,1) 1.12s forwards;transition:.3s}.site-header.is-scrolled{height:72px;box-shadow:0 12px 34px rgba(24,24,24,.08)}.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}.brand img{width:66px;height:56px;object-fit:contain}.brand strong{font-size:15px;letter-spacing:.18em;white-space:nowrap}.site-header nav{display:flex;gap:27px;font-size:13px;font-weight:700}.site-header nav a{padding:7px 0;border-bottom:2px solid transparent}.site-header nav a:hover{border-color:var(--orange)}.pill{display:inline-flex;align-items:center;justify-content:center;padding:16px 25px;border-radius:999px;background:var(--orange);color:#fff;font-size:13px;font-weight:800;transition:.25s}.pill:hover{transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--orange) 28%,transparent)}.pill-small{padding:12px 18px;white-space:nowrap}.hero{--hero-shift:0px;--pointer-x:0px;--pointer-y:0px;min-height:100vh;padding:145px 7vw 70px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 55%,color-mix(in srgb,var(--orange) 7%,#fff))}.hero-copy{position:relative;z-index:2;max-width:720px}.eyebrow{margin:0 0 23px;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.18em}.hero h1,h2{margin:0;font-size:clamp(48px,6vw,88px);line-height:.98;letter-spacing:-.055em;font-weight:800}.hero h1 em,h2 em{color:var(--orange);font-family:Georgia,serif;font-weight:700}.lead{max-width:650px;margin:31px 0;color:var(--muted);font-size:18px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:27px}.underlined{width:max-content;display:inline-flex;padding-bottom:5px;border-bottom:1px solid #aaa;font-size:13px;font-weight:800}.hero-copy>*,.hero-art,.scroll-link{opacity:0;transform:translateY(34px);animation:hero-rise .86s cubic-bezier(.22,1,.36,1) forwards}.hero-copy .eyebrow{animation-delay:1.18s}.hero-copy h1{animation-delay:1.31s}.hero-copy .lead{animation-delay:1.44s}.hero-copy .hero-actions{animation-delay:1.57s}.hero-art{height:590px;position:relative;animation-delay:1.35s}.scroll-link{animation-delay:1.74s}.orange-circle{width:440px;height:440px;border-radius:50%;background:var(--orange);position:absolute;right:-25px;top:70px;display:grid;place-items:center;box-shadow:0 38px 90px color-mix(in srgb,var(--orange) 28%,transparent);animation:circle-breathe 6s ease-in-out 1.9s infinite}.orange-circle span{margin-left:-25px;color:#fff;font-size:180px;font-weight:900;letter-spacing:-.15em}.outline-circle{width:255px;height:255px;border:1px solid rgba(0,0,0,.14);border-radius:50%;position:absolute;top:8px;left:10px;animation:outline-orbit 18s linear 1.8s infinite}.outline-circle:after{content:"";width:9px;height:9px;border-radius:50%;position:absolute;left:18%;top:7%;background:var(--orange)}.floating-card{position:absolute;z-index:2;padding:23px;background:#fff;box-shadow:0 24px 65px rgba(0,0,0,.16);max-width:190px}.floating-card small{display:block;margin-bottom:11px;color:var(--orange);font-size:9px;font-weight:800;letter-spacing:.18em}.floating-card strong{font-size:18px;line-height:1.2}.top-card{top:28px;right:0;animation:card-top 5.6s ease-in-out 1.9s infinite}.bottom-card{left:7px;bottom:48px;animation:card-bottom 6.2s ease-in-out 2.1s infinite}.scroll-link{position:absolute;bottom:28px;left:7vw;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.section{padding:115px 7vw}.intro{display:grid;grid-template-columns:1fr 1fr;gap:11vw;align-items:center}.intro h2,.section-heading h2,.method h2,.partners-heading h2{font-size:clamp(43px,5vw,70px)}.intro h2 span{color:var(--orange)}.intro-text{color:var(--muted);font-size:17px;line-height:1.8}.expertise{color:#fff;background:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:67px}.section-heading>p{max-width:420px;color:#aaa;font-size:16px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #3e3e3e;border-left:1px solid #3e3e3e}.service-grid article{min-height:245px;padding:40px 32px;border-right:1px solid #3e3e3e;border-bottom:1px solid #3e3e3e;transition:.3s}.service-grid article:hover{background:var(--orange);transform:translateY(-5px)}.service-grid article>span{color:var(--orange);font-size:11px;font-weight:700}.service-grid article:hover>span{color:#fff}.service-grid h3{margin:49px 0 12px;font-size:21px}.service-grid p{color:#aaa;font-size:14px;line-height:1.7}.service-grid article:hover p{color:#fff}.projects{background:var(--soft)}.project-grid{display:grid;grid-template-columns:1.15fr .9fr .9fr;gap:21px}.project-visual{height:450px;position:relative;display:grid;place-items:center;overflow:hidden;color:#fff;background-position:center;background-size:cover}.project-visual:after{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.55);transition:.3s}.project:hover .project-visual:after{inset:7%}.project-visual strong{z-index:1;padding:20px;font-size:clamp(24px,3vw,43px);line-height:.96;letter-spacing:-.05em;text-align:center}.project-tone-1{background:linear-gradient(140deg,#fa754e,#aa2b16)}.project-tone-2{background:linear-gradient(140deg,#242424,#666)}.project-tone-3{background:linear-gradient(140deg,#ff9a5f,#ed4d28)}.project>p{margin:19px 0 7px;color:var(--orange);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.project h3{margin:0;font-size:18px}.project-description{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.6}.partners{padding-left:0;padding-right:0;overflow:hidden}.partners-heading{padding:0 7vw;margin-bottom:58px}.partners-marquee{overflow:hidden;padding:24px 0;border-top:1px solid #dedbd5;border-bottom:1px solid #dedbd5;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}.partners-track{width:max-content;display:flex;animation:partners-scroll 48s linear infinite}.partners-marquee:hover .partners-track{animation-play-state:paused}.partners-group{display:flex;gap:18px;padding-right:18px;flex-shrink:0}.partner-logo-card{width:220px;height:118px;display:grid;place-items:center;padding:20px;overflow:hidden;border:1px solid #e6e2dc;border-radius:10px;background:#fff;box-shadow:0 12px 35px rgba(24,24,24,.05);transition:.3s}.partner-logo-card:hover{border-color:var(--orange);transform:translateY(-4px)}.partner-logo-card img{width:100%;height:100%;object-fit:contain}.partner-wordmark{font-size:19px;line-height:1.15;font-weight:800;text-align:center}.method{text-align:center}.method ol{margin:70px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);list-style:none}.method li{padding-top:24px;position:relative;border-top:1px solid #ccc}.method li:before{content:"";width:9px;height:9px;border-radius:50%;position:absolute;top:-5px;left:50%;background:var(--orange)}.method b{display:block;margin-bottom:13px;color:var(--orange);font-size:10px}.method span{font-weight:800}.contact{display:flex;justify-content:space-between;align-items:center;gap:50px;color:#fff;background:var(--orange)}.contact .eyebrow,.contact h2 em{color:#fff}.contact h2{font-size:clamp(44px,6vw,76px)}.contact-details{margin-top:41px;display:flex;flex-wrap:wrap;gap:25px 36px}.contact-details>a,.contact-details>div{display:flex;align-items:center;gap:11px}.contact-details span:last-child{display:flex;flex-direction:column;gap:5px}.contact-details small{opacity:.7;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.contact-details strong{font-size:13px}.pill-white{color:var(--ink);background:#fff;white-space:nowrap}footer{padding:55px 7vw 28px;display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center}footer p{color:var(--muted);font-size:13px;line-height:1.7}.footer-links{display:flex;gap:24px;font-size:13px;font-weight:800}footer>small{grid-column:1/-1;padding-top:23px;border-top:1px solid #ddd;color:#999}.motion-ready [data-reveal]{opacity:0;transform:translateY(42px);transition:opacity .75s ease,transform .9s cubic-bezier(.22,1,.36,1)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}.intro-loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;color:#fff;background:var(--orange);animation:loader-exit .82s cubic-bezier(.76,0,.24,1) 1.02s forwards;pointer-events:none}.intro-loader div{display:flex;flex-direction:column;align-items:center;gap:12px}.intro-loader span{width:104px;height:104px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.7);border-radius:50%;font-size:37px;font-weight:900}.intro-loader strong{font-size:12px;letter-spacing:.3em}@keyframes loader-exit{to{transform:translateY(-100%);visibility:hidden}}@keyframes header-drop{to{transform:none}}@keyframes hero-rise{to{opacity:1;transform:none}}@keyframes circle-breathe{50%{transform:scale(1.035)}}@keyframes outline-orbit{to{transform:rotate(360deg)}}@keyframes card-top{50%{transform:translateY(-13px) rotate(-2deg)}}@keyframes card-bottom{50%{transform:translateY(14px) rotate(3deg)}}@keyframes partners-scroll{to{transform:translateX(-50%)}}
.brand img{transform:scale(1.48)}
@media(max-width:980px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:130px}.hero-art{height:430px}.orange-circle{width:320px;height:320px;right:5%}.orange-circle span{font-size:125px}.intro{grid-template-columns:1fr;gap:45px}.service-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.project-visual{height:350px}.method ol{grid-template-columns:1fr;text-align:left}.method li{padding:10px 0 28px 28px;border-top:0;border-left:1px solid #ccc}.method li:before{top:14px;left:-5px}.contact{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr}footer>small{grid-column:auto}}
@media(max-width:600px){.site-header{height:72px}.site-header .pill-small{padding:11px 13px;font-size:11px}.brand img{width:52px;height:46px}.brand strong{font-size:11px;letter-spacing:.1em}.hero{padding:120px 7vw 60px}.hero h1{font-size:46px}.lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-art{height:340px}.orange-circle{width:260px;height:260px}.orange-circle span{font-size:102px}.floating-card{padding:15px}.bottom-card{bottom:5px}.section{padding:82px 7vw}.service-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.project-visual{height:290px}.contact-details{flex-direction:column}.footer-links{flex-wrap:wrap}.partner-logo-card{width:180px;height:98px;padding:16px}.partner-wordmark{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro-loader{display:none}.site-header,.hero-copy>*,.hero-art,.scroll-link,.orange-circle,.outline-circle,.top-card,.bottom-card{opacity:1;transform:none;animation:none;transition:none}.motion-ready [data-reveal]{opacity:1;transform:none;transition:none}.partners-marquee{overflow:visible;mask-image:none}.partners-track{width:auto;animation:none}.partners-group{width:100%;flex-wrap:wrap;justify-content:center;padding:0 7vw}.partners-group[aria-hidden=true]{display:none}}
.nav-toggle{display:none;padding:9px 12px;border:1px solid #ddd;border-radius:999px;color:var(--ink);background:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.orange-circle img{width:72%;height:auto;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(98,24,8,.16))}

/* Animation vidéo dans le cercle secondaire du hero */
.outline-circle{padding:9px;background:#fff;box-shadow:0 22px 65px rgba(24,24,24,.08);animation:none}
.outline-circle:after{content:none}
.outline-circle video{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;background:var(--orange)}
.orbit-dot{position:absolute;inset:-1px;border-radius:50%;animation:outline-orbit 8s linear infinite;pointer-events:none}
.orbit-dot:after{content:"";width:10px;height:10px;border-radius:50%;position:absolute;left:50%;top:-5px;background:var(--orange);box-shadow:0 0 0 4px rgba(255,255,255,.9)}
@media(prefers-reduced-motion:reduce){.orbit-dot{animation:none}}

/* Affichage uniforme et sans recadrage des logos partenaires */
.partners-track,.partners-group{align-items:center}
.partner-logo-card{width:240px;height:130px;padding:22px 28px;display:flex;align-items:center;justify-content:center}
.partner-logo-card img{display:block;width:auto!important;height:auto!important;max-width:100%;max-height:82px;object-fit:contain;object-position:center}
@media(max-width:600px){.partner-logo-card{width:190px;height:108px;padding:18px 22px}.partner-logo-card img{max-height:70px}}
@media(max-width:980px){.nav-toggle{display:inline-flex;margin-left:auto}.site-header nav{position:fixed;inset:86px 0 auto;display:flex;flex-direction:column;gap:0;padding:18px 7vw 25px;background:#fff;border-bottom:1px solid #ddd;box-shadow:0 20px 40px rgba(0,0,0,.12);opacity:0;transform:translateY(-12px);pointer-events:none;transition:.25s}.site-header.is-scrolled nav{top:72px}.site-header nav a{padding:13px 0}.nav-open .site-header nav{opacity:1;transform:none;pointer-events:auto}}
@media(max-width:600px){.site-header .brand strong{display:none}.site-header nav{top:72px}}

/* Projets réalisés — cartes éditoriales animées au défilement */
.projects{--project-stage:color-mix(in srgb,var(--orange) 88%,#9d2914);position:relative;overflow:clip;color:#fff;background:radial-gradient(circle at 12% 4%,rgba(255,255,255,.17),transparent 27%),radial-gradient(circle at 92% 32%,rgba(91,17,5,.2),transparent 31%),var(--project-stage)}
.projects:before{content:"";position:absolute;inset:0;opacity:.18;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,#000,transparent 44%)}
.projects-heading{max-width:1180px;margin:0 auto 76px;display:flex;justify-content:space-between;align-items:flex-end;gap:54px;position:relative;z-index:1}
.projects-heading .eyebrow{color:#fff}
.projects-heading h2{font-size:clamp(47px,6.4vw,88px);color:#fff}
.projects-heading h2 em{color:var(--ink)}
.projects-heading-actions{display:flex;align-items:flex-end;flex-direction:column;gap:29px;flex:0 0 auto}
.projects-heading .underlined{color:#fff;border-color:rgba(255,255,255,.55)}
.projects-scroll-cue{display:flex;align-items:center;gap:13px;font-size:9px;font-weight:800;letter-spacing:.18em;white-space:nowrap}
.projects-scroll-cue b{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-size:14px;animation:project-cue 1.8s ease-in-out infinite}
.project-stack{max-width:1180px;margin:0 auto;padding-bottom:4vh;position:relative;z-index:1;isolation:isolate}
.project-card{--project-image-shift:0px;width:100%;min-height:min(68vh,650px);display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);position:sticky;top:calc(92px + var(--project-top,0px));z-index:calc(var(--project-index) + 1);overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:30px;color:var(--ink);background:#fff;box-shadow:0 32px 85px rgba(79,18,5,.28)}
.project-card:not(:last-child){margin-bottom:clamp(105px,18vh,185px)}
.project-card:nth-child(even) .project-copy{order:2}
.project-copy{min-height:100%;padding:clamp(32px,4.4vw,62px);display:flex;flex-direction:column;justify-content:space-between;gap:38px;background:linear-gradient(145deg,#fff,#f7f5f1)}
.project-meta{display:flex;align-items:center;gap:17px}
.project-number{width:45px;height:45px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d9d5ce;border-radius:50%;color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.08em;transition:.35s}
.project-meta p{margin:0;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.project-content h3{max-width:500px;margin:0 0 21px;font-size:clamp(34px,4vw,59px);line-height:.98;letter-spacing:-.052em}
.project-headline{max-width:490px;display:block;color:var(--orange);font-family:Georgia,serif;font-size:clamp(19px,2vw,28px);font-style:italic;line-height:1.08}
.project-description{max-width:490px;margin-top:25px;color:var(--muted);font-size:15px;line-height:1.75}
.project-link{width:max-content;display:inline-flex;align-items:center;gap:11px;padding-bottom:6px;border-bottom:1px solid #a7a29a;font-size:12px;font-weight:800}
.project-link span{transition:transform .25s}
.project-link:hover span,.project-link:focus-visible span{transform:translate(3px,-3px)}
.project-media{min-height:500px;position:relative;overflow:hidden;background:var(--ink)}
.project-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(18,18,18,.36))}
.project-media img{width:100%;height:calc(100% + 44px);position:absolute;inset:-22px 0 auto;display:block;object-fit:cover;transform:scale(1.045) translate3d(0,var(--project-image-shift),0);transition:transform .12s linear;will-change:transform}
.project-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.9);font-size:clamp(88px,12vw,170px);font-weight:900;letter-spacing:-.09em}
.project-media-number{position:absolute;right:23px;bottom:18px;z-index:1;color:#fff;font-size:11px;font-weight:900;letter-spacing:.16em}
.project-card.is-current .project-number{color:#fff;border-color:var(--orange);background:var(--orange);transform:rotate(-8deg)}
.projects-empty{max-width:1180px;margin:0 auto;padding:55px;border:1px solid rgba(255,255,255,.5);border-radius:25px;text-align:center}
@keyframes project-cue{50%{transform:translateY(6px)}}
@media(max-width:980px){.projects{overflow:hidden}.projects-heading{align-items:flex-start;flex-direction:column}.projects-heading-actions{align-items:flex-start}.project-stack{display:grid;gap:34px}.project-card{min-height:0;position:relative;top:auto!important;grid-template-columns:1fr;border-radius:24px}.project-card:not(:last-child){margin-bottom:0}.project-card .project-copy{order:1}.project-card .project-media{order:2;min-height:400px}.project-media img{height:100%;inset:0;transform:none}}
@media(max-width:600px){.projects-heading{margin-bottom:48px;gap:32px}.projects-heading h2{font-size:45px}.projects-heading-actions{gap:20px}.project-card{border-radius:18px}.project-copy{padding:29px 25px;gap:31px}.project-content h3{font-size:34px}.project-media{min-height:270px!important}.project-description{font-size:14px}.projects-scroll-cue{font-size:8px}}
@media(prefers-reduced-motion:reduce){.projects-scroll-cue b{animation:none}.project-card{position:relative;top:auto!important}.project-card:not(:last-child){margin-bottom:34px}.project-media img{height:100%;inset:0;transform:none;transition:none}.project-number,.project-link span{transition:none}}

/* Motion Design v1.4.0 — mouvement éditorial léger et accessible */
.hero:before{content:"";width:48vw;height:48vw;position:absolute;right:-19vw;top:-17vw;border-radius:50%;opacity:.52;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--orange) 18%,transparent),transparent 67%);animation:hero-aura 9s ease-in-out infinite}
.hero-art{z-index:1}
.kinetic-line{display:inline}
.kinetic-word{display:inline-block;margin-right:.17em;overflow:hidden;vertical-align:bottom}
.kinetic-word:last-child{margin-right:0}
.kinetic-word>span{display:block;opacity:0;transform:translateY(112%) rotate(3deg)}
.intro-finished .kinetic-word>span{animation:kinetic-word-in .82s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--word-index) * 65ms)}
.intro-finished .outline-circle{transform:translate3d(calc(var(--pointer-x) * -.55),calc(var(--pointer-y) * -.55),0)}
.outline-circle{transition:transform .45s cubic-bezier(.22,1,.36,1)}
[data-magnetic]{--magnetic-x:0px;--magnetic-y:0px;transform:translate3d(var(--magnetic-x),var(--magnetic-y),0);transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .25s}
[data-magnetic].pill:hover{transform:translate3d(var(--magnetic-x),calc(var(--magnetic-y) - 2px),0)}
.motion-ready [data-reveal].is-visible[data-magnetic]{transform:translate3d(var(--magnetic-x),var(--magnetic-y),0)}
.service-grid article{--spot-x:50%;--spot-y:50%;position:relative;isolation:isolate;overflow:hidden}
.service-grid article:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(320px circle at var(--spot-x) var(--spot-y),color-mix(in srgb,var(--orange) 92%,#fff),var(--orange) 42%,transparent 73%);transition:opacity .35s}
.service-grid article:after{content:"↗";width:38px;height:38px;position:absolute;right:24px;top:24px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:50%;opacity:0;transform:translate(-8px,8px) rotate(-20deg);transition:.35s}
.service-grid article:hover:before{opacity:1}
.service-grid article:hover:after{opacity:1;transform:none}
.service-grid article:hover{background:transparent}
.service-grid article[data-reveal]{transition-delay:calc(var(--service-index) * 70ms)}
.project-media:before{content:"";position:absolute;inset:-1px;z-index:3;background:linear-gradient(135deg,#fff 8%,color-mix(in srgb,var(--orange) 32%,#fff));transform:scaleX(1);transform-origin:right center;transition:transform 1.05s cubic-bezier(.76,0,.24,1) .16s}
.project-card.is-visible .project-media:before{transform:scaleX(0)}
.method{--method-progress:0;overflow:hidden}
.method ol{position:relative}
.method ol:before,.method ol:after{content:"";height:2px;position:absolute;left:0;right:0;top:0;transform-origin:left center}
.method ol:before{background:#dedbd5}
.method ol:after{right:auto;width:calc(var(--method-progress) * 100%);background:var(--orange);box-shadow:0 0 18px color-mix(in srgb,var(--orange) 46%,transparent)}
.method li{border-top:0;opacity:.35;transform:translateY(18px);transition:opacity .45s,transform .55s cubic-bezier(.22,1,.36,1)}
.method li:before{background:#d2cec7;box-shadow:0 0 0 0 transparent;transition:.4s}
.method li b,.method li span{transition:color .35s}
.method li.is-active{opacity:1;transform:none}
.method li.is-active:before{background:var(--orange);box-shadow:0 0 0 7px color-mix(in srgb,var(--orange) 15%,transparent);transform:scale(1.18)}
.method li.is-active span{color:var(--ink)}
.contact{position:relative;isolation:isolate;overflow:hidden}
.contact>div:not(.contact-orbits),.contact>.pill{position:relative;z-index:2}
.contact-orbits{position:absolute!important;inset:0;z-index:0!important;pointer-events:none}
.contact-orbits i{position:absolute;display:block;border:1px solid rgba(255,255,255,.25);border-radius:50%;animation:contact-orbit 13s ease-in-out infinite}
.contact-orbits i:nth-child(1){width:390px;height:390px;right:-95px;top:-145px}
.contact-orbits i:nth-child(2){width:210px;height:210px;right:19%;bottom:-105px;animation-delay:-4s}
.contact-orbits i:nth-child(3){width:74px;height:74px;left:43%;top:16%;background:rgba(255,255,255,.08);animation-delay:-8s}
@keyframes kinetic-word-in{to{opacity:1;transform:none}}
@keyframes hero-aura{50%{opacity:.86;transform:translate(-3vw,4vw) scale(1.12)}}
@keyframes contact-orbit{50%{transform:translate3d(22px,-17px,0) rotate(35deg)}}
@media(max-width:980px){.method ol:before,.method ol:after{width:2px;height:auto;right:auto;top:0;bottom:0;left:0}.method ol:after{height:calc(var(--method-progress) * 100%);bottom:auto}.method li{border-left:0;padding-left:29px}.method li:before{left:-4px}.service-grid article:after{opacity:.6;transform:none}.project-media:before{transition-duration:.82s}}
@media(max-width:600px){.hero:before{width:88vw;height:88vw;right:-45vw;top:5vh}.kinetic-word{margin-right:.13em}.contact-orbits i:nth-child(1){width:280px;height:280px}.service-grid article[data-reveal]{transition-delay:0s}}
@media(prefers-reduced-motion:reduce){.hero:before,.contact-orbits i{animation:none}.kinetic-word>span,.intro-finished .kinetic-word>span{opacity:1;transform:none;animation:none}.outline-circle,[data-magnetic],.motion-ready [data-reveal].is-visible[data-magnetic]{transform:none;transition:none}.service-grid article[data-reveal]{transition-delay:0s}.service-grid article:before,.service-grid article:after{display:none}.project-media:before{display:none}.method ol:after{width:100%;height:2px}.method li{opacity:1;transform:none;transition:none}.method li:before{background:var(--orange)}}
@media(max-width:980px) and (prefers-reduced-motion:reduce){.method ol:after{width:2px;height:100%}}

/* v1.5.2 — Portfolio, navigation accessible et titres éditoriaux */
.skip-link{position:fixed;top:8px;left:12px;z-index:1000;padding:14px 20px;color:#fff;background:#181818;transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:none}
.service-explore{width:max-content;max-width:100%;display:inline-flex;gap:9px;margin-top:20px;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:11px;font-weight:800;opacity:.75}
.service-explore span{transition:transform .25s}
.service-explore:hover span,.service-explore:focus-visible span{transform:translate(3px,-3px)}
.motion-ready [data-title-reveal]{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(28px);transition:opacity .55s ease,clip-path .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.motion-ready [data-title-reveal].is-visible,.motion-ready [data-reveal].is-visible [data-title-reveal]{opacity:1;clip-path:inset(0);transform:none}
@media(prefers-reduced-motion:reduce){.skip-link,.motion-ready [data-title-reveal],.motion-ready [data-title-reveal].is-visible,.motion-ready [data-reveal].is-visible [data-title-reveal]{opacity:1;clip-path:none;transform:none;transition:none}.service-explore span{transition:none}}

/* v1.5.3 — Signal créatif et grille d'expertises immersive */
.expertise{position:relative;isolation:isolate;overflow:hidden}
.expertise:before{content:"";width:54vw;height:54vw;position:absolute;z-index:-1;left:-31vw;top:-24vw;border-radius:50%;opacity:.42;background:radial-gradient(circle,color-mix(in srgb,var(--orange) 16%,transparent),transparent 67%);animation:expertise-aura 11s ease-in-out infinite;pointer-events:none}
.expertise .section-heading{position:relative;z-index:2}
.service-grid{--signal-x:50%;--signal-y:50%;position:relative;isolation:isolate;background:rgba(255,255,255,.018)}
.service-signal{width:min(460px,38vw);aspect-ratio:1;position:absolute;z-index:0;left:var(--signal-x);top:var(--signal-y);border-radius:50%;opacity:0;transform:translate3d(-50%,-50%,0) scale(.72);background:radial-gradient(circle at 50% 50%,rgba(246,91,54,.98) 0,rgba(246,91,54,.72) 28%,rgba(246,91,54,.22) 57%,transparent 72%);filter:blur(1px);transition:left .72s cubic-bezier(.22,1,.36,1),top .72s cubic-bezier(.22,1,.36,1),opacity .38s,transform .72s cubic-bezier(.22,1,.36,1);pointer-events:none}
.service-grid.has-active .service-signal{opacity:.94;transform:translate3d(-50%,-50%,0) scale(1)}
.service-signal i{position:absolute;inset:17%;border:1px solid rgba(255,255,255,.32);border-radius:50%;animation:service-signal-ring 4.8s ease-in-out infinite}
.service-signal i:last-child{inset:32%;animation-delay:-2.4s}
.service-grid article{min-height:310px;display:flex;flex-direction:column;padding:30px 32px 34px;position:relative;z-index:1;isolation:isolate;overflow:hidden;background:rgba(24,24,24,.8);transform:translateZ(0);transition:opacity .45s,background .45s,box-shadow .45s,transform .55s cubic-bezier(.22,1,.36,1)}
.service-grid article:before,.service-grid article:after{content:none!important;display:none!important}
.service-grid article>*{position:relative;z-index:2}
.service-grid article.is-active{z-index:3;background:rgba(28,21,19,.43);box-shadow:0 24px 70px rgba(0,0,0,.3),inset 0 0 0 1px rgba(246,91,54,.34);transform:translate3d(0,-7px,0)}
.service-grid.has-active article.is-visible:not(.is-active){opacity:.68}
.service-card-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.service-number{color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.08em;transition:color .35s,transform .45s cubic-bezier(.22,1,.36,1)}
.service-keyword{padding:6px 9px;border:1px solid rgba(255,255,255,.16);border-radius:99px;color:rgba(255,255,255,.54);font-size:8px;font-weight:800;letter-spacing:.15em;opacity:0;transform:translateY(-7px);transition:opacity .35s,transform .45s,color .35s,border-color .35s}
.service-content{margin-top:auto}
.service-grid h3{margin:74px 0 12px;font-size:clamp(20px,1.55vw,25px);line-height:1.1;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.service-grid p{max-width:440px;margin:0;color:#aaa;font-size:14px;line-height:1.65;transition:color .35s,transform .5s cubic-bezier(.22,1,.36,1)}
.service-grid article.is-active .service-number{color:#fff;transform:scale(1.28)}
.service-grid article.is-active .service-keyword{opacity:1;color:#fff;border-color:rgba(255,255,255,.48);transform:none}
.service-grid article.is-active h3{transform:translateY(-5px)}
.service-grid article.is-active p{color:rgba(255,255,255,.9);transform:translateY(-3px)}
.service-grid article.is-active .service-explore{opacity:1}
.service-motion{position:absolute!important;z-index:1!important;inset:23px 25px auto auto;width:145px;height:125px;opacity:.12;transform:translate3d(18px,-12px,0) scale(.88);transition:opacity .55s,transform .75s cubic-bezier(.22,1,.36,1);pointer-events:none}
.service-motion i{position:absolute;display:block;border:1px solid rgba(255,255,255,.78);transition:transform .75s cubic-bezier(.22,1,.36,1)}
.service-motion i:nth-child(1){width:82px;height:82px;right:4px;top:3px;border-radius:50%}
.service-motion i:nth-child(2){width:48px;height:48px;right:21px;top:20px;border-radius:50%}
.service-motion i:nth-child(3){width:8px;height:8px;right:41px;top:40px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 18px rgba(255,255,255,.76)}
.service-motion-2 i:nth-child(1),.service-motion-2 i:nth-child(2){height:1px;border-radius:0;transform:rotate(-18deg)}
.service-motion-2 i:nth-child(1){width:105px;right:2px;top:34px}
.service-motion-2 i:nth-child(2){width:72px;right:17px;top:57px}
.service-motion-2 i:nth-child(3){right:83px;top:71px}
.service-motion-3 i:nth-child(1),.service-motion-3 i:nth-child(2){border-radius:3px;transform:rotate(45deg)}
.service-motion-3 i:nth-child(1){width:70px;height:70px;right:7px;top:5px}
.service-motion-3 i:nth-child(2){width:36px;height:36px;right:24px;top:22px}
.service-motion-4 i:nth-child(1){width:96px;height:48px;right:1px;top:21px;border-radius:50%}
.service-motion-4 i:nth-child(2){width:48px;height:96px;right:25px;top:-3px;border-radius:50%}
.service-motion-5 i:nth-child(1){width:90px;height:90px;right:2px;top:0;border-radius:5px;transform:rotate(12deg)}
.service-motion-5 i:nth-child(2){width:58px;height:58px;right:18px;top:16px;border-radius:5px;transform:rotate(-13deg)}
.service-motion-6 i:nth-child(1){width:96px;height:96px;right:0;top:0;border-style:dashed;border-radius:50%}
.service-motion-6 i:nth-child(2){width:58px;height:58px;right:19px;top:19px;border-radius:50%}
.service-grid article.is-active .service-motion{opacity:.7;transform:none}
.service-grid article.is-active .service-motion i:nth-child(1){transform:rotate(28deg) scale(1.05)}
.service-grid article.is-active .service-motion i:nth-child(2){transform:rotate(-32deg) scale(.92)}
.service-explore{transition:opacity .35s,color .35s}
.service-grid article.is-active .service-explore span{animation:service-arrow 1.25s ease-in-out infinite}
.service-manifesto{min-height:310px;display:flex;flex-direction:column;justify-content:space-between;padding:34px 32px;position:relative;z-index:2;overflow:hidden;color:#fff;background:var(--orange);border-right:1px solid #3e3e3e;border-bottom:1px solid #3e3e3e}
.service-manifesto:before{content:"";width:220px;height:220px;position:absolute;right:-72px;bottom:-92px;border:1px solid rgba(255,255,255,.28);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.055),0 0 0 58px rgba(255,255,255,.035);animation:manifesto-orbit 7s ease-in-out infinite}
.service-manifesto>span{position:relative;font-size:9px;font-weight:800;letter-spacing:.18em}
.service-manifesto p{display:flex;flex-wrap:wrap;align-items:center;gap:9px 11px;position:relative;margin:auto 0;color:#fff;font-size:clamp(18px,1.5vw,24px);line-height:1.2}
.service-manifesto p strong{font-weight:800}
.service-manifesto p i{font-family:Georgia,serif;font-weight:400;opacity:.55}
.service-manifesto a{width:max-content;max-width:100%;display:inline-flex;gap:9px;position:relative;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.72);font-size:11px;font-weight:800}
.service-manifesto a span{transition:transform .25s}
.service-manifesto a:hover span,.service-manifesto a:focus-visible span{transform:translate(3px,-3px)}
@keyframes expertise-aura{50%{opacity:.72;transform:translate3d(7vw,4vw,0) scale(1.12)}}
@keyframes service-signal-ring{50%{opacity:.35;transform:scale(1.17)}}
@keyframes service-arrow{50%{transform:translate(4px,-4px)}}
@keyframes manifesto-orbit{50%{transform:translate3d(-18px,-10px,0) scale(1.08)}}
@media(max-width:980px){.service-signal{width:390px}.service-grid article,.service-manifesto{min-height:285px}.service-grid article.is-active{transform:none}.service-grid.has-active article.is-visible:not(.is-active){opacity:.58}.service-keyword{opacity:.68;transform:none}.service-motion{opacity:.16}}
@media(max-width:600px){.expertise .section-heading{margin-bottom:48px}.service-grid article,.service-manifesto{min-height:300px;padding:28px 25px}.service-grid h3{margin-top:70px;font-size:25px}.service-signal{width:115vw}.service-grid.has-active article.is-visible:not(.is-active){opacity:.48}.service-grid article.is-active{background:rgba(28,21,19,.34);box-shadow:inset 0 0 0 1px rgba(246,91,54,.38)}.service-manifesto p{font-size:22px}}
@media(prefers-reduced-motion:reduce){.expertise:before,.service-signal{display:none}.service-grid article,.service-grid article.is-active,.service-grid.has-active article.is-visible:not(.is-active){opacity:1;transform:none;transition:none}.service-grid article:hover,.service-grid article:focus-within{background:rgba(246,91,54,.16)}.service-motion,.service-grid article.is-active .service-motion{opacity:.16;transform:none;transition:none}.service-motion i,.service-grid article.is-active .service-motion i{transform:none;transition:none}.service-grid article.is-active .service-explore span,.service-manifesto:before{animation:none}}
