.specular-surface{position:relative;isolation:isolate}.specular-surface__light{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;z-index:1;display:block;width:calc(100% + 48px);height:calc(100% + 48px);pointer-events:none}.lightfall-container{position:relative;width:100%;height:100%;overflow:hidden}.lightfall-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.border-glow-card{--edge-proximity: 0;--cursor-angle: 45deg;--edge-sensitivity: 30;--color-sensitivity: calc(var(--edge-sensitivity) + 20);--border-radius: 28px;--glow-padding: 40px;--cone-spread: 25;position:relative;border-radius:var(--border-radius);isolation:isolate;transform:translateZ(.01px);display:grid;border:1px solid rgb(255 255 255 / 15%);background:var(--card-bg, #120f17);overflow:visible;box-shadow:#0000001a 0 1px 2px,#0000001a 0 2px 4px,#0000001a 0 4px 8px,#0000001a 0 8px 16px,#0000001a 0 16px 32px,#0000001a 0 32px 64px}.border-glow-card--light{border-color:#18181b1f;box-shadow:#18181b0a 0 1px 2px,#18181b0d 0 8px 24px}.border-glow-card--light:after,.border-glow-card--light>.edge-light{mix-blend-mode:normal}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transition:opacity .25s ease-out;z-index:-1}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{border:1px solid transparent;background:linear-gradient(var(--card-bg, #120f17) 0 100%) padding-box,linear-gradient(#fff0,#fff0) border-box,var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%))}.border-glow-card:after{border:1px solid transparent;background:var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add;opacity:calc(var(--fill-opacity, .5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";position:absolute;inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%))}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:auto;z-index:1}.tech-text{position:relative;width:100%;height:100%;touch-action:pan-y;-webkit-user-select:none;user-select:none}.tech-text-canvas{display:block;width:100%;height:100%}.text-type{position:relative;display:inline-block;white-space:pre-wrap}.text-type__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-type__char{position:relative}.text-type__char--selected{background-color:color-mix(in srgb,currentColor 25%,transparent)}.text-type__caret{display:inline-block;width:0}.text-type__cursor{position:absolute;top:0;left:0;white-space:pre;pointer-events:none;transition:opacity .2s ease;will-change:transform}.text-type__cursor--hidden{opacity:0}.text-type__blink{display:inline-block}.text-type__cursor--character .text-type__blink{margin-left:.25rem}.text-type__shape{display:inline-block;margin-left:.06em;background-color:currentColor}.text-type__cursor--bar .text-type__shape{width:max(2px,.07em);height:1.1em;vertical-align:-.2em;border-radius:1px}.text-type__cursor--block .text-type__shape{width:.56em;height:1.1em;vertical-align:-.2em;border-radius:.06em}.text-type__cursor--underscore .text-type__shape{width:.56em;height:max(2px,.075em);vertical-align:-.12em;border-radius:1px}:root{--bg: #f3efe6;--bg-soft: #ece6da;--surface: #fbf9f4;--surface-2: #e7e1d4;--line: rgba(20, 18, 16, .1);--line-strong: rgba(20, 18, 16, .22);--text: #141210;--text-2: #4c4841;--text-3: #8f897d;--accent: #141210;--accent-2: #141210;--accent-soft: rgba(20, 18, 16, .06);--grad: linear-gradient(120deg, #141210 0%, #3a352d 100%);--font-display: "Space Grotesk", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-body: "Inter", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--nav-h: 76px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:var(--accent);color:#f3efe6}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,video{display:block;max-width:100%}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-.02em}.container{width:100%;max-width:1700px;margin-inline:auto;padding-inline:clamp(24px,4.5vw,80px)}.section{position:relative;padding:clamp(96px,11vw,168px) 0}.section--dark{--text: #f3efe6;--text-2: #b7b1a5;--text-3: #8a8477;--line: rgba(243, 239, 230, .12);--line-strong: rgba(243, 239, 230, .24);--accent: #f3efe6;--accent-soft: rgba(243, 239, 230, .1);--grad: linear-gradient(120deg, #f3efe6 0%, #cdc5b6 100%);background:#141210;color:var(--text)}.section--dark .about__contact{background:#f3efe608}.section--dark .skill__icon{border-color:#f3efe63d}.section--dark .tag--ghost{background:#f3efe60a}.section--dark .avatar{background:radial-gradient(120% 90% at 30% 10%,rgba(243,239,230,.14),transparent 55%),radial-gradient(120% 90% at 80% 100%,rgba(243,239,230,.08),transparent 55%),linear-gradient(160deg,#1b1814,#141210)}.section--dark .avatar__glow{background:radial-gradient(50% 50% at 50% 50%,rgba(243,239,230,.16),transparent 70%)}.section--dark .avatar__ring{border-color:#f3efe61f}.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:12px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--accent)}.eyebrow:before{content:"";width:34px;height:1px;background:var(--accent);opacity:.7}.h2{font-size:clamp(30px,4vw,56px);font-weight:600;margin-top:22px;text-wrap:balance}.h3{font-size:clamp(20px,2.2vw,28px);letter-spacing:.02em;color:var(--text)}.section__head{max-width:820px;margin-bottom:clamp(48px,6vw,84px)}.section__head--center{margin-inline:auto;text-align:center}.section__head--center .eyebrow{justify-content:center}.section__sub{margin-top:20px;color:var(--text-2);font-size:17px;max-width:620px}.section__head--center .section__sub{margin-inline:auto}.btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:15px 30px;border-radius:100px;font-family:var(--font-display);font-size:15px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease)}.btn--primary{background:#141210;color:#f3efe6;box-shadow:0 8px 30px #14121038}.btn--primary:hover{transform:translateY(-2px);background:#000;box-shadow:0 14px 40px #1412104d}.btn--ghost{border:1px solid var(--line-strong);color:var(--text);background:#14121005}.btn--ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.btn--sm{padding:10px 22px;font-size:14px}.btn__arrow{transition:transform .35s var(--ease)}.btn--primary:hover .btn__arrow{transform:translate(4px)}.navbar{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);display:flex;align-items:center;transition:background .4s ease,border-color .4s ease,backdrop-filter .4s ease;border-bottom:1px solid transparent}.navbar--scrolled{background:#f3efe68c;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border-bottom-color:var(--line)}.navbar--on-dark{--text: #f3efe6;--text-2: #b7b1a5;--text-3: #8a8477;--line: rgba(243, 239, 230, .12);--line-strong: rgba(243, 239, 230, .24);color:var(--text)}.navbar--on-dark.navbar--scrolled{background:#14121080;border-bottom-color:#f3efe61f}.navbar--on-dark .navbar__mark{color:#f3efe6;border-color:#f3efe66b}.navbar--on-dark .btn--primary{background:#f3efe6;color:#141210;box-shadow:0 8px 30px #0000004d}.navbar--on-dark .btn--primary:hover{background:#fff}.navbar__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.navbar__logo{display:inline-flex;align-items:center;gap:12px}.navbar__mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(20,18,16,.42);background:transparent;color:#141210;font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:0}.navbar__name{font-family:var(--font-display);font-weight:500;letter-spacing:.02em;font-size:15px;display:inline-flex;align-items:baseline;gap:8px}.navbar__name em{font-style:normal;font-size:10.5px;letter-spacing:.22em;color:var(--text-3)}.navbar__links{display:flex;align-items:center;gap:clamp(20px,3vw,44px)}.navbar__links a{position:relative;font-size:14.5px;color:var(--text-2);letter-spacing:.02em;transition:color .3s ease}.navbar__links a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--grad);transition:width .35s var(--ease)}.navbar__links a:hover{color:var(--text)}.navbar__links a:hover:after{width:100%}.navbar__actions{display:flex;align-items:center;gap:12px}.navbar__lang{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-display);font-size:12px;letter-spacing:.05em;color:var(--text-3);margin-right:2px}.navbar__lang i{font-style:normal;opacity:.4}.navbar__lang .is-active{color:var(--text)}.navbar__toggle{display:none;flex-direction:column;gap:5px;width:40px;height:40px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line-strong);border-radius:10px;cursor:pointer}.navbar__toggle span{width:18px;height:1.5px;background:var(--text);transition:transform .3s ease}.hero{position:relative;overflow:hidden;background:#f3efe6;color:#141210}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero__lightfall{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.hero__fluid{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.hero__fallback{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(1200px 800px at 82% 6%,rgba(20,18,16,.04),transparent 60%),radial-gradient(900px 700px at 6% 100%,rgba(20,18,16,.03),transparent 60%),linear-gradient(180deg,#f6f2ea,#f1ece1)}.hero__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.08;filter:grayscale(1) contrast(1.1)}.hero__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 100% at 50% 0%,transparent 38%,rgba(243,239,230,.9) 100%),linear-gradient(180deg,#f3efe61f,#f3efe680)}.hero__grain{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");opacity:.06;mix-blend-mode:multiply;animation:grain 8s steps(10) infinite}@keyframes grain{0%,to{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-3%,-2%)}80%{transform:translate(4%,4%)}}.hero__frame{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding-top:calc(var(--nav-h) + 26px);padding-bottom:30px}.hero__meta-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:16px;border-bottom:1px solid rgba(20,18,16,.14)}.hero__meta-row--bottom{border-bottom:none;border-top:1px solid rgba(20,18,16,.14);padding-bottom:0;padding-top:16px}.hero__meta-item{font-family:var(--font-display);font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:#1412108c}.hero__meta-item--dim{color:#14121052}.hero__meta-item--mono{color:#14121080;letter-spacing:.16em}.clock{display:inline-flex;align-items:center;gap:7px}.clock__dot{width:7px;height:7px;border-radius:50%;background:#141210;box-shadow:0 0 0 4px #1412101a;animation:clockPulse 2.2s ease-in-out infinite}@keyframes clockPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}.hero__body{flex:1;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:clamp(20px,4vw,64px);padding:clamp(28px,5vh,56px) 0}.hero__left{position:relative;z-index:2}.hero__title{font-size:clamp(52px,8.2vw,148px);font-weight:600;line-height:1.15;letter-spacing:-.035em}.hero__line{display:block}.hero__line-mask{display:block;overflow:hidden}.hero__line-inner{display:block;will-change:transform}.hero__line--solid{color:#141210}.hero__line--outline{color:#141210e6}@supports (-webkit-text-stroke: 1px #000){.hero__line--outline{color:transparent;-webkit-text-stroke-width:clamp(1px,.2vw,2.6px);-webkit-text-stroke-color:rgba(20,18,16,.92)}}.hero__sub{margin-top:clamp(20px,3vh,32px);max-width:560px;font-size:clamp(15px,1.4vw,18px);color:#14121099;white-space:pre-line}.hero__cta{display:flex;gap:14px;margin-top:clamp(24px,4vh,40px)}.hero__right{position:relative;display:flex;align-items:center;justify-content:center;min-height:0}.hero__sketch{height:clamp(320px,56vh,620px);width:auto;max-width:100%;color:#14121080}.hero__character{width:100%;height:auto;max-height:70vh;object-fit:contain;object-position:center;filter:contrast(1.02)}.hero__scroll{position:absolute;z-index:3;right:clamp(24px,4.5vw,80px);bottom:26px}.hero__scroll-ring{display:grid;place-items:center;width:56px;height:56px;border:1px solid rgba(20,18,16,.26);border-radius:50%;color:#141210b3;transition:border-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}.hero__scroll-ring svg{width:20px;height:20px}.hero__scroll:hover .hero__scroll-ring{border-color:#141210;color:#141210;transform:translateY(3px)}.about__grid{display:grid;grid-template-columns:minmax(320px,440px) 1fr;gap:clamp(40px,6vw,110px);align-items:center}.about__visual{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:16px}.about__lanyard{position:relative;width:100%;max-width:440px;height:clamp(430px,42vw,560px)}.about__lanyard-role{text-align:center;font-size:13px;letter-spacing:.18em;color:var(--text-2)}.avatar{position:relative;width:min(100%,400px);aspect-ratio:4 / 5;border-radius:24px;overflow:hidden;border:1px solid var(--line-strong);background:radial-gradient(120% 90% at 30% 10%,rgba(20,18,16,.28),transparent 55%),radial-gradient(120% 90% at 80% 100%,rgba(20,18,16,.2),transparent 55%),linear-gradient(160deg,#efe9dd,#f3efe6)}.avatar__glow{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:radial-gradient(50% 50% at 50% 50%,rgba(20,18,16,.35),transparent 70%);animation:drift 9s ease-in-out infinite}@keyframes drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(6%,-4%) scale(1.08)}}.avatar__ring{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid rgba(20,18,16,.1);border-radius:18px}.avatar__body{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:30px}.avatar__mono{font-family:var(--font-display);font-size:15px;letter-spacing:.5em;color:var(--text-3);text-indent:.5em}.avatar__name{font-family:var(--font-display);font-size:clamp(44px,6vw,76px);font-weight:700;letter-spacing:.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.avatar__roles{font-size:13px;letter-spacing:.14em;color:var(--text-2)}.about__content .h2{max-width:560px}.about__intro{margin-top:26px;color:var(--text-2);font-size:16.5px;max-width:680px}.about__contact{display:flex;flex-wrap:wrap;gap:14px 40px;margin-top:34px;padding:24px 28px;border:1px solid var(--line);border-radius:16px;background:#14121005}.contact-item{display:flex;flex-direction:column;gap:3px}.contact-item__label{font-size:12px;letter-spacing:.16em;color:var(--text-3);font-family:var(--font-display)}.contact-item a,.contact-item span:not(.contact-item__label){color:var(--text);font-size:15px;transition:color .3s ease}.contact-item a:hover{color:var(--accent)}.about__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}.stat{padding:22px 20px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:14px;background:#2a241d}.stat-glow{min-width:0}.stat__value{font-family:var(--font-display);font-size:clamp(24px,2.6vw,34px);font-weight:600;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.stat__label{font-size:13px;color:var(--text-3)}.about__edu{margin-top:clamp(60px,7vw,100px)}.about__edu .h3{margin-bottom:40px}.edu__list{display:flex;flex-direction:column}.edu__item{display:grid;grid-template-columns:56px 1fr;gap:20px;position:relative;padding-bottom:40px}.edu__item:last-child{padding-bottom:0}.edu__rail{position:relative;display:flex;justify-content:center}.edu__rail:before{content:"";position:absolute;top:54px;bottom:-8px;width:1px;background:var(--line-strong)}.edu__item:last-child .edu__rail:before{display:none}.edu__logo{position:relative;z-index:1;width:48px;height:48px;border-radius:50%;overflow:hidden;border:1px solid var(--line);background:#fff;display:grid;place-items:center;margin-top:2px}.edu__logo img{width:100%;height:100%;object-fit:contain;display:block}.edu__head{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}.edu__head h4{font-size:24px;font-weight:600}.edu__period{font-family:var(--font-display);font-size:13px;letter-spacing:.06em;color:var(--text-3)}.edu__degree{margin-top:8px;font-size:16px;color:var(--text)}.edu__degree em{font-style:normal;color:var(--accent);font-size:14px;margin-left:8px}.edu__honors{margin-top:10px;color:var(--text-2);font-size:14.5px;max-width:900px}.projects{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%);padding-top:clamp(72px,8vw,110px)}.projects__head{text-align:center;margin-bottom:clamp(26px,3.4vw,46px)}.projects__tech{width:100%;height:clamp(150px,17vw,230px)}.projects__sub{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:clamp(8px,1.2vw,14px)}.projects__sub-line{width:40px;height:2px;background:#141210}.projects__sub-text{font-family:var(--font-display);font-size:14px;letter-spacing:.16em;color:var(--text-2)}.projects__stage{animation:stageFade .5s var(--ease)}@keyframes stageFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.projects__nav{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.projects__counter{font-family:var(--font-display);font-size:14px;letter-spacing:.06em;color:var(--text)}.projects__counter em{font-style:normal;color:var(--text-3)}.projects__arrows{display:flex;gap:10px}.projects__arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);background:transparent;color:var(--text);font-size:16px;cursor:pointer;transition:border-color .3s var(--ease),background .3s var(--ease),color .3s var(--ease)}.projects__arrow:hover{border-color:var(--text);background:#1412100f}.projects__tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:16px}.project-tab{display:flex;align-items:center;gap:14px;padding:18px 22px;border-radius:14px;border:1px solid var(--line);background:#14121005;text-align:left;cursor:pointer;transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}.project-tab:hover{border-color:var(--line-strong);transform:translateY(-2px)}.project-tab.is-active{border-color:#141210;background:#14121012}.project-tab__num{flex:none;font-family:var(--font-display);font-size:12px;letter-spacing:.12em;color:var(--text-3)}.project-tab.is-active .project-tab__num{color:var(--text)}.project-tab__title{font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--text);line-height:1.3}.project-glow{width:100%}.project__card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,4vw,64px);align-items:center;padding:clamp(24px,3vw,44px)}.project__cover{position:relative;aspect-ratio:16 / 10;border-radius:16px;overflow:hidden;border:1px solid var(--line);display:flex;align-items:flex-end;padding:26px 30px}.project__cover--a{background:radial-gradient(120% 120% at 82% 8%,rgba(20,18,16,.42),transparent 55%),radial-gradient(120% 120% at 8% 100%,rgba(20,18,16,.34),transparent 55%),linear-gradient(150deg,#efeade,#f3efe6)}.project__cover--b{background:radial-gradient(120% 120% at 82% 8%,rgba(20,18,16,.34),transparent 55%),radial-gradient(120% 120% at 8% 100%,rgba(20,18,16,.34),transparent 55%),linear-gradient(150deg,#eee9dd,#f3efe6)}.project__num{position:absolute;top:18px;left:26px;font-family:var(--font-display);font-size:14px;letter-spacing:.2em;color:#1412108c}.project__cover-inner{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px}.project__cover-title{font-family:var(--font-display);font-size:clamp(20px,2.4vw,30px);font-weight:600;line-height:1.2}.project__cover-role{font-size:13px;letter-spacing:.12em;color:#14121099}.project__cover-orb{position:absolute;top:-40%;right:-10%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(20,18,16,.16),transparent 60%);filter:blur(2px)}.project__cover-lines{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(20,18,16,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(20,18,16,.05) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(160deg,#000 0%,transparent 70%);-webkit-mask-image:linear-gradient(160deg,#000 0%,transparent 70%);opacity:.5}.project__meta{display:flex;align-items:center;gap:16px}.project__role{font-family:var(--font-display);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.project__period{font-size:13px;color:var(--text-3);font-family:var(--font-display);letter-spacing:.04em}.project__title{margin-top:16px;font-size:clamp(24px,2.8vw,36px)}.project__summary{margin-top:16px;color:var(--text-2);font-size:15.5px}.project__tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.tag{padding:7px 15px;border-radius:100px;font-size:13px;font-family:var(--font-display);letter-spacing:.03em;border:1px solid rgba(20,18,16,.35);background:var(--accent-soft);color:#141210}.tag--ghost{border-color:var(--line-strong);background:#14121005;color:var(--text-2)}.project__points{margin-top:22px;display:flex;flex-direction:column;gap:12px}.project__points li{position:relative;padding-left:22px;color:var(--text-2);font-size:14.5px}.project__points li:before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:2px;background:var(--grad);transform:rotate(45deg)}.strengths{padding-top:clamp(40px,4.5vw,72px)}.strengths__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.skill-glow{height:100%}.skill-card{width:100%;height:100%}.skill{padding:34px 30px}.skill__icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);border:1px solid rgba(20,18,16,.28);color:var(--accent);margin-bottom:22px}.skill__icon .icon{width:26px;height:26px}.skill h3{font-size:19px;font-weight:600}.skill p{margin-top:12px;font-size:14.5px;color:var(--text-2)}.tools{margin-top:56px;padding:28px 30px;display:flex;align-items:flex-start;gap:30px;flex-wrap:wrap;border:1px solid var(--line);border-radius:18px;background:#f3efe60a}.tools__label{font-family:var(--font-display);font-size:12px;letter-spacing:.26em;color:var(--text-3);padding-top:9px}.tools__tags{display:flex;flex-wrap:wrap;gap:10px;flex:1}.footer{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:clamp(90px,10vw,150px) 0 60px;background:var(--bg)}.footer__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center}.footer__eyebrow{justify-content:center}.footer__title{margin-top:26px;font-size:clamp(40px,6vw,96px);font-weight:600;letter-spacing:-.03em}.footer__subtitle{margin-top:24px;color:var(--text-2);font-size:clamp(16px,1.6vw,19px);max-width:560px}.footer__contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;max-width:780px;margin-top:56px}.contact-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 18px;border:1px solid #141210;border-radius:16px;background:transparent;color:var(--text);text-align:center;transition:background .3s ease}.contact-card:hover{background:#1412100a}.contact-card__head{display:flex;align-items:center;gap:8px}.contact-card__icon{width:22px;height:22px;object-fit:contain;border-radius:4px}.contact-card__label{font-family:var(--font-display);font-size:12px;letter-spacing:.16em;color:var(--text-3)}.contact-card__value{font-size:15px;color:var(--text)}.footer__location{margin-top:28px;color:var(--text-2);font-size:15px;letter-spacing:.22em}.footer__email{display:inline-flex;align-items:center;gap:18px;margin-top:54px;font-family:var(--font-display);font-size:clamp(20px,3.4vw,40px);font-weight:500;letter-spacing:-.01em;color:var(--text);transition:color .35s var(--ease)}.footer__email span{display:inline-grid;place-items:center;width:clamp(38px,4vw,54px);height:clamp(38px,4vw,54px);border-radius:50%;background:var(--grad);color:#f3efe6;font-size:1em;transition:transform .35s var(--ease)}.footer__email:hover{color:var(--accent)}.footer__email:hover span{transform:rotate(-45deg)}.footer__social{display:flex;gap:14px;margin-top:60px;flex-wrap:wrap;justify-content:center}.footer__social-item{display:flex;flex-direction:column;gap:4px;padding:18px 28px;min-width:170px;border:1px solid var(--line);border-radius:14px;transition:border-color .35s var(--ease),background .35s var(--ease)}.footer__social-item:hover{border-color:var(--accent);background:#1412100f}.footer__social-label{font-size:12px;letter-spacing:.16em;color:var(--text-3);font-family:var(--font-display)}.footer__social-value{font-size:15px;color:var(--text)}.footer__bottom{width:100%;margin-top:80px;padding-top:28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--text-3);font-size:13.5px}.footer__top{color:var(--text-2);transition:color .3s ease}.footer__top:hover{color:var(--accent)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#d8d0c0;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#c4baa7}@media (max-width: 1100px){.about__grid{grid-template-columns:1fr}.about__visual{max-width:420px}.project__card{grid-template-columns:1fr}.strengths__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 820px){.navbar__links{position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:flex-start;gap:4px;padding:20px clamp(24px,4.5vw,40px) 26px;background:#f3efe6f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}.navbar__links.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.navbar__links a{padding:10px 0;font-size:17px}.navbar__toggle{display:flex}.hero__status{display:none}}@media (max-width: 640px){.about__stats{grid-template-columns:repeat(2,1fr)}.strengths__grid{grid-template-columns:1fr}.hero__cta{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}
