/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-500:oklch(62.3% .214 259.815);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-semibold:600;--font-weight-bold:700;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-6{top:calc(var(--spacing)*6)}.right-6{right:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.z-40{z-index:40}.z-50{z-index:50}.my-4{margin-block:calc(var(--spacing)*4)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.flex{display:flex}.hidden{display:none}.h-0{height:calc(var(--spacing)*0)}.h-\[2px\]{height:2px}.h-full{height:100%}.h-screen{height:100vh}.w-\[40\%\]{width:40%}.w-\[200px\]{width:200px}.w-full{width:100%}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-5{--tw-translate-y:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.bg-\[rgba\(10\,10\,10\,0\.8\)\]{background-color:#0a0a0acc}.bg-black{background-color:var(--color-black)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-800{background-color:var(--color-gray-800)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-gray-100{color:var(--color-gray-100)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-\[0_0_15px_\#3b82f6\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#3b82f6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.animate-blink{animation:1s step-end infinite blink}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(300%)}}.animate-loading-bar{animation:1s ease-in-out infinite loading}@keyframes fadeInUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:.8s forwards fadeInUp}}html,body{color:#e2e8f0;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f172a;margin:0;padding:0;font-family:Space Grotesk,sans-serif;line-height:1.6}.scroll{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(25px)}.scroll.visible{opacity:1;transform:translateY(0)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.navbar{position:fixed;top:0;left:0;width:100%;z-index:40;font-family:DM Sans,sans-serif;transition:background .3s ease,border-color .3s ease;background:transparent;border-bottom:1px solid transparent}.navbar--scrolled{background:#05080fd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}.navbar-inner{max-width:1100px;margin:0 auto;padding:0 2rem;height:64px;display:flex;align-items:center;justify-content:space-between}.navbar-logo{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:700;font-style:italic;color:#f1f0ee;text-decoration:none;letter-spacing:-.01em;transition:opacity .2s ease}.navbar-logo:hover{opacity:.8}.navbar-logo-accent{color:transparent;-webkit-text-stroke:1px rgba(99,102,241,.8)}.navbar-links{display:flex;align-items:center;gap:2rem}.navbar-link{position:relative;font-size:.85rem;font-weight:400;color:#5d6b7d;text-decoration:none;letter-spacing:.03em;transition:color .2s ease;display:flex;flex-direction:column;align-items:center;gap:4px}.navbar-link:hover{color:#c4cdd9}.navbar-link--active{color:#f1f0ee;font-weight:500}.navbar-link-dot{width:4px;height:4px;border-radius:50%;background:#6366f1;position:absolute;bottom:-8px}.navbar-cta{font-size:.8rem;font-weight:500;color:#a5b4fc;background:#6366f11a;border:1px solid rgba(99,102,241,.25);border-radius:6px;padding:.45rem 1.1rem;text-decoration:none;letter-spacing:.04em;transition:background .2s ease,border-color .2s ease,transform .15s ease}.navbar-cta:hover{background:#6366f133;border-color:#6366f173;transform:translateY(-1px)}.navbar-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0;z-index:50}.navbar-hamburger .bar{display:block;width:22px;height:1.5px;background:#c4cdd9;border-radius:2px;transition:transform .25s ease,opacity .25s ease,width .25s ease;transform-origin:center}.navbar-hamburger--open .bar:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.navbar-hamburger--open .bar:nth-child(2){opacity:0;width:0}.navbar-hamburger--open .bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}@media (max-width: 768px){.navbar-links{display:none}.navbar-hamburger{display:flex}}.hero-root{font-family:DM Sans,sans-serif;background:#05080f;min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:2rem;margin-top:64px}.floating-badge{position:absolute;top:1rem;right:1.5rem;display:flex;align-items:center;gap:8px;background:#14b8a614;border:1px solid rgba(20,184,166,.2);border-radius:40px;padding:.45rem 1rem;z-index:3;opacity:0;animation:fadeIn .8s ease forwards 1s}.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.orb-1{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.18) 0%,transparent 70%);top:-120px;left:-120px;pointer-events:none}.orb-2{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.13) 0%,transparent 70%);bottom:-80px;right:-80px;pointer-events:none}.hero-inner{position:relative;z-index:2;display:flex;align-items:center;gap:5rem;max-width:1100px;width:100%}.hero-text{flex:1;min-width:0}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#14b8a6;margin-bottom:1.75rem;opacity:0;animation:fadeUp .6s ease forwards .1s}.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:#14b8a6;animation:pulseGlow 2s ease-in-out infinite}.hero-heading{font-family:Playfair Display,serif;font-size:clamp(2.6rem,5vw,4.4rem);font-weight:700;line-height:1.08;color:#f1f0ee;margin:0 0 1.5rem;opacity:0;animation:fadeUp .7s ease forwards .25s}.hero-heading .accent{color:transparent;-webkit-text-stroke:1.5px rgba(99,102,241,.65);font-style:italic}.divider{width:48px;height:2px;background:linear-gradient(90deg,#6366f1,#14b8a6);border-radius:2px;margin:0 0 1.5rem;opacity:0;animation:fadeUp .6s ease forwards .4s}.hero-body{font-size:1.05rem;line-height:1.8;color:#8d9ab0;max-width:460px;margin:0 0 2.5rem;font-weight:300;opacity:0;animation:fadeUp .6s ease forwards .5s}.cta-row{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp .6s ease forwards .65s}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:#6366f1;color:#fff;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;padding:.85rem 1.75rem;border-radius:6px;text-decoration:none;border:none;cursor:pointer;letter-spacing:.01em;transition:background .2s ease,transform .15s ease}.btn-primary:hover{background:#4f52d8;transform:translateY(-2px)}.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#c4cdd9;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:400;padding:.85rem 1.75rem;border-radius:6px;text-decoration:none;border:1px solid rgba(255,255,255,.1);cursor:pointer;letter-spacing:.01em;transition:border-color .2s ease,color .2s ease,transform .15s ease}.btn-ghost:hover{border-color:#ffffff40;color:#f1f0ee;transform:translateY(-2px)}.stats-row{display:flex;gap:2.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.06);opacity:0;animation:fadeUp .6s ease forwards .8s}.stat-num{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;color:#f1f0ee;line-height:1;margin-bottom:4px}.stat-label{font-size:.72rem;color:#5d6b7d;letter-spacing:.08em;text-transform:uppercase}.floating-badge{position:absolute;top:1.5rem;right:1.5rem;display:flex;align-items:center;gap:8px;background:#14b8a614;border:1px solid rgba(20,184,166,.2);border-radius:40px;padding:.45rem 1rem;z-index:3;opacity:0;animation:fadeIn .8s ease forwards 1s}.badge-dot{width:7px;height:7px;border-radius:50%;background:#14b8a6;animation:pulseGlow 2s ease-in-out infinite}.badge-text{font-size:.72rem;font-weight:500;color:#14b8a6;letter-spacing:.04em}.photo-wrapper{flex-shrink:0;width:340px;height:340px;position:relative;opacity:0;animation:fadeUp .8s ease forwards .4s}.photo-ring{position:absolute;inset:-14px;border-radius:50%;background:conic-gradient(#6366f1 0deg,#14b8a6 120deg,transparent 180deg,#6366f1 360deg);animation:spinRing 6s linear infinite}.photo-ring:after{content:"";position:absolute;inset:5px;border-radius:50%;background:#05080f}.photo-glow{position:absolute;inset:-30px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.22) 0%,transparent 70%);pointer-events:none}.photo-frame{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;overflow:hidden;border:2px solid rgba(99,102,241,.35)}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#6366f10f;color:#5d6b7d;font-size:.8rem;text-align:center;gap:8px;letter-spacing:.06em;text-transform:uppercase}.photo-placeholder svg{opacity:.4}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spinRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@media (max-width: 768px){.hero-inner{flex-direction:column-reverse;gap:2.5rem;text-align:center}.photo-wrapper{width:220px;height:220px}.hero-body{margin-left:auto;margin-right:auto}.cta-row,.stats-row{justify-content:center}.floating-badge{position:static;margin:0 auto 1.5rem;width:fit-content}}.about-root{font-family:DM Sans,sans-serif;background:#05080f;padding:6rem 2rem;position:relative;overflow:hidden}.about-orb{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.09) 0%,transparent 70%);top:-100px;right:-200px;pointer-events:none}.about-inner{max-width:860px;margin:0 auto;position:relative;z-index:2}.about-bio{font-size:1rem;line-height:1.85;color:#8d9ab0;font-weight:300;max-width:600px;margin:0 0 3.5rem;border-left:2px solid rgba(99,102,241,.3);padding-left:1.25rem}.about-two-col{display:grid;grid-template-columns:1fr 1.6fr;gap:2rem;align-items:start}.about-card{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:1.75rem}.card-title{display:flex;align-items:center;gap:7px;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#5d6b7d;margin-bottom:1.25rem}.card-title-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}.card-title-dot--frontend{background:#6366f1}.card-title-dot--backend{background:#14b8a6}.card-title-dot--soft{background:#f59e0b}.skills-grid{display:flex;flex-wrap:wrap;gap:8px}.skills-divider{height:1px;background:#ffffff0f;margin:1.5rem 0}.skill-pill--frontend{font-size:.78rem;font-weight:400;color:#a5b4fc;background:#6366f11a;border:1px solid rgba(99,102,241,.2);border-radius:40px;padding:5px 14px;transition:background .2s,border-color .2s,transform .15s;cursor:default}.skill-pill--frontend:hover{background:#6366f138;border-color:#6366f173;transform:translateY(-2px)}.skill-pill--backend{font-size:.78rem;font-weight:400;color:#5eead4;background:#14b8a61a;border:1px solid rgba(20,184,166,.2);border-radius:40px;padding:5px 14px;transition:background .2s,border-color .2s,transform .15s;cursor:default}.skill-pill--backend:hover{background:#14b8a638;border-color:#14b8a673;transform:translateY(-2px)}.skill-pill--soft{font-size:.78rem;font-weight:400;color:#fcd34d;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:40px;padding:5px 14px;transition:background .2s,border-color .2s,transform .15s;cursor:default}.skill-pill--soft:hover{background:#f59e0b38;border-color:#f59e0b73;transform:translateY(-2px)}.timeline{position:relative;padding-left:1.5rem}.timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:linear-gradient(to bottom,#14b8a6,rgba(99,102,241,.4),transparent)}.timeline-item{position:relative;margin-bottom:1.75rem}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-1.5rem;top:5px;width:10px;height:10px;border-radius:50%;background:#6366f1;border:2px solid #05080f;box-shadow:0 0 0 2px #6366f14d}.timeline-dot--current{background:#14b8a6;box-shadow:0 0 0 2px #14b8a64d}.timeline-period{display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#6366f1;margin-bottom:4px}.timeline-period--current{color:#14b8a6}.timeline-badge{font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#14b8a6;background:#14b8a61f;border:1px solid rgba(20,184,166,.25);border-radius:40px;padding:2px 8px;line-height:1.4}.timeline-role{font-size:.9rem;font-weight:500;color:#e2e8f0;margin-bottom:3px;line-height:1.3}.timeline-company{font-size:.78rem;color:#5d6b7d;margin-bottom:6px}.timeline-desc{font-size:.82rem;color:#6b7a8d;line-height:1.6;font-weight:300}@media (max-width: 680px){.about-two-col{grid-template-columns:1fr}}@media (max-width: 768px){.about-root{padding:4rem 1.5rem}}.projects-root{font-family:DM Sans,sans-serif;background:#05080f;padding:6rem 2rem;position:relative;overflow:hidden}.projects-orb{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.07) 0%,transparent 70%);bottom:-200px;left:-200px;pointer-events:none}.projects-inner{max-width:1000px;margin:0 auto;position:relative;z-index:2}.projects-subheading{font-size:.95rem;color:#5d6b7d;font-weight:300;margin:0 0 3rem;max-width:500px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}@media (max-width: 900px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.projects-grid{grid-template-columns:1fr}}.project-card{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:border-color .2s ease,transform .2s ease}.project-card:hover{border-color:#6366f140;transform:translateY(-3px)}.project-card--placeholder{border-style:dashed;border-color:#ffffff0d;opacity:.5}.project-card--placeholder:hover{border-color:#ffffff1a;transform:none}.project-card-header{display:flex;align-items:center;justify-content:space-between}.project-badge{display:inline-flex;align-items:center;gap:5px;font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border-radius:40px;padding:3px 10px}.project-badge--live{color:#14b8a6;background:#14b8a61a;border:1px solid rgba(20,184,166,.2)}.project-badge--wip{color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2)}.project-badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.project-title{font-family:DM Sans,sans-serif;font-size:.975rem;font-weight:500;color:#e2e8f0;margin:0;line-height:1.35}.project-desc{font-size:.82rem;color:#6b7a8d;line-height:1.65;font-weight:300;margin:0;flex:1}.project-pills{display:flex;flex-wrap:wrap;gap:6px}.project-pill{font-size:.72rem;font-weight:400;border-radius:40px;padding:3px 10px;border:1px solid transparent}.pill--indigo{color:#a5b4fc;background:#6366f11a;border-color:#6366f133}.pill--teal{color:#5eead4;background:#14b8a61a;border-color:#14b8a633}.pill--amber{color:#fcd34d;background:#f59e0b1a;border-color:#f59e0b33}.project-link{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:500;color:#6366f1;text-decoration:none;margin-top:auto;transition:color .2s ease,gap .2s ease;width:fit-content}.project-link:hover{color:#a5b4fc;gap:8px}.project-link-disabled{font-size:.78rem;font-weight:400;color:#3a4251;margin-top:auto;letter-spacing:.04em}@media (max-width: 768px){.projects-root{padding:4rem 1.5rem}}.contact-root{font-family:DM Sans,sans-serif;background:#05080f;padding:6rem 2rem;position:relative;overflow:hidden}.contact-orb{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.08) 0%,transparent 70%);top:-100px;left:-150px;pointer-events:none}.contact-inner{max-width:960px;margin:0 auto;position:relative;z-index:2}.section-label{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#14b8a6;margin-bottom:1rem}.section-label-line{width:28px;height:1px;background:#14b8a6}.section-heading{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;font-style:italic;color:#f1f0ee;margin:0 0 1rem;line-height:1.1}.section-heading span{color:transparent;-webkit-text-stroke:1.2px rgba(99,102,241,.6)}.contact-subheading{font-size:.95rem;color:#5d6b7d;font-weight:300;margin:0 0 3rem;max-width:500px;line-height:1.7}.contact-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:start}.contact-form{display:flex;flex-direction:column;gap:1.25rem;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:2rem}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#5d6b7d}.form-input{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.75rem 1rem;color:#e2e8f0;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:300;outline:none;transition:border-color .2s ease,background .2s ease;width:100%;box-sizing:border-box}.form-input::placeholder{color:#3a4251}.form-input:focus{border-color:#6366f180;background:#6366f10d}.form-textarea{resize:vertical;min-height:130px;line-height:1.6}.form-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#6366f1;color:#fff;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;padding:.85rem 1.75rem;border-radius:8px;border:none;cursor:pointer;transition:background .2s ease,transform .15s ease;margin-top:.25rem}.form-btn:hover{background:#4f52d8;transform:translateY(-2px)}.form-alert{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:400;padding:.85rem 1rem;border-radius:8px;line-height:1.5}.form-alert--success{color:#5eead4;background:#14b8a614;border:1px solid rgba(20,184,166,.2)}.form-alert--error{color:#f87171;background:#f8717114;border:1px solid rgba(248,113,113,.2)}.form-required{color:#f87171;margin-left:2px}.form-input--error{border-color:#f8717180;background:#f871710a}.form-input--error:focus{border-color:#f87171b3;background:#f871710f}.form-error-msg{font-size:.75rem;color:#f87171;margin-top:2px}.form-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.form-btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-info-card{display:flex;align-items:flex-start;gap:1rem;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:1rem 1.25rem;transition:border-color .2s ease,transform .2s ease}.contact-info-card:hover{border-color:#6366f133;transform:translateY(-2px)}.contact-info-icon{width:36px;height:36px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-info-label{font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#5d6b7d;margin-bottom:3px}.contact-info-value{font-size:.88rem;font-weight:400;color:#a5b4fc;text-decoration:none;transition:color .2s ease}.contact-info-value:hover{color:#c7d2fe}.contact-info-value--teal{color:#5eead4}.contact-info-value--teal:hover{color:#99f6e4}.contact-info-value--amber{color:#fcd34d}.contact-socials{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:1rem 1.25rem}.socials-row{display:flex;gap:.75rem}.social-btn{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:400;color:#8d9ab0;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.5rem .9rem;text-decoration:none;transition:color .2s ease,border-color .2s ease,transform .15s ease}.social-btn:hover{color:#e2e8f0;border-color:#ffffff2e;transform:translateY(-2px)}@media (max-width: 720px){.contact-layout{grid-template-columns:1fr}}@media (max-width: 768px){.contact-root{padding:4rem 1.5rem}}
