@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--bg:#f7f8f2;--ink:#20241d;--muted:#70766a;--green:#c7f36b;--line:#dde1d5;--dark:#111510}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #638b28;outline-offset:5px}button{border:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}button span,a span{display:inline-block}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;height:100px;padding:0 56px;border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:3}.brand{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-1.2px;font-size:24px}.brand span{font-weight:400}.brand i{font-style:normal;font-size:12px;vertical-align:top;margin-left:4px}.header nav{display:flex;gap:34px;font-size:13px}.header nav a:hover,.text-link:hover{color:#5f7d34}.nav-contact{font-size:13px;border:1px solid #9ca393;border-radius:30px;padding:10px 21px}.nav-contact span{margin-left:20px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;padding-top:76px;padding-bottom:76px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:650;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:#79a641;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px #79a64112}.hero h1{font-size:clamp(52px,5.4vw,80px);line-height:1.08;letter-spacing:-4px;font-weight:650;margin:26px 0}.hero h1 em{font-style:normal;color:#6a8052}.intro{color:#68705f;max-width:430px;font-size:16px;line-height:1.85}.actions{display:flex;align-items:center;gap:30px;margin-top:30px}.button{border-radius:4px;padding:15px 23px;display:inline-flex;gap:34px;font-weight:600;font-size:13px}.primary{background:var(--ink);color:white}.primary:hover{background:#3d4933}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid #8b9381;padding-bottom:5px}.text-link span{margin-left:15px}.hero-foot{display:flex;gap:38px;border-top:1px solid var(--line);padding-top:23px;margin-top:39px;font-size:9px;letter-spacing:1px;color:var(--muted)}.hero-foot b{display:block;font-size:12px;color:var(--ink);font-weight:500;letter-spacing:0;margin-top:4px}.hero-art{background:var(--dark);color:#a1ab95;border-radius:8px;position:relative;box-shadow:0 22px 60px #222b1917;transform:rotate(1.5deg);margin-top:-10px}.art-top,.art-caption{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;font-family:monospace;font-size:8px;letter-spacing:.5px;border-bottom:1px solid #ffffff15}.art-top span:first-child{display:flex;align-items:center;gap:7px}.tiny-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green)}.art-grid{position:relative;padding:0 8px}.art-grid svg{width:100%;display:block}.tool-strip{position:absolute;top:28px;left:24px;display:grid;gap:4px;background:#242a20;border:1px solid #ffffff15;border-radius:5px;padding:4px}.tool-strip span{width:27px;height:27px;text-align:center;font-size:17px;line-height:27px}.tool-strip .selected{background:var(--green);color:#111}.art-caption{border-top:1px solid #ffffff15;border-bottom:0;font-size:9px}.art-note{position:absolute;bottom:-29px;left:0;font-size:7px;color:#8d9585;letter-spacing:1px}.discipline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.discipline .wrap{display:flex;justify-content:space-between;align-items:center}.discipline span{font-family:'Manrope',sans-serif;font-size:18px;font-weight:500;letter-spacing:-.4px}.discipline b{color:#8eaa66;font-size:24px}.section{padding-top:100px;padding-bottom:100px;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:35px}h2{font-size:clamp(32px,3.3vw,47px);line-height:1.2;font-weight:550;letter-spacing:-1.8px;margin-top:18px}h2 span{color:#7a8370}.section-heading>p{max-width:310px;color:var(--muted);font-size:13px;margin-bottom:4px}.filters{display:flex;gap:8px;margin:36px 0 30px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid var(--line);padding:9px 18px;border-radius:25px;font-size:12px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.filters sup{font-size:8px;margin-left:6px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px}.project[hidden]{display:none}.project-visual{position:relative;display:block;width:100%;height:300px;text-align:left;overflow:hidden;border-radius:5px;padding:25px;background:#e5e9dc;transition:transform .3s}.project-visual:hover{transform:translateY(-4px)}.visual-label{font:8px monospace;letter-spacing:1px;position:relative;z-index:1}.fashion{background-color:#e0e5d6;background-image:linear-gradient(#84937218 1px,transparent 1px),linear-gradient(90deg,#84937218 1px,transparent 1px);background-size:24px 24px}.pattern-mini{position:absolute;inset:45px 15px 25px}.pattern-mini svg{width:100%;height:100%}.visual-bottom{position:absolute;bottom:20px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;font:8px monospace;letter-spacing:1px}.pill{padding:5px 9px;border:1px solid currentColor;border-radius:20px;font-size:7px;letter-spacing:0;opacity:.65}.loop{background:#202b41;color:#bfc8db}.loop-word{font-family:'Manrope';font-size:70px;letter-spacing:5px;color:#edba93;position:absolute;top:85px;left:45px;line-height:1.25}.loop-word span{display:block;font-family:'DM Sans';font-size:12px;letter-spacing:1px;font-weight:400;color:#bfc8db}.loop-graphic{position:absolute;right:55px;top:75px;width:140px;height:135px;transform:rotate(-15deg)}.loop-graphic span{position:absolute;width:65px;height:65px;border:12px solid #ecc0a0;border-radius:19px}.loop-graphic span:nth-child(2){left:62px}.loop-graphic span:nth-child(3){top:62px}.loop-graphic span:nth-child(4){top:62px;left:62px}.loop-graphic span:nth-child(n+5){display:none}.cognitive{background:#e5dfed;color:#61546f}.matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:155px;margin:17px auto}.matrix i{display:grid;place-items:center;background:#f7f4fb99;font-size:28px;font-style:normal;line-height:47px;border-radius:2px}.matrix .question{background:#bbaacb;color:white;font-size:22px}.game-image{padding:0;background:#191d25}.game-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.game-image:hover img{transform:scale(1.035)}.image-badge{position:absolute;left:20px;top:20px;background:#f7f8f2ed;padding:6px 10px;font:8px monospace;letter-spacing:.7px}.project-info{padding-top:20px;display:flex;align-items:flex-start;gap:20px;justify-content:space-between}.meta{font-size:9px;letter-spacing:1.3px;color:var(--muted);font-weight:500}.project h3{font-size:25px;font-weight:600;letter-spacing:-.8px;margin:4px 0 9px}.project-info p:not(.meta){font-size:13px;color:var(--muted);max-width:450px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.tags span{font-size:9px;border:1px solid var(--line);border-radius:3px;padding:3px 8px;color:#707767}.round-arrow{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:1px solid #bfc6b4;background:transparent;font-size:19px;margin-top:15px}.round-arrow:hover{background:var(--green)}.play-note{display:flex;align-items:center;gap:20px;padding:27px 0 0;border-top:1px solid var(--line);margin-top:45px}.play-icon{width:43px;height:43px;border-radius:50%;background:#e8eddf;display:grid;place-items:center;font-size:25px}.play-note h3{font-size:15px;font-weight:600;letter-spacing:-.3px}.play-note p{font-size:12px;color:var(--muted)}.play-note .text-link{margin-left:auto;white-space:nowrap}.experience{background:#edf0e7;border-block:1px solid var(--line)}.experience-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.section-intro{max-width:320px;font-size:14px;color:var(--muted);margin:24px 0}.timeline article{padding:0 0 30px 28px;border-left:1px solid #c4ccba;position:relative}.timeline article:before{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#8d9e79;left:-4px;top:6px}.timeline article:first-child:before{background:#648632;box-shadow:0 0 0 5px #64863212}.timeline article:last-child{padding-bottom:0}.timeline .meta{display:flex;gap:20px;align-items:center}.current{background:#dce9c8;color:#526637;font-size:7px;padding:2px 7px;border-radius:3px}.timeline h3{font-size:20px;letter-spacing:-.5px;margin:8px 0 2px;font-weight:600}.timeline h4{font-size:13px;font-weight:500;margin-bottom:10px}.timeline p:last-child{font-size:13px;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.about-body{padding-top:38px}.about-body>p{color:var(--muted);font-size:14px;margin-bottom:18px}.about-body .large-copy{font-family:'Manrope';font-size:23px;color:var(--ink);letter-spacing:-.5px;line-height:1.5}.skill-groups{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:25px 0}.skill-groups h3{font-size:9px;letter-spacing:1px;margin-bottom:10px}.skill-groups p{font-size:12px;color:var(--muted);line-height:1.95}.about-body .learning{font-size:12px;color:#5c7442;background:#eaf0df;padding:11px 14px;border-radius:3px}.learning span{margin-right:8px}.about-body .education{font-size:10px;margin-bottom:0}.contact{background:var(--dark);color:#f4f7ed;padding:75px 0}.contact .eyebrow{color:#aab69a}.contact .dot{background:var(--green)}.contact-layout{display:flex;justify-content:space-between;align-items:center}.contact h2{font-size:clamp(36px,4.6vw,66px);letter-spacing:-2.8px;margin:27px 0 38px}.contact h2 em{color:var(--green);font-style:normal}.contact-circle{width:90px;height:90px;border:1px solid #7d8a6c;border-radius:50%;display:grid;place-items:center;font-size:42px}.contact-circle:hover{background:var(--green);color:var(--dark)}.contact-links{display:flex;gap:32px;align-items:center;border-top:1px solid #ffffff26;padding-top:27px;font-size:13px;flex-wrap:wrap}.contact-links a:first-child{margin-right:auto;font-size:17px}.contact-links a:hover{color:var(--green)}#copy-email{background:none;color:#e0e6d8;font-size:12px;padding:0}.contact-note{font-size:10px;color:#7f8a74;margin-top:23px}.footer{padding-block:28px;display:flex;justify-content:space-between;align-items:center}.footer .brand{font-size:20px}.footer p,.footer>a:last-child{font-size:10px;color:var(--muted)}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--green);padding:10px}.skip:focus{top:10px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 25px;border-radius:5px;z-index:20;display:none}.toast.show{display:block}dialog{border:1px solid var(--line);border-radius:8px;padding:45px;width:min(760px,calc(100% - 30px));max-height:85vh;background:var(--bg);color:var(--ink)}dialog::backdrop{background:#10180fd1;backdrop-filter:blur(5px)}body.modal-open{overflow:hidden}.dialog-close{display:block;margin-left:auto;background:none;border:1px solid var(--line);border-radius:20px;padding:5px 14px;font-size:12px}dialog h2{margin:15px 0 20px}dialog h3{font-size:15px;margin:25px 0 8px}dialog p,dialog li{font-size:14px;color:#636c59}dialog ul{padding-left:20px}dialog .actions{flex-wrap:wrap}.case-note{border-left:2px solid #9bae81;padding-left:15px;margin-top:25px}dialog .tags{margin-bottom:25px}
@media(min-width:1500px){.hero{padding-block:95px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{padding:0 32px}.hero{gap:30px}.hero h1{font-size:60px}.art-top{font-size:6px;padding-inline:14px}.loop-graphic{right:25px;transform:scale(.8) rotate(-15deg)}.loop-word{left:30px;font-size:55px}.experience-layout,.about{gap:55px}.discipline span{font-size:15px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:78px;padding-inline:20px}.brand{font-size:21px}.header nav{gap:15px;font-size:11px}.header nav a:last-child{display:none}.nav-contact{padding:7px 12px;font-size:11px}.nav-contact span{margin-left:6px}.hero{grid-template-columns:1fr;padding-block:45px 60px;gap:45px}.hero h1{font-size:clamp(54px,10vw,76px);letter-spacing:-3px}.hero .intro{max-width:510px}.hero-art{max-width:500px;width:96%;margin-inline:auto;transform:rotate(1deg)}.art-top{font-size:7px}.hero-foot{gap:50px}.discipline{padding:18px 0}.discipline .wrap{flex-wrap:wrap;justify-content:center;gap:8px 18px}.discipline span{font-size:12px}.discipline b{font-size:15px}.discipline b:last-of-type{display:none}.discipline span:last-child{display:none}.section{padding-block:65px}.section-heading{display:block}.section-heading>p{max-width:400px;margin-top:20px}.projects{grid-template-columns:1fr;gap:35px}.project-visual{height:300px}.loop-graphic{right:50px;transform:rotate(-15deg)}.loop-word{left:40px;font-size:65px}.experience-layout,.about{grid-template-columns:1fr;gap:40px}.timeline{padding-left:5px}.about-body{padding-top:0}.play-note{gap:13px;flex-wrap:wrap}.play-note>div{flex:1}.play-note .text-link{margin-left:56px}.contact{padding-block:55px}.contact h2{letter-spacing:-1.5px}.contact-circle{width:55px;height:55px;font-size:30px;flex-shrink:0}.contact-links{gap:20px}.contact-links a:first-child{flex-basis:100%;font-size:16px}.footer{flex-wrap:wrap;gap:15px}.footer p{order:3;flex-basis:100%}.footer>a:last-child{margin-left:auto}dialog{padding:25px}.art-caption{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand,.nav-contact{white-space:nowrap;flex-shrink:0}@media(max-width:440px){.header nav a:nth-child(2){display:none}.header nav{margin-left:auto;margin-right:16px}.header nav a{white-space:nowrap}}

