:root{--cream:#f8f5ef;--ink:#202322;--green:#214c3b;--orange:#cf7044;--line:#d8d0c1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding:25px}body{margin:0;background:var(--cream) url('assets/botanical-background.svg') center/cover fixed;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}button{border:0}button:disabled{cursor:default}.page{max-width:1680px;margin:auto;padding:0 3.6vw}.skip{position:absolute;left:20px;top:-100px;background:var(--green);color:white;padding:15px;z-index:10}.skip:focus{top:10px}header{height:96px;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:17px;font-size:24px;font-weight:600;white-space:nowrap}.brand img{object-fit:contain;transition:transform .35s}.brand:hover img{transform:rotate(-6deg)}nav{display:flex;align-items:center;gap:32px;margin-left:auto;font-size:15px}nav a,.nav-contact{position:relative}.nav-contact{padding:0;background:none;color:inherit;font-size:inherit}nav a:after,.nav-contact:after{content:'';position:absolute;bottom:-7px;height:1px;background:var(--orange);left:0;right:100%;transition:right .25s}nav a:hover:after,.nav-contact:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:17px 27px;border:1px solid var(--green);border-radius:7px;background:var(--green);color:#fff;font-size:15px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{background:#163d2e;box-shadow:0 5px 18px #214c3b22;transform:translateY(-2px)}.button.small{font-size:14px;padding:13px 21px}.button.outline{background:transparent;color:var(--green)}.button.outline:hover{background:#214c3b08}.hero{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;min-height:490px;gap:15px}.intro{padding:35px 0 38px 20px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:3.3px;color:var(--green);margin:0 0 19px;font-weight:600}h1,h2,h3,h4,figcaption{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(55px,6.4vw,106px);line-height:1.05;letter-spacing:-4.5px;margin:0 0 10px;font-weight:600;white-space:nowrap}h1>span{color:var(--green)}.dot{color:var(--orange)}h2{font-weight:400;font-size:clamp(30px,3.4vw,56px);line-height:1.12;letter-spacing:-1.8px;margin:0 0 22px}.description{font-size:17px;line-height:1.65;color:#444b48;margin:0 0 27px}.hero-actions{display:flex;gap:15px}.illustration{margin:0;align-self:center;position:relative}.tree-wrap{position:relative;max-width:600px;margin:auto}.tree{display:block;width:100%;height:auto;max-height:530px;object-fit:contain;animation:arrive 1s ease both}figcaption{text-align:center;color:#56674e;font-size:16px;margin:1px 0 22px;letter-spacing:.5px}.leaf{display:block;width:10px;height:19px;border-radius:90% 0 90% 0;background:#aeb77d;position:absolute;pointer-events:none;opacity:.65;animation:drift 9s ease-in-out infinite}.leaf-one{left:12%;top:64%}.leaf-two{right:8%;top:40%;background:#d99551;animation-delay:-4s}.details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:.85fr 1fr 1.65fr;padding:27px 0;gap:26px}.details article{min-width:0;padding:0 24px 0 0;border-right:1px solid var(--line);scroll-margin:25px}.details article:last-child{padding:0;border:0}.section-label{font-size:10px;letter-spacing:2px;color:var(--green);margin:0 0 23px;font-weight:600}.section-label>span{color:var(--orange);font-size:13px;margin-right:8px}.education{display:flex;gap:14px;align-items:flex-start}.edu-icon{background:#ece9df;color:var(--green);font-family:Georgia,serif;font-size:34px;padding:8px 14px;border-radius:8px}h3{font-size:24px;font-weight:600;letter-spacing:-.5px;margin:0 0 7px}.education p{font-size:13px;line-height:1.6;margin:0}.fine{font-size:11px;line-height:1.6;letter-spacing:.6px;color:#616660;margin:16px 0 0}.subjects{padding-top:12px;border-top:1px solid var(--line);margin-left:67px}.skills{display:flex;flex-wrap:wrap;gap:8px}.skills>span{display:flex;align-items:center;gap:9px;background:#eeebe3;border:1px solid #e8e4da;padding:10px 12px;border-radius:7px;font-size:12px}.skills b{display:inline-flex;align-items:center;justify-content:center;width:20px;height:23px;border-radius:3px;color:white;font-size:14px}.skills .html{background:#dc6130}.skills .css{background:#327cc7}.skills .js{background:#f1d74e;color:#242424;font-size:10px}.skills .responsive{color:var(--green);font-size:22px;padding:7px 12px}.responsive span{font-size:12px;color:var(--ink)}.project-body{display:grid;grid-template-columns:.85fr 1fr;gap:18px}.project-description{font-size:13px;color:#56605a;line-height:1.65;margin:0 0 15px}.text-link{display:inline-block;font-size:13px;font-weight:600;color:var(--green);padding-bottom:5px;border-bottom:1px solid;transition:color .2s}.text-link:hover{color:var(--orange)}.project-preview{background:linear-gradient(145deg,#fffdf7,#e8ebdd);border:1px solid #dedbcf;border-radius:8px;padding:13px;transform:rotate(-1deg);transition:transform .3s;box-shadow:0 8px 18px #252b1e06}.project-preview:hover{transform:rotate(0) translateY(-3px)}.preview-nav{display:flex;justify-content:space-between;font-size:7px;gap:8px}.preview-nav span{font-size:6px}.project-preview h4{font-size:18px;line-height:1.1;margin:19px 0 14px;font-weight:500}.preview-apps{display:flex;gap:6px}.preview-apps>span{background:#fff9;border:1px solid #dfe1d6;border-radius:4px;padding:6px;font-size:14px;color:var(--orange);display:flex;gap:6px;align-items:center;flex:1}.preview-apps b{font-family:Arial,sans-serif;font-size:6px;color:var(--ink)}.project-preview small{font-size:6px;letter-spacing:1px;color:#777c70;display:block;margin-top:9px}footer{display:flex;align-items:center;gap:23px;min-height:79px}.footer-brand{font-size:14px;gap:10px}footer>p{font-size:10px;letter-spacing:1.4px;color:#5d635c;padding-left:24px;border-left:1px solid var(--line)}.socials{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:17px;position:relative;padding-bottom:13px;padding-top:10px}.socials a{display:flex;align-items:center;gap:7px;font-size:10px;color:#444c46;transition:color .2s}.socials a:hover{color:var(--orange)}.socials svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.social-mark{display:flex;align-items:center;justify-content:center;border-radius:2px;background:var(--green);color:white;font-size:15px;width:19px;height:19px}.socials>small{position:absolute;right:0;bottom:0;font-size:8px;letter-spacing:1px;color:#83877c}dialog{border:1px solid var(--line);border-radius:14px;background:var(--cream);color:var(--ink);padding:45px;max-width:520px;width:calc(100% - 36px);box-shadow:0 25px 90px #16291d30}dialog::backdrop{background:#15251db3;backdrop-filter:blur(5px)}dialog h2{font-size:34px}dialog>p{line-height:1.6}dialog .button{margin-top:22px}.close{position:absolute;right:16px;top:12px;font-size:29px;background:transparent;color:var(--green)}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-13px,18px) rotate(40deg)}}@media(min-width:1000px) and (min-height:650px){.page{min-height:100dvh;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column}.hero{flex:1}.tree{max-height:min(54vh,620px)}}@media(min-width:1000px) and (max-height:760px){header{height:78px}.hero{min-height:0}.intro{padding-top:24px;padding-bottom:24px}h1{font-size:clamp(55px,6vw,90px)}h2{font-size:clamp(30px,3.1vw,45px);margin-bottom:17px}.description{font-size:15px;margin-bottom:20px}.tree{max-height:390px}.illustration figcaption{margin-bottom:12px}.details{padding:20px 0}.section-label{margin-bottom:16px}.button{padding:14px 24px}footer{min-height:64px}}@media(max-width:1100px){header{gap:22px}nav{gap:21px}.brand{font-size:21px}.details{gap:18px;grid-template-columns:.85fr 1fr 1.3fr}.details article{padding-right:16px}.project-body{grid-template-columns:1fr}.project-preview{display:none}.subjects{margin-left:0}.education{gap:10px}.edu-icon{display:none}.socials{gap:13px}.socials a span{display:none}h1{letter-spacing:-3px}.intro{padding-left:0}}@media(max-width:760px){.page{padding:0 6vw}header{height:85px;gap:12px}.brand{font-size:18px;gap:8px}.brand img{width:46px;height:46px}header>.button{display:none}nav{gap:15px;font-size:12px}nav a:first-child,nav .nav-contact{display:none}.hero{grid-template-columns:1fr;gap:0;min-height:0}.intro{padding-top:36px;padding-bottom:20px}h1{font-size:clamp(46px,10vw,76px);letter-spacing:-2.8px}h2{font-size:clamp(30px,7vw,46px);letter-spacing:-1px}.eyebrow{font-size:9px;letter-spacing:2px}.description{font-size:15px}.desktop-break{display:none}.hero-actions{gap:10px}.button{font-size:13px;padding:14px 20px}.tree{max-height:440px}.illustration{margin-top:0}figcaption{font-size:14px}.details{grid-template-columns:1fr;gap:24px;padding:25px 0}.details article{padding:0 0 22px;border-right:0;border-bottom:1px solid var(--line)}.details article:last-child{border:0;padding:0}.section-label{margin-bottom:17px}.education p{font-size:14px}.edu-icon{display:block}.subjects{margin-left:67px}.project-body{grid-template-columns:1fr 1fr}.project-preview{display:block}.skills>span{font-size:13px}footer{flex-wrap:wrap;gap:5px 16px;padding:15px 0 20px}.footer-brand{font-size:14px}footer>p{font-size:9px;padding-left:15px}.socials{margin-left:0;width:100%;justify-content:space-between;padding-bottom:19px;margin-top:7px}.socials a span{display:block;font-size:10px}.socials>small{left:0;right:auto}.project-preview h4{font-size:17px}dialog{padding:34px 24px}dialog h2{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
