:root{--paper:#f2f0e9;--ink:#20221c;--olive:#626a43;--line:#c9c9bd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--olive);outline-offset:6px}img{display:block;width:100%;height:auto}p,h1,h2,h3,figure{margin:0}button{cursor:pointer}::selection{background:var(--olive);color:var(--paper)}.skip{position:fixed;top:8px;left:8px;padding:10px;background:var(--ink);color:white;z-index:20;transform:translateY(-150%)}.skip:focus{transform:none}.header{margin:0 3.3%;height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:37px;font-weight:700;letter-spacing:-4px;line-height:1}.wordmark span{font-size:10px;letter-spacing:0;vertical-align:top;margin-left:6px}.header nav{display:flex;gap:38px;font-size:14px}.header nav a:hover,.arrow-link:hover{color:var(--olive)}.hero{padding:38px 3.3% 0}.hero-top{display:flex;justify-content:space-between;font-size:12px;line-height:1.45}.hero-index{text-align:right}h1{font-size:clamp(90px,16.5vw,260px);font-weight:500;line-height:.82;letter-spacing:-.085em;margin:66px 0 66px -0.012em}h1>span:first-of-type{padding-left:15.5%}.name-period{color:var(--olive)}.hero-statement{display:grid;grid-template-columns:1fr 1fr;gap:16px 40px;margin:0 0 56px 25%}.hero-statement h2{font-size:clamp(28px,3vw,48px);line-height:1.1;font-weight:400;letter-spacing:-.045em}.hero-statement p{max-width:330px;font-size:17px}.arrow-link{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;font-size:14px;border-bottom:1px solid var(--ink);padding:10px 0;width:fit-content}.hero-statement .arrow-link{grid-column:2}.arrow-link span{font-size:22px;line-height:1}.hero-image img{aspect-ratio:1.8;object-fit:cover}.hero-image figcaption{display:flex;justify-content:space-between;font-size:11px;margin-top:12px}.section{margin:120px 3.3% 0;padding-top:26px;border-top:1px solid var(--ink)}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:start}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.section h2{font-size:clamp(38px,5.2vw,80px);font-weight:400;line-height:1.02;letter-spacing:-.055em}.section-heading>p:last-child{font-size:14px;max-width:270px;padding-top:5px}.work-toolbar{display:flex;justify-content:space-between;align-items:center;margin:60px 0 24px;font-size:12px}.filters{display:flex;gap:8px}.filters button{border:1px solid var(--line);border-radius:30px;padding:7px 18px;background:transparent;font-size:12px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filters button:hover{border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 28px;align-items:start}.project:nth-child(4n+2){padding-top:100px}.project:nth-child(4n+3){width:84%}.project-link{display:block;width:100%;padding:0;text-align:left;background:none;border:0}.project-image{overflow:hidden;background:#deded2}.project-image img{aspect-ratio:1.3;object-fit:cover;transition:transform .55s}.project-link:hover img{transform:scale(1.025)}.project-info{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:16px;padding-top:11px}.project h3{font-size:22px;font-weight:400;line-height:1.2;letter-spacing:-.025em}.project-info p{font-size:11px;margin-top:6px}.project-arrow{font-size:25px}.profile{display:grid;grid-template-columns:1fr 1fr;gap:60px}.profile h2{margin-top:45px}.profile-copy{padding-top:55px;max-width:590px}.large-copy{font-size:clamp(22px,2.4vw,36px);line-height:1.25;letter-spacing:-.025em;margin-bottom:26px}.profile-copy>p:not(.large-copy){font-size:15px;max-width:460px}.expertise{list-style:none;padding:0;margin:45px 0 25px}.expertise li{border-top:1px solid var(--line);padding:13px 0;font-size:14px}.expertise li:last-child{border-bottom:1px solid var(--line)}.expertise span{font-size:10px;margin-right:35px;color:var(--olive)}.availability{margin-top:32px;color:var(--olive);font-size:12px!important}.contact{padding-bottom:70px}.contact h2{font-size:clamp(43px,7.5vw,116px);margin:45px 0 55px;max-width:1300px}.contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:start}.contact-bottom p{font-size:16px}.contact-bottom p span{display:block;max-width:440px;font-size:13px;margin-top:14px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.contact-actions .primary-contact{font-size:20px}.contact-pending{font-size:12px!important;color:#686b5d}footer{border-top:1px solid var(--line);margin:0 3.3%;padding:24px 0 32px;display:flex;justify-content:space-between;gap:24px;font-size:11px}footer a span{margin-left:20px}footer p{max-width:55%;text-align:right}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:calc(100% - 48px);max-width:1440px;max-height:calc(100dvh - 40px);overscroll-behavior:contain}dialog::backdrop{background:rgb(20 22 17 / 75%)}.dialog-bar{position:sticky;top:0;background:var(--paper);z-index:1;display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid var(--line);font-size:11px}.close-case{border:0;background:none;font-size:13px;padding:5px}.close-case span{font-size:23px;margin-left:20px}.case-head{padding:48px 5%}.case-kicker{font-size:12px;color:var(--olive);margin-bottom:15px}.case-head h2{font-size:clamp(40px,7vw,100px);line-height:1;letter-spacing:-.055em;font-weight:400}.case-summary{font-size:clamp(19px,2.2vw,28px);line-height:1.35;max-width:780px;margin-top:26px}.case-story{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;padding:0 5% 50px}.case-story h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.case-story p,.case-story li{font-size:14px}.case-story ul{padding-left:17px;margin:0}.case-gallery{padding:0 2%}.case-gallery figure{margin-bottom:32px}.case-gallery img{max-height:85vh;object-fit:contain;background:#e8e6de}.case-gallery figcaption{font-size:11px;margin:10px 0}.case-credits{padding:10px 5% 40px;font-size:11px;color:#686b5d}.loading{font-size:14px}body.dialog-open{overflow:hidden}@media(min-width:1700px){body{max-width:1800px;margin:auto}}@media(max-width:800px){.header{height:85px}.header nav{gap:22px;font-size:12px}.hero{padding-top:28px}.hero-top{font-size:10px}h1{margin:50px 0;font-size:17vw}.hero-statement{margin-left:15%;grid-template-columns:1fr 1fr;gap:20px}.hero-statement p{font-size:14px}.hero-image img{aspect-ratio:1.4}.section{margin-top:85px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.section-heading h2{font-size:48px}.project-grid{gap:45px 20px}.project:nth-child(4n+2){padding-top:65px}.project h3{font-size:20px}.profile{gap:30px}.profile h2{font-size:42px}.contact-bottom{display:grid;grid-template-columns:1fr 1fr}.case-story{grid-template-columns:1fr;gap:24px}}@media(max-width:520px){.header,.section,footer{margin-left:6%;margin-right:6%}.hero{padding-left:6%;padding-right:6%}.wordmark{font-size:31px}.header nav{gap:17px}.hero-index{max-width:140px}.hero-top{gap:15px}h1{font-size:17vw;letter-spacing:-.08em;margin:46px 0 40px}h1>span:first-of-type{padding-left:7%}.hero-statement{margin-left:0;grid-template-columns:1fr;gap:20px;margin-bottom:35px}.hero-statement h2{font-size:35px}.hero-statement p{max-width:290px}.hero-statement .arrow-link{grid-column:auto;margin-top:4px}.hero-image img{aspect-ratio:1.05}.hero-image figcaption{font-size:9px;gap:20px}.hero-image figcaption>span:last-child{display:none}.section{margin-top:70px;padding-top:22px}.section-heading{grid-template-columns:1fr;gap:25px}.section-heading>p:last-child{grid-column:auto;max-width:300px}.section-heading h2{font-size:48px}.work-toolbar{margin-top:35px;gap:12px;align-items:start}.work-toolbar>p{max-width:80px;font-size:10px}.filters{gap:5px}.filters button{font-size:11px;padding:6px 12px}.project-grid{grid-template-columns:1fr;gap:38px}.project:nth-child(n){width:100%;padding-top:0}.project-info{margin-top:12px}.profile{grid-template-columns:1fr;gap:0}.profile h2{margin-top:28px;font-size:45px}.profile-copy{padding-top:30px}.large-copy{font-size:25px}.expertise{margin-top:30px}.contact h2{font-size:43px;margin:30px 0}.contact-bottom{grid-template-columns:1fr;gap:30px}.contact{padding-bottom:45px}footer{font-size:9px}dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.dialog-bar{padding:12px 18px}.case-head{padding-top:32px}.case-story{padding-bottom:30px}.case-gallery{padding:0 3%}.case-gallery figure{margin-bottom:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Professional profile: a compact screen and print companion to the portfolio. */
.professional-profile{max-width:1100px;margin:auto}.profile-navigation{display:flex;justify-content:space-between;gap:20px;margin:0 6%;padding:25px 0;border-bottom:1px solid var(--line);font-size:12px}.profile-navigation button{border:0;background:none;padding:0}.profile-document{padding:44px 6% 0}.professional-heading h1{font-size:clamp(48px,7vw,84px);letter-spacing:-.065em;line-height:1;margin:25px 0 20px}.professional-role{font-size:clamp(25px,3vw,36px);line-height:1.15;letter-spacing:-.035em}.professional-intro{font-size:17px;max-width:760px;margin-top:28px}.professional-intent{border-left:2px solid var(--olive);padding-left:17px;margin-top:26px;max-width:760px;font-size:14px}.professional-intent strong{font-weight:500}.professional-intent p{font-size:12px;margin-top:5px;color:#5b5f50}#professional-contact{display:flex;gap:24px;flex-wrap:wrap;font-size:13px;margin-top:22px}#professional-contact:empty{display:none}#professional-contact a{text-decoration:underline;text-underline-offset:3px}.professional-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:44px;border-top:1px solid var(--ink);padding-top:23px}.professional-columns h2{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px;font-weight:400}.professional-capabilities{list-style:none;padding:0;margin:0}.professional-capabilities li{margin-bottom:20px}.professional-capabilities h3,.professional-case h3{font-size:18px;font-weight:400;letter-spacing:-.02em;margin-bottom:5px}.professional-capabilities p,.professional-case p{font-size:12px;line-height:1.55}.professional-case{border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:17px}.professional-case h3{display:flex;justify-content:space-between}.professional-case-detail{font-size:10px!important;color:var(--olive);margin-top:8px}.professional-portfolio{font-size:12px;padding-top:0}.professional-footer{display:block;margin:35px 0 0;padding:18px 0 28px}.professional-footer p{max-width:100%;text-align:left;font-size:9px;line-height:1.5;color:#686b5d}@media(max-width:600px){.profile-document{padding-top:30px}.professional-heading h1{font-size:48px}.professional-intro{font-size:15px}.professional-columns{grid-template-columns:1fr;gap:25px;margin-top:32px}.professional-case p,.professional-capabilities p{font-size:13px}.professional-footer{margin-top:30px}.profile-navigation{font-size:11px}}@media print{@page{size:A4;margin:17mm}html,body.professional-profile{background:#fff;color:#20221c;font-size:10pt;max-width:none}.profile-navigation{display:none}.profile-document{padding:0}.professional-heading h1{font-size:42pt;margin:17pt 0 12pt}.professional-role{font-size:21pt}.professional-intro{font-size:11pt;line-height:1.45;max-width:none;margin-top:18pt}.professional-intent{margin-top:16pt;font-size:10pt}.professional-intent p{font-size:9pt}#professional-contact{font-size:9pt;margin-top:12pt}.professional-columns{grid-template-columns:1fr 1fr;gap:25pt;margin-top:23pt;padding-top:15pt}.professional-columns h2{font-size:8pt;margin-bottom:15pt}.professional-capabilities li{margin-bottom:13pt}.professional-capabilities h3,.professional-case h3{font-size:12pt}.professional-capabilities p,.professional-case p{font-size:9pt;line-height:1.45}.professional-case{padding-bottom:11pt;margin-bottom:11pt;break-inside:avoid}.professional-case-detail{font-size:8pt!important}.professional-capabilities li,.professional-intent{break-inside:avoid}.professional-portfolio{font-size:9pt}.professional-footer{margin-top:20pt;padding-bottom:0}.professional-footer p{font-size:7pt}a{color:inherit}a:after{content:none!important}button{display:none}}

.hero-diptych{display:grid;grid-template-columns:1fr 1.3fr;align-items:stretch;background:#d9ddd0}.hero-diptych img{aspect-ratio:1.12;height:100%;object-fit:cover}.hero-diptych img:first-child{object-fit:contain;background:#b3c500}@media(max-width:520px){.hero-diptych{grid-template-columns:1fr 1fr}.hero-diptych img{aspect-ratio:.9}}
/* Brand direction and the complementary project archive. */
.hero-statement h2{max-width:480px}.project-text{aspect-ratio:1.3;background:#e6e5da;border-top:1px solid var(--olive);display:flex;flex-direction:column;justify-content:space-between;padding:8%;gap:22px}.text-case-label{text-transform:uppercase;letter-spacing:.09em;font-size:10px;color:var(--olive)}.project-text>p{font-size:clamp(21px,2.8vw,39px);line-height:1.18;letter-spacing:-.035em;max-width:520px}.text-case-action{font-size:12px;display:flex;justify-content:space-between;align-items:center}.text-case-action span{font-size:24px}.project-link:hover .project-text{background:#dedfcf}.project-archive{margin-top:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-archive summary{cursor:pointer;list-style-position:inside;padding:24px 0;font-size:16px}.project-archive summary:focus-visible{outline:2px solid var(--olive);outline-offset:4px}.project-archive summary span{font-size:11px;margin-left:12px;color:var(--olive)}.archive-intro{font-size:13px;max-width:480px;margin:0 0 30px}.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 22px;padding-bottom:35px}.archive-grid .project:nth-child(n){padding:0;width:100%}.archive-grid .project h3{font-size:18px}.archive-grid .project-image img{aspect-ratio:1.45}.approach-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:55px 0 0;padding:0;list-style:none}.approach-steps>li{border-top:1px solid var(--line);padding-top:16px}.approach-steps>li>span{font-size:11px;color:var(--olive)}.approach-steps h3{font-weight:400;font-size:21px;line-height:1.15;letter-spacing:-.025em;margin:24px 0 14px}.approach-steps p{font-size:13px;max-width:260px}.case-story{grid-template-columns:repeat(2,minmax(0,1fr))}.case-story-text{max-width:1100px;padding-top:12px;padding-bottom:65px;gap:36px 65px}.case-story-text section p{font-size:16px;line-height:1.65}.case-story-text section li{font-size:15px;line-height:1.65}@media(max-width:800px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approach-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.project-text>p{font-size:25px}}@media(max-width:520px){.hero-statement h2{font-size:34px}.project-text{min-height:300px;aspect-ratio:auto;padding:25px}.project-text>p{font-size:29px}.archive-grid{grid-template-columns:1fr;gap:28px}.project-archive{margin-top:40px}.project-archive summary{font-size:14px}.approach-steps{grid-template-columns:1fr;margin-top:30px;gap:24px}.approach-steps h3{margin:12px 0 10px}.approach-steps p{max-width:none}.case-story{grid-template-columns:1fr}.case-story-text{gap:24px;padding-bottom:35px}.case-story-text section p{font-size:15px}}
/* Visual covers lead each project; case narratives live on their own pages. */
.hero-image>a{display:block}.hero-image>a img{aspect-ratio:1.9;object-fit:cover}.project-image img{aspect-ratio:1.36;object-position:center}.project-image--identity{background:#ebe8df;padding:12%}.project-image--identity img{object-fit:contain}.archive-grid .project-image img{aspect-ratio:1.45}.project-archive[open]{padding-bottom:4px}.project-archive summary{font-size:18px}.project-archive summary::marker{color:var(--olive)}.project-link:hover .project-info h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}@media(max-width:520px){.header nav{gap:13px;font-size:11px}.hero-image>a img{aspect-ratio:1.28}.project-image img{aspect-ratio:1.25}.project-archive summary{font-size:16px}}
.project-image img[src$="simba-slide-2.webp"],.project-image img[src$="realrustic-hero.webp"]{object-position:left center}
