:root{--paper:#f8f8f7;--ink:#171817;--muted:#777a76;--line:#dedfdb;--soft:#e9eae7;--accent:#a9e86e;--gutter:clamp(24px, 8.4vw, 150px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,Helvetica Neue,Arial,sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{color:#111;background:#d3f6ae}.page-gutter{padding-inline:var(--gutter)}.skip-link{z-index:20;color:var(--paper);background:var(--ink);border-radius:99px;padding:12px 16px;transition:transform .2s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid #17181712;justify-content:space-between;align-items:center;height:88px;display:flex}.wordmark{letter-spacing:-.045em;font-size:16px;font-weight:700}.wordmark-dot,.footer-top h2 span{color:#7bb548}.main-nav{align-items:center;gap:clamp(24px,4vw,66px);display:flex}.main-nav a,.footer-links a{align-items:center;gap:5px;font-size:13px;transition:opacity .2s;display:inline-flex}.main-nav a:hover,.footer-links a:hover{opacity:.58}.arrow-icon{flex:none;width:17px;height:17px}.arrow-icon--diagonal{width:14px;height:14px;transform:rotate(-45deg)}.hero{align-items:flex-start;min-height:590px;display:flex;position:relative}.hero-copy{width:min(100%,1070px);padding-top:clamp(94px,12vw,172px)}.eyebrow{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600;line-height:1.5}.hero .eyebrow{align-items:center;gap:9px;margin-bottom:25px;display:flex}.status-dot{background:#90cc61;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #90cc612b}.hero h1{letter-spacing:-.065em;max-width:1000px;margin:0;font-size:clamp(42px,5.1vw,76px);font-weight:400;line-height:1.08}.hero h1 strong{font-weight:600}.hero-bottom{justify-content:space-between;align-items:end;gap:32px;margin-top:27px;display:flex}.hero-subtitle{color:#626560;max-width:510px;margin:0;font-size:16px;line-height:1.7}.text-link{white-space:nowrap;border-bottom:1px solid #aaa;align-items:center;gap:12px;padding-bottom:5px;font-size:13px;display:inline-flex}.text-link:hover .arrow-icon{transform:translate(4px)}.text-link .arrow-icon{transition:transform .2s}.scroll-cue{right:var(--gutter);color:#8a8b88;letter-spacing:.04em;align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;bottom:0}.scroll-line{background:#aaa;width:44px;height:1px;display:block}.projects{padding-top:126px}.section-heading,.experience-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:32px;display:flex}.section-heading h2,.experience-heading h2{letter-spacing:-.06em;max-width:740px;margin:11px 0 0;font-size:clamp(28px,3.4vw,46px);font-weight:500;line-height:1.12}.section-index{color:var(--muted);padding-bottom:4px;font-size:12px}.project-card{background:#fff;border:1px solid #e1e2df;border-radius:18px;overflow:hidden}.project-preview{background:#e8e9e6;flex-direction:column;min-height:clamp(350px,45vw,590px);padding:25px 30px;display:flex;position:relative;overflow:hidden}.preview-topline,.preview-caption{z-index:2;color:#757871;letter-spacing:.13em;font-size:9px;font-weight:600;position:relative}.preview-topline{justify-content:space-between;display:flex}.preview-stage{flex:1;place-items:center;min-height:260px;display:grid;position:relative}.preview-stage:before{content:"";border:1px solid #ffffff94;border-radius:50%;position:absolute;inset:6% 11%;transform:rotate(-15deg)scaleY(.56)}.preview-window{background:#fafaf9f2;border:1px solid #272a2514;border-radius:8px;position:absolute;overflow:hidden;box-shadow:0 24px 70px #262b211a}.preview-window--back{opacity:.62;width:min(51%,520px);height:47%;transform:translate(13%,-10%)rotate(5deg)}.preview-window--front{width:min(58%,590px);height:66%;transform:translate(-7%,5%)rotate(-2.5deg)}.window-bar{border-bottom:1px solid #edeeeb;align-items:center;gap:4px;height:25px;padding-inline:10px;display:flex}.window-bar i{background:#d8d9d6;border-radius:50%;width:5px;height:5px}.window-content{height:calc(100% - 25px);display:flex}.window-sidebar{border-right:1px solid #edeeeb;flex-direction:column;gap:10%;width:18%;padding:9% 5%;display:flex}.window-sidebar b,.window-lines b{background:#e0e1de;border-radius:4px;height:5px;display:block}.window-sidebar b:first-child{background:#c4e2ad;width:80%;height:9px}.window-sidebar b:nth-child(2){width:63%}.window-sidebar b:nth-child(3){width:78%}.window-sidebar b:nth-child(4){width:52%}.window-main{flex:1;padding:5% 6%}.window-main>span{background:#d8d9d6;border-radius:5px;width:31%;height:9px;margin-bottom:5%;display:block}.window-tiles{gap:4%;display:flex}.window-tiles i{background:#f7f8f5;border:1px solid #eceeea;border-radius:4px;width:28%;height:clamp(18px,3.5vw,45px)}.window-chart{border:1px solid #eceeea;border-radius:4px;align-items:end;gap:4%;height:34%;margin-top:6%;padding:3% 6%;display:flex}.window-chart i{background:#c7e7b2;border-radius:2px 2px 0 0;flex:1;max-width:8%;height:35%}.window-chart i:nth-child(2){height:53%}.window-chart i:nth-child(3){height:43%}.window-chart i:nth-child(4){height:75%}.window-chart i:nth-child(5){height:62%}.window-chart i:nth-child(6){height:88%}.window-chart i:nth-child(7){height:68%}.window-lines{flex-direction:column;gap:13%;width:70%;margin:8% auto;display:flex}.window-lines b:first-child{background:#c9e3b3;width:34%;height:8px}.window-lines b:nth-child(2){width:82%}.window-lines b:nth-child(3){width:70%}.window-lines b:nth-child(4){width:55%}.preview-orbit{z-index:1;border:1px solid #2e3d2526;border-radius:50%;width:34px;height:34px;position:absolute}.preview-orbit--one{top:23%;left:22%}.preview-orbit--two{background:var(--accent);border:0;width:16px;height:16px;bottom:18%;right:20%}.preview-caption{align-self:flex-end}.project-info{justify-content:space-between;align-items:end;gap:36px;padding:34px 38px 39px;display:flex}.project-info h3{letter-spacing:-.055em;margin:10px 0 8px;font-size:clamp(22px,2.7vw,34px);font-weight:500}.project-description{color:#6c6f69;max-width:600px;margin:0;font-size:14px;line-height:1.7}.project-tags{flex-wrap:wrap;gap:8px;padding-bottom:2px;display:flex}.project-tags span,.skill-list span{border:1px solid var(--line);color:#6d706b;border-radius:100px;font-size:11px}.project-tags span{white-space:nowrap;padding:8px 11px}.about{grid-template-columns:1fr 1fr;gap:clamp(48px,11vw,175px);padding-top:174px;padding-bottom:155px;display:grid}.about-intro h2{letter-spacing:-.065em;max-width:570px;margin:18px 0 0;font-size:clamp(34px,4.2vw,57px);font-weight:500;line-height:1.08}.about-copy{padding-top:25px}.about-copy p{color:#686b65;margin:0 0 17px;font-size:14px;line-height:1.85}.about-copy .about-lead{color:var(--ink);letter-spacing:-.025em;margin-bottom:23px;font-size:clamp(18px,1.8vw,22px);line-height:1.55}.skill-list{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.skill-list span{padding:8px 11px}.experience{background:#f0f1ee;padding-top:87px;padding-bottom:132px}.experience-heading{align-items:end;margin-bottom:37px}.experience-heading h2{font-size:clamp(30px,3.4vw,45px)}.experience-heading>p{color:#747771;max-width:310px;margin:0;font-size:13px;line-height:1.7}.experience-list{border-top:1px solid #d9dad6}.experience-row{border-bottom:1px solid #d9dad6;grid-template-columns:42px 1.05fr 1.25fr 150px;align-items:start;gap:22px;padding:24px 0 25px;display:grid}.experience-number,.experience-period{color:#898b86;font-size:11px}.experience-company h3{letter-spacing:-.03em;margin:-3px 0 6px;font-size:16px;font-weight:600}.experience-company p{color:#777a74;margin:0;font-size:12px}.experience-detail{color:#72756e;max-width:450px;margin:-3px 0 0;font-size:12px;line-height:1.7}.experience-period{text-align:right}.details{grid-template-columns:1fr 1fr;gap:15%;padding-top:89px;padding-bottom:108px;display:grid}.detail-block{border-top:1px solid var(--line);padding-top:20px}.detail-block h2{letter-spacing:-.045em;max-width:440px;margin:15px 0 9px;font-size:21px;font-weight:500}.detail-block>p:not(.eyebrow){color:#737670;max-width:430px;margin:0 0 17px;font-size:13px;line-height:1.7}.detail-block>span{color:#858781;font-size:11px}.site-footer{color:#f6f7f4;background:#1c1e1b;padding-top:72px;padding-bottom:27px}.footer-top{justify-content:space-between;align-items:flex-start;gap:32px;min-height:245px;display:flex}.site-footer .eyebrow{color:#a5a8a1}.footer-top h2{letter-spacing:-.075em;margin:22px 0 0;font-size:clamp(44px,7vw,86px);font-weight:500;line-height:1}.email-link{border-bottom:1px solid #686a65;align-items:center;gap:10px;margin-top:39px;padding-bottom:9px;font-size:14px;display:inline-flex}.email-link:hover{color:var(--accent)}.footer-bottom{color:#a5a8a1;border-top:1px solid #3a3c38;justify-content:space-between;align-items:center;gap:24px;padding-top:20px;font-size:10px;display:flex}.footer-links{gap:25px;display:flex}.footer-links a{color:#e1e2dd;font-size:10px}.footer-links .arrow-icon{width:12px;height:12px}@media (max-width:850px){:root{--gutter:clamp(23px, 6vw, 50px)}.site-header{height:75px}.hero{min-height:520px}.hero-copy{padding-top:118px}.hero h1{max-width:740px;font-size:clamp(43px,7vw,62px)}.projects{padding-top:98px}.about{gap:55px;padding-top:130px;padding-bottom:120px}.experience-row{grid-template-columns:30px 1fr 1fr;gap:15px}.experience-period{text-align:left;grid-area:2/2}.experience-detail{grid-area:1/3/span 2}}@media (max-width:600px){:root{--gutter:22px}.site-header{height:70px}.wordmark{font-size:15px}.main-nav{gap:17px}.main-nav a{font-size:11px}.main-nav a:nth-child(2){display:none}.main-nav .arrow-icon{width:12px;height:12px}.hero{min-height:510px}.hero-copy{padding-top:105px}.hero .eyebrow{margin-bottom:23px}.hero h1{font-size:clamp(42px,12vw,57px);line-height:1.06}.hero-bottom{flex-direction:column;align-items:flex-start;gap:22px;margin-top:22px}.hero-subtitle{font-size:14px}.scroll-cue{bottom:28px}.projects{padding-top:80px}.section-heading{align-items:flex-start;margin-bottom:23px}.section-heading h2{font-size:31px}.section-index{white-space:nowrap;padding-top:3px}.project-card{border-radius:13px}.project-preview{min-height:340px;padding:19px 17px}.preview-stage{min-height:245px}.preview-window--back{width:58%;height:42%}.preview-window--front{width:68%;height:58%}.project-info{flex-direction:column;align-items:flex-start;gap:20px;padding:25px 22px 28px}.project-info h3{font-size:27px}.project-description{font-size:13px}.about{grid-template-columns:1fr;gap:28px;padding-top:103px;padding-bottom:94px}.about-intro h2{font-size:42px}.about-copy{padding-top:0}.experience{padding-top:71px;padding-bottom:82px}.experience-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:26px}.experience-heading h2{font-size:36px}.experience-heading>p{font-size:12px}.experience-row{grid-template-columns:24px 1fr;gap:10px 13px;padding:20px 0}.experience-number{grid-area:1/1/span 2}.experience-company{grid-area:1/2}.experience-detail{grid-area:2/2;margin-top:3px}.experience-period{grid-area:3/2;margin-top:5px}.details{grid-template-columns:1fr;gap:42px;padding-top:70px;padding-bottom:79px}.footer-top{flex-direction:column;align-items:flex-start;gap:27px;min-height:auto;padding-bottom:62px}.footer-top h2{font-size:58px}.email-link{margin-top:0;font-size:12px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:17px}.footer-links{flex-wrap:wrap;gap:18px;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
