/* Girconsult — motion direction, native scrolling and progressive enhancement. */
body{overflow-x:clip}html{scroll-padding-top:100px}a,button{-webkit-tap-highlight-color:transparent}
.motion-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--coral,#ff6640);transform:scaleX(0);transform-origin:left;z-index:120;pointer-events:none}
.motion-toggle{position:fixed;bottom:16px;right:16px;z-index:55;display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #d9cdbf;background:rgba(255,250,242,.94);backdrop-filter:blur(12px);color:#241f1b;font:600 11px var(--font-sans);cursor:pointer;border-radius:24px;box-shadow:0 5px 20px #241f1b0a}
.motion-toggle::before{content:'';width:6px;height:6px;border-radius:50%;background:#ff6640}.motion-toggle[aria-pressed=true]::before{background:#766d64}.motion-toggle:focus-visible{outline:2px solid #ff6640;outline-offset:4px}
.motion-decor{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.motion-stage{position:relative;isolation:isolate}.motion-stage>.wrap{position:relative;z-index:1}
.orbit{position:absolute;width:600px;height:600px;right:-190px;top:70px;border:1px solid #ff664038;border-radius:50%;transform:translate3d(0,var(--orbit-y,0px),0) rotate(var(--orbit-r,0deg));will-change:transform}
.orbit::before,.orbit::after{content:'';position:absolute;inset:45px;border:1px solid #ff664030;border-radius:50%}.orbit::after{inset:100px;border-color:#ff664044}.orbit-dot{position:absolute;left:28%;top:3%;width:14px;height:14px;background:#ff6640;border-radius:50%}.orbit-small{width:230px;height:230px;left:-130px;right:auto;top:62%;border-color:#241f1b1f}.orbit-small::before{inset:25px;border-color:#241f1b1f}.orbit-small::after{inset:55px;border-color:#241f1b16}
.motion-spark{position:absolute;color:#ff6640;right:6%;top:8%;width:44px;height:44px;transform:rotate(var(--orbit-r,0deg))}.motion-spark::before,.motion-spark::after{content:'';position:absolute;left:21px;top:0;width:2px;height:44px;background:currentColor}.motion-spark::after{transform:rotate(90deg)}
.hero{padding-top:68px;padding-bottom:100px}.hero-grid{gap:64px}.hero h1{font-size:clamp(60px,6.7vw,106px)}.hero-media{position:relative;gap:20px;padding:24px 12px 18px;perspective:1000px}.hero-media>div{position:relative;overflow:hidden;border:7px solid var(--cream);box-shadow:0 22px 55px #241f1b24;transform:translate3d(0,var(--card-y,0px),0) rotate(var(--card-r,0deg));will-change:transform}.hero-media .main{--card-r:-5deg;z-index:2}.hero-media .side1{--card-r:8deg;z-index:3;align-self:center;height:290px}.hero-media .side2{--card-r:-7deg;z-index:3;height:240px;align-self:start}.hero-media img{transform:scale(1.08);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.hero-media>div:hover img{transform:scale(1.16)}
.hero-media .main::after{content:'SUR LE TERRAIN';position:absolute;left:14px;bottom:16px;color:white;font:700 10px var(--font-sans);letter-spacing:.18em;text-shadow:0 1px 8px black}.hero-media .side1::after,.hero-media .side2::after{content:'PHOTOGRAPHIE';position:absolute;bottom:12px;left:12px;background:var(--cream);padding:6px 9px;font-size:9px;font-weight:700;letter-spacing:.08em}.hero-media .side2::after{content:'CONTENU SOCIAL'}
.hero-caption{margin-top:28px;padding-left:12px;max-width:480px}.hero-scroll{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:#766d64}.hero-scroll span{display:grid;place-items:center;width:25px;height:34px;border:1px solid #d9cdbf;border-radius:20px}.hero-scroll i{width:3px;height:8px;background:#ff6640;border-radius:3px;animation:scroll-cue 2s infinite}@keyframes scroll-cue{0%,100%{transform:translateY(-4px);opacity:.4}50%{transform:translateY(4px);opacity:1}}
.motion-ribbon{overflow:hidden;padding:24px 0;background:#241f1b;color:#fffaf2;transform:rotate(-2deg);margin:18px -2% 34px;width:104%;pointer-events:none}.ribbon-track{display:flex;width:max-content;animation:ribbon-drift 34s linear infinite}.ribbon-group{display:flex;gap:36px;align-items:center;padding-right:36px;white-space:nowrap;font-family:var(--font-sans);font-size:clamp(24px,3vw,42px);line-height:1;letter-spacing:-.03em}.ribbon-group b{font-weight:500}.ribbon-group i{font-style:normal;color:#ff6640;font-size:30px}@keyframes ribbon-drift{to{transform:translateX(-50%)}}
.phone-showcase{padding-top:110px;padding-bottom:110px}.phone-showcase-inner{grid-template-columns:1fr 420px;min-height:590px}.phone-composition{position:relative;display:grid;place-items:center;perspective:1000px}.gc-phone{animation:none;z-index:3;transform:translate3d(0,var(--phone-y,0px),0) rotate(var(--phone-r,-9deg));will-change:transform;box-shadow:0 35px 70px #241f1b35,0 0 0 3px #16161c}.phone-still{position:absolute;width:140px;height:190px;object-fit:cover;border:6px solid #fffaf2;box-shadow:0 15px 40px #241f1b22;pointer-events:none;transform:translate3d(0,var(--still-y,0px),0) rotate(var(--still-r,12deg))}.phone-still-a{left:-20px;top:25px;--still-r:-14deg}.phone-still-b{right:-15px;bottom:10px;--still-r:13deg}.phone-label{position:absolute;right:-8px;top:80px;background:#ff6640;color:#fffaf2;padding:9px 13px;font-size:11px;font-weight:700;letter-spacing:.04em;z-index:4;transform:rotate(8deg)}
.motion-ready [data-reveal]{opacity:0;translate:0 38px;transition:opacity .9s cubic-bezier(.2,.7,.2,1),translate .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready [data-reveal].is-visible{opacity:1;translate:0 0}
.word-clip{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em}.motion-word{display:inline-block;transform:translateY(0);transition:transform 1s cubic-bezier(.18,.75,.25,1);transition-delay:var(--word-delay,0ms)}.motion-ready .motion-heading:not(.is-visible) .motion-word{transform:translateY(112%)}
.project,.category,.post-card{transition:box-shadow .6s,translate .6s}.project{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease,box-shadow .5s;transform-style:preserve-3d}.project img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.project:hover img{transform:scale(1.065)}.project:hover{box-shadow:0 22px 45px #241f1b20}.project .play{border-radius:50%;transition:background .4s,transform .4s}.project:hover .play{background:#ff6640;color:white;transform:scale(1.12)}.project-meta{transition:transform .5s}.project:hover .project-meta{transform:translateY(-7px)}
.triptych figure{transform:translate3d(0,var(--photo-y,0px),0);will-change:transform}.triptych figure:nth-child(2){margin-top:60px}.triptych figure:nth-child(3){margin-top:20px}.triptych figure img{transition:filter .8s,scale 1s}.triptych figure:hover img{filter:saturate(1.12);scale:1.025}.triptych{padding-bottom:45px}
.statement em{color:var(--coral,#ff6640);background:none}
.btn,.nav-cta{position:relative;overflow:hidden;translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .25s,background .3s,border-color .3s,box-shadow .3s}.btn:hover{box-shadow:0 9px 24px #241f1b1c}.btn:focus-visible{outline:2px solid #ff6640;outline-offset:5px}.nav-links a:not(.nav-cta){position:relative}.nav-links a:not(.nav-cta)::after{content:'';height:1px;background:#ff6640;position:absolute;left:0;right:0;bottom:-6px;transform:scaleX(0);transform-origin:left;transition:transform .35s}.nav-links a:hover::after{transform:scaleX(1)}
.pillar,.social-panel{transition:background .4s}.pillar:hover{background:#ff66400b}.pillar .num{transition:translate .4s}.pillar:hover .num{translate:6px 0}.local-link .arrow{transition:transform .4s}.local-link:hover .arrow{transform:translate(5px,-5px)}.logo-cell img{transition:filter .5s,opacity .5s,scale .5s}.logo-cell:hover img{filter:grayscale(0);opacity:1;scale:1.06}.step{position:relative}.step::before{content:'';position:absolute;left:0;top:-1px;height:2px;width:100%;background:#ff6640;transform:scaleX(0);transform-origin:left;transition:transform 1.2s;transition-delay:var(--reveal-delay,0ms)}.step.is-visible::before{transform:scaleX(1)}
.lb.open .lb-inner{animation:lightbox-in .4s cubic-bezier(.2,.7,.2,1)}@keyframes lightbox-in{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused [data-reveal]{opacity:1!important;translate:0 0!important;transition:none!important}.motion-paused .motion-word{transform:none!important;transition:none!important}.motion-paused .gc-phone,.motion-paused .hero-media>div,.motion-paused .triptych figure,.motion-paused .phone-still,.motion-paused .orbit,.motion-paused .motion-spark,.motion-paused .project{transform:none!important}.motion-paused .btn{translate:0 0!important}
@media(max-width:900px){.hero{padding-top:44px}.hero-grid{gap:35px}.hero-media{max-width:640px;margin:auto}.phone-showcase-inner{grid-template-columns:1fr;gap:70px}.phone-composition{width:360px;max-width:100%;margin:auto}.phone-showcase{padding-top:80px}.phone-still{width:110px;height:160px}.phone-still-a{left:-2px}.phone-still-b{right:0}.phone-label{right:5px}.orbit{width:430px;height:430px;right:-220px}.hero-scroll{margin-top:22px}}
@media(max-width:580px){.hero{padding-bottom:64px}.hero h1{font-size:clamp(48px,12.8vw,66px)}.hero-media{gap:12px;padding:12px 8px;grid-template-rows:310px 160px}.hero-media .main{--card-r:-3deg}.hero-media .side1,.hero-media .side2{height:160px;align-self:start;--card-r:4deg}.hero-media .side2{--card-r:-4deg}.hero-caption{margin-top:25px}.hero-media>div{border-width:5px}.motion-ribbon{padding:20px 0;margin-bottom:20px}.phone-showcase-inner{min-height:auto}.triptych figure:nth-child(n){margin-top:0}.triptych{gap:30px;padding-bottom:0}.motion-toggle{bottom:12px;right:12px;padding:9px 11px}.motion-spark{width:28px;height:28px;right:9%;top:4%}.motion-spark::before,.motion-spark::after{height:28px;left:13px}.orbit-small{display:none}.phone-still-a{left:5px}.phone-still-b{right:5px}.phone-label{right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready [data-reveal]{opacity:1;translate:0 0}.motion-word{transform:none!important}.hero-media>div,.gc-phone,.phone-still,.triptych figure,.orbit,.motion-spark,.project{transform:none!important}.btn{translate:0 0!important}.motion-toggle{display:none}}
