/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,::backdrop,: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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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:#3b82f680;--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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,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;margin:0}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{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}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{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-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}dialog{padding:0}textarea{resize:vertical}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]:where(:not([hidden=until-found])){display:none}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#faf9f6;--surface:#f0ece3;--card:#fff;--text:#111008;--text-muted:#7a756a;--accent:#c8873a;--accent-glow:#c8873a26;--border:#e0dbd0;--nav-bg:#faf9f6d9}.dark{--bg:#0d0c09;--surface:#171510;--card:#1e1c16;--text:#ede8dc;--text-muted:#7a7568;--accent:#e8a84a;--accent-glow:#e8a84a1f;--border:#2c2920;--nav-bg:#0d0c09e6}html{scroll-behavior:smooth}body{background:#faf9f6;background:var(--bg);color:#111008;color:var(--text);font-family:Syne,sans-serif;transition:background .4s ease,color .4s ease}::selection{background:#c8873a;background:var(--accent);color:#fff}body:before{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");content:"";inset:0;opacity:.4;pointer-events:none;position:fixed;z-index:0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#faf9f6;background:var(--bg)}::-webkit-scrollbar-thumb{background:#c8873a;background:var(--accent);border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.font-display{font-family:"DM Serif Display",serif}.nav-inner{align-items:center;display:flex;justify-content:space-between;padding:16px 32px}.nav-blur{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#faf9f6d9;background:var(--nav-bg);border-bottom:1px solid #e0dbd0;border-bottom:1px solid var(--border)}.nav-logo{color:#111008;color:var(--text);font-family:"DM Serif Display",serif;font-size:24px;text-decoration:none}.desktop-nav{align-items:center;gap:36px}.nav-link{color:#7a756a;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.05em;text-decoration:none;transition:color .2s}.nav-link:hover{color:#c8873a;color:var(--accent)}.theme-btn{align-items:center;background:#f0ece3;background:var(--surface);border:1px solid #e0dbd0;border:1px solid var(--border);border-radius:50%;color:#111008;color:var(--text);cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:border-color .2s;width:36px}.theme-btn:hover{border-color:#c8873a;border-color:var(--accent)}.hamburger-btn{font-size:20px}.hamburger-btn,.mobile-close-btn{background:none;border:none;color:#111008;color:var(--text);cursor:pointer}.mobile-close-btn{font-size:22px;position:absolute;right:28px;top:24px}.mobile-nav-link{color:#111008;color:var(--text);font-family:"DM Serif Display",serif;font-size:36px;text-decoration:none}.mobile-theme-btn{align-items:center;background:#f0ece3;background:var(--surface);border:1px solid #e0dbd0;border:1px solid var(--border);border-radius:100px;color:#111008;color:var(--text);cursor:pointer;display:flex;font-family:Syne,sans-serif;gap:8px;margin-top:16px;padding:10px 24px}.hero-section{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:100px 24px 60px;position:relative}.orb{border-radius:50%;filter:blur(80px);pointer-events:none;position:absolute}.hero-orb-1{background:#c8873a26;background:var(--accent-glow);height:500px;opacity:.6;right:-150px;top:-100px;width:500px}.hero-orb-2{background:#64502814;bottom:0;height:300px;left:-80px;width:300px}.hero-inner{max-width:720px;position:relative;z-index:1}.hero-h1{font-size:clamp(52px,8vw,88px);font-weight:400;letter-spacing:-.02em;line-height:1.05;margin-bottom:24px}.hero-p{color:#7a756a;color:var(--text-muted);font-family:Syne,sans-serif;font-size:18px;line-height:1.7;margin-bottom:40px;max-width:480px}.hero-btns{display:flex;flex-wrap:wrap;gap:16px}.page-section{margin:0 auto;max-width:860px;padding:100px 24px}.section-h2{font-size:clamp(32px,5vw,52px);font-weight:400;line-height:1.1;margin-bottom:24px}.body-text{color:#7a756a;color:var(--text-muted);font-size:17px;line-height:1.8}.about-grid{grid-gap:48px;display:grid;gap:48px;grid-template-columns:1fr}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.stat-card{background:#f0ece3;background:var(--surface);border:1px solid #e0dbd0;border:1px solid var(--border);border-radius:12px;padding:24px 20px;text-align:center}.stat-value{color:#c8873a;color:var(--accent);font-size:40px;font-weight:400}.stat-label{color:#7a756a;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.05em;margin-top:4px}.skills-h2{font-size:clamp(32px,5vw,52px);font-weight:400;margin-bottom:48px}.skills-wrap{display:flex;flex-wrap:wrap;gap:12px}.skill-pill{align-items:center;background:#f0ece3;background:var(--surface);border:1px solid #e0dbd0;border:1px solid var(--border);border-radius:100px;cursor:default;display:flex;gap:10px;padding:10px 20px;transition:border-color .2s,background .2s,transform .2s}.skill-pill:hover{background:#c8873a26;background:var(--accent-glow);border-color:#c8873a;border-color:var(--accent);transform:translateY(-2px)}.skill-icon{color:#c8873a;color:var(--accent);font-size:16px}.skill-name{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.projects-h2{font-size:clamp(32px,5vw,52px);font-weight:400;margin-bottom:48px}.projects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.projects-more{margin-top:40px;text-align:center}.project-card{background:#fff;background:var(--card);border:1px solid #e0dbd0;border:1px solid var(--border);border-radius:16px;overflow:hidden;padding:28px;position:relative;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.project-card:hover{border-color:#c8873a;border-color:var(--accent);box-shadow:0 0 0 1px #c8873a,0 20px 40px #c8873a26;box-shadow:0 0 0 1px var(--accent),0 20px 40px var(--accent-glow)}.card-top-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.card-title{font-size:24px;font-weight:400}.card-icons{display:flex;gap:10px}.card-icon-link{align-items:center;border-radius:8px;color:#7a756a;color:var(--text-muted);display:inline-flex;font-size:18px;height:38px;justify-content:center;margin:-8px;transition:color .2s,background .2s;width:38px}.card-icon-link:hover{background:#c8873a26;background:var(--accent-glow);color:#c8873a;color:var(--accent)}.card-desc{color:#7a756a;color:var(--text-muted);font-size:15px;line-height:1.7;margin-bottom:20px}.tech-wrap{display:flex;flex-wrap:wrap;gap:8px}.tech-badge{align-items:center;background:#f0ece3;background:var(--surface);border:1px solid #e0dbd0;border:1px solid var(--border);border-radius:100px;color:#7a756a;color:var(--text-muted);display:flex;font-family:JetBrains Mono,monospace;font-size:12px;gap:6px;padding:4px 12px}.tech-icon{color:#c8873a;color:var(--accent);font-size:12px}.microlink-wrap{margin-top:16px}.contact-h2{font-size:clamp(32px,5vw,52px);font-weight:400;margin-bottom:16px}.contact-sub{color:#7a756a;color:var(--text-muted);font-size:17px;margin-bottom:48px}.form-grid{grid-gap:48px;display:grid;gap:48px;grid-template-columns:1fr}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-label{color:#7a756a;color:var(--text-muted);display:block;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.1em;margin-bottom:8px;text-transform:uppercase}.form-input{background:#f0ece3;background:var(--surface);border:1px solid #e0dbd0;border:1px solid var(--border);border-radius:8px;color:#111008;color:var(--text);font-family:Syne,sans-serif;font-size:15px;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus{border-color:#c8873a;border-color:var(--accent);box-shadow:0 0 0 3px #c8873a26;box-shadow:0 0 0 3px var(--accent-glow)}.success-msg{color:#4ade80}.error-msg,.success-msg{font-family:JetBrains Mono,monospace;font-size:14px}.error-msg{color:#f87171}.social-row{display:flex;gap:10px;justify-content:center;margin-top:48px}.social-link{align-items:center;border:1px solid #e0dbd0;border:1px solid var(--border);border-radius:100px;color:#7a756a;color:var(--text-muted);display:flex;font-family:JetBrains Mono,monospace;font-size:13px;gap:8px;padding:10px 20px;text-decoration:none;transition:border-color .2s,color .2s}.social-link:hover{border-color:#c8873a;border-color:var(--accent);color:#c8873a;color:var(--accent)}.btn-primary{align-items:center;background:#c8873a;background:var(--accent);border:none;border-radius:100px;color:#fff;cursor:pointer;display:inline-flex;font-family:Syne,sans-serif;font-weight:700;gap:8px;letter-spacing:.05em;padding:12px 32px;text-decoration:none;transition:opacity .2s,transform .2s,box-shadow .2s}.btn-primary:hover{box-shadow:0 8px 24px #c8873a26;box-shadow:0 8px 24px var(--accent-glow);opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.7}.btn-outline{align-items:center;background:#0000;border:1.5px solid #e0dbd0;border:1.5px solid var(--border);border-radius:100px;color:#111008;color:var(--text);cursor:pointer;display:inline-flex;font-family:Syne,sans-serif;font-weight:600;gap:8px;letter-spacing:.05em;padding:11px 28px;text-decoration:none;transition:border-color .2s,color .2s}.btn-outline:hover{border-color:#c8873a;border-color:var(--accent);color:#c8873a;color:var(--accent)}.divider{background:linear-gradient(90deg,#0000,#e0dbd0,#0000);background:linear-gradient(90deg,#0000,var(--border),#0000);height:1px}.section-label{color:#c8873a;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.status-label{align-items:center;display:inline-flex;gap:9px}.status-dot{display:inline-block;flex-shrink:0;height:8px;position:relative;width:8px}.status-dot,.status-dot:after{background:#22c55e;border-radius:50%}.status-dot:after{animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite;content:"";inset:0;position:absolute}.cursor-blink{animation:blink 1s step-end infinite;background:#c8873a;background:var(--accent);display:inline-block;height:1em;margin-left:4px;vertical-align:middle;width:3px}.site-footer{border-top:1px solid #e0dbd0;border-top:1px solid var(--border);color:#7a756a;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:13px;padding:40px 24px;text-align:center}.scroll-top-btn{align-items:center;border:none;border-radius:50%;bottom:28px;box-shadow:0 4px 20px #c8873a26;box-shadow:0 4px 20px var(--accent-glow);cursor:pointer;display:flex;font-size:16px;height:44px;justify-content:center;position:fixed;right:28px;width:44px;z-index:40}.scroll-top-btn,.skip-link{background:#c8873a;background:var(--accent);color:#fff}.skip-link{border-radius:0 0 8px 0;font-family:JetBrains Mono,monospace;font-size:13px;left:-9999px;padding:12px 20px;position:absolute;text-decoration:none;z-index:10000}.skip-link:focus{left:0;top:0}@media (max-width:768px){.mobile-menu{align-items:center;background:#faf9f6;background:var(--bg);display:flex;flex-direction:column;gap:2rem;inset:0;justify-content:center;position:fixed;z-index:999}}@media (prefers-reduced-motion:reduce){.cursor-blink{opacity:1}.cursor-blink,.status-dot:after{animation:none}}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-50{z-index:50}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.resize{resize:both}.italic{font-style:italic}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes ping{0%{opacity:.7;transform:scale(1)}75%,to{opacity:0;transform:scale(2.6)}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}}
/*# sourceMappingURL=main.38f3fd1f.css.map*/