/* A shared arrow and restrained typography across the start page. */
.link-arrow{display:inline-block;width:1em;height:1em;flex:0 0 auto;vertical-align:-.12em;overflow:visible;transform:rotate(0deg);transform-origin:center;transition:transform 280ms cubic-bezier(.22,1,.36,1)}
.link-arrow path{stroke:currentColor;stroke-width:1.65;stroke-linecap:square;stroke-linejoin:miter}
@media(hover:hover){a:hover .link-arrow{transform:rotate(45deg)}}
a:focus-visible .link-arrow{transform:rotate(45deg)}
.contact-jump{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-family:inherit;font-size:clamp(18px,1.6vw,23px);font-weight:400;letter-spacing:-.025em;line-height:1.3}
.contact-jump>span{display:flex;align-items:center;font-size:1.15em}
.contact-jump:hover{text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}
.contact-jump:focus-visible{border-radius:2px}
.pill-link{align-items:center}
.pill-link>span,.service-arrow,.work-title>span{display:inline-flex;align-items:center;justify-content:flex-end}
.photo-bottom a,.about-section>div>a,.all-work,.footer a,.menu-footer a{line-height:1.5}
.menu-close{font-family:inherit}
.drawer-links a{align-items:center}
.drawer-links a>span{display:flex;align-items:center}
/* One contact group, with a shared text edge and evenly spaced actions. */
.contact-section{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0 clamp(40px,7vw,120px);padding-block:clamp(64px,7vw,112px)}
.contact-section h2{font-size:clamp(72px,10.6vw,176px);line-height:.98;letter-spacing:-.065em;margin-top:40px;padding-right:.12em}
.contact-section em{display:inline-block;white-space:nowrap}
.contact-question{display:inline-block;margin-left:.13em;padding-right:.08em;letter-spacing:0}
.contact-details{align-self:end;justify-self:start;width:100%;max-width:440px;min-width:0;padding:0 0 8px;margin-bottom:0}
.contact-name{font-size:clamp(20px,1.85vw,28px);font-weight:400;letter-spacing:-.025em;line-height:1.3;margin:0 0 22px 38px}
.contact-methods{display:block}
.contact-methods a{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:18px;min-height:68px;padding:20px 0;border-top:1px solid #0003;font-size:clamp(18px,1.65vw,25px);font-weight:400;letter-spacing:-.02em;line-height:1.3;text-decoration:none}
.contact-methods a:last-child{border-bottom:1px solid #0003}
.contact-methods a>span{min-width:0;overflow-wrap:anywhere}
.contact-methods svg{width:20px;height:20px;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.contact-methods a:hover>span{text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}
.contact-methods small.sr-only{margin:0}
@media(max-width:1000px){.contact-section{column-gap:36px}.contact-section h2{font-size:10.5vw}.contact-methods a{font-size:18px}}
@media(max-width:800px){.contact-section{grid-template-columns:minmax(0,1fr);row-gap:0;padding-block:60px}.contact-section h2{font-size:clamp(64px,20vw,150px);margin-top:28px}.contact-details{max-width:440px;margin-top:44px;padding:0}.contact-name{font-size:23px;margin-bottom:20px}.contact-methods a{font-size:20px;min-height:64px;padding-block:18px}.contact-jump{font-size:19px;gap:14px}}
@media(prefers-reduced-motion:reduce){.link-arrow{transition:none}}

.photo-bottom{justify-content:flex-end}
.photo-rail figure{gap:0}
/* Keep sticky section labels outside the fixed menu button's hit area. */
.film-top{top:24px;min-height:56px;align-items:center;gap:20px;padding-right:clamp(76px,7vw,104px)}
.photo-heading,.section-label{padding-right:76px}
.contact-section>.kicker{padding-right:76px}
@media(max-width:800px){.film-top{top:22px;min-height:50px;align-items:flex-start;justify-content:center;flex-direction:column;gap:5px;padding-right:70px}.photo-heading,.section-label{padding-right:66px}.section-label{flex-wrap:wrap;gap:12px}.contact-section>.kicker{padding-right:66px}}
.about-section .section-kicker{color:#aaa}

.references{border-block:1px solid #292929;margin-top:72px;padding-block:48px 64px}.references>.section-kicker{color:#aaa;margin-bottom:48px;font-size:13px;letter-spacing:.12em}.reference-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:48px;max-width:1080px;margin-inline:auto}.reference-logos img{width:100%;height:130px;max-width:320px;object-fit:contain;justify-self:center}.reference-logos img:last-child{max-width:175px}@media(max-width:600px){.references{margin-top:56px;padding-block:36px 48px}.references>.section-kicker{margin-bottom:32px}.reference-logos{grid-template-columns:1fr;gap:40px}.reference-logos img{height:108px;max-width:240px}.reference-logos img:first-child{grid-column:auto;width:min(100%,300px);max-width:300px;height:76px}.reference-logos img:last-child{max-width:170px;height:128px}}

/* Shared social marks, footer alignment, and linked home photographs. */
.footer{align-items:center;line-height:1.5;gap:16px 24px}
.footer>span{display:flex;align-items:center;min-height:44px}
.footer>div{align-items:center;gap:12px 24px}
.footer a,.footer .privacy-open{min-height:44px;display:inline-flex;align-items:center;line-height:1.5}
.social-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:44px}
.social-icon{display:block;width:19px;height:19px;flex:0 0 19px}
.social-link .link-arrow{width:12px;height:12px}
.menu-footer>div{gap:12px 22px;align-items:center}
.photo-rail figure>a{display:flex;width:100%;height:100%;min-height:0;border-radius:10px}
.photo-rail figure>a:focus-visible{outline:3px solid #000;outline-offset:-5px}
.photo-rail figure>a img{width:100%;height:100%;min-width:0;object-fit:cover}
html:not(.motion-ready) .photo-rail figure>a{height:auto}
@media(max-width:800px){.footer>div{gap:8px 20px}.footer{row-gap:4px}.footer>span{min-height:36px}}
/* Paint the glyph fill over its stroke, hiding overlapping font contours. */
.contact-section em{color:var(--yellow);-webkit-text-stroke:3px #000;paint-order:stroke fill}
.more-work{margin-top:100px}
.more-work>.section-kicker{margin:0;font-size:13px;font-weight:400;line-height:1.5;letter-spacing:.12em;color:#aaa}
.more-work>.other-work{margin-top:36px}
@media(max-width:800px){.more-work{margin-top:64px}.more-work>.other-work{margin-top:28px}}

html[lang="en"] .contact-section h2,html[lang="en"] .subpage .contact-section h2{font-size:clamp(64px,7.4vw,114px)}
@media(max-width:800px){html[lang="en"] .contact-section h2,html[lang="en"] .subpage .contact-section h2{font-size:clamp(48px,16vw,88px)}}

.reference-logos.reference-logos-pair{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.reference-logos-pair img:last-child{max-width:260px}
@media(max-width:600px){.reference-logos.reference-logos-pair{gap:28px}.reference-logos-pair img:first-child{grid-column:auto;width:100%;height:72px}.reference-logos-pair img:last-child{max-width:160px;height:92px}}

/* Keep the photo sequence usable on phones held horizontally. */
@media(orientation:landscape) and (max-height:600px){
 .photo-stage{padding-block:16px 12px;gap:12px}
 .photo-heading{flex-direction:row;align-items:center;padding-right:70px}
 .photo-heading .section-kicker{font-size:11px}
 .photo-heading h2{font-size:clamp(28px,7svh,42px);margin-top:4px}
 .photo-rail{gap:16px}
 .photo-bottom{font-size:14px;align-items:center}
 .photo-bottom a{display:inline-flex;align-items:center;gap:6px;min-height:44px}
 html:not(.motion-ready) .photo-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 html:not(.motion-ready) .photo-rail img{aspect-ratio:3/2}
}

/* Three-line opening statement, scaled to fit narrow and short viewports. */
html .intro-stage h1.intro-statement{font-size:clamp(24px,5.9vw,104px);line-height:1.08;letter-spacing:-.055em}
html .intro-stage h1.intro-statement em{display:inline}
@media(max-width:800px){html .intro-stage h1.intro-statement{font-size:clamp(19px,5.65vw,46px);line-height:1.2;letter-spacing:-.045em}}
@media(orientation:landscape) and (max-height:600px){html .intro-stage h1.intro-statement{font-size:min(5.65vw,10svh);margin-block:16px}}
