:root{--bg:#080c14;--bg-alt:#0d1420;--surface:#111b2b;--border:#24344b;--text:#eef4ff;--muted:#9aabc4;--accent:#68a7ff;--accent-soft:#68a7ff24;--sage:#51d4e3;--shadow:0 28px 70px #00000061}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Outfit,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 8% 0,#51d4e324,#0000 32%),radial-gradient(circle at 92% 8%,#68a7ff24,#0000 30%),radial-gradient(circle at 50% 100%,#396bb424,#0000 36%);position:fixed;inset:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}.container{width:min(1200px,100% - 48px);margin:0 auto}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}.animate-in{opacity:0;animation:.8s forwards rise-in}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.32s}.delay-4{animation-delay:.44s}.delay-5{animation-delay:.56s}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes float-photo{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes drift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(24px,-18px)scale(1.08)}}@keyframes glow-pulse{0%,to{opacity:.55}50%{opacity:1}}.navbar{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);background:#080b0fc7;position:sticky;top:0}.nav-content{justify-content:space-between;align-items:center;height:76px;display:flex}.logo{letter-spacing:-.03em;color:var(--accent);font-family:Fraunces,Georgia,serif;font-size:1.45rem;font-weight:650}nav{gap:18px;display:flex}nav a{color:var(--muted);font-size:.86rem;font-weight:500;transition:color .2s;position:relative}nav a:after{content:"";background:var(--accent);border-radius:99px;width:0;height:2px;transition:width .25s;position:absolute;bottom:-6px;left:0}nav a:hover{color:var(--text)}nav a:hover:after{width:100%}.resume-btn{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:background .2s,color .2s,transform .2s}.resume-btn:hover{background:var(--accent);color:#07111f;transform:translateY(-1px)}.hero{flex-direction:column;justify-content:center;min-height:calc(100vh - 76px);padding:clamp(32px,4vh,52px) 0 clamp(24px,3vh,38px);display:flex;position:relative}.hero-orbs{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-grid-pattern{background-image:linear-gradient(90deg,#68a7ff0a 1px,#0000 1px),linear-gradient(#68a7ff0a 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 60% at 50% 35%,#000 65%,#0000 100%);mask-image:radial-gradient(75% 60% at 50% 35%,#000 65%,#0000 100%)}.orb{filter:blur(55px);border-radius:50%;animation:10s ease-in-out infinite drift;position:absolute}.orb-one{background:radial-gradient(circle,#68a7ff33,#0000 70%);width:360px;height:360px;top:4%;right:12%}.orb-two{background:radial-gradient(circle,#51d4e329,#0000 70%);width:300px;height:300px;animation-delay:-3.5s;bottom:8%;left:4%}.orb-three{background:radial-gradient(circle,#458fff1a,#0000 70%);width:240px;height:240px;animation-delay:-7s;top:45%;right:40%}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(24px,3.5vw,44px);display:grid;position:relative}.hero-content{z-index:2;text-align:left;position:relative}.hero-status-pill{color:var(--sage);letter-spacing:.03em;background:#51d4e314;border:1px solid #51d4e347;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin-bottom:14px;padding:5px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.status-ping{width:8px;height:8px;display:flex;position:relative}.status-ping-inner{background:var(--sage);box-shadow:0 0 10px var(--sage);border-radius:50%;animation:2s ease-in-out infinite ping-pulse;position:absolute;inset:0}@keyframes ping-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.6)}}.eyebrow{color:var(--sage);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:700}.hero-name{letter-spacing:-.035em;color:var(--text);margin-bottom:12px;font-family:Fraunces,Georgia,serif;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.04}.hero-name-gradient{background:linear-gradient(135deg, #fff 35%, var(--accent) 75%, var(--sage) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-role-wrapper{align-items:center;gap:6px;min-height:34px;margin-bottom:14px;display:flex}.hero-role{color:var(--accent);margin:0;font-family:Outfit,system-ui,sans-serif;font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:600;transition:opacity .25s,transform .25s}.hero-role.is-fading{opacity:0;transform:translateY(6px)}.hero-role.is-visible{opacity:1;transform:translateY(0)}.hero-cursor{background:var(--sage);border-radius:2px;width:3px;height:1.35em;animation:1s step-start infinite blink-cursor;display:inline-block}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.hero-description{max-width:520px;color:var(--muted);margin-bottom:22px;font-size:clamp(.95rem,1.1vw,1.04rem);line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.primary-btn,.secondary-btn{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:11px 22px;font-size:.92rem;font-weight:650;text-decoration:none;transition:transform .22s,background .22s,border-color .22s,box-shadow .22s;display:inline-flex}.hero-primary-btn{background:linear-gradient(135deg, var(--accent), #458fff);color:#07111f;gap:8px;box-shadow:0 10px 24px #68a7ff47}.hero-primary-btn:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 14px 30px #68a7ff66}.hero-secondary-btn{border:1px solid var(--border);color:var(--text);background:#111b2b99;gap:8px}.hero-secondary-btn:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:translateY(-2px)}.btn-arrow{font-size:1.05rem;transition:transform .2s}.hero-primary-btn:hover .btn-arrow{transform:translateY(2px)}.hero-secondary-btn:hover .btn-arrow{transform:translate(3px)}.hero-footer{flex-wrap:wrap;align-items:center;gap:18px;padding-top:6px;display:flex}.hero-socials{margin-top:0}.hero-quick-cred{color:var(--muted);align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;display:inline-flex}.cred-dot{color:var(--sage);font-size:.95rem;font-weight:800}.hero-visual{justify-self:end;width:100%;max-width:440px;position:relative}.hero-visual-glow{filter:blur(24px);z-index:0;background:radial-gradient(circle,#68a7ff33,#0000 70%);border-radius:28px;position:absolute;inset:-16px}.hero-terminal-card{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(160deg,#101928f5,#090e17fa);border:1px solid #68a7ff42;border-radius:16px;transition:transform .3s,border-color .3s;position:relative;overflow:hidden;box-shadow:0 16px 48px #00000085,inset 0 1px 1px #ffffff1f}.hero-terminal-card:hover{border-color:#68a7ff6b;transform:translateY(-3px)}.terminal-header{background:#090e17bf;border-bottom:1px solid #24344ba6;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.terminal-dots{gap:6px;display:flex}.dot{border-radius:50%;width:10px;height:10px}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27c93f}.terminal-title{color:var(--muted);letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem}.terminal-badge{color:var(--sage);letter-spacing:.06em;background:#51d4e324;border:1px solid #51d4e347;border-radius:5px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.65rem;font-weight:700}.terminal-code{color:#cbd7eb;margin:0;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.58;overflow-x:auto}.code-keyword{color:#ff7b72;font-weight:600}.code-var{color:#79c0ff}.code-prop{color:#d2a8ff}.code-str{color:#a5d6ff}.code-accent{color:var(--sage);font-weight:600}.terminal-footer{background:#0c131f80;border-top:1px solid #24344b80;align-items:center;padding:8px 14px;display:flex}.status-indicator{color:var(--sage);align-items:center;gap:7px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;display:flex}.status-mini-dot{background:var(--sage);width:6px;height:6px;box-shadow:0 0 8px var(--sage);border-radius:50%}.hero-floating-chip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2;background:#0e1624f0;border:1px solid #68a7ff59;border-radius:12px;align-items:center;gap:10px;padding:8px 14px;animation:5s ease-in-out infinite alternate float-chip;display:flex;position:absolute;box-shadow:0 10px 26px #00000080}@keyframes float-chip{0%{transform:translateY(0)}to{transform:translateY(-7px)}}.chip-top-right{top:-12px;right:-8px}.chip-bottom-left{animation-delay:-2.5s;bottom:-12px;left:-8px}.chip-icon{font-size:1.15rem}.chip-copy{flex-direction:column;display:flex}.chip-copy strong{color:var(--text);font-family:Outfit,sans-serif;font-size:.82rem;font-weight:700;line-height:1.2}.chip-copy span{color:var(--sage);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:600}.hero-metrics-strip{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#111b2bb8,#090e17cc);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-top:clamp(24px,3vh,36px);padding:16px 24px;display:flex;box-shadow:0 10px 30px #00000047}.metric-col{flex-direction:column;gap:2px;display:flex}.metric-val{color:var(--accent);letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:700}.metric-lbl{color:var(--muted);font-size:.78rem;font-weight:500}.metric-sep{background:#24344bb3;width:1px;height:32px}.social-links{flex-wrap:wrap;gap:14px;display:flex}.social-links a{color:var(--muted);border:1px solid var(--border);background:#121a20b3;border-radius:999px;align-items:center;gap:10px;padding:8px 16px;font-size:.88rem;font-weight:500;transition:color .2s,border-color .2s,transform .2s;display:inline-flex}.social-links a:hover{color:var(--text);border-color:var(--accent);transform:translateY(-2px)}.social-links img{object-fit:cover;background:#fff;border-radius:6px;width:20px;height:20px}.section{padding:110px 0}.section-alt{background:linear-gradient(180deg, var(--bg-alt), #0d13188c);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-heading{margin-bottom:48px}.section-heading.is-centered{text-align:center}.section-label{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;font-size:.75rem;font-weight:600;display:inline-block}.section-heading h2{font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,4vw,2.6rem);font-weight:650}.section-heading h2:after{content:"";background:linear-gradient(90deg, var(--accent), var(--sage));border-radius:999px;width:52px;height:3px;margin-top:14px;display:block}.section-heading.is-centered h2:after{margin-inline:auto}.about-layout{grid-template-columns:1.4fr .8fr;align-items:start;gap:40px;display:grid}.about-content p{color:var(--muted);font-size:1.2rem;line-height:1.9}.about-stats{gap:14px;display:grid}.stat-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:18px 20px;transition:transform .25s,border-color .25s}.stat-card:hover{border-color:var(--accent);transform:translateY(-4px)}.stat-card strong{color:var(--accent);font-family:Fraunces,Georgia,serif;font-size:1.7rem;display:block}.stat-card span{color:var(--muted);font-size:.9rem}.timeline{gap:22px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(var(--accent), var(--sage));width:2px;position:absolute;top:10px;bottom:10px;left:11px}.timeline-item{padding-left:42px;position:relative}.timeline-marker{background:var(--bg);border:3px solid var(--accent);width:16px;height:16px;box-shadow:0 0 0 6px var(--accent-soft);border-radius:50%;position:absolute;top:28px;left:4px}.experience-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;grid-template-columns:280px 1fr;gap:36px;padding:28px;transition:transform .25s,border-color .25s,box-shadow .25s;display:grid}.experience-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-4px)}.experience-duration{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:600}.experience-card h3{margin-top:8px;font-family:Fraunces,Georgia,serif;font-size:1.4rem}.experience-company{color:var(--sage);margin-top:6px;font-weight:500}.experience-card>p:last-child{color:var(--muted)}.education-card{border-left:3px solid var(--accent);background:var(--surface);border-radius:0 16px 16px 0;padding:32px;transition:transform .25s}.education-card:hover{transform:translate(6px)}.education-year{color:var(--accent);letter-spacing:.08em;font-weight:600}.education-card h3{margin:10px 0;font-family:Fraunces,Georgia,serif;font-size:1.45rem}.education-card p:last-child{color:var(--muted)}.certificate-card{border:1px solid var(--border);background:var(--surface);border-radius:22px;grid-template-columns:1.1fr .9fr;align-items:center;gap:32px;padding:24px;display:grid}.certificate-preview{border-radius:16px;width:100%;display:block;overflow:hidden}.certificate-preview img{object-fit:cover;aspect-ratio:4/3;width:100%;transition:transform .45s;display:block}.certificate-preview:hover img{transform:scale(1.04)}.certificate-copy h3{margin:8px 0 6px;font-family:Fraunces,Georgia,serif;font-size:1.6rem}.certificate-copy p{color:var(--muted)}.certificate-copy .secondary-btn{margin-top:22px}.lightbox{z-index:200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050709db;place-items:center;padding:24px;animation:.25s rise-in;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;width:min(920px,100%);max-height:90vh;box-shadow:var(--shadow);border-radius:12px}.stack-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.stack-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;height:100%;padding:26px;transition:border-color .2s,transform .2s,box-shadow .2s}.stack-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-5px)}.stack-card h3{text-transform:capitalize;color:var(--sage);margin-bottom:18px}.tech-list{flex-wrap:wrap;gap:10px;display:flex}.tech-pill,.tech-list span,.project-tech span{border:1px solid var(--border);background:var(--accent-soft);color:#e4edff;cursor:default;border-radius:999px;align-items:center;gap:7px;padding:7px 14px 7px 10px;font-size:.85rem;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.tech-pill:hover,.tech-list span:hover,.project-tech span:hover{border-color:var(--accent);background:#68a7ff33;transform:translateY(-2px)}.tech-icon{object-fit:contain;border-radius:2px;flex-shrink:0;width:17px;height:17px}.tech-pill img[alt=GitHub],.tech-pill img[alt=Express\.js]{filter:invert()brightness(1.5)}.tech-pill img[alt=AWS]{width:26px;height:17px}.projects-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.project-card{border:1px solid var(--border);background:linear-gradient(145deg,#121e30f5,#0c131ff5);border-radius:16px;flex-direction:column;height:100%;min-height:380px;padding:0;transition:transform .25s,border-color .25s,box-shadow .25s,background .25s;display:flex;position:relative;overflow:hidden}.project-card-image-box{background:#080d16;border-bottom:1px solid #29374b99;width:100%;height:200px;position:relative;overflow:hidden}.project-card-image-box img{object-fit:cover;object-position:center top;width:100%;height:100%;transition:transform .4s;display:block}.project-card:hover .project-card-image-box img{transform:scale(1.04)}.project-card-image-placeholder{background:radial-gradient(at 80% 20%,#51d4e329,#0000 50%),linear-gradient(135deg,#101c2e,#080d16 80%);border-bottom:1px solid #29374b99;flex-direction:column;justify-content:flex-end;width:100%;height:200px;padding:22px 24px;display:flex;position:relative}.project-card-placeholder-label{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.72rem;font-weight:700}.project-card-image-placeholder strong{color:#fff;margin-top:4px;font-family:Fraunces,Georgia,serif;font-size:1.45rem}.project-card-body{flex-direction:column;flex:1;padding:24px 26px 22px;display:flex}.project-card:before{content:"";background:linear-gradient(180deg, var(--accent), transparent 78%);opacity:0;width:2px;transition:opacity .25s;position:absolute;inset:0 auto 0 0}.project-card:hover{border-color:var(--accent);background:linear-gradient(145deg,#15243bfa,#0c131ffa);transform:translateY(-5px);box-shadow:0 20px 48px #00000042}.project-card:hover:before{opacity:1}.project-card-meta{align-items:center;gap:8px;margin-bottom:12px;display:flex}.project-card-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:#51d4e31a;border:1px solid #51d4e338;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.project-card h3{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-size:1.5rem}.project-card h3:after{content:"";background:var(--accent);border-radius:99px;width:28px;height:2px;margin-top:12px;display:block}.project-card>p{color:var(--muted);margin-top:14px;line-height:1.75}.project-tech{flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:22px;display:flex}.project-tech span{color:#d7e4fa;background:#8ba5cd24;border:0;padding:5px 11px;font-size:.8rem;font-weight:500}.project-card .project-tech span:hover{background:var(--accent-soft)}.project-details-btn{border-top:1px solid var(--border);width:100%;color:var(--accent);text-align:left;justify-content:space-between;align-items:center;margin-top:22px;padding-top:15px;font-size:.88rem;font-weight:600;transition:color .2s;display:flex}.project-details-btn span:last-child{font-size:1.1rem;transition:transform .2s}.project-card:hover .project-details-btn{color:#9bc5ff}.project-card:hover .project-details-btn span:last-child{transform:translate(4px)}.project-links{color:var(--accent);gap:20px;margin-top:22px;font-size:.9rem;display:flex}.project-modal-backdrop{z-index:300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#02050ad9;place-items:center;padding:24px;animation:.2s rise-in;display:grid;position:fixed;inset:0}.project-modal{scrollbar-width:thin;scrollbar-color:#29374b transparent;background:#0b111d;border:1px solid #29374b;border-radius:18px;width:min(840px,94vw);max-height:min(88vh,880px);padding:32px 30px;position:relative;overflow-y:auto;box-shadow:0 32px 100px #000000a6,0 0 0 1px #68a7ff1a}.project-modal::-webkit-scrollbar{width:6px}.project-modal::-webkit-scrollbar-track{background:0 0}.project-modal::-webkit-scrollbar-thumb{background:#29374b;border-radius:3px}.project-modal-close{z-index:10;width:36px;height:36px;color:var(--accent);cursor:pointer;background:#0e1522d9;border:1px solid #51d4e366;border-radius:50%;place-items:center;font-size:1.3rem;line-height:1;transition:all .2s;display:grid;position:absolute;top:18px;right:18px}.project-modal-close:hover{background:var(--accent-soft);color:#fff;border-color:var(--accent);transform:rotate(90deg)scale(1.05)}.project-modal-header{max-width:calc(100% - 48px);margin-bottom:20px}.project-modal-meta-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.project-modal-category-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:#51d4e31f;border:1px solid #51d4e340;border-radius:999px;padding:3px 11px;font-size:.72rem;font-weight:700;display:inline-block}.project-modal-role-badge{color:#bcd5ff;background:#68a7ff1f;border:1px solid #68a7ff38;border-radius:999px;padding:3px 12px;font-size:.75rem;font-weight:600;display:inline-block}.project-modal-header h3{color:#f0f4f9;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.25}.project-modal-preview{background:radial-gradient(at 85% 20%,#51d4e333,#0000 45%),linear-gradient(135deg,#111e30,#080d16 80%);border:1px solid #243347;border-radius:14px;flex-direction:column;justify-content:flex-end;min-height:180px;padding:26px 28px;display:flex;position:relative;overflow:hidden}.project-modal-banner-content{z-index:1;flex-direction:column;gap:6px;display:flex;position:relative}.project-modal-preview-label{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-size:.74rem;font-weight:700}.project-modal-banner-content strong{color:#fff;font-family:Fraunces,Georgia,serif;font-size:clamp(1.8rem,5vw,2.4rem);line-height:1.1}.project-modal-preview-sub{color:#9cb3ce;font-size:.88rem;font-weight:500}.project-modal-preview.has-image{aspect-ratio:3/2;background:#090e1a;border:1px solid #243347;justify-content:center;align-items:center;min-height:0;max-height:440px;padding:0;display:flex}.project-modal-preview.has-image:after{content:none}.project-modal-preview img{object-fit:contain;background:#090e1a;width:100%;height:100%;display:block}.project-modal-preview:after{content:"";border:1px solid #51d4e333;border-radius:50%;width:220px;height:220px;position:absolute;top:-48px;right:-24px;box-shadow:0 0 0 24px #51d4e308,0 0 0 48px #68a7ff05}.project-modal-section{border-top:1px solid #29374b80;margin-top:24px;padding-top:22px}.project-modal-section-title{color:#e4ecf7;letter-spacing:.02em;align-items:center;gap:8px;margin-bottom:12px;font-size:.95rem;font-weight:700;display:flex}.section-title-icon{color:var(--accent);font-size:1rem}.project-modal-overview-text{color:#c0d1e5;margin:0;font-size:.95rem;line-height:1.8}.modal-contributions-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:14px;display:grid}.modal-contribution-card{background:#0e1522b3;border:1px solid #29374bb3;border-radius:12px;flex-direction:column;padding:18px 20px;transition:border-color .2s,background .2s,transform .2s;display:flex}.modal-contribution-card:hover{background:#121c2ecc;border-color:#51d4e359;transform:translateY(-2px)}.modal-contribution-header{margin-bottom:12px}.modal-contribution-area-badge{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;background:#51d4e31f;border:1px solid #51d4e33d;border-radius:6px;margin-bottom:6px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-block}.modal-contribution-title{color:#fff;margin:0;font-size:.96rem;font-weight:700;line-height:1.35}.modal-contribution-points{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.modal-contribution-points li{color:#9cb3ce;padding-left:16px;font-size:.86rem;line-height:1.6;position:relative}.modal-contribution-points li:before{content:"▹";color:var(--accent);font-size:.82rem;position:absolute;top:0;left:0}.modal-highlights-box{background:linear-gradient(135deg,#51d4e312,#68a7ff0a);border:1px solid #51d4e33d;border-radius:12px;padding:18px 22px}.modal-highlights-heading{color:#51d4e3;align-items:center;gap:8px;margin:0 0 12px;font-size:.92rem;font-weight:700;display:flex}.modal-highlights-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.modal-highlights-list li{color:#d7e4fa;align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.55;display:flex}.modal-highlight-check{color:#51d4e3;background:#51d4e32e;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;margin-top:2px;font-size:.72rem;font-weight:800;display:grid}.project-modal-tech{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.project-modal-tech span{color:#d7e4fa;background:#8ba5cd1f;border:1px solid #8ba5cd2e;border-radius:999px;padding:6px 13px;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s}.project-modal-tech span:hover{color:#fff;background:#51d4e324;border-color:#51d4e359}.project-modal-links{border-top:1px solid #29374b80;flex-wrap:wrap;gap:12px;margin-top:26px;padding-top:20px;display:flex}.project-modal-links a{color:var(--accent);background:#51d4e314;border:1px solid #51d4e366;border-radius:999px;align-items:center;gap:6px;padding:9px 18px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.project-modal-links a:hover{border-color:var(--accent);background:var(--accent);color:#050b14}.other-project-image-box{aspect-ratio:3/2;background:#fff;height:auto}.other-project-image-box img{object-fit:contain;object-position:center}.project-card:hover .other-project-image-box img{transform:none}.other-project-github-btn{width:100%;color:var(--accent);border-top:1px solid #29374bb3;justify-content:space-between;align-items:center;padding-top:14px;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.other-project-repositories summary{cursor:pointer;list-style:none}.other-project-repositories summary::-webkit-details-marker{display:none}.other-project-repositories[open] summary span:last-child{transform:rotate(180deg)}.other-project-repositories{width:100%}.other-project-repository-options{gap:12px;padding-top:12px;display:flex}.other-project-repository-options a{border:1px solid var(--border);color:var(--muted);text-align:center;border-radius:8px;flex:1;padding:10px 12px;font-size:.85rem;text-decoration:none;transition:color .2s,border-color .2s,background .2s}.other-project-repository-options a:hover{border-color:var(--accent);background:var(--accent-soft);color:#fff}.other-project-github-btn:hover{color:#9bc5ff}.other-project-github-btn span:last-child{font-size:1.1rem;transition:transform .2s}.other-project-github-btn:hover span:last-child{transform:translateY(2px)}.learning-list{max-width:700px}.learning-item{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:18px 0;display:flex}.learning-item span{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.learning-item p{color:var(--muted)}.contact-section{text-align:left}.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(32px,7vw,88px);max-width:1040px;margin:0 auto;display:grid}.contact-info{padding-top:8px}.contact-content{max-width:480px}.contact-content>p{color:var(--muted);font-size:1.1rem}.email-link{color:var(--accent);margin-top:30px;font-family:Fraunces,Georgia,serif;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:650;transition:color .2s,letter-spacing .2s;display:inline-block}.email-link:hover{color:var(--sage);letter-spacing:.01em}.contact-links{justify-content:flex-start;margin-top:28px}.contact-form{border:1px solid var(--border);text-align:left;background:linear-gradient(145deg,#121e30f5,#0c131ff5);border-radius:16px;gap:18px;width:100%;max-width:640px;margin:0;padding:28px;display:grid}.contact-form-field{gap:8px;display:grid}.contact-form-field label{color:#d7e4fa;font-size:.9rem;font-weight:600}.contact-form-field input,.contact-form-field textarea{border:1px solid var(--border);color:#f0f4f9;width:100%;font:inherit;background:#050b14b8;border-radius:8px;outline:none;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.contact-form-field textarea{resize:vertical;min-height:150px}.contact-form-field input:focus,.contact-form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #51d4e31f}.contact-form-submit{border:1px solid var(--accent);background:var(--accent);color:#050b14;font:inherit;cursor:pointer;border-radius:999px;justify-self:start;padding:12px 22px;font-weight:700;transition:filter .2s,transform .2s}.contact-form-submit:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.contact-form-submit:disabled{cursor:wait;opacity:.7}.contact-form-status{min-height:1.5em;color:var(--muted);margin:0}.contact-form-status.success{color:#7de0b1}.contact-form-status.error{color:#ff9d9d}@media (width<=800px){.contact-layout{grid-template-columns:1fr}.contact-info{padding-top:0}}.footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:30px 0;font-size:.85rem}.process-section{position:relative;overflow:hidden}.process-header{margin-bottom:38px}.process-intro{max-width:680px;color:var(--muted);margin-top:-30px;margin-bottom:40px;font-size:1.05rem;line-height:1.7}.process-pipeline{position:relative}.process-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.process-card-wrapper{perspective:1200px;cursor:pointer;outline:none;height:420px}.process-card-wrapper:focus-visible .process-card-inner{box-shadow:0 0 0 3px var(--accent)}.process-card-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:20px;transition:transform .65s cubic-bezier(.2,.8,.2,1);position:relative}.process-card-wrapper:hover .process-card-inner,.process-card-wrapper.is-flipped .process-card-inner{transform:rotateY(180deg)}.process-card-face{backface-visibility:hidden;border:1px solid var(--border);background:linear-gradient(155deg,#111b2bf2,#090e17f5);border-radius:20px;flex-direction:column;width:100%;height:100%;padding:26px 22px;transition:border-color .25s,box-shadow .25s;display:flex;position:absolute;inset:0;box-shadow:0 16px 36px #00000052}.process-card-wrapper:hover .process-card-face{border-color:#68a7ff80;box-shadow:0 20px 48px #0000006b,0 0 20px #68a7ff1f}.process-card-front{position:relative;overflow:hidden}.process-card-corner-glow{pointer-events:none;background:radial-gradient(circle at 100% 0,#68a7ff40,#0000 70%);border-bottom-left-radius:40px;width:80px;height:80px;position:absolute;top:0;right:0}.process-top-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.process-step-pill{letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);border:1px solid #68a7ff4d;border-radius:999px;padding:3px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;font-weight:700}.process-tag-pill{text-transform:uppercase;letter-spacing:.06em;color:var(--sage);font-size:.72rem;font-weight:600}.process-icon-wrap{width:52px;height:52px;color:var(--accent);background:linear-gradient(135deg,#68a7ff2e,#51d4e31a);border:1px solid #68a7ff3d;border-radius:14px;place-items:center;margin:22px 0 16px;transition:transform .3s,border-color .3s;display:grid;box-shadow:0 8px 20px #00000040}.process-card-wrapper:hover .process-icon-wrap{border-color:var(--sage);color:var(--sage);transform:scale(1.08)}.process-phase-title{color:var(--text);margin-bottom:12px;font-family:Fraunces,Georgia,serif;font-size:1.25rem;font-weight:650;line-height:1.35}.process-phase-summary{color:var(--muted);margin-bottom:auto;font-size:.88rem;line-height:1.65}.process-flip-hint{color:var(--accent);letter-spacing:.02em;border-top:1px solid #24344ba6;justify-content:space-between;align-items:center;margin-top:20px;padding-top:14px;font-size:.8rem;font-weight:600;display:flex}.process-flip-hint .flip-arrow{font-size:1.05rem;transition:transform .3s}.process-card-wrapper:hover .process-flip-hint .flip-arrow{transform:rotate(90deg)}.process-card-back{background:linear-gradient(155deg,#131f32fa,#0b121dfa);border-color:#68a7ff66;transform:rotateY(180deg)}.process-back-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--sage);background:#51d4e31f;border:1px solid #51d4e340;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:600}.process-back-title{color:var(--text);margin:14px 0 16px;font-family:Fraunces,Georgia,serif;font-size:1.15rem}.process-deliverables-list{flex-direction:column;flex:1;gap:12px;margin:0;padding:0;list-style:none;display:flex}.process-deliverables-list li{color:var(--text);align-items:flex-start;gap:10px;font-size:.84rem;line-height:1.45;display:flex}.check-bullet{color:var(--sage);flex-shrink:0;font-size:.9rem;font-weight:800;line-height:1.2}.process-flip-hint.is-back{color:var(--muted)}.testimonials-section{position:relative;overflow:hidden}.testimonials-header{margin-bottom:38px}.testimonials-intro{max-width:680px;color:var(--muted);margin-top:-30px;margin-bottom:40px;font-size:1.05rem;line-height:1.7}.testimonials-card-container{border:1px solid var(--border);background:linear-gradient(160deg,#111b2bf5,#090f19f5);border-radius:26px;max-width:920px;margin:0 auto;padding:42px 48px;position:relative;box-shadow:0 32px 84px #00000070}.testimonials-card-container:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), var(--sage), transparent);height:2px;position:absolute;top:0;left:10%;right:10%}.testimonials-top-bar{border-bottom:1px solid #24344bbf;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;padding-bottom:22px;display:flex}.testimonials-counter{align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex}.testimonials-counter .current-num{color:var(--accent);font-size:1.2rem;font-weight:700}.testimonials-counter .divider{color:#9aabc466}.testimonials-counter .total-num{color:var(--muted);font-size:.95rem}.highlight-pill{color:var(--sage);letter-spacing:.03em;background:#51d4e31f;border:1px solid #51d4e347;border-radius:999px;margin-left:14px;padding:3px 12px;font-family:Outfit,sans-serif;font-size:.78rem;font-weight:600}.testimonials-arrows{gap:10px;display:flex}.arrow-btn{border:1px solid var(--border);width:38px;height:38px;color:var(--text);cursor:pointer;background:#111b2bb3;border-radius:50%;place-items:center;font-size:1.15rem;transition:all .2s;display:grid}.arrow-btn:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:translateY(-2px)}.testimonial-quote-box{transition:opacity .2s,transform .2s;position:relative}.testimonial-quote-box.is-transitioning{opacity:.25;transform:translateY(6px)}.quote-mark{color:#68a7ff29;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Fraunces,Georgia,serif;font-size:5.5rem;line-height:1;position:absolute;top:-28px;left:-8px}.testimonial-quote-text{z-index:1;margin:0;position:relative}.testimonial-quote-text p{color:var(--text);letter-spacing:-.01em;-webkit-line-clamp:5;-webkit-box-orient:vertical;font-family:Fraunces,Georgia,serif;font-size:clamp(1.15rem,2.2vw,1.45rem);font-style:italic;font-weight:500;line-height:1.62;display:-webkit-box;overflow:hidden}.read-more-btn{color:var(--accent);cursor:pointer;text-underline-offset:4px;background:0 0;border:none;margin-top:14px;padding:0;font-size:.85rem;font-weight:600;text-decoration:underline;transition:color .2s;display:inline-block}.read-more-btn:hover{color:var(--sage)}.testimonial-author-block{border-top:1px solid #24344ba6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:24px;display:flex}.testimonial-avatar{background:linear-gradient(135deg, var(--accent), var(--sage));color:#07111f;border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:.95rem;font-weight:750;display:grid;box-shadow:0 4px 14px #68a7ff47}.testimonial-author-details{flex:1;min-width:220px}.author-name{color:var(--text);margin-bottom:2px;font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:650}.author-title{color:var(--muted);font-size:.85rem;line-height:1.45}.author-link{border:1px solid var(--border);background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:8px 16px;font-size:.84rem;font-weight:600;transition:all .2s;display:inline-flex}.author-link:hover{border-color:var(--accent);background:var(--accent);color:#07111f;transform:translateY(-2px)}.testimonials-selector-tabs{border-top:1px solid #24344ba6;flex-wrap:wrap;gap:10px;margin-top:32px;padding-top:24px;display:flex}.testimonial-tab-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#111b2b99;border-radius:999px;align-items:center;gap:9px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .22s;display:inline-flex}.testimonial-tab-btn:hover{border-color:var(--accent);color:var(--text);background:#68a7ff1a}.testimonial-tab-btn.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:0 0 18px #68a7ff38}.tab-avatar-badge{width:22px;height:22px;color:var(--accent);background:#68a7ff33;border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;transition:all .2s;display:grid}.testimonial-tab-btn.is-active .tab-avatar-badge{background:var(--accent);color:#07111f}.testimonial-modal-backdrop{z-index:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#03060cdb;place-items:center;padding:24px;animation:.2s rise-in;display:grid;position:fixed;inset:0}.testimonial-modal-content{background:linear-gradient(160deg,#101a2b,#090e18);border:1px solid #283e5c;border-radius:24px;width:min(640px,100%);max-height:85vh;padding:38px 36px 32px;position:relative;overflow-y:auto;box-shadow:0 32px 90px #000000b3}.testimonial-modal-close{border:1px solid var(--border);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:1.1rem;transition:all .2s;display:grid;position:absolute;top:18px;right:18px}.testimonial-modal-close:hover{border-color:var(--accent);color:var(--text);transform:rotate(90deg)}.testimonial-modal-header{align-items:center;gap:16px;margin-bottom:16px;display:flex}.testimonial-modal-header h3{color:var(--text);margin-bottom:2px;font-family:Outfit,sans-serif;font-size:1.3rem;font-weight:650}.testimonial-modal-role{color:var(--muted);font-size:.84rem;line-height:1.45}.testimonial-modal-badge{color:var(--sage);background:#51d4e31f;border:1px solid #51d4e347;border-radius:999px;margin-bottom:22px;padding:3px 12px;font-size:.78rem;font-weight:600;display:inline-block}.testimonial-modal-quote-icon{color:#68a7ff40;margin-bottom:12px;font-family:Fraunces,Georgia,serif;font-size:3.5rem;line-height:.8}.testimonial-modal-text{color:var(--text);white-space:pre-line;margin-bottom:28px;font-size:1rem;font-style:italic;line-height:1.85}.testimonial-modal-footer{border-top:1px solid #24344bb3;justify-content:flex-end;padding-top:20px;display:flex}.testimonial-linkedin-btn{background:var(--accent);color:#07111f;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:650;transition:all .2s;display:inline-flex}.testimonial-linkedin-btn:hover{background:var(--sage);transform:translateY(-2px);box-shadow:0 8px 22px #51d4e352}.preloader-overlay{z-index:9999;background:#080c14;justify-content:center;align-items:center;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1),filter .65s;display:flex;position:fixed;inset:0}.preloader-overlay.is-exiting{opacity:0;pointer-events:none;filter:blur(10px);transform:scale(1.05)}.preloader-bg-glow{pointer-events:none;background:radial-gradient(circle,#68a7ff2e,#51d4e314,#0000 70%);border-radius:50%;width:460px;height:460px;animation:3s ease-in-out infinite alternate preloader-pulse;position:absolute}.preloader-container{z-index:1;text-align:center;flex-direction:column;align-items:center;width:90%;max-width:440px;display:flex;position:relative}.preloader-emblem{place-items:center;width:120px;height:120px;margin-bottom:24px;display:grid;position:relative}.preloader-ring{border-radius:50%;position:absolute}.preloader-ring-outer{border:2px dashed #68a7ff59;animation:12s linear infinite spin-cw;inset:0}.preloader-ring-inner{border:2px solid #0000;border-top-color:var(--sage);border-right-color:var(--accent);animation:5s linear infinite spin-ccw;inset:10px}.preloader-ring-pulse{border:1px solid #68a7ff26;animation:2s ease-out infinite ring-pulse;inset:-12px}.preloader-monogram{background:linear-gradient(145deg,#121c2d,#0b111c);border:1px solid #68a7ff66;border-radius:20px;justify-content:center;align-items:center;gap:2px;width:76px;height:76px;display:flex;box-shadow:0 10px 30px #00000080,inset 0 1px 1px #ffffff26}.monogram-text{color:#fff;background:linear-gradient(135deg, #fff 40%, var(--accent));-webkit-text-fill-color:transparent;letter-spacing:-.04em;-webkit-background-clip:text;font-family:Fraunces,Georgia,serif;font-size:2rem;font-weight:700}.monogram-dot{background:var(--sage);width:7px;height:7px;box-shadow:0 0 10px var(--sage);border-radius:50%;margin-top:10px}.preloader-name{color:var(--text);letter-spacing:-.02em;margin-bottom:4px;font-family:Fraunces,Georgia,serif;font-size:1.6rem;font-weight:650}.preloader-role{color:var(--sage);letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px;font-family:Outfit,sans-serif;font-size:.88rem;font-weight:600}.preloader-progress-wrap{width:100%;margin-bottom:20px}.preloader-progress-bar{background:#24344b99;border-radius:999px;width:100%;height:5px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.preloader-progress-fill{background:linear-gradient(90deg, var(--accent), var(--sage));border-radius:999px;height:100%;transition:width 80ms ease-out}.preloader-progress-glow{background:var(--sage);filter:blur(3px);border-radius:50%;width:12px;height:11px;transition:left 80ms ease-out;position:absolute;top:-3px;transform:translate(-50%)}.preloader-meta{justify-content:space-between;align-items:center;margin-top:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;display:flex}.preloader-status{color:var(--muted);letter-spacing:.02em}.preloader-percent{color:var(--accent);font-weight:700}.preloader-tags{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.preloader-tag{color:#9aabc480;border:1px solid #24344b99;border-radius:999px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;transition:all .25s}.preloader-tag.is-active{border-color:var(--accent);color:var(--text);background:var(--accent-soft);box-shadow:0 0 12px #68a7ff40}@keyframes spin-cw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-ccw{0%{transform:rotate(360deg)}to{transform:rotate(-360deg)}}@keyframes ring-pulse{0%{opacity:.6;transform:scale(.95)}to{opacity:0;transform:scale(1.2)}}@keyframes preloader-pulse{0%{opacity:.5;transform:scale(.9)}to{opacity:.9;transform:scale(1.15)}}@media (width<=1040px){.process-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=980px){.about-layout,.certificate-card,.experience-card{grid-template-columns:1fr}}@media (width<=900px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}.hero-visual{max-width:100%;margin-top:10px}.hero-metrics-strip{grid-template-columns:repeat(2,1fr);gap:24px;padding:24px 28px;display:grid}.metric-sep{display:none}.testimonials-card-container{padding:32px 28px}}@media (width<=800px){nav{display:none}.stack-grid,.projects-grid{grid-template-columns:1fr}}@media (width<=620px){.process-grid{grid-template-columns:1fr}.process-card-wrapper{height:380px}.hero-metrics-strip{text-align:center;grid-template-columns:1fr;gap:18px;padding:20px}.metric-col{align-items:center}}@media (width<=500px){.section{padding:80px 0}.hero{min-height:calc(100vh - 76px);padding:36px 0 44px}.hero-name{font-size:clamp(2.8rem,11vw,3.8rem)}.hero-floating-chip{display:none}.hero-actions{flex-direction:column}.primary-btn,.secondary-btn{text-align:center;width:100%}.timeline:before,.timeline-marker{display:none}.timeline-item{padding-left:0}.project-modal-backdrop,.testimonial-modal-backdrop{padding:14px}.project-modal,.testimonial-modal-content{padding:24px 18px}.project-modal-preview{min-height:150px;padding:20px 18px}.modal-contributions-grid{grid-template-columns:1fr}.testimonials-card-container{padding:24px 18px}.testimonial-author-block{flex-direction:column;align-items:flex-start}.author-link{justify-content:center;width:100%}.highlight-pill{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
