:root{color-scheme:dark;--bg:#161916;--bg2:#1f231f;--bg3:#2b3129;--ink:#f1f0e9;--muted:#999e96;--line:#3a4039;--lime:#d7fb68;--lime-ink:#22291b;--serif:'Instrument Serif',Georgia,serif;--display:'Space Grotesk',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.light{color-scheme:light;--bg:#f3f2eb;--bg2:#e8e7e0;--bg3:#dadbd1;--ink:#161916;--muted:#5f655b;--line:#ced0c5;--lime:#b5e450;--lime-ink:#202818}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:5px}::selection{background:var(--lime);color:#191d18}.wrap{max-width:1490px;padding:0 clamp(22px,5.6vw,94px);margin:auto}.skip-link{position:fixed;top:-100px;left:15px;z-index:200;background:var(--lime);color:#111;padding:10px 18px}.skip-link:focus{top:12px}#page-progress{position:fixed;z-index:101;left:0;top:0;height:3px;width:0;background:var(--lime);transition:width .08s linear}
.site-header{height:92px;position:sticky;top:0;z-index:90;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;line-height:.95}.brand-square{width:39px;height:39px;background:var(--lime);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--lime-ink);font-size:26px;font-family:var(--display);font-weight:700;position:relative;letter-spacing:-3px;padding-right:5px}.brand-star{font-size:11px;position:absolute;right:4px;top:2px;letter-spacing:0}.brand-label{font-family:var(--display);font-size:11px;letter-spacing:.12em;font-weight:700}.brand-period{color:var(--lime)}.desktop-nav{display:flex;align-items:center;gap:45px;margin-left:5vw}.desktop-nav a{font-size:13px;font-weight:700;position:relative;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--lime)}.nav-count{font-size:10px;color:var(--muted);font-weight:500;margin-left:3px}.header-right{display:flex;gap:26px;align-items:center}.location-tag{font-size:11px;letter-spacing:.05em;font-weight:700;color:var(--muted);display:flex;gap:9px;align-items:center;white-space:nowrap}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 14%,transparent)}.theme-toggle{background:transparent;border:1px solid var(--line);border-radius:50%;width:35px;height:35px;color:var(--ink);cursor:pointer;font-size:22px;display:grid;place-items:center;padding:0}.theme-toggle:hover{background:var(--bg3)}.mobile-toggle{display:none;background:none;border:0;width:38px;height:36px;padding:9px 4px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px}.mobile-toggle span{height:2px;width:100%;display:block;background:var(--ink)}.mobile-nav[hidden]{display:none!important}.mobile-nav{padding:15px 24px 23px;background:var(--bg);border-top:1px solid var(--line)}.mobile-nav a{font-family:var(--display);font-weight:700;font-size:24px;padding:9px 0;display:block}
.hero{position:relative;overflow:hidden}.hero .wrap{min-height:700px;padding-top:80px;padding-bottom:70px;display:flex;flex-direction:column;justify-content:space-between}.hero-noise{position:absolute;inset:0;pointer-events:none;opacity:.3;background-image:radial-gradient(circle,#4c5246 0.6px,transparent 0.8px);background-size:21px 21px;mask-image:linear-gradient(90deg,transparent,#000 80%)}.hero-topline{display:flex;justify-content:space-between;gap:15px;align-items:center;position:relative;z-index:2}.eyebrow{font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.availability{display:inline-flex;gap:11px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:var(--bg2)}.availability .live-dot{width:6px;height:6px}.hero-index{color:var(--muted);font-size:12px;letter-spacing:.12em;font-weight:700}.hero-content{position:relative;z-index:1;display:flex;align-items:center;min-height:445px}.hero-copy{width:min(100%,1110px);position:relative;z-index:5}.hero h1{font-family:var(--display);font-weight:600;letter-spacing:-.085em;font-size:clamp(72px,9vw,144px);line-height:.96;margin:35px 0 28px;max-width:1040px}.hero h1 .line{display:block}.hero h1 .humane{font-family:var(--serif);font-style:italic;font-size:1.1em;font-weight:400;letter-spacing:-.07em;color:var(--lime);padding-right:.13em}.hero h1 .dot{color:var(--lime)}.hero-desc{max-width:560px;color:var(--muted);font-size:clamp(15px,1.3vw,19px);line-height:1.65;margin:0}.hero-desc strong{color:var(--ink);font-weight:700}.hero-art{position:absolute;right:-3%;top:5%;width:390px;height:430px;opacity:.94;pointer-events:none;z-index:0}.orbital{position:absolute;right:1%;top:-3%;border:1px solid #676f5f;border-radius:50%;width:350px;height:350px;transform:rotate(-27deg);opacity:.55}.orbital.two{transform:rotate(48deg) scaleX(.44)}.orbital.three{transform:rotate(104deg) scaleX(.5)}.orbit-glow{position:absolute;width:245px;height:245px;right:50px;top:55px;border-radius:50%;background:radial-gradient(circle at 40% 36%,#edff9e 0,#c7ed62 28%,#91bc48 61%,#3e6e40 100%);box-shadow:0 0 100px #b9ec4a33,inset -30px -30px 54px #314b2d66}.orbit-center{position:absolute;top:165px;right:162px;color:#273d29;font-family:var(--display);font-size:35px;font-weight:700}.orbit-spark{position:absolute;color:var(--lime);font-size:40px;top:20px;right:60px}.orbit-spark.s2{font-size:20px;top:320px;right:270px}.floating-ui{position:absolute;bottom:23px;right:0;width:210px;height:125px;background:#f1f0e9;border:1px solid #fff;border-radius:17px;box-shadow:0 22px 60px #0008;transform:rotate(9deg);padding:16px;color:#282d26}.floating-ui .fu-top{font:700 9px var(--display);display:flex;justify-content:space-between}.fu-graph{display:flex;gap:5px;align-items:flex-end;height:47px;margin-top:9px}.fu-graph span{flex:1;border-radius:3px 3px 0 0;background:#c2d0ac}.fu-graph span:nth-child(2n){background:#a4cc58}.fu-graph span:nth-child(4){background:#537e40}.floating-palette{position:absolute;left:13px;bottom:80px;width:136px;padding:12px;border-radius:12px;background:#2f3930;color:#fff;box-shadow:0 24px 40px #0006;transform:rotate(-9deg)}.palette-dots{display:flex;gap:6px;margin-top:8px}.palette-dots i{display:block;width:23px;height:23px;border-radius:50%;background:#d7fb68}.palette-dots i:nth-child(2){background:#f6bd95}.palette-dots i:nth-child(3){background:#abcdda}.palette-dots i:nth-child(4){background:#f4ebd2}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;position:relative;z-index:5}.hero-bottom .mini-intro{font-size:12px;line-height:1.8;letter-spacing:.03em;text-transform:uppercase;font-weight:700}.hero-bottom .mini-intro span{color:var(--muted);font-weight:500}.hero-links{display:flex;align-items:center;gap:22px}.pill-button{background:var(--lime);color:var(--lime-ink);display:inline-flex;justify-content:center;align-items:center;gap:18px;font:700 12px var(--display);padding:18px 22px;border-radius:999px;letter-spacing:.02em;white-space:nowrap;transition:transform .25s,background .25s}.pill-button:hover{transform:translateY(-4px);background:#edffab}.plain-link{font-weight:700;font-size:12px;padding:14px 0;border-bottom:1px solid var(--muted)}.plain-link:hover{color:var(--lime);border-color:var(--lime)}.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg2)}.band-in{display:flex;align-items:center;gap:28px;width:max-content;white-space:nowrap;animation:marquee 28s linear infinite;padding:15px 0;font:700 12px var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.band-in b{color:var(--lime);font-size:20px;line-height:1}.band-in span{display:inline-block}@keyframes marquee{to{transform:translateX(-50%)}}
.section-pad{padding-top:120px;padding-bottom:120px}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-kicker{display:flex;gap:13px;align-items:center;color:var(--lime);font:700 12px var(--display);letter-spacing:.16em;text-transform:uppercase}.section-kicker span{display:inline-block;width:25px;height:1px;background:var(--lime)}.section-title{font:500 clamp(60px,7.3vw,115px)/.98 var(--display);letter-spacing:-.078em;margin:18px 0 0}.section-title em{font-family:var(--serif);font-weight:400;letter-spacing:-.05em;color:var(--lime);padding-right:.08em}.section-aside{font-size:14px;max-width:270px;color:var(--muted);padding-bottom:9px}.work-controls{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 38px}.filter-btn{background:transparent;border:1px solid var(--line);padding:11px 19px;border-radius:100px;color:var(--muted);cursor:pointer;font:700 12px var(--display);transition:background .2s,color .2s,border-color .2s}.filter-btn.active,.filter-btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:27px;row-gap:67px}.project-card{min-width:0;display:block;outline-offset:8px}.card-visual{height:clamp(275px,32vw,455px);border-radius:19px;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center;isolation:isolate;transition:filter .3s}.project-card:hover .card-visual{filter:brightness(1.06)}.project-card:hover .card-visual>.art-inner{transform:translateY(-7px) rotate(-1.7deg) scale(1.03)}.art-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .5s cubic-bezier(.2,.8,.2,1);position:relative}.card-number{position:absolute;left:25px;top:20px;font:700 11px var(--display);color:#18231e;opacity:.6;letter-spacing:.1em;z-index:5}.card-visual .art-label{position:absolute;bottom:20px;left:24px;z-index:4;font:700 11px var(--display);color:#222;letter-spacing:.08em;text-transform:uppercase}.card-go{position:absolute;right:18px;top:18px;width:43px;height:43px;background:#121a14;color:#f7f9ee;display:grid;place-items:center;border-radius:50%;font-size:24px;z-index:10;transition:transform .2s}.project-card:hover .card-go{transform:rotate(45deg)}.card-meta{display:flex;align-items:start;justify-content:space-between;gap:16px;padding-top:19px}.card-meta h3{font:600 clamp(26px,2.8vw,40px)/1.12 var(--display);letter-spacing:-.06em;margin:0 0 8px}.card-meta p{margin:0;max-width:485px;font-size:14px;color:var(--muted)}.card-tags{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:6px}.card-tags span{border:1px solid var(--line);border-radius:100px;padding:7px 11px;font:700 10px var(--display);white-space:nowrap}.card-tags span:last-child{color:var(--muted)}.card-visual img{width:100%;height:100%;object-fit:cover;display:block}
/* Original, CSS-drawn illustrative project thumbnails. Replace with real screenshots any time. */
.art-virtual-classroom{background:#c4e0d0;color:#16332e}.vc-shell{width:79%;height:68%;background:#173e38;border-radius:13px;box-shadow:25px 28px 0 #15342b22,0 26px 70px #173e385e;transform:rotate(-5deg);display:flex;overflow:hidden;padding:9px;gap:8px}.vc-sidebar{width:21%;background:#255047;border-radius:7px;padding:12px 7px;display:flex;flex-direction:column;gap:12px}.vc-sidebar .vc-logo{width:22px;height:22px;background:#d1ef6c;border-radius:8px;color:#22402e;font:700 15px var(--display);display:grid;place-items:center;margin-bottom:18px}.vc-sidebar i{display:block;background:#497167;width:66%;height:6px;border-radius:3px}.vc-sidebar i:nth-of-type(2){width:90%;background:#9bbdae}.vc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}.vc-head{display:flex;align-items:center;justify-content:space-between;color:#dbece3;font:700 9px var(--display);padding:8px 3px 0}.vc-live{background:#d9ed73;color:#163e34;padding:4px 7px;border-radius:4px;font:700 7px var(--display)}.vc-tiles{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;flex:1;min-height:0}.vc-person{background:#447c74;border-radius:6px;display:grid;place-items:center;position:relative;overflow:hidden}.vc-person:nth-child(2){background:#8ab6a7}.vc-person:nth-child(3){background:#305f59}.vc-person:nth-child(4){background:#6ba198}.vc-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#c2ebdc;color:#2d5c56;font:700 15px var(--display)}.vc-person:nth-child(2) .vc-avatar{background:#e9c7af;color:#7b4d40}.vc-person:nth-child(3) .vc-avatar{background:#e3d1a4;color:#7e6045}.vc-person:nth-child(4) .vc-avatar{background:#c0d2ef;color:#516f99}.vc-person small{position:absolute;bottom:7px;left:8px;color:#fff;font:600 7px var(--display)}.vc-controls{display:flex;justify-content:center;gap:8px;padding-bottom:5px}.vc-controls i{background:#4c716b;border-radius:50%;width:17px;height:17px}.vc-controls i:last-child{background:#ee7c7c}.vc-shell:after{content:'✦';position:absolute;right:7%;bottom:15%;font-size:76px;color:#deee9c;opacity:.52;transform:translate(44%,20%)}
.art-aquatrack{background:#bfdff2;color:#1c3e74;background-image:radial-gradient(circle at 50% 50%,#e6f8ff 0,#bfdff2 66%)}.aqua-bubble{position:absolute;border:1px solid #fff9;border-radius:50%;width:340px;height:340px}.aqua-bubble:nth-child(2){width:445px;height:445px}.aqua-phone{width:42%;height:85%;max-width:200px;min-width:152px;border:7px solid #273d64;border-radius:29px;background:#fafcfe;box-shadow:15px 21px 0 #1a54951d,0 18px 40px #29699d50;transform:rotate(8deg);padding:15px 13px;color:#213e67;display:flex;flex-direction:column;z-index:2}.aqua-top{display:flex;align-items:center;justify-content:space-between;font:700 9px var(--display)}.aqua-drop{color:#4b9ed9;font-size:20px}.aqua-greet{font:700 15px var(--display);margin:14px 0 3px}.aqua-sub{font:600 8px var(--sans);color:#90a4ba}.aqua-ring{width:116px;height:116px;max-width:100%;margin:11px auto 8px;border-radius:50%;background:conic-gradient(#4b9ce0 0 76%,#dceaf6 76% 100%);display:grid;place-items:center}.aqua-ring:before{content:'76%';display:grid;place-items:center;background:#f7fbff;width:86px;height:86px;border-radius:50%;font:700 25px var(--display)}.aqua-amount{text-align:center;color:#3c5872;font:600 9px var(--display)}.aqua-buttons{display:flex;justify-content:space-around;gap:5px;margin-top:auto}.aqua-buttons span{font:700 9px var(--display);border:1px solid #d7e5ef;border-radius:12px;padding:8px 5px;background:#edf6fd}.aqua-splash{position:absolute;left:13%;top:26%;font:700 100px var(--serif);color:#2c8ccc2f;transform:rotate(-25deg)}
.art-plantatree{background:#d6e5a8;color:#2b4c28}.tree-orb{position:absolute;width:270px;height:270px;right:14%;top:4%;border-radius:50%;background:#b8d581}.tree-app{width:75%;max-width:370px;height:75%;background:#f9fbee;border:8px solid #325237;border-radius:23px;box-shadow:20px 24px 0 #345b4223;transform:rotate(-5deg);padding:17px;z-index:1;overflow:hidden}.tree-top{font:700 11px var(--display);color:#284e3d;display:flex;justify-content:space-between}.tree-top span{color:#84a765}.tree-title{font:700 23px var(--display);letter-spacing:-.04em;margin-top:13px}.tree-chips{display:flex;gap:7px;margin:9px 0 14px}.tree-chips span{padding:4px 8px;border-radius:100px;border:1px solid #bacfb1;font:700 8px var(--display)}.tree-chips span:first-child{background:#325337;color:#fff}.tree-cards{display:flex;gap:10px;height:53%}.tree-mini{background:#d7e8ca;border-radius:9px;flex:1;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}.tree-mini:nth-child(2){background:#eddfbc}.tree-mini:nth-child(3){background:#cadbd2}.tree-mini .plant{font-size:53px;line-height:1}.tree-mini small{font:700 8px var(--display)}
.art-public-transport{background:#f4b9a5;color:#432a28}.route-board{width:75%;height:77%;background:#fef7f0;border-radius:12px;border:5px solid #583a35;box-shadow:16px 18px 0 #9a594d40;transform:rotate(4deg);padding:18px 22px;position:relative;max-width:390px}.route-head{display:flex;align-items:center;justify-content:space-between;font:700 13px var(--display);border-bottom:1px solid #dec9bc;padding-bottom:10px}.route-bus{background:#f4b25a;padding:6px 8px;border-radius:6px}.route-title{font:700 20px var(--display);margin:11px 0}.route-line{position:relative;margin-left:11px;padding-left:20px;border-left:3px solid #eab567;display:flex;flex-direction:column;gap:10px}.route-stop{display:flex;align-items:center;justify-content:space-between;font:700 10px var(--display);position:relative;gap:20px}.route-stop:before{content:'';position:absolute;left:-27px;width:11px;height:11px;border:3px solid #f0ad55;border-radius:50%;background:#fffaf4}.route-stop span{font:600 9px var(--display);color:#a48475}.route-stop:first-child:before{background:#374f43;border-color:#374f43}.route-deco{font:700 130px var(--display);position:absolute;right:-5%;bottom:-14%;opacity:.13;transform:rotate(-15deg)}
.art-pokemon-explorer{background:#f4d962;color:#30353a}.poke-back{position:absolute;width:260px;height:300px;border-radius:21px;background:#fdf5c3;border:6px solid #444a4a;transform:rotate(-17deg) translateX(-55px);box-shadow:6px 13px 0 #434a4440}.poke-card{width:230px;height:302px;max-width:54%;background:#fdf9dd;border-radius:18px;border:7px solid #364747;transform:rotate(9deg) translate(40px,2px);box-shadow:16px 20px 0 #1d393a35;padding:14px;display:flex;flex-direction:column}.poke-head{display:flex;justify-content:space-between;align-items:center;font:700 14px var(--display)}.poke-head span{font-size:9px;background:#efb547;padding:5px 7px;border-radius:6px}.poke-figure{background:#b8ddbd;border-radius:10px;margin:12px 0;height:150px;display:grid;place-items:center;font-size:100px;line-height:1}.poke-stats{font:700 10px var(--display);display:flex;justify-content:space-between}.poke-bars{display:flex;gap:5px;margin-top:8px}.poke-bars i{height:7px;flex:1;border-radius:10px;background:#e2a448}.poke-bars i:nth-child(3){background:#8cbab4}
.art-virtual-library{background:#d4c8ee;color:#47375e}.book-frame{width:76%;max-width:375px;height:75%;border-radius:12px;border:6px solid #54456d;background:#f4ecff;box-shadow:17px 18px 0 #75639540;transform:rotate(-4deg);padding:17px}.book-head{display:flex;justify-content:space-between;font:700 15px var(--display)}.book-search{border-radius:15px;background:#e5dbf4;color:#907aa7;font:600 9px var(--display);padding:10px 12px;margin:14px 0}.book-shelf{display:flex;gap:9px;height:54%;align-items:stretch}.book{flex:1;border-radius:4px 9px 9px 4px;padding:14px 6px;color:white;font:700 12px var(--display);word-break:break-word;line-height:1.3;box-shadow:inset 7px 0 #0002}.book:nth-child(1){background:#bd735e}.book:nth-child(2){background:#697a88}.book:nth-child(3){background:#67715d}.book:nth-child(4){background:#ab8e54}.book-footer{font:700 8px var(--display);margin-top:13px;color:#6e5d82}
/* About */
.about-section{border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:42% 1fr;gap:8%;margin-top:55px}.about-photo{min-height:510px;border-radius:18px;background:var(--lime);color:var(--lime-ink);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.about-photo:before,.about-photo:after{content:'';position:absolute;border:1px solid #293e2850;width:80%;height:75%;border-radius:50%;transform:rotate(40deg)}.about-photo:after{transform:rotate(-40deg)}.about-initials{font:700 clamp(125px,19vw,270px)/1 var(--display);letter-spacing:-.14em;transform:rotate(-6deg);z-index:2;margin-right:28px}.about-photo-caption{position:absolute;left:25px;bottom:20px;right:25px;display:flex;justify-content:space-between;font:700 11px var(--display);letter-spacing:.08em;z-index:3}.about-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:2}.about-text{display:flex;flex-direction:column;justify-content:center}.about-text .large-copy{font:500 clamp(28px,3.6vw,49px)/1.26 var(--display);letter-spacing:-.055em;margin:0 0 28px}.about-text .large-copy em{font:italic 1.1em var(--serif);color:var(--lime)}.about-text p{color:var(--muted);line-height:1.8;max-width:650px;font-size:15px;margin:0 0 16px}.about-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:38px;border-top:1px solid var(--line);padding-top:26px}.about-details strong{display:block;font:700 12px var(--display);letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px}.about-details span{color:var(--muted);font-size:13px}.skills-section{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.skills-heading{font:500 clamp(42px,5vw,74px) var(--display);letter-spacing:-.07em;margin:0 0 45px}.skills-heading em{font-family:var(--serif);font-weight:400;color:var(--lime)}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.skill-card{background:var(--bg);border:1px solid var(--line);border-radius:13px;padding:26px 23px;min-height:215px}.skill-no{color:var(--lime);font:700 11px var(--display)}.skill-card h3{font:600 20px var(--display);letter-spacing:-.04em;margin:25px 0 14px}.skill-card p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.experience-section{padding:90px 0}.experience-row{display:grid;grid-template-columns:1fr 1.1fr 1.25fr;gap:25px;border-bottom:1px solid var(--line);padding:26px 0;align-items:start}.experience-row:first-of-type{border-top:1px solid var(--line)}.experience-row strong{font:600 23px var(--display);letter-spacing:-.04em}.experience-row h3{font:600 17px var(--display);margin:0 0 4px}.experience-row .period{color:var(--lime);font:700 11px var(--display);letter-spacing:.07em}.experience-row p{color:var(--muted);font-size:13px;margin:0;line-height:1.7}
/* Contact */
.contact-section{background:var(--lime);color:var(--lime-ink);padding:104px 0 90px}.contact-section .section-kicker{color:var(--lime-ink)}.contact-section .section-kicker span{background:var(--lime-ink)}.contact-heading{font:600 clamp(72px,11vw,160px)/.9 var(--display);letter-spacing:-.09em;margin:22px 0 30px}.contact-heading em{font:italic 1.06em var(--serif);letter-spacing:-.04em}.contact-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.contact-bottom p{max-width:390px;font-size:16px;line-height:1.7;margin:0}.contact-actions{display:flex;gap:11px;flex-wrap:wrap}.dark-pill{border:1px solid #242a23;background:#171a17;color:#f9f7ed;border-radius:100px;padding:17px 24px;font:700 12px var(--display);cursor:pointer;display:inline-flex;align-items:center;gap:18px}.dark-pill:hover{transform:translateY(-3px)}.outline-pill{border:1px solid #222;color:#1b211a;background:transparent;border-radius:100px;padding:16px 22px;font:700 12px var(--display);display:inline-flex;align-items:center;gap:12px}.contact-missing{display:flex;gap:8px;align-items:center;font:700 12px var(--display);opacity:.85}.site-footer{background:var(--bg);padding:27px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}.footer-inner>span{font:500 11px var(--display);color:var(--muted)}.footer-inner>div{display:flex;gap:24px}.footer-inner>div a{font:700 11px var(--display)}.footer-brand{font:700 29px var(--display);letter-spacing:-.1em}.footer-brand span{color:var(--lime);font-size:16px;vertical-align:top;margin-left:4px}
/* Case study routes */
.case-hero{padding:66px 0 40px}.case-breadcrumb{font:700 11px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.case-breadcrumb a{color:var(--lime)}.case-title{font:600 clamp(74px,10vw,150px)/.94 var(--display);letter-spacing:-.08em;margin:39px 0 24px;max-width:1050px}.case-summary{display:flex;justify-content:space-between;gap:50px;align-items:end}.case-summary p{max-width:760px;font:400 clamp(20px,2.4vw,31px)/1.5 var(--sans);letter-spacing:-.03em;color:var(--muted);margin:0}.case-spark{font:400 100px/1 var(--serif);color:var(--lime);flex-shrink:0}.case-cover{height:clamp(430px,53vw,650px);border-radius:18px;overflow:hidden;margin:34px 0 0;position:relative}.case-cover .art-inner{transform:scale(1.18)}.case-cover img{width:100%;height:100%;object-fit:cover}.case-cover .card-number{top:30px;left:30px}.case-cover .art-label{bottom:27px;left:30px}.case-overview{display:grid;grid-template-columns:280px 1fr;gap:10%;padding:87px 0 72px;border-bottom:1px solid var(--line)}.case-label{font:700 11px var(--display);letter-spacing:.15em;text-transform:uppercase;color:var(--lime);padding-top:13px}.case-overview h2{font:500 clamp(30px,4vw,57px)/1.2 var(--display);letter-spacing:-.055em;margin:0 0 24px}.case-overview p{font-size:16px;color:var(--muted);line-height:1.85;max-width:750px;margin:0 0 16px}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:32px 0 55px;border-bottom:1px solid var(--line)}.case-facts dt{font:700 11px var(--display);text-transform:uppercase;color:var(--muted);letter-spacing:.12em;margin-bottom:9px}.case-facts dd{margin:0;font:600 16px var(--display)}.case-process{padding-top:100px;padding-bottom:103px}.case-process>h2{font:500 clamp(52px,6vw,89px) var(--display);letter-spacing:-.07em;margin:17px 0 45px}.case-process>h2 em{font-family:var(--serif);color:var(--lime);font-weight:400}.process-step{display:grid;grid-template-columns:190px 1fr 1.25fr;gap:30px;align-items:start;padding:31px 0;border-top:1px solid var(--line)}.process-step:last-child{border-bottom:1px solid var(--line)}.process-step .step-num{font:700 12px var(--display);color:var(--lime)}.process-step h3{font:600 clamp(24px,3vw,36px) var(--display);letter-spacing:-.05em;margin:0}.process-step p{font-size:15px;color:var(--muted);line-height:1.8;margin:0}.case-outcome{padding:95px 0;background:var(--bg2)}.case-outcome .outcome-inner{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.case-outcome h2{font:600 clamp(58px,7vw,98px)/1 var(--display);letter-spacing:-.07em;margin:16px 0}.case-outcome h2 em{font:italic 1em var(--serif);color:var(--lime)}.outcome-copy{font-size:22px;line-height:1.6;color:var(--muted)}.case-gallery{padding-bottom:92px}.case-gallery h2{font:600 36px var(--display);letter-spacing:-.05em;margin:0 0 22px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.gallery-grid img{width:100%;height:auto;display:block;border-radius:12px}.case-next{border-top:1px solid var(--line);padding:70px 0 90px}.case-next a{display:flex;align-items:center;justify-content:space-between;gap:20px;font:500 clamp(33px,5vw,70px) var(--display);letter-spacing:-.07em}.case-next a span:last-child{color:var(--lime)}.case-next a:hover{color:var(--lime)}.text-cta{display:inline-flex;align-items:center;gap:10px;color:var(--lime);font:700 14px var(--display);border-bottom:1px solid var(--lime);padding-bottom:5px}
@media(max-width:1120px){.hero h1{font-size:clamp(62px,9.3vw,116px)}.hero-art{opacity:.42;right:-12%}.card-tags{display:none}.case-overview{grid-template-columns:190px 1fr;gap:7%}.skills-grid{grid-template-columns:1fr 1fr}.experience-row{grid-template-columns:1fr 1fr}.experience-row p{grid-column:2}.process-step{grid-template-columns:100px 1fr 1.5fr}}
@media(max-width:750px){.site-header{height:72px}.desktop-nav,.location-tag{display:none}.mobile-toggle{display:flex}.header-right{gap:14px}.wrap{padding-left:22px;padding-right:22px}.hero .wrap{min-height:710px;padding-top:37px;padding-bottom:35px}.hero-index{font-size:10px}.hero-content{align-items:flex-start;padding-top:65px;min-height:510px}.hero h1{font-size:clamp(60px,12.4vw,100px);margin:20px 0 26px;letter-spacing:-.083em}.hero-copy{width:100%}.hero-art{width:260px;height:250px;top:265px;right:-60px;opacity:.31;transform:scale(.8)}.hero-desc{font-size:15px;max-width:430px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:16px}.hero-bottom .mini-intro{font-size:10px}.pill-button{padding:15px 17px}.hero-links{gap:17px}.section-pad{padding-top:78px;padding-bottom:75px}.section-intro{align-items:start;flex-direction:column;gap:8px;margin-bottom:35px}.section-aside{max-width:430px}.section-title{font-size:clamp(58px,10vw,87px)}.projects-grid{grid-template-columns:1fr;gap:43px}.card-visual{height:clamp(270px,76vw,480px)}.card-meta h3{font-size:30px}.card-tags{display:flex}.about-grid{grid-template-columns:1fr;gap:35px}.about-photo{min-height:380px}.about-initials{font-size:185px}.about-text .large-copy{font-size:36px}.skills-grid{grid-template-columns:1fr 1fr}.contact-section{padding:73px 0}.contact-heading{font-size:clamp(76px,13vw,130px)}.contact-bottom{align-items:flex-start;flex-direction:column}.case-hero{padding-top:45px}.case-title{font-size:clamp(62px,12vw,110px)}.case-spark{display:none}.case-summary p{font-size:20px}.case-cover{height:440px}.case-overview{grid-template-columns:1fr;gap:25px;padding:60px 0}.case-overview h2{font-size:37px}.case-facts{grid-template-columns:1fr 1fr;gap:28px}.case-process{padding:73px 0}.process-step{grid-template-columns:65px 1fr;gap:12px}.process-step p{grid-column:2}.case-outcome .outcome-inner{grid-template-columns:1fr;gap:10px}.case-outcome{padding:76px 0}.case-next{padding:50px 0}.footer-inner{flex-wrap:wrap}.footer-inner>span{order:3;flex:1 1 100%}}
@media(max-width:470px){.hero .wrap{min-height:690px}.hero-content{min-height:485px;padding-top:68px}.hero h1{font-size:clamp(55px,13vw,78px)}.hero-art{right:-145px;top:295px}.availability{font-size:9px;padding:9px}.hero-index{display:none}.hero-links .plain-link{display:none}.card-visual{height:305px}.card-meta{flex-direction:column;gap:3px}.card-meta h3{font-size:29px}.card-tags{padding:0}.vc-shell{width:85%;height:66%}.aqua-phone{height:84%;min-width:147px}.route-board{width:85%;padding:13px}.book-frame{width:85%}.tree-app{width:83%;padding:12px}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:175px}.about-details{grid-template-columns:1fr}.experience-row{grid-template-columns:1fr;gap:9px}.experience-row p{grid-column:1}.contact-heading{font-size:clamp(71px,17vw,98px)}.case-cover{height:320px}.case-facts{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.case-title{font-size:clamp(58px,13vw,85px)}.case-process>h2{font-size:60px}.outcome-copy{font-size:19px}.footer-inner>div{gap:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
