:root{color-scheme:dark;--bg:#16171c;--alt:#101115;--card:#292b33;--text:#f3f3f5;--muted:#a7a8b0;--line:#33353d;--accent:#d5787b;--purple:#b77aee;--yellow:#e0bd5c;--green:#9aba54;--blue:#6da3e2;--shadow:rgba(0,0,0,.2)}:root[data-theme=light]{color-scheme:light;--bg:#f7f6f3;--alt:#eeece7;--card:#fff;--text:#24242a;--muted:#676973;--line:#ddd9d2;--accent:#b65359;--shadow:rgba(39,34,27,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;transition:.25s}a{color:inherit;text-decoration:none}button{font:inherit}.topbar{position:fixed;z-index:20;top:18px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 32px));height:58px;padding:0 12px 0 20px;display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.wordmark{font-size:1.2rem;font-weight:850;letter-spacing:-.05em}.intro span,.section-title p,.wordmark span{color:var(--accent)}.topbar nav{display:flex;gap:27px;color:var(--muted);font-size:.82rem}.topbar nav a:hover{color:var(--text)}.controls{display:flex;gap:8px;align-items:center}.language-switch{display:flex;padding:3px;background:var(--alt);border-radius:9px}.language-switch button,.theme-button{border:0;color:var(--muted);cursor:pointer;background:transparent}.language-switch button{padding:6px 7px;border-radius:7px;font-size:.7rem;font-weight:700}.language-switch button.active{color:var(--text);background:var(--card);box-shadow:0 2px 8px var(--shadow)}.theme-button{width:36px;height:36px;border:1px solid var(--line);border-radius:10px}.hero{min-height:820px;padding:145px 24px 95px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.avatar-wrap{position:relative;width:112px;height:112px;margin-bottom:50px;border:3px solid var(--accent);border-radius:50%;padding:5px}.avatar-wrap img{border-radius:50%;width:100%;height:100%;object-fit:cover;object-position:67% 24%}.avatar-wrap>span{position:absolute;right:-16px;bottom:-5px;color:var(--green);font:800 24px monospace;text-shadow:0 2px var(--bg)}.intro{margin:0 0 14px;font:400 clamp(.95rem,1.7vw,1.2rem)/1.5 ui-monospace,monospace;color:var(--muted)}h1{margin:0;font-size:clamp(3rem,6vw,5.6rem);line-height:.98;letter-spacing:-.055em;font-weight:850}.hero-text{max-width:760px;margin:28px auto 0;color:var(--muted);font-size:1rem;line-height:1.75}.hero-meta{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;margin-top:28px;color:var(--muted);font-size:.82rem}.hero-meta .available{color:var(--green)}.hero-actions{display:flex;gap:12px;margin-top:38px}.primary-button,.secondary-button{padding:13px 20px;border-radius:9px;font-size:.85rem;font-weight:700}.primary-button{background:var(--accent);color:#fff}.secondary-button{border:1px solid var(--line);background:var(--card)}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.section{padding:105px max(24px,calc((100% - 1120px)/2))}.section-title{text-align:center;margin-bottom:54px}.section-title p{margin:0 0 11px;font:400 1rem ui-monospace,monospace}.section-title h2{margin:0;font-size:clamp(1.8rem,3.2vw,2.45rem);letter-spacing:-.035em}.impact{background:var(--alt);padding-top:85px;padding-bottom:85px}.impact .section-title{margin-bottom:35px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden}.metric-grid article{padding:30px;text-align:center;background:var(--card);border-right:1px solid var(--line)}.metric-grid article:last-child{border:0}.metric-grid strong{display:block;color:var(--accent);font-size:2.4rem;letter-spacing:-.06em}.metric-grid span{color:var(--muted);font-size:.82rem}.case-title{text-align:center;font-size:1.5rem;margin:-18px 0 22px}.project-intro{max-width:850px;margin:0 auto 38px;text-align:center}.project-intro>p{color:var(--muted);line-height:1.75;margin:0 auto 25px}.case-tags,.project-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tags{justify-content:center}.case-tags span,.project-tags span{padding:7px 11px;border:1px solid var(--line);border-radius:20px;color:var(--muted);font-size:.75rem;background:var(--card)}.schoolar-gallery{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:repeat(2,190px);grid-gap:16px;gap:16px}.case-visuals button,.schoolar-gallery button{position:relative;overflow:hidden;border-radius:13px;border:1px solid var(--line);padding:0;cursor:pointer;background:var(--card);box-shadow:0 14px 35px var(--shadow)}.schoolar-gallery .gallery-main{grid-row:1/3}.case-visuals img,.schoolar-gallery img{object-fit:cover;object-position:top left;transition:transform .35s}.case-visuals button:hover img,.schoolar-gallery button:hover img{transform:scale(1.025)}.case-visuals .open-image,.schoolar-gallery .open-image{position:absolute;right:12px;top:12px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:rgba(20,22,30,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.more-images{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;color:#fff!important;background:rgba(18,20,29,.76)!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-size:2rem;font-weight:800}.more-images small{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin-top:22px}.portal-grid article{padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.portal-grid b{display:block;margin-bottom:20px;color:var(--accent);font:600 .76rem ui-monospace,monospace}.portal-grid h3{margin:0 0 9px;font-size:.95rem}.portal-grid p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.6}.project-case{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:50px;gap:50px;align-items:center;margin-top:105px;padding-top:105px;border-top:1px solid var(--line)}.project-case.reverse{grid-template-columns:.9fr 1.1fr}.project-case.reverse .case-visuals{order:2}.case-visuals{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:310px 135px;grid-gap:12px;gap:12px}.case-visuals button:first-child{grid-column:1/-1}.case-visuals:has(button:only-child){display:block;height:430px}.case-visuals:has(button:only-child) button{display:block;width:100%;height:100%}.case-copy .case-subtitle{color:var(--accent);font:500 .78rem ui-monospace,monospace}.case-copy h3{font-size:2rem;letter-spacing:-.04em;margin:8px 0 17px}.case-copy>p{color:var(--muted);font-size:.9rem;line-height:1.7}.case-tags{margin:22px 0}.case-copy ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:9px;gap:9px;color:var(--muted);font-size:.78rem}.case-copy li:first-letter{color:var(--green)}.case-copy small{display:block;margin-top:20px;padding:13px;border-left:2px solid var(--yellow);color:var(--muted);font-size:.72rem;line-height:1.55;background:var(--card)}.gallery-open{overflow:hidden}.gallery-modal{position:fixed;z-index:100;inset:0;padding:18px;background:rgba(5,6,10,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;place-items:center}.gallery-dialog{width:min(1280px,100%);height:min(900px,calc(100vh - 36px));display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;background:var(--bg);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 100px #000}.gallery-dialog header{display:grid;grid-template-columns:1fr auto auto;grid-gap:22px;gap:22px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.gallery-dialog header span{color:var(--accent);font:500 .7rem ui-monospace,monospace}.gallery-dialog header h2{font-size:1.05rem;margin:2px 0 0}.gallery-dialog header p{color:var(--muted);font-size:.8rem}.gallery-dialog header button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--text);font-size:1.5rem;cursor:pointer}.gallery-stage{min-height:0;display:grid;grid-template-columns:48px 1fr 48px;grid-gap:12px;gap:12px;align-items:center;padding:18px}.gallery-stage>button{width:42px;height:56px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font-size:2rem;cursor:pointer}.gallery-current{position:relative;width:100%;height:100%;min-height:300px}.gallery-current img{object-fit:contain}.gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:13px 18px 18px;border-top:1px solid var(--line)}.gallery-thumbnails button{position:relative;flex:0 0 92px;height:60px;padding:0;border:2px solid transparent;border-radius:7px;overflow:hidden;cursor:pointer;background:var(--card);opacity:.55}.gallery-thumbnails button.active{border-color:var(--accent);opacity:1}.gallery-thumbnails img{object-fit:cover;object-position:top}.timeline{max-width:920px;margin:auto}.timeline article{display:grid;grid-template-columns:190px 1fr;grid-gap:35px;gap:35px;padding:0 0 52px;position:relative}.timeline article:before{content:"";position:absolute;left:204px;top:8px;bottom:-5px;width:1px;background:var(--line)}.timeline article:after{content:"";position:absolute;left:199px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent)}.timeline article:last-child:before{display:none}.role-date{color:var(--muted);font:400 .78rem ui-monospace,monospace;text-align:right;padding-top:3px}.role-body{padding-left:24px}.role-company{color:var(--accent);font-size:.83rem}.role-body h3{font-size:1.25rem;margin:5px 0}.role-body small,.role-body ul{color:var(--muted)}.role-body ul{padding-left:18px;margin:18px 0 0;line-height:1.65;font-size:.9rem}.role-body li{margin:7px 0}.skills-section{background:var(--alt)}.skill-categories{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px;gap:18px}.skill-categories article{padding:25px;border:1px solid var(--line);border-radius:13px;background:var(--bg)}.skill-categories h3{margin:0 0 18px;font-size:.94rem;color:var(--text)}.skill-categories article>div{display:flex;flex-wrap:wrap;gap:9px}.skill-categories span{padding:8px 12px;border-radius:20px;background:var(--card);color:var(--muted);font-size:.78rem;border:1px solid var(--line)}.skill-categories article:nth-child(4n+1) h3{color:var(--purple)}.skill-categories article:nth-child(4n+2) h3{color:var(--yellow)}.skill-categories article:nth-child(4n+3) h3{color:var(--green)}.skill-categories article:nth-child(4n) h3{color:var(--blue)}.learning-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:28px;gap:28px}.education-list{display:grid;grid-gap:14px;gap:14px}.education-list article{display:grid;grid-template-columns:105px 1fr;grid-gap:18px;gap:18px;padding:22px;background:var(--card);border-radius:12px}.education-list>article>span{color:var(--accent);font:400 .75rem ui-monospace,monospace;padding-top:3px}.credentials h3,.education-list h3{margin:0 0 8px;font-size:.93rem}.education-list p{margin:0;color:var(--muted);font-size:.83rem}.credentials{display:grid;grid-gap:14px;gap:14px}.credentials article{padding:22px;border:1px solid var(--line);border-radius:12px}.credentials ul{list-style:none;padding:0;margin:14px 0 0;color:var(--muted);font-size:.8rem;line-height:1.65}.credentials li{margin:5px 0}.contact{min-height:720px;background:var(--alt);position:relative;overflow:hidden}.contact .section-title{margin-bottom:10px}.contact-lead{text-align:center;color:var(--muted);margin:0 0 42px}.contact-list{width:min(500px,100%);display:grid;grid-gap:14px;gap:14px;margin:auto}.contact-list a{display:grid;grid-template-columns:34px 1fr auto;align-items:center;padding:18px 23px;background:var(--card);border:1px solid var(--line);border-radius:9px;color:var(--muted);transition:.2s}.contact-list a:hover{transform:translateX(5px);color:var(--text)}.contact-list b{color:var(--blue);font-size:1.15rem}.code-lines{position:absolute;display:grid;grid-gap:12px;gap:12px;opacity:.35;width:180px}.code-lines.left{left:-15px}.code-lines.right{right:-15px}.code-lines.top{top:160px}.code-lines.middle{top:315px}.code-lines.bottom{bottom:70px}.code-lines i{height:8px;width:var(--w);margin-left:calc((var(--i)%3)*22px);border-radius:8px;background:var(--line)}.code-lines i:nth-child(3n+1){background:var(--purple)}.code-lines i:nth-child(3n+2){background:var(--green)}.code-lines i:nth-child(4n){background:var(--yellow)}.code-lines.right i{margin-left:auto;margin-right:calc((var(--i)%3)*22px)}@media(max-width:800px){.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-grid article:nth-child(2){border-right:0}.metric-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.schoolar-gallery{grid-template-columns:1fr;grid-template-rows:330px 220px 220px}.schoolar-gallery .gallery-main{grid-row:auto}.portal-grid{grid-template-columns:1fr}.project-case,.project-case.reverse{grid-template-columns:1fr;gap:35px;margin-top:75px;padding-top:75px}.project-case.reverse .case-visuals{order:0}.case-visuals{grid-template-rows:300px 150px}.case-visuals:has(button:only-child){height:330px}.learning-grid,.skill-categories{grid-template-columns:1fr}.topbar nav{display:none}}@media(max-width:600px){.topbar{top:10px;width:calc(100% - 20px)}.hero{min-height:760px;padding:125px 18px 80px}.avatar-wrap{margin-bottom:40px}h1{font-size:clamp(2.8rem,14vw,4.4rem)}.hero-actions{width:100%;justify-content:center}.section{padding:76px 16px}.metric-grid strong{font-size:2rem}.metric-grid article{padding:22px 12px}.schoolar-gallery{grid-template-rows:220px 170px 170px}.timeline article{grid-template-columns:1fr;gap:10px;padding-left:25px}.timeline article:before{left:4px}.timeline article:after{left:-1px}.role-date{text-align:left}.role-body{padding-left:0}.education-list article{grid-template-columns:1fr;gap:8px}.gallery-modal{padding:0}.gallery-dialog{height:100vh;border-radius:0}.gallery-stage{grid-template-columns:34px 1fr 34px;padding:8px;gap:4px}.gallery-stage>button{width:32px;height:48px}.gallery-dialog header{gap:10px;padding:12px}.gallery-thumbnails button{flex-basis:72px;height:50px}.code-lines{opacity:.15}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important}}