@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Great+Vibes&family=Space+Grotesk:wght@500;700&display=swap);
/* ! tailwindcss v3.3.1 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}html{scroll-behavior:smooth}.translate-x-full{-webkit-transform:translateX(100%);transform:translateX(100%)}:root{--bg:#0b0f14;--surface:rgba(17,24,39,.55);--surface-muted:rgba(30,41,59,.5);--text:#f6f3ee;--text-muted:#b8c0cc;--accent:#f59e0b;--accent-soft:rgba(245,158,11,.18);--border:rgba(148,163,184,.26);--shadow:0 24px 50px -30px rgba(0,0,0,.85)}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 15%,rgba(245,158,11,.2) 0,rgba(245,158,11,0) 28%),radial-gradient(circle at 80% 18%,rgba(14,165,233,.16) 0,rgba(14,165,233,0) 34%),linear-gradient(160deg,#070b11,#0b0f14 56%,#0f172a);background:radial-gradient(circle at 15% 15%,rgba(245,158,11,.2) 0,rgba(245,158,11,0) 28%),radial-gradient(circle at 80% 18%,rgba(14,165,233,.16) 0,rgba(14,165,233,0) 34%),linear-gradient(160deg,#070b11 0,var(--bg) 56%,#0f172a 100%);color:#f6f3ee;color:var(--text);font-family:DM Sans,sans-serif;margin:0}.brand,h1,h2,h3,h4{font-family:Space Grotesk,sans-serif;letter-spacing:-.03em}a{color:inherit;text-decoration:none}.site-shell{position:relative}.section{margin:0 auto;padding:5.5rem 0;width:min(1100px,92%)}.muted{background:linear-gradient(180deg,transparent,rgba(15,23,42,.45))}.top-nav-wrap{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:20}.top-nav{align-items:center;background:rgba(15,23,42,.5);border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:999px;box-shadow:0 24px 50px -30px rgba(0,0,0,.85);box-shadow:var(--shadow);display:flex;justify-content:space-between;margin:0 auto;padding:.8rem 1rem;position:relative;width:min(1100px,92%)}.brand{font-family:Great Vibes,cursive;font-size:1.5rem;letter-spacing:.02em;line-height:1}.nav-toggle{background:rgba(15,23,42,.85);border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:999px;color:#f6f3ee;color:var(--text);display:none;font-size:.8rem;padding:.45rem .9rem}.nav-links{display:flex;gap:.75rem}.nav-links a{border-radius:999px;color:#b8c0cc;color:var(--text-muted);font-size:.9rem;padding:.45rem .8rem;transition:color .24s ease,background-color .24s ease}.nav-links a.active,.nav-links a:hover{background:rgba(245,158,11,.18);background:var(--accent-soft);color:#ffe5bc}.hero{align-content:center;display:grid;min-height:90vh;overflow:hidden}.hero,.hero-grid{position:relative}.hero-grid{width:min(760px,100%);z-index:1}.hero-ambient{inset:0;pointer-events:none;position:absolute}.ambient-dot{-webkit-animation:drift 10s ease-in-out infinite;animation:drift 10s ease-in-out infinite;border-radius:999px;-webkit-filter:blur(1px);filter:blur(1px);opacity:.45;position:absolute}.dot-a{background:radial-gradient(circle,rgba(245,158,11,.5) 0,rgba(245,158,11,0) 70%);height:240px;right:-80px;top:10%;width:240px}.dot-b{-webkit-animation-delay:1.2s;animation-delay:1.2s;background:radial-gradient(circle,rgba(56,189,248,.45) 0,rgba(56,189,248,0) 70%);bottom:8%;height:180px;left:-40px;width:180px}.eyebrow{color:#f59e0b;color:var(--accent);font-size:.74rem;font-weight:700;letter-spacing:.2em;margin:0;text-transform:uppercase}.hero h1{font-size:clamp(2rem,7vw,4.1rem);line-height:1.06;margin:.8rem 0 1rem}.lead{color:#b8c0cc;color:var(--text-muted);font-size:clamp(1.02rem,2.4vw,1.26rem);line-height:1.75;margin:0;max-width:62ch}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.btn{border:1px solid transparent;border-radius:999px;font-size:.9rem;font-weight:700;padding:.7rem 1.15rem;transition:box-shadow .26s ease,background-color .26s ease,-webkit-transform .26s ease;transition:transform .26s ease,box-shadow .26s ease,background-color .26s ease;transition:transform .26s ease,box-shadow .26s ease,background-color .26s ease,-webkit-transform .26s ease}.btn:hover{box-shadow:0 24px 50px -30px rgba(0,0,0,.85);box-shadow:var(--shadow);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#f59e0b,#f97316);color:#16110a}.btn-secondary{background:rgba(15,23,42,.62);border-color:rgba(148,163,184,.26);border-color:var(--border)}.scroll-hint{-webkit-animation:float 2.2s ease-in-out infinite;animation:float 2.2s ease-in-out infinite;bottom:1.8rem;color:#b8c0cc;color:var(--text-muted);left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.hero-item{-webkit-animation:fadeUp .76s ease forwards;animation:fadeUp .76s ease forwards;opacity:0}.item-1{-webkit-animation-delay:.12s;animation-delay:.12s}.item-2{-webkit-animation-delay:.22s;animation-delay:.22s}.item-3{-webkit-animation-delay:.34s;animation-delay:.34s}.item-4{-webkit-animation-delay:.46s;animation-delay:.46s}.section-heading p{color:#f59e0b;color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.16em;margin:0;text-transform:uppercase}.section-heading h2{font-size:clamp(1.45rem,3.8vw,2.2rem);margin:.65rem 0 0;max-width:19ch}.section-heading.compact h2{max-width:29ch}.about-grid{grid-gap:1.8rem;align-items:start;display:grid;gap:1.8rem;grid-template-columns:230px minmax(0,1fr);margin-top:2.3rem}.about-photo{aspect-ratio:3/4;border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 50px -30px rgba(0,0,0,.85);box-shadow:var(--shadow);object-fit:cover;width:100%}.about-copy{grid-gap:1rem;display:grid;gap:1rem}.about-copy p{color:#b8c0cc;color:var(--text-muted);line-height:1.75;margin:0}.inline-link{color:#f6f3ee;color:var(--text);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.stacks-wrapper{margin-top:4rem}.education-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(17,24,39,.55);background:var(--surface);border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 50px -30px rgba(0,0,0,.85);box-shadow:var(--shadow);margin-top:2rem;max-width:760px;padding:1.2rem}.education-label{color:#f59e0b;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.16em;margin:0;text-transform:uppercase}.education-card h3{font-size:1.15rem;margin:.5rem 0 .35rem}.education-card p{color:#b8c0cc;color:var(--text-muted);line-height:1.65;margin:0}.stack-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));margin-top:1.4rem}.stack-chip{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(17,24,39,.55);background:var(--surface);border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:14px;color:#b8c0cc;color:var(--text-muted);display:flex;gap:.55rem;padding:.85rem;transition:border-color .22s ease,-webkit-transform .22s ease;transition:transform .22s ease,border-color .22s ease;transition:transform .22s ease,border-color .22s ease,-webkit-transform .22s ease}.stack-chip:hover{border-color:rgba(245,158,11,.45);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.article-grid,.card-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:2rem}.article-card,.project-card{-webkit-animation:rise .62s ease both;animation:rise .62s ease both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(17,24,39,.55);background:var(--surface);border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 50px -30px rgba(0,0,0,.85);box-shadow:var(--shadow);padding:1.2rem}.article-grid .article-card:nth-child(2),.article-grid .article-card:nth-child(3),.card-grid .project-card:nth-child(2),.card-grid .project-card:nth-child(3){-webkit-animation-delay:.12s;animation-delay:.12s}.card-grid .project-card:nth-child(4),.card-grid .project-card:nth-child(5){-webkit-animation-delay:.22s;animation-delay:.22s}.project-card h3{font-size:1.04rem;margin:0}.project-card p{color:#b8c0cc;color:var(--text-muted);line-height:1.6;margin:.85rem 0 1rem}.project-card a{align-items:center;color:#ffd79d;display:inline-flex;font-weight:700;gap:.35rem}.articles-block{margin-top:2.5rem}.articles-block h3{font-size:1.2rem;margin:0}.article-card a span{color:#f59e0b;color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.article-card h4{line-height:1.4;margin:.7rem 0 0}.contact-layout{grid-gap:1.4rem;align-items:start;display:grid;gap:1.4rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:2rem}.contact-details{color:#b8c0cc;color:var(--text-muted);line-height:1.7}.contact-details p{margin-top:0}.contact-links{grid-gap:.75rem;display:grid;gap:.75rem;margin-top:1.4rem}.contact-links a,.contact-links p{align-items:center;display:inline-flex;gap:.5rem;margin:0}.social-row{display:flex;gap:.7rem;margin-top:1.4rem}.social-row a{border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:999px;display:flex;padding:.5rem;transition:border-color .22s ease,-webkit-transform .22s ease;transition:transform .22s ease,border-color .22s ease;transition:transform .22s ease,border-color .22s ease,-webkit-transform .22s ease}.social-row a:hover{border-color:rgba(245,158,11,.5);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.contact-form{grid-gap:.8rem;-webkit-animation:rise .66s ease both;animation:rise .66s ease both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(17,24,39,.55);background:var(--surface);border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 50px -30px rgba(0,0,0,.85);box-shadow:var(--shadow);display:grid;gap:.8rem;padding:1.2rem}.contact-form input,.contact-form textarea{background:rgba(15,23,42,.62);border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:12px;color:#f6f3ee;color:var(--text);font-family:inherit;font-size:.95rem;padding:.75rem}.contact-form input:focus,.contact-form textarea:focus{border-color:rgba(245,158,11,.6);outline:none}.contact-form button{background:linear-gradient(135deg,#f59e0b,#f97316);border:0;border-radius:999px;color:#16110a;cursor:pointer;font-weight:700;padding:.75rem 1rem;transition:opacity .22s ease,-webkit-transform .22s ease;transition:transform .22s ease,opacity .22s ease;transition:transform .22s ease,opacity .22s ease,-webkit-transform .22s ease}.contact-form button:hover{opacity:.92;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.site-footer{border-top:1px solid rgba(148,163,184,.26);border-top:1px solid var(--border);color:#b8c0cc;color:var(--text-muted);margin-top:2rem;padding:1.2rem 0 2rem;text-align:center}.back-to-top{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(15,23,42,.82);border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:999px;bottom:1.2rem;box-shadow:0 24px 50px -30px rgba(0,0,0,.85);box-shadow:var(--shadow);color:#f6f3ee;color:var(--text);display:none;height:2.7rem;place-items:center;position:fixed;right:1.2rem;width:2.7rem}.back-to-top.visible{-webkit-animation:rise .34s ease;animation:rise .34s ease;display:grid}.fade-up{-webkit-animation:fadeUp .68s ease both;animation:fadeUp .68s ease both}@-webkit-keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(16px);transform:translateY(16px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(16px);transform:translateY(16px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes rise{0%{opacity:0;-webkit-transform:translateY(18px) scale(.985);transform:translateY(18px) scale(.985)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes rise{0%{opacity:0;-webkit-transform:translateY(18px) scale(.985);transform:translateY(18px) scale(.985)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes float{0%,to{-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}50%{-webkit-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}}@keyframes float{0%,to{-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}50%{-webkit-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}}@-webkit-keyframes drift{0%,to{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}50%{-webkit-transform:translate3d(0,-12px,0) scale(1.05);transform:translate3d(0,-12px,0) scale(1.05)}}@keyframes drift{0%,to{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}50%{-webkit-transform:translate3d(0,-12px,0) scale(1.05);transform:translate3d(0,-12px,0) scale(1.05)}}@media (max-width:860px){.nav-toggle{display:inline-flex}.nav-links{-webkit-animation:fadeUp .26s ease;animation:fadeUp .26s ease;background:rgba(15,23,42,.95);border:1px solid rgba(148,163,184,.26);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 50px -30px rgba(0,0,0,.85);box-shadow:var(--shadow);display:none;flex-direction:column;gap:.1rem;left:0;padding:.4rem;position:absolute;right:0;top:calc(100% + .5rem)}.nav-links.open{display:flex}.about-grid,.contact-layout{grid-template-columns:1fr}.about-photo{max-width:270px}}@media (prefers-reduced-motion:reduce){*,:after,:before{-webkit-animation:none!important;animation:none!important;scroll-behavior:auto!important;transition:none!important}}
/*# sourceMappingURL=main.e970e33b.css.map*/