:root{--ink:#0d0d0d;--paper:#f2f0eb;--acid:#ff5a1f;--line:rgba(13,13,13,.18);--muted:#77736c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.cursor-glow{position:fixed;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,90,31,.12),transparent 68%);transform:translate(-50%,-50%);pointer-events:none;z-index:20}.nav{position:fixed;z-index:50;top:0;left:0;right:0;height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.3s}.nav.scrolled{height:70px;background:rgba(13,13,13,.92);backdrop-filter:blur(14px)}.brand{font-family:Anton,sans-serif;line-height:.72;letter-spacing:.03em;font-size:24px;display:flex;flex-direction:column}.brand small{font:700 8px Manrope;letter-spacing:.58em;margin-top:8px}.nav-links{display:flex;align-items:center;gap:32px;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.08em}.nav-links a{transition:.2s}.nav-links a:hover{color:var(--acid)}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:12px 18px;border-radius:100px}.menu-button{display:none;background:0;border:0}.hero{height:100svh;min-height:680px;position:relative;color:#fff;background:#171717;overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;animation:heroZoom 12s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.79) 0%,rgba(0,0,0,.28) 60%,rgba(0,0,0,.48)),linear-gradient(0deg,rgba(0,0,0,.6),transparent 48%)}.hero-content{position:absolute;inset:auto 4vw 8vh}.eyebrow,.section-tag{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700}.eyebrow{color:#fff;margin-bottom:22px}.eyebrow:before,.section-tag:before{content:"";display:inline-block;width:28px;height:2px;background:var(--acid);margin:0 12px 3px 0}.hero h1,.section-pad h2,.about h2,.contact h2{font-family:Anton,sans-serif;font-weight:400;line-height:.87;letter-spacing:-.02em;margin:0}.hero h1{font-size:clamp(70px,11vw,180px)}h1 em,.contact em{font-style:normal;color:var(--acid)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:32px}.hero-bottom p{max-width:470px;font-size:15px;line-height:1.6;color:#ddd}.round-link{width:64px;height:64px;border-radius:50%;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;font-size:24px;transition:.3s}.round-link:hover{background:var(--acid);border-color:var(--acid);transform:translateY(5px)}.hero-index{position:absolute;right:4vw;bottom:3vh;font-size:9px;letter-spacing:.18em;writing-mode:vertical-rl}.section-pad{padding:130px 4vw}.section-tag{color:var(--muted);margin:0 0 38px}.manifesto{display:grid;grid-template-columns:1fr 4fr;gap:3vw}.manifesto h2{font-size:clamp(48px,7vw,110px);grid-column:2}.manifesto h2 span{color:transparent;-webkit-text-stroke:1px var(--ink)}.manifesto-copy{grid-column:2;max-width:620px;font-size:18px;line-height:1.7;margin:35px 0 0 35%}.work{background:#111;color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.section-head h2{font-size:clamp(55px,7vw,105px)}.work .section-tag,.work .project-meta{color:#aaa}.filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.filters button{color:#aaa;border:1px solid #3c3c3c;background:transparent;border-radius:50px;padding:9px 15px;font-size:11px;text-transform:uppercase;cursor:pointer}.filters button.active,.filters button:hover{background:var(--acid);border-color:var(--acid);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.project{position:relative;grid-column:span 4;aspect-ratio:3/4;overflow:hidden;background:#252525;cursor:pointer}.project.wide{grid-column:span 8;aspect-ratio:16/9}.project img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .4s}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 55%)}.project:hover img{transform:scale(1.045);filter:saturate(1.15)}.project-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;align-items:end}.project h3{font:400 clamp(26px,3vw,46px) Anton;margin:0}.project-meta{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.play{width:48px;height:48px;background:var(--acid);border-radius:50%;display:grid;place-items:center;padding-left:3px}.head-copy{max-width:430px;line-height:1.7;color:var(--muted)}.services h2{font-size:clamp(60px,9vw,130px)}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:8% 34% 1fr auto;align-items:center;gap:20px;padding:30px 0;border-bottom:1px solid var(--line);transition:.25s}.service:hover{padding-left:16px;background:#e8e5df}.service>span{font-size:11px;color:var(--muted)}.service h3{font:400 clamp(28px,4vw,54px) Anton;margin:0}.service p{color:var(--muted);max-width:450px}.service i{font-style:normal;font-size:30px;color:var(--acid)}.about{display:grid;grid-template-columns:1.15fr 1fr;background:#161616;color:#fff}.about-image{min-height:850px;position:relative;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover}.about-image span{position:absolute;left:25px;bottom:25px;font-size:10px;letter-spacing:.2em}.about-copy{display:flex;flex-direction:column;justify-content:center}.about-copy h2{font-size:clamp(75px,9vw,140px);margin-bottom:50px}.about-copy>p:not(.section-tag){color:#aaa;line-height:1.8;max-width:550px}.text-link{display:flex;justify-content:space-between;border-bottom:1px solid #555;padding:22px 0;margin-top:30px;text-transform:uppercase;font-size:12px;font-weight:700}.text-link span{color:var(--acid);font-size:22px}.contact{background:var(--acid);color:#0d0d0d}.contact .section-tag{color:#351207}.contact .section-tag:before{background:#111}.contact h2{font-size:clamp(65px,11vw,170px)}.contact h2 em{color:var(--paper)}.contact-row{margin-top:65px;padding-top:25px;border-top:1px solid rgba(0,0,0,.4);display:flex;justify-content:space-between;font-weight:700}.contact-row a:hover{text-decoration:underline}footer{background:#0d0d0d;color:#888;padding:50px 4vw;display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.08em}footer .brand{color:#fff;font-size:20px}footer div{display:flex;gap:25px}.player{padding:0;border:0;background:#0b0b0b;color:#fff;width:min(94vw,1200px);max-width:none;overflow:visible}.player::backdrop{background:rgba(0,0,0,.92);backdrop-filter:blur(10px)}.player video{display:block;width:100%;max-height:78vh;background:#000}.player-close{position:absolute;right:0;top:-48px;color:#fff;background:0;border:0;font-size:35px;cursor:pointer}.player-info{padding:20px 4px;display:flex;justify-content:space-between;text-transform:uppercase}.player-info p{margin:0;font:30px Anton}.player-info span{font-size:11px;color:#999}.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@media(max-width:850px){.cursor-glow{display:none}.nav{height:70px}.menu-button{display:block;width:36px;height:30px;position:relative}.menu-button span{position:absolute;left:3px;width:28px;height:2px;background:#fff;transition:.25s}.menu-button span:first-child{top:9px}.menu-button span:last-child{top:19px}.menu-button.open span:first-child{transform:translateY(5px) rotate(45deg)}.menu-button.open span:last-child{transform:translateY(-5px) rotate(-45deg)}.nav-links{position:fixed;inset:70px 0 auto;background:#111;padding:30px 4vw;display:none;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hero h1{font-size:clamp(62px,20vw,105px)}.hero-bottom{align-items:center}.hero-bottom p{max-width:75%}.section-pad{padding:90px 5vw}.manifesto{display:block}.manifesto-copy{margin:30px 0 0}.section-head{display:block}.filters{justify-content:flex-start;margin-top:30px}.project-grid{display:block}.project,.project.wide{margin-bottom:15px;aspect-ratio:4/5}.service{grid-template-columns:10% 1fr auto}.service p{display:none}.about{grid-template-columns:1fr}.about-image{min-height:620px}.contact-row,footer{align-items:flex-start;flex-direction:column;gap:25px}footer div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.legal-page{background:#111;color:#fff}.legal-page .nav{background:#111}.legal-main{max-width:900px;margin:auto;padding:160px 5vw 100px}.legal-main h1{font:400 clamp(55px,8vw,100px) Anton;margin:0 0 60px}.legal-main h2{font:400 28px Anton;margin:45px 0 15px}.legal-main p,.legal-main li{color:#aaa;line-height:1.8}.legal-main a{color:var(--acid)}
.about-mathieu{background:#e8e5df;color:var(--ink)}.about-mathieu .about-copy>p:not(.section-tag){color:#615e58}.about-mathieu .text-link{border-color:#aaa}.about-mathieu .about-image img{object-position:center 28%;filter:contrast(1.05)}.about-mathieu .about-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.38),transparent 45%);pointer-events:none}.about-mathieu .about-image span{z-index:2;color:#fff}
.service{cursor:pointer}.service:focus-visible{outline:2px solid var(--acid);outline-offset:5px}.service-modal{width:min(92vw,900px);max-width:none;border:0;padding:60px;background:var(--paper);color:var(--ink)}.service-modal::backdrop{background:rgba(0,0,0,.84);backdrop-filter:blur(8px)}.service-modal-close{position:absolute;right:25px;top:18px;border:0;background:transparent;font-size:34px;cursor:pointer}.service-number{color:var(--acid);font-size:11px;font-weight:700;letter-spacing:.15em}.service-modal h2{font:400 clamp(52px,8vw,96px)/.9 Anton;margin:22px 0 30px}.service-intro{font-size:19px;line-height:1.7;max-width:720px;color:#615e58}.service-details{display:grid;grid-template-columns:1fr 1fr;gap:45px;border-top:1px solid var(--line);margin-top:40px;padding-top:30px}.service-details span{display:block;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.14em;margin-bottom:15px}.service-details ul{margin:0;padding-left:18px;color:#615e58;line-height:1.9}.service-details p{color:#615e58;line-height:1.8;margin:0}.service-contact{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:35px;padding-top:25px;text-transform:uppercase;font-size:12px;font-weight:700}.service-contact b{color:var(--acid);font-size:22px}.service-contact:hover{color:var(--acid)}
.showreel-rotation{margin-top:28px;border-top:1px solid #333;padding-top:22px;display:flex;align-items:center;justify-content:space-between}.showreel-rotation>div{display:flex;align-items:center;gap:12px}.showreel-rotation p{margin:0;color:#888;font-size:10px;letter-spacing:.14em}.showreel-rotation b{color:#fff}.rotation-dot{width:8px;height:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 0 rgba(255,90,31,.7);animation:rotationPulse 2s infinite}.showreel-rotation button{border:1px solid #444;background:transparent;color:#fff;border-radius:100px;padding:11px 16px;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.08em;cursor:pointer}.showreel-rotation button:hover{background:var(--acid);border-color:var(--acid)}.showreel-rotation button span{margin-left:15px;font-size:16px}@keyframes rotationPulse{70%{box-shadow:0 0 0 8px rgba(255,90,31,0)}100%{box-shadow:0 0 0 0 rgba(255,90,31,0)}}
.showreel-stage{position:relative}.showreel-arrow{position:absolute;z-index:8;top:50%;width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:rgba(10,10,10,.72);backdrop-filter:blur(8px);color:#fff;font-size:25px;display:grid;place-items:center;cursor:pointer;transform:translateY(-50%);transition:.25s}.showreel-prev{left:-29px}.showreel-next{right:-29px}.showreel-arrow:hover{background:var(--acid);border-color:var(--acid);transform:translateY(-50%) scale(1.08)}.showreel-arrow:active{transform:translateY(-50%) scale(.96)}
@media(max-width:850px){.showreel-arrow{width:48px;height:48px}.showreel-prev{left:-12px}.showreel-next{right:-12px}}
.wedding-banner{height:clamp(430px,65vw,780px);position:relative;display:block;overflow:hidden;background:#221b18;color:#fff}.wedding-banner video{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.wedding-banner:hover video{transform:scale(1.025)}.wedding-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.08) 62%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%)}.wedding-content{position:absolute;inset:auto 4vw 7%;display:grid;grid-template-columns:1fr auto;align-items:end}.wedding-content>p{grid-column:1/-1;text-transform:uppercase;letter-spacing:.2em;font-size:10px;margin:0 0 18px}.wedding-content h2{font:400 clamp(90px,17vw,260px)/.78 Anton;margin:0;letter-spacing:-.02em}.wedding-link{align-self:end;border:1px solid rgba(255,255,255,.6);border-radius:100px;padding:15px 20px;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.08em}.wedding-link b{font-size:19px;margin-left:18px;color:var(--acid)}.wedding-banner:hover .wedding-link{background:#fff;color:#111}
@media(max-width:700px){.wedding-content{display:block}.wedding-content h2{font-size:25vw}.wedding-link{display:inline-flex;align-items:center;margin-top:28px}.wedding-banner{height:70vh;min-height:520px}}
@media(max-width:650px){.service-modal{padding:45px 25px 30px}.service-details{grid-template-columns:1fr;gap:25px}}
.team{background:#161616;color:#fff}.team .section-head h2{font:400 clamp(60px,8vw,120px)/.88 Anton}.team .head-copy{color:#aaa}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.team-member{min-width:0}.team-photo{height:min(65vw,720px);position:relative;overflow:hidden;background:#292929}.team-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%)}.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.team-member:first-child .team-photo img{object-position:center 50%}.team-member:last-child .team-photo img{object-position:center 25%}.team-member:hover .team-photo img{transform:scale(1.025)}.team-photo span{position:absolute;z-index:2;left:24px;bottom:22px;font-size:10px;font-weight:700;letter-spacing:.18em}.team-copy{padding:28px 4px}.team-copy .section-tag{margin-bottom:18px}.team-copy h3{font:400 clamp(38px,5vw,70px) Anton;margin:0 0 18px}.team-copy>p:last-child{color:#aaa;line-height:1.75;max-width:580px}.team-link{margin-top:25px;border-color:#555}
@media(max-width:700px){.team-grid{grid-template-columns:1fr}.team-photo{height:125vw;max-height:720px}}
