:root{
  --black:#050505;--ink:#111;--white:#f7f7f3;--blue:#315CFF;--acid:#D8FF25;--gray:#9a9a9a;
  --line:rgba(255,255,255,.18);--line-dark:rgba(0,0,0,.18);--blue-on-dark:#6F86FF;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}.skip-link{position:fixed;z-index:1000;left:12px;top:10px;transform:translateY(-150%);background:var(--acid);color:#000;padding:10px 14px;font-weight:700}.skip-link:focus{transform:translateY(0)}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--black);color:var(--white);line-height:1.45}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1440px,94vw);margin:auto}
.topbar{position:sticky;top:0;z-index:30;background:rgba(5,5,5,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.topbar .wrap{display:grid;grid-template-columns:210px 1fr auto;align-items:center;min-height:72px;gap:24px}.brand{font-family:Impact,'Arial Narrow',sans-serif;font-size:34px;letter-spacing:-1px}.brand i{font-style:normal;color:var(--acid)}.brand small{display:block;font:9px/1.1 Arial,sans-serif;letter-spacing:2.8px;margin-top:3px}.nav{display:flex;gap:25px;justify-content:center;font-size:13px;text-transform:uppercase;letter-spacing:1.1px}.nav a:hover,.nav a.active{color:var(--acid)}.mail{border:1px solid var(--white);padding:11px 16px;font-size:12px;text-transform:uppercase;letter-spacing:1px}.menu-btn{display:none;background:none;border:1px solid var(--line);color:white;padding:9px 12px}
.hero{min-height:calc(100vh - 72px);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;min-height:calc(100vh - 72px)}.hero-title{padding:54px 0 36px;display:flex;flex-direction:column;justify-content:space-between}.kicker{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--acid)}h1{font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(86px,13vw,210px);line-height:.78;letter-spacing:-4px;margin:16px 0 24px}.hero-title .deck{max-width:650px;font-size:19px;color:#d0d0d0}.hero-actions{display:flex;gap:14px;margin-top:26px;align-items:center}.btn{display:inline-flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid currentColor;text-transform:uppercase;font-size:11px;letter-spacing:1.5px}.btn.acid{background:var(--acid);color:var(--black);border-color:var(--acid)}.btn.blue{background:var(--blue);border-color:var(--blue)}
.hero-side{border-left:1px solid var(--line);display:grid;grid-template-rows:1fr auto}.hero-photo{background:url('https://images.pexels.com/photos/6896195/pexels-photo-6896195.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover;filter:grayscale(1) contrast(1.1);min-height:520px;position:relative}.hero-photo:after{content:'RÉPÉTITION / ENTRÉE 19:40 / PLATEAU 02';position:absolute;left:18px;bottom:18px;background:var(--acid);color:#000;padding:7px 9px;font:10px/1 monospace}.cue{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.cue div{padding:18px;border-right:1px solid var(--line);font-family:monospace;font-size:11px}.cue div:last-child{border-right:0}.cue b{display:block;color:var(--acid);font-size:21px;font-family:Arial,sans-serif;margin-bottom:6px}
.marquee{overflow:hidden;background:var(--acid);color:#000;border-bottom:1px solid #000}.marquee-track{display:flex;gap:40px;white-space:nowrap;padding:10px 0;font-family:Impact,'Arial Narrow',sans-serif;font-size:24px;letter-spacing:1px;animation:slide 28s linear infinite}@keyframes slide{to{transform:translateX(-50%)}}
.section{border-bottom:1px solid var(--line)}.section.light{background:var(--white);color:var(--black);border-color:var(--line-dark)}.section .wrap{padding:82px 0}.eyebrow{font-family:monospace;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--blue-on-dark)}.section.light .eyebrow{color:var(--blue)}h2{font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:clamp(46px,7vw,100px);line-height:.88;text-transform:uppercase;margin:12px 0 28px;letter-spacing:-1px}.intro{max-width:780px;font-size:20px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid currentColor}.grid-2>div{padding:34px 28px 34px 0}.grid-2>div+div{border-left:1px solid currentColor;padding-left:28px}.process{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line-dark);margin-top:44px}.process article{padding:28px 20px;border-right:1px solid var(--line-dark);min-height:220px}.process article:last-child{border-right:0}.process .num{font:40px Impact,'Arial Narrow',sans-serif;color:var(--blue)}.process h3{text-transform:uppercase;font-size:16px;letter-spacing:1px}.process p{font-size:13px;color:#4d4d4d}
.photo-strip{display:grid;grid-template-columns:1.1fr .7fr 1fr;height:520px}.photo-strip figure{margin:0;overflow:hidden;position:relative}.photo-strip img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.photo-strip figure:nth-child(2){border-left:6px solid var(--acid);border-right:6px solid var(--blue)}.label{position:absolute;left:16px;bottom:16px;background:#000;color:#fff;padding:8px 10px;font:11px monospace}.label.acid{background:var(--acid);color:#000}.label.blue{background:var(--blue)}
.statement{display:grid;grid-template-columns:1.2fr .8fr;min-height:560px}.statement .big{padding:70px 6vw;background:var(--blue);display:flex;flex-direction:column;justify-content:center}.statement .big h2{font-size:clamp(64px,8vw,135px)}.statement .side{background:var(--acid);color:#000;padding:60px 45px;display:flex;flex-direction:column;justify-content:space-between}.statement .side .quote{font-family:Georgia,serif;font-size:32px;line-height:1.2}.statement .side .small{font:12px monospace}
.project-list{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:120px 1fr 180px 60px;align-items:center;border-bottom:1px solid var(--line);min-height:92px}.project-row span,.project-row a{padding:18px}.project-row .tag{font:11px monospace;color:var(--acid)}.project-row .name{font-size:26px;font-family:Georgia,serif}.project-row .status{text-transform:uppercase;font-size:11px;color:#aaa}.project-row .arrow{font-size:28px;text-align:right}
.schedule{display:grid;grid-template-columns:260px 1fr;border-top:1px solid var(--line-dark)}.schedule aside{padding:25px 20px 25px 0;font:11px monospace;text-transform:uppercase}.schedule .schedule-body{border-left:1px solid var(--line-dark)}.schedule-row{display:grid;grid-template-columns:120px 1fr 1fr;min-height:88px;border-bottom:1px solid var(--line-dark);align-items:center}.schedule-row>*{padding:18px}.schedule-row time{font-family:Impact,'Arial Narrow',sans-serif;font-size:30px}.schedule-row h3{margin:0;font-size:19px}.schedule-row p{margin:3px 0 0;color:#555;font-size:13px}
.contact-stage{display:grid;grid-template-columns:1.3fr .7fr;min-height:500px}.contact-stage .left{padding:70px 6vw;display:flex;flex-direction:column;justify-content:center}.contact-stage .right{background:var(--white);color:#000;padding:60px;display:flex;flex-direction:column;justify-content:center}.contact-stage .email{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(34px,4vw,64px);text-transform:uppercase;word-break:break-word}.contact-stage dl{display:grid;grid-template-columns:120px 1fr;gap:10px 20px;font-size:13px;margin-top:30px}.contact-stage dt{font-family:monospace;color:#777}.contact-stage dd{margin:0}

.contact-form{margin-top:30px;display:grid;gap:12px}.contact-form label{font:11px/1.3 monospace;text-transform:uppercase;letter-spacing:1px;color:#555;margin-top:5px}.contact-form input,.contact-form textarea{width:100%;padding:14px;border:1px solid #aaa;background:transparent;color:#111;font:inherit;border-radius:0}.contact-form textarea{resize:vertical;min-height:150px}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(49,92,255,.25);border-color:var(--blue)}.contact-form .btn{justify-content:center;cursor:pointer}.form-help{font-size:12px;line-height:1.5;color:#666;margin:4px 0 6px}.form-help a{text-decoration:underline}.form-status{display:none;padding:13px 14px;border:1px solid currentColor;font-size:14px}.form-status.is-visible{display:block}.form-status.success{color:#345400;background:#efffbd}.form-status.error{color:#761926;background:#fff0f2}.hp-field{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:focus-visible{outline:3px solid var(--acid);outline-offset:3px}.section.light :focus-visible,.contact-stage .right :focus-visible{outline-color:var(--blue)}

.footer{background:#000;color:#aaa;border-top:1px solid var(--line);padding:24px 0}.footer .wrap{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px}.footer strong{color:#fff}.footer nav{display:flex;gap:18px}.footer a:hover{color:var(--acid)}
.page-hero{padding:70px 0 50px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(68px,11vw,160px)}.page-grid{display:grid;grid-template-columns:300px 1fr;gap:60px}.page-aside{font:11px monospace;text-transform:uppercase;color:#aaa}.copy h2{font-size:clamp(42px,5vw,74px)}.copy p{font-size:18px;max-width:850px;color:#d2d2d2}.light .copy p{color:#333}.copy ul{padding-left:20px}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-dark);margin-top:30px}.fact{background:var(--white);padding:22px}.fact b{display:block;font-family:monospace;font-size:11px;text-transform:uppercase;color:#666;margin-bottom:8px}
@media(max-width:1100px){.topbar .wrap{grid-template-columns:1fr auto}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#050505;padding:20px;flex-direction:column}.nav.open{display:flex}.mail{display:none}.menu-btn{display:block}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-side{border-left:0;border-top:1px solid var(--line)}.hero-title{min-height:auto;padding:48px 0;gap:58px}.hero-photo{min-height:460px}.process{grid-template-columns:1fr 1fr}.process article:nth-child(even){border-right:0}.process article:nth-child(5){grid-column:1/-1;border-right:0;min-height:auto}.photo-strip{grid-template-columns:1fr;height:auto}.photo-strip figure{height:380px}.statement,.contact-stage{grid-template-columns:1fr}.project-row{grid-template-columns:85px 1fr 45px}.project-row .status{display:none}.schedule{grid-template-columns:1fr}.schedule .schedule-body{border-left:0}.page-grid{grid-template-columns:1fr}.page-aside{display:none}}
@media(max-width:620px){h1{font-size:74px;letter-spacing:-2px}.page-hero{padding:50px 0 36px}.page-hero h1{font-size:clamp(54px,18vw,82px)}.hero-title{padding:38px 0;gap:42px}.hero-title .deck{font-size:17px}.hero-photo{min-height:340px}.section .wrap{padding:56px 0}.process{grid-template-columns:1fr}.process article{border-right:0}.process article:nth-child(5){grid-column:auto}.schedule-row{grid-template-columns:88px 1fr}.schedule-row>div:last-child{grid-column:2}.footer .wrap{flex-direction:column;align-items:flex-start}.footer nav{flex-wrap:wrap}.cue{grid-template-columns:repeat(3,1fr)}.cue div{padding:12px 8px;font-size:9px;border-right:1px solid var(--line);border-bottom:0}.cue div:last-child{border-right:0}.cue b{font-size:17px}.photo-strip figure{height:300px}.contact-stage .right,.statement .side{padding:38px 6vw}}


/* Editorial photography — pages intérieures */
.visual-lead{position:relative;height:clamp(360px,52vw,700px);overflow:hidden;border-bottom:1px solid var(--line);background:#0a0a0a}
.visual-lead img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.12);display:block}
.visual-lead:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.72));pointer-events:none}
.visual-lead .visual-label{position:absolute;z-index:2;left:max(4vw,24px);bottom:28px;background:var(--acid);color:#000;padding:9px 12px;font:11px/1 monospace;letter-spacing:1px;text-transform:uppercase}
.visual-lead.blue .visual-label{background:var(--blue);color:#fff}
.media-duo{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:48px 0 56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.light .media-duo{border-color:var(--line-dark)}
.editorial-shot{margin:0;position:relative;min-height:420px;overflow:hidden;background:#111}
.editorial-shot+ .editorial-shot{border-left:6px solid var(--acid)}
.editorial-shot.blue-edge+ .editorial-shot,.media-duo.blue-edge .editorial-shot+ .editorial-shot{border-left-color:var(--blue)}
.editorial-shot img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover;filter:grayscale(1) contrast(1.12);transition:filter .25s ease,transform .35s ease}
.editorial-shot:hover img{filter:grayscale(.35) contrast(1.05);transform:scale(1.015)}
.editorial-shot figcaption{position:absolute;left:16px;bottom:16px;background:#000;color:#fff;padding:8px 10px;font:11px/1.2 monospace;text-transform:uppercase;letter-spacing:.5px;max-width:calc(100% - 32px)}
.editorial-shot figcaption.acid{background:var(--acid);color:#000}
.editorial-shot figcaption.blue{background:var(--blue);color:#fff}
.media-note{margin:-30px 0 48px;font:11px/1.6 monospace;color:#888;text-transform:uppercase;letter-spacing:1px}
.light .media-note{color:#666}

@media(max-width:1100px){
 .visual-lead{height:500px}
 .media-duo{grid-template-columns:1fr}
 .editorial-shot+ .editorial-shot,.media-duo.blue-edge .editorial-shot+ .editorial-shot{border-left:0;border-top:6px solid var(--acid)}
 .media-duo.blue-edge .editorial-shot+ .editorial-shot{border-top-color:var(--blue)}
}
@media(max-width:620px){
 .visual-lead{height:380px}
 .visual-lead .visual-label{left:18px;bottom:18px;max-width:calc(100% - 36px);line-height:1.35}
 .editorial-shot,.editorial-shot img{min-height:330px}
 .media-duo{margin:38px 0 44px}
}

@media(max-width:1100px){.nav{max-height:calc(100vh - 72px);overflow:auto}.nav a{padding:7px 0}.menu-btn{font:11px/1 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;cursor:pointer}.topbar.menu-open{background:#050505}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none;transform:none}.editorial-shot img{transition:none}.editorial-shot:hover img{transform:none}}

/* Prevent grid min-content overflow on narrow screens */
.statement>* , .contact-stage>* , .hero-grid>* , .page-grid>* , .schedule>*{min-width:0}
.statement .small,.kicker,.contact-stage .email{overflow-wrap:anywhere}

@media(max-width:620px){
  .page-hero h1{font-size:clamp(46px,15.5vw,64px);line-height:.84}
  .copy h2{font-size:36px;line-height:.92}
  .statement .big h2{font-size:54px;line-height:.9}
}
@media(max-width:620px){.page-hero h1{font-size:clamp(40px,11vw,54px);line-height:.88}}
