@font-face{font-family:Oswald;src:url('assets/Oswald-700.ttf');font-weight:700;font-display:swap}@font-face{font-family:General;src:url('assets/GeneralSans-Regular.ttf');font-weight:400;font-display:swap}@font-face{font-family:General;src:url('assets/GeneralSans-Semibold.ttf');font-weight:600;font-display:swap}@font-face{font-family:Mono;src:url('assets/RobotoMono-400.ttf');font-display:swap}:root{color-scheme:dark;--bg:#080808;--panel:#141414;--muted:#ccc;--line:#303030}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:#fff;font-family:General,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:6px}button{border:0}img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}p{color:var(--muted)}h2{font-size:clamp(2.8rem,5.3vw,5rem);font-weight:600;line-height:1.04;letter-spacing:-.055em}h3{font-weight:600;letter-spacing:-.035em}.eyebrow{font-family:Mono,monospace;font-size:.75rem;letter-spacing:.08em;line-height:1.5;font-weight:400}.section{padding:100px 5vw;max-width:1700px;margin:auto}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:16px;font-family:Oswald,sans-serif;font-size:32px;letter-spacing:-.05em}.brand span{font:400 .7rem Mono,monospace;letter-spacing:.05em}.topbar nav{display:flex;align-items:center;background:#1b1b1b;padding:5px;border:1px solid #2c2c2c;border-radius:100px;gap:2px}.topbar nav a,.topbar nav button{position:relative;border-radius:30px;padding:10px 21px;font-size:14px;transition:background .45s cubic-bezier(.2,.8,.2,1),border-radius .45s,transform .45s;background:transparent}.topbar nav a:hover{background:#3b3b3b;transform:scale(1.04);border-radius:40% 60% 48% 52%/55% 40% 60% 45%}.topbar nav button{background:#fff;color:#111}.menu-toggle{display:none}.hero{padding:66px 5vw 76px;max-width:1700px;margin:auto;border-bottom:1px solid var(--line)}.hero>.eyebrow{text-align:center}.hero h1{font-family:Oswald,'Arial Narrow',sans-serif;font-size:clamp(80px,13.75vw,225px);font-weight:700;letter-spacing:-.05em;line-height:1.12;text-align:center;margin:25px -1vw 46px;white-space:nowrap}.hero-bottom{display:flex;justify-content:space-between;align-items:end;padding:0 .4vw}.hero-bottom>p{font-size:clamp(26px,3vw,45px);line-height:1.14;letter-spacing:-.035em;color:#fff}.intro{font-size:16px;line-height:1.6}.text-link{display:flex;margin-top:24px;align-items:center;gap:30px;font-size:14px}.small-mark{border:1px solid #666;border-radius:50%;height:28px;width:28px;display:grid;place-items:center;font-size:20px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:22px}.section-heading>p{max-width:350px;font-size:16px;line-height:1.7}.work{padding-top:70px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 24px}.film-card{display:block;background:transparent;padding:0;text-align:left;width:100%}.visual{display:block;position:relative;overflow:hidden;aspect-ratio:1.43;background:#191919}.visual img{height:100%;width:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;filter:brightness(.88)}.film-card:hover img{transform:scale(1.035);filter:brightness(1)}.play-label{position:absolute;bottom:22px;right:22px;display:flex;align-items:center;gap:16px;font:12px Mono,monospace;padding:10px 14px;border:1px solid #ffffff70;border-radius:30px;background:#08080855;backdrop-filter:blur(8px)}.play-label span{font-size:13px}.card-caption{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:16px}.card-caption strong{font-size:20px;font-weight:400}.card-caption>span{font:11px Mono,monospace;color:#aaa;letter-spacing:.025em}.reel{display:grid;grid-template-columns:1fr .8fr;gap:10vw;align-items:center;padding-top:80px;padding-bottom:100px}.reel-copy h2{font-size:clamp(4rem,8vw,8rem);margin:28px 0}.reel-copy h2 span{color:#777}.reel-copy>p:not(.eyebrow){max-width:330px}.pill{display:inline-flex;justify-content:center;align-items:center;padding:14px 24px;background:#fff;color:#080808;border:1px solid #fff;border-radius:100px;font-size:14px;line-height:1.35;transition:background .25s,color .25s;min-height:48px}.pill:hover{background:transparent;color:#fff}.reel-copy .pill{margin-top:32px}.reel-frame{position:relative;max-width:480px;justify-self:end;width:100%}.reel-frame video{width:100%;aspect-ratio:9/14;object-fit:cover}.reel-meta{font:10px Mono,monospace;position:absolute;left:16px;bottom:16px;text-shadow:0 1px 5px #000}.photography{border-top:1px solid var(--line);padding-top:76px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.photo-grid img{width:100%;height:100%;aspect-ratio:2/3;object-fit:cover}.clients{position:relative;overflow:hidden;margin-top:40px;min-height:410px;display:grid;align-items:center}.client-bg{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:brightness(.19)}.clients-inner{position:relative;padding:60px 8vw;width:100%}.clients .eyebrow{text-align:center;color:#ddd;margin-bottom:50px}.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:42px 70px;align-items:center}.logos img{max-width:160px;max-height:50px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.95}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:65px}.process article{border-top:1px solid #666;padding-top:24px}.process h3{font-size:42px;margin:30px 0 16px}.process p{font-size:16px;line-height:1.75;max-width:390px}.expertise{border-top:1px solid var(--line);padding-top:70px}.expertise-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:40px}.expertise-list details{border-bottom:1px solid #383838;padding:21px 0}.expertise-list details:first-child{padding-top:0}.expertise-list summary{list-style:none;font-size:25px;letter-spacing:-.02em;display:flex;justify-content:space-between;cursor:pointer;gap:20px}.expertise-list summary::-webkit-details-marker{display:none}.expertise-list details p{margin-top:16px;max-width:420px}.expertise-list summary span{font-size:26px;font-weight:400;color:#999;transition:transform .25s}.expertise-list details[open] summary span{transform:rotate(45deg)}.packages{padding-top:70px}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.package-grid article{display:flex;flex-direction:column;background:var(--panel);padding:36px 30px;min-width:0}.package-grid h3{font-size:30px;line-height:1.15;margin:30px 0 20px}.package-grid article>p:not(.eyebrow){font-size:15px;line-height:1.7}.package-grid ul{list-style:none;padding:25px 0;margin:0 0 25px;color:#ccc;font-size:14px;flex:1}.package-grid li{padding:12px 0;border-bottom:1px solid #333}.package-grid .pill{width:100%;padding-left:12px;padding-right:12px}.contact{text-align:center;padding-top:100px;padding-bottom:110px;border-top:1px solid var(--line);margin-top:30px}.contact h2{font-size:clamp(4.5rem,10vw,10rem);margin:35px 0}.large{padding:18px 32px}.email{display:block;margin:30px auto 0;color:#ccc;font-size:15px}footer{border-top:1px solid var(--line);padding:40px 5vw;display:flex;justify-content:space-between;align-items:center;gap:30px}footer nav{display:flex;gap:24px;font-size:14px}footer>.eyebrow{color:#888;font-size:10px}dialog{background:#141414;color:#fff;border:1px solid #3b3b3b;padding:48px;max-width:620px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(9px)}dialog h2{font-size:42px;margin:24px 0 32px}dialog .close{position:absolute;right:15px;top:12px;width:40px;height:40px;font-size:32px;line-height:1;background:transparent;color:#ccc}form{display:grid;gap:20px}label{display:grid;gap:8px;font-size:14px}input,textarea,select{background:#202020;color:#fff;border:1px solid #444;border-radius:0;padding:12px;width:100%;min-width:0}input:focus,textarea:focus,select:focus{outline:1px solid #fff;outline-offset:2px}.form-note{font-size:12px;color:#aaa;line-height:1.6}.form-note:empty{display:none}#film-dialog{max-width:1200px;padding:45px 20px 20px}#film-dialog video{max-height:80dvh;width:100%;object-fit:contain;background:#080808}#film-title{margin-bottom:16px}.skip{position:fixed;left:15px;top:-100px;padding:12px;background:#fff;color:#000;z-index:100}.skip:focus{top:15px}body.modal-open{overflow:hidden}@media(min-width:1700px){.hero h1{font-size:225px}}@media(max-width:900px){.hero{padding-top:60px}.hero h1{font-size:13vw}.brand span{display:none}.section{padding:70px 5vw}.reel{gap:7vw}.section-heading>p{max-width:260px;font-size:14px}.card-caption{align-items:start;flex-direction:column;gap:4px}.process{gap:24px}.package-grid{gap:10px}.package-grid article{padding:28px 20px}.package-grid h3{font-size:25px}.logos{gap:40px}.logos img{max-width:130px}footer>.eyebrow{display:none}}@media(max-width:600px){html{scroll-padding-top:30px}.topbar{height:76px;padding:0 6vw}.brand{font-size:29px}.brand span{display:block;font-size:9px}.menu-toggle{display:flex;gap:12px;align-items:center;padding:10px 15px;border:1px solid #444;border-radius:30px;background:#1b1b1b;font-size:13px}.menu-lines{width:16px;height:8px;border-top:1px solid;border-bottom:1px solid}.topbar nav{display:none;position:absolute;left:6vw;right:6vw;top:70px;border-radius:24px;padding:15px;flex-direction:column;align-items:stretch;box-shadow:0 10px 40px #0009}.topbar nav.open{display:flex}.topbar nav a,.topbar nav button{text-align:center;padding:15px}.hero{padding:43px 6vw 46px}.hero>.eyebrow{font-size:9px;letter-spacing:.06em}.hero h1{font-size:23vw;line-height:1.05;white-space:normal;margin:30px -1vw 34px;letter-spacing:-.025em}.hero h1 span{display:block}.hero h1 span:first-child{font-size:1.45em;line-height:1}.hero-bottom{display:block}.hero-bottom>p{font-size:31px;text-align:center}.hero-bottom>p br{display:none}.hero-bottom>div{text-align:center}.intro{font-size:13px;margin-top:22px}.text-link{justify-content:center;margin-top:20px}.section{padding:60px 6vw}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{margin-top:22px;max-width:none;font-size:14px}.section-heading>p br{display:none}h2{font-size:42px}.work-grid{gap:25px 12px}.visual{aspect-ratio:3/4}.card-caption strong{font-size:16px;line-height:1.2}.card-caption>span{font-size:9px}.play-label{right:8px;bottom:10px;font-size:0;border-radius:50%;height:32px;width:32px;padding:0;justify-content:center;gap:0}.play-label span{font-size:10px}.reel{grid-template-columns:1fr 1fr;gap:20px;align-items:center}.reel-copy h2{font-size:40px;margin:19px 0}.reel-copy>.eyebrow{font-size:9px}.reel-copy>p:not(.eyebrow){font-size:13px;line-height:1.6}.reel-copy .pill{font-size:11px;padding:11px 13px;min-height:42px;margin-top:22px}.reel-frame video{aspect-ratio:9/17;object-fit:cover}.reel-meta{font-size:6px;left:8px;bottom:10px}.photo-grid{grid-template-columns:1fr 1fr;gap:12px}.clients{min-height:340px;margin-top:10px}.clients-inner{padding:44px 8vw}.clients .eyebrow{margin-bottom:36px}.logos{gap:35px 34px}.logos img{max-width:100px;max-height:32px}.process{grid-template-columns:1fr;gap:30px;margin-top:40px}.process article{display:grid;grid-template-columns:55px 1fr;gap:0 15px}.process .eyebrow{padding-top:13px}.process h3{margin:0 0 13px;font-size:36px}.process p{grid-column:2;line-height:1.7;font-size:15px}.expertise-layout{grid-template-columns:1fr;gap:32px;margin-top:24px}.expertise-list summary{font-size:22px}.expertise-list details p{font-size:15px}.package-grid{grid-template-columns:1fr;gap:16px}.package-grid article{padding:30px}.package-grid h3{font-size:29px;margin:24px 0 16px}.package-grid ul{margin-bottom:12px}.contact{margin-top:0;padding-top:65px;padding-bottom:65px}.contact h2{font-size:60px;line-height:1.05;margin:30px 0}.contact>.eyebrow{font-size:10px}.email{font-size:14px}footer{padding:30px 6vw;display:block}footer .brand{margin-bottom:26px}footer nav{flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:12px}dialog{padding:42px 24px 24px}dialog h2{font-size:34px}.eyebrow{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Full-screen photographic opening */
.topbar{position:absolute;inset:0 0 auto;height:90px}.hero{position:relative;isolation:isolate;max-width:none;min-height:100svh;padding:150px 5vw 60px;display:flex;align-items:center;border-bottom:0;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-photo{object-fit:cover;object-position:center 48%}.hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.2) 36%,rgba(0,0,0,.72))}.hero-content{width:100%;max-width:1530px;margin:auto}.hero-content>.eyebrow{text-align:center;color:#fff;text-shadow:0 1px 8px #0006}.hero h1{text-shadow:0 2px 40px #0003;margin:30px -1vw 52px}.hero-bottom .intro{color:#eee}.hero-bottom{margin-top:30px}.hero .text-link{color:#fff}.hero .small-mark{border-color:#aaa}.contact h2{font-size:clamp(4.3rem,8.5vw,9rem)}.expertise-list details{overflow:hidden}.expertise-list details p{padding-bottom:1px}
@media(min-width:1700px){.hero h1{font-size:225px}}
@media(max-width:900px){.hero{padding-top:145px;padding-bottom:65px}.hero h1{font-size:13vw}}
@media(max-width:600px){.topbar{height:76px}.hero{padding:112px 6vw 60px;min-height:100svh}.hero-photo{object-position:52% center}.hero-shade{background:linear-gradient(180deg,#0007,#0004 40%,#000a)}.hero h1{font-size:23vw;margin:27px -1vw 32px}.hero-content>.eyebrow{font-size:9px;letter-spacing:.06em}.hero-bottom{margin-top:0}.hero-bottom>p{font-size:30px}.contact h2{font-size:clamp(42px,12vw,60px)}}
.photo-grid{overflow:hidden}.photo-grid img{transition:filter .6s ease,transform .8s cubic-bezier(.2,.65,.25,1)}.photo-grid img:hover{filter:brightness(1.08);transform:scale(1.012)}.pill{transition:background .3s,color .3s,transform .35s cubic-bezier(.2,.65,.25,1)}.pill:hover{transform:translateY(-2px)}.text-link .small-mark{transition:transform .35s ease}.text-link:hover .small-mark{transform:rotate(90deg)}footer a,.email{transition:opacity .3s}footer a:hover,.email:hover{opacity:.65}dialog[open]{animation:dialog-enter .3s cubic-bezier(.2,.65,.25,1)}@keyframes dialog-enter{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Soft photographic dissolves; the typography remains on its own sharp layer. */
.hero-slides{position:absolute;inset:0;z-index:-3;overflow:hidden;background:#151310}.hero .hero-photo{inset:-2%;width:104%;height:104%;max-width:none;filter:blur(2px);transform:scale(1.025);z-index:1}.hero-slide.next{opacity:0;z-index:2}.hero-grain{pointer-events:none;position:absolute;inset:0;z-index:-1;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:soft-light}.hero .hero-shade{z-index:-2}.hero-content{position:relative;z-index:1}@media(prefers-reduced-motion:reduce){.hero .hero-photo{filter:blur(2px);transform:none}.hero-slide.next{display:none}}
/* Mobile typography: fit real font widths without clipping or squeezed columns. */
@media(max-width:600px){
  .hero-content,.hero-bottom,.hero-bottom>div,.section-heading>div,.reel-copy,.expertise-layout>*{min-width:0;max-width:100%}
  .hero h1{font-size:clamp(3.375rem,19vw,7rem);line-height:1.12;letter-spacing:-.025em;margin:26px 0 30px;width:100%;overflow:visible}
  .hero h1 span{display:block;white-space:nowrap}
  .hero h1 span:first-child{font-size:1.45em;line-height:1.06;margin-bottom:.035em}
  .hero-content>.eyebrow{font-size:.6875rem;line-height:1.65;letter-spacing:.025em;max-width:28ch;margin-inline:auto;text-wrap:balance}
  .hero-bottom>p{font-size:clamp(1.5rem,7vw,1.875rem);line-height:1.25;letter-spacing:-.025em;text-wrap:balance}
  .hero-bottom .intro{font-size:.875rem;line-height:1.65;text-wrap:pretty}
  .hero-bottom .intro br{display:none}
  .hero-bottom .intro br::after{content:' '}
  .hero .text-link{font-size:.875rem;line-height:1.5;gap:18px}
  h2{font-size:clamp(2rem,8.8vw,2.875rem);line-height:1.14;letter-spacing:-.035em;overflow-wrap:normal;text-wrap:balance}
  .section-heading{max-width:100%;gap:24px}
  .section-heading>p{font-size:1rem;line-height:1.65}
  .section-heading .eyebrow,.eyebrow{font-size:.6875rem;line-height:1.65;letter-spacing:.045em;overflow-wrap:anywhere}
  .reel{grid-template-columns:minmax(0,1fr);gap:34px}
  .reel-copy h2{font-size:clamp(2.625rem,11vw,3.625rem);line-height:1.1;letter-spacing:-.04em;max-width:100%;margin:20px 0}
  .reel-copy>.eyebrow{font-size:.6875rem}
  .reel-copy>p:not(.eyebrow){font-size:1rem;max-width:32ch;line-height:1.65}
  .reel-copy .pill{font-size:.875rem;padding:14px 22px;min-height:48px}
  .reel-frame{justify-self:center;max-width:340px;width:100%}
  .reel-frame video{aspect-ratio:9/14}
  .reel-meta{font-size:.625rem;left:14px;bottom:14px}
  .process h3{font-size:2rem;line-height:1.2}
  .process p,.expertise-list details p{font-size:1rem;line-height:1.65}
  .expertise-list summary{font-size:clamp(1.125rem,5.3vw,1.375rem);line-height:1.4;gap:12px;align-items:center}
  .expertise-list summary span{flex:none;font-size:1.5rem}
  .package-grid article{padding:28px 24px}
  .package-grid h3{font-size:clamp(1.5rem,6.7vw,1.875rem);line-height:1.2;letter-spacing:-.025em}
  .package-grid article>p:not(.eyebrow){font-size:1rem}
  .pill{font-size:.875rem;white-space:normal;text-align:center;max-width:100%;line-height:1.4}
  .contact h2{font-size:clamp(2.25rem,10vw,3.5rem);line-height:1.12;letter-spacing:-.035em;max-width:100%;text-wrap:balance}
  .email{font-size:.875rem;overflow-wrap:anywhere}
  .brand{gap:10px;flex-shrink:1;min-width:0}.brand span{font-size:.5625rem;line-height:1.4;letter-spacing:.025em}
  .menu-toggle{flex-shrink:0;min-height:44px;font-size:.8125rem}
  .topbar{gap:16px}.topbar nav a,.topbar nav button{font-size:1rem;line-height:1.5}
  footer nav{gap:16px 22px;justify-content:flex-start;font-size:.875rem;line-height:1.5}
  dialog h2{font-size:clamp(1.75rem,8vw,2.125rem);line-height:1.15;letter-spacing:-.035em}
  input,textarea,select{font-size:1rem}
}
@media(max-width:360px){.section{padding-inline:5vw}.hero{padding-inline:5vw}.topbar{padding-inline:5vw}.brand span{max-width:80px}.process{gap:28px}.process article{grid-template-columns:36px minmax(0,1fr);gap:0 12px}}

.form-honey{display:none!important}.form-note a{text-decoration:underline;text-underline-offset:3px}#form-status{padding:12px 14px;border:1px solid #444;background:#1c1c1c;font-size:.875rem;line-height:1.6}#form-status:empty{display:none}#form-status[data-state="error"]{border-color:#967b72;color:#f1d5cd}#form-status[data-state="success"]{border-color:#888;color:#fff}.pill:disabled{opacity:.6;cursor:wait;transform:none}

