:root{--paper:#f5f4f0;--ink:#151718;--muted:#5d6263;--line:rgba(21,23,24,.18);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;font-variant-emoji:text}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:#151718;color:#fff}
.intro{position:fixed;inset:0;z-index:100;background:var(--ink);color:#fff;display:grid;place-items:center;pointer-events:none;animation:intro-out .5s var(--ease) 1.65s forwards}.intro-word{position:absolute;font-size:clamp(3.5rem,13vw,12rem);font-weight:800;letter-spacing:-.095em;line-height:1;opacity:0;animation:word-flash .38s ease both}.intro-word:nth-child(1){animation-delay:.08s}.intro-word:nth-child(2){animation-delay:.45s}.intro-word:nth-child(3){animation-delay:.82s}.intro-word:nth-child(4){animation-delay:1.19s}@keyframes word-flash{0%{opacity:0;transform:translateY(24px)}25%,78%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-16px)}}@keyframes intro-out{to{opacity:0;visibility:hidden}}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:86px;padding:0 clamp(24px,4.5vw,78px);display:flex;align-items:center;gap:3vw;transition:background .45s ease,box-shadow .45s ease,height .45s ease}.site-header.is-scrolled{height:72px;background:rgba(245,244,240,.94);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand strong{font-size:clamp(32px,3vw,46px);font-weight:900;line-height:.9;letter-spacing:-.095em}.brand span{border-left:1px solid currentColor;padding-left:13px;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.2}.nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.4vw,38px);flex:1}.nav a,.header-cta{font-size:11px;font-weight:700;letter-spacing:.045em;white-space:nowrap}.nav a{position:relative;padding:6px 0}.nav a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav a:hover:after,.nav a:focus-visible:after{transform:scaleX(1)}.header-cta{padding:13px 19px;border:1px solid var(--ink);border-radius:100px;background:var(--ink);color:#fff;display:flex;gap:18px;align-items:center;transition:background .3s,color .3s}.header-cta:hover{background:transparent;color:var(--ink)}.header-cta span{font-size:17px;font-weight:400}.menu-toggle{display:none}
.opening{height:195vh;min-height:1200px;position:relative}.opening-sticky{position:sticky;top:0;height:100svh;min-height:640px;overflow:hidden;background:var(--paper);isolation:isolate}.hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden;will-change:transform;transform:translate(var(--hero-x,0),var(--hero-y,0)) scale(var(--hero-scale,1));border-radius:var(--hero-radius,0);box-shadow:0 18px 70px rgba(0,0,0,var(--hero-shadow,0));transition:border-radius .18s linear}.hero-media>img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.85)}.media-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,244,240,.96) 0%,rgba(245,244,240,.93) 24%,rgba(245,244,240,.70) 43%,rgba(245,244,240,.05) 75%);opacity:var(--wash-opacity,1)}.media-label{position:absolute;right:4vw;top:106px;padding:9px 12px;border:1px solid rgba(255,255,255,.75);color:#fff;background:rgba(15,17,18,.57);font-size:10px;font-weight:700;letter-spacing:.1em}.label-separator{padding:0 6px;opacity:.5}.hero-content{position:absolute;top:clamp(115px,14vh,158px);left:clamp(24px,4.5vw,78px);width:min(65vw,950px);opacity:var(--copy-opacity,1);transform:translateY(var(--copy-y,0px));pointer-events:var(--copy-events,auto)}.hero-index{display:flex;align-items:center;gap:16px;font-size:11px;font-weight:700;letter-spacing:.24em;margin-bottom:28px}.index-line{width:30px;height:1px;background:var(--ink)}.hero-index span:last-child{margin-left:20px}.hero-content h1{margin:0;font-size:clamp(51px,5.6vw,96px);letter-spacing:-.075em;line-height:.91}.hero-content h1 span{display:block}.weight-bold{font-weight:850}.weight-light{font-weight:300;letter-spacing:-.075em;margin-top:12px}.hero-description{max-width:400px;font-size:clamp(16px,1.15vw,19px);line-height:1.4;letter-spacing:-.015em;margin:27px 0 25px}.hero-actions{display:flex;align-items:center;gap:25px}.pill-button{display:inline-flex;align-items:center;gap:22px;padding:18px 24px;background:var(--ink);color:#fff;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.045em;white-space:nowrap;transition:transform .3s var(--ease),background .3s}.pill-button:hover{transform:translateY(-3px);background:#383d3e}.pill-button span{font-size:18px;font-weight:400}.reel-button{display:flex;align-items:center;gap:12px;background:none;border:0;cursor:pointer;text-align:left;font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.025em}.play-circle{width:45px;height:45px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:11px;padding-left:2px;transition:background .3s,color .3s}.reel-button:hover .play-circle{background:var(--ink);color:#fff}.scroll-prompt{position:absolute;bottom:31px;left:clamp(24px,4.5vw,78px);display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:.09em;opacity:var(--edge-opacity,1)}.scroll-icon{width:24px;height:42px;border:1px solid currentColor;border-radius:15px;display:grid;place-items:center;font-size:17px}.corner-reel{position:absolute;right:clamp(24px,4.5vw,78px);bottom:24px;display:flex;align-items:center;gap:15px;background:none;border:0;cursor:pointer;color:#fff;text-align:left;opacity:var(--edge-opacity,1)}.corner-reel-thumb{width:110px;height:67px;overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:5px}.corner-reel-thumb img{width:100%;height:100%;object-fit:cover}.corner-reel>span:last-child{font-size:10px;font-weight:700;line-height:1.4;letter-spacing:.05em}.corner-reel b{font-size:12px}.transition-content{position:absolute;left:clamp(24px,5vw,86px);top:28vh;width:36vw;opacity:var(--transition-opacity,0);transform:translateY(var(--transition-y,30px));pointer-events:none}.eyebrow,.section-label,.journey-step{font-size:11px;font-weight:700;letter-spacing:.22em}.transition-content h2{font-size:clamp(42px,4vw,70px);letter-spacing:-.075em;line-height:.98;margin:25px 0}.transition-content h2 em{font-style:normal;font-weight:300}.transition-content p{max-width:370px;font-size:17px;line-height:1.5;color:#4b5152}.transition-rule{display:block;width:100%;height:1px;background:var(--line);margin:35px 0 18px}.transition-pillars{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:700;letter-spacing:.11em}
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#faf9f6}.trust-inner{padding:31px clamp(24px,4.5vw,78px);display:flex;align-items:center;gap:40px}.trust-label{white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.08em}.logos{flex:1;display:flex;justify-content:space-around;align-items:center;gap:26px}.logos img{width:auto;height:auto;max-width:128px;max-height:38px;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.56}
.approach{background:var(--paper)}.approach-head{padding:clamp(85px,10vw,150px) clamp(24px,4.5vw,78px) 90px;display:grid;grid-template-columns:1fr 2.3fr 1.15fr;gap:35px;align-items:end}.section-label{display:flex;gap:24px;align-self:start}.approach-head h2{font-size:clamp(42px,4.6vw,76px);line-height:.99;letter-spacing:-.075em;margin:0;font-weight:750}.approach-head h2 span{font-weight:300}.approach-head p{font-size:17px;line-height:1.5;letter-spacing:-.01em;margin:0 0 5px;color:#4b5152}.journey{height:425vh;position:relative}.journey-sticky{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.9fr);column-gap:5vw;align-items:center;padding:8vh clamp(24px,4.5vw,78px) 8vh;background:#ecebe7}.journey-progress{position:absolute;top:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.journey-progress span{height:4px;background:#c8c9c6;transition:background .4s}.journey-progress span.active{background:var(--ink)}.journey-frame{background:#17191a;color:#fff;box-shadow:0 30px 80px rgba(15,17,18,.14);width:100%;max-height:76vh;aspect-ratio:1.32;display:flex;flex-direction:column;transform:scale(var(--frame-scale,1));transition:transform .4s var(--ease)}.frame-top,.frame-bottom{height:46px;min-height:46px;display:flex;justify-content:space-between;align-items:center;padding:0 21px;font-size:10px;font-weight:700;letter-spacing:.14em}.frame-bottom{color:#bfc3c1}.frame-cross{font-size:19px;color:#fff}.frame-visual{position:relative;flex:1;overflow:hidden;background:#2f3333}.frame-visual>img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:opacity .35s,transform 1.2s var(--ease)}.frame-visual.is-changing>img{opacity:.15;transform:scale(1.045)}.frame-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 40%);pointer-events:none}.visual-overlay{position:absolute;z-index:2;top:25px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.3)}.visual-overlay span{font-size:10px;font-weight:800;letter-spacing:.17em;border:1px solid rgba(255,255,255,.7);padding:8px 9px}.visual-overlay strong{font-size:clamp(19px,2.2vw,34px);font-weight:550;letter-spacing:-.04em;line-height:1.05;text-align:right;max-width:230px}.frame-marker{position:absolute;z-index:2;left:25px;bottom:23px;font-size:9px;font-weight:700;letter-spacing:.13em;color:#fff}.journey-copy{max-width:540px;padding-bottom:10vh}.journey-step{display:block;margin-bottom:24px}.journey-copy h3{font-size:clamp(55px,6.2vw,104px);line-height:.93;letter-spacing:-.08em;font-weight:650;margin:0 0 28px}.journey-copy p{font-size:20px;line-height:1.36;letter-spacing:-.025em;max-width:430px;margin:0 0 26px}.journey-copy ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:9px}.journey-copy li{padding:7px 10px;border:1px solid rgba(21,23,24,.3);border-radius:100px;font-size:12px;letter-spacing:.02em}.stage-next{margin-top:64px;display:flex;align-items:center;gap:18px;font-size:10px;font-weight:700;letter-spacing:.15em}.stage-next span:last-child{font-size:24px;font-weight:300}.journey-rail{position:absolute;right:clamp(24px,4.5vw,78px);bottom:32px;left:clamp(24px,4.5vw,78px);display:flex;justify-content:space-between;border-top:1px solid rgba(21,23,24,.18);padding-top:13px;gap:8px}.journey-rail span{font-size:10px;font-weight:700;letter-spacing:.09em;opacity:.35;transition:opacity .3s}.journey-rail span.active{opacity:1}.method-end{padding:80px 24px 110px;display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(12px,3vw,48px);font-size:clamp(21px,3.3vw,52px);font-weight:700;letter-spacing:-.055em;border-top:1px solid var(--line)}.method-end span:nth-child(even){font-weight:300;color:#999}
.reel-dialog{border:0;padding:0;margin:auto;width:min(96vw,1000px);max-height:90vh;background:#17191a;color:white;box-shadow:0 35px 120px rgba(0,0,0,.45)}.reel-dialog::backdrop{background:rgba(8,9,10,.83);backdrop-filter:blur(10px)}.dialog-close{position:absolute;top:14px;right:20px;background:none;border:0;color:#fff;font-size:35px;cursor:pointer;z-index:2}.reel-content{padding:clamp(30px,5vw,70px)}.reel-content>span{font-size:11px;letter-spacing:.18em;font-weight:700}.reel-content h2{font-size:clamp(42px,7vw,85px);letter-spacing:-.075em;line-height:.95;margin:40px 0 23px}.reel-content p{font-size:17px;line-height:1.4;max-width:520px;color:#c7cbca}.reel-stills{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:32px}.reel-stills img{width:100%;aspect-ratio:1.5;object-fit:cover}
.mobile-stage{display:none}.visual-overlay small{position:absolute;top:55px;left:0;max-width:240px;font-size:9px;font-weight:700;letter-spacing:.12em;line-height:1.3;background:rgba(15,17,18,.66);padding:9px 11px}.visual-tag{font-size:10px;font-weight:800;letter-spacing:.17em;border:1px solid rgba(255,255,255,.7);padding:8px 9px}.signal-flow,.iteration-flow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(84%,530px);padding:28px 20px;background:rgba(245,244,240,.95);color:var(--ink);display:flex;justify-content:center;align-items:center;gap:14px;box-shadow:0 15px 50px rgba(0,0,0,.2)}.signal-flow span,.iteration-flow span{font-size:clamp(10px,1.1vw,15px);font-weight:800;letter-spacing:.1em;white-space:nowrap}.signal-flow i{height:1px;flex:1;background:#777}.iteration-flow b{font-size:23px;font-weight:300}.journey-progress span:first-child,.journey-rail span:first-child{background:var(--ink);opacity:1}.journey-rail span:first-child{background:none}
@media(max-width:1100px){.nav{gap:16px}.brand span{display:none}.approach-head{grid-template-columns:1fr 2fr}.approach-head p{grid-column:2}.hero-content h1{font-size:clamp(55px,7vw,80px)}.hero-content{width:75vw}.journey-sticky{column-gap:3vw}.journey-copy h3{font-size:clamp(50px,6vw,72px)}}
@media(max-width:800px){.site-header{height:70px;padding:0 22px}.site-header.is-scrolled{height:66px}.brand strong{font-size:39px}.header-cta{margin-left:auto;padding:11px 14px;font-size:10px}.nav{position:fixed;top:66px;left:0;right:0;background:var(--paper);display:none;flex-direction:column;align-items:stretch;padding:22px 25px 30px;gap:0;box-shadow:0 25px 45px rgba(0,0,0,.1)}.nav.is-open{display:flex}.nav a{font-size:17px;padding:13px 0;border-bottom:1px solid var(--line)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:35px;height:35px;background:none;border:0;cursor:pointer}.menu-toggle span{width:24px;height:2px;background:var(--ink)}.opening{height:auto;min-height:0}.opening-sticky{position:relative;min-height:850px;height:100svh}.hero-media{transform:none!important;border-radius:0!important;box-shadow:none!important}.hero-media>img{object-position:56% center}.media-wash{opacity:1!important;background:linear-gradient(180deg,rgba(245,244,240,.9) 0%,rgba(245,244,240,.85) 44%,rgba(245,244,240,.06) 82%)}.hero-content{top:130px;left:24px;right:24px;width:auto;opacity:1!important;transform:none!important}.hero-content h1{font-size:clamp(47px,9vw,80px)}.hero-description{font-size:16px;max-width:400px}.hero-index{font-size:10px;margin-bottom:23px}.hero-index span:last-child{margin-left:2px}.transition-content{display:none}.scroll-prompt{left:24px;bottom:24px;color:#fff}.corner-reel{right:24px;bottom:16px}.corner-reel-thumb{display:none}.media-label{right:24px;top:auto;bottom:92px;font-size:9px}.trust-inner{display:block;padding:30px 24px}.trust-label{display:block;margin-bottom:22px}.logos{justify-content:flex-start;flex-wrap:wrap;gap:23px 32px}.logos img{max-width:105px;max-height:30px}.approach-head{display:block;padding:85px 24px 65px}.section-label{margin-bottom:25px}.approach-head h2{font-size:clamp(41px,7.7vw,60px)}.approach-head p{margin-top:25px;max-width:500px}.journey{height:auto}.journey-sticky{height:auto;min-height:0;position:relative;display:flex;flex-direction:column;padding:34px 24px 60px;gap:25px}.journey-frame{aspect-ratio:1.25;max-height:none}.journey-copy{padding:0;width:100%;max-width:none}.journey-copy h3{font-size:clamp(55px,11vw,80px)}.journey-copy p{font-size:18px}.journey-rail{display:none}.stage-next{display:none}.mobile-stage{display:block;border-top:1px solid var(--line);padding:40px 24px 50px;background:#ecebe7}.mobile-stage:nth-of-type(even){background:#f3f2ee}.mobile-stage .mobile-count{font-size:11px;font-weight:700;letter-spacing:.18em}.mobile-stage h3{font-size:clamp(46px,9vw,65px);line-height:.95;letter-spacing:-.07em;margin:20px 0}.mobile-stage p{font-size:18px;line-height:1.35;max-width:500px}.mobile-stage img{width:100%;aspect-ratio:1.65;object-fit:cover;margin:20px 0}.mobile-stage ul{display:flex;list-style:none;gap:8px;flex-wrap:wrap;padding:0;margin:0}.mobile-stage li{border:1px solid var(--line);border-radius:100px;padding:7px 10px;font-size:12px}.method-end{padding:60px 24px 80px}}
@media(max-width:560px){.header-cta{font-size:0;gap:0;width:39px;height:39px;justify-content:center;padding:0}.header-cta span{font-size:20px}.opening-sticky{min-height:780px}.hero-content{top:125px}.hero-content h1{font-size:clamp(43px,10.7vw,61px)}.hero-description{max-width:325px;margin:24px 0}.hero-actions{gap:14px}.pill-button{padding:15px 17px;font-size:10px;gap:10px}.play-circle{width:41px;height:41px}.reel-button{font-size:9px;gap:8px}.hero-index{letter-spacing:.15em;gap:10px}.hero-index span:last-child{max-width:190px}.scroll-prompt{font-size:9px}.corner-reel{display:none}.media-label{top:auto;bottom:75px;left:24px;right:auto;max-width:260px;line-height:1.3}.reel-stills{grid-template-columns:1fr 1fr}.reel-stills img:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.intro{display:none}.hero-media{will-change:auto}.opening{height:auto;min-height:0}.opening-sticky{position:relative;height:100vh}.journey{height:auto}.journey-sticky{position:relative}.mobile-stage{display:block}}

/* Phase 2 — réalisations */
.work-intro{padding:clamp(95px,12vw,175px) clamp(24px,4.5vw,78px) clamp(95px,10vw,145px);background:#faf9f6;border-top:1px solid var(--line)}
.work-intro-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:clamp(38px,5vw,75px)}
.work-section-label,.work-intro-top a,.project-index{font-size:11px;font-weight:700;letter-spacing:.17em}
.work-intro-top a{border-bottom:1px solid currentColor;padding-bottom:7px;white-space:nowrap;transition:opacity .3s}.work-intro-top a:hover{opacity:.55}
.work-intro-top a span{font-size:18px;font-weight:400;margin-left:11px}
.work-intro h2{font-size:clamp(64px,8.7vw,150px);line-height:.87;letter-spacing:-.09em;font-weight:780;margin:0;max-width:1350px}
.work-intro h2 span{font-weight:280}
.work-intro>p{font-size:clamp(18px,1.4vw,22px);line-height:1.4;max-width:540px;margin:45px 0 0 50%;color:#454a4a}

.brio-case{background:#17191a;color:#fff}
.brio-scroll{height:310vh;position:relative}
.brio-sticky{position:sticky;top:0;height:100svh;min-height:660px;overflow:hidden;background:#17191a;isolation:isolate}
.brio-topline{position:absolute;top:105px;left:clamp(24px,4.5vw,78px);right:clamp(24px,4.5vw,78px);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;font-weight:700;letter-spacing:.16em}
.brio-stage{position:absolute;inset:0;overflow:hidden}
.brio-main-media{position:absolute;inset:0;background:linear-gradient(145deg,#353a3a,#1c2021 60%,#262a2a);transform:scale(var(--brio-scale,1));border:1px solid rgba(255,255,255,.24);transition:transform .08s linear;will-change:transform}
.brio-main-media:before,.brio-main-media:after{content:"";position:absolute;background:rgba(255,255,255,.1);pointer-events:none}.brio-main-media:before{width:1px;height:100%;left:50%}.brio-main-media:after{height:1px;width:100%;top:50%}
.brio-main-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.62) saturate(.8)}
.brio-main-media:before{inset:0;width:auto;height:auto;left:auto;background:linear-gradient(90deg,rgba(10,14,12,.66),transparent 68%);z-index:1}
.brio-main-media:after{display:none}
.brio-media-index,.brio-media-note{z-index:2;color:#fff}
.brio-media-index{position:absolute;left:5vw;top:19vh;font-size:10px;font-weight:700;letter-spacing:.18em;color:#adb4b1}
.brio-play{position:absolute;top:50%;left:50%;width:86px;height:86px;transform:translate(-50%,-50%);border:1px solid #8d9693;border-radius:50%;display:grid;place-items:center;color:#b7c0bc;font-size:20px;padding-left:3px;opacity:.4}
.brio-media-note{position:absolute;right:5vw;top:19vh;text-align:right;font-size:10px;font-weight:700;letter-spacing:.14em;line-height:1.6;color:#b5bcba}
.brio-copy{position:absolute;left:clamp(24px,4.5vw,78px);bottom:8vh;z-index:4;max-width:900px;text-shadow:0 3px 30px rgba(0,0,0,.15)}
.brio-copy>span{font-size:10px;font-weight:700;letter-spacing:.2em}.brio-copy h2{font-size:clamp(130px,21vw,340px);font-weight:800;letter-spacing:-.115em;line-height:.72;margin:25px 0 28px}.brio-period{font-weight:300}.brio-copy p{font-size:clamp(20px,2vw,31px);line-height:1.14;letter-spacing:-.045em;max-width:485px;margin:0 0 30px}.brio-cta{display:inline-flex;align-items:center;gap:24px;border:1px solid rgba(255,255,255,.85);border-radius:100px;padding:16px 20px;font-size:10px;font-weight:700;letter-spacing:.08em;transition:background .3s,color .3s}.brio-cta:hover{background:#fff;color:#17191a}.brio-cta span{font-size:16px;font-weight:400}
.brio-satellite{position:absolute;z-index:3;width:clamp(125px,15vw,220px);height:clamp(92px,12vw,170px);padding:14px;background:rgba(240,241,237,.95);color:#17191a;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.85);box-shadow:0 15px 45px rgba(0,0,0,.15);opacity:0;transform:translateY(35px) scale(.9);transition:opacity .55s var(--ease),transform .65s var(--ease)}
.brio-satellite.is-visible{opacity:1;transform:translateY(0) scale(1)}.brio-satellite span{font-size:clamp(18px,2.1vw,31px);font-weight:700;letter-spacing:-.07em}.brio-satellite small{font-size:9px;font-weight:700;letter-spacing:.13em;line-height:1.3;color:#66706c}
.brio-satellite:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 35%,rgba(0,0,0,.72))}
.brio-satellite img,.brio-satellite video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.brio-satellite span,.brio-satellite small{position:relative;z-index:2;color:#fff;text-shadow:0 1px 5px #17191a}
.satellite-content{top:24%;left:5%}.satellite-social{top:17%;right:8%}.satellite-web{top:41%;right:4%}.satellite-media{top:46%;left:15%}.satellite-data{top:64%;right:18%}
.brio-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#333839;z-index:8}.brio-progress span{display:block;width:var(--brio-progress,0%);height:100%;background:#fff;transition:width .08s linear}.brio-scroll-anchor{position:absolute;top:185vh;width:1px;height:1px;pointer-events:none;scroll-margin-top:15vh}

.case-omni{padding:clamp(100px,11vw,165px) clamp(24px,4.5vw,78px) clamp(100px,9vw,140px);background:#f7f6f2}
.case-omni-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.case-omni-head h2{font-size:clamp(85px,13.5vw,210px);line-height:.72;letter-spacing:-.105em;margin:30px 0 0}.case-omni-head h2 span,.wse-copy h2 span{font-weight:300}.case-omni-head>p{font-size:clamp(21px,2.1vw,32px);line-height:1.17;letter-spacing:-.045em;max-width:300px;margin:0 0 5px}
.omni-composition{display:grid;grid-template-columns:1.55fr .82fr;grid-template-rows:350px 350px;gap:18px;position:relative}.omni-composition figure{margin:0;overflow:hidden;position:relative}.omni-composition img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.omni-composition figure:hover img{transform:scale(1.035)}.omni-main-photo{grid-row:1/3}.omni-main-photo img{object-position:50% center}.omni-main-photo figcaption{position:absolute;left:20px;bottom:20px;background:rgba(255,255,255,.92);padding:10px 12px;font-size:9px;font-weight:700;letter-spacing:.13em}.omni-secondary-photo{grid-column:2;grid-row:1}.omni-detail-photo{grid-column:2;grid-row:2}.omni-side-note{display:none}
.case-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid var(--line);margin-top:35px;padding-top:27px}.case-bottom p{font-size:clamp(18px,1.7vw,25px);line-height:1.3;letter-spacing:-.03em;max-width:520px;margin:0}.case-bottom a,.wse-copy a{display:inline-flex;align-items:center;gap:30px;font-size:11px;font-weight:700;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:10px;white-space:nowrap;transition:opacity .3s}.case-bottom a:hover,.wse-copy a:hover{opacity:.55}.case-bottom a span,.wse-copy a span{font-size:18px;font-weight:400}

.case-wse{min-height:1120px;color:#fff;background:#17191a;position:relative;overflow:hidden;isolation:isolate;padding:115px clamp(24px,4.5vw,78px) 55px}.wse-background{position:absolute;inset:0;z-index:-1;overflow:hidden}.wse-background img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.4) saturate(.65);transform:scale(1.08) translateY(var(--wse-parallax,0px));will-change:transform}.wse-background:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,14,15,.72),rgba(12,14,15,.1) 70%),linear-gradient(0deg,rgba(12,14,15,.8),transparent 50%)}.wse-head{display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;letter-spacing:.16em}.wse-content{display:flex;justify-content:space-between;align-items:center;gap:35px;min-height:720px}.wse-copy h2{font-size:clamp(82px,10vw,150px);line-height:.87;letter-spacing:-.095em;margin:0 0 38px}.wse-copy p{font-size:clamp(22px,2.2vw,33px);line-height:1.16;letter-spacing:-.045em;max-width:390px;margin:0 0 50px}.wse-vertical{width:clamp(220px,24vw,345px);align-self:center;margin-top:45px}.wse-vertical img{width:100%;aspect-ratio:.73;object-fit:cover;box-shadow:0 35px 75px rgba(0,0,0,.38)}.wse-vertical span{display:block;margin-top:13px;font-size:9px;font-weight:700;letter-spacing:.14em}.wse-bottom{display:flex;align-items:end;gap:25px;border-top:1px solid rgba(255,255,255,.4);padding-top:25px;font-size:10px;font-weight:700;letter-spacing:.14em}.wse-bottom img{width:190px;height:105px;object-fit:cover}.wse-bottom span:last-child{margin-left:auto}

.work-transition{padding:clamp(115px,15vw,220px) clamp(24px,4.5vw,78px) 60px;background:#faf9f6}.work-transition-label{font-size:10px;font-weight:700;letter-spacing:.19em}.work-transition h2{font-size:clamp(47px,5.7vw,92px);line-height:1.02;letter-spacing:-.075em;font-weight:300;max-width:1240px;margin:55px 0 120px}.work-transition h2 strong{font-weight:780}.work-transition-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:23px;font-size:11px;font-weight:700;letter-spacing:.14em}.work-transition-bottom a{border-bottom:1px solid currentColor;padding-bottom:5px}.work-transition-bottom a span{font-size:17px;margin-left:10px;font-weight:400}

.js-motion .reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform 1s var(--ease)}.js-motion .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){.work-intro h2{font-size:clamp(58px,9vw,90px)}.work-intro>p{margin-left:30%}.case-omni-head{display:block}.case-omni-head>p{margin-top:28px}.omni-composition{grid-template-rows:270px 270px}.wse-copy h2{font-size:clamp(70px,9vw,105px)}.brio-satellite{width:155px;height:110px}.brio-copy h2{font-size:25vw}}
@media(max-width:800px){.work-intro{padding:88px 24px 95px}.work-intro-top{display:block;margin-bottom:43px}.work-intro-top a{display:inline-block;margin-top:25px}.work-intro h2{font-size:clamp(53px,10vw,78px)}.work-intro>p{margin:34px 0 0;max-width:470px}.brio-scroll{height:auto}.brio-sticky{position:relative;display:flex;flex-direction:column;height:auto;min-height:0;overflow:visible;padding:95px 24px 55px}.brio-topline{position:static;order:0;font-size:9px}.brio-topline span:last-child{display:none}.brio-copy{position:relative;left:auto;bottom:auto;order:1;margin-top:65px;max-width:none}.brio-copy h2{font-size:clamp(130px,28vw,220px);margin:22px 0 25px}.brio-copy p{font-size:25px;max-width:400px}.brio-stage{position:relative;inset:auto;order:2;overflow:visible;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:65px}.brio-main-media{position:relative;inset:auto;grid-column:1/-1;aspect-ratio:1.15;transform:none!important}.brio-media-index{top:20px;left:20px}.brio-media-note{right:20px;top:20px}.brio-satellite{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:auto;height:95px;opacity:1!important;transform:none!important;padding:11px;box-shadow:none}.brio-satellite span{font-size:23px}.brio-satellite:last-child{grid-column:1/-1}.brio-progress,.brio-scroll-anchor{display:none}.case-omni{padding:95px 24px}.case-omni-head h2{font-size:clamp(72px,16vw,130px)}.omni-composition{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:8px}.omni-main-photo{grid-column:1/-1;grid-row:1;height:58vw;min-height:280px}.omni-secondary-photo{grid-column:1;grid-row:2;height:36vw;min-height:165px}.omni-detail-photo{grid-column:2;grid-row:2;height:36vw;min-height:165px}.case-bottom{display:block}.case-bottom a{margin-top:35px}.case-wse{min-height:0;padding:100px 24px 40px}.wse-content{min-height:0;display:block;padding:100px 0 70px}.wse-copy h2{font-size:clamp(54px,11vw,90px)}.wse-copy p{font-size:24px}.wse-vertical{width:min(67vw,380px);margin:80px 0 0 auto}.wse-background img{transform:none!important}.wse-bottom img{width:130px;height:80px}.work-transition{padding:105px 24px 45px}.work-transition h2{font-size:clamp(42px,8vw,68px);margin:45px 0 100px}.work-transition-bottom{display:block}.work-transition-bottom a{display:inline-block;margin-top:22px}}
@media(max-width:520px){.work-intro h2{font-size:clamp(47px,11.6vw,62px)}.work-intro-top a{font-size:10px}.brio-copy h2{font-size:31vw}.brio-copy p{font-size:23px}.brio-topline span:nth-child(2){text-align:right}.brio-media-note{font-size:8px}.brio-satellite small{font-size:8px}.case-omni-head h2{font-size:17vw}.case-omni-head>p{font-size:23px}.omni-main-photo{height:75vw}.omni-secondary-photo,.omni-detail-photo{height:42vw}.wse-copy h2{font-size:clamp(50px,12vw,70px)}.wse-head{font-size:9px}.wse-bottom{gap:12px}.wse-bottom img{width:80px;height:55px}.wse-bottom span:nth-child(2){font-size:8px}.work-transition h2{font-size:clamp(40px,9.6vw,55px)}}
@media(prefers-reduced-motion:reduce){.brio-scroll{height:auto}.brio-sticky{position:relative;min-height:100vh}.brio-satellite{opacity:1;transform:none}.wse-background img{will-change:auto}.js-motion .reveal{opacity:1;transform:none}}
@media(min-width:801px){
  .brio-copy{opacity:var(--brio-copy-opacity,1);transform:translateY(var(--brio-copy-y,0px));transition:opacity .18s linear}
  .omni-composition{display:block;height:min(70vw,880px)}
  .omni-composition .omni-main-photo{position:absolute;top:0;left:0;width:79%;height:84%}
  .omni-composition .omni-secondary-photo{position:absolute;top:8%;right:0;width:27%;height:43%;border:9px solid #f7f6f2}
  .omni-composition .omni-detail-photo{position:absolute;right:6%;bottom:0;width:35%;height:45%;border:9px solid #f7f6f2}
}
.brio-media-index,.brio-media-note{top:25vh;opacity:var(--brio-edge-opacity,1)}.brio-play{font-size:34px;padding-left:0}
.brio-placeholder-title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;text-align:center;font-size:clamp(76px,13vw,190px);font-weight:800;letter-spacing:-.1em;line-height:.8;color:rgba(255,255,255,.12);opacity:var(--brio-placeholder-opacity,0);transition:opacity .3s;white-space:nowrap}.brio-placeholder-title small{display:block;margin-top:22px;font-size:10px;font-weight:700;letter-spacing:.17em;line-height:1.3;color:rgba(255,255,255,.55)}
@media(min-width:801px){.satellite-content{width:230px;height:140px;top:23%;left:5%}.satellite-social{width:155px;height:210px;top:18%;right:8%}.satellite-web{width:240px;height:130px;top:52%;right:4%}.satellite-media{width:250px;height:105px;top:65%;left:7%}.satellite-data{width:215px;height:115px;top:74%;right:24%}}
@media(max-width:800px){.brio-media-index,.brio-media-note{top:20px}.brio-placeholder-title{opacity:1;font-size:20vw}.brio-placeholder-title small{font-size:8px}.brio-play{display:none}}

/* Phase 3 — expertises */
.work-transition{height:250vh;padding:0;background:#f5f4f0}
.work-transition-sticky{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;padding:118px clamp(24px,4.5vw,78px) 45px;display:flex;flex-direction:column;justify-content:space-between}
.work-transition-label{font-size:11px;letter-spacing:.18em}
.work-transition-lines{position:relative;flex:1;display:grid;align-items:center}
.work-transition h2{grid-area:1/1;margin:0;max-width:none;font-size:clamp(50px,7.5vw,132px);font-weight:300;line-height:.91;letter-spacing:-.085em;opacity:var(--line-opacity,1);transform:translateY(var(--line-y,0px));transition:opacity .08s linear}
.work-transition h2 strong{font-weight:800}
.work-transition-first{--line-opacity:var(--transition-first-opacity,1);--line-y:var(--transition-first-y,0px)}
.work-transition-second{--line-opacity:var(--transition-second-opacity,0);--line-y:var(--transition-second-y,35px)}
.work-transition-bottom{margin:0;display:flex;align-items:center;justify-content:space-between;padding-top:22px;font-size:11px}
.work-transition-bottom>span:first-child{opacity:var(--transition-tag-opacity,.15);transition:opacity .15s linear}
.work-transition-bottom>span:last-child{font-size:9px;letter-spacing:.16em}
.work-transition-bottom>span:last-child span{font-size:17px;margin-left:12px}

.expertise-intro{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#faf9f6;isolation:isolate}
.expertise-intro-media{position:absolute;inset:0 0 0 51%;z-index:-1;overflow:hidden}
.expertise-intro-media img{width:100%;height:100%;object-fit:cover;object-position:49% center;filter:saturate(.66) brightness(1.13);transform:scale(1.04) translateY(var(--intro-photo-y,0px));will-change:transform}
.expertise-intro-media:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#faf9f6 0%,rgba(250,249,246,.86) 17%,transparent 55%)}
.expertise-intro-inner{height:100%;padding:118px clamp(24px,4.5vw,78px) 43px;display:flex;flex-direction:column}
.expertise-kicker,.expertise-number,.expertise-endnote,.visual-side-label,.expertise-loop-top,.expertise-loop-bottom,.finale-kicker,.finale-count{font-size:10px;font-weight:700;letter-spacing:.17em}
.expertise-intro h2{font-size:clamp(60px,7.2vw,122px);line-height:.9;letter-spacing:-.086em;margin:auto 0 25px;max-width:1110px;font-weight:790}
.expertise-intro h2 em,.expertise-loop h2 em{font-weight:300;font-style:normal}
.expertise-intro p{font-size:clamp(20px,1.8vw,28px);letter-spacing:-.035em;line-height:1.18;max-width:395px;margin:0 0 auto}
.expertise-intro-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:15px;font-size:9px;font-weight:700;letter-spacing:.15em}

.expertise-sequence{background:#faf9f6}
.expertise-chapter{height:150svh;min-height:1050px;position:relative;isolation:isolate}
.expertise-pin{position:sticky;top:0;height:100svh;min-height:700px;display:grid;grid-template-columns:minmax(340px,35%) minmax(0,65%);overflow:hidden;background:#faf9f6}
.expertise-copy{padding:118px 32px 35px clamp(24px,4.5vw,78px);display:flex;flex-direction:column;position:relative;z-index:3;background:#faf9f6}
.expertise-number{display:flex;gap:17px;align-items:center}
.expertise-number i{display:block;width:25px;height:1px;background:currentColor}
.expertise-heading{margin:auto 0 25px}
.expertise-word{display:block;font-size:clamp(77px,9.7vw,175px);font-weight:850;line-height:.75;letter-spacing:-.11em;white-space:nowrap;margin:0 0 50px;position:relative;z-index:4}
.expertise-heading h3{font-size:clamp(34px,3.1vw,57px);line-height:.96;letter-spacing:-.075em;margin:0 0 18px;font-weight:800}
.expertise-heading p{font-size:clamp(17px,1.25vw,20px);line-height:1.26;letter-spacing:-.025em;max-width:330px;margin:0}
.expertise-list{list-style:none;margin:0 0 auto;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;max-width:430px}
.expertise-list li{font-size:12px;line-height:1.18;border-bottom:1px solid rgba(21,23,24,.18);padding-bottom:6px}
.expertise-endnote{margin-top:34px}
.expertise-visual{position:relative;overflow:hidden;isolation:isolate}
.expertise-visual img{object-fit:cover}
.expertise-visual:after{content:"";position:absolute;inset:0;border-left:1px solid rgba(21,23,24,.12);pointer-events:none}
.expertise-chapter .expertise-visual>*{--chapter-enter:0;}
.expertise-chapter.is-active .expertise-word{transform:translateX(0)}

.chapter-brand .expertise-visual{background:#e5e1d9;padding:7vh 7vw 7vh 4vw}
.brand-board{height:100%;background:#f7f5ef;box-shadow:0 30px 65px rgba(34,33,30,.15);padding:23px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr 1fr;gap:18px;transform:translateY(var(--chapter-media-y,0px)) scale(var(--chapter-scale,1));transition:transform .12s linear}
.brand-board-top,.brand-board-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;font-size:9px;font-weight:700;letter-spacing:.13em}
.brand-board-image{position:relative;min-height:0;overflow:hidden}.brand-board-image img{width:100%;height:100%;filter:saturate(.77)}
.brand-board-image span{position:absolute;left:12px;bottom:12px;color:#fff;font-size:8px;font-weight:700;letter-spacing:.12em;text-shadow:0 1px 10px #000}
.brand-board-type{display:flex;align-items:center;font-size:clamp(42px,5.3vw,100px);font-weight:800;line-height:.84;letter-spacing:-.09em}
.brand-board-foot{border-top:1px solid var(--line);padding-top:13px}
.visual-side-label{position:absolute;right:16px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%)}

.chapter-content .expertise-pin,.chapter-content .expertise-copy{background:#e7e2da}
.content-visual{background:#524b45;color:#fff}
.content-backdrop{position:absolute;inset:0;width:100%;height:100%;filter:brightness(.67) saturate(.75);transform:scale(1.1) translateY(var(--chapter-media-y,0px));transition:transform .12s linear}
.content-film{position:absolute;top:16%;left:12%;width:54%;height:50%;background:#191a19;border:7px solid #e7e2da;box-shadow:0 25px 65px rgba(0,0,0,.3);transform:translateY(calc(var(--chapter-media-y,0px) * -.55)) rotate(-2deg);transition:transform .12s linear}
.content-film img{width:100%;height:100%;filter:saturate(.8)}.content-film span{position:absolute;left:12px;bottom:10px;font-size:8px;font-weight:700;letter-spacing:.11em;text-shadow:0 1px 7px #000}
.content-vertical{position:absolute;right:8%;top:12%;width:25%;height:58%;background:#17191a;border:6px solid #17191a;border-radius:22px;box-shadow:0 25px 60px rgba(0,0,0,.3);transform:translateY(calc(var(--chapter-media-y,0px) * 1.1)) rotate(4deg);transition:transform .12s linear}
.content-vertical img{width:100%;height:calc(100% - 28px);border-radius:15px;object-position:70% center}.content-vertical span{display:block;text-align:center;font-size:7px;font-weight:700;letter-spacing:.07em;padding-top:8px}
.content-placeholder{position:absolute;left:13%;bottom:16%;padding:14px 17px;background:#f7f6f2;color:#17191a;font-size:9px;line-height:1.5;letter-spacing:.12em;font-weight:700;transform:rotate(-2deg)}.content-placeholder strong{font-size:13px}
.content-caption{position:absolute;bottom:5%;right:5%;text-align:right;font-size:clamp(21px,2.4vw,40px);font-weight:800;letter-spacing:-.06em;line-height:.95;text-shadow:0 3px 15px rgba(0,0,0,.35)}

.chapter-media .expertise-pin,.chapter-media .expertise-copy{background:#f5f4f0}
.media-visual{background:#e6e6e2}
.media-photo{position:absolute;background:#fff;padding:10px;box-shadow:0 20px 60px rgba(22,25,25,.13);overflow:hidden}
.media-photo img{width:100%;height:100%;filter:saturate(.84)}
.media-photo-one{left:9%;top:11%;width:62%;height:54%;transform:translateY(var(--chapter-media-y,0px)) rotate(-1.5deg);transition:transform .12s linear}
.media-photo-one span{position:absolute;left:17px;bottom:17px;background:#fff;padding:8px;font-size:8px;font-weight:700;letter-spacing:.12em}
.media-photo-two{right:8%;bottom:12%;width:28%;height:49%;transform:translateY(calc(var(--chapter-media-y,0px) * -.7)) rotate(2deg);transition:transform .12s linear}
.media-routing{position:absolute;left:7%;bottom:10%;display:flex;align-items:center;gap:15px;background:#17191a;color:#fff;padding:17px 20px;font-size:12px;font-weight:800;letter-spacing:.07em;line-height:1.1;box-shadow:0 15px 30px rgba(0,0,0,.14)}.media-routing span:nth-child(2){font-size:27px;font-weight:300}.media-routing span:last-child{font-size:11px}
.media-tags{position:absolute;top:6%;right:5%;display:flex;gap:5px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.13em;font-weight:700}

.chapter-data .expertise-pin,.chapter-data .expertise-copy{background:#202729;color:#f7f7f3}
.chapter-data .expertise-list li{border-color:rgba(255,255,255,.25)}
.data-visual{background:#131b1e;color:#fff;padding:7vh 6vw;display:flex;flex-direction:column;justify-content:space-between}
.data-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.04) 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,rgba(255,255,255,.04) 50%,transparent 50.1%);background-size:95px 95px;opacity:.5;pointer-events:none}
.data-caption,.data-asset-note{position:relative;z-index:1;font-size:9px;font-weight:700;letter-spacing:.14em;color:#abb5b5}
.data-observe{position:relative;z-index:1;display:flex;justify-content:space-between;gap:15px;align-items:end;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:22px}
.data-observe span{font-size:12px;letter-spacing:.13em;font-weight:700}.data-observe strong{font-size:clamp(37px,4.9vw,82px);line-height:.85;letter-spacing:-.075em;white-space:nowrap}
.data-flow{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:center;margin:5vh 0}
.data-flow span{position:relative;border:1px solid rgba(255,255,255,.5);padding:22px 10px;text-align:center;font-size:10px;font-weight:800;letter-spacing:.07em;background:#1f2a2e;transform:translateY(var(--flow-y,0px));transition:transform .6s var(--ease),background .6s}
.data-flow span:not(:last-child):after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);z-index:2;background:#131b1e;padding:0 3px;font-size:19px;font-weight:300}
.data-flow span.is-lit{background:#e2e8e5;color:#131b1e}
.data-return{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.25);padding-top:22px}
.data-return span{font-size:10px;letter-spacing:.16em;font-weight:700;color:#aeb9b8}.data-return div{margin-top:13px;font-size:clamp(24px,2.6vw,45px);font-weight:750;line-height:1.05;letter-spacing:-.055em}.data-return b{font-size:.75em;font-weight:300;padding:0 .2em;color:#a0bebd}

.chapter-experience .expertise-pin,.chapter-experience .expertise-copy{background:#f1f0eb}
.experience-visual{color:#fff;background:#222}
.experience-main{position:absolute;inset:0;width:100%;height:100%;object-position:center;transform:scale(1.08) translateY(var(--chapter-media-y,0px));transition:transform .12s linear}
.experience-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,6,.58),transparent 55%),linear-gradient(0deg,rgba(5,6,6,.64),transparent 54%)}
.experience-inset{position:absolute;right:5%;top:12%;width:27%;height:40%;border:8px solid #f1f0eb;transform:rotate(4deg) translateY(calc(var(--chapter-media-y,0px) * -.8));box-shadow:0 25px 55px rgba(0,0,0,.22);transition:transform .12s linear}
.experience-inset img{width:100%;height:100%}.experience-inset span{position:absolute;left:5px;bottom:5px;font-size:7px;letter-spacing:.06em;font-weight:700;text-shadow:0 1px 5px #000}
.experience-message{position:absolute;left:7%;bottom:8%;font-size:clamp(42px,5.8vw,98px);font-weight:800;letter-spacing:-.085em;line-height:.88}

.expertise-loop{padding:120px clamp(24px,4.5vw,78px) 40px;background:#faf9f6;min-height:680px}
.expertise-loop-top,.expertise-loop-bottom{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:15px}
.expertise-loop-content{display:grid;grid-template-columns:1fr 1.35fr;gap:6vw;align-items:center;min-height:500px}
.expertise-loop h2{font-size:clamp(43px,4.7vw,80px);letter-spacing:-.075em;line-height:.98;margin:0 0 26px}
.expertise-loop p{font-size:19px;line-height:1.36;max-width:390px;margin:0}
.loop-diagram{position:relative;padding:30px 0 20px}
.loop-nodes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.loop-nodes span{position:relative;z-index:1;min-width:0;height:clamp(130px,11vw,168px);border:1px solid var(--ink);padding:13px 11px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;background:#faf9f6}
.loop-nodes small,.loop-nodes em{font-size:8px;font-weight:700;font-style:normal;letter-spacing:.09em}
.loop-nodes strong{align-self:center;font-size:clamp(11px,1vw,17px);font-weight:800;letter-spacing:-.025em}
.loop-nodes span:last-child{background:#17191a;color:#fff}
.loop-nodes span:not(:last-child):before{content:"";position:absolute;left:100%;top:50%;width:16px;border-top:1px solid var(--ink)}
.loop-nodes span:not(:last-child):after{content:"";position:absolute;right:-14px;top:calc(50% - 3px);width:6px;height:6px;border-top:1px solid var(--ink);border-right:1px solid var(--ink);transform:rotate(45deg);z-index:2}
.loop-journey{height:62px;position:relative;border:1px solid var(--ink);border-top:0;border-radius:0 0 14px 14px;margin:0 9.5%}
.loop-return{position:absolute;left:-6px;top:4px;width:11px;height:11px;border-top:1.5px solid var(--ink);border-left:1.5px solid var(--ink);transform:rotate(45deg);background:#faf9f6}
.loop-experience{display:block;text-align:center;margin-top:20px;font-size:9px;font-weight:700;letter-spacing:.15em}
.expertise-loop-bottom{border-top:1px solid var(--line);border-bottom:0;padding-top:16px;padding-bottom:0}

.expertise-finale{height:370vh;position:relative;background:#17191a;color:#fff}
.expertise-finale-sticky{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;padding:105px clamp(24px,4.5vw,78px) 40px;display:flex;flex-direction:column;justify-content:space-between}
.finale-lines{display:grid;align-items:center;flex:1}
.finale-lines p{grid-area:1/1;margin:0;font-size:clamp(55px,8vw,145px);font-weight:300;line-height:.89;letter-spacing:-.085em;opacity:0;transform:translateY(35px);pointer-events:none;transition:opacity .16s linear,transform .25s ease}
.finale-lines p strong{font-weight:820}
.finale-lines p.is-current{opacity:1;transform:translateY(0)}
.finale-count{border-top:1px solid rgba(255,255,255,.35);padding-top:18px}
.next-phase-space{height:32vh;background:#faf9f6}

@media(max-width:1100px){
  .expertise-pin{grid-template-columns:minmax(310px,38%) minmax(0,62%)}
  .expertise-word{font-size:clamp(68px,9vw,110px)}
  .expertise-copy{padding-right:24px}
  .expertise-list{gap:7px 8px}
  .expertise-list li{font-size:11px}
  .brand-board-type{font-size:5.1vw}
  .data-flow span{font-size:8px;padding:19px 5px}
  .data-observe{display:block}
  .data-observe strong{display:block;margin-top:18px}
}
@media(max-width:800px){
  .work-transition{height:auto}.work-transition-sticky{height:auto;min-height:0;position:relative;padding:108px 24px 35px;gap:60px}.work-transition-lines{display:block}.work-transition h2{position:relative;opacity:1!important;transform:none!important;font-size:clamp(40px,8.5vw,72px);margin:0 0 65px}.work-transition h2:last-child{margin-bottom:0}.work-transition-bottom>span:first-child{opacity:1!important}.work-transition-bottom>span:last-child{display:none}
  .expertise-intro{height:auto;min-height:690px}.expertise-intro-media{inset:34% 0 0 25%}.expertise-intro-media:before{background:linear-gradient(180deg,#faf9f6 0%,rgba(250,249,246,.8) 20%,rgba(250,249,246,.22) 70%)}.expertise-intro-inner{min-height:690px;padding:110px 24px 35px}.expertise-intro h2{font-size:clamp(53px,9.5vw,80px);margin:35px 0 20px}.expertise-intro p{font-size:21px}.expertise-intro-bottom{font-size:8px;gap:10px}
  .expertise-chapter{height:auto;min-height:0}.expertise-pin{position:relative;height:auto;min-height:0;display:flex;flex-direction:column;overflow:visible}.expertise-copy{padding:80px 24px 43px;display:flex}.expertise-heading{margin:35px 0 25px}.expertise-word{font-size:clamp(78px,20vw,155px);margin-bottom:35px}.expertise-heading h3{font-size:clamp(40px,7.5vw,62px)}.expertise-heading p{font-size:19px;max-width:480px}.expertise-list{grid-template-columns:repeat(2,1fr);max-width:650px;gap:12px 18px;margin:0}.expertise-list li{font-size:13px}.expertise-endnote{margin-top:40px}.expertise-visual{height:73vw;min-height:430px;max-height:630px}.brand-board{transform:none!important}.content-backdrop,.content-film,.content-vertical,.media-photo,.experience-main,.experience-inset{transform:none!important}.brand-board-type{font-size:clamp(46px,8.5vw,80px)}
  .expertise-loop{padding:85px 24px 40px;min-height:0}.expertise-loop-content{display:block;padding:75px 0}.expertise-loop h2{font-size:clamp(42px,7vw,65px)}.expertise-loop p{margin-bottom:65px}
  .expertise-finale{height:auto}.expertise-finale-sticky{height:auto;min-height:0;position:relative;padding:100px 24px 40px}.finale-lines{display:block;margin:75px 0 120px}.finale-lines p{opacity:1!important;transform:none!important;display:block;margin:0 0 95px;font-size:clamp(48px,8.8vw,80px)}.finale-lines p:last-child{margin-bottom:0}.next-phase-space{height:25vh}
}
@media(max-width:520px){
  .work-transition h2{font-size:clamp(40px,10.7vw,59px)}.work-transition-bottom{font-size:9px}
  .expertise-intro{min-height:720px}.expertise-intro-inner{min-height:720px}.expertise-intro h2{font-size:clamp(45px,10.7vw,60px)}.expertise-intro-bottom{flex-direction:column;gap:5px}.expertise-intro-media{inset:35% 0 0 8%}
  .expertise-copy{padding:72px 24px 37px}.expertise-word{font-size:clamp(71px,19vw,95px)}.chapter-experience .expertise-word{font-size:16vw}.expertise-heading h3{font-size:40px}.expertise-list{grid-template-columns:repeat(2,1fr);gap:10px}.expertise-list li{font-size:12px}.expertise-visual{height:110vw;min-height:395px}.chapter-brand .expertise-visual{padding:35px 28px}.brand-board{padding:10px;gap:8px}.brand-board-top,.brand-board-foot{font-size:6px}.brand-board-type{font-size:9vw}.visual-side-label{display:none}.content-film{left:7%;width:63%;top:14%;height:48%}.content-vertical{right:5%;width:27%;height:56%}.content-placeholder{bottom:17%;left:7%;font-size:7px;padding:10px}.content-placeholder strong{font-size:10px}.content-caption{font-size:6vw;right:5%;bottom:4%}.media-photo-one{left:5%;width:72%;height:49%}.media-photo-two{width:33%;right:4%;bottom:13%}.media-routing{left:5%;bottom:5%;padding:12px;font-size:9px;gap:7px}.media-routing span:last-child{font-size:8px}.media-tags{display:none}.data-visual{padding:30px 22px}.data-caption,.data-asset-note{font-size:7px}.data-observe span{font-size:9px}.data-observe strong{font-size:42px}.data-flow{gap:4px;margin:10px 0}.data-flow span{padding:15px 3px;font-size:6px}.data-flow span:not(:last-child):after{right:-8px;font-size:12px}.data-return span{font-size:8px}.data-return div{font-size:22px}.experience-inset{width:35%;height:37%;top:10%}.experience-message{font-size:11vw}.expertise-loop-top,.expertise-loop-bottom{font-size:8px}.expertise-loop-top span:last-child{display:none}.expertise-loop h2{font-size:42px}.loop-nodes{gap:4px}.loop-nodes span{font-size:8px}.loop-experience{font-size:7px}.finale-lines p{font-size:clamp(43px,10vw,57px)}
}
@media(prefers-reduced-motion:reduce){.work-transition{height:auto}.work-transition-sticky{position:relative;height:auto;min-height:0}.work-transition-lines{display:block}.work-transition h2{opacity:1!important;transform:none!important;margin:60px 0}.expertise-chapter{height:auto;min-height:0}.expertise-pin{position:relative;height:auto;min-height:720px}.expertise-finale{height:auto}.expertise-finale-sticky{height:auto;position:relative;min-height:0}.finale-lines{display:block}.finale-lines p{opacity:1;transform:none;margin:80px 0}}
.expertise-intro-bottom span:last-child{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.chapter-brand .expertise-visual{padding-top:10vh;padding-bottom:5vh}
.loop-return-label{display:block;text-align:center;margin-top:18px;font-size:9px;font-weight:700;letter-spacing:.12em}
.loop-experience{margin-top:20px;color:#626768}
@media(max-width:800px){.expertise-intro-bottom span:last-child{color:var(--ink);text-shadow:none}.chapter-brand .expertise-visual{padding-top:35px;padding-bottom:35px}}
@media(max-width:600px){
  .expertise-loop-content{padding:65px 0}.expertise-loop p{margin-bottom:42px}
  .loop-diagram{padding:0 0 15px}.loop-nodes{display:block}
  .loop-nodes span{height:64px;padding:0 14px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;border-bottom:0}
  .loop-nodes span:last-child{border-bottom:1px solid var(--ink)}
  .loop-nodes strong{align-self:center;justify-self:start;font-size:17px}
  .loop-nodes small,.loop-nodes em{font-size:9px}
  .loop-nodes span:before,.loop-nodes span:after{display:none}
  .loop-journey{display:none}
  .loop-return-label{margin-top:18px;text-align:left;font-size:9px;line-height:1.4}
  .loop-return-label:before{content:"↖︎";display:inline-block;margin-right:8px;font-size:17px;vertical-align:-2px}
  .loop-experience{text-align:left;font-size:8px;line-height:1.5}
}
.finale-lines p:first-child{opacity:1;transform:none}
.js-motion .finale-lines p:first-child:not(.is-current){opacity:0;transform:translateY(35px)}
@media(max-width:800px){.js-motion .finale-lines p:first-child:not(.is-current){opacity:1;transform:none}}

/* Phase 4 — creative × performance */
.agency-duality{background:#faf9f6;color:#17191a}
.agency-intro{padding:125px clamp(24px,4.5vw,78px) 75px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,.57fr) minmax(130px,.28fr);column-gap:3vw;row-gap:34px;align-items:end;min-height:450px}
.agency-index{grid-column:1/-1;align-self:start;font-size:11px;font-weight:700;letter-spacing:.17em}
.agency-intro h2{font-size:clamp(55px,5.75vw,101px);line-height:.87;letter-spacing:-.09em;font-weight:820;margin:0;white-space:nowrap}
.agency-intro h2 span{font-weight:820}
.agency-intro-copy{font-size:clamp(16px,1.18vw,20px);line-height:1.33;letter-spacing:-.02em;margin:0 0 5px;max-width:370px}
.agency-intro-aside{font-size:10px;font-weight:750;letter-spacing:.14em;line-height:1.6;margin:0 0 7px;white-space:nowrap}
.duality-scroll{height:280svh;position:relative}
.duality-sticky{height:calc(100svh - 72px);min-height:0;position:sticky;top:72px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) clamp(112px,10vw,165px) minmax(0,1fr);background:#faf9f6}
.culture-panel{height:100%;position:relative;overflow:hidden;isolation:isolate;opacity:var(--panel-opacity,1);transform:translateY(var(--panel-y,0px));transition:opacity .14s linear,transform .14s linear}
.culture-photo{position:absolute;inset:0;z-index:-2;overflow:hidden}
.culture-photo img{width:100%;height:100%;object-fit:contain;object-position:right center;transform:scale(var(--portrait-scale,1));transition:transform .12s linear}
.creative-photo{background:#faf9f6}.creative-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,249,246,.97) 0%,rgba(250,249,246,.86) 30%,rgba(250,249,246,.08) 68%,transparent 100%)}
.performance-photo{background:#17191a}.performance-photo img{object-position:left center}
.performance-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,10,.12) 0%,rgba(8,9,10,.1) 36%,rgba(8,9,10,.68) 67%,rgba(8,9,10,.87) 100%),linear-gradient(0deg,rgba(8,9,10,.53),transparent 35%)}
.culture-topline{position:absolute;top:38px;left:clamp(25px,3vw,55px);right:clamp(25px,3vw,55px);display:flex;justify-content:space-between;gap:15px;font-size:10px;font-weight:750;letter-spacing:.16em}
.culture-main{position:absolute;top:18%;left:clamp(25px,3vw,55px);right:25px}
.culture-main h3{font-size:clamp(58px,5.7vw,100px);line-height:.84;letter-spacing:-.09em;font-weight:840;margin:0 0 21px}
.culture-subtitle{font-size:11px;font-weight:750;letter-spacing:.14em}
.culture-main p{font-size:clamp(17px,1.35vw,22px);line-height:1.2;letter-spacing:-.035em;max-width:260px;margin:32px 0 0}
.culture-bottom{position:absolute;left:clamp(25px,3vw,55px);right:clamp(25px,3vw,55px);bottom:40px;display:flex;justify-content:space-between;align-items:end;gap:20px}
.culture-bottom ul{list-style:none;padding:0;margin:0;font-size:10px;font-weight:700;line-height:1.65;letter-spacing:.07em}
.culture-bottom p{font-size:clamp(13px,1.25vw,19px);line-height:1.1;letter-spacing:-.025em;font-weight:750;margin:0;text-align:right}
.performance-panel{color:#fff;--panel-opacity:var(--performance-opacity,1);--panel-y:var(--performance-y,0px)}
.creative-panel{--panel-opacity:var(--creative-opacity,1);--panel-y:var(--creative-y,0px)}
.performance-panel .culture-main{left:36%;right:clamp(25px,3vw,55px)}
.performance-panel .culture-main h3{font-size:clamp(38px,3.3vw,61px);letter-spacing:-.075em;white-space:nowrap}
.performance-panel .culture-main p{max-width:250px}
.performance-panel .culture-bottom{flex-direction:row-reverse}
.performance-panel .culture-bottom p{text-align:left;font-weight:650}
.performance-panel .culture-topline{flex-direction:row-reverse}
.culture-loop{background:#faf9f6;padding:38px 10px 37px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;position:relative;z-index:2;border-left:1px solid var(--line);border-right:1px solid var(--line);opacity:var(--culture-loop-opacity,1);transition:opacity .2s linear}
.culture-loop-title,.culture-loop-foot{font-size:8px;font-weight:750;letter-spacing:.12em;text-align:center;line-height:1.3}
.culture-loop-track{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%;padding:35px 0}
.culture-loop-track span{display:block;font-size:10px;font-weight:800;letter-spacing:.045em;text-align:center;line-height:1.2;opacity:.25;transition:opacity .35s,transform .45s var(--ease);transform:translateY(7px)}
.culture-loop-track span.is-active{opacity:1;transform:translateY(0)}
.culture-loop-track i{display:block;width:1px;min-height:6vh;flex:1;max-height:100px;background:#17191a;opacity:.18;transform:scaleY(.55);transform-origin:top;transition:opacity .45s,transform .6s var(--ease)}
.culture-loop-track i.is-active{opacity:1;transform:scaleY(1)}
.culture-loop-track i:after{content:"";display:block;width:3px;height:3px;border-radius:50%;background:#17191a;position:relative;top:100%;left:-1px}
.culture-loop-track b{font-size:35px;font-weight:300;line-height:1;margin-top:18px;opacity:.25;transition:opacity .4s}.culture-loop-track b.is-active{opacity:1}
.agency-closing{padding:75px clamp(24px,4.5vw,78px) 105px;display:grid;grid-template-columns:1fr 2fr;gap:40px;border-bottom:1px solid var(--line)}
.agency-closing span{font-size:11px;font-weight:750;letter-spacing:.16em}
.agency-closing p{margin:0;font-size:clamp(24px,2.7vw,47px);line-height:1.02;letter-spacing:-.055em;font-weight:740}
.proofs-handoff{height:31vh;min-height:210px;background:#faf9f6;padding:33px clamp(24px,4.5vw,78px);display:flex;justify-content:space-between;align-items:start;border-top:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:.16em}

@media(max-width:1150px){
  .agency-intro{grid-template-columns:1fr 1fr;min-height:0;padding-bottom:65px}.agency-intro h2{grid-column:1/-1}.agency-intro-copy{grid-column:1}.agency-intro-aside{grid-column:2;justify-self:end}
  .culture-main h3{font-size:clamp(54px,6vw,80px)}.performance-panel .culture-main h3{font-size:clamp(34px,3.5vw,48px)}
  .culture-bottom p{font-size:13px}
}
@media(max-width:800px){
  .agency-intro{display:block;padding:100px 24px 65px}.agency-index{display:block;margin-bottom:35px}.agency-intro h2{font-size:clamp(48px,9.4vw,76px);white-space:normal;line-height:.91}.agency-intro-copy{font-size:19px;max-width:540px;margin:30px 0 28px}.agency-intro-aside{font-size:9px;line-height:1.5;border-top:1px solid var(--line);padding-top:15px}
  .duality-scroll{height:auto}.duality-sticky{height:auto;min-height:0;position:relative;top:auto;display:flex;flex-direction:column;overflow:visible}.culture-panel{height:auto;opacity:1!important;transform:none!important;display:flex;flex-direction:column;overflow:visible}.culture-photo{position:relative;inset:auto;height:115vw;min-height:450px;max-height:770px;order:2}.culture-photo img,.performance-photo img{transform:none!important;object-position:50% 27%}.creative-photo:after,.performance-photo:after{display:none}.culture-topline{position:relative;top:auto;left:auto;right:auto;order:0;padding:25px 24px 0}.culture-main{position:relative;top:auto;left:auto;right:auto;order:1;padding:38px 24px 25px}.culture-main h3{font-size:clamp(57px,11vw,95px);margin-bottom:16px}.culture-main p{display:none}.culture-bottom{position:relative;left:auto;right:auto;bottom:auto;order:3;display:flex;flex-direction:column;align-items:start;padding:32px 24px 55px;gap:25px}.culture-bottom:before{content:attr(data-description);display:none}.culture-bottom ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;width:100%;font-size:10px;line-height:1.5}.culture-bottom li{border-bottom:1px solid currentColor;padding-bottom:4px;margin-bottom:4px}.culture-bottom p{text-align:left;font-size:22px;line-height:1.02}
  .creative-panel{background:#f0eeea}.performance-panel{background:#17191a}.performance-panel .culture-topline{flex-direction:row}.performance-panel .culture-main{left:auto;right:auto}.performance-panel .culture-main h3{font-size:clamp(44px,8.2vw,70px)}.performance-panel .culture-bottom{flex-direction:column;align-items:start}.performance-panel .culture-bottom p{text-align:left;font-size:22px}
  .culture-loop{order:0;padding:65px 24px;min-height:680px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);opacity:1!important}.culture-loop-title{font-size:10px}.culture-loop-track{padding:30px 0}.culture-loop-track span{font-size:13px;opacity:1!important;transform:none!important}.culture-loop-track i{min-height:55px;max-height:90px;opacity:1!important;transform:none!important}.culture-loop-track b{opacity:1!important}.culture-loop-foot{font-size:9px}
  .agency-closing{display:block;padding:75px 24px 90px}.agency-closing span{display:block;margin-bottom:28px}.agency-closing p{font-size:clamp(27px,6vw,46px)}.proofs-handoff{padding:28px 24px;gap:15px;min-height:180px;height:24vh}.proofs-handoff span:last-child{text-align:right}
}
@media(max-width:520px){
  .agency-intro h2{font-size:clamp(45px,10vw,58px)}.agency-intro-copy{font-size:18px}
  .culture-photo{height:135vw;min-height:500px}.culture-main h3{font-size:18vw}.performance-panel .culture-main h3{font-size:10.5vw}.culture-bottom ul{font-size:9px}.culture-bottom p{font-size:20px}.performance-panel .culture-bottom p{font-size:20px}
  .culture-loop{min-height:610px}.culture-loop-track i{min-height:48px}.agency-closing p{font-size:7.2vw}.proofs-handoff{font-size:8px}
}
@media(prefers-reduced-motion:reduce){.duality-scroll{height:auto}.duality-sticky{height:auto;min-height:780px;position:relative;top:auto}.culture-panel,.culture-loop{opacity:1;transform:none}.culture-loop-track span,.culture-loop-track i,.culture-loop-track b{opacity:1;transform:none}}
.culture-mobile-description{display:none}
@media(max-width:800px){.culture-bottom .culture-mobile-description{display:block;font-size:19px;font-weight:400;letter-spacing:-.025em;line-height:1.3;max-width:520px;margin:0 0 5px}.performance-panel .culture-bottom .culture-mobile-description{font-size:19px;font-weight:400;line-height:1.3}}
.creative-panel .culture-main h3{font-size:clamp(55px,4.8vw,82px)}
@media(max-width:800px){.creative-photo img,.performance-photo img{transform:none!important;object-fit:cover;object-position:50% 0}}
.creative-panel .culture-bottom>p:last-child{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.45)}
@media(max-width:800px){.creative-panel .culture-bottom>p:last-child{color:#17191a;text-shadow:none}}

/* Phase 5 — preuves, clients et résultats */
.proofs{background:#faf9f6;color:#17191a;padding:0 clamp(24px,4.5vw,78px) 125px}
.proofs-intro{min-height:680px;padding:145px 0 115px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.36fr);column-gap:5vw;align-content:space-between;border-top:1px solid var(--line)}
.proofs-index{grid-column:1/-1;font-size:11px;font-weight:750;letter-spacing:.18em}
.proofs-intro h2{font-size:clamp(55px,5.35vw,91px);line-height:.91;letter-spacing:-.08em;margin:80px 0 0;white-space:nowrap;font-weight:340}
.proofs-intro h2 strong{font-weight:820}
.proofs-intro p{font-size:clamp(18px,1.4vw,23px);line-height:1.32;letter-spacing:-.025em;align-self:end;max-width:340px;margin:0 0 8px}
.proofs-rule{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:14px}
.proofs-rule h3,.proofs-rule span{font-size:10px;font-weight:760;letter-spacing:.16em;margin:0;line-height:1.4}
.proofs-rule span{color:#606667;text-align:right}
.proofs-clients{padding-bottom:125px}
.proofs-logo-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:68px}
.proofs-logo{min-height:195px;display:grid;place-items:center;border-right:1px solid var(--line);transition:background .3s ease}
.proofs-logo:last-child{border-right:0}.proofs-logo:hover{background:#f1f0ec}
.proofs-logo img{width:auto;height:auto;max-width:min(63%,205px);max-height:88px;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.82;transition:opacity .3s,transform .4s var(--ease)}
.proofs-logo:hover img{opacity:1;transform:scale(1.045)}
.proofs-results{padding-bottom:130px}
.proofs-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:65px}
.proofs-kpi{min-height:260px;padding:0 33px;display:flex;flex-direction:column;border-right:1px solid var(--line)}
.proofs-kpi:first-child{padding-left:0}.proofs-kpi:last-child{border-right:0}
.proofs-kpi strong{font-size:clamp(100px,11vw,170px);font-weight:250;letter-spacing:-.1em;line-height:.68;margin:20px 0 60px;color:#1c2020}
.proofs-kpi span{font-size:clamp(20px,1.7vw,28px);letter-spacing:-.045em;font-weight:700;margin-top:auto}
.proofs-kpi small{font-size:9px;font-weight:760;letter-spacing:.15em;margin-top:14px;color:#616768}
.proofs-voices{padding-bottom:130px}
.proofs-voice-placeholder{min-height:350px;padding:68px 0 45px;display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);column-gap:7vw;border-bottom:1px solid var(--line)}
.proofs-voice-placeholder>span,.proofs-voice-placeholder>small{font-size:10px;font-weight:750;letter-spacing:.16em;line-height:1.4}
.proofs-voice-placeholder>span{color:#6b7070}
.proofs-voice-placeholder p{font-size:clamp(44px,5.2vw,86px);line-height:.95;letter-spacing:-.075em;font-weight:680;margin:0;max-width:850px;color:#8b8e8d}
.proofs-voice-placeholder>small{grid-column:2;margin-top:32px;color:#6b7070}
.proofs-field{padding-bottom:0}
.proofs-media-strip{margin-top:40px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.proofs-media-strip figure{margin:0;min-width:0;overflow:hidden}
.proofs-media-strip img{width:100%;height:clamp(190px,19vw,295px);object-fit:cover;filter:saturate(.72);transform:scale(1.045) translateY(var(--proof-image-y,0px));transition:transform .18s linear,filter .6s}
.proofs-media-strip figure:hover img{filter:saturate(1);transform:scale(1.065)}
.proofs-media-strip figcaption{font-size:8px;font-weight:750;letter-spacing:.12em;line-height:1.3;margin-top:10px;color:#555d5d}
.proofs-field-note{font-size:11px;font-weight:750;letter-spacing:.17em;margin:55px 0 0;text-align:right}
.proofs-contact-transition{min-height:730px;padding:42px clamp(24px,4.5vw,78px) 55px;background:#efede7;color:#17191a;display:flex;flex-direction:column;justify-content:space-between}
.proofs-contact-top,.proofs-contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;font-weight:750;letter-spacing:.15em}
.proofs-contact-top{border-bottom:1px solid var(--line);padding-bottom:18px}
.proofs-contact-transition h2{font-size:clamp(58px,7.3vw,125px);line-height:.91;letter-spacing:-.086em;font-weight:300;margin:60px 0;max-width:1320px}
.proofs-contact-transition h2 strong{font-weight:820}
.proofs-contact-bottom{border-top:1px solid var(--line);padding-top:24px}
.proofs-contact-bottom a{display:inline-flex;align-items:center;gap:23px;background:#17191a;color:#fff;border:1px solid #17191a;border-radius:100px;padding:18px 24px;transition:background .3s,color .3s}
.proofs-contact-bottom a:hover{background:transparent;color:#17191a}
.proofs-contact-bottom a span{font-size:18px;font-weight:300}
.phase6-space{height:20vh;background:#faf9f6}

@media(max-width:1100px){
  .proofs-intro{display:block;min-height:0;padding:120px 0 110px}.proofs-intro h2{white-space:normal;font-size:clamp(55px,6.2vw,75px);margin:75px 0 35px}.proofs-intro p{max-width:570px}
  .proofs-contact-transition h2{font-size:clamp(57px,7.1vw,90px)}
}
@media(max-width:800px){
  .proofs{padding:0 24px 85px}.proofs-intro{padding:105px 0 90px}.proofs-intro h2{font-size:clamp(46px,8.7vw,72px);margin:60px 0 28px}.proofs-intro p{font-size:19px;max-width:500px}.proofs-rule{gap:16px}.proofs-rule h3,.proofs-rule span{font-size:9px}
  .proofs-clients,.proofs-results,.proofs-voices{padding-bottom:85px}.proofs-logo-wall{margin-top:40px}.proofs-logo{min-height:140px}.proofs-logo img{max-width:75%;max-height:70px}
  .proofs-kpis{margin-top:35px}.proofs-kpi{min-height:200px;padding:0 18px}.proofs-kpi strong{font-size:105px;margin:22px 0 45px}.proofs-kpi span{font-size:20px}
  .proofs-voice-placeholder{min-height:0;padding:45px 0;grid-template-columns:1fr}.proofs-voice-placeholder p{font-size:clamp(42px,7vw,66px);margin-top:28px}.proofs-voice-placeholder>small{grid-column:1;margin-top:25px}
  .proofs-media-strip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-24px;padding-right:24px;scrollbar-width:thin}.proofs-media-strip figure{flex:0 0 min(42vw,300px);scroll-snap-align:start}.proofs-media-strip img{height:35vw;min-height:170px;transform:none!important}.proofs-field-note{text-align:left;margin-top:37px}
  .proofs-contact-transition{min-height:640px;padding:35px 24px 45px}.proofs-contact-transition h2{font-size:clamp(50px,8vw,74px)}
}
@media(max-width:520px){
  .proofs-intro h2{font-size:clamp(42px,10.4vw,55px)}.proofs-intro p{font-size:18px}.proofs-rule{align-items:start}.proofs-rule h3{max-width:220px}.proofs-rule span{font-size:8px;max-width:120px}
  .proofs-logo-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.proofs-logo{min-height:130px;border-bottom:1px solid var(--line)}.proofs-logo:nth-child(2){border-right:0}.proofs-logo:last-child{grid-column:1/-1;border-bottom:0}
  .proofs-kpis{display:block}.proofs-kpi{min-height:0;padding:28px 0 30px;border-right:0;border-bottom:1px solid var(--line)}.proofs-kpi:first-child{padding-top:0}.proofs-kpi:last-child{border-bottom:0}.proofs-kpi strong{display:block;font-size:105px;margin:10px 0 20px}.proofs-kpi span{font-size:23px}.proofs-kpi small{font-size:9px}
  .proofs-voice-placeholder p{font-size:44px}.proofs-media-strip figure{flex-basis:72vw}.proofs-media-strip img{height:62vw}.proofs-media-strip figcaption{font-size:8px}
  .proofs-contact-transition{min-height:650px}.proofs-contact-top span:last-child{display:none}.proofs-contact-transition h2{font-size:clamp(42px,10vw,60px)}.proofs-contact-bottom{display:block}.proofs-contact-bottom a{font-size:10px}.proofs-contact-bottom>span{display:block;margin-top:25px;font-size:9px}.phase6-space{height:15vh}
}
@media(prefers-reduced-motion:reduce){.proofs-media-strip img{transform:none}}
@media(min-width:1101px){
  .proofs-intro{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;min-height:750px;padding:135px 0 100px}
  .proofs-intro h2{margin:0;font-size:clamp(55px,5vw,82px)}
  .proofs-intro p{align-self:flex-end;margin:0;max-width:360px}
}

/* Phase 6 — final, contact et footer */
.project-finale{position:relative;min-height:max(850px,100svh);overflow:hidden;background:#d5d0c7;isolation:isolate}
.project-finale-image,.project-finale-wash{position:absolute;inset:0;z-index:-1}.project-finale-image{overflow:hidden}.project-finale-image img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.055) translateY(var(--finale-photo-y,0px));filter:saturate(.8)}
.project-finale-wash{background:linear-gradient(90deg,rgba(250,249,246,.8),rgba(250,249,246,.42) 37%,rgba(250,249,246,.05) 72%)}
.project-finale-inner{position:relative;min-height:max(850px,100svh);padding:112px clamp(24px,4.5vw,78px) 52px;display:flex;flex-direction:column;align-items:flex-start}
.finale-index{display:flex;align-items:center;gap:18px;font-size:10px;font-weight:750;letter-spacing:.15em}.finale-index i{width:30px;height:1px;background:currentColor}
.project-finale h2{font-size:clamp(60px,5.5vw,100px);line-height:.91;letter-spacing:-.085em;font-weight:810;margin:33px 0 20px;max-width:900px}
.finale-desc{font-size:clamp(17px,1.4vw,22px);line-height:1.3;margin:0 0 30px;letter-spacing:-.025em}
.finale-cta{display:inline-flex;align-items:center;gap:28px;background:#151718;color:#fff;border-radius:50px;padding:17px 24px;font-size:11px;font-weight:740;letter-spacing:.035em;transition:transform .3s var(--ease),background .3s}.finale-cta:hover{transform:translateY(-3px);background:#393c3d}.finale-cta span{font-size:20px;font-weight:300}
.finale-aside{position:absolute;top:22%;left:64%;font-size:11px;line-height:1.35;letter-spacing:.12em}.finale-aside:after{content:"";display:block;width:40px;height:1px;background:#151718;margin-top:12px}.finale-places{position:absolute;right:clamp(24px,4.5vw,78px);bottom:52px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7);font-size:10px;font-weight:700;letter-spacing:.1em}
.contact-section{background:#faf9f6;display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,7vw,135px);padding:120px clamp(24px,4.5vw,78px) 130px;scroll-margin-top:70px}
.contact-intro{display:flex;flex-direction:column;align-items:flex-start}.contact-index{font-size:11px;font-weight:750;letter-spacing:.16em;display:flex;align-items:center;gap:20px}.contact-index:before{content:"";width:30px;height:1px;background:#151718}
.contact-intro h2{font-size:clamp(48px,4.5vw,76px);line-height:.92;letter-spacing:-.078em;margin:34px 0 28px;max-width:580px}.contact-intro>p{font-size:clamp(17px,1.45vw,21px);line-height:1.35;max-width:450px;margin:0}
.contact-details{width:100%;max-width:540px;margin-top:auto;padding-top:90px}.contact-details>a,.contact-details>div{display:grid;grid-template-columns:1fr auto;align-items:end;gap:5px;padding:20px 0;border-top:1px solid var(--line)}.contact-details>a:last-child,.contact-details>div:last-child{border-bottom:1px solid var(--line)}.contact-details span{grid-column:1/-1;font-size:10px;font-weight:750;letter-spacing:.11em}.contact-details strong{font-size:clamp(17px,1.5vw,23px);font-weight:450;letter-spacing:-.04em}.contact-details b{font-size:22px;font-weight:350}.contact-details a:hover strong{text-decoration:underline;text-underline-offset:4px}
.contact-form-wrap{background:#f3f1ec;padding:34px clamp(24px,2.9vw,46px) 42px;align-self:start}.form-heading{display:flex;justify-content:space-between;gap:15px;padding-bottom:21px;border-bottom:1px solid var(--line);font-size:9px;font-weight:750;letter-spacing:.14em}.contact-form-wrap form{padding-top:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 13px}.contact-form-wrap label{display:block;font-size:12px;font-weight:650;letter-spacing:.01em}.contact-form-wrap label>span[aria-hidden]{color:#a2473c}.contact-form-wrap label small{font-size:9px;color:#606667;font-weight:650;letter-spacing:.05em;margin-left:5px}.contact-form-wrap input:not([type=checkbox]),.contact-form-wrap select,.contact-form-wrap textarea{display:block;width:100%;border:1px solid #d2d2ce;border-radius:0;background:#fff;color:#151718;font:inherit;font-size:14px;font-weight:400;padding:13px 14px;margin-top:9px;outline:none;transition:border-color .2s}.contact-form-wrap input:focus,.contact-form-wrap select:focus,.contact-form-wrap textarea:focus{border-color:#151718}.contact-form-wrap select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23151718'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:40px}.contact-form-wrap form>.form-grid+label,.contact-form-wrap form>.form-grid+label+label{margin-top:20px}.contact-form-wrap textarea{min-height:140px;resize:vertical;line-height:1.5}.contact-form-wrap ::placeholder{color:#828789}.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-privacy{display:flex!important;align-items:start;gap:12px;margin-top:19px;font-size:11px!important;font-weight:450!important;line-height:1.45;color:#464a4a}.form-privacy input{width:16px;height:16px;accent-color:#151718;flex:none;margin:1px 0 0}.form-privacy a{text-decoration:underline;text-underline-offset:2px}.form-error{font-size:12px;color:#9b2727;margin:13px 0 0;min-height:16px}.form-error:empty{min-height:0;margin:0}.form-submit-row{display:flex;align-items:center;gap:25px;margin-top:20px}.form-submit-row button{border:0;border-radius:40px;background:#151718;color:#fff;padding:16px 24px;font-size:11px;font-weight:750;letter-spacing:.06em;cursor:pointer;display:inline-flex;gap:31px;align-items:center}.form-submit-row button:hover{background:#3b3e3e}.form-submit-row button:disabled{opacity:.55;cursor:wait}.form-submit-row button span{font-size:19px;font-weight:350}.form-submit-row>span{font-size:11px;color:#5b5f5f}.form-confirmation{min-height:460px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.form-confirmation[hidden]{display:none}.form-confirmation>span{font-size:10px;letter-spacing:.16em;font-weight:750}.form-confirmation h3{font-size:clamp(60px,6vw,95px);letter-spacing:-.09em;line-height:.9;margin:40px 0 25px}.form-confirmation p{font-size:20px;line-height:1.35;max-width:440px}.form-confirmation a{font-size:10px;font-weight:750;letter-spacing:.08em;margin-top:30px;border-bottom:1px solid #151718;padding-bottom:8px}
.closing-signature{min-height:350px;background:#222524;color:#f6f5f1;padding:50px clamp(24px,4.5vw,78px);display:grid;grid-template-columns:1fr 2.5fr 1fr;align-items:end;gap:30px}.closing-signature>span{font-size:10px;line-height:1.35;letter-spacing:.12em}.closing-signature>span:last-child{justify-self:end}.closing-signature p{font:400 clamp(45px,5vw,82px)/.89 Georgia,'Times New Roman',serif;letter-spacing:-.06em;margin:0}
.site-footer{background:#faf9f6;padding:50px clamp(24px,4.5vw,78px) 58px;display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:30px;align-items:start}.footer-brand{display:flex;align-items:center;gap:20px}.footer-brand a{font-size:46px;font-weight:900;letter-spacing:-.1em;line-height:.8}.footer-brand span{font-size:clamp(13px,.75vw,15px);line-height:1.35}.footer-centre,.footer-right{font-size:clamp(13px,.75vw,15px);line-height:1.45}.footer-centre>span{display:block;margin-bottom:21px}.footer-social{display:flex;gap:19px;font-size:clamp(12px,.68vw,14px);font-weight:750;letter-spacing:.06em}.footer-right{text-align:right}.footer-right nav,.footer-legal{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap}.footer-right nav{margin-bottom:24px}.footer-legal{margin-bottom:23px}.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}.footer-right small{font-size:clamp(12px,.68vw,14px)}
@media(max-width:1000px){.project-finale h2{font-size:clamp(58px,7.3vw,83px)}.contact-section{gap:45px}.contact-intro h2{font-size:clamp(44px,5vw,65px)}}
@media(max-width:800px){.project-finale,.project-finale-inner{min-height:850px}.project-finale-inner{padding:120px 24px 42px}.project-finale h2{font-size:clamp(53px,8.8vw,76px)}.finale-aside{left:auto;right:24px;top:19%;font-size:9px}.finale-places{right:24px;bottom:30px}.contact-section{grid-template-columns:1fr;gap:70px;padding:100px 24px}.contact-details{padding-top:55px}.contact-form-wrap{width:100%}.closing-signature{grid-template-columns:1fr 1fr;min-height:300px}.closing-signature p{grid-column:1/-1;grid-row:2}.closing-signature>span:last-child{grid-column:2;grid-row:1}.site-footer{grid-template-columns:1fr 1fr}.footer-right{grid-column:1/-1;text-align:left}.footer-right nav,.footer-legal{justify-content:flex-start}}
@media(max-width:520px){.project-finale,.project-finale-inner{min-height:790px}.project-finale-image img{object-position:62% center}.project-finale-wash{background:linear-gradient(180deg,rgba(250,249,246,.82),rgba(250,249,246,.39) 65%,rgba(21,23,24,.12))}.project-finale h2{font-size:clamp(51px,12.5vw,70px);margin-top:45px}.finale-aside{display:none}.finale-desc{font-size:16px}.finale-cta{margin-top:8px}.finale-places{font-size:9px;left:24px;right:auto}.contact-section{padding:85px 24px 95px;gap:57px}.contact-intro h2{font-size:clamp(46px,11vw,62px)}.contact-intro>p{font-size:17px}.contact-details{padding-top:45px}.contact-form-wrap{padding:25px 20px 32px}.form-heading span:last-child{display:none}.form-grid{grid-template-columns:1fr;gap:18px}.form-submit-row{display:block}.form-submit-row>span{display:block;margin-top:17px}.closing-signature{padding:42px 24px;min-height:260px;gap:25px}.closing-signature p{font-size:clamp(45px,10vw,62px)}.site-footer{padding:42px 24px;grid-template-columns:1fr;gap:38px}.footer-right{grid-column:1}.footer-right nav,.footer-legal{gap:12px 17px}}
@media(prefers-reduced-motion:reduce){.project-finale-image img{transform:none!important}}

/* The method diagrams sit on the photograph, without a second white panel. */
.frame-visual.has-signal:before{content:"";position:absolute;z-index:1;inset:0 0 auto;height:145px;background:linear-gradient(180deg,rgba(13,16,16,.68),rgba(13,16,16,0));pointer-events:none}
.visual-overlay.is-iteration,.visual-overlay.is-signal{align-items:center;justify-content:space-between;gap:18px}
.visual-overlay.is-iteration>.visual-tag{border:0;padding:0;font-size:11px;letter-spacing:.18em;white-space:nowrap}
.visual-overlay.is-iteration .iteration-flow,.visual-overlay.is-signal .signal-flow{position:static;top:auto;left:auto;transform:none;width:auto;min-width:0;max-width:calc(100% - 145px);margin-left:auto;padding:0;background:none;box-shadow:none;color:#fff;gap:clamp(8px,1.2vw,21px)}
.visual-overlay.is-iteration .iteration-flow{margin-left:clamp(45px,5vw,90px);margin-right:auto}
.visual-overlay.is-iteration .iteration-flow span,.visual-overlay.is-signal .signal-flow span{border:0;padding:0;color:#fff;font-size:clamp(10px,.92vw,15px);font-weight:760;letter-spacing:.075em;text-shadow:0 1px 9px rgba(0,0,0,.7)}
.visual-overlay.is-iteration .iteration-flow b{position:relative;display:block;flex:none;width:clamp(30px,3.5vw,72px);height:1px;background:rgba(255,255,255,.9);font-size:0}
.visual-overlay.is-iteration .iteration-flow b:after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:1px solid #fff;border-right:1px solid #fff;transform:rotate(45deg)}
.visual-overlay.is-signal .signal-flow i{min-width:clamp(22px,3vw,65px);background:rgba(255,255,255,.9)}
.visual-overlay.is-iteration small,.visual-overlay.is-signal small{top:45px;left:0;max-width:210px;padding:0;background:none;color:#fff;text-shadow:0 1px 9px rgba(0,0,0,.85)}
@media(max-width:1100px){.visual-overlay.is-iteration,.visual-overlay.is-signal{left:18px;right:18px}.visual-overlay.is-iteration .iteration-flow,.visual-overlay.is-signal .signal-flow{max-width:calc(100% - 105px);gap:8px}.visual-overlay.is-iteration .iteration-flow{margin-left:clamp(12px,3vw,30px)}.visual-overlay.is-iteration .iteration-flow b{width:clamp(18px,2.5vw,38px)}.visual-overlay.is-signal .signal-flow i{min-width:18px}}

/* Distinct project treatments for the selected Novotel and Extensions stories. */
.case-extensions .wse-copy h2{font-size:clamp(65px,8vw,125px);max-width:1050px}
.extensions-background{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-left:40%;background:#17191a}
.extensions-background img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.45) saturate(.65);transform:scale(1.08) translateY(var(--wse-parallax,0px));will-change:transform}
.extensions-background img:nth-child(2){object-position:47% center}
.extensions-background:after{background:linear-gradient(90deg,#17191a 5%,rgba(23,25,26,.93) 34%,rgba(23,25,26,.32) 75%),linear-gradient(0deg,rgba(12,14,15,.8),transparent 55%)}
.case-extensions .wse-vertical{position:relative;z-index:1}
.case-extensions .wse-vertical video{display:block;width:100%;aspect-ratio:.66;object-fit:cover;box-shadow:0 35px 75px rgba(0,0,0,.38)}
@media(max-width:800px){.extensions-background{padding-left:12%}.extensions-background img{transform:none!important}.case-extensions .wse-copy h2{font-size:clamp(48px,10vw,88px)}}

/* Homepage project photography and real film excerpts. */
.hero-project-gallery{position:absolute;inset:0;display:grid;grid-template-columns:54% 23% 23%;overflow:hidden}
.hero-project-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.04)}
.hero-project-gallery img:first-child{object-position:50% 45%}
.hero-project-gallery img:nth-child(2){object-position:48% center}
.hero-project-gallery img:nth-child(3){object-position:51% center}
.hero-project-gallery img+img{border-left:1px solid rgba(255,255,255,.32)}
.frame-visual.is-diagram{background:radial-gradient(circle at 70% 55%,#344342 0%,#182021 42%,#0d1112 100%)}
.frame-visual.is-diagram:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:64px 64px;opacity:.34}
.frame-visual>img[hidden]{display:none}
.frame-visual[data-stage="02"]>img{object-position:56% center;filter:saturate(.72) brightness(.7)}
.frame-visual[data-stage="03"]>img{object-position:52% center;filter:saturate(.52) brightness(.48)}
.frame-visual[data-stage="04"]{background:#171c1b}
.frame-visual[data-stage="04"]>img{position:absolute;inset:0 0 0 auto;width:66%;height:100%;object-fit:cover;object-position:50% 29%;filter:saturate(.58) brightness(.67);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%);mask-image:linear-gradient(90deg,transparent,#000 25%)}
.frame-visual[data-stage="05"]>img{object-position:50% 42%;filter:saturate(.72) brightness(.68)}
.frame-visual[data-stage="02"]:before,.frame-visual[data-stage="04"]:before,.frame-visual[data-stage="05"]:before{content:"";position:absolute;z-index:1;inset:0 0 auto;height:35%;background:linear-gradient(180deg,rgba(8,11,11,.48),transparent);pointer-events:none}
.frame-diagram{position:absolute;z-index:1;left:8%;right:8%;top:39%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2%;align-items:center}
.frame-diagram:empty{display:none}
.frame-diagram span{min-height:115px;padding:16px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:space-between;gap:20px;backdrop-filter:blur(4px)}
.frame-diagram span+span:before{content:"→";position:absolute;transform:translate(-29px,41px);font-size:24px;font-weight:300}
.frame-diagram small{font-size:10px;letter-spacing:.14em;color:#b9c8c5}
.frame-diagram strong{font-size:clamp(12px,1.2vw,18px);letter-spacing:.06em}
.mobile-stage-diagram{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:22px 0;background:#182021;padding:16px}
.mobile-stage-diagram span{min-height:95px;border:1px solid rgba(255,255,255,.4);padding:10px;color:#fff;display:flex;align-items:flex-end;font-size:10px;font-weight:700;letter-spacing:.06em}
.reel-dialog{overflow-y:auto}
.reel-content h2{font-size:clamp(36px,4vw,62px);margin:17px 0 8px}
.reel-content p{margin:0 0 22px}
.reel-player{position:relative;background:#080a0a}
.reel-player video{display:block;width:100%;height:min(47vh,460px);object-fit:contain;background:#080a0a}
.reel-player>span{position:absolute;left:15px;top:14px;padding:8px 10px;background:rgba(15,17,18,.72);font-size:10px;font-weight:700;letter-spacing:.12em}
.reel-film-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.reel-film-list button{appearance:none;cursor:pointer;border:1px solid rgba(255,255,255,.35);background:transparent;color:#dce0de;padding:12px 15px;font-family:inherit;font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.09em}
.reel-film-list button.is-active,.reel-film-list button:hover{background:#fff;color:#17191a;border-color:#fff}
.content-film img,.content-vertical img,.experience-inset img{object-fit:cover}
@media(max-width:800px){.hero-project-gallery{display:block}.hero-project-gallery img{display:none}.hero-project-gallery img:first-child{display:block;object-position:55% center}.reel-player video{height:min(45vh,420px)}}
@media(max-width:800px){.mobile-stage[data-stage="02"] img{object-position:56% center}.mobile-stage[data-stage="03"] img{object-position:53% center}.mobile-stage[data-stage="04"] img{object-position:50% 32%}.mobile-stage[data-stage="05"] img{object-position:50% 43%}}
@media(max-width:560px){.frame-diagram{left:5%;right:5%;top:37%}.frame-diagram span{min-height:80px;padding:9px}.frame-diagram span+span:before{transform:translate(-18px,26px);font-size:18px}.frame-diagram strong{font-size:9px}.mobile-stage-diagram span{font-size:9px}.reel-content{padding:35px 20px}.reel-film-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reel-film-list button{padding:10px 6px}.reel-player>span{font-size:8px}}

.site-footer .footer-brand{flex-direction:column;align-items:flex-start;gap:7px}
.site-footer .footer-brand .brand-logo-link{position:relative;display:block;flex:none;width:270px;height:66px;overflow:hidden;font-size:inherit;letter-spacing:normal;line-height:normal}
.footer-brand .brand-logo-link img{position:absolute;left:calc(50% + 8px);top:calc(50% + 4px);display:block;width:388px;max-width:none;height:auto;transform:translate(-50%,-50%)}
@media(max-width:520px){.site-footer .footer-brand .brand-logo-link{width:240px;height:60px}.footer-brand .brand-logo-link img{left:calc(50% + 7px);top:calc(50% + 3px);width:345px}}

@media(max-width:800px){.intro{animation-duration:.24s;animation-delay:.83s}.intro-word{animation-duration:.2s}.intro-word:nth-child(1){animation-delay:.03s}.intro-word:nth-child(2){animation-delay:.22s}.intro-word:nth-child(3){animation-delay:.41s}.intro-word:nth-child(4){animation-delay:.60s}}
