body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0b1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html{scroll-behavior:smooth}*{box-sizing:border-box}.portfolio-app{--bg:#090f16;--surface:#111b24e0;--surface-strong:#172635eb;--surface-soft:#203142;--text:#edf4f8;--muted:#9db0bf;--border:#ffffff1f;--accent:#2f80ed;--accent-2:#f26d4f;--accent-3:#28d7a4;--cinema-gold:#ffd166;--cinema-violet:#9b5cff;background:radial-gradient(circle at 14% 10%,#2f80ed57,#0000 26rem),radial-gradient(circle at 86% 18%,#f26d4f3d,#0000 24rem),radial-gradient(circle at 50% 85%,#28d7a429,#0000 30rem),linear-gradient(140deg,#090f16,#111b24 52%,#0b1117);color:var(--text);isolation:isolate;min-height:100vh;overflow-x:hidden;position:relative}.cinematic-layer,.cinematic-sky,.film-grain{inset:0;pointer-events:none;position:fixed}.cinematic-sky{mix-blend-mode:normal;overflow:hidden;z-index:0}.cinematic-layer{filter:blur(18px);opacity:.62;transform:scale(1.08)}.cinematic-layer-a{animation:cinematic-pan-a 24s ease-in-out infinite;background:radial-gradient(circle at 18% 24%,#2f80ed57,#0000 22rem),radial-gradient(circle at 78% 16%,#9b5cff38,#0000 20rem),radial-gradient(circle at 62% 82%,#28d7a42e,#0000 24rem)}.cinematic-layer-b{animation:cinematic-pan-b 32s ease-in-out infinite;background:linear-gradient(115deg,#0000,#ffd1661c 38%,#0000 58%),radial-gradient(circle at 44% 42%,#f26d4f29,#0000 22rem);opacity:.46}.film-grain{animation:grain-drift 18s linear infinite;background-image:radial-gradient(circle at 25% 25%,#fffc 0 .5px,#0000 1px),radial-gradient(circle at 75% 60%,#ffffff8c 0 .5px,#0000 1px);background-size:140px 140px,220px 220px;-webkit-mask-image:linear-gradient(180deg,#0000,#000 18%,#000 82%,#0000);mask-image:linear-gradient(180deg,#0000,#000 18%,#000 82%,#0000);opacity:.035}.scroll-progress{background:linear-gradient(90deg,var(--accent),var(--accent-3),var(--cinema-gold),var(--accent-2));box-shadow:0 0 22px #2f80ed8c;height:4px;left:0;position:fixed;right:0;top:0;transform-origin:left center;z-index:1500}.presentation-orbit{border:1px solid #ffffff29;border-radius:999px;mix-blend-mode:normal;opacity:.42;pointer-events:none;position:fixed;z-index:0}.presentation-orbit-a{animation:orbit-a 22s ease-in-out infinite;aspect-ratio:1;left:-12vw;top:18vh;width:min(44vw,540px)}.presentation-orbit-b{animation:orbit-b 18s ease-in-out infinite;aspect-ratio:1;bottom:10vh;right:-9vw;width:min(34vw,420px)}.portfolio-app:before{animation:stage-drift 18s linear infinite;background-image:linear-gradient(hsla(0,0%,100%,.055) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.055) 1px,#0000 0);background-size:72px 72px;content:"";inset:0;-webkit-mask-image:radial-gradient(circle at center,#000,#0000 78%);mask-image:radial-gradient(circle at center,#000,#0000 78%);opacity:.16;pointer-events:none;position:fixed;z-index:0}.portfolio-shell{position:relative;z-index:2}.portfolio-app.theme-light{--bg:#f7f3ee;--surface:#ffffffeb;--surface-strong:#edf2f6f0;--surface-soft:#dde8ef;--text:#15202b;--muted:#5d6a76;--border:#15202b21;background:radial-gradient(circle at 14% 10%,#2f80ed2e,#0000 26rem),radial-gradient(circle at 86% 18%,#f26d4f2e,#0000 24rem),radial-gradient(circle at 50% 85%,#28d7a424,#0000 30rem),linear-gradient(140deg,#f7f3ee,#eef5f7 52%,#fbfaf7)}.section{align-items:center;background:#0000;color:var(--text);display:flex;isolation:isolate;min-height:calc(100vh - 64px);padding:clamp(72px,9vw,128px) clamp(20px,5vw,72px);perspective:1400px;position:relative;transition:opacity .65s cubic-bezier(.2,.85,.25,1),transform .65s cubic-bezier(.2,.85,.25,1),filter .65s ease;z-index:1}.section,.section.is-visible{filter:saturate(1);opacity:1;transform:translateY(0) scale(1)}.animations-ready .section:not(.is-visible){filter:saturate(.78);opacity:.46;transform:translateY(34px) scale(.96)}.section:before{background:linear-gradient(135deg,#ffffff1a,#0000 32%),linear-gradient(315deg,#2f80ed21,#0000 40%),hsla(0,0%,100%,.025);border:1px solid var(--border);border-radius:22px;box-shadow:inset 0 1px 0 #ffffff14,0 0 0 4px rgba(47,128,237,.035);content:"";inset:clamp(18px,4vw,44px);position:absolute;transform:rotate(var(--section-tilt,-.5deg));transition:transform .75s cubic-bezier(.2,.85,.25,1),border-color .75s ease,box-shadow .75s ease;z-index:-1}.section.is-visible:before{border-color:#2f80ed57;box-shadow:inset 0 1px 0 #ffffff1f,0 0 0 4px rgba(40,215,164,.055),0 24px 90px #00000029,0 0 90px #2f80ed2e;transform:rotate(0deg) scale(1.01)}.section:nth-of-type(2n):before{--section-tilt:0.7deg}.section-alt{background:linear-gradient(125deg,#2f80ed1a,#0000 36%),linear-gradient(315deg,#28d7a414,#0000 42%)}.section-anchor{position:absolute;top:-72px}.section-inner{margin:0 auto;opacity:1;position:relative;transform:translateZ(0) rotateX(0deg) scale(1);transform-origin:center;transition:opacity .7s cubic-bezier(.2,.85,.25,1),transform .7s cubic-bezier(.2,.85,.25,1);width:min(1120px,100%);z-index:2}.section.is-visible .section-inner{opacity:1;transform:translateZ(0) rotateX(0deg) scale(1)}.animations-ready .section:not(.is-visible) .section-inner{opacity:0;transform:translate3d(0,30px,-120px) rotateX(5deg) scale(.94)}.eyebrow{align-items:center;background:#ffd16614;border:1px solid #ffd16657;border-radius:999px;box-shadow:0 0 22px #ffd1661f;color:var(--cinema-gold);display:inline-flex;font-size:.78rem;font-weight:800;gap:8px;letter-spacing:0;margin-bottom:12px;padding:7px 11px;text-transform:uppercase}.section-title{color:var(--text);font-weight:800!important;letter-spacing:0!important;margin-bottom:18px!important}.section-copy{color:var(--muted);line-height:1.75!important}.hero{min-height:calc(100vh - 64px)}.hero:after{animation:orbit-focus 9s ease-in-out infinite;aspect-ratio:1;border:1px solid #2f80ed57;border-radius:999px;box-shadow:0 0 0 28px #2f80ed0a;content:"";position:absolute;right:clamp(24px,8vw,120px);top:clamp(70px,14vw,150px);width:min(26vw,320px);z-index:-1}.hero-grid{align-items:center}.hero-title{text-wrap:balance;animation:title-sheen 7s ease-in-out infinite;background:linear-gradient(115deg,var(--text),#96c7ff 44%,#ffd1c6 72%,var(--text));-webkit-background-clip:text;background-size:220% 100%;color:var(--text);color:#0000;font-weight:900!important;letter-spacing:0!important}.hero-subtitle{color:var(--muted);line-height:1.7!important;margin-top:22px!important;max-width:720px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-actions .MuiButton-root{border:1px solid #ffffff2e;border-radius:10px;box-shadow:0 18px 42px #2f80ed2e;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.hero-actions .MuiButton-root:hover{box-shadow:0 24px 52px #2f80ed47;transform:translateY(-4px) scale(1.02)}.portrait-frame{animation:portrait-float 7s ease-in-out infinite;aspect-ratio:4/5;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 28px 70px #00000052;margin:0 auto;overflow:hidden;position:relative;transform:rotate(2deg);transition:transform .24s ease,box-shadow .24s ease;width:min(360px,76vw)}.portrait-frame:after{animation:image-scan 5.5s ease-in-out infinite;background:linear-gradient(115deg,#0000 18%,#ffffff38,#0000 34%);content:"";inset:0;position:absolute;transform:translateX(-120%)}.portrait-frame:hover{box-shadow:0 34px 82px #0000006b;transform:rotate(0deg) translateY(-6px) scale(1.02)}.portrait-frame img{display:block;height:100%;object-fit:cover;width:100%}.metric-grid{margin-top:34px!important}.metric{border-top:1px solid var(--border);opacity:1;padding-top:16px;transform:translateY(0);transition:transform .18s ease,border-color .18s ease}.section.is-visible .metric{opacity:1;transform:translateY(0);transition:opacity .48s ease,transform .48s cubic-bezier(.2,.85,.25,1),border-color .18s ease}.animations-ready .section:not(.is-visible) .metric{opacity:0;transform:translateY(14px)}.metric:hover{border-color:var(--accent-3);transform:translateY(-4px)}.metric strong{color:var(--text);display:block;font-size:1.65rem;line-height:1}.metric span{color:var(--muted);font-size:.9rem}.panel,.project-card,.skill-card,.timeline-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 54px #0003;color:var(--text);height:100%;overflow:hidden;position:relative;transition:transform .19s ease,border-color .19s ease,box-shadow .19s ease}.panel:before,.project-card:before,.skill-card:before,.timeline-card:before{background:linear-gradient(90deg,#2f80ed2e,#0000 34%),linear-gradient(180deg,hsla(0,0%,100%,.055),#0000 28%);content:"";inset:0;opacity:0;position:absolute;transition:opacity .24s ease}.section.is-visible .panel:before,.section.is-visible .project-card:before,.section.is-visible .skill-card:before,.section.is-visible .timeline-card:before{animation:panel-power-up .9s ease both}.panel,.timeline-card{opacity:1;transform:translateY(0) scale(1)}.section.is-visible .panel,.section.is-visible .timeline-card{opacity:1;transform:translateY(0) scale(1);transition:opacity .56s ease,transform .56s cubic-bezier(.2,.85,.25,1),border-color .19s ease,box-shadow .19s ease}.animations-ready .section:not(.is-visible) .panel,.animations-ready .section:not(.is-visible) .timeline-card{opacity:0;transform:translateY(26px) scale(.96)}.panel:hover,.project-card:hover,.skill-card:hover,.timeline-card:hover{border-color:#2f80ed75;box-shadow:0 26px 68px #00000047;transform:translateY(-6px) scale(1.01)}.section.is-visible .panel:hover,.section.is-visible .project-card:hover,.section.is-visible .skill-card:hover,.section.is-visible .timeline-card:hover{transform:translateY(-6px) scale(1.01)}.panel{padding:clamp(22px,4vw,34px)}.panel-list{grid-gap:14px;display:grid;gap:14px;list-style:none;margin:0;padding:0}.panel-list li{color:var(--muted);line-height:1.65}.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.chip-row .MuiChip-root{border-radius:999px;transition:transform .16s ease,background-color .16s ease}.chip-row .MuiChip-root:hover{background-color:#2f80ed24;transform:translateY(-3px)}.project-card,.skill-card,.timeline-card{padding:22px}.timeline-date{color:var(--cinema-gold);font-size:.86rem;font-weight:800}.timeline-company{color:var(--text);font-size:1rem!important;font-weight:850!important;margin:-8px 0 6px!important}.timeline-role{color:var(--muted);margin:6px 0!important}.timeline-meta{color:var(--muted);font-size:.9rem!important;margin-bottom:12px!important}.timeline-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.timeline-tags span{background:#28d7a414;border:1px solid #28d7a447;border-radius:999px;color:var(--accent-3);font-size:.72rem;font-weight:800;padding:5px 8px;text-transform:uppercase}.theme-light .timeline-tags span{background:#28d7a424;color:#0b7f62}.timeline-list{color:var(--muted);line-height:1.65;margin:0;padding-left:18px}.search-input{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 34px #0000001f;color:var(--text);font-size:1rem;max-width:520px;outline:none;padding:14px 18px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;width:100%}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #2f80ed33,0 18px 42px #0000002e;transform:translateY(-3px)}.skill-card{align-items:center;display:flex;gap:14px;opacity:1;transform:translateY(0) scale(1)}.section.is-visible .skill-card{opacity:1;transform:translateY(0) scale(1);transition:opacity .52s ease,transform .52s cubic-bezier(.2,.85,.25,1),border-color .19s ease,box-shadow .19s ease}.animations-ready .section:not(.is-visible) .skill-card{opacity:0;transform:translateY(18px) scale(.94)}.skill-card img{background:#fff;border-radius:10px;height:42px;object-fit:contain;padding:4px;transition:transform .22s ease;width:42px}.skill-card:hover img{transform:scale(1.14) rotate(-5deg)}.skill-card span{font-weight:750}@media (max-width:899px){.presentation-orbit{display:none}.cinematic-layer{filter:blur(24px);opacity:.38}.film-grain{display:none}.portfolio-app:before{background-size:44px 44px;opacity:.14}.section{min-height:auto;padding:68px 14px 54px}.section:before{border-radius:16px;inset:8px;transform:none}.section.is-visible:before{box-shadow:inset 0 1px 0 #ffffff1f,0 14px 46px #00000029;transform:none}.section-inner{width:100%}.section-inner>.section-title{font-size:clamp(1.8rem,8vw,2.5rem)!important;line-height:1.08!important}.section-copy{font-size:.98rem!important;line-height:1.62!important}.eyebrow{font-size:.68rem;margin-bottom:14px;max-width:100%;padding:6px 9px}.hero{min-height:auto}.hero:after{opacity:.55;right:-70px;top:96px;width:170px}.hero-grid{text-align:left}.hero-title{font-size:clamp(2rem,10vw,3.2rem)!important;line-height:1.02!important}.hero-subtitle{font-size:1rem!important;line-height:1.58!important;margin-top:16px!important}.hero-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr;margin-top:22px}.hero-actions .MuiButton-root{justify-content:center;min-height:46px;width:100%}.portrait-frame{animation:none;margin-top:18px;transform:none;width:min(260px,70vw)}.metric-grid{margin-top:24px!important}.metric{padding-top:12px}.metric strong{font-size:1.35rem}.panel,.project-card,.skill-card,.timeline-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 12px 32px #0000002e}.panel,.project-card,.timeline-card{padding:16px}.timeline-card .section-title{font-size:1.18rem!important;line-height:1.22!important;margin-bottom:12px!important}.timeline-company{font-size:.94rem!important;margin-top:-4px!important}.timeline-meta{font-size:.82rem!important}.timeline-tags{gap:6px}.timeline-tags span{font-size:.62rem;padding:4px 6px}.timeline-list{font-size:.92rem;line-height:1.55;padding-left:16px}.skill-card{min-height:64px;padding:14px}.skill-card img{height:36px;width:36px}.search-input{font-size:16px;max-width:none}}@media (max-width:599px){.MuiAppBar-root{margin-left:0!important;width:100%!important}.MuiToolbar-root{min-height:56px!important;padding-left:12px!important;padding-right:12px!important}.scroll-progress{height:3px}.section{padding:62px 10px 44px}.section:before{inset:6px}.section-title{margin-bottom:14px!important}.hero-title{font-size:clamp(1.85rem,9.5vw,2.85rem)!important}.portrait-frame{width:min(230px,66vw)}}@keyframes title-sheen{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes portrait-float{0%,to{translate:0 0}50%{translate:0 -10px}}@keyframes orbit-focus{0%,to{transform:translateZ(0) rotate(0deg) scale(1)}50%{transform:translate3d(-24px,22px,0) rotate(18deg) scale(1.08)}}@keyframes stage-drift{0%{background-position:0 0,0 0}to{background-position:72px 72px,72px 72px}}@keyframes cinematic-pan-a{0%,to{transform:translate3d(-2%,-1%,0) scale(1.08)}50%{transform:translate3d(3%,2%,0) scale(1.14)}}@keyframes cinematic-pan-b{0%,to{transform:translate3d(2%,1%,0) scale(1.06) rotate(0deg)}50%{transform:translate3d(-3%,-2%,0) scale(1.12) rotate(2deg)}}@keyframes grain-drift{0%{background-position:0 0,0 0}to{background-position:140px 220px,-220px 140px}}@keyframes image-scan{0%,42%{transform:translateX(-130%)}62%{transform:translateX(130%)}to{transform:translateX(130%)}}@keyframes panel-power-up{0%{opacity:0;transform:translateX(-26%)}35%{opacity:.7}to{opacity:0;transform:translateX(42%)}}@keyframes orbit-a{0%,to{transform:translateZ(0) rotate(0deg) scale(1)}50%{transform:translate3d(10vw,8vh,0) rotate(18deg) scale(1.12)}}@keyframes orbit-b{0%,to{transform:translateZ(0) rotate(0deg) scale(1)}50%{transform:translate3d(-8vw,-6vh,0) rotate(-16deg) scale(.9)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}