/* Typographie, cible et contact. */
.holding h1{font-size:clamp(66px,11.4vw,190px);letter-spacing:-.045em;line-height:.88;max-width:9ch}
.orbit{appearance:none;cursor:pointer;background:transparent;padding:0;transition:filter .3s ease}.orbit:hover{filter:brightness(1.16)}.orbit.is-active{animation-duration:2.2s}.orbit.is-active span:nth-child(2){border-color:#e8ecec}.orbit.is-active span:nth-child(3){transform:scale(1.75);background:var(--accent);box-shadow:0 0 0 16px rgba(214,255,61,.18)}
.contact-link{appearance:none;background:transparent;text-align:left;cursor:pointer}
.contact-panel{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:rgba(20,24,27,.7);backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .3s ease}
.contact-panel>div{width:min(100%,580px);max-height:calc(100svh - 40px);overflow:auto;background:#343b3f;color:#e8ecec;padding:clamp(26px,4vw,48px);border:1px solid rgba(232,236,236,.2);box-shadow:14px 14px 0 rgba(214,255,61,.82);transform:translateY(18px) scale(.98);transition:transform .38s cubic-bezier(.16,.8,.25,1)}
.contact-panel h2,.contact-page h1{font-size:clamp(42px,5.6vw,72px);line-height:.94;letter-spacing:-.045em;margin:0 0 22px}.contact-panel.is-open{opacity:1;pointer-events:auto}.contact-panel.is-open>div{transform:none}.panel-close{position:absolute;top:18px;right:22px;border:0;background:transparent;color:#e8ecec;font-size:38px;line-height:1;cursor:pointer}
.contact-form{display:grid;gap:18px}.contact-form label{display:grid;gap:7px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:750}.contact-form input,.contact-form textarea{width:100%;padding:10px 0;background:transparent;border:0;border-bottom:1px solid rgba(232,236,236,.48);border-radius:0;color:#e8ecec;font:inherit;font-size:17px;outline:0}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form button{display:flex;justify-content:space-between;align-items:center;width:min(100%,240px);padding:13px 0;border:0;border-bottom:2px solid var(--accent);background:transparent;color:#e8ecec;text-transform:uppercase;font-weight:800;letter-spacing:.08em;cursor:pointer}.contact-form button:hover{color:var(--accent)}.contact-form button span{font-size:22px}.form-message{margin:0;font-size:15px;color:var(--accent)}
.contact-page{min-height:100svh;padding:clamp(20px,4vw,64px);background:linear-gradient(130deg,#1c2023,#343b3f);color:#e8ecec}.contact-page__header{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-page .wordmark{color:#e8ecec}.contact-page__back{color:var(--muted);font-size:11px;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.contact-page__back:hover{color:var(--accent)}.contact-page section{width:min(100%,580px);margin:clamp(58px,10vw,130px) auto 40px}.contact-page .eyebrow{margin-bottom:18px}.contact-page__intro{max-width:44ch;margin:0 0 34px;color:var(--muted);font-size:17px;line-height:1.45}
/* Travaux : images complètes, sans cadre ni recadrage. */
.holding-header,.holding-footer{position:relative;z-index:4}.holding-main{z-index:3}.holding-bottom{position:relative;z-index:5}
.contact-link{min-width:clamp(220px,20vw,300px);padding:17px 20px;border:0;background:var(--accent);color:#1c2023;box-shadow:8px 8px 0 rgba(232,236,236,.22);font-size:13px;letter-spacing:.1em}.contact-link:hover,.contact-link:focus-visible{background:#e8ecec;color:#1c2023;box-shadow:12px 12px 0 rgba(214,255,61,.28)}.contact-link:hover span{transform:translate(4px,-4px)}
.work-cloud{position:absolute;inset:0;z-index:1;overflow:visible}.work-card{position:absolute;margin:0;line-height:0;cursor:zoom-in;outline:0;transform:rotate(var(--tilt));transition:transform .46s cubic-bezier(.16,.8,.25,1),filter .46s ease;filter:drop-shadow(0 18px 19px rgba(14,17,19,.23));will-change:transform}.work-card__motion{display:block;animation:var(--drift) var(--speed) ease-in-out infinite;will-change:transform}.work-card img{display:block;width:100%;height:auto}.work-card:hover,.work-card:focus-visible{z-index:8;transform:translate3d(0,-12px,0) rotate(0deg) scale(1.16);filter:drop-shadow(0 26px 25px rgba(14,17,19,.42))}.work-card:hover .work-card__motion,.work-card:focus-visible .work-card__motion{animation-play-state:paused}.work-preview{position:fixed;z-index:18;left:50%;top:50%;width:min(48vw,640px);height:72svh;display:grid;place-items:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.82);transition:opacity .16s ease,transform .34s cubic-bezier(.16,.8,.25,1)}.work-preview img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;filter:drop-shadow(0 34px 28px rgba(10,12,14,.62))}.work-preview.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.work-card--1{width:clamp(88px,10vw,190px);left:5%;top:15%;--tilt:-4deg;--zoom:3.5;--drift:work-a;--speed:18s}.work-card--2{width:clamp(68px,8vw,150px);left:29%;top:7%;--tilt:3deg;--zoom:4.5;--drift:work-b;--speed:16s}.work-card--3{width:clamp(55px,6.5vw,125px);left:51%;top:11%;--tilt:-2deg;--zoom:5;--drift:work-c;--speed:19s}.work-card--4{width:clamp(100px,12vw,220px);right:5%;top:10%;--tilt:4deg;--zoom:2.8;--drift:work-d;--speed:21s}.work-card--5{width:clamp(58px,7vw,132px);left:10%;bottom:15%;--tilt:-3deg;--zoom:4.7;--drift:work-e;--speed:17s}.work-card--6{width:clamp(78px,9vw,175px);left:31%;bottom:8%;--tilt:2deg;--zoom:4;--drift:work-f;--speed:20s}.work-card--7{width:clamp(112px,14vw,265px);left:55%;bottom:10%;--tilt:-3deg;--zoom:2.7;--drift:work-g;--speed:22s}.work-card--8{width:clamp(55px,6vw,116px);right:9%;bottom:8%;--tilt:3deg;--zoom:5;--drift:work-h;--speed:16s}.work-card--9{width:clamp(68px,8vw,150px);right:22%;top:36%;--tilt:-2deg;--zoom:4.5;--drift:work-i;--speed:20s}.work-card--10{width:clamp(54px,6vw,110px);left:44%;top:43%;--tilt:2deg;--zoom:5;--drift:work-j;--speed:18s}
@keyframes work-a{50%{transform:translate3d(15px,-19px,0)}}@keyframes work-b{50%{transform:translate3d(-12px,16px,0)}}@keyframes work-c{50%{transform:translate3d(12px,-15px,0)}}@keyframes work-d{50%{transform:translate3d(-17px,19px,0)}}@keyframes work-e{50%{transform:translate3d(15px,-12px,0)}}@keyframes work-f{50%{transform:translate3d(-15px,13px,0)}}@keyframes work-g{50%{transform:translate3d(17px,-16px,0)}}@keyframes work-h{50%{transform:translate3d(-10px,-14px,0)}}@keyframes work-i{50%{transform:translate3d(12px,15px,0)}}@keyframes work-j{50%{transform:translate3d(-10px,-12px,0)}}
@media(max-width:700px){.work-preview{width:78vw;height:66svh}.holding h1{font-size:clamp(60px,16vw,100px);letter-spacing:-.035em;line-height:.92}.contact-panel>div{padding:28px;box-shadow:9px 9px 0 rgba(214,255,61,.82)}.contact-page section{margin-top:70px}.contact-panel h2,.contact-page h1{font-size:clamp(42px,14vw,62px)}.work-card--1{left:3%;top:15%}.work-card--2{left:31%;top:8%}.work-card--3{left:51%;top:15%}.work-card--4{right:-7%;top:11%}.work-card--5{left:2%;bottom:16%}.work-card--6{left:25%;bottom:8%}.work-card--7{left:55%;bottom:10%}.work-card--8{right:-1%;bottom:8%}.work-card--9{right:18%;top:39%}.work-card--10{left:43%;top:46%}}
@media(prefers-reduced-motion:reduce){.contact-panel,.contact-panel>div,.orbit,.work-card,.work-card__motion,.work-preview{transition:none!important;animation:none!important}}
