@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--ink:#101312;--paper:#f4f1e9;--muted:#6d736b;--line:#d9d7cb;--lime:#d7f35d;--coral:#ff795f;--blue:#8ba9ff;--white:#fffdf7}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--paper);color:var(--ink);margin:0;font-family:Space Grotesk,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.section-wrap{width:min(1160px,100% - 64px);margin:0 auto}.site-header{justify-content:space-between;align-items:center;width:calc(100% - 64px);max-width:1160px;margin:auto;padding:28px 0;display:flex}.wordmark{letter-spacing:.03em;font-family:DM Mono,monospace;font-size:12px}.wordmark span{background:var(--ink);color:var(--lime);place-items:center;width:27px;height:27px;margin-right:9px;font-weight:500;display:inline-grid}.main-nav{align-items:center;gap:29px;font-size:13px;display:flex}.main-nav>a:not(.nav-contact){color:var(--muted)}.main-nav>a:hover,.text-link:hover{color:var(--coral)}.nav-contact{align-items:center;gap:5px;font-weight:600;display:flex}.menu-button{background:0 0;border:0;display:none}.hero{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:70px;min-height:630px;padding:80px 0 120px;display:grid}.eyebrow,.section-label,.project-type,.period,.skill-number,.visual-caption,.footer-bottom,.stack{letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:11px}.eyebrow{color:var(--muted);align-items:center;gap:9px;display:flex}.status-dot{background:var(--lime);border:1px solid var(--ink);border-radius:50%;width:8px;height:8px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.08em;max-width:750px;margin:26px 0 31px;font-size:clamp(55px,7.5vw,106px);line-height:.91}h2{letter-spacing:-.07em;font-size:clamp(38px,5vw,67px);line-height:.95}em{color:var(--coral);font-style:normal}.hero-summary{color:var(--muted);max-width:500px;font-size:17px;line-height:1.6}.hero-actions{align-items:center;gap:28px;margin-top:36px;display:flex}.button{align-items:center;gap:14px;padding:15px 19px;font-size:13px;font-weight:600;display:inline-flex}.button-primary{background:var(--ink);color:var(--paper)}.button-primary:hover{background:var(--coral);color:var(--ink)}.button-secondary{border:1px solid var(--ink)}.button-secondary:hover{background:var(--lime)}.text-link{border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:13px}.hero-visual{aspect-ratio:736/682;background:var(--ink);position:relative;overflow:hidden}.visual-grid{background-image:linear-gradient(#f4f1e91a 1px,#0000 1px),linear-gradient(90deg,#f4f1e91a 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0}.hero-visual:before{background:var(--lime);content:"";width:250px;height:220px;position:absolute;top:64px;right:-45px;transform:rotate(25deg)}.hero-visual:after{border:1px solid var(--coral);content:"";width:215px;height:215px;position:absolute;top:145px;left:-65px;transform:rotate(-25deg)}.monogram{color:var(--paper);letter-spacing:-.18em;z-index:1;font-size:180px;font-weight:700;line-height:.8;position:absolute;top:31%;left:12%}.monogram span{color:var(--coral)}.visual-caption{color:var(--paper);opacity:.75;z-index:1;justify-content:space-between;display:flex;position:absolute;bottom:22px;left:25px;right:25px}.section-label{color:var(--muted);padding-top:7px}.about{border-top:1px solid var(--line);grid-template-columns:180px 1fr;gap:60px;padding:90px 0 120px;display:grid}.about-content{max-width:840px}.about h2{max-width:720px}.about-text{grid-template-columns:1fr 1fr;gap:35px;margin:55px 0 50px;display:grid}.about-text p{color:var(--muted);font-size:16px;line-height:1.65}.facts{border-top:1px solid var(--line);gap:55px;padding-top:21px;display:flex}.facts span{color:var(--muted);text-transform:uppercase;font-family:DM Mono,monospace;font-size:11px}.facts b{color:var(--ink);letter-spacing:-.05em;margin-bottom:6px;font-family:Space Grotesk,sans-serif;font-size:25px;display:block}.skills-band{background:var(--ink);color:var(--paper);padding:90px 0 105px}.skills-band .section-label{color:#949990}.skills-grid{grid-template-columns:repeat(3,1fr);gap:1px;margin-top:64px;display:grid}.methodology-in-skills{border-bottom:0;padding:50px 0 0}.methodology-in-skills .methodology-content{margin-top:0}.methodology-kicker{color:var(--lime);letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px;font-family:DM Mono,monospace;font-size:11px}.methodology-in-skills .methodology-intro h2{color:var(--paper)}.methodology-in-skills .methodology-intro p:not(.methodology-kicker),.methodology-in-skills .methodology-item p{color:#a9aea5}.methodology-in-skills .methodology-list{border-top:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.methodology-in-skills .methodology-item{border:1px solid #3d423d;min-height:170px;padding:20px;display:block;position:relative}.methodology-in-skills .methodology-item svg{color:var(--lime);margin:16px 0 18px}.skill-card{border-left:1px solid #3d423d;min-height:265px;padding:0 32px;position:relative}.skill-card:first-child{padding-left:10px}.skill-card svg{color:var(--lime);margin:42px 0 28px}.skill-card.coral svg{color:var(--coral)}.skill-card.blue svg{color:var(--blue)}.skill-number{color:#949990;position:absolute;top:0;right:31px}.skill-card h3{letter-spacing:-.05em;font-size:23px}.skill-card p{color:#a9aea5;max-width:260px;font-size:14px;line-height:1.6}.methodology-content{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:70px;margin-top:35px;display:grid}.methodology-intro h2{margin:0 0 28px;font-size:clamp(36px,4.5vw,60px)}.methodology-intro p{color:var(--muted);font-size:15px;line-height:1.7}.methodology-list{border-top:1px solid var(--line)}.methodology-item{border-bottom:1px solid var(--line);grid-template-columns:35px 28px 1fr;align-items:start;gap:18px;padding:22px 0;display:grid}.methodology-number{color:var(--coral);padding-top:3px;font-family:DM Mono,monospace;font-size:11px}.methodology-item svg{color:var(--ink);margin-top:1px}.methodology-item h3{letter-spacing:-.03em;margin-bottom:7px;font-size:18px}.methodology-item p{color:var(--muted);max-width:520px;margin:0;font-size:13px;line-height:1.6}.methodology-in-skills .methodology-number{position:absolute;top:20px;right:20px}.experience{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;gap:60px;padding:50px 0;display:grid}.experience-list{max-width:830px}.experience-item{border-top:1px solid var(--line);grid-template-columns:150px 1fr;gap:50px;padding:28px 0 38px;display:grid}.period{color:var(--coral);padding-top:7px}.experience-item h3{letter-spacing:-.05em;margin-bottom:7px;font-size:26px}.experience-item p{color:var(--muted);max-width:600px;line-height:1.6}.experience-item .company{color:var(--ink);margin-bottom:18px;font-size:13px}.projects{padding:110px 0 130px}.projects-heading{grid-template-columns:180px 1fr;gap:60px;display:grid}.projects-heading h2{margin:0}.project-list{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px;display:grid}.project-card{border-top:5px solid var(--lime);background:var(--white);color:inherit;cursor:pointer;text-align:left;border-bottom:0;border-left:0;border-right:0;width:100%;min-height:400px;padding:23px 25px;transition:transform .25s}.project-card:hover{transform:translateY(-7px)}.project-card.coral{border-color:var(--coral)}.project-card.blue{border-color:var(--blue)}.project-card-button{appearance:none}.project-top{justify-content:space-between;display:flex}.project-top span{font-family:DM Mono,monospace;font-size:13px}.project-image{aspect-ratio:16/9;object-fit:cover;width:calc(100% + 50px);margin:22px -25px 0;display:block}.project-type{color:var(--muted);margin:58px 0 15px}.project-card h3{letter-spacing:-.06em;margin-bottom:20px;font-size:27px}.project-card>p:not(.project-type){color:var(--muted);font-size:14px;line-height:1.65}.stack{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px 15px;margin-top:40px;padding-top:16px;display:flex}.stack span{font-size:9px}.project-modal-backdrop{z-index:20;background:#101312b8;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.project-modal{background:var(--paper);border:1px solid #1013121f;width:min(940px,100%);max-width:940px;max-height:90vh;position:relative;overflow:auto}.project-modal-close{background:var(--ink);color:var(--paper);cursor:pointer;z-index:2;border:0;place-items:center;padding:10px;display:inline-grid;position:absolute;top:18px;right:18px}.project-modal-image{width:100%;display:block}.project-modal-content{padding:76px 30px 38px}.project-modal-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.project-modal-heading .project-type{margin-top:0}.project-modal-heading h3{margin-bottom:0}.project-website-link{border:1px solid #10131233;flex-shrink:0;align-items:center;gap:10px;margin-top:7px;padding:12px 14px;transition:border-color .2s,transform .2s;display:inline-flex}.project-website-link-mobile{display:none}@media (width>=761px){.project-website-link-mobile{display:none}}.project-website-link:hover{border-color:var(--ink);transform:translate(2px)}.project-website-link span{letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:10px}.project-gallery{border:1px solid #1013121a;margin:32px 0 30px}.project-gallery-feature{background:#1013121a;padding:10px;position:relative;overflow:hidden}.project-gallery-enlarge{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.project-gallery-feature img{object-fit:contain;width:100%;height:100%;max-height:70vh;display:block}.project-gallery-controls{color:var(--ink);justify-content:space-between;align-items:center;padding:8px 10px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.project-gallery-caption{background:var(--paper);padding:18px 20px 20px}.project-gallery-caption .detail-label{color:var(--ink);margin-bottom:7px}.project-gallery-caption p{color:var(--muted);margin:0}.project-gallery-controls span{letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:10px}.project-gallery-button{color:var(--paper);cursor:pointer;background:#949990;border:0;place-items:center;padding:8px;display:inline-grid}.image-viewer-backdrop{z-index:30;background:#101312f0;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.image-viewer{touch-action:pan-y;flex-direction:column;align-items:center;width:100%;max-width:1200px;max-height:100%;display:flex;position:relative}.image-viewer img{object-fit:contain;max-width:100%;max-height:calc(100vh - 100px);display:block}.image-viewer p{color:var(--paper);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:16px 0 0;font-family:DM Mono,monospace;font-size:11px}.image-viewer-button{color:var(--ink);cursor:pointer;z-index:1;background:#f4f1e9e6;border:0;place-items:center;padding:12px;display:inline-grid;position:absolute;top:50%;transform:translateY(-50%)}.image-viewer-button-previous{left:0}.image-viewer-button-next{right:0}.image-viewer-close{background:var(--paper);color:var(--ink);cursor:pointer;border:0;place-items:center;padding:10px;display:inline-grid;position:absolute;top:0;right:0;transform:translateY(-100%)}.project-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;display:grid}.detail-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-family:DM Mono,monospace;font-size:10px;display:block}.project-detail-grid p{color:var(--ink);margin:0;line-height:1.7}.project-modal-stack{margin-top:30px}.project-links{gap:12px;margin-top:30px}.project-link{border:1px solid #10131233;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;transition:border-color .2s,transform .2s;display:flex}.project-link:hover{border-color:var(--ink);transform:translate(2px)}.project-link span{letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:11px}.footer{background:var(--lime)}.footer-inner{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:60px 80px;padding:120px 0 25px;display:grid;position:relative}.footer h2{margin:25px 0 40px}.footer .button{background:var(--ink);color:var(--lime)}.footer .button:hover{background:var(--coral);color:var(--ink)}.footer-contact{grid-template-columns:1fr;margin-top:8px;display:grid}.footer-contact a{border-top:1px solid #10131247;border-bottom:1px solid #10131247;grid-template-columns:1fr auto;align-items:center;gap:3px;padding:17px 0;display:grid}.footer-contact a+a{border-top:0}.footer-contact span{text-transform:uppercase;font-family:DM Mono,monospace;font-size:11px}.footer-contact strong{font-size:14px;font-weight:500}.footer-contact a:hover strong,.footer-contact a:hover svg{color:var(--coral)}.footer-bottom{border-top:1px solid #10131247;grid-column:1/-1;justify-content:space-between;margin-top:35px;padding-top:18px;display:flex}.socials{gap:14px;display:flex}.socials a:hover{color:var(--coral)}.reveal{animation:.7s both reveal}.delay-1{animation-delay:.12s}@keyframes reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.project-gallery-feature,.project-gallery-enlarge{place-items:center;display:grid}.project-gallery-feature img{object-fit:contain;max-height:60vh}.image-viewer-backdrop{padding:0}.image-viewer{justify-content:center;width:100vw;max-width:none;height:100dvh}.image-viewer img{max-width:100vw;max-height:100dvh}.image-viewer-close{position:fixed;top:16px;right:16px;transform:none}.image-viewer-button{background:#f4f1e9d1;position:fixed}.image-viewer-button-previous{left:12px}.image-viewer-button-next{right:12px}.image-viewer p{margin:0;position:fixed;bottom:18px;left:20px;right:20px}.project-detail-grid{grid-template-columns:1fr}.project-modal-content{padding:68px 20px 30px}.project-modal-heading{display:block}.project-modal-backdrop{padding:10px}.project-website-link-desktop{display:none}.project-website-link-mobile{margin-top:30px;display:grid}.project-modal-heading .project-website-link{margin-top:18px}.section-wrap,.site-header{width:calc(100% - 40px)}.site-header{padding:20px 0}.menu-button{display:block}.main-nav{background:var(--paper);border-bottom:1px solid var(--line);z-index:3;flex-direction:column;gap:22px;padding:25px 20px 30px;display:none;position:absolute;top:67px;left:0;right:0}.main-nav.is-open{display:flex}.hero{flex-direction:column;gap:50px;min-height:auto;padding:75px 0 90px;display:flex}.hero-copy{width:100%}.hero-visual{aspect-ratio:736/682;width:100%}.monogram{font-size:130px}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px}.about,.methodology,.experience,.projects-heading{display:block}.methodology{border-bottom:1px solid #3d423d;padding:50px 0 10px}.methodology-content{margin-top:40px;display:block}.methodology-intro p{margin-bottom:45px}.methodology-item{grid-template-columns:30px 24px 1fr;gap:14px}.methodology-in-skills .methodology-list{grid-template-columns:1fr}.methodology-in-skills .methodology-item{min-height:0}.about-content{margin-top:45px}.about-text{margin:35px 0;display:block}.about-text p+p{margin-top:22px}.facts{text-align:center;flex-wrap:wrap;justify-content:center}.skills-grid,.project-list{grid-template-columns:1fr;margin-top:0}.skill-card,.skill-card:first-child{border-top:1px solid #3d423d;border-left:0;min-height:230px;padding:28px 0 0}.skill-card:first-child{border-top:0}.skill-card svg{margin:0 0 25px}.skill-number{top:25px}.experience{padding:30px 0}.experience-list{margin-top:45px}.experience-item{display:block}.experience-item .period{margin-bottom:18px}.projects-heading h2,.project-list{margin-top:45px}.project-card{min-height:360px}.footer-inner{padding-top:75px;display:block}.footer-contact{grid-template-columns:1fr;margin-top:65px}.footer-contact a,.footer-contact a+a{padding:17px 0}.footer-bottom{flex-wrap:wrap;justify-content:center;gap:15px;margin-top:60px}.socials{display:none}}
