:root{--bg:#fff;--paper:#fff;--text:#151515;--muted:#8b8b86;--sidebar:190px;--shell-width:60vw;--shell-left:20vw;--shell-gap:34px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}.site-shell{min-height:100vh;width:var(--shell-width);margin:0 auto;position:relative}.sidebar{z-index:20;top:0;bottom:0;left:var(--shell-left);width:var(--sidebar);background:var(--paper);flex-direction:column;justify-content:space-between;padding:42px 24px 30px 0;display:flex;position:fixed}.brand{flex-direction:column;gap:9px;display:inline-flex}.brand strong{letter-spacing:-.055em;font-size:18px;line-height:.96}.brand span{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:10px}.intro-copy{color:#666;max-width:180px;margin:62px 0 46px;font-size:12px;line-height:1.65}.main-nav{flex-direction:column;align-items:flex-start;gap:15px;display:flex}.main-nav a{padding-bottom:3px;font-size:13px;position:relative}.main-nav a:after{content:"";background:#111;width:0;height:1px;transition:width .25s;position:absolute;bottom:0;left:0}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.sidebar-bottom{color:#999;text-transform:uppercase;letter-spacing:.12em;justify-content:space-between;align-items:center;font-size:9px;display:flex}.social-links{gap:11px;display:flex}.social-links a:hover{color:#111}.mobile-header{display:none}.work-area{width:calc(100% - var(--sidebar) - var(--shell-gap));margin-left:calc(var(--sidebar) + var(--shell-gap));min-width:0;padding:48px 0 72px}.filter-row{justify-content:space-between;align-items:flex-start;gap:24px;min-height:37px;margin-bottom:20px;display:flex}.filter-label{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;padding-top:3px;font-size:10px}.filters{flex-wrap:wrap;justify-content:flex-end;gap:17px;display:flex}.filters button{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;color:#9a9a96;background:0 0;border:0;border-bottom:1px solid #0000;padding:0 0 4px;font-size:10px;transition:all .2s}.filters button:hover,.filters button.active{color:#111;border-color:#111}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:8px;align-items:start;gap:0 22px;display:grid}.project-card{min-width:0;animation:.65s cubic-bezier(.2,.8,.2,1) both cardIn;animation-delay:var(--delay);align-self:start}.project-image-wrap{background:#ddd;width:100%;position:relative;overflow:hidden}.project-image{width:100%;height:auto;transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .5s;display:block}.project-overlay{color:#fff;opacity:0;background:linear-gradient(#0000,#0000000d 45%,#000000ad);justify-content:space-between;align-items:flex-end;gap:20px;padding:22px;transition:opacity .35s;display:flex;position:absolute;inset:0}.project-overlay h2{letter-spacing:-.025em;margin:0 0 7px;font-size:18px;font-weight:500}.project-overlay p{text-transform:uppercase;letter-spacing:.11em;opacity:.75;margin:0;font-size:9px;line-height:1.5}.project-overlay .arrow{opacity:0;font-size:20px;transition:all .35s;transform:translate(-7px,7px)}.project-card:hover .project-image{filter:saturate(.92);transform:scale(1.035)}.project-card:hover .project-overlay{opacity:1}.project-card:hover .arrow{opacity:1;transform:translate(0)}.content-page,.project-page{width:calc(100% - var(--sidebar) - var(--shell-gap));margin-left:calc(var(--sidebar) + var(--shell-gap));min-width:0;min-height:100vh}.content-page{padding:90px 0}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:35px;font-size:9px}.display-title{letter-spacing:-.07em;max-width:1000px;margin:0;font-size:clamp(50px,7vw,112px);font-weight:500;line-height:.91}.about-title-row{grid-template-columns:minmax(0,1fr) clamp(135px,18vw,230px);align-items:start;gap:clamp(34px,5vw,78px);display:grid}.about-display-title{min-width:0;max-width:none}.about-portrait{aspect-ratio:4/5;background:#f2f2f0;width:100%;margin-top:3px;overflow:hidden}.about-portrait.has-image{background:0 0}.about-portrait img{object-fit:cover;object-position:50% 35%;width:100%;height:100%;display:block}.about-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:clamp(60px,10vw,150px);margin-top:105px;display:grid}.about-lead{letter-spacing:-.035em;font-size:clamp(20px,2.3vw,34px);line-height:1.25}.about-lead p{margin:0 0 28px}.info-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;display:grid}.info-columns h3{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 15px;font-size:9px}.info-columns p{margin:0 0 20px;font-size:12px;line-height:1.75}.line-item{display:block}.info-columns strong{font-weight:500}.experience-section{margin-top:130px;padding-top:0}.experience-section>.eyebrow{margin-bottom:22px}.experience-row{grid-template-columns:1.15fr 1.35fr .65fr 1fr;align-items:baseline;gap:28px;padding:17px 0;display:grid}.experience-company{letter-spacing:-.02em;font-size:15px}.experience-role{color:#555;font-size:12px;line-height:1.55}.experience-period,.experience-location{color:var(--muted);font-size:10px;line-height:1.55}.contact-layout{grid-template-columns:.75fr 1.25fr;gap:80px;max-width:1100px;margin-top:100px;display:grid}.contact-copy{flex-direction:column;align-items:flex-start;gap:11px;font-size:13px;line-height:1.5;display:flex}.contact-copy p{color:#555;margin:0 0 14px}.contact-copy a{border-bottom:1px solid #aaa}.contact-form{gap:26px;display:grid}.contact-form label{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);gap:10px;font-size:9px;display:grid}.contact-form input,.contact-form textarea{color:#111;resize:vertical;text-transform:none;letter-spacing:0;background:0 0;border:0;border-bottom:1px solid #bbb;border-radius:0;outline:none;width:100%;padding:7px 0 12px;font-size:15px}.contact-form input:focus,.contact-form textarea:focus{border-color:#111}.contact-form button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:#111;border:0;justify-self:start;margin-top:6px;padding:14px 18px;font-size:10px}.project-page{padding:70px 0 0}.project-hero-copy{padding:20px clamp(5px,4vw,58px) 75px}.project-hero-copy h1{letter-spacing:-.07em;max-width:1050px;margin:0 0 15px;font-size:clamp(52px,7vw,108px);font-weight:500;line-height:.9}.project-subtitle{color:#777;margin:0;font-size:15px}.project-meta{grid-template-columns:.8fr 1.35fr 1fr;gap:30px;max-width:900px;margin-top:68px;display:grid}.project-meta span{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:8px;font-size:8px;display:block}.project-meta p{margin:0;font-size:11px;line-height:1.55}.project-full-image{aspect-ratio:16/9;background:#ddd;width:100%;position:relative;overflow:hidden}.project-full-image.tall{aspect-ratio:16/10}.hero-image{aspect-ratio:16/8.6}.case-copy-grid{grid-template-columns:.65fr 1.35fr;gap:80px;padding:105px clamp(5px,7vw,105px);display:grid}.case-copy-grid h2{letter-spacing:-.04em;margin:5px 0 0;font-size:34px;font-weight:500}.case-copy-grid p{letter-spacing:-.03em;max-width:850px;margin:0;font-size:clamp(20px,2.15vw,31px);line-height:1.34}.section-number{color:var(--muted);font-size:9px}.next-project{grid-template-columns:150px 1fr 50px;align-items:center;gap:30px;min-height:240px;margin:110px 0 0;padding:0 clamp(5px,4vw,55px);display:grid}.next-project>span:first-child{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:9px}.next-project strong{letter-spacing:-.055em;font-size:clamp(34px,5vw,72px);font-weight:500}.next-arrow{font-size:31px;transition:transform .25s}.next-project:hover .next-arrow{transform:translate(8px)}.page-enter{animation:.55s both pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1300px){:root{--shell-width:76vw;--shell-left:12vw;--sidebar:185px;--shell-gap:30px}}@media (max-width:980px){:root{--shell-width:88vw;--shell-left:6vw;--sidebar:175px;--shell-gap:26px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:1fr;gap:65px}.about-title-row{grid-template-columns:minmax(0,1fr) 165px;gap:34px}}@media (max-width:760px){body{background:#fff}.mobile-header{z-index:40;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fffffff5;justify-content:space-between;align-items:center;height:68px;padding:0 19px;display:flex;position:fixed;top:0;left:0;right:0}.mobile-brand{flex-direction:column;gap:2px;display:flex}.mobile-brand strong{letter-spacing:-.03em;font-size:11px}.mobile-brand span{text-transform:uppercase;color:#999;letter-spacing:.12em;font-size:7px}.menu-toggle{text-transform:uppercase;letter-spacing:.1em;background:0 0;border:0;padding:10px 0 10px 20px;font-size:10px}.sidebar{border-right:0;width:100%;padding:50px 22px 28px;transition:transform .4s cubic-bezier(.7,0,.2,1);inset:68px 0 0;transform:translateY(-110%)}.sidebar.is-open{transform:translateY(0)}.brand{display:none}.intro-copy{max-width:285px;margin:0 0 48px;font-size:14px}.main-nav{gap:12px}.main-nav a{letter-spacing:-.05em;font-size:38px}.site-shell{width:100%;margin:0}.work-area,.content-page,.project-page{width:auto;margin-left:0}.work-area{padding:91px 20px 30px}.filter-row{margin-bottom:24px;padding:0 8px;display:block}.filter-label{margin-bottom:12px;display:block}.filters{justify-content:flex-start;gap:10px 15px}.portfolio-grid{grid-template-columns:1fr;gap:0}.project-overlay{opacity:1;padding:18px}.project-overlay .arrow{opacity:1;transform:none}.content-page{padding:120px 20px 60px}.display-title{font-size:58px}.about-title-row{grid-template-columns:1fr;gap:28px}.about-portrait{aspect-ratio:4/5;width:min(58%,250px)}.about-grid{margin-top:70px}.about-lead{font-size:23px}.info-columns{grid-template-columns:1fr 1fr}.experience-section{margin-top:85px}.experience-row{grid-template-columns:1fr 1fr;gap:8px 20px;padding:18px 0}.experience-role{text-align:right}.experience-period,.experience-location{font-size:9px}.experience-location{text-align:right}.contact-layout{grid-template-columns:1fr;gap:65px;margin-top:70px}.project-page{padding:120px 20px 0}.project-hero-copy{padding:0 8px 48px}.project-hero-copy h1{font-size:55px}.project-meta{grid-template-columns:1fr;gap:19px;margin-top:48px}.hero-image,.project-full-image,.project-full-image.tall{aspect-ratio:4/5}.case-copy-grid{grid-template-columns:1fr;gap:35px;padding:70px 10px}.case-copy-grid p{font-size:23px}.next-project{grid-template-columns:1fr auto;min-height:200px;padding:0 8px}.next-project>span:first-child{grid-column:1/-1;align-self:end}.next-project strong{align-self:start;font-size:38px}.next-arrow{align-self:start}}.language-switch{letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;margin-top:26px;font-size:11px;display:flex}.language-switch a{opacity:.45;transition:opacity .2s}.language-switch a:hover{opacity:1}.language-switch .active-language{font-weight:700}.language-divider{opacity:.25}.project-page-reference{padding:38px 0 70px}.project-reference-hero{aspect-ratio:16/8.85;background:#f2f2f2;width:100%;position:relative;overflow:hidden}.project-reference-image,.project-carousel-image{object-fit:cover}.project-reference-summary{grid-template-columns:minmax(175px,.92fr) minmax(0,2fr) minmax(130px,.62fr);align-items:start;gap:clamp(28px,4vw,62px);padding:42px 0 54px;display:grid}.project-reference-heading h1{letter-spacing:-.035em;margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:clamp(27px,2.25vw,38px);font-weight:400;line-height:1.08}.project-reference-heading p{color:#b0b0ad;margin:0;font-size:8px;line-height:1.5}.project-reference-description{padding-top:8px}.project-reference-description p{color:#888884;margin:0 0 18px;font-size:10px;line-height:1.8}.project-reference-description p:last-child{margin-bottom:0}.project-reference-meta{gap:18px;margin:0;padding-top:2px;display:grid}.project-reference-meta div{min-width:0}.project-reference-meta dt{color:#b6b6b2;text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:7px;line-height:1.3}.project-reference-meta dd{color:#6f6f6b;overflow-wrap:anywhere;margin:0;font-size:9px;line-height:1.45}.project-reference-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px;display:grid}.project-reference-pair-image{aspect-ratio:4/2.82;background:#f2f2f2;width:100%;position:relative;overflow:hidden}.project-carousel{width:100%}.project-carousel-stage{aspect-ratio:16/8.95;background:#f2f2f2;width:100%;position:relative;overflow:hidden}.project-carousel-slide{opacity:0;visibility:hidden;transition:opacity .55s,visibility .55s;position:absolute;inset:0}.project-carousel-slide.is-active{opacity:1;visibility:visible}.carousel-arrow{z-index:4;color:#111;cursor:pointer;opacity:0;background:#ffffffe6;border:0;place-items:center;width:40px;height:40px;font-size:17px;transition:opacity .25s,transform .25s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow-left{left:16px}.carousel-arrow-right{right:16px}.project-carousel-stage:hover .carousel-arrow{opacity:1}.carousel-arrow:hover{transform:translateY(-50%)scale(1.04)}.carousel-footer{color:#aaa;justify-content:space-between;align-items:center;gap:20px;min-height:42px;display:flex}.carousel-count{letter-spacing:.1em;font-size:8px}.carousel-dots{align-items:center;gap:5px;display:flex}.carousel-dots span{background:#dededb;width:14px;height:1px;transition:width .25s,background .25s;display:block}.carousel-dots span.is-active{background:#777;width:25px}.project-reference-navigation{color:#b5b5b1;grid-template-columns:1fr auto 1fr;align-items:center;min-height:78px;padding:15px 14px 0;display:grid}.project-reference-navigation>a:first-child{justify-self:start}.project-reference-navigation>a:last-child{justify-self:end}.project-reference-navigation>a:not(.back-to-work){font-size:19px;transition:color .2s,transform .2s}.project-reference-navigation>a:not(.back-to-work):hover{color:#111}.project-reference-navigation>a:first-child:hover{transform:translate(-4px)}.project-reference-navigation>a:last-child:hover{transform:translate(4px)}.back-to-work{text-transform:uppercase;letter-spacing:.11em;font-size:8px;transition:color .2s}.back-to-work:hover{color:#111}@media (max-width:980px){.project-page-reference{padding:92px 20px 40px}.project-reference-hero,.project-carousel-stage{aspect-ratio:4/3}.project-reference-summary{grid-template-columns:1fr;gap:28px;padding:34px 0 42px}.project-reference-heading h1{font-size:34px}.project-reference-heading p{font-size:9px}.project-reference-description{padding-top:0}.project-reference-description p{font-size:12px;line-height:1.7}.project-reference-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.project-reference-meta dd{font-size:9px}.project-reference-pair{grid-template-columns:1fr;gap:14px;margin-bottom:14px}.project-reference-pair-image{aspect-ratio:4/3}.carousel-arrow{opacity:1;width:36px;height:36px}}@media (max-width:600px){.project-reference-meta{grid-template-columns:1fr}.project-reference-hero,.project-reference-pair-image,.project-carousel-stage{aspect-ratio:4/5}}.skills-section{margin-top:130px;display:block}.skills-column+.skills-column{margin-top:70px}.skills-column>.eyebrow{margin-bottom:26px}.skills-list{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));align-items:start;gap:34px clamp(24px,3vw,48px);display:grid}.skill-row{flex-direction:column;align-items:flex-start;gap:11px;min-width:0;display:flex}.skill-label{letter-spacing:-.015em;min-width:0;font-size:12px;line-height:1.35}.rating-dots{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.rating-dot{background:0 0;border:1px solid #151515;border-radius:50%;width:8px;height:8px}.rating-dot.is-filled{background:#151515}@media (max-width:980px){.skills-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.skills-section{margin-top:85px}.skills-column+.skills-column{margin-top:55px}.skills-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.skill-label{font-size:12px}.rating-dots{gap:6px}}@media (max-width:430px){.skills-list{grid-template-columns:1fr}}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;margin-top:32px;display:grid}.project-gallery-item{width:100%}.project-gallery-item.is-half{grid-column:span 1}.project-gallery-item.is-full{grid-column:1/-1}.project-gallery-image{width:100%;height:auto;display:block}@media (max-width:768px){.project-gallery{grid-template-columns:1fr;gap:20px}.project-gallery-item.is-half,.project-gallery-item.is-full{grid-column:1}}
