:root{--paper:#f5f6f1;--ink:#171d23;--muted:#60696b;--line:#d9ded7;--lime:#c7f681;--dark:#181f29;--blue:#5660e9;--white:#fff;--mono:'DM Mono',ui-monospace,SFMono-Regular,Consolas,monospace;--sans:'Manrope','DM Sans',system-ui,-apple-system,sans-serif;--radius:20px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--lime);color:var(--ink)}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
img,svg{max-width:100%}
[hidden]{display:none!important}
.wrap{width:min(100% - 104px,1360px);margin-inline:auto}
.skip-link{position:fixed;z-index:9999;top:-100px;left:16px;padding:12px 20px;background:var(--lime);color:var(--ink)}
.skip-link:focus{top:15px}
.announcement{height:32px;padding:0 52px;display:flex;align-items:center;gap:12px;background:var(--dark);color:#e2e9db;font:500 9px var(--mono);letter-spacing:1.35px}
.status-light{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px #c7f6811b}
.announcement-separator{color:#657174}
.announcement-right{margin-left:auto;color:#a4b3a9}
.site-header{position:sticky;top:0;z-index:40;background:#f5f6f1ee;border-bottom:1px solid #e3e7dd;backdrop-filter:blur(15px);transition:box-shadow .2s ease}
.site-header.scrolled{box-shadow:0 8px 24px #101a2010}
.header-inner{height:83px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:12px;min-width:280px}
.brand-mark{display:grid;place-items:center;position:relative;width:44px;height:44px;background:var(--ink);color:var(--lime);border-radius:11px;font-size:16px;font-weight:800;letter-spacing:-2.2px;transform:rotate(-3deg)}
.brand-spark{position:absolute;font-size:10px;top:2px;right:3px;letter-spacing:0}
.brand-name{font-size:12px;line-height:1.2;letter-spacing:-.6px;font-weight:800}
.brand-name-line{white-space:nowrap}
.brand-name small{display:block;margin-top:6px;font:400 8px var(--mono);letter-spacing:1.25px;color:var(--muted)}
.desktop-nav{margin:auto;display:flex;gap:34px;align-items:center}
.desktop-nav a{font-size:12px;font-weight:700;color:#444f50;transition:color .2s}
.desktop-nav a:hover{color:var(--blue)}
.header-contact{white-space:nowrap;display:inline-flex;align-items:center;gap:15px;font-size:12px;font-weight:800;color:var(--ink);padding:13px 17px;border:1px solid var(--ink);border-radius:100px;transition:background .2s,color .2s}
.header-contact:hover{background:var(--ink);color:white}
.menu-button,.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;min-height:705px;align-items:center;padding-block:84px 106px}
.hero-content{position:relative;z-index:2;align-self:center}
.eyebrow,.section-label{font:500 10px var(--mono);letter-spacing:1.2px}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:32px}
.eyebrow-line{width:34px;height:1px;background:var(--ink)}
.eyebrow-heart{color:var(--blue);font-size:17px;line-height:10px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(65px,6.25vw,110px);letter-spacing:-.093em;line-height:1.085;font-weight:800;margin-bottom:27px}
.h1-second{white-space:nowrap}
.h1-last{white-space:nowrap}
h1 em,.serif-italic,.contact-section h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.075em;font-style:italic}
h1 em{color:var(--blue)}
.hero-subtitle{font-size:15px;line-height:1.95;max-width:530px;color:#58615e;letter-spacing:-.13px}
.hero-buttons{display:flex;align-items:center;gap:15px;margin-top:33px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:42px;font-size:12px;font-weight:800;border-radius:100px;padding:17px 23px;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-3px)}
.button-dark{background:var(--ink);color:#fff;box-shadow:0 10px 28px #171d231f}
.button-dark:hover{background:#3840ac}
.button-dark span,.button-plain span{font-size:18px;font-weight:400}
.button-plain{background:transparent;gap:28px}
.button-plain:hover{color:var(--blue)}
.hero-meta{border-top:1px solid var(--line);margin-top:59px;padding-top:20px;display:flex;flex-wrap:wrap;gap:30px;color:#686f6c;font:400 9px var(--mono);letter-spacing:.7px}
.meta-icon{font-size:14px;color:var(--ink);vertical-align:-1px;margin-right:6px}
.hero-art{height:535px;border-radius:30px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 78% 17%,#5b63a4 0%,transparent 43%),linear-gradient(145deg,#292e42 0%,#141c2a 64%,#1b282d 100%);box-shadow:0 28px 60px #17232b16}
.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:35px 35px;mask-image:linear-gradient(140deg,#000,transparent 88%)}
.art-orbit{position:absolute;border:1px solid #e4ffab29;border-radius:50%;width:470px;height:470px;top:-255px;right:-170px}
.orbit-two{width:660px;height:660px;top:-350px;right:-245px}
.art-tag{position:absolute;top:34px;left:34px;color:#d5e3f4;font:500 9px var(--mono);letter-spacing:1.1px}
.visual-card-main{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%) rotate(-4deg);width:76%;max-width:405px;overflow:hidden;border:1px solid #7a839b69;border-radius:17px;background:#111925;box-shadow:0 35px 70px #0007}
.visual-card-header{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#ffffff0b;border-bottom:1px solid #ffffff12;color:#c3cdd5;font:400 10px var(--mono)}
.visual-dots{display:flex;gap:5px}.visual-dots i{width:7px;height:7px;background:#f1a092;border-radius:50%}.visual-dots i:nth-child(2){background:#e9c57e}.visual-dots i:nth-child(3){background:#b9df94}.visual-icon{font-size:17px}
.visual-code{padding:25px 27px 22px;color:#c9d1da;font:400 13px/2 var(--mono);white-space:nowrap}.code-comment{display:block;color:#75859b;margin-bottom:8px;font-size:11px}.code-purple{color:#b3afff}.code-white{color:white}.code-green{color:#a3dcd1}.code-yellow{color:#dddf9f}.code-indent{padding-left:22px}
.visual-progress{margin:0 26px 25px;padding-top:19px;border-top:1px solid #ffffff19}.progress-title{display:flex;justify-content:space-between;font:400 10px var(--mono);color:#ced8e1;margin-bottom:11px}.progress-title span:last-child{color:var(--lime)}.progress-track{height:5px;border-radius:10px;background:#354358;overflow:hidden}.progress-fill{width:100%;height:100%;background:var(--lime)}
.visual-floating{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;border:1px solid #ffffff60;background:#fff;color:#181f29;box-shadow:0 17px 40px #0003}
.visual-float-left{bottom:85px;left:22px;padding:13px 17px 13px 13px;border-radius:13px;transform:rotate(5deg);font-size:11px;font-weight:800}.visual-float-left small{display:block;font:400 8px var(--mono);color:#656e76;margin-top:6px}.float-check{display:grid;place-items:center;border-radius:10px;background:#c7f681;width:32px;height:32px;font-size:18px}
.visual-float-right{right:17px;top:111px;padding:10px 14px;border-radius:30px;font:500 9px var(--mono);letter-spacing:.4px;transform:rotate(6deg)}.tiny-spark{font-size:15px;color:var(--blue)}
.art-coordinate{position:absolute;bottom:27px;left:30px;color:#a6bbba;font:400 9px var(--mono);letter-spacing:1px}.art-corner{position:absolute;bottom:27px;right:30px;color:#a6bbba;font:400 9px var(--mono)}
.ticker{height:63px;background:var(--lime);overflow:hidden;display:flex;align-items:center;white-space:nowrap}.ticker-inner{display:flex;gap:29px;align-items:center;width:max-content;animation:marquee 43s linear infinite}.ticker span{font-size:13px;font-weight:800;letter-spacing:1px}.ticker i{font-size:17px;font-style:normal;color:#637935}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding-block:118px 133px}.section-label{color:#5f6965}.section-number{color:var(--blue);font-weight:500;margin-right:7px}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(55px,7.4vw,125px);margin-top:51px}
.about-copy h2,.section-heading-row h2{font-size:clamp(44px,5.1vw,76px);line-height:1.12;letter-spacing:-.075em;font-weight:800;margin:0 0 30px}
.serif-italic{color:var(--blue)}.about-copy p{color:#65706a;font-size:14px;line-height:1.95;max-width:565px;margin-bottom:16px}.about-copy p strong{font-weight:800;color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:28px;font-size:12px;font-weight:800;border-bottom:1px solid var(--ink);padding:9px 0 11px;margin-top:17px}.text-link span{font-size:18px;font-weight:400}.text-link:hover{color:var(--blue);border-color:var(--blue)}
.about-visual{height:460px;border-radius:25px;position:relative;padding:31px;overflow:hidden;background:#dce0f8;display:flex;flex-direction:column;justify-content:space-between}.about-visual::before,.about-visual::after{content:"";position:absolute;border-radius:50%;border:1px solid #657ac44d;width:540px;height:540px;top:50%;left:50%;transform:translate(-50%,-50%)}.about-visual::after{width:375px;height:375px}.about-visual-top,.about-visual-bottom{z-index:2;display:flex;justify-content:space-between;align-items:center;font:500 9px/1.7 var(--mono);letter-spacing:.5px}.about-big-symbol{position:absolute;top:50%;left:50%;transform:translate(-50%,-53%);font-size:clamp(220px,24vw,385px);line-height:1;font-weight:800;letter-spacing:-.15em;color:#171d2d;text-shadow:14px 18px 0 #aab4f8}.about-big-symbol span{font:400 100px/1 var(--sans);position:absolute;right:-48px;top:10px;color:#5460db}.about-arrow{font-size:25px;font-weight:400}
.expertise-section{background:#e9eee7}.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:75px;margin-top:44px;margin-bottom:41px}.section-heading-row h2{margin:0}.section-heading-row p{font-size:14px;line-height:1.85;color:#68716c;max-width:310px;margin:0 0 10px}
.expertise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.expertise-card{background:#f9faf6;min-height:455px;padding:27px 22px 28px;border:1px solid #dce2d9;border-radius:17px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.expertise-card:hover{transform:translateY(-7px);box-shadow:0 20px 35px #1e2a2211}
.expertise-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.skill-number{font:500 11px var(--mono);color:#929e94}.skill-icon{background:var(--lime);height:50px;width:50px;border-radius:14px;display:grid;place-items:center;color:var(--ink);font:700 27px var(--mono)}.code-icon{font-size:17px;letter-spacing:-2px}.expertise-card:nth-child(2) .skill-icon{background:#dce0f8}.expertise-card:nth-child(3) .skill-icon{background:#e9dff4}.expertise-card:nth-child(4) .skill-icon{background:#e3e8dc}
.expertise-card h3{font-size:24px;line-height:1.22;letter-spacing:-1.3px;margin-bottom:15px}.expertise-card p{font-size:12px;line-height:1.75;color:#6c7670;margin-bottom:24px}.skill-pills{margin-top:auto;display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px}.skill-pills span{font:500 10px var(--sans);color:#49534f;background:#ebefeb;padding:8px 10px;border-radius:5px}
.projects-section{padding-bottom:120px}.projects-heading{margin-bottom:43px}.project-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0 24px;gap:15px}.project-filters{display:flex;flex-wrap:wrap;gap:5px}.filter-button{background:transparent;border:1px solid transparent;border-radius:100px;padding:11px 19px;font-size:11px;font-weight:800;color:#79817c;cursor:pointer;transition:.2s}.filter-button:hover{color:var(--ink);background:#e9ece6}.filter-button.active{background:var(--ink);color:#fff}.filter-button span{margin-left:7px;color:var(--lime);font:400 9px var(--mono)}.project-count{font:400 9px var(--mono);letter-spacing:.7px;color:#89918a;white-space:nowrap}
.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{border:1px solid #dfe4dc;border-radius:19px;overflow:hidden;background:#fcfdf9;transition:box-shadow .2s,transform .2s}.project-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px #202b2614}.project-art{height:285px;position:relative;overflow:hidden}.project-art-header{position:absolute;z-index:3;top:23px;left:25px;right:25px;display:flex;justify-content:space-between;color:#e4e9de;font:500 9px var(--mono);letter-spacing:.7px}
.art-fitness{background:linear-gradient(125deg,#bedeca 0%,#8bb2a6 100%)}.art-fitness::before{content:"";position:absolute;top:-80px;left:-100px;border:1px solid #ffffff6d;width:450px;height:450px;border-radius:50%}.art-fitness .project-art-header{color:#1e493f}.fitness-phone{width:178px;height:320px;border:7px solid #172b29;border-bottom:0;border-radius:28px 28px 0 0;background:#f0f1df;position:absolute;left:50%;top:34px;transform:translateX(-50%) rotate(-9deg);box-shadow:15px 10px 20px #263d3540;padding:25px 16px}.phone-notch{position:absolute;width:50px;height:12px;background:#172b29;border-radius:0 0 9px 9px;top:0;left:50%;transform:translateX(-50%)}.phone-greeting{font:500 6px var(--mono);letter-spacing:.5px}.phone-greeting span{color:#4b8d65}.phone-heading{font-size:22px;font-weight:800;line-height:1.15;letter-spacing:-1.4px;margin-top:13px}.phone-stripe{margin-top:21px;display:flex;justify-content:space-between;align-items:center;font:500 6px var(--mono)}.phone-stripe b{font-size:13px}.phone-chart{height:73px;display:flex;align-items:flex-end;gap:5px;border-bottom:1px solid #c3cbb9;margin-top:10px}.phone-chart i{display:block;flex:1;border-radius:3px 3px 0 0;background:#6d9783}.phone-chart i:nth-child(2n){background:#bed585}.phone-bottom{height:20px;background:#dcdfce;border-radius:5px;margin-top:13px}.fitness-bubble{position:absolute;right:32px;top:126px;padding:13px 15px;border-radius:9px;background:#eaf1df;transform:rotate(9deg);font:700 10px var(--mono);box-shadow:0 10px 25px #345a4926}.fitness-bubble span{color:#84a47d;margin-left:10px}
.art-plant{background:radial-gradient(circle at 80% 100%,#355a45,#122b27 55%,#0d2022 100%)}.plant-dashboard{width:77%;height:196px;background:#18332d;box-shadow:13px 19px 28px #061d1d70;border:1px solid #749e7577;border-radius:13px;position:absolute;top:77px;left:11%;display:flex;overflow:hidden;transform:rotate(3deg)}.dashboard-side{width:47px;display:flex;flex-direction:column;align-items:center;gap:18px;border-right:1px solid #ffffff1c;color:#9cad9e;padding:15px}.small-logo{font-weight:800;font-size:15px;color:#d7edb0}.dashboard-body{flex:1;padding:17px;color:white}.dash-title{font-size:13px;font-weight:800;display:flex;justify-content:space-between}.dash-title span{color:#c3ddc5}.dash-mini{font:400 7px var(--mono);margin-top:8px;color:#a0afa1;letter-spacing:.7px}.dash-graph{height:85px;margin-top:12px;background:linear-gradient(#ffffff0d 1px,transparent 1px);background-size:100% 23px}.dash-graph svg{width:100%;height:100%}.dash-cards{display:flex;gap:8px;margin-top:6px}.dash-cards i{flex:1;height:22px;border-radius:4px;background:#335146}.plant-floating{position:absolute;right:25px;bottom:34px;border:1px solid #95c899;background:#c7f681;color:#1c4632;border-radius:30px;padding:10px 14px;font:500 9px var(--mono);transform:rotate(-6deg)}
.art-network{background:radial-gradient(ellipse at 45% 48%,#364077,#141b3e 70%,#141a35)}.network-map{position:absolute;width:90%;height:88%;left:5%;top:11%}.network-terminal{position:absolute;bottom:14px;right:20px;border:1px solid #98a9fa5a;padding:10px 12px;background:#151d3edb;color:#d6e1ff;font:500 9px var(--mono)}.network-terminal span{color:var(--lime);padding-left:10px}
.art-workflow{background:linear-gradient(130deg,#dfe4fc,#c9d5e7)}.art-workflow .project-art-header{color:#444e73}.flow-stack{position:absolute;top:64px;left:50%;transform:translateX(-50%) rotate(-4deg);width:72%;background:#fff;border:1px solid #b8c5e0;border-radius:14px;padding:20px 18px;box-shadow:17px 22px 30px #53678e40}.flow-step{display:flex;align-items:center;gap:12px}.step-circle{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:50%;font-size:14px;background:#d4eccb;color:#28583b}.step-circle.current{background:#d7dcff;color:#4a56a4}.flow-step>span:nth-child(2){font-size:11px;font-weight:800;letter-spacing:-.3px;flex:1}.flow-step small{display:block;font:400 7px var(--mono);color:#909fa0;margin-top:5px;letter-spacing:.5px}.flow-time{font:400 10px var(--mono);color:#969eaf}.flow-connector{border-left:1px dashed #a5c6aa;height:19px;margin:5px 0 5px 14px}.workflow-sticker{position:absolute;right:12px;bottom:14px;background:#151d2f;color:var(--lime);font:500 8px var(--mono);letter-spacing:.6px;padding:11px 14px;transform:rotate(7deg)}
.project-copy{padding:28px 30px 27px}.project-label{font:500 9px var(--mono);letter-spacing:1px;color:#65726a}.project-label span{padding:0 10px;color:#b5c1b5}.project-copy h3{font-size:25px;line-height:1.28;letter-spacing:-1.5px;margin:17px 0 12px}.project-copy p{font-size:12px;line-height:1.85;color:#68736c;max-width:490px;min-height:66px;margin-bottom:19px}.project-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:25px}.project-tags span{border:1px solid #e0e7df;border-radius:5px;padding:7px 9px;font:500 9px var(--sans);color:#6c7771}.project-link,.project-note{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e4e8e1;padding-top:17px;font-size:11px;font-weight:800}.project-link span,.project-note span{font-size:19px;font-weight:400}.project-link:hover{color:var(--blue)}.project-note{font:400 9px var(--mono);letter-spacing:.5px;color:#7b867c}.project-footnote{font-size:11px;color:#839087;margin-top:25px}
.experience-section{background:#e9eee7;padding-bottom:125px}.timeline{margin-top:45px;border-top:1px solid #cfd8cf}.timeline-item{display:grid;grid-template-columns:240px 1fr;gap:48px;padding:31px 0 35px;border-bottom:1px solid #cfd8cf}.timeline-date{font:500 11px var(--mono);letter-spacing:.3px;padding-top:5px}.timeline-date span{display:block;margin-top:9px;color:#869086;font-size:9px}.timeline-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.timeline-heading h3{font-size:24px;line-height:1.4;letter-spacing:-1.1px;margin-bottom:5px}.timeline-type{white-space:nowrap;background:#dce4d9;font:500 8px var(--mono);border-radius:3px;padding:7px 8px;color:#66746a}.timeline-org{font-size:12px;font-weight:700;color:var(--blue)}.timeline-org span{color:#879088;font-weight:500}.timeline-main p{font-size:12px;color:#67736a;line-height:1.9;max-width:700px;margin:17px 0}.timeline-chips{display:flex;flex-wrap:wrap;gap:7px}.timeline-chips span{border:1px solid #cbd5ca;border-radius:20px;padding:7px 12px;font-size:10px;color:#5c695e}
.contact-section{background:#151c25;position:relative;overflow:hidden;color:#f4f6f0;padding-block:81px 102px}.contact-section::before{content:"";position:absolute;left:55%;top:-56%;width:760px;height:760px;border-radius:50%;border:1px solid #c7f68121;box-shadow:0 0 0 85px #b9dbfe09,0 0 0 170px #b9dbfe07;pointer-events:none}.contact-section .section-label{color:#aab5ae}.contact-section .section-number{color:var(--lime)}.contact-wrap{position:relative}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact-asterisk{font-size:62px;line-height:1;color:var(--lime);font-weight:300}.contact-kicker{margin:70px 0 23px;color:#b6c4b8;font:500 11px var(--mono);letter-spacing:1.5px}.contact-section h2{font-size:clamp(62px,8.4vw,135px);line-height:1.03;letter-spacing:-.09em;font-weight:800;margin:0 0 65px}.contact-section h2 em{color:var(--lime)}.contact-bottom{border-top:1px solid #394249;padding-top:33px;display:grid;grid-template-columns:1fr 260px;gap:55px}.contact-bottom p{font-size:13px;line-height:1.85;color:#b9c4bc;max-width:400px;margin-bottom:23px}.contact-email{font-size:clamp(16px,2.2vw,27px);font-weight:800;letter-spacing:-1.3px;display:inline-flex;align-items:center;gap:15px;flex-wrap:wrap;border-bottom:1px solid #677377;padding-bottom:9px}.contact-email:hover{color:var(--lime)}.contact-email span{font-size:24px;font-weight:400}.copy-button{display:block;margin-top:17px;padding:9px 0;border:0;background:transparent;color:#b2bdad;font:400 10px var(--mono);cursor:pointer}.copy-button:hover{color:var(--lime)}.copy-button span{font-size:14px;margin-left:6px}.contact-links{display:flex;flex-direction:column;gap:15px}.contact-links>span{font:500 9px var(--mono);color:#91a29b;letter-spacing:1px;margin-bottom:13px}.contact-links a{font-size:13px;font-weight:800;display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid #394249}.contact-links a:hover{color:var(--lime)}.contact-links a span{font-size:20px;font-weight:400}
.site-footer{background:#111820;color:#84928e}.footer-inner{min-height:97px;display:flex;align-items:center;gap:38px}.footer-brand{font-size:26px;font-weight:800;letter-spacing:-2px;color:white;margin-right:23px}.footer-brand span{color:var(--lime);font-size:11px;vertical-align:top;margin-left:2px}.footer-inner>span,.footer-inner>a:last-child{font:400 9px var(--mono);letter-spacing:.5px}.footer-inner>span:nth-child(3){margin-left:auto}.footer-inner>a:last-child{color:#f1f4eb}.footer-inner>a:last-child:hover{color:var(--lime)}
.reveal{opacity:0;transform:translateY(19px);transition:opacity .56s ease,transform .56s ease}.reveal.in-view{opacity:1;transform:translateY(0)}
@media(min-width:1400px){.hero{min-height:775px}.hero-art{height:560px}}
@media(max-width:1190px){.wrap{width:min(100% - 72px,1240px)}.desktop-nav{gap:18px}.brand{min-width:245px}.hero{gap:26px;min-height:620px}.hero-art{height:470px}.hero h1{font-size:clamp(61px,6.35vw,89px)}.visual-code{font-size:11px}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expertise-card{min-height:350px}.expertise-top{margin-bottom:26px}.hero-meta{gap:14px;font-size:8px}.section{padding-block:95px}}
@media(max-width:780px){html{scroll-padding-top:76px}.wrap{width:min(100% - 42px,700px)}.announcement{height:28px;padding:0 21px;font-size:7px;letter-spacing:.7px;gap:8px}.announcement-right{display:none}.header-inner{height:72px}.brand{min-width:0}.brand-mark{width:42px;height:42px}.brand-name{font-size:11px}.brand-name small{font-size:7px}.desktop-nav,.header-contact{display:none}.menu-button{margin-left:auto;display:flex;flex-direction:column;gap:7px;justify-content:center;width:44px;height:44px;background:none;border:1px solid #c9d1c7;border-radius:9px;cursor:pointer;padding:12px}.menu-button span{height:2px;background:var(--ink);width:100%;transition:transform .2s}.menu-open .menu-button span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-open .menu-button span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:10px 22px 22px;border-top:1px solid var(--line);box-shadow:0 20px 30px #131e1d16;background:var(--paper)}.mobile-nav a{font-size:16px;padding:14px 4px;font-weight:800;border-bottom:1px solid var(--line)}.hero{display:flex;flex-direction:column;min-height:0;padding-block:75px 65px;align-items:stretch;gap:48px}.hero h1{font-size:clamp(58px,10vw,86px);line-height:1.04;margin-bottom:25px}.hero-subtitle{font-size:14px;max-width:570px}.hero-meta{margin-top:37px}.hero-art{height:440px;max-width:580px;width:100%;margin-inline:auto}.visual-card-main{width:74%}.section{padding-block:82px}.about-grid{grid-template-columns:1fr;gap:45px;margin-top:38px}.about-visual{height:390px}.about-big-symbol{font-size:285px}.section-heading-row{gap:28px;margin-top:34px;align-items:flex-start;flex-direction:column}.section-heading-row h2,.about-copy h2{font-size:clamp(43px,7vw,64px)}.section-heading-row p{max-width:560px}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-grid{grid-template-columns:1fr}.project-art{height:310px}.project-copy p{min-height:0}.project-toolbar{align-items:flex-start;flex-direction:column}.project-count{padding-left:8px}.timeline-item{grid-template-columns:1fr;gap:13px}.timeline-date span{display:inline;margin-left:9px}.contact-section h2{font-size:clamp(58px,10vw,88px)}.contact-bottom{grid-template-columns:1fr;gap:50px}.contact-links{max-width:400px}.footer-inner{min-height:105px;flex-wrap:wrap;gap:17px}.footer-inner>span:nth-child(3){margin-left:0}.footer-brand{margin-right:0}}
@media(max-width:480px){.wrap{width:calc(100% - 36px)}.announcement{font-size:6.5px}.brand-name{font-size:10px}.brand-name small{font-size:6px}.hero{padding-top:57px;gap:32px}.hero h1{font-size:clamp(47px,12.4vw,65px);letter-spacing:-.09em}.hero-subtitle{font-size:13px;line-height:1.85}.hero-eyebrow{margin-bottom:24px;font-size:8px}.hero-buttons{gap:5px;flex-wrap:wrap}.button{padding:15px 17px;font-size:11px;gap:23px}.hero-meta{gap:13px 30px}.hero-art{height:350px;border-radius:20px}.visual-card-main{width:80%;top:48%}.visual-card-header{height:33px;font-size:8px}.visual-code{padding:17px 16px;font-size:8px;line-height:2}.code-comment{font-size:8px}.visual-progress{margin:0 17px 18px;padding-top:12px}.progress-title{font-size:8px}.visual-float-left{bottom:56px;left:6px;transform:rotate(6deg) scale(.82);transform-origin:left bottom}.visual-float-right{top:68px;right:4px;transform:rotate(6deg) scale(.85);transform-origin:right top}.art-tag{top:19px;left:19px;font-size:7px}.art-coordinate{bottom:17px;left:18px;font-size:7px}.art-corner{bottom:17px;right:18px;font-size:8px}.ticker{height:51px}.ticker span{font-size:11px}.section{padding-block:72px}.section-label{font-size:9px}.about-copy h2,.section-heading-row h2{font-size:clamp(41px,10vw,51px)}.about-copy p{font-size:13px}.about-visual{height:340px;padding:22px}.about-big-symbol{font-size:245px}.about-big-symbol span{font-size:70px;right:-20px}.about-visual-top,.about-visual-bottom{font-size:7px}.expertise-grid{grid-template-columns:1fr}.expertise-card{min-height:0;padding:25px}.expertise-top{margin-bottom:20px}.expertise-card h3{font-size:24px}.project-filters{gap:5px}.filter-button{padding:10px 12px;font-size:10px}.project-art{height:245px}.project-copy{padding:24px}.project-copy h3{font-size:23px}.project-copy p{font-size:12px}.fitness-phone{top:33px;transform:translateX(-50%) rotate(-9deg) scale(.85);transform-origin:top center}.fitness-bubble{top:119px;right:9px;transform:rotate(9deg) scale(.85)}.plant-dashboard{height:166px;top:65px}.dashboard-side{width:38px;padding:12px;gap:12px}.dashboard-body{padding:13px}.dash-graph{height:62px}.dash-mini{font-size:6px}.dash-title{font-size:11px}.plant-floating{bottom:12px;right:6px;font-size:7px}.flow-stack{top:53px;width:83%;padding:15px}.workflow-sticker{bottom:8px;font-size:7px}.timeline-heading{align-items:flex-start;flex-direction:column;gap:7px}.timeline-heading h3{font-size:22px}.timeline-type{font-size:7px}.timeline-org{line-height:1.65}.contact-section{padding-block:63px 82px}.contact-asterisk{font-size:44px}.contact-kicker{margin-top:58px;font-size:9px}.contact-section h2{font-size:clamp(49px,12.8vw,73px);margin-bottom:49px}.contact-email{font-size:17px;letter-spacing:-.75px;gap:7px}.contact-email span{font-size:18px}.footer-inner{column-gap:12px;row-gap:13px}.footer-inner>span,.footer-inner>a:last-child{font-size:8px}.footer-inner>span:nth-child(3){display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media (min-width:781px) and (max-width:950px){
  .hero{grid-template-columns:1fr;min-height:0;padding-block:72px 87px;gap:40px}
  .hero h1{font-size:clamp(70px,8.8vw,85px)}
  .hero-art{height:465px;width:min(100%,650px);justify-self:center}
  .hero-subtitle{max-width:600px}
  .hero-meta{margin-top:35px}
  .brand{min-width:205px}
  .desktop-nav{gap:15px}
  .header-inner{gap:17px}
  .about-grid{gap:32px}
}


/* V2 enhancements — preserved original palette and layout */
.hero-roles{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px}
.hero-roles span{padding:8px 11px;border:1px solid #bdc9bb;border-radius:100px;font:500 9px var(--mono);letter-spacing:.3px;color:#304239;background:#f0f5eb}
.contact-inline{color:#344049}
.art-study{background:linear-gradient(130deg,#21394a 0%,#3c5b70 70%,#7e9ab0 100%)}
.art-study .project-art-header{color:#e9f4ff}
.study-display{position:absolute;left:50%;top:62px;transform:translateX(-50%) rotate(-3deg);width:min(73%,360px);padding:22px 23px;background:#f8faf5;border-radius:15px;box-shadow:18px 20px 30px #122c3b80;color:#183342}
.study-top,.study-bottom{display:flex;justify-content:space-between;gap:8px;font:500 8px var(--mono);letter-spacing:.6px}
.study-top span:last-child{color:#587b67}
.study-timer{text-align:center;font-size:clamp(50px,6vw,79px);font-weight:800;letter-spacing:-5px;line-height:1.6}
.study-timer span{color:#7f9e85}
.study-progress{height:7px;background:#dbe7dc;border-radius:10px;overflow:hidden}
.study-progress span{display:block;width:65%;height:100%;background:#9cbf9a;border-radius:10px}
.study-bottom{margin-top:16px;color:#6d8283}
.study-caption{position:absolute;right:20px;bottom:16px;padding:10px 14px;background:#d7f1b1;transform:rotate(5deg);border-radius:5px;font:500 8px var(--mono);color:#163d30}
.impact-section{padding:85px 0;background:#e9eddf}
.impact-wrap{display:grid;grid-template-columns:.9fr 1.1fr;align-items:start;gap:75px}
.impact-wrap h2{font-size:clamp(38px,5vw,72px);letter-spacing:-.065em;line-height:1.07;margin:27px 0}
.impact-wrap h2 em{font-family:Georgia,serif;font-weight:400}
.impact-wrap>div>p{line-height:1.85;color:#52625a;max-width:380px}
.impact-points{display:grid;gap:0;border-top:1px solid #bbc8b8}
.impact-points article{display:grid;grid-template-columns:38px 110px 1fr;gap:12px;align-items:baseline;padding:22px 0;border-bottom:1px solid #bbc8b8}
.impact-points span{font:500 11px var(--mono);color:#577259}
.impact-points h3{margin:0;font-size:22px}
.impact-points p{margin:0;font-size:12px;line-height:1.8;color:#52625a}
.resume-contact{display:inline-flex;align-items:center;gap:20px;margin-top:20px;padding:14px 20px;color:#172219;background:#c7f681;font-weight:800;border-radius:11px;font-size:12px}
.resume-contact:hover,.resume-contact:focus-visible{background:#dbffb1}
@media(max-width:950px){.impact-wrap{grid-template-columns:1fr;gap:35px}}
@media(max-width:560px){.impact-section{padding:65px 0}.impact-points article{grid-template-columns:30px 1fr;gap:7px}.impact-points p{grid-column:2}.study-display{width:82%;padding:17px}.study-timer{font-size:54px}.study-caption{font-size:7px}.hero-roles{gap:6px}.hero-roles span{font-size:8px;padding:7px 8px}.contact-inline{display:none}}
