:root{--ink:#101115;--paper:#faf9f6;--blue:#2446c0;--light:#a9baff;--shade:#efeee9}
*{box-sizing:border-box}
body,figure,dl,dd,p,h1,h2{margin:0}
body{font-family:Arial,sans-serif;background:var(--paper);color:var(--ink)}
html{scroll-padding-top:4.5rem}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.wrap{width:min(88%,70rem);margin-inline:auto}
.bar{position:sticky;top:0;z-index:2;background:var(--blue);color:white}
nav{width:min(90%,74rem);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.6rem}
nav div{display:flex;gap:clamp(.6rem,4vw,2.8rem)}
nav a,.label,dt,footer{letter-spacing:.14em;text-transform:uppercase}
nav a{font-size:clamp(.6rem,2.75vw,.9rem)}
nav .mark{font-weight:800;white-space:nowrap}
.hero{padding-block:3.15rem 3rem}
.label{color:var(--blue);font-size:clamp(.74rem,3.25vw,.95rem);font-weight:800;letter-spacing:.19em}
.kicker{display:flex;align-items:center;gap:.8rem}
.kicker::before{content:"";width:9%;height:2px;background:currentColor;flex-shrink:0}
h1,h2,.stats dd{font-family:Impact,"Arial Narrow",Haettenschweiler,sans-serif;font-weight:900;line-height:.91;letter-spacing:-.025em;text-transform:uppercase}
h1{font-size:clamp(3.4rem,15vw,9rem);margin-block:2.05rem 1.6rem}
h2{font-size:clamp(2.7rem,11vw,6.7rem);margin-block:1.4rem}
h1 span,h2 span,.intro span{color:var(--blue)}
.intro{font:italic clamp(1.3rem,5.25vw,2rem)/1.3 Georgia,serif;max-width:43rem}
.highlights{display:grid;gap:1.8rem;margin-block:3.8rem 2.8rem}
dt{color:#626264;font-size:.72rem;font-weight:700;line-height:1.55}
.highlights dd{font-size:clamp(1.15rem,4.8vw,1.5rem);font-weight:750;margin-top:.6rem}
.buttons,.socials{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;border:1.5px solid;border-radius:99px;min-height:3.45rem;padding:.75rem clamp(.8rem,6vw,2rem);font-weight:750}
.pill:hover{background:var(--shade)}
.primary{background:var(--blue);color:white;border-color:var(--blue)}
.primary:hover{background:#193598}
.socials{margin-top:1rem}
.socials a{width:2.45rem;height:2.45rem;display:grid;place-items:center;border:1.5px solid;border-radius:50%}
.socials svg{width:1.22rem;height:1.22rem}
.portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 8%}
.stats,.contact{background:var(--ink);color:var(--paper)}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.35rem,2vw,1.6rem);padding-block:2rem 2.2rem}
.stats dd{font-size:clamp(1.15rem,6.4vw,5.2rem);white-space:nowrap;margin-bottom:.85rem}
.stats dt{color:#b3b3b9;font-size:clamp(.54rem,2.25vw,.72rem);letter-spacing:.08em}
.stats span,.contact h2 span,.contact .label{color:var(--light)}
.section{padding-block:4.65rem}
.clients{list-style:none;margin:2.4rem 0 0;padding:1rem 0 0;border-top:1px solid;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.clients li{display:grid;align-content:start;gap:.65rem;font-size:clamp(.82rem,3.4vw,1rem);font-weight:800}
.clients small{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin-top:.2rem}
.client-logo{display:grid;place-items:center;min-width:0;height:clamp(5rem,21vw,8rem);padding:.8rem;background:white;border:1px solid #deddd8}
.client-logo img{display:block;width:100%;height:100%;min-height:0;max-width:12rem;object-fit:contain}
.client-logo-dark{background:var(--ink);border-color:var(--ink)}
.client-logo-pair{grid-template-rows:1fr 1fr;gap:.5rem}
.email-address{display:block;width:fit-content;margin-top:1rem;text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.work{background:var(--shade)}
.clips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.clip{min-width:0}
.clip video,.clip-media{width:100%;aspect-ratio:9/16;background:#191d2d;color:white}
.clip-media{display:grid;place-items:center;text-align:center;padding:.8rem;font-size:.82rem}
.clip-media[href]{background:var(--blue);text-decoration:underline}
.clip h3{font-size:.92rem;margin:.65rem 0}
.contact-actions{margin-top:1.5rem}
.contact-secondary:hover{background:var(--paper);color:var(--ink)}
footer{padding-block:1.25rem;font-size:.7rem}
@media(min-width:760px){
.portrait img{width:min(100%,790px);height:auto;aspect-ratio:auto;margin-inline:auto}
.hero{padding-block:5rem 4rem}
.highlights{grid-template-columns:repeat(3,max-content);gap:3rem}
.clips,.clients{grid-template-columns:repeat(4,minmax(0,1fr))}
.section{padding-block:5.5rem}
}
