@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@1,500&display=swap');

:root{--paper:#f7f8f4;--white:#fff;--ink:#20231e;--muted:#777c73;--line:#e4e7df;--green:#c9ef76;--deep:#20392f;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif;--wrap:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--wrap),calc(100% - 64px));margin-inline:auto}.section{padding-block:112px}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,248,244,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(32,35,30,.06)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.04em}.brand-mark{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--green);font-size:14px}.brand-dot{color:#759942}.nav-links{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:600}.nav-links>a:not(.nav-contact){color:#64695f;transition:color .2s}.nav-links>a:hover,.text-link:hover,.arrow-link:hover{color:#789a42}.nav-contact{padding:10px 16px;border:1px solid #d8dcd3;border-radius:99px}.nav-contact span{margin-left:8px}.menu-toggle{display:none}.hero{min-height:650px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;position:relative;padding-top:92px;padding-bottom:110px}.hero-copy{position:relative;z-index:2}.eyebrow,.section-kicker,.card-label,.card-foot,.project-index,.visual-caption,.project-meta,.timeline-type{font-size:9px;letter-spacing:.14em;font-weight:700}.eyebrow{color:#67705e;margin:0 0 25px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8ab84f;margin-right:8px;box-shadow:0 0 0 4px #e8f2da}.eyebrow-location{color:#a0a49a}.hero h1{font-size:clamp(40px,5.1vw,68px)}.hero h1,.section h2,.contact-inner h2{font-family:var(--display);line-height:1.08;letter-spacing:-.075em;margin:0;font-weight:600}.serif-accent{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}.hero-intro{max-width:500px;color:#6e736b;margin:25px 0 28px;font-size:15px;line-height:1.9}.hero-intro strong{color:var(--ink);font-weight:600}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;align-items:center;gap:24px;padding:14px 19px;border-radius:4px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#3d493c}.button span,.text-link span{font-size:16px}.text-link,.arrow-link{font-size:12px;font-weight:700}.social-row{display:flex;gap:13px;align-items:center;margin-top:43px;color:#6d726a;font-size:11px;font-weight:600}.social-row a:hover{color:#759942}.social-divider{color:#c5c8bf}.social-row a span{font-size:12px}.hero-art{height:410px;min-width:0;position:relative;display:grid;place-items:center;transform:scale(.9);transform-origin:center}.art-orbit{position:absolute;border:1px solid #e3e7dc;border-radius:50%;transform:rotate(-32deg)}.orbit-one{width:410px;height:240px}.orbit-two{width:330px;height:420px;transform:rotate(35deg)}.art-sun{position:absolute;width:255px;height:255px;border-radius:50%;background:var(--green);right:55px;top:55px;opacity:.87}.art-card{position:relative;z-index:2;width:280px;height:280px;background:#fff;border:1px solid #e9ece4;box-shadow:0 25px 70px rgba(40,52,35,.1);padding:25px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-5deg)}.card-label{color:#777d70}.card-title{font-family:var(--display);font-weight:600;font-size:39px;letter-spacing:-.07em;line-height:1.08}.card-title em{font-family:var(--serif);font-weight:500}.card-foot{display:flex;justify-content:space-between;color:#8e9389;font-size:8px}.art-caption{position:absolute;bottom:12px;right:5px;color:#868b81;font-size:10px}.art-sticker{position:absolute;z-index:3;right:36px;bottom:74px;width:54px;height:54px;background:var(--deep);color:var(--green);border-radius:50%;display:grid;place-items:center;font-size:30px}.scroll-cue{position:absolute;left:0;bottom:35px;display:flex;align-items:center;gap:12px;color:#888d84;font-size:8px;font-weight:700;letter-spacing:.16em}.scroll-cue span{height:34px;width:1px;background:#bfc4b8}.section-soft{background:#eff1eb}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:start}.section-kicker{margin:0 0 20px;color:#75805f}.section h2{font-size:clamp(36px,4vw,53px)}.about-copy{padding-top:27px;color:#72776e;font-size:14px}.about-copy p{margin:0 0 17px}.arrow-link{display:inline-flex;gap:14px;margin-top:10px;color:var(--ink)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-note{max-width:320px;margin:0 0 6px;color:#7d8279;font-size:13px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.skill-card{min-height:235px;background:#fff;border:1px solid var(--line);padding:25px;position:relative}.skill-number{color:#a3a99a;font-size:10px;font-weight:700;letter-spacing:.1em}.skill-card h3{font-family:var(--display);font-size:18px;letter-spacing:-.04em;margin:23px 0 8px}.skill-card p{color:#81867d;font-size:12px;line-height:1.8;min-height:43px;margin:0 0 18px}.skill-tags,.project-tags{display:flex;flex-wrap:wrap;gap:6px}.skill-tags span,.project-tags span{border:1px solid #e7e9e3;border-radius:99px;padding:5px 9px;color:#6f756c;font-size:9px;font-weight:600}.section-ink{background:#20392f;color:white}.section-ink .section-kicker{color:#b7d48c}.section-ink .section-note{color:#bbc4ba}.work-heading{margin-bottom:50px}.work-heading h2{color:white}.project-list{display:flex;flex-direction:column;gap:18px}.project-card{display:grid;grid-template-columns:1fr 1fr;background:#2b4539;min-height:285px}.project-visual{position:relative;min-height:285px;overflow:hidden;display:grid;place-items:center}.project-visual-one{background:#dce9ca}.project-visual-two{background:#edc8a9}.project-visual-three{background:#d6d6ed}.project-index{position:absolute;top:19px;left:22px;color:rgba(31,43,32,.65);font-size:8px}.visual-caption{position:absolute;bottom:18px;right:20px;color:rgba(31,43,32,.55);font-size:8px}.visual-window{width:205px;height:150px;background:#fff;position:relative;padding:17px;box-shadow:0 17px 35px #26392720;transform:rotate(-4deg)}.window-dots{display:flex;gap:4px}.window-dots i{width:5px;height:5px;border-radius:50%;background:#d7dbd1}.visual-lines{display:grid;gap:8px;margin-top:24px;width:85px}.visual-lines b{height:5px;border-radius:9px;background:#e6e9e2}.visual-lines b:first-child{width:65px;background:#759942}.visual-circle{position:absolute;width:77px;height:77px;border-radius:50%;right:22px;top:42px;background:linear-gradient(135deg,#d7edaa 50%,#90ad69 50%)}.visual-dashboard{width:225px;height:150px;padding:19px;background:#fff;box-shadow:0 17px 35px #653f2530;transform:rotate(3deg);color:#333}.visual-dashboard>span{display:block;color:#87877e;font-size:8px;letter-spacing:.14em}.visual-dashboard strong{font-family:var(--display);font-size:27px;letter-spacing:-.06em}.chart-bars{height:51px;display:flex;align-items:end;gap:7px;border-bottom:1px solid #eee;padding:0 4px}.chart-bars i{flex:1;background:#edc8a9;height:25%}.chart-bars i:nth-child(2n){height:58%}.chart-bars i:nth-child(3n){height:77%;background:#b87045}.chart-bars i:last-child{height:95%}.visual-quote{font-family:var(--serif);font-size:47px;line-height:.8;color:#67679a;transform:rotate(-7deg)}.visual-quote span{font-size:23px;line-height:1.2}.project-info{padding:33px 38px;display:flex;flex-direction:column;align-items:flex-start}.project-meta{display:flex;gap:18px;color:#b9c5b8;font-size:8px}.project-info h3{font-family:var(--display);font-size:24px;letter-spacing:-.05em;margin:15px 0 8px}.project-info p{color:#c2cbc1;font-size:12px;line-height:1.8;margin:0 0 17px;max-width:420px}.project-tags span{border-color:#4b6455;color:#d0d9cf}.project-link{margin-top:auto;padding-top:18px;font-size:11px;font-weight:700;color:var(--green)}.project-link span{margin-left:8px}.timeline{margin-top:52px}.timeline-item{display:grid;grid-template-columns:190px 20px 1fr;gap:25px;position:relative;padding-bottom:42px}.timeline-item:not(:last-child)::before{content:'';position:absolute;top:8px;bottom:-2px;left:199px;width:1px;background:#dfe3d9}.timeline-date{font-size:10px;font-weight:700;letter-spacing:.08em;color:#82877e;padding-top:2px}.timeline-marker{position:relative;z-index:1;width:9px;height:9px;background:#8dab5e;border:2px solid var(--paper);box-shadow:0 0 0 1px #8dab5e;border-radius:50%;margin-top:5px}.timeline-content{max-width:650px}.timeline-type{color:#829264;font-size:8px;margin:0 0 8px}.timeline-content h3{font-family:var(--display);font-size:18px;letter-spacing:-.04em;margin:0 0 9px}.timeline-content h3 span{color:#777d73;font-weight:500}.timeline-content>p:last-child{font-size:12px;color:#777d73;margin:0}.contact-section{background:var(--green);padding:100px 0 95px}.contact-inner{text-align:center}.contact-inner .section-kicker{color:#536a36}.contact-inner h2{font-size:clamp(40px,5vw,64px);margin:0 auto 18px}.contact-inner>p:not(.section-kicker){color:#56634a;font-size:13px;margin:0 auto 26px}.contact-actions{display:flex;align-items:center;justify-content:center;gap:27px}.button-light{background:var(--ink);color:#fff}.contact-link{font-weight:700;font-size:11px}.site-footer{background:var(--paper)}.footer-inner{height:86px;display:flex;align-items:center;justify-content:space-between}.footer-inner p,.back-top{font-size:10px;color:#868b82}.back-top{font-weight:700}.skip-link{position:absolute;top:-60px;left:10px;background:#fff;padding:10px;z-index:99}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #759942;outline-offset:4px}
@media(max-width:850px){.section{padding-block:86px}.hero{min-height:unset;grid-template-columns:1fr 0.8fr;gap:15px;padding-top:80px}.hero h1{font-size:clamp(42px,7vw,62px)}.hero-art{transform:scale(.85);transform-origin:center}.about-grid{gap:55px}.project-info{padding:28px}.section-heading{align-items:start;flex-direction:column;gap:12px}.section-note{max-width:500px}.skills-grid{gap:10px}.skill-card{padding:20px}.nav-links{gap:20px}}
@media(max-width:640px){.container{width:min(var(--wrap),calc(100% - 40px))}.section{padding-block:72px}.nav{height:66px}.menu-toggle{display:flex;width:40px;height:40px;border:0;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}.menu-toggle span{width:19px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.nav-links{display:none;position:absolute;top:66px;left:0;right:0;padding:20px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav-links.is-open{display:flex}.nav-links>a{padding:12px 4px}.nav-contact{margin-top:9px;text-align:center}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:69px;padding-bottom:80px;gap:8px}.hero h1{font-size:clamp(43px,12vw,64px)}.hero-intro{font-size:14px}.hero-art{height:330px;transform:scale(.78);transform-origin:top center;margin:5px 0 -48px}.art-caption{right:0;bottom:0}.scroll-cue{bottom:20px}.about-grid{grid-template-columns:1fr;gap:20px}.about-copy{padding-top:0}.section-heading{margin-bottom:32px}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:unset}.skill-card p{min-height:unset}.project-card{grid-template-columns:1fr}.project-visual{min-height:230px}.project-info{min-height:260px;padding:25px}.project-info h3{font-size:22px}.timeline-item{grid-template-columns:1fr 16px;gap:7px 14px;padding-bottom:32px}.timeline-date{grid-column:1;grid-row:1}.timeline-marker{grid-column:2;grid-row:1 / span 2;margin-top:5px}.timeline-item:not(:last-child)::before{left:auto;right:7px;top:13px}.timeline-content{grid-column:1;grid-row:2}.contact-section{padding:76px 0}.contact-actions{flex-direction:column;gap:18px}.footer-inner{height:auto;min-height:86px;flex-wrap:wrap;gap:12px;padding-block:18px}.footer-inner p{order:3;width:100%;margin:0}.eyebrow{font-size:8px}.eyebrow-location{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(min-width:641px) and (max-width:850px){.hero h1{font-size:clamp(36px,4.5vw,46px)}.hero-art{overflow:hidden}}
@media(min-width:851px) and (max-width:1100px){.hero h1{font-size:clamp(40px,4.8vw,52px)}.hero-art{overflow:hidden}}
@media(max-width:640px){.hero-art{overflow:hidden}}
.profile-photo{position:relative;z-index:2;width:280px;height:350px;margin:0;padding:8px;background:#fff;border:1px solid #e9ece4;box-shadow:0 25px 70px rgba(40,52,35,.16);transform:rotate(-4deg)}
.profile-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 27%;border-radius:145px 145px 3px 3px}
.profile-photo figcaption{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:8px;padding:9px 12px;background:rgba(255,255,255,.94);font-size:9px;font-weight:700;letter-spacing:.12em}
@media(max-width:640px){.profile-photo{width:260px;height:325px}}
