*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.isolate{isolation:isolate}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}html{scroll-behavior:smooth;overflow-x:clip}body{overflow-x:clip}:root{--bg: #060606;--card: #101010;--card-2: #141414;--rail: #161616;--line: rgba(255, 255, 255, .09);--line-soft: rgba(255, 255, 255, .06);--text: #f4f4f4;--muted: #b9b9b9;--muted-2: #8f8f8f;--accent: #5b8def;--accent-deep: #2f63d8;--accent-ink: #0b1526;--accent-soft: rgba(91, 141, 239, .14);--shadow: 0 24px 60px rgba(0, 0, 0, .55);--radius-lg: 26px;--radius-md: 18px;--radius-pill: 999px}html[data-theme=light]{--bg: #f4f5f7;--card: #ffffff;--card-2: #f7f8fa;--rail: #ffffff;--line: rgba(10, 20, 40, .12);--line-soft: rgba(10, 20, 40, .08);--text: #141414;--muted: #4c4c4c;--muted-2: #6d6d6d;--accent-soft: rgba(47, 99, 216, .12);--shadow: 0 24px 60px rgba(20, 30, 60, .12)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4{line-height:1.25;margin:0}.skip-link{position:fixed;top:-60px;left:16px;z-index:200;background:var(--accent);color:#fff;padding:10px 18px;border-radius:10px;text-decoration:none;font-weight:500;transition:top .2s ease}.skip-link:focus{top:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}#net-bg{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}.shell{position:relative;z-index:1;max-width:1300px;margin:0 auto;padding:56px 28px 20px;display:grid;grid-template-columns:72px 360px minmax(0,1fr);gap:22px;align-items:start}.rail{position:sticky;top:56px;display:flex;flex-direction:column;gap:18px;align-items:center}.rail-group{background:var(--rail);border:1px solid var(--line-soft);border-radius:var(--radius-pill);padding:14px 0;display:flex;flex-direction:column;align-items:center;gap:6px;width:64px;box-shadow:var(--shadow)}.rail-btn{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--muted);border-radius:50%;cursor:pointer;text-decoration:none;transition:color .2s ease,background .2s ease,transform .2s ease}.rail-btn svg{width:22px;height:22px}.rail-btn:hover{color:var(--text);background:var(--accent-soft)}.rail-btn.is-active{color:var(--accent)}html[data-theme=light] .rail-btn.is-active{color:var(--accent-deep)}.rail-theme .theme-btn{display:none}html[data-theme=dark] .rail-theme [data-theme-set=light]{display:grid}html[data-theme=dark] .rail-theme [data-theme-set=dark]{display:none}html[data-theme=light] .rail-theme [data-theme-set=dark]{display:grid}html[data-theme=light] .rail-theme [data-theme-set=light]{display:none}html[data-theme=light] .rail-theme [data-theme-set=dark]{color:var(--muted)}.profile{position:sticky;top:56px;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.profile-photo{aspect-ratio:4 / 4.4;overflow:hidden;background:var(--card-2)}.profile-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 20%;object-position:50% 20%}.profile-body{padding:30px 24px 34px;text-align:center}.profile-name{font-size:2rem;font-weight:700;letter-spacing:.01em}.profile-role{margin:8px 0 0;color:var(--accent);font-weight:500;font-size:1.02rem;min-height:1.7em}html[data-theme=light] .profile-role{color:var(--accent-deep)}.caret{display:inline-block;margin-left:2px;animation:blink 1.1s steps(1) infinite;font-weight:400}@keyframes blink{50%{opacity:0}}.socials{list-style:none;margin:18px 0 0;padding:0;display:flex;justify-content:center;gap:14px}.socials a{color:var(--muted);display:inline-grid;place-items:center;transition:color .2s ease,transform .2s ease}.socials a:hover{color:var(--accent);transform:translateY(-2px)}.socials svg{width:21px;height:21px}.profile-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.profile-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 8px;font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--muted);transition:color .2s ease,background .2s ease}.profile-btn:first-child{border-right:1px solid var(--line)}.profile-btn:hover{color:var(--text);background:var(--accent-soft)}.profile-btn svg{width:17px;height:17px}.panel{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0;overflow:hidden}.section{padding:34px 44px}.section+.section{border-top:1px solid var(--line-soft)}.section-title{font-size:1.55rem;font-weight:600;display:flex;align-items:center;gap:10px}.section-title .accent{color:var(--accent);background:var(--accent-soft);border-radius:14px;padding:2px 14px 2px 16px;margin-left:-16px}html[data-theme=light] .section-title .accent{color:var(--accent-deep)}.section-rule{border:0;border-top:1px solid var(--line-soft);margin:22px -44px 0}.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:0;margin-top:26px}.about-bio{padding-right:40px}.about-bio .hello{font-size:1.12rem;font-weight:600;margin:0 0 12px}.about-bio p{margin:0 0 14px;color:var(--muted)}.about-bio p:last-child{margin-bottom:0}.about-bio .tick{color:var(--muted-2);margin-right:6px}.about-facts{padding-left:40px;border-left:1px solid var(--line-soft)}.fact-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0}.fact-row+.fact-row{border-top:1px solid var(--line-soft)}.fact-row:last-child{border-bottom:1px solid var(--line-soft)}.pill{display:inline-block;background:var(--accent);color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:9px;padding:7px 18px;white-space:nowrap}.fact-value{color:var(--muted);font-size:.98rem;text-align:right}.fact-list{list-style:none;margin:0;padding:0}.fact-list li{padding:13px 0;color:var(--muted);display:flex;gap:10px}.fact-list li+li{border-top:1px solid var(--line-soft)}.fact-list li:last-child{border-bottom:1px solid var(--line-soft)}.fact-list .dot{color:var(--muted-2)}.comp-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:26px;border-top:1px solid var(--line-soft);border-left:1px solid var(--line-soft)}.comp-card{padding:40px 36px 44px;text-align:center;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);text-decoration:none;display:block;transition:background .25s ease}a.comp-card:hover{background:var(--accent-soft)}.comp-card svg{width:40px;height:40px;color:var(--accent)}html[data-theme=light] .comp-card svg{color:var(--accent-deep)}.comp-card h3{font-size:1.12rem;font-weight:600;margin:18px 0 12px}.comp-card p{margin:0;color:var(--muted);font-size:.97rem}.comp-more{display:inline-block;margin-top:16px;font-size:.85rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.ach-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:26px;border-top:1px solid var(--line-soft)}.ach{padding:34px 18px 38px;text-align:center;border-left:1px solid var(--line-soft)}.ach:first-child{border-left:0}.ach svg{width:30px;height:30px;color:var(--accent)}html[data-theme=light] .ach svg{color:var(--accent-deep)}.ach p{margin:14px 0 0;color:var(--muted);font-size:.95rem}.panel-foot-space{height:34px}.page-hero{padding:40px 44px 8px}.breadcrumb{font-size:.85rem;color:var(--muted-2);margin:0 0 10px}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--accent)}.page-hero h1{font-size:2rem;font-weight:700}.page-hero h1 .accent{color:var(--accent)}html[data-theme=light] .page-hero h1 .accent{color:var(--accent-deep)}.lede{color:var(--muted);max-width:62ch;margin:12px 0 0}.hero-media{margin:26px 44px 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line-soft)}.hero-media img{width:100%;height:auto;aspect-ratio:16 / 8;-o-object-fit:cover;object-fit:cover}.timeline{list-style:none;margin:26px 0 0;padding:0}.timeline li{position:relative;padding:0 0 30px 30px}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;left:6px;top:8px;bottom:-4px;width:1px;background:var(--line)}.timeline li:last-child:before{display:none}.timeline li:after{content:"";position:absolute;left:0;top:6px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:3px solid var(--accent)}.timeline .t-date{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:500}.timeline h3{font-size:1.15rem;font-weight:600;margin:6px 0 2px}.timeline .t-org{color:var(--muted);font-size:.95rem;margin:0 0 8px}.timeline p{color:var(--muted);margin:0;font-size:.97rem}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;margin-top:26px}.skill .skill-top{display:flex;justify-content:space-between;font-size:.95rem;margin-bottom:8px}.skill .skill-top span:last-child{color:var(--muted-2)}.skill-bar{height:7px;border-radius:99px;background:var(--line-soft);overflow:hidden;border:1px solid var(--line-soft)}.skill-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent-deep),var(--accent))}.tag-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.tag{font-size:.82rem;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-pill);padding:6px 16px;background:var(--card-2)}.cert-list{list-style:none;margin:22px 0 0;padding:0}.cert-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;color:var(--muted);border-top:1px solid var(--line-soft)}.cert-list li:last-child{border-bottom:1px solid var(--line-soft)}.cert-list svg{width:20px;height:20px;flex:none;color:var(--accent);margin-top:3px}.cert-list strong{color:var(--text);font-weight:600}.proj-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px}.proj-card{border:1px solid var(--line-soft);border-radius:var(--radius-md);overflow:hidden;background:var(--card-2);text-decoration:none;display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.proj-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow)}.proj-card .thumb{aspect-ratio:16 / 9;overflow:hidden}.proj-card .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.proj-card:hover .thumb img{transform:scale(1.04)}.proj-card .pbody{padding:24px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}.proj-card h3{font-size:1.1rem;font-weight:600}.proj-card p{margin:0;color:var(--muted);font-size:.93rem;flex:1}.proj-tags{display:flex;flex-wrap:wrap;gap:8px}.proj-tags span{font-size:.75rem;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border-radius:99px;padding:4px 12px}.proj-link{font-size:.86rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text);display:inline-flex;align-items:center;gap:8px}.proj-link svg{width:16px;height:16px;color:var(--accent)}.paper{padding:28px 0;border-top:1px solid var(--line-soft)}.paper:first-of-type{border-top:0;padding-top:6px}.paper:last-child{padding-bottom:0}.paper .p-venue{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}.paper h3{font-size:1.2rem;font-weight:600;margin:8px 0 4px}.paper .p-authors{color:var(--muted-2);font-size:.9rem;margin:0 0 10px}.paper p.p-abs{color:var(--muted);margin:0 0 14px;font-size:.96rem}.meta-row{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:16px;color:var(--muted);font-size:.92rem}.meta-row strong{color:var(--text);font-weight:600;margin-right:6px}.check-list{list-style:none;margin:18px 0 0;padding:0}.check-list li{display:flex;gap:12px;padding:10px 0;color:var(--muted);border-top:1px solid var(--line-soft)}.check-list li:last-child{border-bottom:1px solid var(--line-soft)}.check-list svg{width:20px;height:20px;flex:none;color:var(--accent);margin-top:3px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.mini-card{border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:24px;background:var(--card-2)}.mini-card h3{font-size:1.02rem;font-weight:600;margin-bottom:8px}.mini-card p{margin:0;color:var(--muted);font-size:.94rem}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-top:22px}.gallery-grid figure{margin:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--line-soft)}.gallery-grid img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;aspect-ratio:16 / 10}.cta-band{margin:8px 44px 40px;border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--line);padding:36px;text-align:center}.cta-band h2{font-size:1.4rem;font-weight:600}.cta-band p{color:var(--muted);margin:10px 0 22px}.btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#fff;font-weight:600;font-size:.92rem;letter-spacing:.04em;padding:14px 30px;border-radius:12px;border:0;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:var(--shadow)}.btn svg{width:17px;height:17px}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn-ghost:hover{background:var(--accent-soft);border-color:var(--accent);box-shadow:none}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;margin-top:26px}.info-card{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--card-2);padding:28px}.info-card h3{font-size:1.05rem;margin-bottom:6px}.info-card p{color:var(--muted);font-size:.94rem;margin:0 0 18px}.info-line{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line-soft);color:var(--muted);font-size:.93rem}.info-line svg{width:19px;height:19px;color:var(--accent);flex:none}.info-line a{text-decoration:none}.info-line a:hover{color:var(--accent)}.form-card{border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--card-2);padding:28px}.field{margin-bottom:18px}.field label{display:block;font-size:.88rem;font-weight:500;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;font:inherit;font-size:.95rem;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none}.field-error{color:#e06565;font-size:.83rem;margin:6px 0 0;min-height:1.2em}html[data-theme=light] .field-error{color:#b33636}.form-status{margin:14px 0 0;font-size:.92rem;color:var(--muted);min-height:1.5em}.form-status.ok{color:var(--accent)}html[data-theme=light] .form-status.ok{color:var(--accent-deep)}.cv-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.cv-block h3{font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:6px}html[data-theme=light] .cv-block h3{color:var(--accent-deep)}.site-footer{position:relative;z-index:1;border-top:1px solid var(--line-soft);margin-top:26px}.footer-inner{max-width:1300px;margin:0 auto;padding:26px 28px 34px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between}.footer-brand{margin:0;font-weight:600}.footer-brand span{font-weight:400;color:var(--muted-2);font-size:.9rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 20px}.site-footer nav a{color:var(--muted);text-decoration:none;font-size:.9rem}.site-footer nav a:hover{color:var(--accent)}.footer-copy{margin:0;color:var(--muted-2);font-size:.85rem;width:100%}.menu-overlay{position:fixed;inset:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px}.menu-overlay[hidden]{display:none}.menu-card{position:relative;width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:40px 38px 30px;box-shadow:var(--shadow)}.menu-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}.menu-close:hover{color:var(--text);border-color:var(--accent)}.menu-close svg{width:18px;height:18px}.menu-kicker{margin:0 0 8px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}.menu-card nav{display:flex;flex-direction:column}.menu-card nav a{text-decoration:none;font-size:1.25rem;font-weight:500;padding:12px 0;border-bottom:1px solid var(--line-soft)}.menu-card nav a:hover{color:var(--accent)}.menu-foot{margin:18px 0 0;color:var(--muted-2);font-size:.85rem}@media (max-width: 1080px){.shell{grid-template-columns:64px minmax(0,1fr)}.profile{grid-column:2;position:static;display:grid;grid-template-columns:220px 1fr}.profile-photo{aspect-ratio:auto;min-height:100%}.profile-actions{grid-column:1 / -1}.panel{grid-column:2}}@media (max-width: 860px){.about-grid{grid-template-columns:1fr}.about-bio{padding-right:0}.about-facts{padding-left:0;border-left:0;border-top:1px solid var(--line-soft);padding-top:14px;margin-top:14px}.comp-grid{grid-template-columns:1fr}.ach-grid{grid-template-columns:1fr 1fr}.ach:nth-child(3){border-left:0}.ach{border-top:1px solid var(--line-soft)}.ach:nth-child(1),.ach:nth-child(2){border-top:0}.proj-grid,.skills-grid,.contact-grid,.two-col,.gallery-grid{grid-template-columns:1fr}}@media (max-width: 720px){.shell{grid-template-columns:1fr;padding:20px 14px 8px}.rail{position:sticky;top:0;z-index:50;flex-direction:row;justify-content:space-between;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);margin:0 -14px;padding:10px 14px}.rail-group{flex-direction:row;padding:6px 10px;width:auto;gap:2px}.rail-group:nth-child(2){display:none}.rail-btn{width:40px;height:40px}.rail-btn svg{width:20px;height:20px}.profile{grid-column:1;grid-template-columns:1fr}.profile-photo{aspect-ratio:16 / 12}.profile-photo img{-o-object-position:center 20%;object-position:center 20%}.profile-name{font-size:1.7rem}.panel{grid-column:1}.section{padding:26px 22px}.section-rule{margin:20px -22px 0}.page-hero{padding:30px 22px 4px}.hero-media{margin:20px 22px 0}.cta-band{margin:6px 22px 30px;padding:28px 22px}.ach-grid{grid-template-columns:1fr}.ach{border-left:0;border-top:1px solid var(--line-soft);padding:24px 18px}.ach:nth-child(2){border-top:1px solid var(--line-soft)}.ach:nth-child(1){border-top:0}.footer-inner{padding:22px 16px 30px}}@media (max-width: 400px){.rail{display:flex;flex-direction:row;align-items:center;padding-left:14px;padding-right:14px;gap:10px;min-width:0;max-width:100%;box-sizing:border-box}.rail-group:first-child{flex:1 1 auto;min-width:0;max-width:100%;display:flex;flex-direction:row;align-items:center;gap:4px;padding-left:8px;padding-right:8px;box-sizing:border-box}.rail-group:first-child .rail-btn{flex:1 1 0;min-width:0;max-width:40px;width:auto;height:40px;padding:0}.rail-theme{flex:0 0 auto;margin-left:auto}.rail-theme .rail-btn{flex:none;width:40px;height:40px;border-radius:50%}.profile,.profile-photo,.profile-actions{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.profile-actions{grid-template-columns:1fr 1fr}.profile-btn{flex:1 1 50%;min-width:0;max-width:100%;font-size:11px;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;padding-left:4px;padding-right:4px;box-sizing:border-box}.profile-btn svg{flex:none}.ach-grid,.ach,.footer-inner{min-width:0;max-width:100%;box-sizing:border-box}.contact-grid{grid-template-columns:minmax(0,1fr)}.info-card,.form-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.field input,.field textarea,.field select{width:100%;max-width:100%;box-sizing:border-box}.info-line,.info-line a{overflow-wrap:anywhere}}@media (max-width: 360px){.section-title{flex-wrap:wrap;-moz-column-gap:.3em;column-gap:.3em;row-gap:4px;font-size:21px;min-width:0;max-width:100%}.section-title .accent{max-width:100%;white-space:normal}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-aos]{opacity:1!important;transform:none!important}}@media print{#net-bg,.rail,.site-footer,.menu-overlay,.cv-actions,.skip-link,.profile-actions{display:none!important}body{background:#fff;color:#111}.shell{display:block;max-width:none;padding:0}.panel,.profile{box-shadow:none;border:0;border-radius:0;position:static}.section{padding:18px 0}}
