:root{--ink:#1e1d1b;--paper:#f3f0e9;--red:#e34e3a;--line:rgba(30,29,27,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Outfit,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4.7vw;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.04em}
.brand{font:700 22px/1 'DM Mono',monospace;letter-spacing:-.09em}
.brand em{font:500 9px/1 'DM Mono';margin-left:5px;letter-spacing:.03em;font-style:normal}
nav{display:flex;gap:31px}
nav a{transition:color .2s}
nav a:hover,.text-link:hover{color:var(--red)}
.header-actions{display:flex;align-items:center;gap:20px}
.language-switch{display:flex;align-items:center;gap:6px;color:#898681;font:10px 'DM Mono',monospace}
.lang-button{appearance:none;border:0;background:transparent;padding:3px 0;color:inherit;font:inherit;cursor:pointer}
.lang-button.active{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.menu-link b,.button b,.text-link b,.contact-mail b{color:var(--red);font-size:18px;font-weight:400}
.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.04fr .96fr;position:relative;padding:10vw 10.5vw 7vw 12vw;gap:7vw;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font:500 10px/1.4 'DM Mono',monospace;margin:0 0 26px}
.hero h1,.section-heading h2,.about h2,.services h2,.contact h2{font:600 clamp(46px,6vw,92px)/.98 'Noto Serif SC',serif;letter-spacing:-.07em;margin:0}
.hero h1 i,.about h2 i{font-family:'Noto Serif SC',serif;font-weight:500;color:var(--red)}
.intro{max-width:335px;line-height:1.8;font-size:15px;margin:31px 0}
.button{display:inline-flex;gap:37px;align-items:center;background:var(--ink);color:#fff;padding:15px 18px;font-size:13px}
.image-frame{position:relative}
.hero-image{height:min(59vw,680px)}
.hero-image img,.about-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82)}
.image-tag{position:absolute;bottom:14px;left:-49px;background:var(--paper);padding:9px 13px;font:10px 'DM Mono',monospace}
.hero-note{position:absolute;bottom:36px;left:4.7vw;margin:0;font:9px/1.65 'DM Mono',monospace;letter-spacing:.08em}
.work-section{padding:10vw 4.7vw;border-top:1px solid var(--line)}
.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;margin-bottom:45px}
.section-heading .eyebrow{margin:0}
.section-heading h2{font-size:clamp(40px,5vw,72px)}
.section-heading>p:last-child{font-size:14px;line-height:1.7;margin:0}
.filters{display:flex;gap:25px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:34px}
.filter{border:0;background:none;padding:0;color:#898681;font:11px 'DM Mono',monospace;cursor:pointer}
.filter.active{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:38px 20px}
.work-card{grid-column:span 4;position:relative;transition:opacity .3s}
.work-card.tall{grid-row:span 2}
.work-card.wide{grid-column:span 8}
.work-card img{width:100%;height:28vw;max-height:430px;object-fit:cover;display:block;filter:saturate(.77);transition:filter .3s,transform .5s}
.work-card.tall img{height:46vw;max-height:710px}
.work-card:hover img{filter:saturate(1);transform:scale(1.01)}
.work-card div{padding:13px 0;display:grid;grid-template-columns:1fr auto;align-items:baseline}
.work-card p{grid-column:1/3;margin:0 0 5px;color:#77736e;text-transform:uppercase;font:9px 'DM Mono',monospace;letter-spacing:.1em}
.work-card h3{font:500 17px 'Noto Serif SC',serif;margin:0}
.work-card span{font:10px 'DM Mono',monospace}
.work-card.hidden{display:none}
.about{padding:12vw 12vw 10vw;display:grid;grid-template-columns:1fr 1.1fr;gap:9vw;align-items:center;background:#d8dad2}
.about-image{height:48vw;max-height:630px}
.about-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;max-width:420px}
.journalism-note{max-width:420px;margin-top:31px;padding-top:22px;border-top:1px solid rgba(30,29,27,.25)}
.journalism-note .eyebrow{margin-bottom:12px;color:#685c51}
.journalism-note p:last-child{margin:0;font-size:14px;line-height:1.85}
.text-link{display:inline-block;margin-top:16px;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:5px}
.numbers{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);margin:3vw 0 0;border-top:1px solid var(--line);padding-top:20px}
.numbers div{display:flex;gap:12px;align-items:baseline}
.numbers dt{font:500 32px 'DM Mono',monospace;letter-spacing:-.1em}
.numbers dd{margin:0;font-size:11px;color:#56544f}
.services{padding:11vw 12vw}
.services h2{font-size:clamp(35px,4.4vw,65px);margin-bottom:7vw}
.service-list{border-top:1px solid var(--line)}
.service-list>div{display:grid;grid-template-columns:80px 1fr 1.1fr;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.service-list span{font:10px 'DM Mono',monospace;color:#777}
.service-list h3{font:500 22px 'Noto Serif SC',serif;margin:0}
.service-list p{margin:0;color:#6c6964;font-size:13px}
.contact{padding:13vw 12vw 9vw;background:var(--red);color:#fff}
.contact .eyebrow{color:#3d1e1a}
.contact h2{font-size:clamp(45px,6vw,86px)}
.contact-mail{display:inline-block;margin:6vw 0 5vw;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:clamp(20px,2.3vw,34px);letter-spacing:-.03em}
.contact-mail span{color:var(--ink)}
.contact-meta{font:11px/1.9 'DM Mono',monospace;margin:0;color:#59251d}
.contact-meta a{text-decoration:underline;text-underline-offset:3px}
footer{display:flex;justify-content:space-between;padding:21px 4.7vw;font:9px 'DM Mono',monospace;letter-spacing:.04em}
.about-hero{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:8vw;padding:7vw 12vw 7vw;background:#d8dad2}
.about-hero h1,.practice-section h2{font:600 clamp(48px,6vw,88px)/.98 'Noto Serif SC',serif;letter-spacing:-.07em;margin:0}
.about-hero h1 i,.practice-section h2 i{color:var(--red);font-weight:500}
.about-lead{max-width:380px;margin:0;font-size:16px;line-height:1.9}
.journalism-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:11vw;align-items:center;padding:11vw 12vw}
.journalism-image{height:min(49vw,680px)}
.journalism-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82)}
.journalism-copy h2{font:600 clamp(36px,4.4vw,64px)/1 'Noto Serif SC',serif;letter-spacing:-.06em;margin:0 0 29px}
.journalism-copy>p:not(.eyebrow){max-width:510px;font-size:15px;line-height:1.95}
.experience-section{padding:11vw 12vw;background:#e7e2d8}
.experience-section>h2{font:600 clamp(38px,4.8vw,70px)/1 'Noto Serif SC',serif;letter-spacing:-.06em;margin:0 0 7vw}
.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.experience-card{padding:28px 27px 32px;border-top:2px solid var(--ink);background:var(--paper)}
.experience-meta{margin:0 0 45px;color:#77736e;font:10px 'DM Mono',monospace;letter-spacing:.08em}
.experience-card h3{font:500 clamp(26px,2.5vw,38px)/1.1 'Noto Serif SC',serif;letter-spacing:-.05em;margin:0 0 32px}
.experience-intro{font-size:14px;line-height:1.8;color:#595650;margin:-12px 0 27px}
.experience-card ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.experience-card li{padding:15px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.65}
.practice-section{padding:11vw 12vw;background:var(--ink);color:var(--paper)}
.practice-section .eyebrow{color:#c2bdb3}
.practice-section h2{max-width:810px}
.practice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;margin-top:8vw}
.practice-list article{border-top:1px solid rgba(243,240,233,.32);padding-top:17px}
.practice-list span{font:10px 'DM Mono',monospace;color:#c2bdb3}
.practice-list h3{font:500 21px 'Noto Serif SC',serif;margin:34px 0 13px}
.practice-list p{font-size:13px;line-height:1.8;color:#c2bdb3;margin:0}
.today-section{padding:11vw 12vw 12vw;max-width:1050px}
.today-section>p:not(.eyebrow){font:500 clamp(26px,3.4vw,46px)/1.35 'Noto Serif SC',serif;letter-spacing:-.04em;max-width:880px;margin:0}
.today-section .text-link{margin-top:42px}
@media(max-width:700px){.site-header{height:67px;padding:0 6vw}
.site-header nav{display:none}
.header-actions{gap:12px}
.language-switch{font-size:9px;gap:4px}
.menu-link{font-size:11px}
.hero{display:block;padding:18vw 8vw 18vw;min-height:auto}
.hero-image{height:110vw;margin:13vw 0 0}
.hero-note{display:none}
.image-tag{left:0}
.section-heading{display:block}
.section-heading .eyebrow{margin-bottom:22px}
.section-heading>p:last-child{margin-top:13px}
.work-section{padding:18vw 6vw}
.gallery{display:block}
.work-card,.work-card.wide{margin-bottom:31px}
.work-card img,.work-card.tall img{height:105vw;max-height:none}
.filters{gap:16px}
.about{padding:18vw 8vw;display:block}
.about-image{height:105vw;margin-bottom:14vw}
.numbers{margin-top:11vw;grid-template-columns:1fr}
.numbers div{padding:9px 0}
.services{padding:18vw 8vw}
.services h2{margin-bottom:13vw}
.service-list>div{grid-template-columns:38px 1fr;gap:5px;padding:19px 0}
.service-list p{grid-column:2;margin-top:3px}
.contact{padding:21vw 8vw 17vw}
footer{padding:20px 6vw}
.about-hero{display:block;min-height:auto;padding:20vw 8vw 17vw}
.about-lead{margin-top:12vw;font-size:15px}
.journalism-section{display:block;padding:18vw 8vw}
.journalism-image{height:105vw;margin-bottom:13vw}
.experience-section{padding:18vw 8vw}
.experience-section>h2{margin-bottom:12vw}
.experience-grid{display:block}
.experience-card+.experience-card{margin-top:20px}
.experience-card{padding:23px 20px 27px}
.experience-meta{margin-bottom:34px}
.practice-section{padding:18vw 8vw}
.practice-list{display:block;margin-top:14vw}
.practice-list article{padding:18px 0 28px}
.today-section{padding:18vw 8vw}
}
.films{padding:11vw 8vw;background:#1e1d1b;color:#f3f0e9}
.film-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;margin-bottom:44px}
.film-heading .eyebrow{margin:0;color:#c2bdb3}
.film-heading h2{font:600 clamp(40px,5vw,72px)/.98 'Noto Serif SC',serif;letter-spacing:-.07em;margin:0}
.film-heading>p:last-child{font-size:14px;line-height:1.7;margin:0;color:#c2bdb3}
.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.film-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0d0d0c}
.film-caption{padding:15px 0;display:grid;grid-template-columns:1fr auto;align-items:baseline}
.film-caption p{grid-column:1/3;margin:0 0 6px;color:#ada89f;text-transform:uppercase;font:9px 'DM Mono',monospace;letter-spacing:.1em}
.film-caption h3{margin:0;font:500 20px 'Noto Serif SC',serif}
.film-caption span{font:10px 'DM Mono',monospace;color:#c2bdb3}
.sample-note{margin:35px 0 0;color:#ada89f;font:10px/1.6 'DM Mono',monospace;max-width:540px}
@media(max-width:700px){.films{padding:18vw 6vw}.film-heading{display:block}.film-heading .eyebrow{margin-bottom:22px}.film-heading>p:last-child{margin-top:13px}.film-grid{display:block}.film-card{margin-bottom:32px}}
