@font-face{font-family:Shrikhand;src:url('assets/fonts/shrikhand-latin-ext.woff2') format('woff2');font-display:swap;font-weight:400;unicode-range:U+0100-02BA,U+1E00-1EFF}
@font-face{font-family:Shrikhand;src:url('assets/fonts/shrikhand-latin.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:Bitter;src:url('assets/fonts/bitter-latin-ext.woff2') format('woff2');font-display:swap;unicode-range:U+0100-02BA,U+1E00-1EFF}
@font-face{font-family:Bitter;src:url('assets/fonts/bitter-latin.woff2') format('woff2');font-display:swap}
@font-face{font-family:Bitter;src:url('assets/fonts/bitter-bold-italic.woff2') format('woff2');font-display:swap;font-style:italic;font-weight:700}
:root{--ink:#121212;--paper:#eae6e1;--red:#a74d4a;--white:#f5f5f5;--display:Shrikhand,Georgia,serif;--body:Bitter,Georgia,serif;--gutter:3vw;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:24px}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--body);font-size:16px;line-height:1.5}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.25}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}img,video{display:block;max-width:100%}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid currentColor;outline-offset:6px}::selection{background:var(--red);color:var(--white)}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:50;padding:16px;background:var(--paper);color:var(--ink)}.dark{background:var(--ink);color:var(--white)}.cream{background:var(--paper);color:var(--red)}.section-pad{padding:64px var(--gutter)}.section-title{text-align:center;font-size:clamp(30px,3.55vw,55px);margin-bottom:36px}.large-title{text-align:center;font-size:clamp(38px,5vw,76px);margin-bottom:48px}.display-copy{font-family:var(--display);font-size:clamp(20px,2.1vw,32px);line-height:1.4;text-align:center;text-wrap:pretty;max-width:1380px;margin-inline:auto}.site-header{height:148px;display:flex;align-items:center;justify-content:center;background:var(--ink)}.logo{display:block;width:clamp(275px,25vw,390px)}.logo img{width:100%;height:auto}.hero{position:relative;height:calc(100svh - 110px);min-height:560px;max-height:950px;overflow:hidden;background:#353535}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 47%}.hero::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0003);pointer-events:none}.hero-marquee{position:absolute;bottom:9%;z-index:1;width:100%;height:150px;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);font-family:var(--display);font-size:clamp(38px,5vw,78px);line-height:1}.wave-marquee svg{display:block;width:100%;height:100%;overflow:visible;fill:currentColor}.hero-scroll{position:absolute;bottom:22px;left:50%;z-index:2;transform:translateX(-50%);width:44px;height:44px;text-align:center;font-size:30px;opacity:.8;transition:opacity .2s,transform .2s}.hero-scroll:hover{opacity:1;transform:translate(-50%,5px)}.brand-band{padding:8px var(--gutter) 16px;font-family:var(--display);font-size:clamp(50px,12.8vw,196px);line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden}.services{padding-top:72px;padding-bottom:80px}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.service-card{min-width:0}.image-frame{aspect-ratio:.716;overflow:hidden}.image-frame img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .75s}.service-card:hover img{transform:scale(1.045)}.service-card h3{font-size:clamp(18px,1.75vw,27px);margin:14px 0 12px;letter-spacing:-.02em}.service-card p{color:var(--ink);max-width:90%;font-size:16px;line-height:1.5}.video-frame{position:relative;overflow:hidden;background:#282525}.video-frame video{width:100%;height:100%;object-fit:cover}.landscape{aspect-ratio:1.78148}.portrait{aspect-ratio:9/16}.photography{padding-top:32px;padding-bottom:50px}.photo-copy{margin-top:80px}.photo-carousel{padding:0 var(--gutter) 16px}.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 28px)/3);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.carousel-track::-webkit-scrollbar{display:none}.gallery-image{display:block;min-width:0;aspect-ratio:1.03;padding:0;border:0;background:transparent;overflow:hidden;scroll-snap-align:start;cursor:zoom-in}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gallery-image:hover img{transform:scale(1.04)}.carousel-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 0 0}.carousel-actions{display:flex;align-items:center;gap:12px}.carousel-count{font-size:13px;margin-right:10px;font-variant-numeric:tabular-nums}.round-button{width:48px;height:48px;border:1px solid #f5f5f559;border-radius:50%;background:transparent;font-size:24px;transition:background .2s,color .2s}.round-button:hover{background:var(--paper);color:var(--ink)}.text-link{border-bottom:1px solid currentColor;padding-bottom:3px;font-size:14px}.text-link span{display:inline-block;margin-left:16px}.categories{height:106px;padding:14px 0 20px;font-family:var(--display);font-size:clamp(21px,2vw,30px);overflow:hidden}.content-section .display-copy{max-width:1250px;margin-bottom:28px}.reels-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.content-film{margin-top:80px}.statement{min-height:538px;padding-top:48px;padding-bottom:90px}.statement .display-copy{max-width:1380px}.about{padding-top:50px;padding-bottom:64px}.about .section-title{margin-bottom:22px}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:80%;max-width:1160px;gap:12vw;margin:48px auto 0}.team-image{aspect-ratio:1/1.035;overflow:hidden}.team-image img{height:100%;width:100%;object-fit:cover}.team-member h3{font-size:25px;margin:14px 0}.team-member p{font-size:16px;line-height:1.5}.contact{background:var(--red);display:grid;grid-template-columns:1fr 1.095fr;gap:5vw;padding-top:70px;padding-bottom:70px;color:var(--white)}.contact .section-title{text-align:left;margin-bottom:20px;font-size:clamp(30px,3.55vw,55px)}.contact-intro{font-style:italic;font-weight:700;font-size:clamp(17px,1.45vw,23px);line-height:1.55;max-width:670px;margin-bottom:30px}.contact-image{height:100%;min-height:660px}.contact-image img{width:100%;height:100%;object-fit:cover}form{display:grid;gap:20px}fieldset{padding:0;border:0;margin:0;min-width:0}legend{padding:0;margin-bottom:8px}form label{display:block;font-size:15px}form label>span,legend span{font-size:12px;opacity:.8}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.name-fields label{font-size:12px}input,textarea{display:block;width:100%;border:1px solid #f5f5f540;border-radius:0;background:var(--paper);color:var(--ink);padding:12px;margin-top:7px;font-size:16px;line-height:1.4;min-height:46px}textarea{resize:vertical;min-height:135px}.send-button{justify-self:start;background:var(--paper);color:var(--ink);border:1px solid var(--paper);padding:13px 28px;min-height:48px;min-width:118px;transition:color .2s,background .2s}.send-button span{margin-left:20px}.send-button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.honey{position:absolute;left:-9999px;visibility:hidden}.form-status:empty{display:none}.form-status{font-size:14px}.form-status a{text-decoration:underline}.email-alternative{font-size:12px;line-height:1.7;overflow-wrap:anywhere;opacity:.9}.email-alternative a{text-decoration:underline;text-underline-offset:3px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:45px var(--gutter);color:var(--red)}.footer-brand{font-family:var(--display);font-size:27px;white-space:nowrap}.site-footer nav{display:flex;gap:24px;font-size:13px}.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}.footer-email{font-size:14px;overflow-wrap:anywhere}.motion-toggle{position:fixed;right:16px;bottom:16px;z-index:10;width:38px;height:38px;border-radius:50%;border:1px solid #eae6e14d;background:#121212cc;color:var(--paper);font-family:Arial,sans-serif;font-size:14px;backdrop-filter:blur(10px)}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.is-visible{opacity:1;transform:none}.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;margin:0;padding:55px 60px 30px;background:#121212f5;color:var(--paper);overflow:hidden}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:#121212}.lightbox figure{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.lightbox img{max-width:100%;max-height:calc(100% - 38px);object-fit:contain}.lightbox figcaption{font-size:13px;text-align:center}.lightbox button{position:absolute;z-index:1;background:transparent;color:var(--paper);border:0;width:48px;height:48px;font-family:Arial,sans-serif;font-size:28px}.lightbox-close{right:12px;top:10px}.lightbox-prev{left:6px;top:calc(50% - 24px)}.lightbox-next{right:6px;top:calc(50% - 24px)}body.has-dialog{overflow:hidden}.portfolio-main{padding:50px var(--gutter) 90px;background:var(--paper);color:var(--red);min-height:80vh}.portfolio-intro{text-align:center;margin-bottom:42px}.portfolio-intro h1{font-size:clamp(36px,5.5vw,80px);margin:25px 0}.portfolio-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:30px 0}.portfolio-nav button{background:transparent;border:1px solid var(--red);padding:10px 20px;border-radius:30px;min-height:44px}.portfolio-nav button[aria-pressed=true]{background:var(--red);color:var(--paper)}.portfolio-grid{columns:3;column-gap:18px}.portfolio-grid .gallery-image{aspect-ratio:auto;margin-bottom:18px;width:100%;break-inside:avoid}.portfolio-grid img{height:auto;min-height:180px}.portfolio-grid [hidden]{display:none}.portfolio-back{font-size:14px;border-bottom:1px solid}.simple-page{max-width:850px;min-height:60vh;margin:auto;padding:80px 24px;text-align:center}.simple-page h1{font-size:clamp(40px,7vw,90px);margin:30px 0}.simple-page a{display:inline-block;margin-top:30px;border-bottom:1px solid}
.portfolio-hero{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding-top:45px;padding-bottom:80px}.portfolio-hero h1{font-size:clamp(36px,4.6vw,72px);line-height:1.16;margin-bottom:42px}.portfolio-hero h1 span{font-size:1.2em}.portfolio-hero p{color:var(--ink);font-size:17px;max-width:630px}.portfolio-hero>img{width:100%;aspect-ratio:1.18;object-fit:cover}.portfolio-categories{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding-top:30px}.category-cover{overflow:hidden;aspect-ratio:1.3}.category-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.portfolio-categories a:hover img{transform:scale(1.04)}.portfolio-categories h2{font-size:clamp(24px,3vw,44px);margin-top:18px}.portfolio-categories h2 span{float:right;font-family:var(--body)}.project-gallery{background:var(--red);color:var(--white);padding-top:42px}.project-gallery .portfolio-grid{columns:2;column-gap:0}.project-gallery .gallery-image{margin:0}.project-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:35px}.project-heading h1{font-size:clamp(30px,4vw,55px)}.project-next{display:block;text-align:right;font-family:var(--display);font-size:28px;margin-top:45px}.pending-video{width:100%;height:100%;object-fit:cover}.project-gallery .gallery-image img{min-height:0}
@media(max-width:640px){.portfolio-hero{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:40px}.portfolio-hero h1{font-size:40px;margin-bottom:28px}.portfolio-hero p{font-size:15px;line-height:1.65}.portfolio-hero>img{aspect-ratio:1.1}.portfolio-categories{grid-template-columns:1fr;gap:35px;padding-top:15px}.portfolio-categories h2{font-size:29px}.project-heading{align-items:flex-start;flex-direction:column;gap:22px}.project-gallery .portfolio-grid{column-gap:6px}.project-gallery .gallery-image{margin-bottom:6px}.project-next{font-size:22px}}
@media(min-width:1600px){.section-pad{padding-inline:max(3vw,calc((100vw - 1800px)/2))}}
@media(max-width:1000px){.site-header{height:120px}.logo{width:310px}.hero{height:75svh;min-height:500px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 20px}.image-frame{aspect-ratio:4/5}.service-card h3{font-size:24px}.service-card p{max-width:95%}.display-copy{font-size:23px}.statement{min-height:400px}.team-grid{gap:7vw;width:90%}.contact{gap:30px}.contact .section-title{font-size:32px}.site-footer{flex-wrap:wrap}.contact-image{min-height:600px}.reels-grid{gap:10px}}
@media(max-width:640px){:root{--gutter:20px;scroll-padding-top:16px}.site-header{height:104px}.logo{width:250px}.hero{height:calc(88svh - 104px);min-height:440px;max-height:700px}.hero-image{object-position:52% 50%}.hero-marquee{font-size:40px;height:110px;bottom:12%;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.hero-scroll{bottom:18px}.brand-band{font-size:12vw;padding:20px 12px 24px}.section-pad{padding:48px var(--gutter)}.large-title{font-size:38px;margin-bottom:32px}.section-title{font-size:32px;line-height:1.25;margin-bottom:26px;text-wrap:balance}.services-grid{gap:34px 14px}.image-frame{aspect-ratio:3/4}.service-card h3{font-size:19px;line-height:1.25;margin:13px 0 10px;overflow-wrap:normal}.service-card p{font-size:14px;line-height:1.55;max-width:none}.photography{padding-top:42px;padding-bottom:35px}.display-copy{font-size:20px;line-height:1.5}.photo-copy{margin-top:32px}.carousel-track{grid-auto-columns:82%;gap:12px;scroll-padding-left:0}.gallery-image{aspect-ratio:4/5}.carousel-toolbar{gap:10px}.carousel-count{margin-right:2px;font-size:12px}.carousel-actions{gap:8px}.round-button{height:44px;width:44px}.text-link{font-size:12px}.categories{height:88px;font-size:24px;padding:10px 0}.content-section .display-copy{margin-bottom:28px}.reels-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.content-film{margin-top:32px}.statement{min-height:300px;padding-top:55px;padding-bottom:64px}.about .section-title{margin-bottom:24px}.team-grid{width:100%;gap:42px;margin-top:36px;grid-template-columns:1fr}.team-member{max-width:460px;margin:auto}.team-image{aspect-ratio:1}.team-member h3{font-size:25px}.team-member p{font-size:15px;line-height:1.65}.contact{grid-template-columns:1fr;gap:36px}.contact-intro{font-size:18px}.contact .section-title{font-size:34px;text-align:left}.contact-image{min-height:0;aspect-ratio:4/3;max-height:420px}.contact-image img{object-position:50% 57%}.name-fields{gap:12px}.site-footer{display:grid;grid-template-columns:1fr;gap:22px;text-align:center;padding:34px 20px 60px}.site-footer nav{justify-content:center;gap:25px}.footer-brand{font-size:30px}.footer-email{font-size:13px}.lightbox{padding:60px 38px 35px}.lightbox button{width:36px}.portfolio-main{padding-top:25px}.portfolio-grid{columns:2;column-gap:10px}.portfolio-grid .gallery-image{margin-bottom:10px}.portfolio-grid img{min-height:0}.portfolio-intro h1{font-size:38px}.portfolio-nav{gap:8px}.portfolio-nav button{font-size:13px;padding:9px 13px}}
@media(max-width:359px){:root{--gutter:16px}.services-grid{grid-template-columns:1fr}.image-frame{aspect-ratio:4/5}.service-card h3{font-size:24px}.service-card p{font-size:15px}.name-fields{grid-template-columns:1fr}.carousel-count{display:none}.portfolio-grid{columns:1}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-motion .reveal{opacity:1;transform:none}.hero-scroll{display:none}}
:root.motion-paused,body.motion-paused{scroll-behavior:auto}body.motion-paused .reveal{opacity:1;transform:none;transition:none}body.motion-paused .image-frame img,body.motion-paused .gallery-image img{transition:none}
