:root{--paper:#F5F2EA;--ink:#151515;--graphite:#6B6862;--panel:#E9E5DC;--cobalt:#4057D6;--white:#fff;--line:#d7d1c6;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Instrument Sans,system-ui,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(21,21,21,.08)}.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-weight:700;font-size:1.35rem;letter-spacing:-.04em}.brand strong{color:var(--cobalt)}nav{display:flex;gap:24px;font-size:.92rem}nav a:hover{color:var(--cobalt)}.hero{padding:120px 0 108px}.hero-copy{max-width:980px}.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(3.5rem,8vw,7.5rem);line-height:.92;letter-spacing:-.065em;max-width:1100px;margin:18px 0 30px}.hero h1 em{font-family:"Instrument Serif",serif;font-weight:400}.lede{font-size:clamp(1.1rem,2vw,1.5rem);color:var(--graphite);max-width:760px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.actions.compact{margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--ink);font-weight:650;font-size:.92rem;transition:.18s ease}.button.primary{background:var(--ink);color:white}.button.primary:hover{background:var(--cobalt);border-color:var(--cobalt)}.button.secondary:hover{background:white}.button.text{border-color:transparent;padding-inline:8px}.button.text:hover{color:var(--cobalt)}.capability{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0}.section-kicker{font-family:"Instrument Serif",serif;font-size:1.55rem}.cap-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px}.cap-grid h2{font-size:.84rem;letter-spacing:.12em}.cap-grid p{color:var(--graphite);margin-bottom:0}.section{padding:110px 0}.section-head{max-width:780px;margin-bottom:48px}.about h2,.case-body h2,.contact h2,.experience h2,.next-work h2,.section-head h2{font-size:clamp(2.1rem,4vw,4.2rem);line-height:1;letter-spacing:-.045em}.projects{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.project-card{background:var(--white);border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}.project-card.flagship{grid-column:1/-1;display:grid;grid-template-columns:1.1fr .9fr}.project-card.strong{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.project-media{background:#ddd;min-height:280px}.project-media img{width:100%;height:100%;object-fit:cover}.project-content{padding:34px}.project-content h3{font-size:clamp(2rem,3vw,3.5rem);letter-spacing:-.045em;margin-bottom:14px}.project-copy{font-size:1.25rem;max-width:680px}.project-support,.role{color:var(--graphite)}.role{font-size:.86rem;margin-top:24px}.role span{display:block;color:var(--ink);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;margin-bottom:4px}.experience{border-top:1px solid var(--line)}.experience-copy{max-width:830px}.experience-copy>p:not(.eyebrow){font-size:1.16rem;color:var(--graphite)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px}.experience-grid div{background:var(--paper);padding:24px;display:flex;flex-direction:column;gap:8px}.experience-grid strong{font-size:.73rem;letter-spacing:.1em}.experience-grid span{color:var(--graphite)}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--ink);color:white;border-radius:22px;overflow:hidden;margin-top:24px}.proof-strip div{padding:30px;text-align:center;border-right:1px solid rgba(255,255,255,.2)}.proof-strip div:last-child{border:0}.proof-strip b{display:block;font-size:2rem}.proof-strip span{font-size:.82rem;color:#c8c8c8}.books-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:18px;gap:18px}.book img{aspect-ratio:3/4;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.book h3{font-size:1rem;margin:14px 0 6px}.book p{color:var(--graphite);font-size:.88rem}.creative-block{margin-top:100px}.creative-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.creative-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;padding-bottom:24px}.creative-card img{aspect-ratio:16/9;width:100%;object-fit:cover;margin-bottom:20px}.creative-card h3,.creative-card p,.creative-card span{margin-left:22px;margin-right:22px}.creative-card span{font-size:.68rem;letter-spacing:.12em;color:var(--cobalt);font-weight:700}.creative-card h3{margin-top:6px;margin-bottom:6px}.creative-card p{font-size:.9rem;color:var(--graphite);margin-bottom:0}.about{display:grid;grid-template-columns:.72fr 1.28fr;grid-gap:70px;gap:70px;align-items:center;border-top:1px solid var(--line)}.about-image img{aspect-ratio:4/5;object-fit:cover;border-radius:18px}.about-copy p:not(.eyebrow){font-size:1.08rem;color:var(--graphite);max-width:700px}.contact{border-top:1px solid var(--line);padding-bottom:140px}.contact h2{max-width:900px;font-size:clamp(3rem,6vw,6rem)}.contact>p:not(.eyebrow){font-size:1.18rem;max-width:700px;color:var(--graphite)}.site-footer{border-top:1px solid var(--line);padding:28px 0}.footer-wrap{display:flex;justify-content:space-between;color:var(--graphite);font-size:.86rem}.case-hero{padding:100px 0 60px;max-width:980px}.case-hero h1,.not-found h1,.resume-hero h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.94;letter-spacing:-.06em;margin:12px 0 22px}.case-dek,.not-found p,.resume-hero>p{font-size:1.25rem;color:var(--graphite);max-width:760px}.case-proof img{width:100%;border:1px solid var(--line);border-radius:24px}.case-body{max-width:820px;padding:70px 0 120px}.case-body>p{font-size:1.14rem;color:#3f3d39}.case-body h2{margin-top:62px}.proof-note{background:white;border:1px solid var(--line);padding:24px;border-radius:16px;margin-top:40px}.proof-note p{margin:4px 0 0}.ai-proof{background:white;border:1px solid var(--line);border-radius:24px;padding:28px}.flow-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px}.flow-step{border:1px solid var(--line);border-radius:16px;padding:18px}.flow-step>span{display:inline-flex;background:var(--cobalt);color:white;border-radius:999px;padding:4px 10px;font-size:.75rem}.flow-step h3{font-size:1.1rem;margin:28px 0 8px}.flow-step p{font-size:.88rem;color:var(--graphite);margin:0}.flow-support{background:#eff3ff;padding:16px 20px;border-radius:12px;color:#324a8a;margin:16px 0}.proof-strip.dark{margin-top:0}.four-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:26px 0}.four-grid div{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;font-weight:650}.next-work{padding:70px 0 110px;border-top:1px solid var(--line)}.resume-hero{padding:100px 0 60px}.resume{display:grid;grid-template-columns:.7fr 1.3fr;grid-gap:70px;gap:70px;padding-bottom:120px}.resume aside{border-top:1px solid var(--line);padding-top:26px}.resume aside h2{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-top:32px}.resume aside h2:first-child{margin-top:0}.resume aside p{color:var(--graphite)}.timeline>h2{font-size:2rem}.timeline article{display:grid;grid-template-columns:1fr auto;grid-gap:8px 24px;gap:8px 24px;padding:24px 0;border-top:1px solid var(--line)}.timeline article>p{grid-column:1/-1;color:var(--graphite)}.timeline h3{margin:0}.timeline .muted{margin:3px 0 0}.timeline span{font-size:.88rem;color:var(--graphite)}.not-found{padding:140px 0 180px}.ai-native{display:grid;place-items:center;background:#eef2ff}.ai-mini{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;padding:24px;width:100%}.ai-mini b{background:white;border:1px solid var(--line);padding:18px 8px;border-radius:12px;text-align:center;font-size:.7rem}.creative-placeholder{aspect-ratio:16/9;display:grid;place-items:center;background:linear-gradient(135deg,#111,#3a3a3a);color:white;font-size:3rem;font-weight:700;margin-bottom:20px}@media(max-width:900px){nav{gap:14px}.about,.project-card.flagship,.project-card.strong,.projects,.resume{grid-template-columns:1fr}.project-card.flagship,.project-card.strong{display:flex;grid-column:auto}.projects{grid-template-columns:1fr}.books-grid{grid-template-columns:repeat(2,1fr)}.creative-grid,.experience-grid{grid-template-columns:1fr}.flow-grid{grid-template-columns:1fr 1fr}.project-media{min-height:220px}.hero{padding-top:90px}.hero h1{font-size:clamp(3.3rem,14vw,6rem)}}@media(max-width:640px){.shell{width:min(calc(100% - 28px),var(--max))}.nav-wrap{min-height:64px}.brand{font-size:1.15rem}nav a:nth-child(2){display:none}.hero{padding:82px 0 76px}.cap-grid,.creative-grid,.proof-strip{grid-template-columns:1fr}.proof-strip div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.flow-grid{grid-template-columns:1fr}.books-grid{grid-template-columns:1fr 1fr;gap:12px}.book p{font-size:.82rem}.section{padding:78px 0}.project-content{padding:24px}.about{gap:32px}.footer-wrap{flex-direction:column;gap:6px}.actions .button{width:100%}.timeline article{grid-template-columns:1fr}.timeline span{grid-column:1}.case-hero{padding-top:76px}.ai-mini{grid-template-columns:1fr}.ai-mini b{padding:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.skip-link{position:fixed;left:16px;top:12px;z-index:1000;background:var(--ink);color:white;padding:10px 14px;border-radius:8px;transform:translateY(-180%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.support-media{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:40px}.support-media.single-support{grid-template-columns:1fr}.support-media img{width:100%;border-radius:16px;border:1px solid var(--line)}@media(max-width:640px){.support-media{grid-template-columns:1fr}}