:root{--red:#e30613;--ink:#111;--hairline:#ddd;--body-grey:#333;--muted-grey:#555;--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--content-max:80rem}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-size:17px;line-height:1.55}img{max-width:100%;display:block}a{color:var(--ink)}a:hover{color:var(--red)}:focus-visible{outline:2px solid var(--red);outline-offset:2px}.on-red :focus-visible{outline-color:#fff}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hidden{display:none}.hero{background:var(--red);color:#fff;position:relative;overflow:hidden}.hero-nav{z-index:2;border-bottom:1px solid #fff6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px 56px;display:flex;position:relative}.hero-nav .wordmark{font-size:15px;font-weight:700}.hero-nav ul{flex-wrap:wrap;gap:36px;margin:0;padding:0;list-style:none;display:flex}.hero-nav a{color:#fff;letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:500;text-decoration:none}.hero-nav a:hover{color:var(--ink)}.hero-circle{background:var(--ink);z-index:1;border-radius:50%;width:560px;height:560px;position:absolute;bottom:-180px;right:-140px}.hero-body{z-index:2;padding:96px 56px 80px;position:relative}.hero-title{letter-spacing:-.05em;text-transform:uppercase;margin:0;font-size:clamp(3.25rem,11.5vw,10.5rem);font-weight:700;line-height:.88}.hero-badge{background:var(--ink);color:#fff;letter-spacing:.28em;text-transform:uppercase;margin-top:48px;padding:14px 28px;font-size:clamp(.85rem,1.4vw,1.25rem);font-weight:700;display:inline-block}.hero-intro{max-width:44ch;margin:40px 0 0;font-size:20px;line-height:1.5}section{border-top:1px solid var(--ink);padding:48px 56px 64px}.section-label{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.section-label .num{color:var(--red)}.split{grid-template-columns:320px 1fr;gap:48px;display:grid}.services{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.services li{border-bottom:1px solid var(--hairline);align-items:baseline;gap:24px;padding:18px 0;display:flex}.services li:last-child{border-bottom:0}.services .num{color:var(--red);flex:none;width:28px;font-size:13px;font-weight:500}.services .service{letter-spacing:-.01em;font-size:clamp(1.35rem,3.4vw,2.125rem);font-weight:500;line-height:1.25}.clients{grid-template-columns:1fr 1fr;column-gap:48px;margin:0;padding:0;font-size:17px;line-height:1.45;list-style:none;display:grid}.clients li{border-bottom:1px solid var(--hairline);padding:10px 0}.projects{flex-direction:column;margin-top:40px;display:flex}.project{border-top:1px solid var(--ink);grid-template-columns:64px minmax(0,480px) 1fr;align-items:start;gap:48px;padding:32px 0;display:grid}.project .num{color:var(--red);font-size:15px;font-weight:500}.project-media{aspect-ratio:16/9;background:#eee;overflow:hidden}.project-media img{object-fit:cover;width:100%;height:100%}.project h3{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(1.375rem,3vw,1.875rem);font-weight:700;line-height:1.15}.project .blurb p{color:var(--body-grey);max-width:52ch;margin:0;font-size:17px;line-height:1.55}.project-link{letter-spacing:.1em;text-transform:uppercase;color:var(--red);border-bottom:1px solid var(--red);margin-top:16px;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}.project-link:hover{color:var(--ink);border-bottom-color:var(--ink)}.past-grid{grid-template-columns:1fr 1fr;gap:48px;margin-top:24px;display:grid}.past{border-top:1px solid var(--hairline);grid-template-columns:120px 1fr;align-items:start;gap:20px;padding-top:16px;display:grid}.past-media{aspect-ratio:4/3;background:#eee;overflow:hidden}.past-media img{object-fit:cover;width:100%;height:100%}.past h3{letter-spacing:-.01em;margin:0 0 6px;font-size:18px;font-weight:700}.past .blurb p{color:var(--muted-grey);margin:0;font-size:14px;line-height:1.5}.past .project-link{letter-spacing:.08em;margin-top:8px;font-size:12px}.contact{background:var(--red);color:#fff;padding:72px 56px}.contact-grid{grid-template-columns:1fr 1fr;gap:64px;display:grid}.contact h2{letter-spacing:-.04em;text-transform:uppercase;margin:0;font-size:clamp(3rem,8vw,5.5rem);font-weight:700;line-height:.95}.contact-details{max-width:36ch;margin-top:32px;font-size:17px;line-height:1.5}.contact form{flex-direction:column;gap:24px;display:flex}.contact input,.contact textarea{color:#fff;background:0 0;border:2px solid #fff;border-radius:0;width:100%;padding:14px 16px;font-family:inherit;font-size:17px}.contact textarea{resize:vertical}.contact ::placeholder{color:#fff;opacity:.8}.contact input:focus,.contact textarea:focus{background:#ffffff1a;outline:none}.contact button{letter-spacing:.14em;text-transform:uppercase;color:var(--red);cursor:pointer;background:#fff;border:none;border-radius:0;align-self:flex-start;padding:18px 40px;font-family:inherit;font-size:13px;font-weight:700}.contact button:hover{background:var(--ink);color:#fff}footer{background:var(--ink);color:#fff;letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:24px 56px;font-size:13px;display:flex}footer p{margin:0}.hero-nav,.hero-body,section,.contact,footer{padding-inline:max(56px, calc((100% - var(--content-max)) / 2))}@media (width<=64rem){.hero-nav,.hero-body,section,.contact,footer{padding-left:32px;padding-right:32px}.split{grid-template-columns:1fr;gap:24px}.project{grid-template-columns:40px 1fr;gap:20px}.project-media,.project-body{grid-column:2}.past-grid,.contact-grid{grid-template-columns:1fr;gap:40px}}@media (width<=40rem){.hero-nav,.hero-body,section,.contact,footer{padding-left:20px;padding-right:20px}.hero-body{padding-top:64px;padding-bottom:56px}.hero-nav ul{gap:18px}.hero-circle{width:320px;height:320px;bottom:-140px;right:-120px}.hero-badge{letter-spacing:.2em;margin-top:32px;padding:10px 18px}section{padding-top:36px;padding-bottom:44px}.project{grid-template-columns:1fr;gap:16px}.project .num,.project-media,.project-body{grid-column:1}.clients{grid-template-columns:1fr}.past{grid-template-columns:96px 1fr}.contact{padding-top:48px;padding-bottom:56px}}
