@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600&display=swap";:root{--app-bg: #03060f;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark light}:root[data-theme=light]{--app-bg: #eef2fb}:root[data-theme=dark]{--app-bg: #03060f}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0;background:var(--app-bg);transition:background .35s ease}body{overflow-x:hidden;overflow-y:auto}button{font-family:inherit}.portfolio-site{--ease-out: cubic-bezier(.22, .61, .36, 1);--page-glow-1: rgba(63, 95, 166, .25);--page-glow-2: rgba(82, 114, 180, .18);--page-bg: #03060f;--text-main: #edf2ff;--hero-overlay-radial-start: rgba(7, 14, 30, .24);--hero-overlay-radial-end: rgba(3, 7, 15, .7);--hero-overlay-linear-1: rgba(1, 2, 6, .56);--hero-overlay-linear-2: rgba(1, 2, 6, .17);--hero-overlay-linear-3: rgba(1, 2, 6, .8);--hero-kicker-color: rgba(185, 204, 246, .84);--hero-title-color: #f4f7ff;--hero-title-shadow: rgba(6, 9, 16, .58);--hero-subtitle-color: rgba(216, 228, 252, .9);--hero-summary-color: rgba(208, 220, 246, .8);--section-border: rgba(171, 191, 232, .2);--section-highlight: rgba(255, 255, 255, .06);--section-surface: rgba(8, 14, 28, .62);--section-shadow: rgba(2, 6, 14, .52);--section-shadow-hover: rgba(2, 6, 14, .56);--section-inset: rgba(125, 149, 205, .16);--section-inset-hover: rgba(150, 176, 233, .26);--section-border-hover: rgba(190, 210, 247, .34);--section-heading: #f1f6ff;--section-body: rgba(203, 217, 245, .78);--panel-surface: rgba(11, 19, 35, .6);--panel-border: rgba(158, 181, 225, .26);--metric-border: rgba(159, 181, 226, .28);--metric-surface: rgba(9, 14, 28, .6);--metric-label: rgba(188, 208, 247, .74);--metric-value: #eef4ff;--metric-detail: rgba(192, 210, 244, .74);--rail-border: rgba(164, 188, 239, .36);--rail-dot: #95b1ea;--rail-dot-ring: rgba(131, 163, 233, .17);--experience-meta: rgba(188, 207, 245, .72);--experience-title: #eff4ff;--experience-company: rgba(214, 226, 250, .86);--experience-list: rgba(196, 211, 240, .84);--skill-border: rgba(158, 181, 225, .28);--skill-surface: rgba(8, 13, 25, .58);--skill-title: #edf3ff;--chip-border: rgba(170, 191, 233, .34);--chip-surface: rgba(17, 27, 48, .68);--chip-color: rgba(222, 233, 255, .9);--education-text: rgba(198, 214, 245, .84);--contact-muted: rgba(183, 202, 240, .72);--nav-bg: rgba(6, 11, 22, .76);--nav-border: rgba(160, 185, 239, .28);--nav-pill: rgba(11, 20, 39, .6);--nav-pill-hover: rgba(20, 34, 61, .84);--nav-pill-active: rgba(127, 163, 241, .24);--nav-link: rgba(213, 228, 255, .84);--nav-link-active: #f2f7ff;--cta-primary-bg: linear-gradient(130deg, #f4f9ff, #b5d0ff 54%, #86adf3);--cta-primary-text: #08172f;--cta-primary-shadow: rgba(89, 126, 198, .36);--cta-secondary-bg: rgba(12, 20, 36, .68);--cta-secondary-text: rgba(221, 233, 255, .94);--cta-secondary-border: rgba(165, 191, 243, .36);--cta-secondary-hover-bg: rgba(23, 38, 68, .82);--cta-secondary-hover-border: rgba(189, 211, 253, .55);--toggle-bg: rgba(11, 20, 37, .68);--toggle-bg-hover: rgba(17, 29, 52, .82);--toggle-border: rgba(172, 194, 238, .42);--toggle-border-hover: rgba(198, 217, 252, .56);--toggle-icon-passive: rgba(168, 191, 238, .58);--toggle-icon-active: #f5fbff;--toggle-thumb-bg: linear-gradient(145deg, #f8fbff, #d7e7ff);--toggle-thumb-shadow: rgba(6, 15, 33, .34);--toggle-shadow: rgba(4, 11, 24, .42);--shader-opacity: 1;--button-default-gradient: linear-gradient(135deg, #f2f7ff, #a7c3ff 52%, #7aa4ef);--button-default-shadow: rgba(113, 154, 236, .46);--button-default-text: #071226;--button-default-inner-bg: linear-gradient(135deg, rgba(247, 251, 255, .96), rgba(219, 232, 255, .95));--button-variant-gradient: linear-gradient(135deg, rgba(144, 176, 241, .8), rgba(72, 113, 193, .95));--button-variant-shadow: rgba(66, 98, 170, .46);--button-variant-text: #ebf2ff;--button-variant-inner-bg: rgba(11, 22, 44, .82);min-height:100vh;background:radial-gradient(circle at 10% 0%,var(--page-glow-1),transparent 36%),radial-gradient(circle at 88% 12%,var(--page-glow-2),transparent 34%),var(--page-bg);color:var(--text-main);transition:background .46s ease,color .32s ease}.portfolio-site[data-theme=light]{--page-glow-1: rgba(124, 150, 212, .36);--page-glow-2: rgba(171, 195, 241, .32);--page-bg: #eef2fb;--text-main: #111b2e;--hero-overlay-radial-start: rgba(247, 251, 255, .08);--hero-overlay-radial-end: rgba(232, 238, 250, .46);--hero-overlay-linear-1: rgba(255, 255, 255, .38);--hero-overlay-linear-2: rgba(246, 250, 255, .2);--hero-overlay-linear-3: rgba(232, 239, 251, .56);--hero-kicker-color: rgba(50, 77, 132, .7);--hero-title-color: #15233d;--hero-title-shadow: rgba(112, 145, 214, .32);--hero-subtitle-color: rgba(35, 63, 112, .86);--hero-summary-color: rgba(30, 50, 88, .8);--section-border: rgba(109, 137, 197, .28);--section-highlight: rgba(255, 255, 255, .74);--section-surface: rgba(236, 242, 253, .84);--section-shadow: rgba(120, 146, 198, .24);--section-shadow-hover: rgba(95, 124, 183, .26);--section-inset: rgba(136, 161, 219, .24);--section-inset-hover: rgba(108, 140, 206, .32);--section-border-hover: rgba(86, 121, 191, .38);--section-heading: #14233c;--section-body: rgba(32, 55, 96, .8);--panel-surface: rgba(246, 250, 255, .86);--panel-border: rgba(121, 150, 211, .34);--metric-border: rgba(122, 151, 212, .36);--metric-surface: rgba(241, 246, 255, .85);--metric-label: rgba(56, 82, 133, .75);--metric-value: #1a2a46;--metric-detail: rgba(60, 86, 139, .74);--rail-border: rgba(119, 148, 210, .48);--rail-dot: #4d73bc;--rail-dot-ring: rgba(93, 128, 201, .22);--experience-meta: rgba(61, 89, 146, .74);--experience-title: #162540;--experience-company: rgba(33, 59, 106, .88);--experience-list: rgba(43, 67, 112, .85);--skill-border: rgba(121, 150, 211, .34);--skill-surface: rgba(241, 247, 255, .9);--skill-title: #1a2b49;--chip-border: rgba(105, 137, 201, .42);--chip-surface: rgba(232, 239, 253, .82);--chip-color: rgba(30, 53, 97, .94);--education-text: rgba(43, 67, 109, .84);--contact-muted: rgba(58, 84, 135, .74);--nav-bg: rgba(248, 252, 255, .78);--nav-border: rgba(121, 152, 215, .34);--nav-pill: rgba(237, 244, 255, .82);--nav-pill-hover: rgba(222, 235, 255, .94);--nav-pill-active: rgba(112, 148, 224, .24);--nav-link: rgba(34, 58, 101, .82);--nav-link-active: #153168;--cta-primary-bg: linear-gradient(130deg, #f8fbff, #cadfff 56%, #99bcf8);--cta-primary-text: #0b2145;--cta-primary-shadow: rgba(98, 131, 191, .26);--cta-secondary-bg: rgba(246, 250, 255, .86);--cta-secondary-text: rgba(31, 55, 98, .92);--cta-secondary-border: rgba(116, 149, 212, .4);--cta-secondary-hover-bg: rgba(235, 244, 255, .96);--cta-secondary-hover-border: rgba(88, 123, 194, .56);--toggle-bg: rgba(248, 251, 255, .74);--toggle-bg-hover: rgba(250, 253, 255, .9);--toggle-border: rgba(121, 152, 215, .44);--toggle-border-hover: rgba(90, 124, 192, .58);--toggle-icon-passive: rgba(90, 119, 182, .62);--toggle-icon-active: #173774;--toggle-thumb-bg: linear-gradient(145deg, #ffffff, #dce9ff);--toggle-thumb-shadow: rgba(94, 126, 190, .33);--toggle-shadow: rgba(101, 132, 191, .25);--shader-opacity: .96;--button-default-gradient: linear-gradient(135deg, #dce8ff, #8fb2f7 52%, #5f8de4);--button-default-shadow: rgba(87, 124, 197, .34);--button-default-text: #091a36;--button-default-inner-bg: linear-gradient(135deg, rgba(246, 250, 255, .98), rgba(226, 237, 255, .96));--button-variant-gradient: linear-gradient(135deg, rgba(137, 168, 236, .88), rgba(74, 111, 189, .96));--button-variant-shadow: rgba(76, 107, 175, .34);--button-variant-text: #edf4ff;--button-variant-inner-bg: rgba(24, 41, 76, .86)}.hero-shell{position:relative;min-height:100svh;min-height:100vh;overflow:hidden}.shader-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:var(--shader-opacity);transition:opacity .34s ease}.theme-toggle-wrap{position:absolute;top:clamp(14px,2vw,24px);right:clamp(14px,2vw,24px);z-index:3}.theme-toggle{position:relative;width:74px;height:40px;padding:0;border:1px solid var(--toggle-border);border-radius:999px;background:var(--toggle-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 28px var(--toggle-shadow);cursor:pointer;appearance:none;transition:background .24s ease,border-color .24s ease,transform .24s ease}.theme-toggle-icon{position:absolute;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--toggle-icon-passive);transition:color .24s ease}.theme-toggle-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.theme-toggle-sun{left:10px}.theme-toggle-moon{right:10px}.theme-toggle-moon svg{fill:currentColor;stroke:none}.theme-toggle-thumb{position:absolute;top:4px;left:4px;width:30px;height:30px;border-radius:50%;background:var(--toggle-thumb-bg);box-shadow:0 8px 16px var(--toggle-thumb-shadow);transition:transform .24s ease}.theme-toggle.is-light .theme-toggle-thumb{transform:translate(34px)}.theme-toggle.is-light .theme-toggle-sun{color:var(--toggle-icon-active)}.theme-toggle:not(.is-light) .theme-toggle-moon{color:var(--toggle-icon-active)}.theme-toggle:hover{background:var(--toggle-bg-hover);border-color:var(--toggle-border-hover);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:2px solid var(--toggle-border-hover);outline-offset:2px}.hero-overlay{position:relative;z-index:2;min-height:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:clamp(20px,6vw,72px);background:radial-gradient(circle at 50% 44%,var(--hero-overlay-radial-start),var(--hero-overlay-radial-end) 76%),linear-gradient(180deg,var(--hero-overlay-linear-1) 0%,var(--hero-overlay-linear-2) 34%,var(--hero-overlay-linear-3) 100%)}.hero-overlay>*{opacity:0;transform:translateY(16px);animation:hero-enter .72s var(--ease-out) forwards}.hero-overlay>:nth-child(1){animation-delay:70ms}.hero-overlay>:nth-child(2){animation-delay:.15s}.hero-overlay>:nth-child(3){animation-delay:.22s}.hero-overlay>:nth-child(4){animation-delay:.3s}.hero-overlay>:nth-child(5){animation-delay:.38s}.hero-kicker,.section-kicker{margin:0;text-transform:uppercase;letter-spacing:.2em;font-size:clamp(.64rem,1.15vw,.82rem);color:var(--hero-kicker-color)}.hero-title{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.9rem,12vw,8.2rem);line-height:.9;letter-spacing:.01em;color:var(--hero-title-color);text-shadow:0 16px 44px var(--hero-title-shadow)}.hero-subtitle{margin:0;font-size:clamp(.95rem,2vw,1.16rem);letter-spacing:.09em;text-transform:uppercase;color:var(--hero-subtitle-color)}.hero-summary{margin:4px 0 16px;max-width:min(720px,92vw);font-size:clamp(.95rem,1.5vw,1.08rem);line-height:1.7;color:var(--hero-summary-color)}.content-shell{width:min(1180px,100%);margin:0 auto;padding:clamp(34px,5vw,64px) clamp(16px,4.5vw,56px) clamp(110px,10vw,140px);display:grid;gap:clamp(24px,3.6vw,36px)}.section-nav{position:sticky;top:14px;z-index:4;border:1px solid var(--nav-border);border-radius:999px;padding:8px;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 28px var(--section-shadow)}.section-nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.section-nav-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 14px;background:var(--nav-pill);color:var(--nav-link);text-decoration:none;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid transparent;transition:background .2s ease,color .2s ease,border-color .2s ease}.section-nav-link:hover{background:var(--nav-pill-hover)}.section-nav-link.is-active{background:var(--nav-pill-active);color:var(--nav-link-active);border-color:var(--nav-border)}.section-block{border:1px solid var(--section-border);border-radius:26px;padding:clamp(22px,3.2vw,38px);background:linear-gradient(130deg,var(--section-highlight),transparent 42%),var(--section-surface);box-shadow:0 20px 52px var(--section-shadow),0 0 0 1px var(--section-inset) inset;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);scroll-margin-top:90px;transition:border-color .28s ease,box-shadow .28s ease}.section-block:hover{border-color:var(--section-border-hover);box-shadow:0 22px 56px var(--section-shadow-hover),0 0 0 1px var(--section-inset-hover) inset}.section-header h2{margin:10px 0 0;font-family:Cormorant Garamond,serif;font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1;letter-spacing:.02em;color:var(--section-heading)}.section-header p{margin:12px 0 0;max-width:70ch;color:var(--section-body);line-height:1.7}.about-grid{margin-top:18px;display:grid;grid-template-columns:1.15fr 1fr;gap:14px}.about-panel,.contact-panel{border:1px solid var(--panel-border);border-radius:16px;padding:clamp(14px,2vw,20px);background:var(--panel-surface)}.about-panel h3{margin:0;color:var(--section-heading)}.about-list{margin:12px 0 0;padding-left:18px;display:grid;gap:8px;color:var(--section-body);line-height:1.56}.about-facts{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.about-fact{border:1px solid var(--metric-border);border-radius:12px;padding:12px;background:var(--metric-surface)}.about-fact p{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;color:var(--metric-label)}.about-fact strong{display:block;margin-top:8px;font-size:.95rem;line-height:1.35;color:var(--metric-value)}.metric-grid{margin-top:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric-card{border:1px solid var(--metric-border);border-radius:16px;padding:14px 12px;background:var(--metric-surface)}.metric-card p{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;color:var(--metric-label)}.metric-card strong{display:block;margin-top:8px;font-size:clamp(1.06rem,2vw,1.45rem);color:var(--metric-value)}.metric-detail{display:block;margin-top:8px;font-size:.74rem;color:var(--metric-detail)}.experience-rail{margin-top:18px;border-left:1px solid var(--rail-border);padding-left:clamp(16px,2vw,24px);display:grid;gap:20px}.experience-item{position:relative}.experience-item:before{content:"";position:absolute;left:calc(-1*clamp(16px,2vw,24px) - 6px);top:6px;width:11px;height:11px;border-radius:50%;background:var(--rail-dot);box-shadow:0 0 0 5px var(--rail-dot-ring)}.experience-meta{margin:0;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--experience-meta)}.experience-item h3{margin:8px 0 0;font-size:clamp(1.06rem,2vw,1.35rem);color:var(--experience-title)}.experience-item h4{margin:2px 0 0;font-weight:500;color:var(--experience-company)}.experience-item ul{margin:10px 0 0;padding-left:18px;display:grid;gap:8px;color:var(--experience-list);line-height:1.56}.skills-grid{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.skill-card{border:1px solid var(--skill-border);border-radius:16px;padding:14px;background:var(--skill-surface)}.skill-card h3{margin:0;font-size:1rem;color:var(--skill-title)}.skill-chip-wrap{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.skill-chip{border:1px solid var(--chip-border);border-radius:999px;padding:6px 10px;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--chip-color);background:var(--chip-surface)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.contact-panel h2{margin:10px 0 0;font-family:Cormorant Garamond,serif;font-size:clamp(1.6rem,3.1vw,2.35rem);line-height:1;color:var(--section-heading)}.contact-panel p{margin:12px 0 0;color:var(--section-body);line-height:1.6}.contact-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}.contact-primary,.contact-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 16px;text-decoration:none;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;transition:transform .2s ease,background .2s ease,border-color .2s ease}.contact-primary{border:0;color:var(--cta-primary-text);background:var(--cta-primary-bg);box-shadow:0 12px 24px var(--cta-primary-shadow)}.contact-primary:hover{transform:translateY(-1px)}.contact-secondary{color:var(--cta-secondary-text);background:var(--cta-secondary-bg);border:1px solid var(--cta-secondary-border)}.contact-secondary:hover{background:var(--cta-secondary-hover-bg);border-color:var(--cta-secondary-hover-border);transform:translateY(-1px)}.education-list{margin:12px 0 0;padding-left:18px;display:grid;gap:10px;color:var(--education-text)}.contact-muted{margin-top:10px;color:var(--contact-muted)!important}.contact-phone{display:inline-flex;margin-top:12px;color:var(--cta-secondary-text);text-decoration:none;border-bottom:1px solid var(--cta-secondary-border)}.contact-phone:hover{border-bottom-color:var(--cta-secondary-hover-border)}.gradient-button{position:relative;border:0;border-radius:999px;padding:1px;cursor:pointer;overflow:hidden;isolation:isolate;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.gradient-button:before{content:"";position:absolute;top:-20%;bottom:-20%;left:-42%;width:40%;z-index:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.72),transparent);transform:translate(-120%) rotate(16deg);transition:transform .58s var(--ease-out)}.gradient-button:hover{transform:translateY(-2px);filter:brightness(1.04)}.gradient-button:hover:before{transform:translate(440%) rotate(16deg)}.gradient-button-text{display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1;border-radius:inherit;padding:12px 22px;min-width:170px}.gradient-button-default{background:var(--button-default-gradient);box-shadow:0 15px 32px var(--button-default-shadow)}.gradient-button-default .gradient-button-text{color:var(--button-default-text);background:var(--button-default-inner-bg)}.gradient-button-variant{background:var(--button-variant-gradient);box-shadow:0 14px 30px var(--button-variant-shadow)}.gradient-button-variant .gradient-button-text{color:var(--button-variant-text);background:var(--button-variant-inner-bg)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .62s var(--ease-out),transform .62s var(--ease-out);transition-delay:var(--delay, 0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes hero-enter{to{opacity:1;transform:translateY(0)}}@media(max-width:1080px){.about-grid,.contact-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.content-shell{padding-inline:14px}.section-nav{top:10px;border-radius:20px}.section-nav-list{gap:6px}.section-nav-link{padding:7px 11px;font-size:.64rem}.skills-grid,.metric-grid,.about-facts{grid-template-columns:1fr}.gradient-button,.gradient-button-text{width:min(260px,92vw)}.hero-summary{max-width:96vw}.theme-toggle{width:68px;height:36px}.theme-toggle-thumb{width:26px;height:26px}.theme-toggle.is-light .theme-toggle-thumb{transform:translate(30px)}}@media(prefers-reduced-motion:reduce){.hero-overlay>*,.reveal{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}.gradient-button,.gradient-button:before,.theme-toggle,.shader-canvas,.contact-primary,.contact-secondary,.section-nav-link{transition:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
