:root,[data-theme=dark]{--bg:#17130c;--surface:#1d180f;--surface-low:#221c12;--surface-container:rgba(43,36,22,.76);--surface-container-high:#302716;--surface-high:#2b2416;--surface-bright:#3a2e18;--outline:#7b6740;--outline-variant:rgba(220,186,91,.24);--outline-ghost:rgba(220,186,91,.14);--primary:#f2c94c;--primary-dim:#c8951a;--primary-container:#6d5014;--primary-gradient:linear-gradient(135deg,#ffe88a,#f2c94c 48%,#c8861a);--secondary-container:#8fc6ab;--tertiary-container:#d89b6a;--on-primary:#2b2416;--tertiary:#8fc6ab;--tertiary-dim:#5f967a;--on-surface:#fff8df;--on-surface-variant:#d8caa8;--hero-background:radial-gradient(circle at 72% 28%,rgba(242,201,76,.15),transparent 32%),radial-gradient(circle at 18% 78%,rgba(47,111,136,.18),transparent 30%),linear-gradient(135deg,#15110a,#241b0e 52%,#11100d);--hero-grid-line:rgba(255,232,138,.075);--font-display:"Sora","Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-label:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;--font-headline:var(--font-display);--radius-sm:0.375rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--max-width:1200px;--section-padding:110px 0;--ease:cubic-bezier(0.4,0,0.2,1);--transition:500ms var(--ease);--transition-fast:200ms var(--ease)}[data-theme=light]{--bg:#fff8df;--surface:#fff8df;--surface-low:#f7edc8;--surface-container:rgba(255,252,240,.82);--surface-container-high:#fffdf4;--surface-high:#fffdf4;--surface-bright:#fff4c7;--outline:#c8a94e;--outline-variant:rgba(101,78,28,.18);--outline-ghost:rgba(101,78,28,.11);--primary:#b77900;--primary-dim:#8f5b00;--primary-container:#f2c94c;--primary-gradient:linear-gradient(135deg,#f7d04a,#d68a1a 52%,#8f5b00);--secondary-container:#507a3a;--tertiary-container:#d89b6a;--on-primary:#fff8df;--tertiary:#2f6f88;--tertiary-dim:#24546a;--on-surface:#2b2416;--on-surface-variant:#655631;--hero-background:linear-gradient(135deg,rgba(255,253,244,.92) 0%,hsla(47,75%,88%,.78) 100%),var(--bg);--hero-grid-line:rgba(101,86,49,.08)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{-webkit-font-smoothing:antialiased;background:#17130c;background:var(--bg);color:#fff8df;color:var(--on-surface);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);line-height:1.6;overflow-x:hidden;transition:background-color .5s cubic-bezier(.4,0,.2,1),color .5s cubic-bezier(.4,0,.2,1);transition:background-color var(--transition),color var(--transition)}a{color:inherit;text-decoration:none}ul{list-style:none}.section-container{margin:0 auto;max-width:1200px;max-width:var(--max-width);padding:0 32px}.section{padding:110px 0;padding:var(--section-padding)}.section-label{color:#8fc6ab;color:var(--tertiary);display:block;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-family:var(--font-label);font-size:.8rem;letter-spacing:3px;margin-bottom:14px;text-transform:uppercase}.section-title{color:#fff8df;color:var(--on-surface);font-family:Sora,Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:800;letter-spacing:0;line-height:1.1;margin-bottom:20px}.section-subtitle{color:#d8caa8;color:var(--on-surface-variant);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:1.05rem;line-height:1.75;max-width:580px}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(32px);transform:translateY(32px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(32px);transform:translateY(32px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes float{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}@keyframes float{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes pulse{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes pulse-ring{0%{opacity:.6;-webkit-transform:scale(.8);transform:scale(.8)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@keyframes pulse-ring{0%{opacity:.6;-webkit-transform:scale(.8);transform:scale(.8)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@-webkit-keyframes scrollDot{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(14px);transform:translateY(14px)}}@keyframes scrollDot{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(14px);transform:translateY(14px)}}@-webkit-keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@-webkit-keyframes glowPulse{0%,to{box-shadow:0 0 20px rgba(163,166,255,.2)}50%{box-shadow:0 0 40px rgba(163,166,255,.5)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px rgba(163,166,255,.2)}50%{box-shadow:0 0 40px rgba(163,166,255,.5)}}@-webkit-keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-40px);transform:translateX(-40px)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-40px);transform:translateX(-40px)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(40px);transform:translateX(40px)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(40px);transform:translateX(40px)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes scaleIn{0%{opacity:0;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scaleIn{0%{opacity:0;-webkit-transform:scale(.9);transform:scale(.9)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.gradient-text{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#ffe88a,#f2c94c 48%,#c8861a);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#17130c;background:var(--bg)}::-webkit-scrollbar-thumb{background:#7b6740;background:var(--outline);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#c8951a;background:var(--primary-dim)}@media (max-width:768px){:root{--section-padding:80px 0}.section-container{padding:0 20px}.section-subtitle{font-size:.95rem}}@media (max-width:480px){:root{--section-padding:60px 0}.section-container{padding:0 16px}.section-title{margin-bottom:12px}}.navbar{left:0;padding:18px 0;position:fixed;right:0;top:0;transition:all .4s var(--ease);z-index:1000}body.nav-menu-open{overflow:hidden;touch-action:none}.navbar--scrolled{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--surface-container);border-bottom:1px solid var(--outline-variant);padding:12px 0}.navbar__inner{gap:24px;justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:0 32px}.navbar__inner,.navbar__logo{align-items:center;display:flex}.navbar__logo{flex-shrink:0;gap:10px;text-decoration:none}.navbar__logo-img{border-radius:50%;height:36px;object-fit:contain;transition:box-shadow var(--transition-fast),-webkit-transform var(--transition-fast);transition:transform var(--transition-fast),box-shadow var(--transition-fast);transition:transform var(--transition-fast),box-shadow var(--transition-fast),-webkit-transform var(--transition-fast);width:36px}.navbar__logo-name{color:var(--on-surface);font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:-.02em;transition:color var(--transition-fast)}.navbar__logo-dot{color:var(--primary)}.navbar__logo:hover .navbar__logo-img{box-shadow:0 0 0 4px rgba(242,201,76,.2);-webkit-transform:scale(1.08);transform:scale(1.08)}.navbar__logo:hover .navbar__logo-name{color:var(--primary)}.navbar__links{display:flex;gap:4px;margin:0 auto}.navbar__link{border-radius:12px;color:var(--on-surface-variant);font-family:var(--font-label);font-size:.875rem;font-weight:500;padding:8px 16px;position:relative;transition:all var(--transition-fast)}.navbar__link:after{background:var(--primary);border-radius:var(--radius-full);bottom:4px;content:"";height:2px;left:50%;position:absolute;right:50%;transition:left var(--transition-fast),right var(--transition-fast)}.navbar__link:hover{color:var(--on-surface)}.navbar__link:hover:after{left:16px;right:16px}.navbar__actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.navbar__social{align-items:center;border-radius:var(--radius-sm);color:var(--on-surface-variant);display:flex;padding:8px;transition:color var(--transition-fast),background var(--transition-fast)}.navbar__social:hover{background:var(--outline-ghost);color:var(--primary)}.navbar__theme-toggle{align-items:center;background:none;border:1px solid var(--outline-ghost);border-radius:10px;color:var(--on-surface-variant);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.navbar__theme-toggle:hover{background:var(--outline-ghost);border-color:var(--primary);color:var(--primary)}.navbar__cta{background:var(--primary-gradient);border-radius:12px;color:var(--on-primary);font-family:var(--font-label);font-size:.875rem;font-weight:600;padding:9px 22px;transition:all var(--transition-fast)}.navbar__cta:hover{box-shadow:0 10px 24px rgba(183,121,0,.24);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.navbar__hamburger{background:none;border:none;border-radius:12px;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:8px;z-index:1003}.navbar__hamburger span{background:var(--on-surface);border-radius:2px;display:block;height:2px;transition:all .3s var(--ease);width:22px}.navbar__hamburger--open span:first-child{-webkit-transform:rotate(45deg) translate(5px,5px);transform:rotate(45deg) translate(5px,5px)}.navbar__hamburger--open span:nth-child(2){opacity:0}.navbar__hamburger--open span:nth-child(3){-webkit-transform:rotate(-45deg) translate(5px,-5px);transform:rotate(-45deg) translate(5px,-5px)}@media (max-width:900px){.navbar__hamburger{display:flex}.navbar--menu-open{background:linear-gradient(145deg,rgba(255,248,223,.98),rgba(255,235,166,.96)),var(--surface-container);bottom:0;height:100dvh;padding:0}[data-theme=dark] .navbar--menu-open{background:linear-gradient(145deg,rgba(43,36,22,.98),rgba(74,54,15,.96)),var(--surface-container)}.navbar--menu-open .navbar__inner{align-items:flex-start;height:100%;padding-top:12px}.navbar--menu-open .navbar__actions,.navbar--menu-open .navbar__hamburger,.navbar--menu-open .navbar__logo{position:relative;z-index:1004}.navbar__links{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:radial-gradient(circle at 50% 18%,rgba(242,201,76,.16),transparent 34%),rgba(43,36,22,.97);flex-direction:column;gap:12px;inset:0;justify-content:center;min-height:100%;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s var(--ease);width:100%;z-index:1002}[data-theme=light] .navbar__links{background:radial-gradient(circle at 50% 18%,rgba(183,121,0,.12),transparent 34%),rgba(255,248,223,.98)}.navbar__links--open{opacity:1;pointer-events:all}.navbar__link{align-items:center;border:1px solid transparent;display:inline-flex;font-size:1.35rem;justify-content:center;min-width:180px;padding:14px 32px}.navbar__link:hover{background:var(--surface-high);border-color:var(--outline-variant)}.navbar__actions .navbar__cta{display:none}.navbar__hamburger--open{background:var(--surface-high);box-shadow:0 10px 30px rgba(43,36,22,.16)}}@media (max-width:480px){.navbar__inner{gap:10px;padding:0 16px}.navbar__social{display:none}}.dp3d{align-items:center;background:linear-gradient(145deg,#fff8df,#f2c94c 46%,#b77900);border-radius:16px;box-shadow:0 12px 24px rgba(101,78,28,.2);display:inline-flex;flex-shrink:0;height:44px;justify-content:center;overflow:visible;position:relative;width:62px}.dp3d:before{background:rgba(43,36,22,.92);border-radius:12px;content:"";inset:5px;position:absolute;z-index:1}.dp3d__fallback{font-family:Sora,sans-serif;font-family:var(--font-display,"Sora",sans-serif);font-size:1.45rem;font-weight:900;letter-spacing:0;line-height:1;pointer-events:none;position:absolute;top:10px;z-index:3}.dp3d__fallback--d{color:#fff8df;left:15px;text-shadow:2px 3px 0 rgba(183,121,0,.75)}.dp3d__fallback--p{color:#f2c94c;left:31px;text-shadow:2px 3px 0 rgba(0,0,0,.34)}.dp3d--hero{height:54px;width:72px}.dp3d--footer{height:50px;margin-bottom:12px;width:68px}.hero{background:var(--hero-background);display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.hero__bg{z-index:0}.hero__bg,.hero__grid{inset:0;position:absolute}.hero__grid{background-image:linear-gradient(var(--hero-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid-line) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 82%);mask-image:linear-gradient(180deg,#000,transparent 82%)}.hero__noise{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.03'/%3E%3C/svg%3E");inset:0;opacity:.5;pointer-events:none;position:absolute}.hero__content{grid-gap:56px;align-items:center;display:grid;gap:56px;grid-template-areas:"text visual" "stats visual";grid-template-columns:1fr 1fr;padding-bottom:64px;padding-top:88px;position:relative;z-index:1}.hero__text{grid-area:text}.hero__greeting{align-items:center;color:var(--tertiary);display:flex;font-family:var(--font-label);font-size:.8rem;gap:12px;letter-spacing:2px;margin-bottom:14px;text-transform:uppercase}.hero__greeting-line{background:var(--tertiary);border-radius:2px;display:inline-block;height:2px;width:36px}.hero__name{color:var(--on-surface);font-family:var(--font-display);font-size:clamp(3rem,5.8vw,5.35rem);font-weight:900;letter-spacing:0;line-height:.98;margin-bottom:16px;max-width:830px}.hero__role{align-items:center;display:flex;gap:3px;margin-bottom:22px;min-height:40px}.hero__role-text{-webkit-text-fill-color:transparent;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw,1.85rem);font-weight:700}.hero__cursor{-webkit-text-fill-color:var(--primary);-webkit-animation:pulse 1s step-end infinite;animation:pulse 1s step-end infinite;color:var(--primary);font-size:1.85rem}.hero__desc{color:var(--on-surface-variant);font-family:var(--font-body);font-size:1.05rem;line-height:1.72;margin-bottom:28px;max-width:540px}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px}.hero__btn{align-items:center;border:none;border-radius:14px;cursor:pointer;display:inline-flex;font-family:var(--font-label);font-size:.9rem;font-weight:600;gap:8px;padding:13px 26px;transition:all var(--transition)}.hero__btn--primary{background:var(--primary-gradient);box-shadow:0 12px 28px rgba(183,121,0,.22);color:var(--on-primary)}.hero__btn--primary:hover{box-shadow:0 16px 40px rgba(183,121,0,.3);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.hero__btn--glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface-container);border:1px solid var(--outline-ghost);color:var(--on-surface)}.hero__btn--glass:hover{border-color:var(--primary);color:var(--primary);-webkit-transform:translateY(-3px);transform:translateY(-3px)}.hero__stats{align-items:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(255,253,244,.44);border:1px solid var(--outline-ghost);border-radius:20px;box-shadow:0 18px 48px rgba(101,78,28,.08);display:flex;flex-wrap:wrap;gap:20px;grid-area:stats;padding:14px 18px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}[data-theme=dark] .hero__stats{background:rgba(43,36,22,.46)}.hero__stat{display:flex;flex-direction:column;gap:3px}.hero__stat-value{-webkit-text-fill-color:transparent;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:1.9rem;font-weight:800;letter-spacing:0}.hero__stat-label{color:var(--on-surface-variant);font-family:var(--font-label);font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase}.hero__stat-divider{background:var(--outline-ghost);height:36px;width:1px}.hero__visual{align-items:center;display:flex;grid-area:visual;justify-content:center;min-width:0;width:100%}.hero__motion-player{aspect-ratio:1/1;background:transparent;border:0;border-radius:0;box-shadow:none;max-width:100%;overflow:hidden;width:clamp(340px,36vw,500px)}[data-theme=dark] .hero__motion-player{border-color:transparent;box-shadow:none}@media (max-width:960px){.hero{justify-content:flex-start}.hero__content{gap:24px;grid-template-areas:"text" "visual" "stats";grid-template-columns:1fr;padding-bottom:42px;padding-top:98px;text-align:center}.hero__actions,.hero__greeting,.hero__role,.hero__stats{justify-content:center}.hero__name{margin-left:auto;margin-right:auto;max-width:720px}.hero__desc{margin:0 auto 24px;max-width:620px}.hero__stats{margin:0 auto}.hero__visual{margin:2px auto 0;max-width:360px}.hero__motion-player{border-radius:0;box-shadow:none;width:clamp(300px,58vw,390px)}}@media (max-width:640px){.hero__content{padding-bottom:38px;padding-top:86px}.hero__greeting{font-size:.68rem;letter-spacing:1.6px}.hero__name{font-size:clamp(2.45rem,8.6vw,3.35rem);line-height:1.02}.hero__role{margin-bottom:16px;min-height:32px}.hero__role-text{font-size:1.08rem}.hero__cursor{font-size:1.25rem}.hero__stats{border-radius:18px;gap:12px;padding:12px 14px}.hero__stat-value{font-size:1.45rem}.hero__stat-label{font-size:.62rem;letter-spacing:1px}.hero__stat-divider{height:28px}}@media (max-width:480px){.hero__content{padding-top:82px}.hero__name{font-size:clamp(2.15rem,9vw,2.8rem)}.hero__desc{font-size:.95rem}.hero__btn{font-size:.85rem;padding:12px 20px}.hero__actions{gap:10px}.hero__stats{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));max-width:330px;width:100%}.hero__stat-divider{display:none}.hero__stat{align-items:center}.hero__motion-player{border-radius:0;width:min(330px,88vw)}}.about{background:linear-gradient(180deg,var(--surface-low) 0,var(--bg) 46%,var(--surface-low) 100%)}.about__header{margin-bottom:46px;max-width:760px}.about__highlights{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(4,1fr);margin-bottom:48px}.about__highlight{align-items:center;background:var(--surface-high);border-radius:18px;box-shadow:0 0 0 1px var(--outline-ghost),0 18px 40px rgba(101,78,28,.07);display:flex;flex-direction:column;gap:10px;padding:24px 20px;text-align:center;transition:box-shadow var(--transition),-webkit-transform var(--transition);transition:transform var(--transition),box-shadow var(--transition);transition:transform var(--transition),box-shadow var(--transition),-webkit-transform var(--transition)}.about__highlight:hover{-webkit-animation:glowPulse 2s ease-in-out infinite;animation:glowPulse 2s ease-in-out infinite;box-shadow:0 0 0 1px rgba(183,121,0,.2),0 12px 40px rgba(101,78,28,.12);-webkit-transform:translateY(-6px);transform:translateY(-6px)}.about__highlight-icon{color:var(--tertiary);font-family:var(--font-label);font-size:.72rem;font-weight:700;letter-spacing:1.2px}.about__highlight-value{-webkit-text-fill-color:transparent;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:0}.about__highlight-label{color:var(--on-surface-variant);font-family:var(--font-label);font-size:.72rem;letter-spacing:.5px;text-transform:uppercase}.about__skills{background:var(--surface-high);border-radius:22px;box-shadow:0 0 0 1px var(--outline-ghost),0 24px 70px rgba(101,78,28,.08);padding:34px 38px}.about__skills-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:28px}.about__skills-title{color:var(--on-surface);font-family:var(--font-display);font-size:1.15rem;font-weight:700}.about__skills-cert{align-items:center;background:rgba(47,111,136,.1);border-radius:var(--radius-full);display:flex;font-family:var(--font-label);font-size:.72rem;gap:6px;padding:5px 12px}.about__skills-cert,.about__skills-cert svg{color:var(--tertiary)}.about__skill-group{align-items:flex-start;display:flex;gap:16px;padding:14px 0}.about__skill-category{border-radius:var(--radius-full);font-family:var(--font-label);font-size:.68rem;font-weight:600;letter-spacing:.5px;margin-top:4px;min-width:110px;padding:4px 12px;text-align:center;text-transform:uppercase;white-space:nowrap}.about__skill-category--purple{background:rgba(242,201,76,.22);color:#8f5b00}.about__skill-category--cyan{background:rgba(47,111,136,.12);color:#2f6f88}.about__skill-category--teal{background:rgba(80,122,58,.12);color:#507a3a}.about__skill-category--pink{background:hsla(27,59%,63%,.16);color:#9f5f2d}.about__skill-category--green{background:rgba(80,122,58,.12);color:#507a3a}.about__skill-category--orange{background:rgba(183,121,0,.14);color:#8f5b00}.about__skill-tags{display:flex;flex-wrap:wrap;gap:8px}.about__tag{background:var(--surface-bright);border-radius:11px;color:var(--on-surface-variant);cursor:default;font-family:var(--font-label);font-size:.78rem;padding:5px 14px;position:relative;transition:all var(--transition-fast)}.about__tag:before{background:var(--tertiary);border-radius:50%;content:"";display:inline-block;height:4px;margin-right:6px;opacity:0;transition:opacity var(--transition-fast);vertical-align:middle;width:4px}.about__tag:hover{background:var(--surface-container);color:var(--primary);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.about__tag:hover:before{opacity:1}@media (max-width:900px){.about__highlights{grid-template-columns:repeat(2,1fr)}.about__header{margin-bottom:40px}}@media (max-width:600px){.about__header{margin-bottom:32px}.about__highlights{gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:36px}.about__highlight{padding:20px 14px}.about__highlight-value{font-size:1.7rem}.about__skills{padding:24px 16px}.about__skill-group{flex-direction:column;gap:10px}.about__skill-category{align-self:flex-start;min-width:0;min-width:auto}}@media (max-width:380px){.about__highlights{gap:8px;grid-template-columns:repeat(2,1fr)}.about__highlight{padding:16px 10px}}.experience{background:var(--surface-low)}.experience__header{margin-bottom:72px;max-width:700px}.timeline{display:flex;flex-direction:column;position:relative}.timeline__item{grid-gap:28px;display:grid;gap:28px;grid-template-columns:36px 1fr}.timeline__marker{align-items:center;display:flex;flex-direction:column;padding-top:24px}.timeline__dot{background:var(--surface-bright);border:2px solid var(--outline);border-radius:50%;flex-shrink:0;height:14px;position:relative;transition:border-color var(--transition);width:14px;z-index:1}.timeline__dot--active{background:var(--tertiary);border-color:var(--tertiary);box-shadow:0 0 0 6px rgba(47,111,136,.12)}.timeline__dot-pulse{-webkit-animation:pulse-ring 2.5s ease-out infinite;animation:pulse-ring 2.5s ease-out infinite;border:2px solid var(--tertiary);border-radius:50%;inset:-7px;opacity:.4;position:absolute}.timeline__line{background:linear-gradient(180deg,var(--tertiary) 0,rgba(101,78,28,.18) 100%);flex:1 1;margin:8px 0;min-height:48px;width:1px}.timeline__card{background:var(--surface-high);border-radius:18px;box-shadow:0 0 0 1px var(--outline-ghost);margin-bottom:32px;padding:28px 32px 24px;transition:box-shadow var(--transition),-webkit-transform var(--transition);transition:transform var(--transition),box-shadow var(--transition);transition:transform var(--transition),box-shadow var(--transition),-webkit-transform var(--transition)}.timeline__card:hover{box-shadow:0 0 0 1px rgba(183,121,0,.2),0 10px 40px rgba(101,78,28,.1);-webkit-transform:translateX(6px);transform:translateX(6px)}.timeline__role{color:var(--on-surface);font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}.timeline__meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.timeline__company{color:var(--primary);font-family:var(--font-label);font-size:.875rem;font-weight:600}.timeline__via{color:var(--on-surface-variant);font-size:.78rem}.timeline__separator{color:var(--outline)}.timeline__period{color:var(--on-surface-variant);font-family:var(--font-label);font-size:.78rem}.timeline__badge-current{background:rgba(161,255,239,.1);border-radius:var(--radius-full);color:var(--tertiary);font-family:var(--font-label);font-size:.68rem;font-weight:600;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.timeline__projects{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.timeline__project{background:var(--surface-low);border-radius:14px;padding:16px 20px}.timeline__project-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.timeline__project-name{color:var(--tertiary);font-family:var(--font-label);font-size:.85rem;font-weight:600}.timeline__project-period{color:var(--on-surface-variant);font-family:var(--font-label);font-size:.72rem}.timeline__points{display:flex;flex-direction:column;gap:7px}.timeline__point{align-items:flex-start;color:var(--on-surface-variant);display:flex;font-family:var(--font-body);font-size:.85rem;gap:10px;line-height:1.65}.timeline__point-bullet{background:var(--primary);border-radius:50%;flex-shrink:0;height:5px;margin-top:8px;width:5px}.timeline__tech{display:flex;flex-wrap:wrap;gap:8px}.timeline__tech-tag{background:var(--surface-bright);border-radius:var(--radius-full);color:var(--on-surface-variant);font-family:var(--font-label);font-size:.72rem;padding:4px 12px}@media (max-width:640px){.experience__header{margin-bottom:44px}.timeline__item{gap:16px;grid-template-columns:24px 1fr}.timeline__card{margin-bottom:24px;padding:20px 16px}.timeline__card:hover{-webkit-transform:none;transform:none}.timeline__role{font-size:1.05rem}.timeline__project{padding:14px}}@media (max-width:480px){.experience__header{margin-bottom:32px}.timeline__item{gap:12px;grid-template-columns:20px 1fr}.timeline__card{padding:16px 14px}.timeline__meta{gap:6px}}.projects{background:linear-gradient(180deg,var(--bg) 0,var(--surface-low) 100%)}.projects__header{margin-bottom:52px;max-width:780px}.projects__grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-bottom:48px}.project-card{background:var(--surface-high);border:1px solid var(--outline-variant);border-radius:24px;display:flex;flex-direction:column;gap:0;overflow:hidden;padding:12px 12px 28px;transition:box-shadow .25s ease,border-color .25s ease,-webkit-transform .25s ease;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,-webkit-transform .25s ease}.project-card:hover{box-shadow:0 26px 70px rgba(101,78,28,.2);-webkit-transform:translateY(-6px);transform:translateY(-6px)}.project-card__visual{background:radial-gradient(circle at 74% 26%,hsla(0,0%,100%,.45),transparent 22%),linear-gradient(135deg,rgba(242,201,76,.35),rgba(47,111,136,.12));border:1px solid var(--outline-ghost);border-radius:18px;height:210px;overflow:hidden;position:relative}.project-card__visual--cyan{background:radial-gradient(circle at 74% 26%,hsla(0,0%,100%,.42),transparent 22%),linear-gradient(135deg,rgba(47,111,136,.28),rgba(143,198,171,.18))}.project-card__visual--pink{background:radial-gradient(circle at 74% 26%,hsla(0,0%,100%,.42),transparent 22%),linear-gradient(135deg,hsla(27,59%,63%,.32),rgba(242,201,76,.14))}.project-card__visual--green{background:radial-gradient(circle at 74% 26%,hsla(0,0%,100%,.42),transparent 22%),linear-gradient(135deg,rgba(80,122,58,.26),rgba(242,201,76,.15))}.project-card__visual-grid{background-image:linear-gradient(rgba(101,78,28,.08) 1px,transparent 0),linear-gradient(90deg,rgba(101,78,28,.08) 1px,transparent 0);background-size:34px 34px;inset:0;position:absolute}.project-card__mock{background:rgba(43,36,22,.94);border-radius:22px 22px 0 0;bottom:-18px;box-shadow:0 28px 70px rgba(43,36,22,.28);height:168px;left:50%;padding:18px;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:min(78%,360px)}.project-card__mock-top{display:flex;gap:7px;margin-bottom:18px}.project-card__mock-top span{background:#f2c94c;border-radius:50%;height:8px;width:8px}.project-card__mock-top span:nth-child(2){background:#8fc6ab}.project-card__mock-top span:nth-child(3){background:#d89b6a}.project-card__mock-body{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:1.1fr .9fr}.project-card__mock-main,.project-card__mock-side{display:flex;flex-direction:column;gap:10px}.project-card__mock-main i,.project-card__mock-side b{background:rgba(255,248,223,.18);border-radius:999px;display:block;height:12px}.project-card__mock-main i:first-child{background:#f2c94c;height:18px;width:86%}.project-card__mock-main i:nth-child(2){width:62%}.project-card__mock-main i:nth-child(3){width:74%}.project-card__mock-side b{background:rgba(255,248,223,.1);border:1px solid rgba(255,248,223,.08);height:28px}.project-card__visual-badge{background:rgba(255,253,244,.76);border-radius:16px;box-shadow:0 14px 34px rgba(101,78,28,.12);color:var(--primary-dim);display:grid;font-family:var(--font-label);font-size:.78rem;font-weight:900;height:46px;place-items:center;position:absolute;right:18px;top:18px;width:46px}.project-card__top-bar{display:none;height:3px;width:100%}.project-card--purple .project-card__top-bar{background:linear-gradient(90deg,var(--primary-container),#fff0a8)}.project-card--purple:hover{border-color:rgba(135,129,255,.4)}.project-card--cyan .project-card__top-bar{background:linear-gradient(90deg,#2f6f88,#9ccde0)}.project-card--cyan:hover{border-color:rgba(0,217,255,.3)}.project-card--pink .project-card__top-bar{background:linear-gradient(90deg,var(--tertiary-container),#e3ad82)}.project-card--pink:hover{border-color:rgba(255,107,157,.3)}.project-card--green .project-card__top-bar{background:linear-gradient(90deg,#50dc8c,#a8f0c6)}.project-card--green:hover{border-color:rgba(80,220,140,.3)}.project-card__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px;padding:24px 12px 0}.project-card__eyebrow{display:block;font-size:.68rem;font-weight:700;letter-spacing:1.3px;margin-bottom:8px;text-transform:uppercase}.project-card__eyebrow,.project-card__icon{color:var(--tertiary);font-family:var(--font-label)}.project-card__icon{align-items:center;background:var(--surface-bright);border-radius:14px;display:inline-flex;font-size:.78rem;font-weight:800;height:44px;justify-content:center;letter-spacing:1px;width:44px}.project-card__links{display:flex;gap:8px}.project-card__link{align-items:center;background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:10px;color:var(--on-surface-variant);display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.project-card__link:hover{background:var(--surface-bright);border-color:var(--primary-container);color:var(--primary)}.project-card__title{color:var(--on-surface);font-family:var(--font-headline);font-size:1.22rem;font-weight:800;margin-bottom:10px;padding:0 12px}.project-card__desc{color:var(--on-surface-variant);font-size:.875rem;line-height:1.7;margin-bottom:16px;padding:0 12px}.project-card__highlights{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;padding:0 12px}.project-card__highlight{align-items:center;color:var(--on-surface-variant);display:flex;font-size:.82rem;gap:8px}.project-card__check{align-items:center;background:rgba(80,122,58,.12);border-radius:999px;color:var(--secondary-container);display:inline-flex;font-size:.7rem;font-weight:700;height:18px;justify-content:center;width:18px}.project-card__tech{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding:0 12px}.project-card__tech-tag{background:var(--surface-container-high);border-radius:var(--radius-full);color:var(--on-surface-variant);font-family:var(--font-label);font-size:.72rem;padding:3px 10px}.project-card__tech-tag,.projects__cta{border:1px solid var(--outline-variant)}.projects__cta{align-items:center;background:var(--surface-high);border-radius:18px;display:flex;gap:16px;justify-content:center;padding:32px}.projects__cta p{color:var(--on-surface-variant);font-size:.95rem}.projects__github-link{align-items:center;border:1.5px solid var(--primary-container);border-radius:var(--radius-full);color:var(--primary);display:inline-flex;font-family:var(--font-body);font-size:.9rem;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s}.projects__github-link:hover{background:rgba(242,201,76,.16);-webkit-transform:translateY(-2px);transform:translateY(-2px)}@media (max-width:768px){.projects__header{margin-bottom:40px}.projects__grid{grid-template-columns:1fr}.project-card:hover{-webkit-transform:none;transform:none}.projects__cta{flex-direction:column;gap:12px;padding:24px 20px;text-align:center}}@media (max-width:480px){.projects__header{margin-bottom:28px}.project-card{border-radius:20px;padding:10px 10px 24px}.project-card__visual{height:176px}.project-card__mock{height:140px;width:84%}.project-card__header{padding:20px 8px 0}.project-card__title{font-size:1.05rem;padding:0 8px}.project-card__desc,.project-card__highlights,.project-card__tech{padding:0 8px}.projects__github-link{justify-content:center;width:100%}}.contact{background:var(--bg)}.contact__header{margin-bottom:64px;max-width:680px}.contact__body{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1fr 1.7fr}.contact__info{background:var(--surface-high);border-radius:18px;box-shadow:0 0 0 1px var(--outline-ghost);display:flex;flex-direction:column;gap:24px;padding:32px}.contact__info-title{color:var(--on-surface);font-family:var(--font-display);font-size:1rem;font-weight:700}.contact__info-list{display:flex;flex-direction:column;gap:18px}.contact__info-item{align-items:flex-start;display:flex;gap:14px}.contact__info-icon{align-items:center;background:var(--surface-bright);border-radius:10px;color:var(--primary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.contact__info-label{color:var(--on-surface-variant);font-family:var(--font-label);font-size:.7rem;letter-spacing:1px;margin-bottom:2px;text-transform:uppercase}.contact__info-value{color:var(--on-surface);font-family:var(--font-body);font-size:.875rem}.contact__info-value--link{color:var(--primary);transition:color var(--transition-fast)}.contact__info-value--link:hover{color:var(--tertiary)}.contact__availability{align-items:center;background:rgba(47,111,136,.1);border-radius:14px;color:var(--tertiary);display:flex;font-family:var(--font-body);font-size:.85rem;gap:10px;padding:12px 16px}.contact__availability-dot{-webkit-animation:pulse-ring 2s ease-out infinite;animation:pulse-ring 2s ease-out infinite;background:var(--tertiary);border-radius:50%;flex-shrink:0;height:8px;width:8px}.contact__visa{align-items:center;color:var(--on-surface-variant);display:flex;font-family:var(--font-label);font-size:.75rem;gap:8px}.contact__visa svg{color:var(--primary);flex-shrink:0}.contact__form-wrap{background:var(--surface-high);border-radius:18px;box-shadow:0 0 0 1px var(--outline-ghost);padding:36px}.contact__form{display:flex;flex-direction:column;gap:20px}.contact__form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.contact__field{display:flex;flex-direction:column;gap:6px}.contact__field label{color:var(--on-surface-variant);font-family:var(--font-label);font-size:.72rem;letter-spacing:.5px;text-transform:uppercase}.contact__field input,.contact__field textarea{background:transparent;border:none;border-bottom:1px solid rgba(101,78,28,.28);color:var(--on-surface);font-family:var(--font-body);font-size:.9rem;outline:none;padding:10px 0;resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.contact__field input::-webkit-input-placeholder,.contact__field textarea::-webkit-input-placeholder{color:var(--outline)}.contact__field input::placeholder,.contact__field textarea::placeholder{color:var(--outline)}.contact__field input:focus,.contact__field textarea:focus{border-bottom-color:var(--primary);box-shadow:0 4px 12px -4px rgba(183,121,0,.28)}.contact__submit{align-items:center;align-self:flex-start;background:var(--primary-gradient);border:none;border-radius:14px;color:var(--on-primary);cursor:pointer;display:inline-flex;font-family:var(--font-label);font-size:.9rem;font-weight:600;gap:10px;justify-content:center;padding:13px 28px;transition:all var(--transition-fast)}.contact__submit:hover:not(:disabled){box-shadow:0 8px 28px rgba(183,121,0,.28);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.contact__submit:disabled{cursor:not-allowed;opacity:.65}.contact__success{align-items:center;display:flex;flex-direction:column;gap:14px;padding:48px 24px;text-align:center}.contact__success-icon{align-items:center;background:rgba(161,255,239,.1);border-radius:50%;color:var(--tertiary);display:flex;font-size:1.5rem;height:56px;justify-content:center;width:56px}.contact__success h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.contact__success p{color:var(--on-surface-variant);font-size:.9rem}.footer{background:var(--surface-low);border-top:1px solid var(--outline-ghost);padding:44px 0 24px}.footer__inner{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:28px}.footer__brand p{color:var(--on-surface-variant);font-family:var(--font-body);font-size:.875rem;margin-bottom:4px}.footer__location{font-size:.8rem!important}.footer__socials{display:flex;gap:10px}.footer__social{align-items:center;background:var(--surface-high);border-radius:10px;color:var(--on-surface-variant);display:flex;height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.footer__social:hover{background:var(--surface-bright);color:var(--primary)}.footer__bottom{align-items:center;border-top:1px solid var(--outline-ghost);color:var(--on-surface-variant);display:flex;font-family:var(--font-label);font-size:.78rem;justify-content:space-between;padding-top:20px}.footer__highlight{color:var(--primary);font-weight:600}@media (max-width:768px){.contact__header{margin-bottom:40px}.contact__body{gap:24px;grid-template-columns:1fr}.contact__form-wrap,.contact__info{padding:24px 20px}.contact__form-row{grid-template-columns:1fr}.footer__bottom,.footer__inner{flex-direction:column}.footer__bottom{gap:8px;text-align:center}}@media (max-width:480px){.contact__header{margin-bottom:28px}.contact__info{gap:18px}.contact__form-wrap,.contact__info{padding:20px 16px}.contact__submit{justify-content:center;width:100%}.dp3d--footer{height:42px;width:58px}.footer{padding:32px 0 20px}}
/*# sourceMappingURL=main.98273b30.css.map*/