@font-face{font-family:"DM Serif Display";src:url("../fonts/dm-serif-display-latin-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-latin-variable.woff2") format("woff2");font-weight:400 600;font-display:swap}
:root{--bg:#121210;--ink-deep:#0b0b0a;--surface:#1d1d19;--text:#f3f0e8;--secondary:#bcb9ae;--accent:#d8b77a;--accent-hover:#e5c994;--rule:#44443a;--gutter:1.25rem;--scrim-top:rgba(18,18,16,.6);--serif:"DM Serif Display",Georgia,serif;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.125rem/1.65 "DM Sans",Arial,sans-serif;overflow-wrap:break-word}
::selection{background:var(--accent);color:var(--bg)}
img{display:block;width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,ol,figure{margin:0}
ol{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.container{width:min(100% - 2*var(--gutter),81rem);margin-inline:auto}
.skip{position:absolute;left:1rem;top:-6rem;z-index:5;background:var(--accent);color:var(--bg);padding:.75rem 1.5rem}
.skip:focus{top:1rem}
.eyebrow{margin-bottom:1rem;color:var(--accent);font-size:.75rem;font-weight:600;line-height:1.5;letter-spacing:.16em;text-transform:uppercase}
h1{max-width:11ch;font:400 clamp(3rem,1.6rem + 6vw,7.5rem)/.95 var(--serif);letter-spacing:-.03em}
h2{font:400 clamp(2.25rem,1.5rem + 3vw,4.5rem)/1 var(--serif);letter-spacing:-.02em}
h2::after{content:"";display:block;width:4rem;height:1px;margin-top:1.5rem;background:var(--accent)}
h3{font:400 clamp(1.75rem,1.25rem + 2vw,3rem)/1.05 var(--serif)}
.lead{max-width:30ch;font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);line-height:1.45}
.body{max-width:58ch}
.section{padding-block:6rem 0}
.section-head{margin-bottom:3.5rem}
.section-head .body,.about-copy .body,.svc-intro .body{margin-top:1.5rem}
.section-head h2::after,.about-copy h2::after,.svc-intro h2::after,.cta h2::after{margin-bottom:0}
.brand{display:flex;flex-direction:column;gap:.25rem;text-decoration:none}
.brand-name{font:400 1.5rem/1 var(--serif);letter-spacing:-.02em}
.brand-tag{font-size:.75rem;font-weight:500;line-height:1}
.site-header{position:absolute;inset:0 0 auto;z-index:3}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:4rem}
.nav{display:flex;align-items:center;gap:2rem}
.nav-link{display:none;font-size:.875rem;font-weight:500;letter-spacing:.04em;text-decoration:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.75rem 1.5rem;border:1px solid var(--accent);border-radius:.125rem;background:var(--accent);color:var(--bg);font-size:1rem;font-weight:600;line-height:1.25;text-align:center;text-decoration:none}
.button.ghost{padding:.5rem 1rem;background:transparent;color:var(--text);font-size:.875rem;letter-spacing:.04em}
.button.big{min-height:3.5rem;margin-top:2rem;width:100%}
.button:focus-visible{outline-color:var(--text);box-shadow:0 0 0 4px var(--bg)}
.text-link{display:inline-block;padding-block:.75rem;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:.25rem}
.text-link.brass{color:var(--accent);background-size:100% 1px}
.helper{margin-top:.75rem;color:var(--secondary);font-size:.75rem;line-height:1.5}
.hero{position:relative}
.hero-media{position:relative}
.hero-media::before{content:"";position:absolute;inset:0 0 auto;height:22%;background:linear-gradient(var(--scrim-top),transparent);z-index:1;pointer-events:none}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,var(--bg));pointer-events:none}
.hero-media img{aspect-ratio:4/5;object-fit:cover;object-position:31% 57%}
.intro{position:relative;z-index:1;margin-top:-6rem}
.intro .lead{margin-top:1.5rem}
.intro .body{margin-top:1rem}
.actions{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:2rem}
.actions .button{width:100%}
.work-grid,.about,.cta,.services{display:grid;gap:4rem}
.shot figcaption{display:flex;gap:1.5rem;margin-top:.75rem;color:var(--secondary);font-size:.875rem;line-height:1.5}
.num{flex:none;color:var(--accent);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.w2{width:80%;justify-self:end}
.w4{width:80%}
.more{margin-top:4rem}
.dots{margin-top:2rem;color:var(--secondary);font-size:1rem;letter-spacing:.08em}
.svc-copy .body{max-width:60ch;margin-top:1.5rem;color:var(--secondary)}
.svc-copy .lead{max-width:none}
.band{margin-top:6rem;padding-block:6rem 5rem;background:var(--ink-deep)}
.cta-copy{order:1}
.cta .lead{margin-top:1.5rem}
.cta .body{margin-top:1rem}
.site-footer{margin-top:0;padding-block:4rem 3rem;border-top:1px solid var(--rule)}
.footer-grid{display:grid;gap:2rem}
.footer-grid p{color:var(--secondary)}
.footer-links{display:flex;flex-direction:column;gap:.5rem}
.legal{font-size:.875rem}
@media (hover:hover){a{transition:color 140ms ease-out,background-color 140ms ease-out,border-color 140ms ease-out}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button.ghost:hover{background:transparent;color:var(--accent);border-color:var(--accent-hover)}.nav-link:hover,.text-link:hover{color:var(--accent)}.text-link{transition:color 140ms ease-out,background-size 200ms ease-out}.text-link:hover{background-size:100% 1px}}
@media (min-width:48rem){
:root{--gutter:2rem}
.site-header .header-inner{min-height:5.5rem}
.brand-name{font-size:1.875rem}
.nav-link{display:inline}
.hero-media img{aspect-ratio:auto;width:100%;max-width:90rem;margin-inline:auto;height:min(56.25vw,85svh);object-position:52% 30%}
.intro{margin-top:clamp(-8rem,-8vw,-3rem)}
.actions{flex-direction:row;align-items:center;gap:1.5rem}
.actions .button{width:auto}
.section{padding-block:8rem 0}
.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6rem 1.5rem}
.w1,.w3{grid-column:1/-1}
.w3{max-width:46rem}
.w2,.w4{width:auto;justify-self:stretch}
.w2{align-self:start}
.w5{grid-column:1/-1;max-width:40rem}
.w6{grid-column:1/-1;max-width:40rem;justify-self:end}
.about{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:center}
.about-copy{padding-left:1.5rem}
.cta{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:center}
.cta-copy{order:0}
.cta .button.big{width:auto}
.band{padding-block:8rem 8rem}
.footer-grid{grid-template-columns:1fr auto;align-items:start}
.footer-links{align-items:flex-end;text-align:right}
.legal{grid-column:1/-1}
}
@media (min-width:75rem){
:root{--gutter:3rem}
.work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:6rem 1.5rem}
.w1{grid-column:1/9;grid-row:1}
.w2{grid-column:9/13;grid-row:1;margin-top:8rem}
.w3{grid-column:1/8;grid-row:2;align-self:end;max-width:none}
.w4{grid-column:9/13;grid-row:2}
.w5{grid-column:1/7;grid-row:3;max-width:none}
.w6{grid-column:8/13;grid-row:3;align-self:start;margin-top:10rem;max-width:none;justify-self:stretch}
.about{grid-template-columns:repeat(12,minmax(0,1fr))}
.a1{grid-column:1/7}
.about-copy{grid-column:8/13;padding-left:0}
.services{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem}
.svc-intro{grid-column:1/6;position:sticky;top:3rem;align-self:start}
.svc-copy{grid-column:7/13}
.cta{grid-template-columns:repeat(12,minmax(0,1fr))}
.cta-copy{grid-column:7/13;grid-row:1}
.c1{grid-column:1/6;grid-row:1}
}
@media (max-width:47.99rem){
}
@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()){
.work-grid .shot,.c1,.a1{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
@keyframes rise{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:0s!important}}
@media (min-width:90rem){.hero-media img{-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}}
