html{scroll-behavior:smooth}body{margin:0}button,input,textarea{font:inherit}.folio{--paper: #f4f3ed;--ink: #20211f;--muted: #5e625b;--line: #d3d5cb;--accent: #d8fa72;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}.folio *{box-sizing:border-box}.folio a{color:inherit;text-decoration:none}.folio p,.folio h1,.folio h2,.folio h3{margin:0}.folio h1,.folio h2,.folio h3{font-weight:500}.folio h1{font-size:clamp(3.2rem,7.3vw,7.1rem);line-height:1.03;letter-spacing:-.065em}.folio h2{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.1;letter-spacing:-.045em}.folio h3{font-size:1.55rem;line-height:1.2;letter-spacing:-.035em}.folio ::selection{background:var(--accent);color:var(--ink)}.folio .wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.folio .small-label{font-family:Courier New,monospace;font-size:11px;line-height:1.5;letter-spacing:.065em;text-transform:uppercase;font-weight:600}.folio a:focus-visible{outline:3px solid #486312;outline-offset:6px}.folio a:hover{text-decoration-thickness:1px}.folio section[id]{scroll-margin-top:30px}.site-header{display:flex;justify-content:space-between;align-items:center;min-height:110px;border-bottom:1px solid var(--line)}.folio .wordmark{display:inline-flex;flex-shrink:0;align-items:center;line-height:1}.wordmark img{display:block;width:128px;height:52px}.site-header nav{display:flex;gap:38px;align-items:center;font-size:14px}.site-header nav a{padding:12px 0;display:flex;gap:12px}.site-header nav a[aria-current=page]{box-shadow:0 1px var(--ink)}.site-header nav a:hover,.footer-links a:hover{text-decoration:underline;text-underline-offset:6px}.folio .skip-link{position:absolute;left:20px;top:-100px;background:var(--accent);padding:12px 20px;z-index:100}.folio .skip-link:focus{top:12px}.hero{padding-top:36px;padding-bottom:58px}.hero-kicker{display:flex;justify-content:space-between;align-items:center;margin-bottom:43px}.hero-kicker p{display:flex;align-items:center;gap:10px}.identity-dot{width:7px;height:7px;border-radius:50%;background:#677e32}.folio .hero h1{font-size:clamp(5rem,10vw,10.25rem);line-height:.89;letter-spacing:-.075em;max-width:1110px}.hero-indent{padding-left:14%}.hero-last{display:flex;align-items:center}.accent-period{color:#627c29}.hero-asterisk{font-size:.78em;line-height:1;margin-left:auto;color:#708837;padding-right:8%}.hero-bottom{margin-top:45px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.hero-bottom p{max-width:470px;font-size:17px;color:var(--muted);line-height:1.6}.folio .button{padding:16px 23px;display:inline-flex;gap:45px;justify-content:space-between;align-items:center;font-size:13px;white-space:nowrap;min-height:52px}.folio .button-dark{background:var(--ink);color:var(--paper)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}.folio .button:hover{background:#404837}.button span{font-size:20px}.discipline-strip{border-block:1px solid var(--line)}.discipline-strip .wrap{display:flex;justify-content:space-between;align-items:center;padding-block:22px;gap:20px;font-size:12px}.discipline-strip i{font-style:normal;color:#858b7b}.folio .section{padding-block:86px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:42px}.section-heading .small-label{margin-bottom:19px}.text-link{font-size:13px;display:inline-flex;align-items:center;gap:20px;padding-block:9px;border-bottom:1px solid var(--ink)}.text-link span{font-size:21px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.work-art{height:270px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;border:1px solid transparent;transition:transform .2s ease}.art-top,.art-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;font-family:Courier New,monospace;font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.04em}.art-top span:last-child{text-align:right}.art-bottom span:last-child{white-space:nowrap}.art-title{font-size:clamp(1.7rem,2.6vw,2.7rem);font-weight:600;line-height:1.05;letter-spacing:-.055em;overflow-wrap:anywhere;max-width:100%;z-index:1}.art-symbol{display:block;font-size:72px;font-weight:400;line-height:.9;margin-top:15px}.theme-rhyos .work-art{background:#d7ebc8;color:#233c29}.theme-qpitch .work-art{background:#302c32;color:#eee4d7}.theme-permits .work-art{background:#cddae9;color:#263d59}.theme-karavan .work-art{background:#f0cca3;color:#614022}.theme-housing .work-art{background:#e5e4a8;color:#454c27}.theme-taskpooler .work-art{background:#dfd8ed;color:#483f64}.work-caption{display:flex;justify-content:space-between;gap:15px;margin-top:22px}.work-caption>span{font-size:25px}.folio .work-caption h3{font-size:22px}.work-link:hover .work-caption h3{text-decoration:underline;text-underline-offset:5px}.work-link:hover .work-art{transform:translateY(-4px)}.folio .work-summary{color:var(--muted);font-size:14px;margin-top:11px;line-height:1.7}.work-meta{display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;margin-top:22px;font-size:10px;align-items:center}.stage{border:1px solid #b7bcae;padding:3px 8px;border-radius:2px}.folio .section-note{margin-top:30px;color:var(--muted);font-size:12px}.capabilities-section{background:#e9ebe2;border-block:1px solid var(--line)}.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}.capability-grid article{border-top:1px solid #aeb5a4;padding-top:22px}.capability-grid h3{margin:30px 0 15px}.capability-grid p{font-size:14px;color:var(--muted);line-height:1.8}.capability-grid a{font-size:11px;display:block;margin-top:24px;text-decoration:underline;text-underline-offset:4px}.earlier-section{display:grid;grid-template-columns:1fr 1fr;gap:70px}.earlier-section h2{margin-top:18px}.earlier-section>div>p:last-child{font-size:14px;color:var(--muted);margin-top:20px;max-width:310px}.project-list a{border-bottom:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:15px}.project-list a:first-child{padding-top:0}.project-list h3{margin-top:8px}.project-list a>span{font-size:25px}.project-list a:hover h3{text-decoration:underline;text-underline-offset:5px}.folio .contact-band{background:var(--accent);padding:46px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:70px}.contact-band h2{font-size:clamp(2.6rem,5vw,5.2rem);margin-top:22px}.round-link{display:flex;align-items:center;justify-content:center;width:90px;height:90px;flex-shrink:0;border:1px solid var(--ink);border-radius:50%;font-size:46px}.round-link:hover{background:var(--ink);color:var(--accent)}.site-footer{border-top:1px solid var(--line);padding-block:36px 48px;display:flex;justify-content:space-between;gap:40px}.site-footer p{font-size:12px;color:var(--muted);margin-top:20px}.footer-links{display:flex;flex-direction:column;gap:13px;font-size:13px}.footer-links span{margin-left:12px}.site-footer .footer-note{margin-top:0;text-align:right}.page-intro{padding-block:64px 65px}.page-intro>.small-label{margin-bottom:28px}.page-intro .lead{font-size:clamp(19px,2vw,25px);line-height:1.6;max-width:750px;margin-top:30px;color:var(--muted)}.projects-section{padding-bottom:90px}.all-work{row-gap:65px}.all-work .work-art{height:300px}.detail-intro h1{overflow-wrap:anywhere}.back-link{margin-bottom:45px}.folio .detail-summary{font-size:16px;color:var(--muted);max-width:670px;margin-top:20px}.tag-list{display:flex;flex-wrap:wrap;gap:9px;padding:0;margin:28px 0 0;list-style:none}.tag-list li{border:1px solid var(--line);padding:6px 12px;font-size:12px}.case-layout{display:grid;grid-template-columns:1fr 2.1fr;gap:70px;border-top:1px solid var(--line);padding-top:50px;padding-bottom:70px}.case-index{display:flex;flex-direction:column;gap:14px;font-size:13px;align-items:flex-start}.case-index p{margin-bottom:12px}.case-index a:hover{text-decoration:underline}.case-body section{margin-bottom:50px}.case-body h2{font-size:32px;margin-top:15px;margin-bottom:20px}.case-body p:not(.small-label){font-size:17px;color:var(--muted);line-height:1.8}.deliverables{list-style:none;padding:0;margin:0}.deliverables li{padding:17px 0 17px 25px;border-bottom:1px solid var(--line);position:relative;font-size:16px;color:var(--muted)}.deliverables li:before{content:"↳";position:absolute;left:0;color:var(--ink)}.case-body .status-note{padding:28px;background:#e9ebe2;margin-bottom:0}.status-note .text-link{margin-top:15px}.next-project{border-top:1px solid var(--line);padding-block:30px 70px}.next-project>a{display:flex;justify-content:space-between;gap:20px;font-size:clamp(28px,4vw,48px);letter-spacing:-.04em;line-height:1.2;margin-top:20px}.about-story{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;border-top:1px solid var(--line);padding-block:50px 20px}.about-story p{color:var(--muted);font-size:17px;line-height:1.8;margin-bottom:22px}.contact-email{font-size:clamp(18px,3.3vw,40px);display:block;text-decoration:underline!important;text-underline-offset:8px;letter-spacing:-.035em;margin-block:38px 22px;overflow-wrap:anywhere;width:fit-content}.contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;padding-block:20px 100px}.contact-options article{border-top:1px solid var(--line);padding-top:28px}.contact-options h2{font-size:25px}.contact-options p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:18px}@media (min-width: 1600px){.folio .hero h1{font-size:164px}}@media (max-width: 1000px){.folio .wrap{width:calc(100% - 64px)}.work-grid{gap:22px}.work-art{height:240px;padding:15px}.art-top{font-size:8px}.art-bottom{font-size:8px;flex-wrap:wrap}.art-title{font-size:26px}.work-meta{justify-content:flex-start}.capability-grid{gap:25px}.hero-asterisk{padding-right:0}.folio .section{padding-block:65px}.case-layout,.about-story{gap:40px}.contact-band .small-label{max-width:260px}}@media (max-width: 700px){.folio .wrap{width:calc(100% - 40px)}.site-header{min-height:86px}.wordmark img{width:104px;height:42.25px}.site-header nav{gap:22px;font-size:13px}.site-header nav a{gap:7px}.hero{padding-top:25px;padding-bottom:35px}.hero-edition{display:none}.hero-kicker{margin-bottom:36px}.folio .hero h1{font-size:clamp(67px,15vw,104px)}.hero-indent{padding-left:8%}.hero-asterisk{font-size:.65em}.hero-bottom{flex-direction:column;align-items:flex-start;margin-top:32px;gap:24px}.hero-bottom p{font-size:15px;max-width:430px}.discipline-strip .wrap{display:grid;grid-template-columns:1fr 1fr;font-size:10px;gap:8px 15px;padding-block:18px}.discipline-strip i{display:none}.folio .section{padding-block:48px}.section-heading{align-items:flex-start;gap:22px;flex-direction:column;margin-bottom:30px}.work-grid{grid-template-columns:1fr;gap:35px}.work-art,.all-work .work-art{height:290px;padding:24px}.art-top,.art-bottom{font-size:10px}.art-title{font-size:40px}.art-symbol{font-size:70px}.work-caption{margin-top:17px}.work-meta{justify-content:space-between;margin-top:15px}.capability-grid{grid-template-columns:1fr;gap:34px}.capability-grid h3{margin-top:19px}.capability-grid a{margin-top:16px}.earlier-section{grid-template-columns:1fr;gap:35px}.folio .contact-band{padding:28px 24px;margin-bottom:45px;align-items:flex-end;gap:10px}.contact-band h2{font-size:34px;margin-top:18px}.contact-band .small-label{font-size:9px;max-width:190px}.round-link{width:51px;height:51px;font-size:27px}.site-footer{flex-wrap:wrap;padding-block:28px 35px;gap:32px}.site-footer .footer-note{display:none}.page-intro{padding-block:42px}.folio h1{font-size:clamp(44px,10.5vw,70px)}.page-intro .lead{font-size:19px;margin-top:25px}.projects-section{padding-bottom:48px}.case-layout{grid-template-columns:1fr;gap:35px;padding-block:25px 45px}.case-index{display:grid;grid-template-columns:1fr 1fr;gap:12px}.case-index p{grid-column:1/-1;margin-bottom:0}.case-body h2{font-size:28px}.case-body p:not(.small-label){font-size:16px}.case-body section{margin-bottom:35px}.back-link{margin-bottom:30px}.next-project{padding-bottom:45px}.about-story{grid-template-columns:1fr;gap:25px;padding-top:30px}.contact-options{grid-template-columns:1fr;gap:30px;padding-bottom:55px}.contact-email{font-size:clamp(17px,5vw,30px)}.folio .section-note{line-height:1.7}.contact-email span{white-space:nowrap}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}.folio *{transition:none!important;animation:none!important}}.folio [hidden]{display:none!important}.site-header-bar{position:sticky;top:0;z-index:40;background:var(--paper)}.site-header{position:relative}.header-navigation{display:flex;align-items:center;gap:38px}.folio button:focus-visible{outline:3px solid #89a64b;outline-offset:5px}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#849b43;transform:scaleX(0);transform-origin:left;z-index:60;pointer-events:none}.hero-generative{background:#171b18;color:#f3f3e9;position:relative;overflow:hidden;padding-top:30px;padding-bottom:40px}.hero-generative:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 77% 45%,#bddb7110,transparent 43%)}.hero-generative .wrap{position:relative}.hero-generative .hero-kicker{margin-bottom:24px;color:#c0c8b9}.hero-generative .identity-dot{background:var(--accent);box-shadow:0 0 15px #d8fa7240}.hero-composition{display:grid;grid-template-columns:1fr 1.04fr;gap:20px;align-items:center}.hero-composition>.ambient-art .art-surface{aspect-ratio:auto;height:clamp(340px,34vw,480px)}.contact-intro{position:relative;isolation:isolate;overflow:hidden}.contact-intro .contact-page-art{position:absolute;width:650px;height:650px;right:-130px;top:0;z-index:-1;color:#839266;opacity:.23;transform:rotate(-25deg)}.folio .hero-generative h1{font-size:clamp(65px,7.9vw,119px);line-height:.97;letter-spacing:-.075em}.hero-generative .hero-indent{padding-left:8%}.hero-generative .hero-last{display:block}.hero-generative .accent-period{color:var(--accent)}.hero-generative .hero-aside{font:12px/1.7 Courier New,monospace;color:#a6b39e;margin-top:28px}.hero-generative .hero-bottom{border-top:1px solid #ffffff25;padding-top:28px;margin-top:25px}.hero-generative .hero-bottom p{color:#bfc6b9;font-size:15px;max-width:495px}.hero-generative .button-dark{background:var(--accent);color:#202719;position:relative;overflow:hidden;transition:background .25s,transform .25s}.hero-generative .button-dark:hover{background:#ecffb5;transform:translateY(-3px)}.ambient-art{position:relative;min-width:0;color:#c9ec87;pointer-events:none}.art-surface{position:relative;aspect-ratio:1;min-width:0}.generative-art{display:block;width:100%;height:100%;pointer-events:none}.art-surface>.generative-art,.art-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.art-canvas{opacity:0;transition:opacity .6s}.art-live .art-canvas{opacity:1}.art-live .art-fallback{opacity:0}.art-fallback{transition:opacity .6s}.work-link{display:block;perspective:900px}.work-art{height:315px;transition:transform .45s cubic-bezier(.2,.7,.3,1);transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));isolation:isolate}.work-link:hover .work-art{transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-5px)}.work-art .card-generative{position:absolute;width:115%;height:115%;left:17%;top:-3%;z-index:-1;opacity:.46;transition:transform 1.1s cubic-bezier(.2,.7,.3,1),opacity .7s;transform:rotate(-16deg)}.theme-qpitch .card-generative{color:#ddb893;opacity:.52}.theme-rhyos .card-generative{color:#3c6140}.theme-permits .card-generative{color:#395b79}.work-link:hover .card-generative{transform:rotate(9deg) scale(1.15);opacity:.72}.work-art .art-title{margin-top:auto;margin-bottom:26px;font-size:clamp(27px,2.8vw,42px);max-width:95%;text-shadow:0 1px 14px #ffffff25}.work-art .art-top,.work-art .art-bottom{position:relative;z-index:1}.work-caption>span{transition:transform .3s}.work-link:hover .work-caption>span{transform:translate(3px,-3px)}.play-section{background:#202024;color:#f1eff5;overflow:hidden;border-bottom:1px solid #ffffff10}.play-layout{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:85px;padding-block:70px}.play-copy>.small-label{color:#bbb4c9;margin-bottom:24px}.play-copy h2{font-size:clamp(38px,4.7vw,66px);max-width:470px}.play-copy>p:not(.small-label){font-size:15px;color:#b8b2c4;max-width:390px;margin-top:25px;line-height:1.8}.play-section .ambient-art{color:#d6acef}.contact-band{position:relative;overflow:hidden;isolation:isolate}.contact-generative{position:absolute;width:570px;height:570px;right:-20px;top:50%;opacity:.22;transform:translateY(-50%);z-index:-1;color:#475b1a}.contact-band .round-link{background:#d8fa72a0;transition:background .25s,transform .4s}.contact-band .round-link:hover{transform:rotate(45deg);background:var(--ink)}.reveal-item{transition:opacity .8s ease,translate .8s cubic-bezier(.2,.7,.3,1)}.reveal-pending{opacity:0;translate:0 26px}.is-motion-paused .reveal-pending{opacity:1;translate:none}.is-motion-paused *{animation-play-state:paused!important}.is-motion-paused .work-art,.is-motion-paused .card-generative{transform:none!important;transition:none}.project-art-banner{padding-bottom:60px}.project-art-banner .ambient-art{color:#6e8058;max-width:900px;margin-inline:auto}.project-art-banner .art-surface{aspect-ratio:2.15}.project-art-banner>.small-label{text-align:center;color:var(--muted);padding-top:14px;font-size:9px}.folio section[id]{scroll-margin-top:140px}@media (min-width: 1500px){.hero-generative .art-surface{max-height:530px;aspect-ratio:auto;height:530px}}@media (max-width: 1000px){.header-navigation{gap:24px}.hero-composition{gap:0}.folio .hero-generative h1{font-size:clamp(64px,8.5vw,90px)}.hero-generative .hero-aside{font-size:11px}.work-art{height:290px}.play-layout{gap:45px}}@media (max-width: 700px){.site-header{min-height:86px}.header-navigation{gap:10px}.site-header nav{gap:18px}.hero-generative{padding-top:25px;padding-bottom:32px}.hero-generative .hero-kicker{margin-bottom:25px}.hero-composition{grid-template-columns:1fr}.folio .hero-generative h1{font-size:clamp(64px,15.2vw,103px);line-height:.96}.hero-statement{position:relative;z-index:2}.hero-generative .hero-indent{padding-left:12%}.hero-generative .hero-aside{display:none}.hero-composition>.ambient-art{margin-top:20px}.hero-composition>.ambient-art .art-surface{aspect-ratio:1.08;height:auto}.art-surface{aspect-ratio:1.08}.hero-generative .hero-bottom{padding-top:23px;margin-top:26px;gap:23px}.hero-generative .hero-bottom p{font-size:14px}.hero-generative .hero-bottom .button{width:100%}.work-art,.all-work .work-art{height:320px}.work-art .art-title{font-size:34px}.work-art .card-generative{width:125%;height:125%;left:9%;top:-6%;opacity:.48}.play-layout{grid-template-columns:1fr;gap:30px;padding-block:48px}.play-copy h2{font-size:42px}.play-copy>p:not(.small-label){font-size:14px}.contact-generative{width:380px;height:380px;right:-90px;opacity:.19}.project-art-banner{padding-bottom:38px}.project-art-banner .art-surface{aspect-ratio:1.1}.folio section[id]{scroll-margin-top:102px}}@media (prefers-reduced-motion: reduce){.folio *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1;translate:none}.work-link:hover .work-art,.work-link:hover .card-generative{transform:none}}.ambient-art>.art-surface{width:100%;height:100%}.hero-composition>.ambient-art{margin-inline:-35px}.play-layout>.ambient-art{aspect-ratio:1;margin:-65px -70px -65px -30px}.capabilities-section,.about-intro,.site-footer{position:relative;isolation:isolate;overflow:hidden}.capability-flow{position:absolute;width:850px;height:850px;right:-220px;top:-330px;z-index:-1;color:#78916a;opacity:.19;transform:rotate(-20deg)}.flow-interlude{position:relative;height:200px;overflow:hidden;margin-bottom:-50px}.flow-interlude .ambient-art{position:absolute;width:100%;height:600px;top:-200px;color:#8c9e72;opacity:.42;transform:scaleX(2.8) rotate(-6deg)}.intro-generative{position:absolute;width:640px;height:640px;right:-180px;top:-60px;color:#8b9479;opacity:.2;z-index:-1}.footer-generative{position:absolute;width:420px;height:420px;left:32%;top:-110px;z-index:-1;color:#82946b;opacity:.22}@media (max-width: 700px){.hero-composition>.ambient-art{margin:-5px -24px -10px}.play-layout>.ambient-art{margin:-30px -28px}.capability-flow{right:-480px;top:-220px;opacity:.13}.flow-interlude{height:140px;margin-bottom:-30px}.flow-interlude .ambient-art{top:-235px;transform:scaleX(1.7) rotate(-9deg)}.footer-generative{left:18%;opacity:.14}}
