@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500&display=swap");:root{--ink:#1e211c;--paper:#f5f3eb;--lime:#d6f15b;--muted:#999a8f;--line:rgba(30,33,28,.18);--mono:"DM Mono",monospace;--sans:"DM Sans",sans-serif;--serif:"Playfair Display",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.topbar{height:76px;padding:0 5.7%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;z-index:5;top:0;width:100%}.wordmark{font-weight:700;font-size:22px;letter-spacing:-2px}.wordmark span{font:10px var(--mono);vertical-align:top;margin-left:3px;letter-spacing:0}.nav-links{display:flex;align-items:center;gap:35px;font-size:12px}.nav-links>a:not(.nav-contact){color:#676960}.nav-links>a:hover,.social-links a:hover{color:var(--ink)}.nav-links a span{font:9px var(--mono);color:#85867e;margin-left:2px}.nav-contact{border:1px solid var(--ink);padding:11px 14px;display:flex;gap:13px;align-items:center}.menu-toggle{display:none;background:none;border:0;color:var(--ink)}.hero{min-height:700px;height:min(790px,100vh);padding:155px 8.4% 52px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;background:var(--lime)}.hero-meta{position:absolute;top:110px;left:8.5%;right:8.5%;display:flex;justify-content:space-between;font:9px/1.7 var(--mono);letter-spacing:.04em;color:#51583a}.hero-meta span:last-child{text-align:right}.hero h1{position:relative;z-index:1;font-size:clamp(86px,13.4vw,184px);line-height:.79;letter-spacing:-.105em;font-weight:500;margin:12px 0 31px;max-width:1100px}.hero-line-two{white-space:nowrap}.contact h2 em,.hero h1 i,.manifesto-copy em,.section-heading h2 em{font-family:var(--serif);font-weight:500;letter-spacing:-.09em}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;max-width:850px;position:relative;z-index:2}.hero-bottom p{font-size:14px;line-height:1.65;margin:0}.scroll-link{display:flex;align-items:center;gap:14px;font:9px var(--mono);letter-spacing:.04em}.hero-orbit{width:380px;height:380px;position:absolute;right:1.6%;top:25%;opacity:.3}.orbit-ring{position:absolute;border:1px solid #64702c;border-radius:50%;inset:0}.ring-two{inset:39px}.orbit-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:#39431d;left:34px;top:86px}.orbit-caption{position:absolute;left:50%;top:43%;font:9px/1.8 var(--mono);letter-spacing:.12em}.hero-stamp{position:absolute;bottom:52px;right:8.5%;font:9px var(--mono);display:flex;align-items:center;gap:8px}.hero-stamp span{font-size:21px}.section-pad{padding-left:10%;padding-right:10%}.work{padding-top:119px;padding-bottom:94px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}.eyebrow{font:9px var(--mono);letter-spacing:.08em;color:#7f8076}.section-heading h2{font-size:clamp(50px,7.4vw,93px);line-height:.88;letter-spacing:-.075em;font-weight:500;margin:25px 0 0}.section-heading h2 em{color:#767e4e}.section-heading>p{font-size:12px;line-height:1.8;color:#77796f;margin:0 0 5px}.project-grid{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:22px;column-gap:22px;grid-row-gap:43px;row-gap:43px}.project-card:nth-child(2n){margin-top:72px}.project-art{height:clamp(230px,35vw,440px);position:relative;background-size:cover;background-position:50%;overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-art{transform:scale(.985)}.art-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,14,10,.02) 25%,rgba(12,14,10,.26));transition:background .3s}.project-card:hover .art-overlay{background:rgba(12,14,10,.2)}.project-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(40px,7vw,92px);font-weight:600;letter-spacing:-.085em;color:#f5f3eb}.form .project-mark{font-size:clamp(32px,5vw,70px);letter-spacing:-.1em}.sunday .project-mark{font:clamp(18px,3vw,34px)/1.2 var(--mono);letter-spacing:.03em;text-align:center}.aether .project-mark{font-family:var(--serif);font-style:italic;font-size:clamp(78px,13vw,160px);font-weight:400}.project-open{position:absolute;right:17px;top:17px;background:var(--lime);width:37px;height:37px;border-radius:50%;display:grid;place-items:center;opacity:0;transform:translate(-4px,4px);transition:.25s}.project-card:hover .project-open{opacity:1;transform:translate(0)}.project-number{position:absolute;bottom:15px;left:17px;color:white;font:9px var(--mono);letter-spacing:.05em}.project-info{display:flex;justify-content:space-between;align-items:flex-start;padding-top:14px}.project-info h3{font-size:20px;letter-spacing:-.04em;font-weight:500;margin:0 0 5px}.project-info p,.project-year{font:9px var(--mono);color:#84857b;margin:0}.project-year{padding-top:5px}.all-work{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:68px;padding:19px 0;display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);letter-spacing:.06em}.manifesto{min-height:420px;background:#22251f;color:var(--paper);padding-top:75px;padding-bottom:70px;display:grid;grid-template-columns:1.1fr 2fr .7fr;grid-gap:4%;gap:4%}.manifesto .eyebrow{color:#aaa99d}.manifesto-copy>p:first-child{font-size:clamp(30px,4.2vw,52px);line-height:1.15;letter-spacing:-.055em;max-width:600px;margin:4px 0 24px}.manifesto-copy em{color:var(--lime)}.manifesto-copy .manifesto-small{max-width:410px;font-size:12px;line-height:1.8;color:#b2b1a6;margin-bottom:24px}.text-link{display:inline-flex;align-items:center;gap:12px;font:9px var(--mono);letter-spacing:.04em;color:var(--lime)}.manifesto-aside{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font:8px/1.7 var(--mono);letter-spacing:.04em;color:#aaa99d;text-align:right}.sun-mark{font-size:53px;color:var(--lime);line-height:1}.services{padding-top:104px;padding-bottom:114px}.services-top{display:flex;justify-content:space-between;margin-bottom:38px}.services-top p{font-size:12px;line-height:1.7;color:#77796f;margin:0}.service-row{border-top:1px solid var(--line);display:grid;grid-template-columns:70px 1fr 30px;align-items:center;padding:20px 0}.service-row:last-child{border-bottom:1px solid var(--line)}.service-no{font:9px var(--mono);color:#8c8d83}.service-row h3{font-weight:400;font-size:clamp(20px,3vw,32px);letter-spacing:-.04em;margin:0;transition:padding .25s}.service-row:hover h3{padding-left:9px}.service-arrow{color:#82876b;transition:transform .25s}.service-row:hover .service-arrow{transform:translate(4px,-4px)}.contact{position:relative;overflow:hidden;background:var(--lime);text-align:center;min-height:447px;padding:80px 5% 77px}.contact .eyebrow{color:#66703f}.contact h2{font-weight:500;font-size:clamp(64px,10vw,123px);line-height:.86;letter-spacing:-.085em;margin:31px 0 36px;position:relative;z-index:1}.contact h2 em{color:#626a3e}.contact-button{position:relative;z-index:1;border:1px solid #424a2b;padding:14px 18px;display:inline-flex;align-items:center;gap:24px;font:9px var(--mono);letter-spacing:.04em;transition:background .2s}.contact-button:hover{background:#c7e344}.contact-decoration{position:absolute;color:rgba(71,83,34,.13);font-size:350px;right:3%;top:-49px;line-height:1}.footer{min-height:82px;padding:19px 5.7%;display:flex;align-items:center;justify-content:space-between;gap:20px}.copyright,.footer-note,.social-links a{font:8px var(--mono);letter-spacing:.035em;color:#77796f}.social-links{display:flex;gap:22px}.social-links a{display:flex;align-items:center;gap:5px}.copyright{white-space:nowrap}@media(min-width:1500px){.hero{padding-left:max(8.4%,calc((100vw - 1400px)/2))}.hero-meta{left:max(8.5%,calc((100vw - 1400px)/2))}.section-pad{padding-left:max(10%,calc((100vw - 1240px)/2));padding-right:max(10%,calc((100vw - 1240px)/2))}}@media(max-width:760px){.topbar{height:66px;padding:0 6%}.menu-toggle{display:block;position:relative;z-index:7}.nav-links{display:none;position:absolute;inset:0 0 auto;background:var(--paper);padding:82px 7% 28px;flex-direction:column;align-items:flex-start;gap:22px;border-bottom:1px solid var(--line)}.nav-links.nav-open{display:flex}.nav-links a{font-size:15px}.nav-contact{margin-top:4px}.hero{height:690px;min-height:640px;padding:150px 6% 58px}.hero-meta{top:96px;left:6%;right:6%;font-size:7px}.hero h1{font-size:clamp(69px,14vw,106px);line-height:.83;letter-spacing:-.1em;margin-top:0}.hero-line-two{white-space:normal}.hero-orbit{width:260px;height:260px;top:38%;right:-18%;opacity:.23}.ring-two{inset:26px}.hero-bottom{align-items:flex-start;gap:18px;flex-direction:column}.hero-bottom p{font-size:13px}.scroll-link{margin-top:6px}.hero-stamp{right:6%;bottom:36px;font-size:8px}.section-pad{padding-left:6%;padding-right:6%}.work{padding-top:81px;padding-bottom:70px}.section-heading{align-items:flex-start;gap:18px;flex-direction:column;margin-bottom:32px}.section-heading h2{font-size:66px;margin-top:18px}.section-heading>p{font-size:11px}.desktop-only{display:none}.project-grid{column-gap:13px;row-gap:32px}.project-card:nth-child(2n){margin-top:42px}.project-art{height:clamp(170px,54vw,320px)}.project-info h3{font-size:16px}.project-info p{font-size:8px;max-width:170px;line-height:1.6}.project-year{font-size:8px}.project-number{font-size:8px;left:11px;bottom:10px}.project-open{width:30px;height:30px;right:10px;top:10px}.all-work{margin-top:47px;font-size:8px}.manifesto{padding-top:58px;padding-bottom:57px;grid-template-columns:1fr;gap:28px}.manifesto-copy>p:first-child{font-size:41px}.manifesto-copy .manifesto-small{font-size:11px}.manifesto-aside{flex-direction:row;align-items:flex-end;text-align:left}.sun-mark{font-size:40px}.services{padding-top:71px;padding-bottom:77px}.services-top{gap:17px;flex-direction:column;margin-bottom:25px}.services-top p{font-size:11px}.service-row{grid-template-columns:42px 1fr 23px;padding:17px 0}.service-row h3{font-size:23px}.contact{min-height:385px;padding:78px 5% 68px}.contact h2{font-size:clamp(68px,14vw,98px)}.contact-decoration{font-size:240px;right:-17%;top:3%}.footer{padding:20px 6%;display:grid;grid-template-columns:1fr 1fr;grid-row-gap:19px;row-gap:19px}.footer-note{text-align:right}.copyright,.footer-note,.social-links a{font-size:7px}.copyright{text-align:right}.wordmark{font-size:20px}}@media(max-width:390px){.hero h1{font-size:65px}.project-info h3{font-size:14px}.project-info p{max-width:137px;font-size:7px}.project-year{font-size:7px}.footer-note{max-width:170px}.contact-button{font-size:8px;gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.inner-page{min-height:100vh;padding-top:76px}.inner-topbar{position:absolute;background:var(--paper)}.inner-hero{padding:116px 10% 87px;background:var(--lime);min-height:420px}.inner-hero h1{font-size:clamp(68px,11vw,132px);font-weight:500;line-height:.86;letter-spacing:-.095em;margin:30px 0 24px}.inner-content h2 em,.inner-cta h2 em,.inner-hero h1 em{font-family:var(--serif);font-weight:500;letter-spacing:-.08em}.inner-hero p{font-size:14px;line-height:1.75;max-width:490px;color:#50563a}.inner-content{padding:96px 10%;display:grid;grid-template-columns:1fr 2fr;grid-gap:5%;gap:5%;border-bottom:1px solid var(--line)}.inner-content h2{font-weight:500;font-size:clamp(30px,4vw,47px);letter-spacing:-.055em;line-height:1.1;margin:0 0 25px}.inner-content p{font-size:13px;line-height:1.9;color:#707268;max-width:650px}.inner-content .text-link{margin-top:13px}.skills-strip{padding:52px 10% 68px}.skill-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.skill-chips span{border:1px solid var(--line);padding:11px 15px;font:10px var(--mono)}.inner-cta{position:relative;text-align:center;padding:76px 5% 83px;background:#22251f;color:var(--paper);overflow:hidden}.inner-cta .eyebrow{color:#aaa99d}.inner-cta h2{position:relative;z-index:1;font-size:clamp(55px,8vw,94px);font-weight:500;line-height:.9;letter-spacing:-.08em;margin:24px 0 30px}.inner-cta h2 em{color:var(--lime)}.inner-cta .contact-button{color:var(--paper);border-color:#77796f}.inner-cta .contact-button:hover{color:var(--ink)}.projects-hero{min-height:390px}.projects-page-grid{padding:70px 10% 100px;display:grid;grid-template-columns:1fr 1fr;grid-gap:46px 22px;gap:46px 22px}.projects-page-grid .project-art{height:clamp(260px,36vw,450px)}.projects-page-grid .project-card:nth-child(2n){margin-top:68px}.resume-hero{min-height:390px}.resume-actions{gap:25px;margin-top:29px}.resume-viewer{padding:0 10% 80px}.resume-viewer iframe{width:100%;height:min(1100px,125vw);min-height:600px;border:1px solid var(--line);background:white}.resume-viewer p{font-size:11px;color:#77796f}.resume-viewer p a{text-decoration:underline}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.inner-hero>*{animation:rise-in .75s both}.inner-hero>:nth-child(2){animation-delay:.1s}.inner-hero>:nth-child(3){animation-delay:.2s}.inner-hero>:nth-child(4){animation-delay:.3s}@keyframes rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.inner-page{padding-top:66px}.inner-topbar{position:absolute}.inner-hero{padding:83px 6% 64px;min-height:360px}.inner-hero h1{font-size:clamp(61px,13vw,91px);margin:22px 0 18px}.inner-hero p{font-size:12px}.inner-content{padding:64px 6%;grid-template-columns:1fr;gap:25px}.inner-content h2{font-size:35px}.inner-content p{font-size:12px}.skills-strip{padding:42px 6% 52px}.skill-chips{gap:7px}.skill-chips span{font-size:9px;padding:10px 11px}.projects-page-grid{padding:48px 6% 72px;gap:33px 13px}.projects-page-grid .project-art{height:clamp(175px,53vw,320px)}.projects-page-grid .project-card:nth-child(2n){margin-top:38px}.resume-hero{min-height:360px}.resume-actions{align-items:flex-start;flex-direction:column;gap:18px}.resume-viewer{padding:0 6% 55px}.resume-viewer iframe{height:120vw;min-height:480px}.inner-cta{padding:64px 5% 69px}.inner-cta h2{font-size:clamp(55px,12vw,78px)}}.resume-intro{min-height:420px;padding:82px 10% 60px;background:var(--lime);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;position:relative}.resume-intro h1{font-size:clamp(52px,8vw,92px);letter-spacing:-.08em;line-height:.94;font-weight:500;margin:22px 0 14px}.resume-intro h1 em{font-family:var(--serif);font-weight:500}.resume-intro>div:first-child>p{font-size:18px;margin:0 0 12px}.resume-contact-line{font-size:14px;color:#565d3d}.resume-contact-line i{padding:0 8px;font-style:normal}.resume-actions{display:flex;align-items:center;gap:19px;flex-wrap:wrap;margin-top:25px}.resume-actions .contact-button{gap:10px;white-space:nowrap}.resume-actions .text-link{white-space:nowrap}.cv-body{padding:62px 10% 75px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);grid-gap:8%;gap:8%}.cv-main,.cv-sidebar{min-width:0}.cv-section{margin-bottom:45px}.cv-section>.eyebrow{display:block;padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:19px;color:#616358}.cv-profile{font-size:17px;line-height:1.8;color:#4c4e46;margin:0}.cv-entry{margin:0 0 27px}.cv-entry h2{font-size:21px;line-height:1.35;letter-spacing:-.035em;font-weight:600;margin:0 0 4px}.cv-cert-list,.cv-entry li,.cv-entry p,.cv-skills p{font-size:15px;line-height:1.75;color:#55574f}.cv-entry p{margin:4px 0 10px}.cv-entry-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.cv-entry-top>span{font-size:13px;color:#77796f;white-space:nowrap;padding-top:4px}.cv-entry-top h2{margin-bottom:3px}.cv-entry-top p{margin:0;color:#73756b}.cv-cert-list,.cv-entry ul{padding-left:22px;margin:12px 0 0}.cv-cert-list li,.cv-entry li{padding-left:3px;margin:5px 0}.cv-sidebar{border-left:1px solid var(--line);padding-left:29px}.cv-skills>div{margin:0 0 17px}.cv-skills b{display:block;font-size:15px;margin-bottom:3px}.cv-skills p{font-size:14px;margin:0}.cv-cert-list{font-size:14px;padding-left:19px}.cv-social a{display:block;color:#53564b;font-size:14px;margin:10px 0;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.resume-download-bottom{padding:34px 10% 55px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.resume-download-bottom p{font-size:16px;color:#62645a}.resume-download-bottom .contact-button{display:flex;align-items:center;gap:10px}.skill-groups{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px;margin-top:26px}.skill-groups>div{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}.skill-groups b{font-size:14px}.skill-groups span{font-size:14px;color:#66685e;line-height:1.7}.timeline-content{padding:75px 10% 95px;display:grid;grid-template-columns:190px 1fr;grid-column-gap:5%;column-gap:5%;grid-row-gap:18px;row-gap:18px}.timeline-label{padding-top:13px}.timeline-entry{border-top:1px solid var(--line);padding:24px 0 32px}.timeline-date{font:10px var(--mono);letter-spacing:.04em;color:#75776c}.timeline-entry h2{font-size:28px;font-weight:500;letter-spacing:-.045em;margin:13px 0 4px}.timeline-entry h3{font-size:16px;font-weight:500;color:#686a60;margin:0 0 17px}.timeline-entry li,.timeline-entry p{font-size:15px;line-height:1.8;color:#585a51}.timeline-entry ul{padding-left:22px}.timeline-entry li{margin:5px 0}.credential-entry ul{margin-top:0}.real-project-list{padding:50px 10% 100px}.real-project{display:grid;grid-template-columns:1.05fr 1fr;grid-gap:6%;gap:6%;align-items:center;padding:33px 0 45px;border-bottom:1px solid var(--line)}.real-project:nth-child(2n){grid-template-columns:1fr 1.05fr}.real-project:nth-child(2n) .real-project-image{order:2}.real-project-image{height:350px;background-size:cover;background-position:50%;position:relative}.real-project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%)}.real-project-image>span{position:absolute;z-index:1;left:17px;bottom:15px;color:white;font:10px var(--mono)}.real-project-copy h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.06em;line-height:1;margin:16px 0 8px;font-weight:500}.real-project-copy>.eyebrow{line-height:1.8}.project-stack{font:11px var(--mono);color:#73756b;margin-bottom:22px}.real-project-copy ul{padding-left:19px}.real-project-copy li{font-size:14px;line-height:1.75;color:#575950;margin:7px 0}.resume-note{font-size:13px;line-height:1.7;background:#ecebe1;padding:12px 15px;color:#55574f;margin-top:22px}@media(max-width:760px){.resume-intro{padding:62px 6% 48px;align-items:flex-start;flex-direction:column;gap:24px}.resume-intro h1{font-size:61px}.resume-intro>div:first-child>p{font-size:16px}.resume-contact-line{font-size:13px}.cv-body{padding:42px 6% 48px;grid-template-columns:1fr;gap:12px}.cv-section{margin-bottom:33px}.cv-profile{font-size:16px}.cv-entry h2{font-size:20px}.cv-cert-list,.cv-entry li,.cv-entry p{font-size:14px}.cv-entry-top{flex-direction:column;gap:3px}.cv-entry-top>span{font-size:12px;padding:0}.cv-sidebar{border-left:0;border-top:1px solid var(--line);padding:34px 0 0}.resume-download-bottom{padding:27px 6% 40px;align-items:flex-start;flex-direction:column}.resume-download-bottom p{margin:0}.skill-groups{grid-template-columns:1fr;gap:14px}.timeline-content{padding:50px 6% 65px;grid-template-columns:1fr;row-gap:0}.timeline-label{padding-top:20px}.timeline-entry h2{font-size:25px}.timeline-entry li,.timeline-entry p{font-size:14px}.real-project-list{padding:27px 6% 65px}.real-project,.real-project:nth-child(2n){grid-template-columns:1fr;gap:22px;padding:25px 0 34px}.real-project:nth-child(2n) .real-project-image{order:0}.real-project-image{height:260px}.real-project-copy h2{font-size:35px}.real-project-copy li{font-size:13px}}.nav-links{font-size:14px}.eyebrow,.hero-meta,.hero-stamp,.nav-links a span,.orbit-caption,.scroll-link{font-size:11px}.section-heading>p,.services-top p{font-size:14px}.project-info p,.project-year{font-size:12px}.all-work,.project-number{font-size:11px}.manifesto-copy .manifesto-small{font-size:14px}.contact-button,.text-link{font-size:11px}.copyright,.footer-note,.manifesto-aside,.social-links a{font-size:10px}.resume-contact-line{font-size:16px}.cv-entry-top>span{font-size:14px}.cv-cert-list,.cv-skills p,.cv-social a{font-size:15px}.skill-groups b,.skill-groups span{font-size:16px}.project-stack,.timeline-date{font-size:12px}.real-project-copy li{font-size:16px}.resume-note{font-size:15px}.resume-viewer p{font-size:14px}@media(max-width:760px){.nav-links{font-size:16px}.hero-meta{font-size:10px}.eyebrow,.hero-stamp,.orbit-caption,.scroll-link{font-size:11px}.section-heading>p,.services-top p{font-size:15px}.project-info h3{font-size:22px}.project-info p,.project-year{font-size:14px}.all-work{font-size:12px}.manifesto-copy .manifesto-small{font-size:15px}.contact-button,.text-link{font-size:12px}.copyright,.footer-note,.social-links a{font-size:10px}.resume-contact-line{font-size:14px}.cv-cert-list,.cv-skills p,.cv-social a{font-size:15px}.skill-groups b,.skill-groups span{font-size:16px}.timeline-date{font-size:12px}.project-stack{font-size:14px}.real-project-copy li,.resume-note{font-size:15px}}.project-info h3{font-size:26px}.project-info p,.project-year{font-size:16px;line-height:1.5}.project-info{gap:16px}.project-number{font-size:13px}.manifesto-copy .manifesto-small,.section-heading>p,.services-top p{font-size:16px}.eyebrow{font-size:12px}.all-work,.contact-button,.text-link{font-size:13px}.copyright,.footer-note,.social-links a{font-size:12px}@media(max-width:760px){.project-info h3{font-size:22px}.project-info p,.project-year{font-size:14px}.manifesto-copy .manifesto-small,.section-heading>p,.services-top p{font-size:15px}.eyebrow{font-size:11px}.all-work,.contact-button,.text-link{font-size:12px}.copyright,.footer-note,.social-links a{font-size:10px}.project-stack{font-size:14px}}.topbar .nav-links{font-size:16px}.topbar .nav-links a span{font-size:13px}.eyebrow,.hero-meta,.hero-stamp,.orbit-caption,.project-number,.scroll-link,.timeline-date{font-size:14px}.cv-cert-list,.cv-entry li,.cv-entry p,.cv-skills p,.hero-bottom p,.inner-content p,.inner-hero p,.manifesto-copy .manifesto-small,.real-project-copy li,.resume-download-bottom p,.resume-note,.section-heading>p,.services-top p,.skill-groups span,.timeline-entry li,.timeline-entry p{font-size:17px;line-height:1.75}.project-info h3{font-size:28px}.project-info p,.project-year{font-size:17px}.project-stack{font-size:15px}.all-work,.contact-button,.text-link{font-size:14px}.copyright,.footer-note,.manifesto-aside,.social-links a{font-size:13px}.project-open{width:42px;height:42px}@media(max-width:760px){.topbar .nav-links{font-size:17px}.eyebrow,.hero-meta,.hero-stamp,.orbit-caption,.project-number,.scroll-link,.timeline-date{font-size:12px}.cv-cert-list,.cv-entry li,.cv-entry p,.cv-skills p,.hero-bottom p,.inner-content p,.inner-hero p,.manifesto-copy .manifesto-small,.real-project-copy li,.resume-download-bottom p,.resume-note,.section-heading>p,.services-top p,.skill-groups span,.timeline-entry li,.timeline-entry p{font-size:16px;line-height:1.7}.project-info h3{font-size:23px}.project-info p,.project-year{font-size:14px}.all-work,.contact-button,.project-stack,.text-link{font-size:13px}.copyright,.footer-note,.manifesto-aside,.social-links a{font-size:11px}.project-open{width:36px;height:36px}}.hero h1>span{display:block;animation:hero-title-in .9s cubic-bezier(.2,.7,.2,1) both}.hero h1>.hero-title-first{animation-delay:.12s}.hero h1>.hero-line-two{animation-delay:.28s}.hero-meta{animation:hero-fade-in .8s .12s both}.hero-bottom{animation:hero-fade-in .8s .52s both}.hero-stamp{animation:hero-fade-in .8s .7s both}.orbit-ring{transform-origin:center;animation:orbit-turn 34s linear infinite}.ring-two{animation-direction:reverse;animation-duration:27s}.orbit-dot{animation:orbit-pulse 3s ease-in-out infinite}@keyframes hero-title-in{0%{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes orbit-turn{to{transform:rotate(1turn)}}@keyframes orbit-pulse{0%,to{box-shadow:0 0 0 0 rgba(57,67,29,.22)}50%{box-shadow:0 0 0 10px rgba(57,67,29,0)}}@keyframes orbit-drift{0%{translate:0 0}to{translate:0 -11px}}.skills-hero{position:relative;overflow:hidden}.skills-hero h1,.skills-hero>.eyebrow,.skills-hero>p{position:relative;z-index:1}.skills-hero-orbit{position:absolute;width:230px;height:230px;right:14%;top:50%;transform:translateY(-40%);border:1px solid rgba(65,76,38,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:10px;flex-direction:column;color:#59613b;font:12px var(--mono);animation:orbit-drift 6s ease-in-out infinite alternate}.skills-hero-orbit:after,.skills-hero-orbit:before{content:"";position:absolute;border:1px solid rgba(65,76,38,.18);border-radius:50%;inset:16px}.skills-hero-orbit:after{inset:34px}.skills-page-grid{padding:76px 10% 83px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.skill-card{min-height:240px;border:1px solid var(--line);padding:26px 28px 29px;background:rgba(255,255,255,.22);transition:transform .35s ease,border-color .35s ease,background .35s ease;transition-delay:var(--skill-delay,0s)}.skill-card:hover{transform:translateY(-6px);border-color:#a5ad75;background:#fbfaf3}.skill-card-top{display:flex;align-items:center;justify-content:space-between;color:#777c5f}.skill-card-number{font:12px var(--mono);color:#8a8b80}.skill-card h2{font-size:26px;font-weight:500;letter-spacing:-.045em;margin:26px 0 8px}.skill-card>p{font-size:16px;line-height:1.6;color:#73756b;margin:0 0 19px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tags span{padding:8px 11px;border:1px solid var(--line);font-size:14px;color:#53564b;transition:background .25s,color .25s}.skill-card:hover .skill-tags span{background:var(--lime);color:var(--ink)}.skills-note{padding:0 10% 76px}.skills-note>p{max-width:610px;font-size:17px;line-height:1.75;color:#66685e;margin:18px 0}.skills-note .text-link{color:#555b3c}@media(max-width:760px){.skills-hero-orbit{width:145px;height:145px;right:7%;top:auto;bottom:22px;transform:none;font-size:9px;gap:5px;opacity:.65}.skills-hero-orbit:before{inset:10px}.skills-hero-orbit:after{inset:21px}.skills-page-grid{grid-template-columns:1fr;padding:45px 6% 55px;gap:12px}.skill-card{min-height:0;padding:22px}.skill-card h2{font-size:24px;margin:19px 0 7px}.skill-card>p{font-size:15px}.skill-tags span{font-size:14px}.skills-note{padding:0 6% 58px}.skills-note>p{font-size:16px}.hero-orbit{animation-duration:9s}}.hero-orbit{right:5.5%;top:50%;transform:translateY(-50%);animation:orbit-drift 7s ease-in-out infinite alternate}.orbit-ring.ring-one{inset:0}.orbit-dot{left:50%;top:50%;margin:-7px 0 0 -7px;transform:rotate(0deg) translateX(188px);transform-origin:7px 7px;animation:orbit-path 12s linear infinite}@keyframes orbit-path{to{transform:rotate(1turn) translateX(188px)}}.orbit-square{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;background:#39431d;transform-origin:5px 5px;animation:orbit-path-reverse 10s linear infinite}@keyframes orbit-path-reverse{0%{transform:rotate(0deg) translateX(142px)}to{transform:rotate(-1turn) translateX(142px)}}@media(max-width:760px){.hero-orbit{width:230px;height:230px;top:auto;right:5%;bottom:135px;transform:none;opacity:.23}.orbit-dot{transform:rotate(0deg) translateX(113px)}@keyframes orbit-path{to{transform:rotate(1turn) translateX(113px)}}.orbit-square{animation-name:orbit-path-reverse-mobile}@keyframes orbit-path-reverse-mobile{0%{transform:rotate(0deg) translateX(84px)}to{transform:rotate(-1turn) translateX(84px)}}}.inner-page{position:relative}.page-orbit{z-index:4;pointer-events:none;top:96px}.page-orbit-ring{position:absolute;border:1px solid #64702c;border-radius:50%;inset:0}.page-orbit-inner{inset:39px}.page-orbit-dot,.page-orbit-square{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;background:#39431d}.page-orbit-dot{border-radius:50%;animation:page-orbit-outer-path 14s linear infinite}.page-orbit-square{width:10px;height:10px;margin:-5px 0 0 -5px;animation:page-orbit-inner-path 9s linear infinite reverse}@keyframes page-orbit-outer-path{0%{transform:rotate(0deg) translateX(var(--orbit-outer-radius))}to{transform:rotate(1turn) translateX(var(--orbit-outer-radius))}}@keyframes page-orbit-inner-path{0%{transform:rotate(0deg) translateX(var(--orbit-inner-radius))}to{transform:rotate(1turn) translateX(var(--orbit-inner-radius))}}.inner-hero>*{position:relative;z-index:1}@media(max-width:760px){.page-orbit{--orbit-outer-radius:109px;--orbit-inner-radius:84px;top:131px;right:4%;width:230px;height:230px;opacity:.14}.page-orbit-inner{inset:26px}}.resume-page .page-orbit{top:96px;right:6%}@media(max-width:760px){.resume-page .page-orbit{top:161px;right:4%}}.hero h1{font-size:clamp(72px,10.2vw,144px);max-width:1120px;margin-left:0;transform:translateX(-2px)}.hero-line-two{white-space:normal;max-width:1100px}.hero-bottom{max-width:900px}@media(max-width:760px){.hero h1{font-size:clamp(62px,12vw,92px);max-width:100%;transform:none}.hero-line-two{white-space:normal}}.cv-body{grid-template-columns:minmax(0,1fr);gap:0;max-width:1440px;margin:0 auto;padding-left:8%;padding-right:8%}.cv-main{width:100%;min-width:0}.cv-sidebar{width:100%;border-left:0;border-top:1px solid var(--line);padding:42px 0 0;margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:56px;column-gap:56px;grid-row-gap:12px;row-gap:12px}.cv-sidebar .cv-section{min-width:0;margin-bottom:22px}.cv-entry-top{gap:24px}.cv-entry-top>div{min-width:0}.cv-entry-top h2,.cv-entry-top p{overflow-wrap:anywhere}.cv-entry-top>span{flex:0 0 auto}.cv-cert-list{max-width:100%}@media(max-width:760px){.cv-body{padding-left:6%;padding-right:6%}.cv-sidebar{grid-template-columns:minmax(0,1fr);gap:0;padding-top:30px}.cv-entry-top{gap:4px}.cv-entry-top>span{white-space:normal}}.inner-hero,.resume-intro{position:relative;overflow:hidden}.page-orbit{--orbit-outer-radius:183px;--orbit-inner-radius:146px;position:absolute;z-index:0;top:50%;right:6%;width:380px;height:380px;opacity:.2;transform:translateY(-50%)}.page-orbit-caption{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:14px/1.5 var(--mono);letter-spacing:.12em;color:#51583a;text-align:center}.inner-hero>:not(.page-orbit){position:relative;z-index:1}.inner-hero>.page-orbit{animation:none!important}.resume-intro>.page-orbit{z-index:0}.resume-intro .page-orbit{top:50%}.resume-intro{min-height:520px}.resume-intro>div:first-child{animation:rise-in .75s both}.resume-intro>.resume-actions{animation:rise-in .75s .2s both}@media(max-width:760px){.page-orbit{--orbit-outer-radius:109px;--orbit-inner-radius:84px;top:50%;right:4%;width:230px;height:230px;opacity:.14}.page-orbit-inner{inset:26px}.page-orbit-caption{font-size:10px;gap:2px}}.footer{width:100%;min-height:100px;padding-top:23px;padding-bottom:23px;border-top:1px solid var(--line);background:var(--paper)}.resume-page .inner-topbar{background:#22251f;border-bottom-color:rgba(214,241,91,.28);color:var(--lime)}.resume-page .inner-topbar .nav-links>a:not(.nav-contact),.resume-page .inner-topbar .wordmark{color:var(--lime)}.resume-page .inner-topbar .nav-links a span{color:rgba(214,241,91,.72)}.resume-page .inner-topbar .nav-contact{border-color:var(--lime);color:var(--lime)}.resume-page .inner-topbar .menu-toggle{color:var(--lime)}.resume-page>.footer{background:#22251f;border-top-color:rgba(214,241,91,.28);color:var(--lime)}.footer,.resume-page>.footer .copyright,.resume-page>.footer .footer-note,.resume-page>.footer .social-links a,.resume-page>.footer .wordmark,.topbar{color:var(--lime)}.footer,.topbar{background:#22251f;border-color:rgba(214,241,91,.28)}.footer .copyright,.footer .footer-note,.footer .social-links a,.footer .wordmark,.topbar .menu-toggle,.topbar .nav-links a span,.topbar .nav-links>a:not(.nav-contact),.topbar .wordmark{color:var(--lime)}.footer .social-links a:hover,.topbar .nav-links>a:not(.nav-contact):hover{color:#fff}.topbar .nav-contact{border-color:var(--lime);color:var(--lime)}@media(max-width:760px){.topbar .nav-links{background:#22251f}.topbar .nav-links>a:not(.nav-contact){color:var(--lime)}}.about-layout .text-link{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.hero-orbit,.page-orbit{opacity:.42}.orbit-ring,.page-orbit-ring{border-color:#4a4b46}.orbit-dot,.orbit-square,.page-orbit-dot,.page-orbit-square{background:#393a36}.page-orbit-caption{color:#393a36}@media(max-width:760px){.hero-orbit,.page-orbit{opacity:.3}}.timeline-content{display:flex;flex-direction:column;gap:0}.timeline-block{display:grid;grid-template-columns:minmax(170px,.32fr) minmax(0,1fr);grid-column-gap:5%;column-gap:5%;align-items:start}.timeline-block .timeline-label{grid-column:1;grid-row:1;padding-top:26px}.timeline-block .timeline-entry{grid-column:2;margin:0;min-width:0}.timeline-block .timeline-entry:not(:first-child){grid-row:auto}.timeline-block .timeline-entry h2,.timeline-block .timeline-entry h3,.timeline-block .timeline-entry li,.timeline-block .timeline-entry p{overflow-wrap:anywhere}.timeline-block .timeline-entry ul{margin-top:10px}@media(max-width:760px){.timeline-content{gap:4px}.timeline-block{grid-template-columns:minmax(0,1fr);column-gap:0}.timeline-block .timeline-label{grid-column:1;grid-row:auto;padding-top:25px}.timeline-block .timeline-entry{grid-column:1;grid-row:auto}}