@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#111111;--text:#f3f2ed;--muted:#b6b6b0;--line:#353531;--accent:#e2f078;font-family:'DM Sans',sans-serif;font-size:16px;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,video:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{display:block;width:100%;height:auto}.wrap{width:min(1440px,calc(100% - 112px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;padding:14px;background:var(--accent);color:#111;z-index:9}.skip:focus{top:10px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:baseline;gap:.5rem;font-family:Manrope,sans-serif;font-weight:800;font-size:2rem;letter-spacing:-.11rem}.wordmark span{font-family:'DM Sans',sans-serif;font-size:.75rem;letter-spacing:.11rem;font-weight:500}nav{display:flex;gap:2.7rem;align-items:center;font-size:.9rem}.nav-contact{border:1px solid #62625a;border-radius:40px;padding:12px 20px}.nav-contact span{margin-left:18px}.hero{padding-top:56px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;line-height:1.6;margin:0 0 24px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,sans-serif;letter-spacing:-.065em;font-weight:500;line-height:1.05}h1{font-size:clamp(3.5rem,6.7vw,7.4rem);margin-bottom:42px}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}.hero-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.hero-heading>p{font-size:1.05rem;line-height:1.7;color:var(--muted);margin-bottom:50px;flex-shrink:0}.hero-image{display:block;position:relative;aspect-ratio:2.45;overflow:hidden;background:#272822}.hero-frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:100%;gap:4px}.hero-frames img{height:100%;object-fit:cover;object-position:center 36%;transition:transform .7s}.hero-frames img:nth-child(2){object-position:center}.hero-image:hover .hero-frames img{transform:scale(1.015)}.image-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 60%)}.reel-label{position:absolute;bottom:32px;left:32px;display:flex;align-items:center;gap:16px;font-size:1.1rem}.play{display:grid;place-items:center;width:52px;height:52px;border:1px solid #ddd;border-radius:50%;font-size:1rem}.sub-label{display:block;margin-top:5px;font-size:.8rem;color:#deded9}.image-caption{position:absolute;right:32px;bottom:39px;font-size:.7rem;letter-spacing:.14em}.hero-footer{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--muted)}.hero-footer a{color:var(--text)}.hero-footer a span{margin-left:20px}.section{padding-block:112px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:40px}h2{font-size:clamp(2.7rem,4.2vw,4.8rem);margin-bottom:0}.section-heading>p{color:var(--muted);font-size:1rem;line-height:1.7;margin-bottom:4px}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-image{position:relative;overflow:hidden;background:#242424;aspect-ratio:3/4}.project-image img{height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.025)}.project-link{position:absolute;right:16px;bottom:16px;padding:10px 14px;border:1px solid #ffffff60;background:#1119;backdrop-filter:blur(8px);border-radius:30px;font-size:.8rem}.project-link span{margin-left:18px}.project-info{padding-top:21px}.project-info h3{font-size:1.15rem;font-weight:500;margin-bottom:8px}.project-info>span{font-size:.8rem;color:var(--muted)}.portfolio-note{max-width:760px;font-size:.8rem;color:var(--muted);line-height:1.7;margin:32px 0 0}.reel-section{background:#1c1d19;padding-block:80px}.reel-section video{display:block;width:100%;aspect-ratio:16/9;background:#050505}.video-note{font-size:.8rem;color:var(--muted);margin:14px 0 0}.studio{display:grid;grid-template-columns:1.1fr 1fr;gap:8%}.studio-copy>p{color:var(--muted);line-height:1.85;font-size:1.05rem}.studio-copy .large-copy{color:var(--text);font-size:1.8rem;line-height:1.4;margin-bottom:28px;letter-spacing:-.04em}.services{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.services span{font-size:.8rem;padding:10px 16px;border:1px solid var(--line);border-radius:40px}.process{border-top:1px solid var(--line);padding-top:32px;padding-bottom:112px}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:40px}.number{color:var(--accent);font-size:.8rem;display:block;margin-bottom:26px}.process h3{font-size:1.3rem;font-weight:500;letter-spacing:-.035em;margin-bottom:16px}.process p:not(.eyebrow){color:var(--muted);font-size:1rem;line-height:1.8;max-width:340px;margin-bottom:0}.contact{background:var(--accent);color:#181b0d}.contact .eyebrow{color:#505630}.contact h2{font-size:clamp(3.3rem,6.6vw,7rem);line-height:1.08}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:44px}.contact-bottom p{line-height:1.8;margin-bottom:0;color:#485024}.email{font-size:clamp(1.2rem,2.3vw,2.25rem);letter-spacing:-.04em;border-bottom:1px solid #74803b;padding-bottom:10px}.email span{margin-left:26px}.footer{display:flex;align-items:center;flex-wrap:wrap;gap:36px;padding-block:48px}.footer>p{font-size:.8rem;color:var(--muted);margin:0}.footer>div{display:flex;gap:22px;margin-left:auto;font-size:.8rem}.copyright{font-size:.75rem;color:var(--muted);flex-basis:100%;border-top:1px solid var(--line);padding-top:24px}
@media(min-width:1500px){.hero-image{aspect-ratio:2.7}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero-heading{display:block}.hero-heading>p{margin-bottom:30px}.hero-heading>p br{display:none}.hero-image{aspect-ratio:1.9}.image-caption{display:none}.section{padding-block:80px}.section-heading{align-items:flex-start}.projects{gap:18px}.studio{gap:40px}.process-grid{gap:28px}.contact-bottom{display:block}.email{display:inline-block;margin-top:28px}}@media(max-width:640px){.wrap{width:calc(100% - 40px)}.header{height:86px}.wordmark{font-size:1.7rem}.wordmark span{font-size:.62rem}nav{gap:16px;font-size:.8rem}nav>a:nth-child(2){display:none}.nav-contact{padding:9px 12px}.nav-contact span{display:none}.hero{padding-top:38px}.eyebrow{font-size:.7rem;letter-spacing:.1em;margin-bottom:20px}h1{font-size:clamp(2.7rem,10.2vw,4rem);margin-bottom:24px}.hero-heading>p{font-size:1rem}.hero-image{aspect-ratio:1.2}.reel-label{bottom:22px;left:20px;font-size:1rem}.play{height:42px;width:42px}.hero-footer{font-size:.75rem;gap:16px;line-height:1.6}.hero-footer>span{max-width:180px}.hero-footer a{white-space:nowrap}.hero-footer a span{margin-left:6px}.section{padding-block:64px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:22px;font-size:1rem}.projects{grid-template-columns:1fr;gap:38px}.project-image{aspect-ratio:4/5}.project-info h3{font-size:1.2rem}.reel-section{padding-block:54px}.studio{grid-template-columns:1fr;gap:32px}.studio-copy .large-copy{font-size:1.5rem}.process{padding-bottom:64px}.process-grid{grid-template-columns:1fr;gap:30px;margin-top:24px}.process-grid article{border-bottom:1px solid var(--line);padding-bottom:26px}.number{margin-bottom:12px}.contact h2{font-size:clamp(2.4rem,10vw,4rem)}.contact-bottom{margin-top:26px}.email{font-size:clamp(1.05rem,5.1vw,1.6rem)}.email span{margin-left:12px}.footer{gap:24px;padding-block:34px}.footer>p{display:none}.footer>div{gap:14px;font-size:.75rem}.copyright{font-size:.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

@media(max-width:640px){.hero-frames{grid-template-columns:1fr 1fr}.hero-frames img:last-child{display:none}}

/* Immersive studio revision: fixed-size inline cinema, motion without layout shifts. */
.header{height:96px}.hero{padding-top:36px}.hero h1{font-size:clamp(3.2rem,6vw,6.8rem);margin-bottom:32px}.hero-heading{display:block}
.hero-player{position:relative;isolation:isolate;aspect-ratio:16/9;background:#050505;overflow:hidden;box-shadow:0 30px 100px #0006;scroll-margin-top:24px}
.hero-player video{display:block;width:100%;height:100%;object-fit:contain;background:#050505}
.reel-cover{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#111;color:var(--text);text-align:left;cursor:pointer;font:inherit;overflow:hidden;transition:opacity .65s,visibility .65s}
.reel-cover[hidden]{display:none}.reel-cover:focus-visible{outline:3px solid var(--accent);outline-offset:-5px}
.hero-player.started .reel-cover{opacity:0;visibility:hidden;pointer-events:none}.hero-player.started .hero-frames{transform:scale(1.06)}
.hero-frames{transition:transform 1s cubic-bezier(.2,.7,.2,1)}.hero-frames img{transition:filter .8s,transform 1.2s;object-position:center 30%}.hero-frames img:nth-child(2){object-position:center}
.reel-cover:hover .hero-frames img:nth-child(1){transform:scale(1.035)}.reel-cover:hover .hero-frames img:nth-child(3){transform:scale(1.035)}
.reel-cover:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(500px circle at var(--pointer-x,50%) var(--pointer-y,50%),#e2f07816,transparent 65%);opacity:0;transition:opacity .5s}.reel-cover:hover:after{opacity:1}
.reel-label{bottom:40px;left:40px}.play{width:68px;height:68px;background:#f3f2ed12;backdrop-filter:blur(14px);transition:background .3s,color .3s,transform .5s}.reel-cover:hover .play,.reel-cover:focus-visible .play{background:var(--accent);color:#111;border-color:var(--accent);transform:scale(1.08)}
.image-shade{background:linear-gradient(0deg,#0009,transparent 50%)}.image-caption{bottom:60px;font-size:.8rem;right:40px}.player-status{font-size:.9rem;color:var(--muted);margin-top:14px}.hero-footer{font-size:.8rem}
.section{padding-block:96px}.section-heading{margin-bottom:36px}.projects{gap:32px;align-items:start}.project:nth-child(2){margin-top:80px}.project:nth-child(3){margin-top:32px}.project{transition:transform .5s}.project-image{transition:box-shadow .5s}.project-image img{transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s;filter:saturate(.85)}.project:hover img,.project:focus-visible img{transform:scale(1.045);filter:saturate(1.08)}.project:hover .project-image{box-shadow:0 28px 60px #0007}.project-link{transition:background .3s,color .3s,transform .3s}.project:hover .project-link{background:var(--accent);color:#111;transform:translateY(-4px)}
.portfolio-note{font-size:.85rem;margin-top:40px}.studio{border-top:1px solid var(--line);align-items:center}.studio h2{font-size:clamp(2.6rem,4.4vw,5rem)}.studio-copy>p{font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.5;color:var(--text);max-width:480px;margin-bottom:0}.services{margin-top:24px}
.contact{position:relative;overflow:hidden}.contact:before{content:"";position:absolute;width:55vw;height:55vw;border:1px solid #52601933;border-radius:50%;right:-20vw;top:-15vw;pointer-events:none;transition:transform 1.5s}.contact:hover:before{transform:scale(1.08) translateX(-2%)}.contact h2{font-size:clamp(4rem,9vw,9.5rem)}.contact .wrap{position:relative}.contact-bottom{margin-top:32px}.email{transition:color .3s}.email span{display:inline-block;transition:transform .4s}.email:hover span{transform:translate(6px,-6px)}
@keyframes rise-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.hero .eyebrow{animation:rise-in .7s both}.hero h1{animation:rise-in .9s .08s both}.hero-player{animation:rise-in 1s .18s both}.reveal{transition:opacity .85s var(--delay,0s),transform .85s var(--delay,0s);opacity:0;transform:translateY(35px)}.reveal.is-visible{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.hero h1{font-size:clamp(3.2rem,7.5vw,5rem)}.section{padding-block:72px}.projects{gap:20px}.project:nth-child(2){margin-top:48px}.project:nth-child(3){margin-top:20px}.image-caption{display:none}}
@media(max-width:640px){.header{height:80px}.hero{padding-top:28px}.hero h1{font-size:clamp(2.7rem,10vw,4rem);margin-bottom:28px}.hero-player{width:calc(100% + 40px);margin-left:-20px}.hero-frames{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-frames img:last-child{display:block}.reel-label{bottom:20px;left:20px;gap:12px}.play{width:44px;height:44px}.sub-label{font-size:.75rem}.section{padding-block:60px}.projects{gap:34px}.project:nth-child(n){margin-top:0}.project-image{aspect-ratio:4/5}.studio{gap:24px}.contact h2{font-size:clamp(3.8rem,16vw,6rem)}.contact:before{width:110vw;height:110vw;right:-60vw;top:-20vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}.project:hover img,.reel-cover:hover img,.reel-cover:hover .play,.contact:hover:before{transform:none}}

/* Quiet, accessible controls; audio changes only after a visitor clicks. */
.glass-control{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:11px;border:1px solid #ffffff40;border-radius:50%;background:#14141488;backdrop-filter:blur(16px);color:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.glass-control:hover{background:#292929cc;border-color:#ffffff90}.glass-control:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.glass-control svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sound-control{position:absolute;right:20px;top:20px;z-index:3}.sound-control .sound-audible,.sound-control.is-audible .sound-muted{display:none}.sound-control.is-audible .sound-audible{display:block}
.film-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:16px;padding:40px 20px 16px;background:linear-gradient(transparent,#000a);opacity:0;visibility:hidden;transition:opacity .25s}
.started .film-controls{opacity:1;visibility:visible}.film-controls .pause-symbol{display:none}.is-playing .film-controls .pause-symbol{display:block}.is-playing .film-controls .play-symbol{display:none}
.film-time{font-size:.75rem;font-variant-numeric:tabular-nums;color:#fff;min-width:32px}#film-progress{flex:1;min-width:0;height:3px;margin:0;border:0;border-radius:4px;overflow:hidden;appearance:none;background:#ffffff40}#film-progress::-webkit-progress-bar{background:#ffffff40}#film-progress::-webkit-progress-value{background:var(--accent)}#film-progress::-moz-progress-bar{background:var(--accent)}
.glass-control[hidden],.film-controls[hidden]{display:none}.hero-player:fullscreen{width:100%;height:100%;margin:0;aspect-ratio:auto}
@media(max-width:640px){.sound-control{top:12px;right:12px}.film-controls{gap:10px;padding:30px 12px 12px}}

.contact-bottom{display:block}.contact-form{max-width:760px;margin-top:32px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{display:block;font-size:.9rem;margin-bottom:24px}.contact-form input,.contact-form textarea{display:block;width:100%;font:inherit;font-size:1rem;color:#181b0d;background:#ffffff30;border:1px solid #67742d70;border-radius:10px;padding:14px 16px;margin-top:10px}.contact-form textarea{resize:vertical;min-height:120px}.contact-form :is(input,textarea,button):focus-visible{outline:2px solid #181b0d;outline-offset:3px}.contact-form button{background:#181b0d;color:#f2f1eb;font:inherit;padding:16px 26px;border:0;border-radius:30px;cursor:pointer}.contact-form button span{margin-left:30px}.contact-form button:disabled{opacity:.6;cursor:wait}.contact-bottom .form-status{margin-top:16px;font-size:.95rem}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:640px){.contact-fields{grid-template-columns:1fr;gap:0}}
.film-cases{display:grid;gap:96px}.film-case{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:8%;align-items:center}.portfolio-player{position:relative;max-width:390px;background:#050505;aspect-ratio:9/16;overflow:hidden}.portfolio-player video{width:100%;height:100%;display:block;object-fit:contain}.portfolio-controls{position:absolute;inset:0;pointer-events:none}.portfolio-controls button{position:absolute;pointer-events:auto}.film-play{bottom:16px;left:16px}.film-sound{right:16px;top:16px}.case-copy h3{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:500;letter-spacing:-.04em;margin:0 0 18px}.case-copy .case-intro{font-size:1.25rem;color:var(--text)}.case-copy h4{font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin:26px 0 8px;color:var(--accent)}.case-copy p{color:var(--muted);font-size:1rem;line-height:1.75}.about-page{padding-block:70px 100px;max-width:1080px}.founder{display:flex;align-items:center;gap:24px;margin:32px 0}.founder img{width:100px;height:100px;border-radius:50%;object-fit:cover}.founder strong{font-size:1.2rem;font-weight:500}.founder p{color:var(--muted);margin:8px 0}.about-copy{max-width:720px;font-size:1.25rem;line-height:1.8;color:var(--muted)}.behind-scenes{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin:80px 0;border-top:1px solid var(--line);padding-top:64px}.behind-scenes p{line-height:1.8;color:var(--muted)}.behind-scenes figure{margin:0;max-width:320px}.behind-scenes img{width:100%}.behind-scenes figcaption{font-size:.75rem;color:var(--muted);margin-top:12px}.about-cta{display:inline-block;padding:14px 0;border-bottom:1px solid var(--accent)}.about-cta.primary{padding:18px 28px;border:0;border-radius:40px;background:var(--accent);color:#111}@media(max-width:640px){.film-case{grid-template-columns:1fr;gap:28px}.portfolio-player{max-width:none}.film-cases{gap:68px}.behind-scenes{grid-template-columns:1fr;gap:28px}.about-page{padding-top:36px}.about-copy{font-size:1.1rem}nav>a:nth-child(2){display:inline}.nav-contact{display:none}.case-copy h3{font-size:2.2rem}}

/* Prominent, consistent audio controls on the reel and portfolio films. */
.sound-control,.film-sound{width:64px;height:64px;padding:16px;background:var(--accent);color:#111;border:2px solid #f4ffc3;box-shadow:0 4px 20px #0009;backdrop-filter:none}
.sound-control svg,.film-sound svg{width:30px;height:30px;stroke-width:1.9}
.sound-control:hover,.film-sound:hover{background:#f0ff91;color:#111;border-color:#fff;transform:scale(1.06)}
.sound-control:focus-visible,.film-sound:focus-visible{outline:3px solid #fff;outline-offset:4px}
.sound-control[aria-pressed="true"],.film-sound[aria-pressed="true"]{background:#f2f1eb;border-color:#fff}
@media(max-width:640px){.sound-control,.film-sound{width:56px;height:56px;padding:13px}.sound-control svg,.film-sound svg{width:26px;height:26px}}
