:root{--ink: #202b33;--ivory: #f7f4ee;--stone: #d8d1c6;--vermilion: #d9543d;--white: #fffefa;--muted: #505b60;--surface-local: #eeede7;--text-inverse-muted: #e2e5e3;--border-inverse: #526069;--button-hover: #35434b;--focus: var(--ink);--focus-inverse: var(--ivory);--space-2: 8px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--section-space: 88px;--radius-control: 6px;--motion-fast: .18s;--ease-out: cubic-bezier(.22, 1, .36, 1);--display: "Newsreader", Georgia, serif;--body: "Source Sans 3", sans-serif;--content: 1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--ivory);font:400 18px/1.55 var(--body);letter-spacing:0}[hidden]{display:none!important}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-underline-offset:5px}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:5px}.contact a:focus-visible,.site-footer a:focus-visible{outline-color:var(--focus-inverse)}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500;text-wrap:balance}h2{font-size:38px;line-height:1.12}h3{font-size:28px;line-height:1.2}h4{font:600 19px/1.35 var(--body)}p+p{margin-top:18px}.wrap{width:min(var(--content),calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:12px;z-index:20;padding:12px 20px;background:var(--ink);color:var(--ivory);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{background:var(--ivory);border-bottom:1px solid var(--stone);position:relative;z-index:5}.masthead{min-height:98px;display:flex;justify-content:space-between;gap:32px;align-items:center}.brand{display:flex;gap:20px;align-items:center;text-decoration:none}.brand img{width:112px;height:auto;flex:0 0 112px}.brand span{font:500 24px/1.02 var(--display)}.site-nav{display:flex;align-items:center;gap:30px;font-size:17px;font-weight:600}.site-nav>a:not(.button){text-decoration:none;padding-block:12px}.site-nav>a:not(.button):hover{text-decoration:underline}.button{min-height:52px;display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:12px 23px;background:var(--ink);color:var(--ivory);border:1px solid var(--ink);border-radius:var(--radius-control);text-decoration:none;font-size:18px;font-weight:600;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.button:hover{background:var(--button-hover)}.button:active{background:var(--ink)}.button-small{min-height:48px;font-size:17px;padding:10px 20px}.lucide{width:20px;height:20px;flex:0 0 20px;stroke-width:1.6}.menu-toggle{align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--stone);border-radius:var(--radius-control);background:transparent;min-height:48px;padding:8px 14px;font-size:17px;transition:background-color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.menu-toggle:hover,.menu-toggle[aria-expanded=true]{border-color:var(--ink);background:var(--white)}.menu-toggle:active{background:var(--stone)}.text-link:active,.project-link:active .project-link-label,.site-footer a:active{text-decoration-thickness:2px}.button .lucide,.text-link .lucide,.project-link .lucide,.email-link .lucide{transition:transform var(--motion-fast) var(--ease-out)}.hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--stone)}.hero-media{display:contents}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:-2}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f7f4eef0,#f7f4eecc 36%,#f7f4ee24 74%)}.hero-content{padding-block:42px 34px}.eyebrow,.section-label{font-size:16px;line-height:1.45;font-weight:600}.eyebrow{display:flex;gap:12px;align-items:center}.accent-rule{width:28px;height:2px;background:var(--vermilion);flex:0 0 28px}.hero-company{font-size:28px;line-height:1.2;margin-top:20px}.hero-headline{font-size:56px;line-height:1.08;max-width:760px;margin-top:14px}.hero-secondary{font-size:23px;font-weight:600;line-height:1.35;margin-top:22px}.hero-intro{max-width:520px;margin-top:16px;line-height:1.5}.hero-cta{margin-top:24px}.local-line{display:flex;align-items:center;gap:8px;font-size:16px;max-width:580px;margin-top:22px}.local-line .lucide{width:16px;height:16px;flex-basis:16px}.section{padding-block:var(--section-space)}.section-heading{display:grid;grid-template-columns:224px 1fr;column-gap:var(--space-12);align-items:start;margin-bottom:var(--space-12)}.section-label{display:flex;align-items:center;gap:12px;padding-top:5px}.section-label:before{content:"";flex:0 0 20px;height:2px;background:var(--vermilion)}.section-heading h2+p{max-width:590px;margin-top:20px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-left:272px}.service-module{border-top:1px solid var(--stone);padding-top:28px}.service-icon{width:32px;height:32px;margin-bottom:20px}.service-module p{margin-top:18px}.text-link{display:inline-flex;gap:12px;align-items:center;margin-top:22px;font-weight:600;text-decoration-thickness:1px}.supporting{display:grid;grid-template-columns:224px 1fr;column-gap:48px;border-top:1px solid var(--stone);margin-top:48px;padding-top:28px}.supporting h3{font:600 18px/1.5 var(--body)}.supporting ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 32px;font-size:17px}.supporting li{display:flex;gap:10px}.supporting li:before{content:"+";color:var(--vermilion);font-weight:600}.project-list{border-top:1px solid var(--stone)}.project-row{display:grid;grid-template-columns:1.05fr 1.35fr .6fr;align-items:start;gap:40px;padding-block:28px;border-bottom:1px solid var(--stone)}.project-identity{display:flex;align-items:start;gap:20px}.project-identity h3{font-size:24px;line-height:1.2}.project-number{font-size:15px;color:var(--muted);padding-top:2px;font-variant-numeric:tabular-nums}.project-row p{font-size:18px;line-height:1.5}.relationship{font-size:16px;color:var(--muted);text-align:right}.project-link{display:block;min-width:0;text-decoration:none}.project-logo{width:180px;height:84px;object-fit:contain;object-position:left center;margin-bottom:20px}.project-link-label{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:16px;font-weight:600;text-decoration:underline;text-underline-offset:5px}.project-link:hover .project-link-label{text-decoration-thickness:2px}.experience-intro{padding-block:40px 56px;border-bottom:1px solid var(--stone)}.experience-back{margin:0 0 36px;font-size:17px}.experience-intro h1{max-width:900px;margin-top:20px;font-size:48px;line-height:1.1;overflow-wrap:break-word}.experience-lead{max-width:760px;margin-top:24px;font-size:23px;line-height:1.45}.experience-logo{width:240px;height:112px;object-fit:contain;object-position:left center;margin-bottom:28px}.experience-body{display:grid;grid-template-columns:224px minmax(0,1fr);gap:48px}.experience-facts{margin:0;font-size:17px}.experience-facts dt{font-weight:600;padding-top:20px;border-top:1px solid var(--stone)}.experience-facts dd{margin:8px 0 28px;color:var(--muted)}.experience-copy{max-width:min(740px,65ch)}.experience-copy h2{margin-bottom:20px}.experience-copy h2:not(:first-child){margin-top:40px}.experience-scope{margin:0;padding-left:22px}.experience-scope li+li{margin-top:12px}.experience-artwork{margin:0}.experience-artwork img{width:100%;height:auto}.experience-artwork figcaption{padding-block:14px;font-size:16px;color:var(--muted)}.experience-next{border-top:1px solid var(--stone);padding-block:32px}.experience-next .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.experience-next .text-link{margin:0}@media(max-width:700px){.experience-intro{padding-block:28px 40px}.experience-intro h1{font-size:34px}.experience-lead{font-size:21px}.experience-body{grid-template-columns:minmax(0,1fr);gap:28px}.experience-logo{width:200px;height:96px}.experience-back{margin-bottom:28px}}.local-section{background:var(--surface-local);border-block:1px solid var(--stone)}.local-layout,.about-layout,.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:96px}.local-layout h2,.about-layout h2,.contact-layout h2{margin-top:22px}.local-layout>div+div,.about-layout>div+div{padding-top:48px}.about{background:var(--ivory)}.contact{color:var(--ivory);background:var(--ink)}.contact-layout{align-items:center}.contact p:not(.section-label){color:var(--text-inverse-muted)}.contact h2{font-size:42px}.email-link{display:inline-flex;align-items:center;gap:12px;max-width:100%;margin-top:24px;font-size:22px;font-weight:600;overflow-wrap:anywhere;text-decoration-thickness:1px}.site-footer{background:var(--ink);color:var(--ivory);border-top:1px solid var(--border-inverse);padding-block:26px}.footer-layout{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:15px}.footer-layout p+p{margin:0}.footer-layout a{display:inline-flex;align-items:center;gap:8px}.direction-b .hero:after{background:linear-gradient(180deg,#f7f4eeed,#f7f4eee0 62%,#f7f4ee99)}.direction-b .hero-content{text-align:center;padding-block:32px 42px}.direction-b .eyebrow,.direction-b .local-line{justify-content:center}.direction-b .hero-headline,.direction-b .hero-intro,.direction-b .local-line{margin-inline:auto}.direction-b .hero-headline{font-size:52px;max-width:900px}.direction-b .hero-company{margin-top:16px}.direction-b .hero-secondary{margin-top:18px}.direction-b .hero-intro{max-width:670px}.direction-b .hero-secondary br{display:none}.direction-b{--section-space: var(--space-16)}.direction-b .section-heading{grid-template-columns:1fr 1.1fr;column-gap:64px}.direction-b .section-heading .section-label{margin-bottom:20px}.direction-b .section-heading>p{align-self:end;max-width:490px;color:var(--muted)}.direction-b .service-grid{margin:0;grid-template-columns:1fr 1fr;gap:0;border-block:1px solid var(--stone)}.direction-b .service-module{border-top:0;padding:32px 40px 32px 0}.direction-b .service-module+.service-module{border-left:1px solid var(--stone);padding-inline:40px 0}.direction-b .service-module h3{display:flex;gap:16px;align-items:center}.direction-b .service-icon{margin:0;flex:0 0 28px;width:28px;height:28px}.direction-b .supporting{margin-top:0;border:0;grid-template-columns:1fr 2fr}.direction-b .project-list{display:grid;grid-template-columns:1fr 1fr;border-top:0;gap:0 48px}.direction-b .project-row{grid-template-columns:1fr;gap:16px;border-top:1px solid var(--stone);border-bottom:0;padding-block:28px 36px}.direction-b .project-row:first-child{grid-column:1 / -1;grid-template-columns:1fr 1.1fr;column-gap:64px}.direction-b .project-row:first-child .relationship{grid-column:2}.direction-b .project-identity h3{font-size:28px}.direction-b .project-row:first-child h3{font-size:40px}.direction-b .relationship{text-align:left}.direction-b .project-number{font-size:17px;padding-top:4px}.direction-b .project-row>p,.direction-b .project-row>.relationship{margin-left:40px}.direction-b .project-row:first-child>p,.direction-b .project-row:first-child>.relationship{margin-left:0}.direction-b .local-section{background:var(--ink);color:var(--ivory)}.direction-b .about{border-bottom:1px solid var(--stone)}.direction-b .contact{background:var(--ivory);color:var(--ink)}.direction-b .contact p:not(.section-label){color:var(--ink)}.direction-b .contact a:focus-visible{outline-color:var(--focus)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.button:hover .lucide,.project-link:hover .lucide,.email-link:hover .lucide{transform:translate(2px,-2px)}.text-link:hover .lucide{transform:translate(2px)}.text-link:hover .lucide[data-icon=arrow-left]{transform:translate(-2px)}}@media(min-width:1500px){.hero-content{padding-block:52px 40px}}@media(max-width:1000px){.direction-a .hero:after{background:linear-gradient(90deg,#f7f4eef0,#f7f4eecc 65%,#f7f4ee99)}.brand span{display:none}.section-heading{grid-template-columns:160px 1fr;gap:32px}.service-grid{margin-left:192px;gap:32px}.supporting{grid-template-columns:160px 1fr;gap:32px}.project-row{grid-template-columns:1fr 1.3fr;gap:20px 32px}.relationship{grid-column:2;text-align:left}.local-layout,.about-layout,.contact-layout{gap:48px}.email-link{font-size:19px}.footer-layout{flex-wrap:wrap}}@media(max-width:700px){.wrap{width:calc(100% - 48px)}.masthead{min-height:84px;flex-wrap:wrap;gap:0;padding-block:12px}.brand img{width:100px;flex-basis:100px}.brand span{display:block;font-size:20px;margin-left:-4px}.site-nav{width:100%;flex-wrap:wrap;gap:8px 22px;padding-top:12px}.site-header.is-enhanced .site-nav{display:none}.site-header.is-enhanced .menu-toggle{display:inline-flex}.site-header.is-enhanced.menu-open .site-nav{display:flex;padding-block:16px 8px;border-top:1px solid var(--stone);margin-top:12px}.site-nav .button{margin-left:auto}.hero-content{padding-block:28px}.hero:after{background:linear-gradient(90deg,#f7f4eef0,#f7f4eebd 65%,#f7f4ee75)}.direction-b .hero:after{background:linear-gradient(180deg,#f7f4eeed,#f7f4eee0 62%,#f7f4ee99)}.eyebrow{font-size:15px;gap:8px}.accent-rule{flex-basis:16px}.hero-company{font-size:25px;margin-top:16px}.hero-headline,.direction-b .hero-headline{font-size:36px;line-height:1.1;margin-top:12px}.hero-secondary{font-size:20px;margin-top:18px}.hero-intro{margin-top:14px;font-size:17px;line-height:1.45}.hero-cta{margin-top:20px}.local-line{align-items:start;font-size:16px;line-height:1.35;margin-top:18px}.local-line .lucide{margin-top:3px}.section,.direction-b .section{padding-block:56px}h2{font-size:32px;line-height:1.16}.section-heading,.direction-b .section-heading{display:block;margin-bottom:32px}.section-heading .section-label{margin-bottom:20px}.direction-b .section-heading>p{margin-top:20px}.section-heading h2+p{margin-top:18px}.service-grid,.direction-b .service-grid{margin:0;display:block;border:0}.service-module,.direction-b .service-module{padding:24px 0 32px;border-top:1px solid var(--stone)}.direction-b .service-module+.service-module{border-left:0;padding-inline:0}.service-icon{width:28px;height:28px;margin-bottom:18px}.supporting,.direction-b .supporting{display:block;margin-top:0;padding-top:24px;border-top:1px solid var(--stone)}.supporting ul{grid-template-columns:1fr;margin-top:18px;gap:8px}.project-row,.direction-b .project-row,.direction-b .project-row:first-child{display:block;padding-block:24px}.project-row p,.direction-b .project-row>p,.direction-b .project-row:first-child>p{margin:16px 0 0 36px}.project-identity{gap:16px}.project-identity h3,.direction-b .project-identity h3{font-size:25px}.relationship,.direction-b .project-row>.relationship,.direction-b .project-row:first-child>.relationship{display:block;margin:14px 0 0 36px}.direction-b .project-list{display:block}.direction-b .project-row:first-child h3{font-size:30px}.local-layout,.about-layout,.contact-layout{display:block}.local-layout>div+div,.about-layout>div+div{padding-top:24px}.contact-layout>div+div{padding-top:24px}.contact h2{font-size:36px}.email-link{font-size:19px;gap:8px}.footer-layout{display:block;font-size:16px}.footer-layout p+p,.footer-layout a{margin-top:12px}.direction-b .hero-content{padding-block:28px}.direction-b .hero-secondary br{display:initial}}@media(min-width:701px){.menu-toggle{display:none!important}}@media(max-width:380px){.hero-content,.direction-b .hero-content{padding-block:var(--space-4)}.services,.direction-b .services{padding-top:var(--space-8)}.brand{gap:12px}.brand span{font-size:18px}.menu-toggle{padding-inline:10px}.menu-toggle .lucide{display:none}.hero-headline,.direction-b .hero-headline{font-size:32px}.hero-company{font-size:24px}.eyebrow{font-size:14px}.email-link{font-size:17px}}@media(max-height:780px)and (min-width:701px){.hero-content,.direction-b .hero-content{padding-block:24px}.hero-headline,.direction-b .hero-headline{font-size:48px}.hero-company{margin-top:12px}.hero-secondary{margin-top:16px}}@media(max-height:700px)and (max-width:700px){.hero-content,.direction-b .hero-content{padding-block:16px}.services,.direction-b .services{padding-top:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
