:root{--paper:#f5eee2;--paper-2:#efe4d2;--sand:#e7d9c1;--tan:#2c6b61;--tan-2:#1e544b;--ink:#16312a;--ink-2:#51535b;--ink-3:#888a93;--clay:#2e8174;--clay-d:#235f55;--line:#26262a26;--line-soft:#26262a14;--serif:"Newsreader", Georgia, "Times New Roman", serif;--sans:"Hanken Grotesk", system-ui, -apple-system, sans-serif;--mono:"Spline Sans Mono", ui-monospace, "SFMono-Regular", monospace;--container:1240px;--gutter:clamp(20px, 5vw, 80px);--sec-pad:clamp(72px, 12vh, 168px)}html.portfolio,html.portfolio body{background:var(--paper);color:var(--ink)}html.portfolio{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html.portfolio{scroll-behavior:auto}}.portfolio{font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:var(--paper);color:var(--ink);font-size:18px;font-weight:400;line-height:1.65;overflow-x:hidden}.portfolio *{box-sizing:border-box}.portfolio img{max-width:100%;display:block}.portfolio a{color:inherit;text-decoration:none}.portfolio ::selection{background:var(--clay);color:var(--paper)}.portfolio .container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin:0 auto}.portfolio .section{padding-block:var(--sec-pad);position:relative}.portfolio .eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--clay-d);align-items:center;gap:.7em;font-size:.72rem;font-weight:500;display:inline-flex}.portfolio .eyebrow:before{content:"";background:var(--clay);width:26px;height:1px;display:inline-block}.portfolio .serif-italic{font-style:italic}.portfolio h2.section-title{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(2.1rem,4.4vw,3.5rem);font-weight:430;line-height:1.04}.portfolio .lead{color:var(--ink-2);font-size:clamp(1.18rem,1.9vw,1.5rem);font-weight:400;line-height:1.55}.portfolio p{color:var(--ink-2)}.portfolio .measure{max-width:56ch}.portfolio .btn{font-family:var(--sans);letter-spacing:.01em;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:100px;align-items:center;gap:.6em;padding:.92em 1.5em;font-size:.98rem;font-weight:600;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .3s,color .3s,border-color .3s;display:inline-flex}.portfolio .btn .arr{transition:transform .35s cubic-bezier(.2,.7,.2,1)}.portfolio .btn:hover .arr{transform:translate(4px)}.portfolio .btn-primary{background:var(--clay);color:var(--paper)}.portfolio .btn-primary:hover{background:var(--clay-d);transform:translateY(-2px)}.portfolio .btn-outline{border-color:var(--line);color:var(--ink)}.portfolio .btn-outline:hover{border-color:var(--ink);transform:translateY(-2px)}.portfolio .text-link{color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:.5em;padding-bottom:2px;font-weight:600;transition:border-color .3s,gap .3s;display:inline-flex}.portfolio .text-link:hover{border-color:var(--clay);gap:.75em}.portfolio .text-link .arr{color:var(--clay)}.portfolio .hero-actions .text-link{white-space:nowrap}.portfolio .reveal{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(26px)}.portfolio .reveal.in{opacity:1;transform:none}.portfolio .reveal[data-d="1"]{transition-delay:80ms}.portfolio .reveal[data-d="2"]{transition-delay:.16s}.portfolio .reveal[data-d="3"]{transition-delay:.24s}@media(prefers-reduced-motion:reduce){.portfolio .reveal{opacity:1!important;transform:none!important}}.portfolio .nav{z-index:50;padding:18px var(--gutter);justify-content:space-between;align-items:center;transition:background .4s,box-shadow .4s,padding .4s;display:flex;position:fixed;inset:0 0 auto}.portfolio .nav.scrolled{background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);box-shadow:0 1px 0 var(--line-soft);padding-block:13px}.portfolio .brand{font-family:var(--serif);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:.7em;font-size:1.1rem;display:flex}.portfolio .brand .leaf-mark{width:24px;height:24px;color:var(--clay);flex:none}.portfolio .nav-links{align-items:center;gap:clamp(18px,2.4vw,38px);display:flex}.portfolio .nav-links a.nl{color:var(--ink-2);font-size:.95rem;font-weight:500;transition:color .3s;position:relative}.portfolio .nav-links a.nl:after{content:"";background:var(--clay);width:0;height:1.5px;transition:width .35s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-6px;left:0}.portfolio .nav-links a.nl:hover{color:var(--ink)}.portfolio .nav-links a.nl:hover:after{width:100%}.portfolio .nav-cta{padding:.62em 1.15em;font-size:.9rem}@media(max-width:860px){.portfolio .nav-links .nl{display:none}}@media(max-width:560px){.portfolio .brand span{display:none}}.portfolio .nav-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;padding:0;display:none}.portfolio .nav-hamburger span{background:var(--ink);border-radius:2px;width:24px;height:2px;transition:transform .35s,opacity .25s,background .3s;display:block}.portfolio .nav-hamburger.open span:first-child{transform:translateY(8px)rotate(45deg)}.portfolio .nav-hamburger.open span:nth-child(2){opacity:0}.portfolio .nav-hamburger.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.portfolio .nav-mobile-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#16312a59;animation:.25s forwards pf-fade-in;position:fixed;inset:0}@keyframes pf-fade-in{0%{opacity:0}to{opacity:1}}.portfolio .nav-mobile-menu{right:var(--gutter);background:var(--paper);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:4px;min-width:220px;padding:14px;animation:.3s cubic-bezier(.2,.7,.2,1) forwards pf-slide-down;display:flex;position:absolute;top:calc(100% + 12px);box-shadow:0 20px 60px -20px #00000040}@keyframes pf-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.portfolio .nav-mobile-menu .nm-link{color:var(--ink-2);border-radius:10px;padding:12px 16px;font-size:1rem;font-weight:500;transition:background .25s,color .25s;display:block}.portfolio .nav-mobile-menu .nm-link:hover{background:color-mix(in srgb,var(--clay) 10%,var(--paper));color:var(--ink)}.portfolio .nav-mobile-cta{justify-content:center;margin-top:6px}@media(max-width:860px){.portfolio .nav-hamburger{display:flex}.portfolio .nav-links{gap:0}}.portfolio .hero{padding-top:clamp(120px,18vh,180px);padding-bottom:clamp(40px,7vh,80px);position:relative;overflow:hidden}.portfolio .hero-foliage{opacity:1;pointer-events:none;z-index:0;background-position:100% 100%;background-repeat:no-repeat;background-size:auto 72%;position:absolute;inset:0}@media(max-width:760px){.portfolio .hero-foliage{opacity:.55;background-size:auto 46%}}.portfolio .hero .container{z-index:1;position:relative}.portfolio .hero-single{max-width:1000px}.portfolio .hero-byline{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:30px;display:flex}.portfolio .hero-avatar{border-radius:50%;flex:none;width:64px;height:64px;display:block;overflow:hidden;box-shadow:0 10px 26px -12px #0006}.portfolio .hero-avatar img{object-fit:cover;object-position:center 12%;width:100%;height:100%;display:block}.portfolio .hero-status{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);background:color-mix(in srgb,var(--clay) 12%,var(--paper));border:1px solid color-mix(in srgb,var(--clay) 30%,transparent);white-space:nowrap;border-radius:100px;align-items:center;gap:.6em;padding:.5em .9em;font-size:.72rem;display:inline-flex}.portfolio .hero-status .dot{background:var(--clay);border-radius:50%;width:8px;height:8px;position:relative}.portfolio .hero-status .dot:after{content:"";border:1px solid var(--clay);opacity:.5;border-radius:50%;animation:2.6s ease-out infinite pf-ping;position:absolute;inset:-5px}@keyframes pf-ping{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.portfolio .hero h1{font-family:var(--serif);letter-spacing:-.025em;margin:0 0 28px;font-size:clamp(2.4rem,5vw,4.4rem);font-weight:400;line-height:1.02}.portfolio .hero h1 em{color:var(--clay-d);font-style:italic}.portfolio .hero-sub{max-width:46ch}.portfolio .hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:34px;display:flex}.portfolio .proof-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px clamp(28px,5vw,64px);margin-top:clamp(48px,7vh,90px);padding-block:22px;display:flex}.portfolio .proof-strip .label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem}.portfolio .proof-strip .names{flex-wrap:wrap;align-items:center;gap:6px clamp(20px,3vw,40px);display:flex}.portfolio .proof-strip .names a{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);white-space:nowrap;opacity:.78;cursor:pointer;font-size:.84rem;font-weight:600;transition:opacity .3s,color .3s}.portfolio .proof-strip .names a:hover{opacity:1;color:var(--clay-d)}.portfolio .impact{background:var(--ink);color:var(--paper)}.portfolio .impact .eyebrow{color:color-mix(in srgb,var(--clay) 75%,var(--paper))}.portfolio .impact .eyebrow:before{background:var(--clay)}.portfolio .impact-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(40px,6vh,72px);display:flex}.portfolio .impact-head h2{color:var(--paper);max-width:18ch}.portfolio .impact-head p{color:color-mix(in srgb,var(--paper) 66%,transparent);max-width:38ch}.portfolio .metrics{background:#f5eee224;border:1px solid #f5eee224;border-radius:18px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.portfolio .metric{background:var(--ink);flex-direction:column;gap:10px;padding:clamp(24px,3vw,40px);display:flex}.portfolio .metric .big{font-family:var(--serif);letter-spacing:-.02em;color:var(--paper);font-size:clamp(2.6rem,5vw,4.4rem);font-weight:400;line-height:.92}.portfolio .metric .big .unit{color:var(--clay)}.portfolio .metric .desc{color:color-mix(in srgb,var(--paper) 60%,transparent);font-size:.96rem;line-height:1.45}.portfolio .metric .src{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--paper) 40%,transparent);margin-top:auto;padding-top:14px;font-size:.62rem}@media(max-width:880px){.portfolio .metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.portfolio .metrics{grid-template-columns:1fr}}.portfolio .about-grid{grid-template-columns:.95fr 1.05fr;align-items:start;gap:clamp(36px,6vw,90px);display:grid}.portfolio .about-photo{position:relative}.portfolio .about-photo .frame{background:linear-gradient(160deg,#e9d8bd,var(--sand));aspect-ratio:4/5;border-radius:18px;position:relative;overflow:hidden}.portfolio .about-photo .frame.photo img{object-fit:cover;object-position:center 18%;width:100%;height:100%;position:absolute;inset:0}.portfolio .about-body h2{margin-bottom:28px}.portfolio .about-body p+p{margin-top:1.1em}.portfolio .about-facts{border-top:1px solid var(--line);flex-wrap:wrap;gap:26px 40px;margin-top:34px;padding-top:30px;display:flex}.portfolio .about-facts .f{flex-direction:column;gap:3px;display:flex}.portfolio .about-facts .f .k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.62rem}.portfolio .about-facts .f .v{color:var(--ink);font-size:1.02rem;font-weight:600}@media(max-width:820px){.portfolio .about-grid{grid-template-columns:1fr}.portfolio .about-photo{max-width:360px}}.portfolio .work-intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(44px,6vh,80px);display:flex}.portfolio .work-intro p{max-width:34ch}.portfolio .case{border-top:1px solid var(--line);padding-block:clamp(40px,6vh,72px)}.portfolio .case-grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(32px,5vw,72px);display:grid}.portfolio .case:nth-child(2n) .case-visual{order:2}.portfolio .case-head{align-items:baseline;gap:16px;margin-bottom:22px;display:flex}.portfolio .case-idx{font-family:var(--mono);letter-spacing:.1em;color:var(--clay-d);font-size:.78rem}.portfolio .case-meta{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem}.portfolio .case h3{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:430;line-height:1.05}.portfolio .case .role{color:var(--ink-2);margin:0 0 24px;font-size:1rem}.portfolio .case .role .role-loc{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:7px;font-size:.72rem;display:inline-block}.portfolio .case .role b{color:var(--ink);font-weight:600}.portfolio .car{flex-direction:column;gap:18px;margin-top:8px;display:flex}.portfolio .car .row{grid-template-columns:96px 1fr;align-items:start;gap:18px;display:grid}.portfolio .car .row .lab{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--clay-d);padding-top:4px;font-size:.64rem}.portfolio .car .row p{color:var(--ink-2);margin:0;font-size:1.02rem;line-height:1.55}.portfolio .car .row p b{color:var(--ink);font-weight:600}.portfolio .case-result-metric{border-top:1px dashed var(--line);flex-wrap:wrap;gap:28px;margin-top:26px;padding-top:24px;display:flex}.portfolio .case-result-metric .m{min-width:84px}.portfolio .case-result-metric .m .n{font-family:var(--serif);color:var(--ink);white-space:nowrap;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1}.portfolio .case-result-metric .m .n .u{color:var(--clay)}.portfolio .case-result-metric .m .c{color:var(--ink-3);margin-top:4px;font-size:.82rem}.portfolio .case-visual{flex-direction:column;display:flex;position:relative}.portfolio .case-img{aspect-ratio:4/3.2;border:1px solid var(--line);background:var(--paper-2);border-radius:16px;position:relative;overflow:hidden}.portfolio .case-img img{object-fit:cover;width:100%;height:100%}@media(max-width:820px){.portfolio .case-grid{grid-template-columns:1fr}.portfolio .case:nth-child(2n) .case-visual{order:0}.portfolio .car .row{grid-template-columns:80px 1fr}}@media(max-width:480px){.portfolio .car .row{grid-template-columns:1fr;gap:4px}}.portfolio .lead-sec{background:#fdf8f2}.portfolio .lead-grid{grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);display:grid}.portfolio .lead-block--divider{border-top:1px solid var(--line);margin-top:clamp(46px,7vh,88px);padding-top:clamp(46px,7vh,88px)}.portfolio .principles{flex-direction:column;gap:6px;margin-top:10px;display:flex}.portfolio .principle{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:18px;padding:24px 0;display:grid}.portfolio .principle:last-child{border-bottom:none}.portfolio .principle .pn{font-family:var(--mono);color:var(--clay-d);padding-top:5px;font-size:.72rem}.portfolio .principle h4{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 6px;font-size:1.35rem;font-weight:430}.portfolio .principle p{margin:0;font-size:.98rem}.portfolio .cap-list{grid-template-columns:1fr 1fr;column-gap:36px;margin-top:26px;padding-left:0;display:grid}.portfolio .cap-list li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 0;font-size:1.02rem;font-weight:500;list-style:none;display:flex}.portfolio .cap-list li:before{content:"";background:var(--clay);border-radius:2px;flex:none;width:7px;height:7px}@media(max-width:820px){.portfolio .lead-grid,.portfolio .cap-list{grid-template-columns:1fr}}.portfolio #references{background:#fdf8f2;position:relative;overflow:hidden}.portfolio #references>.container{z-index:1;position:relative}.portfolio .refs-foliage{filter:saturate(.7)sepia(.2)brightness(1.03);opacity:.5;pointer-events:none;z-index:0;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;transform:scaleX(-1)}.portfolio .refs-foliage:after{content:"";background:#fdf8f28f;position:absolute;inset:0}.portfolio .quotes-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;display:flex}.portfolio .quotes-nav{gap:10px;display:flex}.portfolio .qnav{border:1px solid var(--line);width:48px;height:48px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1.15rem;transition:background .3s,color .3s,border-color .3s,transform .3s;display:flex}.portfolio .qnav:hover{background:var(--clay);color:var(--paper);border-color:var(--clay)}.portfolio .qnav:active{transform:scale(.94)}.portfolio .qnav:disabled{opacity:.32;cursor:default}.portfolio .qnav:disabled:hover{color:var(--ink);border-color:var(--line);background:0 0}.portfolio .quotes-viewport{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);overflow-x:auto}.portfolio .quotes-viewport::-webkit-scrollbar{display:none}.portfolio .quotes-track{gap:14px;display:flex}.portfolio .quote-card{scroll-snap-align:start;border:1px solid var(--line);background:#fdf8f2;border-radius:18px;flex-direction:column;flex:0 0 calc(33.3333% - 9.33333px);gap:20px;padding:30px;display:flex}.portfolio .quote-card .qm{font-family:var(--serif);color:var(--clay);height:24px;font-size:3rem;line-height:.6}.portfolio .quote-card blockquote{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);flex:1;margin:0;font-size:1.28rem;font-weight:400;line-height:1.42}.portfolio .quote-card .qby{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding-top:18px;display:flex}.portfolio .quote-card .qby .qn{color:var(--ink);font-size:.98rem;font-weight:600}.portfolio .quote-card .qby .qt{color:var(--ink-3);font-size:.86rem}@media(max-width:880px){.portfolio .quote-card{flex-basis:calc(50% - 7px)}}@media(max-width:620px){.portfolio .quote-card{flex-basis:86%}}.portfolio .contact{background:var(--ink);color:var(--paper)}.portfolio .contact .eyebrow{color:color-mix(in srgb,var(--clay) 78%,var(--paper))}.portfolio .contact .eyebrow:before{background:var(--clay)}.portfolio .contact h2{font-family:var(--serif);letter-spacing:-.025em;color:var(--paper);max-width:16ch;margin:18px 0 0;font-size:clamp(2.6rem,6vw,5rem);font-weight:400;line-height:1}.portfolio .contact h2 em{color:color-mix(in srgb,var(--clay) 80%,var(--paper));font-style:italic}.portfolio .contact-grid{grid-template-columns:1.2fr .8fr;align-items:end;gap:clamp(40px,6vw,90px);margin-top:clamp(40px,6vh,70px);display:grid}.portfolio .contact-actions{flex-wrap:wrap;gap:16px;margin-top:38px;display:flex}.portfolio .contact .btn-primary{background:var(--clay)}.portfolio .contact .btn-outline{color:var(--paper);border-color:#f5eee24d}.portfolio .contact .btn-outline:hover{border-color:var(--paper)}.portfolio .contact-details{flex-direction:column;gap:2px;display:flex}.portfolio .cd-row{border-top:1px solid #f5eee229;justify-content:space-between;gap:20px;padding:16px 0;display:flex}.portfolio .cd-row:last-child{border-bottom:1px solid #f5eee229}.portfolio .cd-row .k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--paper) 45%,transparent);font-size:.66rem}.portfolio .cd-row a,.portfolio .cd-row .v{color:var(--paper);white-space:nowrap;font-weight:500;transition:color .3s}.portfolio .cd-row a:hover{color:var(--clay)}@media(max-width:820px){.portfolio .contact-grid{grid-template-columns:1fr}}.portfolio .footer{background:var(--ink);color:color-mix(in srgb,var(--paper) 60%,transparent);padding:34px var(--gutter);border-top:1px solid #f5eee21f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.portfolio .footer .fb{font-family:var(--serif);color:var(--paper);font-size:1.1rem}.portfolio .footer .fsmall{font-family:var(--mono);letter-spacing:.08em;font-size:.64rem}.portfolio .footer .fmeta{text-align:right;flex-flow:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.portfolio .footer .fdot{color:color-mix(in srgb,var(--paper) 30%,transparent)}.portfolio .footer .fcredit{color:color-mix(in srgb,var(--paper) 38%,transparent)}@media(max-width:760px){.portfolio .footer .fmeta{text-align:left;align-items:flex-start}}
