:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f4f1ec;--foreground:#11110f;--muted:#595752;--line:#11110f3d;--accent:#a51e18;--max-width:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}.container{width:min(calc(100% - 2rem), var(--max-width));margin-inline:auto}.skip-link{z-index:100;background:var(--foreground);color:#fff;padding:.75rem 1rem;position:fixed;top:0;left:1rem;transform:translateY(-110%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-header{z-index:20;position:relative}.site-header__inner{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:3.1rem;display:flex}.wordmark{letter-spacing:-.035em;font-weight:700}.site-nav{align-items:center;gap:clamp(2.25rem,6vw,5rem);font-size:.9rem;display:flex}.site-nav a{padding-block:.5rem;position:relative}.site-nav a:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.menu-button{cursor:pointer;background:0 0;border:0;width:2.4rem;height:2.4rem;display:none}.menu-button span{background:currentColor;width:1.55rem;height:1px;margin:.42rem auto;display:block}.home-hero{border-bottom:1px solid var(--line);min-height:640px;padding-block:clamp(3.5rem,6vw,5.5rem) 0;overflow:hidden}.home-hero__layout{min-height:inherit;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:clamp(1rem,4vw,4rem);display:grid}.home-hero__copy,.home-hero__portrait{min-width:0}.home-hero__copy{align-self:center;padding-bottom:3rem}.home-hero h1{letter-spacing:-.085em;max-width:6ch;margin:0 0 1.25rem;font-size:clamp(6rem,12vw,10rem);font-weight:500;line-height:.82}.home-hero__role{color:var(--accent);margin:1.25rem 0 1.2rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,2.2vw,1.85rem);font-style:italic;line-height:1.1}.home-hero__portrait{place-self:end;width:min(100%,33rem)}.home-hero__portrait img{object-fit:contain;width:100%;height:auto}.outline-link{border:1px solid var(--accent);min-width:17rem;color:var(--accent);justify-content:space-between;align-items:center;gap:2rem;padding:1.1rem 1.4rem;font-size:.95rem;transition:background .2s,color .2s;display:inline-flex}.outline-link:hover{background:var(--accent);color:#fff}.selected-work{border-bottom:1px solid var(--line);padding-block:1.5rem 3rem}.section-heading{grid-template-columns:auto auto 1fr;align-items:center;gap:1.25rem;margin-bottom:1.25rem;display:grid}.section-heading span{color:var(--accent);font-size:.9rem}.section-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,3rem)}.section-heading i{background:var(--line);height:1px;margin-left:.75rem}.project-grid{gap:1.9rem;display:grid}.selected-work__grid .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card__link{display:block}.project-card__media{background:#dedbd5;overflow:hidden}.project-card__media img{width:100%;height:auto;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project-card__link:hover .project-card__media img{transform:scale(1.015)}.project-card__caption{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding-top:.7rem;display:grid}.project-card__caption:after{background:var(--line);content:"";grid-area:1/2;height:1px}.project-card__caption h3{letter-spacing:-.025em;margin:0;font-size:1.05rem}.project-card__caption span{color:var(--accent);grid-column:3;font-size:1.6rem;font-weight:300}.project-meta{color:var(--muted)}.selected-clients{border-bottom:1px solid var(--line);padding-block:1.5rem clamp(3.5rem,7vw,6.5rem)}.client-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(2.5rem,5vw,4.75rem) clamp(1.25rem,3vw,3rem);margin:0;padding:clamp(1.5rem,3vw,2.75rem) 0 0;list-style:none;display:grid}.client-grid__item{place-items:center;min-width:0;min-height:7rem;display:grid}.client-grid__item--wide{grid-column:span 2}.client-grid__item img{object-fit:contain;width:auto;max-width:8.5rem;max-height:5.5rem}.client-grid__item--wide img{max-width:11rem}.experience-callout{border-bottom:1px solid var(--line);padding-block:clamp(2.75rem,6vw,5rem)}.experience-callout p{max-width:52rem;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,2.8vw,2.35rem);font-style:italic;line-height:1.25}.home-contact{border-bottom:1px solid var(--line);padding-block:1.5rem clamp(3.5rem,7vw,6rem)}.home-contact .contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 2.5rem;padding-top:clamp(1.5rem,3vw,2.75rem)}.home-contact .contact-form label:nth-of-type(3),.home-contact .contact-form label:nth-of-type(4),.home-contact .contact-form .cf-turnstile,.home-contact .contact-form>button,.home-contact .contact-form>.form-status{grid-column:1/-1}.site-footer__inner{justify-content:space-between;align-items:center;min-height:6.5rem;display:flex}.site-footer{font-size:.9rem}.site-footer__social{gap:1.25rem;display:flex}.page-intro{border-bottom:1px solid var(--line);padding-block:clamp(5rem,12vw,10rem) 3rem}.page-intro h1{letter-spacing:-.075em;margin:0;font-size:clamp(4rem,11vw,10rem);font-weight:500;line-height:.85}.page-intro p{max-width:38rem;color:var(--muted);margin:2rem 0 0;font-size:1.15rem;line-height:1.5}.work-page-grid{padding-block:3rem}.reveal{animation:.7s ease-out both reveal-in}@keyframes reveal-in{0%{opacity:0;transform:translateY(1rem)}}.project-page{--case-flow-space:clamp(2.5rem, 5vw, 4rem);padding-block:clamp(3rem,7vw,6.5rem) 4rem}.case-header{gap:.65rem;margin-bottom:1.5rem;display:grid}.case-header h1{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,6.5vw,5.25rem);font-weight:500;line-height:.95}.case-header p{max-width:38rem;color:var(--muted);margin:0;font-size:clamp(1rem,1.35vw,1.15rem);line-height:1.45}.case-meta{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin:0 0 2.25rem;padding-top:1.25rem;display:grid}.case-meta div{gap:.4rem;display:grid}.case-meta dt{color:var(--muted);font-size:.75rem}.case-meta dd{margin:0;font-size:.95rem;line-height:1.35}.case-hero,.media-figure,.media-gallery__item{margin:0}.case-contact{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1.5rem;padding-top:1rem;display:flex}.case-contact p{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-style:italic}.case-contact .outline-link{min-width:15rem}.case-contact--closing{margin-top:var(--case-flow-space)}.case-hero img,.media-figure img,.media-gallery__item img{width:100%;height:auto}.case-story{margin-top:var(--case-flow-space);grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:clamp(3rem,8vw,7rem);display:grid}.case-copy{margin:0}.case-story__side{align-content:start;gap:3rem;display:grid}.case-copy h2,.case-work>h2,.other-work h2{letter-spacing:-.045em;margin:0 0 .6rem;font-size:clamp(1.75rem,3vw,2.5rem)}.case-copy--objective h2{font-weight:400}.case-copy p{color:#2c2b28;margin:0;line-height:1.55}.case-details{gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.case-details li{grid-template-columns:11rem 1fr;gap:1rem;padding-left:1.25rem;line-height:1.5;display:grid;position:relative}.case-details li:before{background:var(--accent);content:"";width:.55rem;height:.55rem;position:absolute;top:.45rem;left:0}.case-details strong{font-size:.95rem}.case-details span{color:var(--muted)}.case-work{margin-top:var(--case-flow-space)}.media-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.media-gallery--stack{grid-template-columns:1fr}.media-gallery__item:nth-child(3n+1){grid-column:1/-1}.media-gallery--pair .media-gallery__item,.media-gallery--portrait-pair-landscape .media-gallery__item{grid-column:auto}.media-gallery--portrait-pair-landscape .media-gallery__item:last-child{grid-column:1/-1}.media-video{width:100%;height:auto;display:block}.media-figure figcaption{color:var(--muted);margin-top:.5rem;font-size:.8rem}.media-embed{aspect-ratio:16/9;position:relative}.media-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.media-poster{color:#fff;cursor:pointer;background:#111;border:0;place-items:center;width:100%;min-height:24rem;display:grid;position:relative;overflow:hidden}.media-poster img{object-fit:cover;opacity:.7}.media-poster span{z-index:1;border:1px solid;padding:.8rem 1.2rem;position:relative}.other-work{border-top:1px solid var(--line);margin-top:4rem;padding-top:1.5rem}.other-work__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.other-work__list a{align-content:start;gap:.65rem;min-width:0;display:grid;overflow:hidden}.other-work__list img{background:#dedbd5;width:100%;height:auto;transition:transform .35s}.other-work__list a:hover img{transform:scale(1.015)}.other-work__list span{font-size:.9rem;line-height:1.25}.about-page{padding-block:clamp(3rem,7vw,6.5rem) 4rem}.about-hero{max-width:none}.about-hero h1{letter-spacing:-.075em;margin:0;font-size:clamp(5rem,12vw,10rem);font-weight:600;line-height:.85}.about-hero>p:first-of-type{max-width:44rem;margin:2rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.7rem);line-height:1.08}.about-hero>span{background:var(--accent);width:3.5rem;height:2px;margin:2.5rem 0 2rem;display:block}.about-hero__profile{grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2.5rem,7vw,7rem);display:grid}.about-portrait{aspect-ratio:.556;margin:0;overflow:hidden}.about-portrait img{width:157%;max-width:none;height:auto;transform:translate(-19%,-14%)}.about-intro{max-width:40rem;margin:0;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.65}.about-section{margin-top:clamp(4rem,8vw,7rem)}.about-section h2{letter-spacing:-.045em;margin:0 0 1.25rem;font-size:clamp(2rem,4vw,3rem)}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.8fr auto;gap:2rem;padding:1rem .25rem;display:grid}.experience-row time{color:var(--accent)}.about-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.5rem,6vw,6rem);display:grid}.plain-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.education-list article{border-bottom:1px solid var(--line);padding:0 0 1.25rem}.education-list time{color:var(--accent);margin-bottom:.35rem;display:block}.education-list h3{margin:0 0 .4rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:400}.education-list p{color:var(--muted);margin:0}.about-tools{align-content:start;gap:3.5rem;display:grid}.conversation-link{background:var(--accent);color:#fff;justify-content:space-between;align-items:center;margin-top:clamp(4rem,8vw,7rem);padding:1.4rem 1.75rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,4vw,3rem);display:flex}.contact-page{padding-block:clamp(3rem,6vw,5rem) 4rem}.contact-hero h1{letter-spacing:-.075em;margin:0;font-size:clamp(4rem,9vw,8rem);font-weight:600;line-height:.9}.contact-hero p{max-width:39rem;margin:1.5rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.15}.contact-hero>span,.contact-layout aside>span{background:var(--accent);width:3.5rem;height:2px;margin:2rem 0;display:block}.contact-layout{grid-template-columns:minmax(0,2fr) minmax(15rem,1fr);gap:clamp(3rem,7vw,6rem);display:grid}.contact-form{gap:1.35rem;display:grid}.contact-form label{gap:.45rem;display:grid}.contact-form label span{color:var(--muted);font-size:.85rem}.contact-form input,.contact-form select,.contact-form textarea{border:0;border-bottom:1px solid var(--foreground);width:100%;font:inherit;background:0 0;border-radius:0;padding:.55rem 0}.contact-form textarea{border:1px solid var(--foreground);resize:vertical;padding:.75rem}.contact-form button{background:var(--accent);color:#fff;cursor:pointer;border:0;justify-content:space-between;padding:1.2rem 1.4rem;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;display:flex}.contact-form button:disabled{opacity:.65;cursor:wait}.contact-honeypot{position:absolute;left:-10000px}.form-status{min-height:1.5rem;color:var(--muted);margin:0}.contact-layout aside{border-left:1px solid var(--line);padding-left:clamp(2rem,4vw,4rem)}.contact-layout aside p{max-width:17rem;line-height:1.5}.contact-layout aside a{color:var(--accent);text-underline-offset:.35rem;text-decoration:underline}@media (max-width:47.99rem){.site-header__inner{min-height:4rem}.menu-button{display:block}.site-nav{border-top:1px solid var(--line);background:var(--background);flex-direction:column;align-items:flex-start;gap:0;padding-block:1rem;display:none;position:absolute;top:4rem;left:1rem;right:1rem}.site-nav[data-open=true]{display:flex}.site-nav a{border-bottom:1px solid var(--line);width:100%;padding:1rem 0;font-size:1.35rem}.home-hero{min-height:23rem;padding-block:2rem 0}.home-hero__layout{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:.2rem}.home-hero__copy{padding-bottom:1.75rem}.home-hero__portrait{align-self:center;width:min(112%,14.5rem);max-width:none}.home-hero h1{margin-bottom:.85rem;font-size:clamp(2.35rem,11.5vw,3.4rem);line-height:.88}.home-hero__role{margin:.9rem 0;font-size:clamp(.72rem,3vw,.9rem);line-height:1.1}.desktop-only{display:none}.outline-link{gap:.6rem;width:100%;min-width:0;padding:.7rem .75rem;font-size:.78rem}.selected-work{padding-top:1.75rem}.section-heading{grid-template-columns:auto 1fr;gap:.8rem}.section-heading h2{font-size:2.15rem}.section-heading i{display:none}.project-grid{gap:1.4rem}.selected-work__grid .project-grid{grid-template-columns:1fr}.selected-clients{padding-bottom:3.5rem}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.25rem;padding-top:1rem}.client-grid__item,.client-grid__item--wide{grid-column:auto;min-height:6rem}.client-grid__item img,.client-grid__item--wide img{max-width:8rem;max-height:5rem}.project-card__caption{gap:.75rem}.project-card__caption h3{font-size:.95rem}.experience-callout p{font-size:1.55rem}.home-contact .contact-form{grid-template-columns:1fr;gap:1.35rem}.home-contact .contact-form>*{grid-column:1}.site-footer__inner{min-height:5rem}.site-footer__social{gap:.8rem}.project-page{--case-flow-space:2rem;padding-top:2.5rem}.case-header{gap:.55rem;margin-bottom:1.25rem}.case-header h1{max-width:9ch;font-size:clamp(2.7rem,13vw,3.6rem);line-height:.92}.case-header p{max-width:28rem}.case-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;margin-bottom:1.25rem}.case-story{margin-top:var(--case-flow-space);grid-template-columns:1fr;gap:1.5rem}.case-story__side{display:contents}.case-copy--objective{grid-row:1}.case-copy--summary{grid-row:2}.case-copy--impact{grid-row:3}.case-story--insight .case-copy--insight{grid-row:2}.case-story--insight .case-copy--concept{grid-row:3}.case-copy h2,.case-work>h2,.other-work h2{font-size:1.55rem}.case-details li{grid-template-columns:1fr;gap:.15rem;padding-left:1.15rem}.case-work{margin-top:var(--case-flow-space)}.case-contact{flex-direction:column;align-items:stretch;gap:.8rem}.case-contact .outline-link{width:100%;min-width:0}.media-gallery{grid-template-columns:1fr;gap:.55rem}.media-gallery__item,.media-gallery__item:nth-child(n){grid-column:1/-1}.media-gallery__item img{object-fit:contain;width:100%;height:auto}.media-poster{min-height:13rem}.other-work{margin-top:2.5rem}.other-work__list{grid-template-columns:1fr}.about-page{padding-top:2.5rem}.about-hero h1{font-size:clamp(4.5rem,24vw,7rem)}.about-hero>p:first-of-type{font-size:2rem}.about-hero__profile{grid-template-columns:1fr;gap:2rem}.experience-row{grid-template-columns:1fr;gap:.35rem}.about-columns{grid-template-columns:1fr;gap:3.5rem}.contact-hero h1{font-size:clamp(3.6rem,17vw,5.5rem)}.contact-layout{grid-template-columns:1fr;gap:2.5rem}.contact-layout aside{border-top:1px solid var(--line);border-left:0;padding:2rem 0 0}}@media (min-width:48rem) and (max-width:69.99rem){.other-work__list{grid-template-columns:repeat(2,minmax(0,1fr))}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-grid__item--wide{grid-column:auto}}@media (min-width:48rem){.container{width:min(calc(100% - 5rem), var(--max-width))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
