@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#10120f;--text:#f0f1e9;--muted:#a7ada1;--accent:#d2fa69;--accent-strong:#d2fa69;--glass:rgba(231,243,206,.055);--solid:#1c201a;--border:rgba(232,242,213,.18);--input:rgba(0,0,0,.18);--shadow:0 28px 60px #0003;--header:rgba(25,29,22,.76);--line:rgba(221,246,181,.06)}
[data-theme=light]{color-scheme:light;--bg:#f2f3eb;--text:#20271c;--muted:#616b58;--accent:#526d20;--accent-strong:#d2fa69;--glass:rgba(255,255,255,.52);--solid:#fafbf6;--border:rgba(45,65,27,.18);--input:rgba(224,229,213,.35);--shadow:0 25px 65px #34412514;--header:rgba(247,249,238,.76);--line:rgba(34,51,21,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;font:16px/1.7 'DM Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:clip;transition:background .4s,color .4s}::selection{background:#c5ef65;color:#151b10}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}p{color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.wrap{max-width:1320px;margin:auto;padding-inline:50px}.muted{color:var(--muted)}.accent{color:var(--accent)}.gradient-text{color:var(--accent)}.eyebrow{font:600 .75rem/1.5 'DM Sans',sans-serif;letter-spacing:.16em;color:var(--accent)}.glass{background:linear-gradient(135deg,rgba(240,255,211,.095),transparent 65%),var(--glass);border:1px solid var(--border);backdrop-filter:blur(30px) saturate(130%);-webkit-backdrop-filter:blur(30px) saturate(130%);box-shadow:inset 0 1px 0 #f3ffe218,var(--shadow)}.ambient{position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(100px);opacity:.1;animation:ambient-drift 15s ease-in-out infinite alternate}.ambient-one{width:48vw;height:60vh;background:#b7e750;right:-10vw;top:20vh}.ambient-two{width:30vw;height:40vh;background:#a2b691;left:-10vw;top:75vh}.cursor-light{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(500px circle at var(--pointer-x,70%) var(--pointer-y,35%),#a9cb5d0a,transparent 80%)}.scroll-progress{position:fixed;z-index:150;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:var(--accent)}.skip{position:fixed;top:-100px;left:20px;z-index:200;background:var(--solid);padding:12px}.skip:focus{top:10px}.header{position:sticky;top:20px;z-index:50;max-width:1220px;margin:20px auto 0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 24px;border-radius:50px;background:var(--header)}.brand{display:flex;align-items:center;gap:12px;font-size:1rem;letter-spacing:-.035em;font-weight:700}.monogram{width:34px;height:34px;border-radius:50%;display:grid;place-content:center;background:var(--accent-strong);color:#20271c;font:800 27px/1 Manrope,sans-serif;position:relative;padding-bottom:5px}.monogram span{display:none}nav{display:flex;gap:30px}nav a{font-size:.86rem;color:var(--muted);position:relative}nav a:after{content:'';position:absolute;height:2px;background:var(--accent);bottom:-6px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after,nav a.active:after{transform:scaleX(1)}nav a.active,nav a:hover{color:var(--text)}.nav-actions{display:flex;gap:14px;align-items:center}.icon-button{width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--glass);color:var(--text);display:grid;place-items:center}.small-contact{font-size:.82rem;background:var(--text);color:var(--bg);border-radius:30px;padding:9px 18px}.menu-toggle{display:none}.moon,[data-theme=light] .sun{display:none}[data-theme=light] .moon{display:block}
.hero{padding-top:38px}.hero-topline,.hero-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.64rem;letter-spacing:.1em;color:var(--muted)}.hero-topline{padding-bottom:23px;border-bottom:1px solid var(--border)}.hero-topline i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:9px}.hero-stage{display:grid;grid-template-columns:1.32fr 1fr;align-items:center;position:relative;gap:30px;min-height:670px;padding-block:45px}.hero-copy{position:relative;z-index:3}.hero-copy>.eyebrow{color:var(--muted);margin-bottom:15px}h1{font-size:clamp(3rem,6.8vw,5.8rem);line-height:1.02;letter-spacing:-.065em;font-weight:800;white-space:nowrap}.surname{display:block;color:transparent;-webkit-text-stroke:1px var(--text)}.name-dot{color:var(--accent);-webkit-text-stroke:0}.hero-description{font-size:1.5rem;line-height:1.4;color:var(--muted);margin-top:30px;letter-spacing:-.025em}.hero-description strong{color:var(--text);font-weight:500}.hero-detail{font-size:.93rem;max-width:405px;margin-top:16px;line-height:1.8}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.button{border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:13px 23px;border-radius:40px;font-size:.85rem;font-weight:600;transition:transform .3s,box-shadow .3s}.button:hover{transform:translateY(-4px);box-shadow:0 10px 30px #b7e75020}.primary{background:var(--accent-strong);color:#20271c;border-color:var(--accent-strong)}.secondary{background:var(--glass);color:var(--text)}.button-symbol{font-size:1.1rem}.hero-social{display:flex;align-items:center;gap:18px;font-size:.8rem;margin-top:29px;color:var(--muted)}.hero-social a:hover{color:var(--accent)}.hero-social>span{opacity:.35}.hero-visual{position:relative;min-width:0;padding:5px 20px 45px 20px;perspective:1000px}#spiral{position:absolute;width:145%;height:140%;left:-24%;top:-19%;z-index:0;pointer-events:none}.portrait-card{padding:12px;border-radius:20px;position:relative;z-index:1;transform:rotate(5deg);transition:transform .6s cubic-bezier(.2,.75,.3,1);background:linear-gradient(135deg,#eef2dc26,#ebf3d406);will-change:transform}.portrait-top{display:flex;justify-content:space-between;gap:10px;font-size:.55rem;letter-spacing:.1em;margin:3px 4px 11px;color:var(--muted)}.portrait-frame{position:relative;overflow:hidden;border-radius:11px;background:#e0e0de}.portrait-frame img{width:100%;height:395px;object-fit:cover;object-position:50% 22%;filter:saturate(.58);transition:filter .6s,transform 1s}.portrait-card:hover img{filter:saturate(.95);transform:scale(1.025)}.photo-index{position:absolute;right:12px;bottom:12px;border:1px solid #ffffff60;padding:4px 10px;font-size:.65rem;color:white;backdrop-filter:blur(10px);border-radius:20px}.portrait-bottom{display:flex;justify-content:space-between;align-items:center;padding:13px 6px 0;font-size:.65rem;letter-spacing:.08em;line-height:1.5}.portrait-symbol{font-size:2rem;color:var(--accent);line-height:1;animation:rotate 16s linear infinite}.float-card{position:absolute;z-index:4;animation:float 6s ease-in-out infinite}.current-role{left:-38px;right:38px;bottom:5px;border-radius:16px;padding:20px;display:flex;align-items:center;gap:15px;background:var(--header);box-shadow:inset 0 1px #fff2,0 20px 50px #0003}.role-icon{width:48px;height:50px;display:grid;place-items:center;font-size:.85rem;color:var(--accent);border:1px solid var(--border);border-radius:12px;background:#b7e75010}.current-role small{display:block;font-size:.53rem;letter-spacing:.07em;color:var(--muted)}.current-role strong{display:block;font-size:1.05rem;letter-spacing:-.025em;margin:2px 0}.current-role div>span{display:block;font-size:.78rem;color:var(--muted)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:auto;box-shadow:0 0 0 5px #b7e75012}.vertical-caption{writing-mode:vertical-rl;position:absolute;right:-12px;top:130px;letter-spacing:.16em;font-size:.57rem;color:var(--muted)}.hero-bottom{padding:22px 0 25px;border-top:1px solid var(--border);font-size:.59rem}.scroll-cue{display:flex;gap:12px;align-items:center}.scroll-mouse{width:17px;height:25px;border:1px solid var(--muted);border-radius:10px;position:relative}.scroll-mouse:after{content:'';width:3px;height:5px;background:var(--accent);position:absolute;left:6px;top:5px;border-radius:5px;animation:scroll-dot 1.8s ease infinite}.stack-strip{background:var(--accent-strong);color:#27321b;overflow:hidden;padding:22px 0;transform:rotate(-1deg);margin-top:22px}.stack-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1450px}.stack-strip span{font-size:.62rem;letter-spacing:.12em;max-width:80px;line-height:1.5}.stack-strip strong{font-size:1rem;font-weight:600;white-space:nowrap}.stack-strip strong:before{content:'✳';font-size:1rem;margin-right:20px;opacity:.5}
.section{padding-top:120px;padding-bottom:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading h2{font-size:clamp(2rem,3.8vw,3.1rem);font-weight:500;letter-spacing:-.05em;line-height:1.15;margin-top:19px}.section-heading>p{font-size:.92rem;line-height:1.8}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}.about-photo{position:relative;border-radius:18px;padding:12px;transform:rotate(-2deg)}.about-photo img{height:450px;width:100%;object-fit:cover;object-position:50% 22%;border-radius:9px;filter:grayscale(1)}.photo-label{position:absolute;bottom:27px;left:27px;right:27px;border-radius:9px;padding:14px;text-align:center;font-size:.78rem;background:var(--header)}.about-copy h3{font-size:1.8rem;letter-spacing:-.035em;line-height:1.35;margin-bottom:24px;font-weight:500}.about-copy p{font-size:.98rem;margin:14px 0}.stats{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:18px;border-top:1px solid var(--border);padding-top:24px;margin-top:30px}.stats strong{display:block;font:500 2.4rem/1.4 Manrope,sans-serif;letter-spacing:-.055em}.stats strong span{color:var(--accent)}.stats div>span{font-size:.76rem;color:var(--muted)}.timeline{display:grid;gap:20px}.experience-item{border-radius:17px;padding:30px 34px;position:relative;overflow:hidden;transition:border-color .3s}.experience-item:after,.skill-card:after{content:'';position:absolute;inset:0;background:radial-gradient(500px circle at var(--card-x,0%) var(--card-y,0%),#d2fa6912,transparent 65%);pointer-events:none}.experience-item:hover{border-color:var(--accent)}.experience-item:first-child{background:linear-gradient(120deg,#b7e75018,transparent),var(--glass);border-color:#b8dd6460}.experience-head{display:flex;align-items:center;gap:20px}.company-mark{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:12px;border:1px solid var(--border);color:var(--accent);font-weight:700;background:var(--input)}.experience-head h3{font-size:1.28rem;font-weight:500;letter-spacing:-.025em}.experience-head p{font-size:.92rem}.experience-head time{margin-left:auto;color:var(--muted);font-size:.8rem;text-align:right}.experience-body{padding-left:72px}.experience-body .summary{font-size:.8rem;margin-top:18px}.experience-body ul{padding-left:18px;color:var(--muted);font-size:.93rem}.experience-body li{padding:5px 0}.experience-body details{margin-top:15px}.experience-body summary{font-size:.85rem;color:var(--accent);cursor:pointer;width:fit-content}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.tag{padding:4px 10px;border:1px solid var(--border);border-radius:6px;font-size:.72rem;color:var(--muted);background:var(--input)}.project-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.84rem;padding:9px 18px;border-radius:25px;transition:background .3s,color .3s}.filter.active{color:#26321b;background:var(--accent-strong);border-color:var(--accent-strong)}.filter span{font-size:.65rem;margin-left:5px}#project-count{font-size:.8rem;white-space:nowrap}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-card{border:1px solid var(--border);background:var(--glass);border-radius:20px;padding:12px;backdrop-filter:blur(20px);box-shadow:inset 0 1px #fff1;transition:transform .5s,border-color .5s;animation:card-in .6s both}.project-card:nth-child(even){animation-delay:.1s}.project-card:hover{transform:translateY(-7px);border-color:#bbd6847a}.project-image{height:285px;position:relative;border-radius:12px;overflow:hidden;background:var(--solid)}.project-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.65);transition:transform .8s,filter .6s}.project-card:hover img{transform:scale(1.06);filter:saturate(1)}.project-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#10150b70);pointer-events:none}.project-number{position:absolute;z-index:1;top:15px;left:15px;border:1px solid #ffffff55;color:white;background:#151b1280;backdrop-filter:blur(14px);font-size:.72rem;padding:5px 12px;border-radius:20px}.project-content{padding:23px 15px 13px}.category{font-size:.68rem;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.project-content h3{font-size:1.65rem;font-weight:500;letter-spacing:-.04em;margin:8px 0 12px}.project-content>p{font-size:.95rem;line-height:1.7;min-height:4.9em}.project-open{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;color:var(--text);padding:18px 0 0;border:0;border-top:1px solid var(--border);margin-top:24px;font-size:.87rem}.project-open span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent-strong);color:#26321b}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.skill-card{padding:32px;border-radius:18px;position:relative;overflow:hidden;transition:transform .4s}.skill-card:hover{transform:translateY(-7px)}.skill-glyph{display:block;font:400 1.7rem/1 monospace;color:var(--accent);margin-bottom:35px}.skill-card h3{font-size:1.22rem;font-weight:500;margin-bottom:8px;letter-spacing:-.03em}.skill-card p{font-size:.9rem}.skill-card .tag{font-size:.79rem;padding:6px 10px}.education-card{border-radius:17px;display:flex;gap:25px;align-items:center;padding:32px}.education-icon{font-size:2rem;color:var(--accent)}.education-card h3{font-size:1.3rem;font-weight:500;letter-spacing:-.03em;margin:8px 0}.education-card p{font-size:.93rem}.degree-badge{margin-left:auto;font-size:.8rem;color:var(--accent);border:1px solid var(--border);padding:8px 16px;border-radius:25px}.cert-heading{font-size:1.2rem;font-weight:500;margin:40px 0 24px}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cert-card{border:1px solid var(--border);border-radius:13px;padding:25px;background:var(--glass)}.cert-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.7rem}.cert-card h4{font-size:.97rem;font-weight:500;margin:15px 0 10px;line-height:1.5}.cert-card p{font-size:.87rem}.contact-panel{padding:55px;border-radius:23px;display:grid;grid-template-columns:1fr 1fr;gap:55px;background:radial-gradient(ellipse at top left,#d2fa6914,transparent 65%),var(--glass)}.contact-panel h2{font-size:2.7rem;letter-spacing:-.06em;font-weight:500;line-height:1.2;margin:24px 0}.contact-copy>p{font-size:.95rem;max-width:350px}.email-link{font-size:1rem;display:block;margin-top:30px;overflow-wrap:anywhere}.phone-link{font-size:.9rem;color:var(--muted)}.contact-links{display:flex;gap:25px;font-size:.82rem;margin-top:25px}.text-button{border:0;background:none;color:var(--accent);font:inherit;padding:0}#copy-status{font-size:.8rem;display:block;min-height:28px;color:var(--accent)}form{display:flex;flex-direction:column;gap:21px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:flex;flex-direction:column;gap:8px;font-size:.8rem;color:var(--muted)}input,textarea{font-size:.9rem;background:var(--input);color:var(--text);border:1px solid var(--border);padding:13px;border-radius:9px;width:100%}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}textarea{resize:vertical;min-height:110px}.form-note{font-size:.76rem;line-height:1.5;text-align:center}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:150px;margin-top:50px!important;color:var(--muted);font-size:.83rem}footer .brand{color:var(--text)}
dialog{width:calc(100% - 32px);max-width:920px;max-height:90vh;border:1px solid var(--border);border-radius:22px;background:var(--solid);color:var(--text);padding:25px 35px 40px;box-shadow:0 35px 100px #0007}dialog[open]{animation:modal-in .35s both}dialog::backdrop{background:#0c100bc2;backdrop-filter:blur(18px)}.dialog-close{position:sticky;top:0;margin:0 0 12px auto;z-index:3;background:var(--solid)}.project-gallery{position:relative;border-radius:13px;overflow:hidden;background:var(--input)}#gallery-main{height:370px;width:100%;object-fit:cover}.gallery-controls{position:absolute;bottom:15px;left:15px;right:15px;display:flex;align-items:center;justify-content:space-between;color:#fff}.gallery-controls .icon-button{background:#18210d90;border-color:#ffffff70;color:#fff;font-size:1.5rem;backdrop-filter:blur(12px)}#gallery-count{border-radius:20px;background:#18210db0;padding:5px 14px;font-size:.8rem;backdrop-filter:blur(12px)}.gallery-thumbnails{display:flex;gap:10px;margin-top:13px}.gallery-thumbnails button{width:90px;height:62px;padding:3px;border:1px solid var(--border);border-radius:8px;background:none}.gallery-thumbnails button[aria-pressed=true]{border-color:var(--accent);background:var(--accent)}.gallery-thumbnails img{height:100%;width:100%;object-fit:cover;border-radius:4px}.gallery-caption{font-size:.72rem!important;margin:10px 0 25px!important}dialog h2{font-size:2rem;letter-spacing:-.04em;line-height:1.3;margin:12px 0 18px}dialog p,dialog li{font-size:.97rem;color:var(--muted)}dialog h3{font-size:1.2rem;font-weight:500;margin:28px 0 15px}dialog li{padding:5px 0}body.modal-open{overflow:hidden}.reveal{opacity:1}.motion .reveal{opacity:0;transform:translateY(45px);filter:blur(5px);transition:opacity .9s,transform .9s cubic-bezier(.16,1,.3,1),filter .9s}.motion .reveal.visible{opacity:1;transform:none;filter:none}
.preloader{display:none;position:fixed;inset:0;z-index:500;background:#10120f;color:#f0f1e9;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;transition:transform .8s cubic-bezier(.76,0,.24,1),visibility .8s}.loading .preloader{display:flex}.preloader.complete{display:flex;transform:translateY(-101%);visibility:hidden;pointer-events:none}.loader-monogram{font:500 clamp(5rem,14vw,10rem)/1 Manrope,sans-serif;letter-spacing:-.09em;z-index:1}.loader-monogram>span{color:#d2fa69;vertical-align:top;font-size:1.4rem;letter-spacing:0}.loader-orbit{position:absolute;width:270px;height:270px;border:1px solid #d2fa6933;border-radius:50%;animation:rotate 2.5s linear infinite}.loader-orbit:before,.loader-orbit:after{content:'';position:absolute;inset:-30px;border:1px solid #d2fa6920;border-radius:50%;transform:rotateX(65deg) rotateY(25deg)}.loader-orbit:after{inset:15px;border-color:#d2fa6960;transform:rotateX(35deg) rotateY(65deg)}.loader-bottom{position:absolute;bottom:65px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:end;font-size:.72rem;letter-spacing:.14em}.loader-bottom #loader-count{font:400 2rem Manrope,sans-serif;letter-spacing:-.05em;color:#d2fa69}.loader-track{position:absolute;bottom:45px;left:7%;right:7%;height:1px;background:#ffffff25}.loader-track span{display:block;height:100%;background:#d2fa69;width:0;animation:load-track 1.3s ease-out forwards}.loading .hero-copy,.loading .hero-visual{opacity:0}.hero-copy{animation:hero-enter 1.1s .2s both}.hero-visual{animation:hero-enter 1.3s .35s both}.loading .hero-copy,.loading .hero-visual{animation:none}
@keyframes load-track{to{width:100%}}@keyframes hero-enter{from{opacity:0;transform:translateY(40px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes modal-in{from{opacity:0;transform:translateY(25px) scale(.96)}to{opacity:1;transform:none}}@keyframes card-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ambient-drift{to{transform:translate(-60px,80px)}}@keyframes float{50%{transform:translateY(-12px)}}@keyframes scroll-dot{to{transform:translateY(9px);opacity:0}}
@media(min-width:1450px){.hero-stage{min-height:750px}h1{font-size:6.4rem}.portrait-frame img{height:445px}}
@media(max-width:1250px){.header{margin-inline:35px}.wrap{padding-inline:35px}.hero-stage{gap:15px}.hero-visual{padding-inline:25px}.current-role{left:0;right:0}.stack-strip .wrap{gap:18px}.stack-strip strong{font-size:.88rem}.stack-strip strong:before{margin-right:13px}.contact-panel{padding:40px;gap:35px}}
@media(max-width:1000px){.hero-stage{grid-template-columns:1.2fr 1fr;min-height:610px}h1{font-size:6.8vw}.hero-detail{max-width:340px;font-size:.88rem}.hero-description{font-size:1.3rem}.portrait-frame img{height:345px}.portrait-top{font-size:.47rem}.current-role{padding:14px;gap:10px}.current-role strong{font-size:.95rem}.current-role small{font-size:.45rem}.role-icon{width:38px;height:42px}.hero-bottom>span:nth-child(2){display:none}.hero-topline{font-size:.58rem}.small-contact{display:none}nav{gap:22px}.stack-strip .wrap{flex-wrap:wrap;justify-content:center}.stack-strip span{max-width:none}.about-grid{gap:35px}.about-photo img{height:410px}.skill-grid{gap:15px}.skill-card{padding:25px}.skill-card h3{font-size:1.06rem}.cert-grid{grid-template-columns:repeat(2,1fr)}.project-image{height:230px}.project-content h3{font-size:1.45rem}.contact-panel h2{font-size:2.25rem}.contact-panel{gap:28px;padding:32px}.form-row{grid-template-columns:1fr}.experience-head time{max-width:150px}.stats strong{font-size:2rem}}
@media(max-width:760px){html{scroll-padding-top:100px}.wrap{padding-inline:24px}.header{margin:14px 18px 0;top:14px;padding:12px 16px;gap:10px}.brand{font-size:.9rem}.monogram{width:30px;height:30px;font-size:25px}.nav-actions{gap:8px}.icon-button{width:36px;height:36px}.menu-toggle{display:grid}nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:var(--solid);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow);gap:0}nav.open{display:flex}nav a{padding:12px;font-size:1rem}nav a:after{display:none}.hero{padding-top:30px}.hero-topline>span:last-child{display:none}.hero-stage{grid-template-columns:1fr;padding-top:35px;gap:35px;padding-bottom:35px}.hero-copy{max-width:550px}h1{font-size:clamp(3rem,11.8vw,5.5rem);letter-spacing:-.065em}.hero-description{font-size:1.5rem;margin-top:25px}.hero-detail{font-size:1rem;max-width:440px}.hero-visual{max-width:450px;width:90%;margin:10px auto 5px;padding:12px 10px 70px}#spiral{width:130%;height:125%;left:-15%;top:-13%}.portrait-frame img{height:410px}.portrait-top{font-size:.53rem}.current-role{left:-10px;right:10px;padding:18px;bottom:20px}.current-role strong{font-size:1.1rem}.current-role small{font-size:.54rem}.role-icon{width:45px;height:48px}.vertical-caption{right:-17px;font-size:.5rem}.hero-bottom{font-size:.5rem}.hero-topline{font-size:.62rem}.hero-social{font-size:.85rem}.actions{gap:10px}.button{font-size:.82rem;padding:13px 19px}.stack-strip{margin-top:5px;padding-block:22px}.stack-strip .wrap{gap:14px 20px}.stack-strip span{width:100%;text-align:center;font-size:.65rem}.stack-strip strong{font-size:.8rem}.section{padding-top:80px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:2.4rem}.section-heading>p{margin-top:20px}.about-grid{grid-template-columns:1fr;gap:32px}.about-photo{max-width:440px;width:95%;margin:auto}.about-photo img{height:410px}.about-copy h3{font-size:1.7rem}.about-copy p{font-size:1rem}.stats{gap:12px}.stats strong{font-size:2.2rem}.stats div>span{font-size:.7rem}.experience-item{padding:24px}.experience-head{flex-wrap:wrap;gap:15px}.experience-head h3{font-size:1.13rem}.experience-head p{font-size:.85rem}.experience-head time{margin-left:67px;max-width:none;font-size:.78rem;text-align:left}.experience-body{padding-left:0}.experience-body ul{font-size:.95rem}.project-grid{gap:20px}.project-image{height:200px}.project-content{padding:20px 8px 10px}.project-content h3{font-size:1.3rem}.project-content>p{font-size:.9rem;min-height:0}.project-toolbar{display:block}.filters{gap:8px}.filter{font-size:.8rem;padding:8px 15px}#project-count{display:block;margin-top:14px}.skill-grid{grid-template-columns:1fr}.skill-card{padding:30px}.skill-card h3{font-size:1.2rem}.skill-glyph{margin-bottom:20px}.education-card{padding:26px;align-items:start}.education-icon,.degree-badge{display:none}.education-card h3{font-size:1.2rem}.cert-grid{gap:15px}.cert-card{padding:22px}.cert-meta{flex-wrap:wrap;font-size:.72rem}.contact-panel{grid-template-columns:1fr;padding:28px;gap:30px}.contact-panel h2{font-size:2.6rem}.form-row{grid-template-columns:1fr 1fr}footer{flex-wrap:wrap;justify-content:center;min-height:150px;font-size:.78rem;padding-block:30px}footer .brand{width:100%;justify-content:center}dialog{padding:18px 22px 30px}.project-gallery #gallery-main{height:270px}dialog h2{font-size:1.6rem}.ambient-one{width:85vw;right:0}.ambient-two{width:50vw}}
@media(max-width:540px){.project-grid,.cert-grid{grid-template-columns:1fr}.project-image{height:235px}.project-content{padding:21px 12px 12px}.project-content h3{font-size:1.55rem}.project-content>p{font-size:1rem}.project-content .tag{font-size:.74rem}.portrait-frame img{height:350px}.hero-visual{width:92%}.current-role{padding:15px;gap:12px;right:0}.current-role small{font-size:.48rem}.current-role strong{font-size:1rem}.hero-bottom>span:last-child{font-size:.46rem}.contact-panel h2{font-size:2.2rem}.form-row{grid-template-columns:1fr}.experience-head>div{flex:1;min-width:160px}.experience-head time{margin-left:0}.section-heading h2{font-size:2.1rem}.about-photo img{height:370px}.stats strong{font-size:1.8rem}.stats div>span{font-size:.65rem}.project-gallery #gallery-main{height:220px}.gallery-caption{font-size:.65rem!important}.gallery-thumbnails button{width:75px;height:52px}}
.portrait-bottom{visibility:hidden;height:23px;padding:0}.current-role{background:rgba(27,33,22,.88)}[data-theme=light] .current-role{background:rgba(248,250,239,.9)}
@media(max-width:760px){#spiral{width:115%;left:-7.5%}.hero-visual{isolation:isolate}}
.hero{overflow:clip}.ambient-one{right:0}
@media(min-width:1800px){.button,nav a{font-size:1rem}.hero-social{font-size:.95rem}.hero-topline,.hero-bottom{font-size:.75rem}.small-contact{font-size:.95rem}}
/* Fluid desktop composition: the page grows with the display instead of stopping at 1320px. */
@media(min-width:1100px){.wrap{max-width:none;width:100%;padding-inline:4vw}.header{max-width:none;margin-inline:4vw;width:auto}.hero{min-height:calc(100svh - 100px);display:flex;flex-direction:column}.hero-stage{flex:1;width:100%;min-height:calc(100svh - 260px);grid-template-columns:1.15fr 1fr;gap:5vw;padding-block:clamp(35px,4vh,70px)}.hero-topline,.hero-bottom{width:100%}h1{font-size:clamp(5rem,7.6vw,12rem)}.hero-description{font-size:clamp(1.5rem,2vw,2.7rem)}.hero-detail{max-width:36vw;font-size:clamp(1rem,1.08vw,1.5rem)}.hero-visual{width:100%;max-width:none;padding-inline:2.5vw}.portrait-frame img{height:clamp(400px,54vh,820px);object-position:50% 27%}.current-role{left:0;right:4vw;padding:clamp(18px,1.5vw,30px)}.current-role strong{font-size:clamp(1rem,1.3vw,1.8rem)}.current-role small{font-size:clamp(.6rem,.65vw,.9rem)}.current-role div>span{font-size:clamp(.8rem,.9vw,1.1rem)}.portrait-top{font-size:clamp(.6rem,.65vw,.9rem)}.section{padding-top:clamp(95px,8vw,160px)}.section-heading h2{font-size:clamp(2.5rem,3.6vw,5rem)}.about-grid{grid-template-columns:.8fr 1.2fr;gap:6vw}.about-photo img{height:clamp(450px,34vw,720px)}.about-copy{max-width:880px}.about-copy p{font-size:clamp(1rem,1.05vw,1.3rem)}.project-image{height:clamp(280px,22vw,480px)}.project-content>p{max-width:70ch}.stack-strip .wrap{max-width:none}.experience-body{max-width:1200px}.contact-panel{padding:4vw;gap:5vw}}
.preloader{background:var(--bg);color:var(--text);transition:clip-path .75s cubic-bezier(.76,0,.24,1),visibility .75s;clip-path:inset(0)}.preloader.complete{transform:none;clip-path:inset(0 0 100% 0)}.loader-panel{width:min(72vw,1000px)}.loader-kicker{font-size:clamp(.62rem,1vw,.9rem);letter-spacing:.2em;color:var(--muted)}.loader-name{font:800 clamp(3.1rem,10vw,9.4rem)/.98 Manrope,sans-serif;letter-spacing:-.065em;margin:30px 0 35px;overflow:hidden}.loader-name>span{display:block;animation:loader-word .7s cubic-bezier(.16,1,.3,1) both}.loader-name>span+span{color:transparent;-webkit-text-stroke:1px var(--text);animation-delay:.12s}.loader-period{color:var(--accent);-webkit-text-stroke:0}.loader-line{height:2px;background:var(--border);overflow:hidden}.loader-line i{display:block;height:100%;background:var(--accent);transform-origin:left;animation:loader-fill 1s cubic-bezier(.16,1,.3,1) both}.loader-caption{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:.65rem;letter-spacing:.14em;color:var(--muted)}.loader-dots{display:flex;gap:6px}.loader-dots i{width:4px;height:4px;border-radius:50%;background:var(--accent);animation:dot-pulse .6s alternate infinite}.loader-dots i:nth-child(2){animation-delay:.15s}.loader-dots i:nth-child(3){animation-delay:.3s}.primary{position:relative;overflow:hidden}.primary:before{content:'';position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 35%,#fff5 50%,transparent 65%);transform:translateX(-100%);transition:transform .7s}.primary:hover:before{transform:translateX(100%)}.project-card:hover .project-open span{transform:rotate(90deg)}.project-open span{transition:transform .4s}.live-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.live-links a{font-size:.84rem;padding:9px 16px;border:1px solid var(--border);border-radius:30px;transition:background .25s,border-color .25s}.live-links a:hover{background:var(--glass);border-color:var(--accent)}.featured-project{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:25px;background:linear-gradient(125deg,#a7c75b15,transparent),var(--glass)}.featured-project .project-image{height:100%;min-height:440px;background:radial-gradient(ellipse at center,#b5ca8540,transparent),var(--input);display:grid;place-items:center}.featured-project .project-image>img{display:none}.featured-project .project-content{padding:40px 30px}.featured-project .project-content h3{font-size:clamp(2rem,3vw,3.5rem)}.featured-project .project-content>p{min-height:0;font-size:1.05rem;max-width:55ch}.feature-screens{display:flex;gap:15px;padding:60px 25px 25px;width:100%;height:100%;align-items:center;justify-content:center}.feature-screens img{width:28%;height:auto;max-height:450px;object-fit:contain;filter:none;border-radius:12px;box-shadow:0 20px 35px #0003;transition:transform .7s}.feature-screens img:nth-child(2){transform:translateY(-18px)}.featured-project:hover .feature-screens img{transform:translateY(-7px)}.featured-project:hover .feature-screens img:nth-child(2){transform:translateY(-28px)}.official-gallery #gallery-main{object-fit:contain;height:min(53vh,580px);background:var(--input)}.official-gallery .gallery-thumbnails img{object-fit:contain}.featured-project .project-number{background:var(--solid);color:var(--accent);border-color:var(--border)}
@keyframes loader-word{from{transform:translateY(110%);opacity:0}to{transform:none;opacity:1}}@keyframes loader-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes dot-pulse{to{opacity:.2;transform:translateY(-3px)}}
@media(max-width:760px){.featured-project{grid-template-columns:1fr;gap:0}.featured-project .project-image{min-height:330px}.featured-project .project-content{padding:25px 12px}.feature-screens{gap:9px;padding-inline:15px}.feature-screens img{max-height:330px}.loader-panel{width:82vw}.loader-name{font-size:clamp(2.8rem,12vw,5rem)}.loader-kicker{letter-spacing:.09em}.loader-caption{font-size:.57rem}.live-links a{font-size:.77rem}.featured-project .project-content>p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none;filter:none}.loading .hero-copy,.loading .hero-visual{opacity:1}.loading .preloader,.preloader.complete{display:none}}
