/* NAIMIKO PROD / V4. No animation library, no tracking, no font file distributed.
   Artwork for fixed display headings is outlined from the supplied NAIMIKO lettering. */
:root{--ink:#141418;--paper:#f0efed;--violet:#6728ee;--lavender:#bc9aff;--muted:#aaa6b4;--line:rgba(255,255,255,.14);--gutter:clamp(22px,4.5vw,82px);--ease:cubic-bezier(.2,.75,.25,1);--page:1560px;--hero-progress:0}
*{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:105px}body{overflow-x:clip;margin:0;background:var(--ink);color:var(--paper);font-family:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}p+p{margin-top:1em}h1,h2,h3{font-weight:500;line-height:1.1}button:disabled{opacity:.4;cursor:default}svg{display:block}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--lavender);outline-offset:6px}[hidden]{display:none!important}::selection{background:var(--violet);color:white}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:0;left:20px;transform:translateY(-130%);padding:14px 24px;background:var(--violet);z-index:100}.skip:focus{transform:translateY(0)}.wrap{width:min(100% - var(--gutter)*2,var(--page));margin-inline:auto}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;margin-bottom:30px}.display{width:100%;max-width:900px}.lettering{width:100%;height:auto;overflow:visible}.title-line{display:block}.title-line+.title-line{margin-top:14px}.circle-link{display:inline-flex;align-items:center;gap:22px;font-size:13px;font-weight:600;padding:0}.circle-link>span{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:46px;height:46px;font-size:24px;transition:background .3s,transform .4s}.circle-link:hover>span{background:var(--violet);transform:rotate(45deg);border-color:var(--violet)}.underlink{display:inline-flex;gap:26px;align-items:center;border-bottom:1px solid #fff8;padding-bottom:8px;font-size:12px}.underlink>span{transition:transform .3s}.underlink:hover>span{transform:translateY(4px)}.page-progress{position:fixed;top:0;left:0;height:3px;background:var(--violet);transform:scaleX(0);transform-origin:left;width:100%;z-index:99}.cursor-label{position:fixed;left:0;top:0;display:grid;place-items:center;border-radius:50%;width:76px;height:76px;background:var(--violet);font-size:11px;font-weight:700;letter-spacing:.1em;z-index:55;pointer-events:none;opacity:0;transition:opacity .2s,scale .3s;scale:.7}.cursor-label.visible{opacity:1;scale:1}
/* Navigation */
.site-header{position:fixed;left:0;top:0;width:100%;height:100px;z-index:50;display:flex;align-items:center;gap:36px;padding:0 var(--gutter);transition:height .4s,background .4s,border-color .4s;border-bottom:1px solid transparent}.site-header.scrolled{height:77px;background:rgba(20,20,24,.89);backdrop-filter:blur(18px);border-color:var(--line)}.brand{flex:none;width:184px}.brand img{width:100%;height:auto}.site-header nav{margin-left:auto;display:flex;gap:28px;font-size:12px;font-weight:500}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;bottom:-8px;left:0;width:100%;height:1px;background:white;transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after{transform:scaleX(1)}.contact-pill{display:flex;align-items:center;gap:32px;background:var(--violet);border:1px solid #8d5bff;border-radius:100px;font-size:12px;padding:12px 19px;transition:background .3s}.contact-pill span{font-size:21px;line-height:1}.contact-pill:hover{background:#8144ff}.menu-toggle{display:none;align-items:center;gap:13px}.menu-icon{display:flex;width:26px;height:30px;flex-direction:column;justify-content:center;gap:6px}.menu-icon i{height:1px;width:100%;background:currentColor;transition:transform .3s}.menu-open .menu-icon i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-icon i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:49;background:var(--violet);padding:115px var(--gutter) 35px;display:flex;flex-direction:column;justify-content:space-between}.mobile-menu nav{display:grid}.mobile-menu nav a{font-size:clamp(24px,7vw,45px);line-height:1.4;padding:13px 0;border-bottom:1px solid #ffffff38;animation:menuEntry .45s var(--ease) both}.mobile-menu nav a:nth-child(2){animation-delay:.06s}.mobile-menu nav a:nth-child(3){animation-delay:.12s}.mobile-menu nav a:nth-child(4){animation-delay:.18s}.mobile-menu nav a:nth-child(5){animation-delay:.24s}.mobile-menu p{font-size:12px;color:#fffd}.menu-open{overflow:hidden}@keyframes menuEntry{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
/* Cinematic opening. Scroll changes framing, never captures the user's scrolling. */
.hero-scene{height:135svh;min-height:800px;position:relative}.hero-sticky{height:100svh;min-height:660px;position:sticky;top:0;overflow:hidden;isolation:isolate}.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;transform:scale(calc(1 - var(--hero-progress)*.07));border-radius:calc(var(--hero-progress)*26px);will-change:transform}.hero-poster,.hero-video{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:50% 50%}.hero-video{opacity:0;transition:opacity .9s}.hero-video.is-playing{opacity:1}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,13,.44),rgba(5,5,13,.15) 32%,rgba(5,5,13,.68) 77%,rgba(5,5,13,.82)),linear-gradient(90deg,rgba(13,8,20,.22),transparent 80%)}.hero-content{height:100%;padding:150px var(--gutter) 108px;display:flex;flex-direction:column;justify-content:space-between}.hero-eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:.13em;font-size:10px;text-transform:uppercase}.status-dot{width:6px;height:6px;background:var(--lavender);border-radius:50%;box-shadow:0 0 14px #9463ff}.hero-location{margin-left:auto;color:#fffb}.hero-message{margin-top:auto;padding-block:70px 34px;transform:translateY(calc(var(--hero-progress)*-30px));opacity:calc(1 - var(--hero-progress)*.4)}.hero-pretitle{font-size:clamp(13px,1.3vw,20px);margin-bottom:27px;color:#f6f0ffe0}.hero-title{max-width:1030px;width:78vw}.hero-title .title-line:nth-child(2){width:53%}.hero-title .title-line:last-child{color:var(--paper)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.hero-bottom-copy p{font-size:13px;color:#eeedf2;max-width:330px;margin-bottom:16px}.hero-play{display:flex;align-items:center;gap:20px;text-align:left;padding:0}.play-disc{display:grid;place-items:center;width:77px;height:77px;border:1px solid #fff9;border-radius:50%;background:#ffffff0a;backdrop-filter:blur(6px);transition:background .35s,transform .35s}.play-disc svg{width:25px;margin-left:3px}.hero-play:hover .play-disc{background:var(--violet);border-color:var(--violet);transform:scale(1.09)}.hero-play b{display:block;font-size:12px;font-weight:600;letter-spacing:.12em}.hero-play small{display:block;color:#fff9;font-size:9px;letter-spacing:.08em;margin-top:4px}.hero-controls{position:absolute;bottom:24px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:#fffb}.hero-controls button{font-size:10px;border:1px solid #fff5;border-radius:25px;padding:7px 14px;min-height:36px}.hero-frame{position:absolute;inset:122px 25px 72px;pointer-events:none;opacity:.28}.hero-frame i{width:13px;height:13px;position:absolute;border:1px solid #fff}.hero-frame i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.hero-frame i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}.hero-frame i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.hero-frame i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
/* Kinetic interlude */
.ticker{position:relative;overflow:hidden;background:var(--violet);padding:22px 0;transform:rotate(-1.1deg) scale(1.02);margin:-8px 0 0;z-index:2;max-width:100%}.ticker-track{width:max-content;display:block;font-size:clamp(26px,3.4vw,52px);font-weight:600;letter-spacing:-.04em;line-height:1.25;animation:marquee 42s linear infinite;white-space:nowrap}.ticker-track span{font-size:.8em;padding:0 25px;color:#d8c5ff}.ticker-pause{position:absolute;right:9px;top:6px;padding:1px 10px;font-size:12px;background:var(--violet);border:1px solid #fff6;border-radius:20px}.ticker.paused .ticker-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}.intro{padding-block:120px 140px}.intro-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:100px;align-items:start}.intro-statement{font-size:clamp(32px,4.6vw,72px);line-height:1.12;letter-spacing:-.055em}.intro-statement em{font-style:normal;color:var(--lavender)}.intro-body{max-width:390px;margin-left:auto}.intro-body>p:first-child{font-size:21px;margin-bottom:18px}.intro-body>p:nth-child(2){font-size:14px;color:var(--muted)}.intro-body .circle-link{margin-top:30px}
/* Work: selected film fills the large screen; strip remains tactile and keyboard-operable. */
.films-section{padding:35px 0 125px;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;padding-top:35px;margin-bottom:55px}.films-title{width:min(650px,55vw)}.head-side{max-width:220px;color:var(--muted);font-size:12px;padding-bottom:7px}.head-side>span{display:block;color:var(--paper);letter-spacing:.13em;font-size:10px;margin-bottom:12px}.cinema-screen{position:relative;aspect-ratio:2.15;overflow:hidden;background:#25212d;border-radius:5px;isolation:isolate}.cinema-cover{position:absolute;inset:0;z-index:-1}.cinema-cover img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),opacity .35s}.cinema-screen:hover .cinema-cover img{transform:scale(1.045)}.cinema-screen.switching .cinema-cover img{opacity:0;transform:scale(1.07)}.cinema-gradient{position:absolute;inset:0;background:linear-gradient(0deg,#0a0911e6,transparent 60%)}.film-ordinal{position:absolute;left:35px;top:27px;font-size:11px;letter-spacing:.16em}.cinema-play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);display:grid;place-items:center;width:83px;height:83px;border:1px solid #fff9;background:#fff1;backdrop-filter:blur(4px);border-radius:50%;transition:background .3s,scale .3s}.cinema-play:hover{background:var(--violet);scale:1.08}.cinema-play svg{width:27px;margin-left:4px}.cinema-caption{position:absolute;bottom:30px;left:35px;right:35px;pointer-events:none}.cinema-caption>span:first-child{font-size:10px;letter-spacing:.14em}.cinema-caption h3{margin-top:8px;font-size:clamp(19px,2.4vw,37px);max-width:80%;font-weight:500;line-height:1.12;letter-spacing:-.04em}.cinema-source{position:absolute;bottom:3px;right:0;letter-spacing:.13em;font-size:9px;color:#fff9}.cinema-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:6%;background:radial-gradient(ellipse at 75% 0%,#632edd80,transparent 68%),linear-gradient(120deg,#211e2b,#242031);overflow:hidden}.cinema-fallback:after{content:"";position:absolute;width:0;height:0;border-top:13.5vw solid transparent;border-bottom:13.5vw solid transparent;border-left:23vw solid #b795ff0b;right:8%;top:-10%;transform:rotate(-15deg)}.cinema-fallback>span{font-size:12px;letter-spacing:.5em;color:#b6a6d4}.cinema-fallback p{font-size:clamp(27px,4vw,65px);font-weight:500;letter-spacing:-.035em;line-height:1.1;max-width:65%}.cinema-fallback small{font-size:11px;color:var(--muted);margin-top:20px}.film-strip-head{display:flex;align-items:center;justify-content:space-between;margin-top:24px;margin-bottom:16px}.film-strip-head>p{font-size:12px;color:var(--muted)}.film-strip-head>p span{margin-left:25px}.arrow-group{display:flex;gap:9px}.arrow-group button{display:grid;place-items:center;border:1px solid var(--line);width:45px;height:45px;border-radius:50%;font-size:20px;transition:background .3s}.arrow-group button:hover{background:var(--violet)}.film-strip{display:flex;gap:14px;overflow:auto;padding:5px 3px 25px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#6842ad #26212f}.film-thumb{position:relative;flex:0 0 220px;padding:0;text-align:left;scroll-snap-align:center;border:1px solid transparent;border-radius:3px;overflow:hidden;transition:opacity .3s,border-color .3s;opacity:.55}.film-thumb[aria-pressed="true"],.film-thumb:hover{opacity:1}.film-thumb[aria-pressed="true"]{border-color:var(--lavender)}.film-thumb-picture{aspect-ratio:16/10;background:linear-gradient(130deg,#302345,#15151b);display:block;position:relative;overflow:hidden}.film-thumb-picture img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.film-thumb:hover img{transform:scale(1.07)}.film-thumb-number{position:absolute;top:8px;left:10px;font-size:10px;letter-spacing:.1em;background:#17141ea0;padding:3px 6px;border-radius:3px}.film-thumb>span:last-child{display:block;font-size:10px;line-height:1.4;padding:10px;max-width:210px;min-height:47px}.editorial-details{border-block:1px solid var(--line);margin-top:40px}.editorial-details summary{display:flex;justify-content:space-between;gap:25px;cursor:pointer;font-size:13px;padding:19px 0;list-style:none}.editorial-details summary::-webkit-details-marker,summary::-webkit-details-marker{display:none}.editorial-details summary span{font-size:20px;line-height:1;transition:transform .3s}details[open]>summary>span:last-child,details[open]>summary>b:last-child{transform:rotate(45deg)}.editorial-details>p,.editorial-details>.two-col{padding:5px 0 30px;color:var(--muted);font-size:14px;max-width:900px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:55px}.two-col p+p{margin:0}
/* Photography has a contrasting surface and physical, staggered image planes. */
.photo-section{padding:110px 0 75px;background:var(--paper);color:var(--ink);overflow:hidden;--line:#17131c24;--muted:#625e6a}.photo-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}.photo-title{width:52%;max-width:640px}.photo-title .title-line:nth-child(2){width:66%}.photo-intro-text{width:34%;max-width:380px;font-size:14px;line-height:1.8;margin-bottom:6px}.photo-intro-text .circle-link{margin-top:25px;font-size:12px}.dark-link>span{border-color:#25163166}.dark-link:hover>span{color:white}.photo-stage{display:grid;grid-template-columns:1.03fr .9fr 1.12fr;gap:4.3vw;width:calc(100% - var(--gutter)*2);max-width:1460px;margin:90px auto 70px;align-items:start;padding:35px 0 25px}.photo-tile{padding:0;display:block;width:100%;position:relative;text-align:left;transform:translateY(calc(var(--parallax,0)*1px));transition:filter .3s}.photo-tile:nth-child(3n+2){margin-top:110px}.photo-tile:nth-child(3n+3){margin-top:40px}.photo-tile:nth-child(n+4){margin-top:20px}.photo-tile:nth-child(5){margin-top:115px}.photo-tile:nth-child(6){margin-top:50px}.photo-tile .image-plane{display:block;overflow:hidden;aspect-ratio:4/5;background:#ddd8d2;transition:box-shadow .5s,transform .65s var(--ease)}.photo-tile .image-plane img{height:100%;width:100%;object-fit:cover;transition:transform .7s var(--ease)}.photo-tile:nth-child(3n+3) .image-plane{aspect-ratio:3/4}.photo-tile:hover .image-plane{transform:rotate(-1.5deg);box-shadow:0 25px 60px #1d143222}.photo-tile:nth-child(even):hover .image-plane{transform:rotate(1.5deg)}.photo-tile:hover img{transform:scale(1.055)}.photo-tile .photo-caption{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.photo-caption .photo-arrow{font-size:18px;margin-top:-4px}.photo-bottom{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);gap:25px}.photo-tabs{display:flex;gap:8px;flex-wrap:wrap}.photo-tabs button{padding:11px 20px;border-radius:100px;border:1px solid #24212d33;font-size:11px;color:#4a4354;min-height:44px}.photo-tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}
/* Social films play only on demand. No Instagram connection and no hidden third-party reader. */
.social-section{padding-block:150px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:8%}.social-copy .display{width:100%;max-width:540px}.social-quote{max-width:320px;font-size:15px;line-height:1.8;color:var(--muted);margin-top:40px}.social-copy .circle-link{margin-top:30px}.reels-track{display:flex;align-items:center;gap:25px;perspective:1000px}.reel{flex:1;min-width:0;position:relative}.reel:first-child{transform:rotate(-5deg) translateY(16px)}.reel:nth-child(2){transform:rotate(6deg) translateY(-15px)}.reel>button{padding:0;border-radius:18px;overflow:hidden;border:1px solid #83759d4f;position:relative;display:block;width:100%;aspect-ratio:9/16;background:#201b2b;box-shadow:0 30px 80px #0005;transition:transform .6s var(--ease)}.reel>button:hover{transform:translateY(-16px) rotate(-2deg)}.reel img{width:100%;height:100%;object-fit:cover}.reel>button:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0c0815aa,transparent 45%)}.reel .mini-play{position:absolute;inset:40% auto auto 50%;transform:translateX(-50%);width:54px;height:54px;border:1px solid #fff9;border-radius:50%;display:grid;place-items:center;background:#fff1;z-index:1}.reel .reel-title{position:absolute;bottom:24px;left:20px;right:20px;text-align:left;font-size:12px;line-height:1.4;z-index:1}.reel-meta{font-size:9px;margin:18px 12px 0;letter-spacing:.13em;color:var(--muted)}
/* Drone and studio-independent services. */
.drone-section{height:810px;position:relative;overflow:hidden}.drone-visual{position:absolute;inset:-10% 0;will-change:transform}.drone-visual>img{width:100%;height:100%;object-fit:cover}.drone-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0c111dd9,#10142310 60%,#0c111d88)}.drone-content{height:100%;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding-block:65px}.drone-title{max-width:1100px}.drone-title .title-line:nth-child(2){width:40%}.drone-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:50px;gap:40px}.drone-bottom>p{max-width:420px;font-size:14px}.circle-play{display:flex;flex-direction:column;align-items:center;justify-content:center;width:116px;height:116px;border:1px solid #fff9;border-radius:50%;font-size:23px;flex:none;gap:8px;transition:background .4s,transform .4s}.circle-play>span{font-size:9px;letter-spacing:.12em}.circle-play:hover{background:var(--violet);transform:scale(1.07)}.services{padding-block:125px}.services>.display{max-width:600px}.process-list{margin-top:65px}.process-step{border-top:1px solid var(--line)}.process-step:last-child{border-bottom:1px solid var(--line)}.process-step summary{display:grid;grid-template-columns:90px 1fr 40px;gap:10px;align-items:center;list-style:none;cursor:pointer;padding:30px 0}.process-step summary>span{font-size:11px;color:var(--lavender);letter-spacing:.14em}.process-step h3{font-size:clamp(20px,2.8vw,44px);letter-spacing:-.035em}.process-step summary b{font-size:28px;font-weight:300;transition:transform .3s}.process-text{margin-left:100px;padding-bottom:35px;max-width:720px;color:var(--muted);font-size:14px}
/* About, references and contact. */
.about-section{padding-block:100px;background:#1c1a23}.about-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:70px}.about-title-row .display{width:61%;max-width:770px}.about-title-row p{font-size:13px;color:var(--muted);max-width:280px;padding-bottom:9px}.about-image{margin-top:60px;aspect-ratio:2.15;position:relative;overflow:hidden}.about-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}.about-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0008,transparent 30%)}.about-image>span{position:absolute;left:25px;bottom:20px;font-size:9px;letter-spacing:.16em;z-index:1}.founder-grid{display:grid;grid-template-columns:.8fr 1.1fr;gap:12%;padding-top:95px;align-items:start}.founder-photo{max-width:400px;width:100%;overflow:hidden;aspect-ratio:4/5}.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.founder-copy>h3{font-size:38px;letter-spacing:-.05em;margin-bottom:25px}.founder-copy>p{font-size:14px;color:var(--muted)}.founder-copy details{margin-top:28px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.founder-copy summary{list-style:none;display:flex;justify-content:space-between;padding:18px 0;color:var(--paper);cursor:pointer}.founder-copy details p{margin:0 0 18px}.team-intro{margin-top:90px;display:flex;gap:70px;justify-content:space-between;align-items:center;margin-bottom:30px}.team-intro h3{font-size:32px;letter-spacing:-.04em}.team-intro p{font-size:13px;color:var(--muted);max-width:500px}.team-track{display:flex;gap:20px;overflow:auto;padding-bottom:20px;scrollbar-width:thin;scrollbar-color:#51416a #28242f}.team-card{flex:0 0 210px}.team-portrait>img{aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;filter:grayscale(1);transition:filter .4s}.team-portrait:hover>img,.team-portrait:focus-visible>img{filter:grayscale(0)}.team-card>div{padding-top:16px}.team-card h3{font-size:17px}.team-card p{margin-top:6px;font-size:10px;color:var(--muted)}.clients{padding-block:95px}.clients-title{display:flex;justify-content:space-between;gap:30px;font-size:13px}.clients-title .eyebrow{margin:0}.clients-title p a{font-size:19px;margin-left:10px}.clients-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:38px}.client-logo{background:#f9f9f9;display:grid;place-items:center;height:115px;border-radius:3px;padding:19px}.client-logo img{max-width:100%;max-height:78px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1)}.wedding{margin-bottom:100px}.wedding>a{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#201d27;overflow:hidden}.wedding img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.9}.wedding a>div{padding:40px 50px}.wedding span{font-size:9px;letter-spacing:.16em;color:var(--muted)}.wedding h2{font-family:Georgia,serif;font-size:32px;margin:14px 0;font-style:italic}.wedding p{font-size:12px;color:var(--muted)}.wedding b{display:block;font-size:11px;margin-top:18px;font-weight:500}.contact-section{position:relative;isolation:isolate;overflow:hidden;background:var(--violet);padding:90px 0 45px}.contact-orb{position:absolute;width:72vw;height:72vw;right:-27vw;top:-20vw;background:radial-gradient(circle,transparent 35%,#ffffff12 36%,transparent 37%,transparent 45%,#ffffff14 46%,transparent 47%,transparent 55%,#ffffff18 56%,transparent 57%,transparent 65%,#ffffff0c 66%,transparent 67%);z-index:-1;animation:orb 15s ease-in-out infinite alternate;pointer-events:none}@keyframes orb{to{transform:translate(-80px,60px) scale(1.12)}}.contact-title{max-width:1180px}.contact-title .title-line:nth-child(2){width:77%}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:60px}.contact-bottom p{max-width:350px;font-size:13px;color:#efebff}.contact-mail{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #fff7;padding:16px 0 8px;font-size:clamp(16px,2vw,30px);letter-spacing:-.035em}.contact-mail>span:last-child{font-size:29px}.big-contact{background:var(--paper);color:var(--ink);border-radius:100px;padding:22px 28px;display:flex;gap:30px;align-items:center;font-size:11px;font-weight:600;letter-spacing:.08em;transition:transform .4s}.big-contact>span{font-size:26px;line-height:1}.big-contact:hover{transform:rotate(-3deg)}.contact-details{border-color:#fff4}.contact-details p{color:#f3ebff}footer{display:grid;grid-template-columns:.85fr 1.2fr 1.2fr;align-items:start;gap:40px;padding-block:50px 25px;font-size:11px}footer p{color:var(--muted);font-size:10px;margin-top:9px}.footer-brand{width:165px}.footer-links{display:flex;justify-content:flex-end;gap:10px 20px;flex-wrap:wrap;color:var(--muted);font-size:10px}.footer-note{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin-top:7px!important}
/* Immersive viewers */
body.modal-open{overflow:hidden}dialog{border:0;padding:0;color:var(--paper);background:var(--ink);box-shadow:0 30px 100px #0008}dialog::backdrop{background:rgba(6,4,12,.94);backdrop-filter:blur(12px)}.viewer{width:min(1340px,96vw);max-width:96vw;max-height:96svh;overflow:auto;border:1px solid #ffffff22;border-radius:8px}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 22px}.viewer-top h2{font-size:16px;letter-spacing:-.02em;line-height:1.3}.close-viewer{font-size:31px;line-height:1;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;flex:none;display:grid;place-items:center}.viewer-media{position:relative;background:#050507;min-height:200px;display:grid;place-items:center}.viewer-media>video,.viewer-media>img{display:block;width:100%;max-height:77svh;object-fit:contain}.viewer-media>iframe{display:block;width:100%;aspect-ratio:16/9;max-height:70svh;border:0}.viewer-caption{padding:15px 22px;font-size:11px;display:flex;gap:20px;align-items:center;justify-content:space-between}.viewer-caption a{border-bottom:1px solid #fff6}.photo-nav{display:flex;gap:10px}.photo-nav button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:22px}.youtube-consent{position:relative;width:100%;aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:40px;background:radial-gradient(ellipse at 50% 0%,#6227ce70,transparent 70%)}.youtube-consent h3{font-size:26px}.youtube-consent p{font-size:13px;max-width:510px;color:var(--muted)}.youtube-consent button{padding:13px 22px;border-radius:100px;background:var(--violet);font-size:13px}.youtube-consent a{font-size:12px;border-bottom:1px solid var(--line)}.media-error{padding:35px;font-size:13px;color:var(--muted)}.gallery{width:100vw;max-width:100vw;height:100svh;max-height:100svh;padding:30px var(--gutter) 60px;background:var(--paper);color:var(--ink);overflow:auto;--line:#24202f44}.gallery-header{display:flex;justify-content:space-between;gap:25px;margin-bottom:25px}.gallery-header .eyebrow{margin-bottom:15px}.gallery-header h2{font-size:48px;letter-spacing:-.05em}.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}.gallery-filters button{border:1px solid #221c3633;border-radius:100px;padding:12px 24px;font-size:12px;transition:background .3s}.gallery-filters button.active{background:var(--ink);color:white}.gallery-grid{columns:4;column-gap:20px}.gallery-item{width:100%;display:block;padding:0;break-inside:avoid;margin:0 0 24px;text-align:left;animation:galleryEnter .6s var(--ease) both}.gallery-item img{width:100%;height:auto;background:#d8d4dd;min-height:100px;transition:filter .3s}.gallery-item:hover img{filter:brightness(.83)}.gallery-item span{display:block;font-size:10px;margin-top:7px;color:#6b6376}.gallery-image-error{height:260px;padding:25px;display:grid;place-items:center;text-align:center;background:#e0dde3;color:#776c85;font-size:12px}@keyframes galleryEnter{from{opacity:0;transform:translateY(25px) scale(.985)}to{opacity:1;transform:none}}.preview-notice{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);background:#1e192cee;border:1px solid #9876cf;color:white;z-index:80;font-size:9px;letter-spacing:.1em;padding:10px 20px;border-radius:50px;white-space:nowrap}
/* Progressive enhancement: without JS all content is visible. */
.motion-ready .reveal{opacity:0;transform:translateY(45px);transition:opacity .95s var(--ease),transform .95s var(--ease)}.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}.hero-message .title-line{animation:heroEnter 1.05s var(--ease) both}.hero-message .title-line:nth-last-child(1){animation-delay:.14s}.hero-pretitle,.hero-bottom{animation:heroEnter 1s var(--ease) .22s both}@keyframes heroEnter{from{opacity:0;transform:translateY(45px);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(min-width:1600px){.hero-content{padding-top:165px;padding-bottom:125px}.hero-title{width:76vw;max-width:1320px}.hero-pretitle{margin-bottom:38px}}
@media(max-width:1150px){.site-header{gap:23px}.site-header nav{gap:20px}.brand{width:165px}.hero-content{padding-top:130px}.hero-title{width:87vw}.intro-grid{gap:50px}.social-section{gap:6%}.cinema-source{display:none}.photo-intro-text{width:39%}.clients-grid{gap:12px}.client-logo{padding:14px}.contact-mail{font-size:23px}}
@media(max-width:850px){.site-header nav,.contact-pill{display:none}.site-header{height:85px;justify-content:space-between}.site-header.scrolled{height:70px}.menu-toggle{display:flex;font-size:11px;padding:7px 0 7px 10px}.brand{width:163px}.hero-scene{height:113svh;min-height:720px}.hero-sticky{min-height:660px}.hero-content{padding-top:120px;padding-bottom:105px}.hero-title{width:100%;max-width:850px}.hero-message{padding-block:90px 37px}.hero-title .title-line:nth-child(2){width:52%}.hero-bottom{align-items:start}.hero-play{gap:12px}.play-disc{width:58px;height:58px}.hero-play small{max-width:135px;font-size:8px}.hero-bottom-copy p{max-width:220px;font-size:11px}.hero-play b{font-size:10px}.hero-frame{inset:99px 12px 69px}.hero-location{display:none}.intro{padding-block:95px}.intro-grid{grid-template-columns:1fr 1fr;gap:35px}.intro-statement{font-size:43px}.intro-body>p:first-child{font-size:17px}.intro-body>p:nth-child(2){font-size:12px}.films-section{padding-bottom:85px}.section-head{margin-bottom:35px}.head-side{width:160px}.cinema-screen{aspect-ratio:1.75}.film-thumb{flex-basis:185px}.film-ordinal{left:23px;top:20px}.cinema-caption{left:23px;bottom:23px}.cinema-caption h3{max-width:100%;font-size:24px}.cinema-play{width:66px;height:66px}.photo-section{padding-top:80px}.photo-title{width:57%}.photo-intro-text{width:38%;font-size:12px}.photo-heading{gap:30px}.photo-stage{gap:25px;margin-block:45px}.photo-tile:nth-child(3n+2){margin-top:65px}.photo-tile:nth-child(5){margin-top:70px}.photo-tile .photo-caption{font-size:8px}.photo-bottom>p{display:none}.social-section{padding-block:110px;gap:7%}.reels-track{gap:14px}.social-quote{font-size:13px;margin-top:28px}.reel .reel-title{font-size:10px;left:15px;bottom:18px}.reel .mini-play{width:43px;height:43px;font-size:12px}.drone-section{height:650px}.drone-content{padding-block:55px}.drone-bottom p{max-width:370px}.about-title-row .display{width:64%}.about-title-row{gap:40px}.about-title-row p{font-size:11px}.founder-grid{gap:10%;padding-top:65px}.team-intro{gap:35px}.team-intro p{max-width:55%;font-size:12px}.clients-grid{grid-template-columns:repeat(3,1fr);gap:12px}.client-logo{height:95px}.client-logo img{max-height:63px}.wedding a>div{padding:25px}.wedding h2{font-size:27px}.contact-title .title-line:nth-child(2){width:77%}.contact-bottom{margin-top:45px}.contact-mail{font-size:19px}footer{grid-template-columns:1fr 1fr;gap:30px}.footer-links{grid-column:1/-1;justify-content:flex-start}.gallery-grid{columns:3}}
@media(max-width:600px){:root{--gutter:23px}.site-header{height:80px}.brand{width:158px}.hero-scene{height:106svh;min-height:720px}.hero-sticky{min-height:680px;max-height:1000px}.hero-content{padding-top:113px;padding-bottom:105px}.hero-eyebrow{font-size:8px;letter-spacing:.1em;gap:8px}.hero-poster,.hero-video{object-position:55% 50%}.hero-shade{background:linear-gradient(180deg,#0b07135c,#0b07133b 30%,#0b0713b8 70%,#0b0713e6),linear-gradient(90deg,#120b1620,transparent)}.hero-message{padding-top:105px;padding-bottom:29px;margin-top:auto}.hero-title{width:100%}.hero-title .title-line:nth-child(2){width:62%}.hero-title .title-line+.title-line{margin-top:12px}.hero-pretitle{font-size:12px;margin-bottom:20px}.hero-bottom{flex-direction:column;gap:25px}.hero-bottom-copy p{max-width:270px;font-size:12px;margin-bottom:10px}.underlink{font-size:10px;padding-bottom:6px}.hero-play{gap:14px}.hero-play b{font-size:11px}.hero-play small{max-width:none;font-size:8px}.play-disc{width:53px;height:53px}.play-disc svg{width:22px}.hero-controls{bottom:25px;font-size:8px;align-items:center}.hero-frame{display:none}.ticker{padding-block:17px}.ticker-track{font-size:27px}.ticker-track span{padding:0 18px}.eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:24px}.intro{padding-block:70px 80px}.intro-grid{grid-template-columns:1fr;gap:28px}.intro-statement{font-size:38px;max-width:390px}.intro-body{max-width:100%;margin:0}.intro-body>p:first-child{font-size:15px}.intro-body>p:nth-child(2){font-size:13px;max-width:360px}.intro-body .circle-link{margin-top:20px}.circle-link{font-size:11px}.circle-link>span{width:42px;height:42px}.films-section{padding-top:10px;padding-bottom:65px}.section-head{display:block;padding-top:35px;margin-bottom:28px}.films-title{width:95%;max-width:430px}.head-side{margin-top:22px;width:auto;max-width:none;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;padding:0}.head-side>span{margin:0;font-size:8px}.head-side p{font-size:9px}.cinema-screen{aspect-ratio:1.13;min-height:280px}.film-ordinal{font-size:8px;left:19px;top:18px}.cinema-play{top:41%;width:59px;height:59px}.cinema-play svg{width:23px}.cinema-caption{bottom:22px;left:20px;right:20px}.cinema-caption h3{font-size:22px;line-height:1.2}.cinema-caption>span:first-child{font-size:8px}.cinema-fallback{padding:25px;justify-content:flex-start;padding-top:50px}.cinema-fallback>span{font-size:8px;letter-spacing:.3em}.cinema-fallback p{font-size:26px;max-width:90%}.cinema-fallback small{font-size:9px;max-width:150px;margin-top:15px}.cinema-fallback:after{font-size:58vw;top:10%;right:3%}.film-strip-head{margin-top:17px;margin-bottom:10px}.film-strip-head>p{font-size:10px}.arrow-group button{width:40px;height:40px;font-size:18px}.film-strip{gap:10px;padding-bottom:15px}.film-thumb{flex-basis:155px}.film-thumb>span:last-child{font-size:9px;min-height:43px}.editorial-details{margin-top:27px}.editorial-details summary{font-size:11px;padding-block:16px}.editorial-details>p,.editorial-details>.two-col{font-size:12px}.two-col{display:block}.two-col p+p{margin-top:15px}.photo-section{padding-block:67px 50px}.photo-heading{display:block}.photo-title{width:83%;max-width:390px}.photo-title .title-line:nth-child(2){width:67%}.photo-title .title-line+.title-line{margin-top:12px}.photo-intro-text{width:100%;max-width:100%;margin-top:30px;font-size:12px}.photo-intro-text .circle-link{margin-top:20px}.photo-stage{grid-template-columns:1fr 1fr;gap:26px 18px;padding-top:15px;margin-block:32px 34px;width:calc(100% - 46px)}.photo-tile:nth-child(n){margin-top:0}.photo-tile:nth-child(even){margin-top:50px}.photo-tile:nth-child(3n+3) .image-plane{aspect-ratio:4/5}.photo-tile:nth-child(3),.photo-tile:nth-child(5){margin-top:-5px}.photo-tile .photo-caption{font-size:7px;letter-spacing:.06em;gap:5px;align-items:start;margin-top:11px}.photo-caption .photo-arrow{font-size:15px}.photo-tabs button{padding:10px 14px;font-size:10px}.social-section{grid-template-columns:1fr;gap:60px;padding-block:75px 100px}.social-copy .display{width:91%;max-width:430px}.social-quote{max-width:330px;font-size:13px;margin-top:25px}.social-copy .circle-link{margin-top:22px}.reels-track{padding:0 12px;gap:24px;max-width:440px;width:100%;margin:auto}.reel .reel-title{font-size:11px}.reel-meta{font-size:7px}.drone-section{height:610px}.drone-content{padding-block:45px}.drone-title{width:100%}.drone-title .title-line:nth-child(2){width:55%}.drone-title .title-line+.title-line{margin-top:12px}.drone-bottom{margin-top:32px;gap:20px;align-items:flex-start}.drone-bottom>p{max-width:70%;font-size:12px;line-height:1.7}.circle-play{width:72px;height:72px;gap:5px;font-size:17px}.circle-play>span{font-size:7px}.services{padding-block:70px}.services>.display{width:94%;max-width:440px}.process-list{margin-top:40px}.process-step summary{grid-template-columns:29px 1fr 26px;gap:8px;padding:24px 0}.process-step h3{font-size:20px}.process-step summary>span{font-size:9px}.process-step summary b{font-size:23px}.process-text{margin-left:37px;font-size:12px;line-height:1.8;padding-bottom:24px}.about-section{padding-block:65px}.about-title-row{display:block}.about-title-row .display{width:100%;max-width:430px}.about-title-row p{max-width:none;margin-top:28px;font-size:11px}.about-image{margin-top:28px;aspect-ratio:1.26}.about-image>img{object-position:57% 50%}.about-image>span{font-size:7px;left:15px;bottom:15px;right:15px}.founder-grid{grid-template-columns:1fr;gap:28px;padding-top:40px}.founder-photo{aspect-ratio:1.18;max-width:100%}.founder-photo img{object-position:50% 27%}.founder-copy>.eyebrow{margin-bottom:15px}.founder-copy>h3{font-size:31px;margin-bottom:17px}.founder-copy>p{font-size:12px}.founder-copy details{font-size:12px}.team-intro{margin-top:50px;display:block}.team-intro h3{font-size:27px;margin-bottom:20px}.team-intro p{max-width:100%;font-size:12px}.team-track{gap:14px}.team-card{flex-basis:155px}.team-card h3{font-size:15px}.team-card p{font-size:9px}.clients{padding-block:60px}.clients-title{gap:15px}.clients-title .eyebrow{font-size:8px}.clients-title p{font-size:10px}.clients-title p a{font-size:16px}.clients-grid{margin-top:25px;gap:10px;grid-template-columns:repeat(3,1fr)}.client-logo{height:82px;padding:12px}.client-logo img{max-height:58px}.wedding{margin-bottom:65px}.wedding>a{grid-template-columns:1fr}.wedding img{aspect-ratio:1.7}.wedding a>div{padding:26px}.wedding h2{font-size:29px}.contact-section{padding-block:60px 25px}.contact-title{width:100%}.contact-title .title-line:nth-child(2){width:83%}.contact-title .title-line+.title-line{margin-top:13px}.contact-bottom{display:block;margin-top:32px}.contact-bottom p{font-size:12px;max-width:270px}.contact-mail{font-size:clamp(16px,5.1vw,23px);gap:17px}.contact-mail>span:last-child{font-size:22px}.big-contact{width:fit-content;padding:16px 23px;margin-top:28px;font-size:10px}.big-contact>span{font-size:23px}.contact-orb{width:170vw;height:170vw;right:-60vw;top:-20vw}.contact-details{margin-top:28px}.contact-details>p{font-size:12px}footer{grid-template-columns:1fr;gap:25px;padding-block:35px 20px}.footer-brand{width:155px}.footer-links{gap:20px}.footer-note{margin-top:0!important;font-size:9px}.viewer{max-width:100vw;width:100vw;max-height:100svh;border-radius:0}.viewer-top{padding:14px 16px;gap:12px}.viewer-top h2{font-size:13px}.viewer-media>video,.viewer-media>img{max-height:74svh}.viewer-caption{padding:12px 16px;flex-wrap:wrap;font-size:10px;gap:10px}.close-viewer{width:42px;height:42px;font-size:29px}.youtube-consent{aspect-ratio:auto;min-height:360px;padding:30px 20px;gap:20px}.youtube-consent h3{font-size:22px}.youtube-consent p{font-size:12px}.youtube-consent button{font-size:12px}.gallery{padding:23px 18px 50px}.gallery-header h2{font-size:37px}.gallery-header .eyebrow{font-size:7px}.gallery-grid{columns:2;column-gap:12px}.gallery-item{margin-bottom:18px}.gallery-item span{font-size:8px}.gallery-filters{gap:7px;margin-bottom:28px}.gallery-filters button{font-size:10px;padding:10px 14px;min-height:42px}.preview-notice{font-size:7px;padding:10px 13px;max-width:95vw}.cursor-label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal{opacity:1;transform:none}.hero-media,.hero-message,.drone-visual,.photo-tile{transform:none!important}.hero-scene{height:100svh}.cursor-label{display:none!important}.hero-video{display:none}.hero-message{opacity:1}.ticker-track{animation:none}.contact-orb{animation:none}}
@media(hover:none){.cursor-label{display:none}.team-portrait>img{filter:none}}

/* V4.1: fifth navigation item / Devis. */
@media(min-width:901px) and (max-width:1150px){.site-header nav{gap:14px}.site-header{gap:20px}.site-header .brand{width:150px}.contact-pill{gap:14px;padding:10px 14px}}
@media(max-width:800px){.mobile-menu nav a{font-size:clamp(23px,6vw,35px);padding:8px 0}.mobile-menu{overflow-y:auto}}

/* Social players load only after an explicit click. */
.reel-typography{background:radial-gradient(ellipse at 10% 0%,#a180d2,transparent 70%),linear-gradient(150deg,#4c335d,#18131e)!important}
.reel:nth-child(2) .reel-typography{background:radial-gradient(ellipse at 100% 0%,#728667,transparent 70%),linear-gradient(150deg,#354534,#171d18)!important}
.reel-client{position:absolute;top:15%;left:12%;right:12%;font-size:clamp(20px,3vw,44px);font-weight:800;line-height:1.05;text-align:left;text-transform:uppercase;letter-spacing:-.04em;overflow-wrap:anywhere}
.reel-label{position:absolute;left:12%;top:7%;font-size:8px;letter-spacing:.16em}.reel-typography .mini-play{top:55%}
.social-viewer{width:min(460px,96vw)}.social-viewer .viewer-media>iframe{width:100%;aspect-ratio:9/16;max-height:none;min-height:640px;background:white}.social-viewer .viewer-caption{flex-wrap:wrap;line-height:1.5}.social-consent{aspect-ratio:9/14;min-height:330px;padding:28px}.social-consent h3{font-size:24px}
.social-viewer .viewer-top{position:sticky;top:0;z-index:2;background:var(--ink)}

/* Silent previews keep their poster until a decoded frame is playing. */
.ambient-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:0;transition:opacity .35s}.ambient-video.is-playing{opacity:1}.drone-visual>.ambient-video{width:100%;height:100%}.ambient-toggle{display:block;width:fit-content;margin-top:24px;padding:9px 13px;border:1px solid #ffffff55;border-radius:99px;background:#11101988;color:inherit;font-size:10px;line-height:1.4}.ambient-toggle:hover{background:#6227ce}.ambient-toggle:focus-visible{outline:2px solid white;outline-offset:4px}.ambient-toggle[hidden]{display:none}.drone-content>.ambient-toggle{position:absolute;right:var(--gutter);top:30px;margin:0}@media(prefers-reduced-motion:reduce){.ambient-video{display:none!important}}

/* Liens Instagram des freelances, accessibles au clavier et au toucher. */
.team-portrait{display:block;position:relative}.team-portrait:focus-visible{outline:2px solid var(--paper);outline-offset:5px}.team-instagram{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #ffffff40;border-radius:30px;background:#141418ed;color:#fff;font-size:11px;line-height:1.2;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;pointer-events:none}.team-instagram svg{width:16px;height:16px}.team-portrait:hover .team-instagram,.team-portrait:focus-visible .team-instagram{opacity:1;transform:none}@media(hover:none),(pointer:coarse){.team-instagram{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.team-instagram{transition:none}}

/* Vector UI controls keep the same clean shape on phones and desktops. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.14em;flex-shrink:0;overflow:visible;pointer-events:none}.mini-play .ui-icon{width:18px;height:18px}.team-instagram .ui-icon{width:12px;height:12px}.photo-nav button{display:grid;place-items:center}.hero-controls button,.ambient-toggle{align-items:center;gap:7px}.hero-controls button:not([hidden]),.ambient-toggle:not([hidden]){display:inline-flex}
