:root{--ink:#11100f;--paper:#f4f0e8;--red:#ef3b2d;--line:rgba(17,16,15,.2);--white:#fff;--max:1440px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,72px);max-width:var(--max);margin:auto;border-bottom:1px solid var(--line)}
.wordmark{font-family:Syne,sans-serif;font-size:2rem;font-weight:800;letter-spacing:-.12em}.wordmark span{color:var(--red)}
nav{display:flex;align-items:center;gap:clamp(22px,3vw,46px);font-weight:600}nav a:not(.nav-cta):hover{color:var(--red)}
.nav-cta{background:var(--ink);color:var(--white);padding:13px 20px;border:1px solid var(--ink);transition:.2s}.nav-cta:hover{background:var(--red);border-color:var(--red)}
.menu-button{display:none;background:none;border:0;padding:8px}.menu-button span:not(.sr-only){display:block;width:26px;height:2px;background:var(--ink);margin:5px}
.hero{max-width:var(--max);margin:auto;min-height:calc(100vh - 88px);padding:clamp(48px,8vw,110px) clamp(24px,5vw,72px) 52px;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,90px);position:relative;align-items:center}
.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.18em;font-weight:700;margin:0 0 22px}
h1,h2,h3{font-family:Syne,sans-serif;margin:0;line-height:.94;letter-spacing:-.055em}h1{font-size:clamp(3.7rem,7.2vw,7.6rem)}h2{font-size:clamp(2.7rem,5.3vw,5.5rem)}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--red)}
.intro{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:570px;margin:32px 0}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;gap:32px;align-items:center;padding:17px 22px;font-weight:700}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:var(--ink)}.text-link{font-weight:700;border-bottom:1px solid;padding-bottom:4px}
.hero-visual{align-self:stretch;min-height:520px;position:relative;overflow:hidden;background:#d6d0c8}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.18))}.hero-note{position:absolute;z-index:1;bottom:0;left:0;background:var(--paper);padding:16px 20px;font-weight:700}.hero-note span{color:var(--red);margin-right:24px}
.ticker{background:var(--ink);color:#fff;overflow:hidden;white-space:nowrap;padding:18px 0;font-family:Syne,sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.05em}.ticker div{width:max-content;animation:marquee 24s linear infinite}.ticker span{color:var(--red);margin:0 18px}@keyframes marquee{to{transform:translateX(-35%)}}
.section{max-width:var(--max);margin:auto;padding:clamp(80px,11vw,160px) clamp(24px,5vw,72px)}
.section-heading{display:grid;grid-template-columns:.5fr 1.25fr .65fr;align-items:end;gap:40px;margin-bottom:72px}.section-heading .eyebrow{align-self:start}.section-heading>p:last-child{margin:0;max-width:360px}.section-heading.compact{grid-template-columns:.7fr 2fr}.section-heading.compact h2{grid-column:2}.section-heading.compact{margin-bottom:60px}
.video-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(24px,5vw,70px);align-items:start}.video-card:nth-child(2){margin-top:120px;max-width:86%;justify-self:end}.video-shell{position:relative;background:var(--ink);overflow:hidden;aspect-ratio:9/16;max-height:780px}.video-shell-fashion{aspect-ratio:9/16}.video-shell video{display:block;width:100%;height:100%;object-fit:cover;background:#111}.video-badge{position:absolute;top:18px;left:18px;background:var(--paper);color:var(--ink);padding:9px 12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;pointer-events:none}.video-caption{display:grid;grid-template-columns:44px 1fr;gap:16px;padding-top:22px}.video-caption>span{color:var(--red);font-weight:700}.video-caption h3{font-size:clamp(1.55rem,2.4vw,2.5rem);line-height:1.08;margin-bottom:9px}.video-caption p{margin:0;color:#625e58;max-width:520px}
.photo-story{padding-top:40px}.photo-story-head{display:grid;grid-template-columns:.55fr 1.45fr;margin-bottom:60px}.photo-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(2,minmax(280px,520px));gap:16px}.photo{margin:0;position:relative;overflow:hidden;background:#d8d1c6}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.photo:hover img{transform:scale(1.025)}.photo-main{grid-row:1/3}.photo-main img{object-position:center 55%}.photo-race img{object-position:center 43%}.photo-food img{object-position:center 33%}.photo figcaption{position:absolute;left:0;bottom:0;background:var(--paper);padding:12px 16px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.photo figcaption span{color:var(--red);margin-right:12px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,130px);background:var(--ink);color:#fff;max-width:none;padding-left:max(clamp(24px,5vw,72px),calc((100vw - var(--max))/2 + 72px));padding-right:max(clamp(24px,5vw,72px),calc((100vw - var(--max))/2 + 72px))}.about-photo{position:relative;min-height:640px;overflow:hidden;align-self:stretch}.about-photo img{width:100%;height:100%;object-fit:cover}.about-photo-label{position:absolute;left:0;bottom:0;background:var(--red);color:#fff;padding:13px 17px;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}.about-copy{max-width:620px;align-self:center}.about-copy h2{font-size:clamp(2.6rem,4.6vw,5rem)}.about-copy .lead{font-size:1.35rem;font-weight:600;margin-top:40px}.about-copy>p:not(.eyebrow){color:#d4d0ca}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #444;margin-top:44px;padding-top:28px}.facts div{display:flex;flex-direction:column}.facts strong{font-family:Syne,sans-serif;color:#fff;font-size:2rem}.facts span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#aaa}
.services{border-bottom:1px solid var(--line)}.service-list{border-top:1px solid var(--ink)}.service-list article{display:grid;grid-template-columns:80px 1fr auto;gap:24px;align-items:start;padding:34px 6px;border-bottom:1px solid var(--line)}.service-no{font-size:.8rem;color:var(--red);font-weight:700}.service-list h3{font-size:clamp(1.65rem,3vw,2.8rem);margin-bottom:10px}.service-list p{max-width:670px;margin:0;color:#595651}.service-arrow{font-size:2rem}.service-list article:hover .service-arrow{color:var(--red)}
.fit{text-align:center}.fit-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:1000px;margin:40px auto 0}.fit-grid span{border:1px solid var(--ink);border-radius:100px;padding:15px 25px;font-family:Syne,sans-serif;font-weight:700;font-size:clamp(1rem,2vw,1.5rem)}.fit-grid span:nth-child(3n+1){background:var(--red);color:#fff;border-color:var(--red)}
.contact{background:var(--red);color:#fff;padding:clamp(80px,12vw,160px) max(clamp(24px,5vw,72px),calc((100vw - var(--max))/2 + 72px))}.contact h2{font-size:clamp(3.2rem,8vw,8rem)}.contact h2 em{color:var(--ink)}.contact-email{display:flex;justify-content:space-between;align-items:center;max-width:1050px;border-bottom:2px solid #fff;margin-top:70px;padding-bottom:16px;font-family:Syne,sans-serif;font-size:clamp(1.1rem,3vw,2.6rem);font-weight:700}.contact-email:hover{color:var(--ink);border-color:var(--ink)}.contact-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:70px}.contact-bottom p{margin:0;max-width:430px}.contact-bottom a{text-decoration:underline;font-weight:700}
footer{background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:35px max(clamp(24px,5vw,72px),calc((100vw - var(--max))/2 + 72px));font-size:.85rem}.wordmark.inverse{color:#fff}
.email-note{margin:12px 0 0;font-size:.82rem;letter-spacing:.04em}
.more-work{margin-top:clamp(90px,12vw,170px);padding-top:48px;border-top:1px solid var(--line)}.more-work-heading{display:grid;grid-template-columns:.5fr 1.5fr;gap:40px;align-items:start;margin-bottom:42px}.more-work-heading h3{font-size:clamp(2rem,4vw,4rem);max-width:900px}.mini-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,38px)}.mini-video-shell{position:relative;aspect-ratio:9/16;background:var(--ink);overflow:hidden}.mini-video-shell video{display:block;width:100%;height:100%;object-fit:cover}.mini-video-card h3,.onyx-video-card h3{font-size:clamp(1.3rem,2vw,2rem);line-height:1.05;margin:20px 0 9px}.mini-video-card p,.onyx-video-card p{margin:0;color:#625e58}
.brand-content{padding-top:40px}.brand-content-head{display:grid;grid-template-columns:1.6fr .6fr;gap:60px;align-items:end;margin-bottom:56px}.brand-content-head>p{margin:0;max-width:430px;color:#625e58}.brand-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:repeat(2,minmax(260px,420px));gap:16px}.brand-card{margin:0;position:relative;overflow:hidden;background:#d8d1c6}.brand-card-feature{grid-row:1/3}.brand-card:last-child{grid-column:2/4}.brand-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.brand-card:hover img{transform:scale(1.025)}.brand-card-feature img{object-position:center 32%}.brand-card figcaption{position:absolute;left:0;bottom:0;background:var(--paper);padding:12px 16px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.onyx{background:var(--ink);color:#fff;max-width:none;padding-left:max(clamp(24px,5vw,72px),calc((100vw - var(--max))/2 + 72px));padding-right:max(clamp(24px,5vw,72px),calc((100vw - var(--max))/2 + 72px))}.onyx-intro{display:grid;grid-template-columns:1.5fr .6fr;gap:70px;align-items:end;margin-bottom:70px}.onyx-intro>p{margin:0;color:#c9c4bd;max-width:470px}.onyx-portrait-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.onyx-hero-image,.onyx-photo-pair figure{margin:0;position:relative;overflow:hidden;background:#262422}.onyx-hero-image{min-height:760px}.onyx-hero-image img,.onyx-photo-pair img{width:100%;height:100%;object-fit:cover}.onyx-hero-image figcaption,.onyx-photo-pair figcaption{position:absolute;bottom:0;left:0;background:var(--paper);color:var(--ink);padding:12px 16px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.onyx-hero-image figcaption span{color:var(--red);margin-right:12px}.onyx-photo-pair{display:grid;grid-template-rows:1fr 1fr;gap:18px}.onyx-photo-pair figure:first-child img{object-position:center 28%}.onyx-photo-pair figure:last-child img{object-position:center 35%}.onyx-video-head{display:grid;grid-template-columns:.5fr 1.5fr;align-items:end;gap:40px;margin:clamp(90px,12vw,160px) 0 46px;padding-top:46px;border-top:1px solid #3d3a36}.onyx-video-head h3{font-size:clamp(2rem,4vw,4rem)}.onyx-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,38px)}.onyx-video-shell{position:relative;aspect-ratio:9/16;background:#282522;overflow:hidden}.onyx-video-shell video{display:block;width:100%;height:100%;object-fit:cover}.onyx-video-card p{color:#aaa49c}.onyx-photo-strip{display:grid;grid-template-columns:1fr .75fr 1fr;min-height:440px;margin-top:clamp(90px,12vw,150px)}.onyx-photo-strip img{width:100%;height:100%;max-height:560px;object-fit:cover}.onyx-photo-strip>div{background:var(--red);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,4vw,58px)}.onyx-photo-strip p{font-family:Syne,sans-serif;font-size:clamp(2rem,3.5vw,4rem);line-height:.94;letter-spacing:-.055em;margin:0}.onyx-photo-strip em{font-family:Georgia,serif;font-weight:400;color:var(--ink)}.onyx-photo-strip span{text-transform:uppercase;letter-spacing:.11em;font-size:.7rem;font-weight:700}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.hero-visual{min-height:620px}.section-heading{grid-template-columns:1fr}.section-heading.compact{grid-template-columns:1fr}.section-heading.compact h2{grid-column:auto}.video-grid{grid-template-columns:1fr 1fr;gap:24px}.video-card:nth-child(2){margin-top:70px}.more-work-heading,.onyx-video-head{grid-template-columns:1fr}.photo-story-head{grid-template-columns:1fr}.photo-grid{grid-template-rows:repeat(2,minmax(220px,420px))}.brand-content-head,.onyx-intro{grid-template-columns:1fr}.onyx-hero-image{min-height:620px}.onyx-photo-strip{grid-template-columns:1fr 1fr}.onyx-photo-strip>div{grid-row:2;grid-column:1/3;min-height:270px}.about{grid-template-columns:1fr}.about-photo{min-height:680px;max-width:680px}}
@media(max-width:680px){.site-header{height:72px}.menu-button{display:block;z-index:20}.site-header nav{display:none;position:fixed;inset:0;background:var(--paper);z-index:10;flex-direction:column;align-items:flex-start;justify-content:center;padding:40px;font-family:Syne,sans-serif;font-size:2rem}.site-header nav.open{display:flex}.nav-cta{font-size:1rem}.hero{padding-top:42px}.hero-visual{min-height:500px}.hero-note{font-size:.8rem}.section{padding-top:80px;padding-bottom:80px}.section-heading{margin-bottom:44px}.video-grid,.mini-video-grid,.onyx-video-grid{grid-template-columns:1fr;gap:60px}.video-card:nth-child(2){margin-top:0;max-width:none}.video-shell,.video-shell-fashion{aspect-ratio:9/16;max-height:none}.photo-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none}.photo-main{grid-row:auto;height:580px}.photo-race,.photo-food{height:430px}.brand-grid{grid-template-columns:1fr;grid-template-rows:none}.brand-card-feature,.brand-card:last-child{grid-row:auto;grid-column:auto}.brand-card{height:480px}.onyx-portrait-grid{grid-template-columns:1fr}.onyx-hero-image{min-height:560px}.onyx-photo-pair{grid-template-rows:none;grid-template-columns:1fr}.onyx-photo-pair figure{height:480px}.onyx-photo-strip{grid-template-columns:1fr}.onyx-photo-strip img{height:480px}.onyx-photo-strip>div{grid-row:auto;grid-column:auto;min-height:260px}.about-photo{min-height:500px}.facts{gap:12px}.facts strong{font-size:1.5rem}.facts span{font-size:.66rem}.service-list article{grid-template-columns:38px 1fr}.service-arrow{display:none}.contact-bottom,footer{flex-direction:column;align-items:flex-start}.contact-email{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}.project{transition:none}}
