:root{--bg: #05060a;--bg-2: #0a0c14;--surface: rgba(255, 255, 255, .035);--surface-2: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .09);--text: #eceff7;--muted: #a2abc0;--dim: #6f7890;--cyan: #00e5ff;--purple: #b026ff;--purple-text: #c77dff;--pink: #ff2e97;--green: #39ff14;--orange: #ff9500;--yellow: #ffe600;--accent: var(--cyan);--font-display: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--s-1: 8px;--s-2: 16px;--s-3: 24px;--s-4: 32px;--s-5: 40px;--s-6: 48px;--s-8: 64px;--s-10: 80px;--s-12: 96px;--s-16: 128px;--radius: 24px;--radius-sm: 16px;--container: 1240px;--gutter: clamp(16px, 4vw, 48px);--nav-h: 72px;--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--nav-h)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:clamp(16px,.25vw + 15px,18px);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(60vw 40vh at 85% 0%,rgba(176,38,255,.08),transparent 70%),radial-gradient(50vw 40vh at 0% 100%,rgba(0,229,255,.06),transparent 70%),var(--bg)}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 30%,#000 0%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 0%,transparent 75%)}img,svg,canvas{display:block;max-width:100%}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul[role=list],ol[role=list]{list-style:none;padding:0}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.05;letter-spacing:-.02em}a{color:inherit;text-decoration:none}em{font-style:normal}strong{color:var(--text);font-weight:600}::selection{background:var(--pink);color:#05060a}:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;border-radius:8px}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:var(--s-2);left:var(--s-2);z-index:1000;padding:var(--s-1) var(--s-2);background:var(--cyan);color:#05060a;font-weight:600;border-radius:8px;transform:translateY(-200%);transition:transform .2s}.skip-link:focus{transform:none}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);vertical-align:middle}.grad-text{background:linear-gradient(90deg,var(--cyan),var(--purple-text) 45%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.06;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.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.scroll-progress{position:fixed;inset:0 0 auto;height:2px;z-index:200;pointer-events:none}.scroll-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--purple),var(--pink),var(--orange),var(--yellow));box-shadow:0 0 12px #00e5ffb3;transform-origin:0 50%;transform:scaleX(0)}.cursor{display:none}@media(hover:hover)and (pointer:fine){html.has-cursor .cursor{display:block}html.has-cursor,html.has-cursor a,html.has-cursor button{cursor:none}}.cursor__dot{position:fixed;top:0;left:0;z-index:300;pointer-events:none;border-radius:50%;will-change:transform}.cursor__dot{width:0;height:0;border-radius:0}.cursor__alpha{position:absolute;left:0;top:0;display:block;font-family:"Cambria Math","STIX Two Math",Times New Roman,Times,serif;font-style:italic;font-size:28px;line-height:1;color:#e6fdff;text-shadow:0 0 6px var(--cyan),0 0 16px rgba(0,229,255,.7),0 0 28px rgba(176,38,255,.5);transform:translate(-50%,-54%);transition:transform .35s var(--ease-out),color .3s,text-shadow .3s;user-select:none}.cursor.is-hover .cursor__alpha{color:#fff;transform:translate(-50%,-54%) scale(1.35) rotate(-8deg);text-shadow:0 0 8px var(--pink),0 0 20px rgba(255,46,151,.8),0 0 36px rgba(176,38,255,.6)}.cursor.is-hidden .cursor__dot{opacity:0}.js [data-reveal],.js [data-hero-fade],.js .mask>span{opacity:0}.js.reduced [data-reveal],.js.reduced [data-hero-fade],.js.reduced .mask>span{opacity:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.js .tool,.js .chip{opacity:0}.js.reduced .tool,.js.reduced .chip{opacity:1}.nav{position:fixed;inset:0 0 auto;z-index:100;height:var(--nav-h);transition:background-color .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}.nav.is-scrolled{background:#05060a8c;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom-color:var(--line)}.nav__inner{height:100%;display:flex;align-items:center;justify-content:space-between}.nav__logo-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;border:1px solid rgba(0,229,255,.4);background:linear-gradient(135deg,#00e5ff1f,#b026ff1f);box-shadow:0 0 18px #00e5ff40,inset 0 0 12px #b026ff33;text-shadow:0 0 10px rgba(0,229,255,.9)}.nav__menu ul{display:flex;gap:var(--s-1);list-style:none;margin:0;padding:0}.nav__menu a{position:relative;display:inline-block;padding:var(--s-1) 14px;font-size:14px;font-weight:500;color:var(--muted);border-radius:999px;transition:color .25s}.nav__menu a:after{content:"";position:absolute;left:50%;bottom:2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);opacity:0;transform:scale(0);transition:opacity .3s,transform .3s var(--ease-out)}.nav__menu a:hover,.nav__menu a[aria-current=true]{color:var(--text)}.nav__menu a[aria-current=true]:after{opacity:1;transform:scale(1)}.nav__menu .nav__cta{color:var(--text);border:1px solid var(--line);margin-left:var(--s-1)}.nav__menu .nav__cta:hover{border-color:var(--cyan);box-shadow:0 0 16px #00e5ff4d}.nav__toggle{display:none}@media(max-width:860px){.nav__toggle{position:relative;z-index:2;display:grid;gap:6px;place-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#ffffff0a;cursor:pointer}.nav__toggle span{display:block;width:18px;height:2px;background:var(--text);border-radius:2px;transition:transform .35s var(--ease-out)}.nav__toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.nav__toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav__menu{position:fixed;inset:0;display:grid;place-items:center;background:#05060af0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.nav.is-open .nav__menu{opacity:1;visibility:visible}.nav__menu ul{flex-direction:column;align-items:center;gap:var(--s-2)}.nav__menu a{font-family:var(--font-display);font-size:28px}.nav__menu .nav__cta{margin:var(--s-2) 0 0}}.btn{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 var(--s-3);border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:-.01em;isolation:isolate;transition:box-shadow .35s,border-color .35s,background-color .35s;will-change:transform}.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease-out)}.btn:hover svg{transform:translate(3px)}.btn--primary{color:#05060a;background:linear-gradient(100deg,var(--cyan),#7af3ff);box-shadow:0 0 0 1px #00e5ff99,0 8px 32px -8px #00e5ffb3}.btn--primary:hover{box-shadow:0 0 0 1px #00e5ffe6,0 0 40px #00e5ff8c}.btn--ghost{color:var(--text);border:1px solid rgba(255,255,255,.18);background:#ffffff0a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn--ghost:hover{border-color:var(--pink);box-shadow:0 0 28px #ff2e9759}.btn--ghost:hover svg{transform:translateY(2px)}.glass{position:relative;border-radius:var(--radius);background:linear-gradient(160deg,#ffffff0f,#ffffff04);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);box-shadow:0 24px 60px -30px #000c;transition:box-shadow .45s var(--ease-out),transform .45s var(--ease-out)}.glass:before{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(140deg,#ffffff38,#ffffff0a 40%,color-mix(in srgb,var(--c, var(--accent)) 55%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;transition:opacity .4s}.glass:hover{box-shadow:0 24px 60px -30px #000c,0 0 40px -6px color-mix(in srgb,var(--c, var(--accent)) 40%,transparent)}.chips{display:flex;flex-wrap:wrap;gap:12px}.chip{padding:10px var(--s-2);border-radius:999px;font-size:15px;font-weight:500;border:1px solid var(--line);background:#ffffff08;transition:border-color .3s,box-shadow .3s,color .3s}.chip:hover{border-color:var(--purple);box-shadow:0 0 20px #b026ff59}.tags{display:flex;flex-wrap:wrap;gap:var(--s-1)}.tag{padding:4px 12px;border-radius:999px;font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--c, var(--accent));border:1px solid color-mix(in srgb,var(--c, var(--accent)) 45%,transparent);background:color-mix(in srgb,var(--c, var(--accent)) 8%,transparent);box-shadow:0 0 14px -4px color-mix(in srgb,var(--c, var(--accent)) 60%,transparent)}.orb{position:absolute;z-index:-1;width:clamp(280px,40vw,560px);aspect-ratio:1;border-radius:50%;filter:blur(90px);opacity:.22;pointer-events:none}.orb--cyan{background:var(--cyan);top:10%;right:-10%}.orb--purple{background:var(--purple);top:0;left:-15%}.orb--pink{background:var(--pink);top:20%;right:-12%;opacity:.16}.orb--green{background:var(--green);top:10%;left:-18%;opacity:.1}.orb--orange{background:var(--orange);top:0;right:-10%;opacity:.14}@media(max-width:720px){.orb{filter:blur(60px);opacity:.14}}.section{position:relative;padding-block:clamp(var(--s-12),14vh,176px)}.section__head{margin-bottom:clamp(var(--s-6),8vh,var(--s-10))}.section__index{display:inline-flex;align-items:center;gap:12px;margin-bottom:var(--s-2);font-family:var(--font-display);font-size:14px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.section__index:before{content:"";width:32px;height:1px;background:currentColor;box-shadow:0 0 8px currentColor}.section__title{font-size:clamp(40px,6.4vw,96px);font-weight:600;letter-spacing:-.035em}.mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.mask>span{display:inline-block}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;padding-top:var(--nav-h)}.hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero__aurora{position:absolute;inset:0;z-index:-2;background:radial-gradient(40% 50% at 75% 70%,rgba(176,38,255,.14),transparent 70%),radial-gradient(35% 45% at 20% 30%,rgba(0,229,255,.1),transparent 70%),radial-gradient(30% 40% at 60% 100%,rgba(255,46,151,.1),transparent 70%);animation:aurora 18s ease-in-out infinite alternate}@keyframes aurora{to{transform:translate3d(-3%,2%,0) scale(1.08)}}.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:var(--s-4);min-height:calc(100svh - var(--nav-h))}.hero__content{position:relative;z-index:2;padding-block:var(--s-6)}.hero__eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:var(--s-3);padding:6px 14px 6px 12px;font-size:14px;color:var(--muted);border:1px solid var(--line);border-radius:999px;background:#ffffff08;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.hero__title{font-size:clamp(56px,9.2vw,160px);font-weight:700;line-height:.92;letter-spacing:-.05em}.hero__title-line{display:block;overflow:hidden;padding-bottom:.06em}.hero__title-line .char{display:inline-block;will-change:transform}.hero__title-line--grad .char{background:linear-gradient(90deg,var(--cyan),var(--purple-text) 50%,var(--pink));background-size:var(--line-w, 100%) 100%;background-position:var(--char-x, 0) 0;-webkit-background-clip:text;background-clip:text;color:transparent}.hero__title-line--grad:not(.is-split){background:linear-gradient(90deg,var(--cyan),var(--purple-text) 50%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.hero__role{margin-top:var(--s-3);font-family:var(--font-display);font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.01em}.hero__type{display:flex;align-items:center;gap:10px;min-height:1.6em;margin-top:var(--s-1);font-size:clamp(16px,1.3vw,19px);color:var(--muted)}.hero__type-prefix{color:var(--green);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hero__type-text{color:var(--cyan)}.hero__caret{width:2px;height:1.15em;margin-left:-6px;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:caret 1s steps(1) infinite}@keyframes caret{50%{opacity:0}}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-5)}.hero__chart-zone{align-self:stretch;margin-block:18% 14%;min-height:280px}.hero__scroll{position:absolute;left:50%;bottom:var(--s-4);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;transform:translate(-50%);color:var(--dim);font-size:12px;letter-spacing:.2em;text-transform:uppercase;transition:color .3s}.hero__scroll:hover{color:var(--text)}.hero__mouse{position:relative;width:24px;height:38px;border:1.5px solid currentColor;border-radius:14px}.hero__mouse span{position:absolute;top:7px;left:50%;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:wheel 1.8s var(--ease-out) infinite}@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:0}}@media(max-width:960px){.hero__grid{grid-template-columns:1fr;grid-template-rows:auto minmax(220px,1fr);gap:0;padding-bottom:var(--s-12)}.hero__content{padding-block:var(--s-4) 0}.hero__chart-zone{margin:var(--s-4) 0 0;min-height:220px}}@media(max-width:520px){.hero__actions .btn{flex:1 1 100%;justify-content:center}.hero__scroll-text{display:none}}.about__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(var(--s-5),6vw,var(--s-12));align-items:center}.about__text{font-family:var(--font-display);font-size:clamp(22px,2.3vw,34px);font-weight:500;line-height:1.4;letter-spacing:-.015em}.about__text .word{display:inline;transition:color .2s}.about__text em{color:var(--cyan);text-shadow:0 0 24px rgba(0,229,255,.45)}.about__photo{position:relative;justify-self:center;width:min(100%,400px)}.about__frame{position:relative;aspect-ratio:4 / 5;border-radius:28px;overflow:hidden;background:var(--bg-2);box-shadow:0 0 0 1px #00e5ff80,0 0 40px #00e5ff40,0 0 100px -20px #b026ff73}.about__frame:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,transparent 55%,rgba(5,6,10,.55));pointer-events:none}.about__canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.about__frame.has-particles .about__placeholder{opacity:0}.about__placeholder{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(60% 50% at 30% 20%,rgba(0,229,255,.25),transparent 70%),radial-gradient(60% 50% at 80% 90%,rgba(176,38,255,.3),transparent 70%),var(--bg-2)}.about__placeholder span{font-family:var(--font-display);font-size:clamp(80px,12vw,140px);font-weight:700;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px var(--cyan);filter:drop-shadow(0 0 16px rgba(0,229,255,.7))}.about__caption{display:flex;align-items:center;gap:10px;margin-top:var(--s-2);font-size:14px;color:var(--muted)}@media(max-width:860px){.about__grid{grid-template-columns:1fr}.about__photo{width:min(100%,320px);order:-1;justify-self:start}}.skills__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-3)}.skills__group{padding:clamp(var(--s-3),3vw,var(--s-5))}.skills__group--tools{grid-column:span 12}.skills__group:not(.skills__group--tools){grid-column:span 6}.skills__label{margin-bottom:var(--s-3);font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-text)}.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--s-2)}.tool{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2);border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff06;transition:border-color .3s,box-shadow .3s,background-color .3s}.tool__icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent);text-shadow:0 0 10px var(--c);transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}.tool__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;filter:drop-shadow(0 0 6px var(--c))}.tool__name{font-weight:500;line-height:1.3}.tool:hover{border-color:color-mix(in srgb,var(--c) 50%,transparent);background:color-mix(in srgb,var(--c) 5%,transparent)}.tool:hover .tool__icon{transform:translateY(-6px) scale(1.06);box-shadow:0 0 24px color-mix(in srgb,var(--c) 60%,transparent)}.lang{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-2)}.lang__name{font-family:var(--font-display);font-size:clamp(28px,3vw,40px);font-weight:600}.lang__level{padding:6px 14px;border-radius:999px;font-family:var(--font-display);font-weight:600;color:var(--purple-text);border:1px solid rgba(176,38,255,.5);box-shadow:0 0 18px #b026ff4d}@media(max-width:760px){.skills__group:not(.skills__group--tools){grid-column:span 12}.tools{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.timeline{position:relative;padding-left:clamp(40px,6vw,72px)}.timeline__track{position:absolute;top:8px;bottom:8px;left:11px;width:2px;background:#ffffff14;border-radius:2px}.timeline__fill{position:absolute;inset:0;background:linear-gradient(180deg,var(--pink),var(--purple),var(--cyan));box-shadow:0 0 14px var(--pink);transform-origin:50% 0;transform:scaleY(var(--fill, 1));border-radius:inherit}.timeline__list{display:grid;gap:var(--s-3)}.timeline__item{position:relative}.timeline__node{position:absolute;top:28px;left:calc(clamp(40px,6vw,72px)*-1 + 4px);width:16px;height:16px;border-radius:50%;border:2px solid var(--pink);background:var(--bg);box-shadow:0 0 12px var(--pink)}.timeline__item--featured .timeline__node{background:var(--pink);box-shadow:0 0 0 6px #ff2e972e,0 0 20px var(--pink)}.exp-card{--c: var(--pink);padding:var(--s-3) clamp(var(--s-3),3vw,var(--s-4))}.exp-card__date{font-size:13px;font-weight:500;letter-spacing:.06em;color:var(--muted);font-variant-numeric:tabular-nums}.exp-card__role{margin-top:6px;font-size:clamp(20px,1.8vw,24px);line-height:1.2}.exp-card__company{margin-top:4px;color:var(--pink);font-weight:500}.exp-feature{perspective:1200px}.exp-feature .project__inner{min-height:0}.exp-feature .project__title{max-width:26ch;margin-bottom:var(--s-1)}.exp-feature__company{margin-bottom:var(--s-4);color:var(--c);font-weight:500}.exp-feature .project__list{margin-top:0}.stack{display:grid;gap:12vh;padding-bottom:4vh}.project{position:sticky;top:calc(var(--nav-h) + 6vh + var(--i) * 28px);perspective:1200px;transform-origin:50% 0}.project__inner{--mx: 50%;--my: 50%;overflow:hidden;padding:clamp(var(--s-3),4vw,var(--s-6));min-height:min(68vh,560px);display:flex;flex-direction:column;background:radial-gradient(90% 70% at 100% 0%,color-mix(in srgb,var(--c) 12%,transparent),transparent 60%),linear-gradient(160deg,#121520f5,#090b12f5);transform-style:preserve-3d;will-change:transform}.project__glow{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px circle at var(--mx) var(--my),color-mix(in srgb,var(--c) 22%,transparent),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}.project__inner:hover .project__glow{opacity:1}.project__meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-2)}.project__num{font-family:var(--font-display);font-weight:600;letter-spacing:.1em;color:var(--c);text-shadow:0 0 12px var(--c)}.project .tag{--c: inherit}.project__title{max-width:22ch;margin:var(--s-4) 0 var(--s-4);font-size:clamp(28px,3.6vw,52px);letter-spacing:-.03em;line-height:1.05}.project__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);margin-top:auto}.project__body dt{margin-bottom:var(--s-1);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}.project__body dd,.project__list{color:var(--muted)}.project__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);margin-top:auto}.project__list li{padding-top:var(--s-2);border-top:1px solid color-mix(in srgb,var(--c) 35%,transparent)}.project__body>div{padding-top:var(--s-2);border-top:1px solid color-mix(in srgb,var(--c) 35%,transparent)}.project__link{position:relative;z-index:1;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:var(--s-4);min-height:44px;padding:0 var(--s-2) 0 14px;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--text);border:1px solid color-mix(in srgb,var(--c) 50%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent);transition:background-color .3s,border-color .3s,box-shadow .3s}.project__link svg{width:18px;height:18px;fill:none;stroke:var(--c);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.project__link-arrow{transition:transform .35s var(--ease-out)}.project__link:hover{border-color:var(--c);background:color-mix(in srgb,var(--c) 18%,transparent);box-shadow:0 0 28px -4px color-mix(in srgb,var(--c) 70%,transparent)}.project__link:hover .project__link-arrow{transform:translate(2px,-2px)}@media(max-width:860px),(max-height:680px){.project{position:relative;top:auto}.stack{gap:var(--s-3)}.project__inner{min-height:0}.project__body,.project__list{grid-template-columns:1fr;gap:var(--s-2)}}.edu__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.edu-card{--c: var(--orange);padding:clamp(var(--s-3),4vw,var(--s-6))}.edu-card__date{font-size:13px;letter-spacing:.06em;color:var(--muted)}.edu-card__title{margin:12px 0 var(--s-1);font-size:clamp(24px,2.4vw,34px);letter-spacing:-.025em}.edu-card__school{color:var(--orange);font-weight:500}@media(max-width:760px){.edu__grid{grid-template-columns:1fr}}.extras__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s-2)}.mini{display:flex;gap:var(--s-2);align-items:flex-start;padding:var(--s-3)}.mini__icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 8%,transparent);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.mini:hover .mini__icon{transform:rotate(-8deg) scale(1.08)}.mini__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px var(--c))}.mini__type{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}.mini__title{margin-top:4px;font-size:18px;line-height:1.3;letter-spacing:-.01em}.mini__org{margin-top:4px;font-size:14px;color:var(--muted)}.contact{--accent: var(--cyan);padding-bottom:var(--s-4);overflow:hidden}.contact__inner{text-align:center;display:flex;flex-direction:column;align-items:center}.contact__title{font-size:clamp(44px,8.4vw,136px);font-weight:700;letter-spacing:-.05em;line-height:.98}.contact__lead{margin-top:var(--s-4);max-width:48ch;color:var(--muted);font-size:clamp(17px,1.4vw,20px)}.contact__links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-2);margin-top:var(--s-6)}.contact-btn{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:var(--s-2);align-items:center;text-align:left;min-width:260px;padding:var(--s-2) var(--s-3);border-radius:20px;border:1px solid var(--line);background:#ffffff0a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .35s,box-shadow .35s;will-change:transform}.contact-btn svg{grid-row:span 2;width:28px;height:28px;fill:none;stroke:var(--c);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px var(--c))}.contact-btn__label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.contact-btn__value{font-family:var(--font-display);font-weight:600;font-size:17px}.contact-btn:hover{border-color:color-mix(in srgb,var(--c) 60%,transparent);box-shadow:0 0 36px -4px color-mix(in srgb,var(--c) 45%,transparent)}.orb--contact{top:10%;left:-10%;right:auto}.orb--contact-2{top:40%;right:-10%}@media(max-width:600px){.contact__links{flex-direction:column;width:100%}.contact-btn{min-width:0;width:100%}}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-2);margin-top:clamp(var(--s-10),14vh,var(--s-16));padding-top:var(--s-3);border-top:1px solid var(--line);font-size:14px;color:var(--dim)}.footer__top:hover{color:var(--cyan)}@media print{@page{margin:14mm}html,body{background:#fff!important;color:#111!important;font-size:10.5pt;line-height:1.45}body:before,body:after,.grain,.cursor,.scroll-progress,.nav,.hero__canvas,.hero__aurora,.hero__chart-zone,.hero__scroll,.hero__actions,.hero__caret,.hero__type-prefix,.orb,.about__photo,.timeline__track,.timeline__node,.project__glow,.footer__top,.project__link,.skip-link{display:none!important}*,*:before,*:after{box-shadow:none!important;text-shadow:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;animation:none!important;transition:none!important}[data-reveal],[data-hero-fade],.mask>span,.char,.word,.project,.project__inner,.hero__content{opacity:1!important;transform:none!important;visibility:visible!important}.glass:before,.exp-card__list li:before,.section__index:before{display:none!important}.hero,.section{min-height:0!important;padding:0 0 12pt!important;overflow:visible!important}.hero__grid{display:block!important;min-height:0!important;padding:0!important}.hero__content{padding:0!important}.hero__title{font-size:26pt!important;line-height:1.1!important}.hero__title-line,.hero__title-line .char,.hero__title-line--grad,.grad-text,.about__text em{background:none!important;color:#111!important;-webkit-text-fill-color:#111!important}.hero__title-line{display:inline!important;overflow:visible!important}.hero__title-line+.hero__title-line:before{content:" "}.hero__eyebrow,.hero__role,.hero__type,.hero__type-text{color:#333!important;border:0!important;padding:0!important;margin:2pt 0!important;font-size:11pt!important}.hero__content:after{content:"kaan.boztas@outlook.com · +90 541 355 6342 · İzmir, Türkiye";display:block;margin-top:4pt;font-size:10pt;color:#333}.section__head{margin-bottom:6pt!important}.section__index{color:#555!important;font-size:8.5pt!important;margin:0!important}.section__title,.contact__title{font-size:15pt!important;border-bottom:1px solid #ccc;padding-bottom:3pt}.mask{display:inline!important;overflow:visible!important}.mask+.mask:before{content:" "}.about__grid,.skills__grid,.edu__grid,.extras__grid,.project__body,.project__list,.tools{display:block!important}.about__text{font-family:var(--font-body)!important;font-size:10.5pt!important;font-weight:400!important;color:#222!important}.about__text .word{opacity:1!important;color:#222!important}.glass,.tool,.chip,.tag,.stat,.contact-btn,.lang__level{background:none!important;border:0!important;border-radius:0!important;padding:0!important;color:#222!important}.glass{margin-bottom:6pt!important;break-inside:avoid}.skills__label{color:#111!important;margin:4pt 0 2pt!important;font-size:9pt!important}.tools,.chips,.tags{display:flex!important;flex-wrap:wrap;gap:0 8pt!important}.tool__icon{display:none!important}.tool,.chip,.tag{font-size:10pt!important}.lang__name{font-size:10.5pt!important}.timeline{padding:0!important}.exp-card__role,.edu-card__title,.project__title,.mini__title{font-size:11.5pt!important;margin:2pt 0!important;max-width:none!important}.exp-card__company,.edu-card__school,.exp-card__date,.edu-card__date,.mini__type,.mini__org,.project__num,.project__body dt{color:#444!important}.exp-card__top{display:block!important}.stat{display:none!important}.exp-card__list{margin:4pt 0!important;color:#222!important;list-style:disc;padding-left:14pt!important}.exp-card__list li{padding:0!important}.project{position:static!important}.project__inner{min-height:0!important;padding:0!important}.project__list li,.project__body>div{border:0!important;padding:0!important;margin-bottom:2pt;color:#222!important}.project__body dd{color:#222!important}.mini{display:block!important}.mini__icon{display:none!important}.contact__inner{text-align:left!important;align-items:flex-start!important}.contact__links{display:block!important;margin:4pt 0!important}.contact-btn{display:block!important;min-width:0!important}.contact-btn svg{display:none!important}.contact-btn__label:after{content:": "}.contact-btn__label,.contact-btn__value{font-size:10pt!important;text-transform:none!important;letter-spacing:0!important;display:inline!important}.footer{border:0!important;margin:8pt 0 0!important;color:#777!important}}
