.card-stack{width:100%;--stack-accent: #4ade80}.card-stack-stage{position:relative;width:100%;perspective:1200px;outline:none}.card-stack-stage:focus-visible{outline:1px solid rgba(74,222,128,.7);outline-offset:4px}.card-stack-wash{position:absolute;top:15%;right:14%;bottom:4%;left:14%;pointer-events:none;background:radial-gradient(ellipse,rgba(34,197,94,.15),rgba(56,189,248,.07) 38%,transparent 70%);filter:blur(35px)}.card-stack-plane{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d}.card-stack-card{position:absolute;left:50%;bottom:16px;overflow:hidden;border:1px solid rgba(203,213,225,.25);border-radius:22px;background:#071019;box-shadow:0 28px 70px #00000085;transform-style:preserve-3d;will-change:transform;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;transition-property:transform,opacity,filter,box-shadow;transition-timing-function:cubic-bezier(.22,.8,.25,1)}.card-stack-card.is-active{cursor:grab;border-color:#4ade809e;box-shadow:0 30px 80px #0000009e,0 0 32px #22c55e1c}.card-stack-card.is-active:active{cursor:grabbing}.card-stack-default-card{display:flex;height:100%;flex-direction:column;justify-content:flex-end;padding:1.5rem;color:#f8fafc;background:linear-gradient(150deg,#0f172a,#052e2b)}.card-stack-default-card strong{font-size:1.25rem}.card-stack-default-card p{margin:.5rem 0 0;color:#cbd5e1}.card-stack-controls{position:relative;display:flex;min-height:42px;align-items:center;justify-content:center;gap:1rem;margin-top:.35rem}.card-stack-arrow{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(203,213,225,.25);border-radius:50%;color:#e2e8f0;background:#0f172ab3;cursor:pointer;font-size:1.35rem;line-height:1;transition:color .18s ease,border-color .18s ease,background .18s ease}.card-stack-arrow:hover{color:#fff;border-color:#4ade8099;background:#22c55e29}.card-stack-dots{display:flex;align-items:center;gap:.55rem}.card-stack-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#e2e8f052;cursor:pointer;transition:width .18s ease,border-radius .18s ease,background .18s ease}.card-stack-dot:hover{background:#e2e8f0b3}.card-stack-dot.is-active{width:22px;border-radius:99px;background:var(--stack-accent)}.card-stack-status{position:absolute;right:0;color:#cbd5e1b3;font-size:.78rem}.project-stack-card{display:flex;height:100%;flex-direction:column;color:#f8fafc;background:linear-gradient(145deg,#0b111b,#08130f)}.project-stack-art{position:relative;flex:0 0 48%;min-height:0;overflow:hidden;border-bottom:1px solid rgba(203,213,225,.14)}.project-stack-art .project-visual{width:100%;height:100%;padding:.85rem}.project-stack-art .project-window,.project-stack-art .project-phone,.project-stack-art .project-board{border-radius:13px}.project-stack-copy{display:flex;min-height:0;flex:1;flex-direction:column;padding:.8rem 1.15rem .9rem}.project-stack-copy .project-tag{margin-bottom:.35rem;padding:.25rem .55rem;font-size:.62rem}.project-stack-copy h3{margin:0 0 .35rem;color:#fff;font-size:1.16rem}.project-stack-copy p{display:-webkit-box;overflow:hidden;margin:0;color:#cbd5e1;font-size:.82rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-stack-copy .project-meta{gap:.4rem;padding-top:.45rem}.project-stack-copy .project-meta span{padding:.18rem .48rem;font-size:.67rem}@media(max-width:600px){.card-stack-stage{height:max(340px,380px)!important}.card-stack-card{bottom:12px;border-radius:18px}.project-stack-copy{padding:.7rem .85rem .8rem}.project-stack-copy h3{font-size:1rem}.project-stack-copy p{font-size:.75rem}.card-stack-status{display:none}}@media(prefers-reduced-motion:reduce){.card-stack-card,.card-stack-arrow,.card-stack-dot{transition-duration:.01ms!important}}:root{color-scheme:dark;font-family:Poppins,system-ui,sans-serif;background:#020617}*{box-sizing:border-box}html,body{margin:0;min-height:100%;scrollbar-width:none;-ms-overflow-style:none}body{overflow-x:hidden;background:radial-gradient(circle at top,rgba(148,163,184,.08),transparent 38%),linear-gradient(180deg,#020617,#03070f);scroll-behavior:smooth}body.no-scroll{overflow:hidden!important;height:100vh!important}body::-webkit-scrollbar{width:0;height:0}.page-shell{position:relative;min-height:100vh;overflow:hidden;color:#e2e8f0}.home-section{position:relative}.top-nav{position:absolute;top:1.3rem;left:1.3rem;z-index:10;display:flex;align-items:flex-start;gap:.45rem;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#e2e8f0bf}.vertical-nav{flex-direction:column}.vertical-nav a,.vertical-nav span{display:inline-flex;align-items:center}.vertical-nav span{margin-left:.2rem;margin-right:.1rem;color:#e2e8f073}.vertical-nav a{display:inline-block;opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease,color .2s ease}.vertical-nav a.visible{opacity:1;transform:translateY(0)}@media(max-width:720px){.top-nav{gap:.35rem;font-size:.75rem;top:1rem;left:1rem}}.top-nav a{color:#e2e8f0d9;text-decoration:none;transition:color .2s ease}.top-nav a:hover{color:#fff}.top-nav span{color:#e2e8f073}.top-nav .ellipsis{letter-spacing:.2em}.background-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.6}.grid-line{stroke:#94a3b8;stroke-width:.5;opacity:0;stroke-dasharray:5 5;stroke-dashoffset:1000;animation:grid-draw 2s ease-out forwards}.detail-dot{fill:#cbd5e1;opacity:0;animation:pulse-glow 3s ease-in-out infinite}.corner{position:absolute;width:40px;height:40px;border:1px solid rgba(203,213,225,.2);opacity:0;animation:word-appear 1s ease-out forwards}.corner-tl{top:1rem;left:1rem;animation-delay:4s}.corner-tr{top:1rem;right:1rem;animation-delay:4.2s}.corner-bl{bottom:1rem;left:1rem;animation-delay:4.4s}.corner-br{bottom:1rem;right:1rem;animation-delay:4.6s}.corner-dot{position:absolute;width:.5rem;height:.5rem;top:0;left:0;border-radius:9999px;background:#e2e8f04d}.floating{position:absolute;width:3px;height:3px;background:#cbd5e1;border-radius:50%;opacity:0;animation:float 4s ease-in-out infinite;animation-play-state:paused}.content{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4rem 1.5rem;text-align:center}.subtitle{display:inline-flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;letter-spacing:.35em;text-transform:uppercase;color:#cbd5e1d1;margin:0}.title{font-size:clamp(3rem,5vw,5rem);margin:1rem 0 .75rem;line-height:.98;font-weight:200}.subheading{margin:1.2rem auto 0;color:#cbd5e1;font-size:clamp(1.1rem,1.8vw,1.45rem);font-weight:500;max-width:42rem}.description{margin:1rem auto 0;color:#a5b4fc;font-size:clamp(.95rem,1.6vw,1.15rem);line-height:1.8;max-width:40rem}.about-section{max-width:84rem;margin:0 auto;padding:5rem 1.5rem 6rem}.section-title{font-size:clamp(2rem,4vw,3rem);margin:0 0 1.2rem;letter-spacing:-.04em;color:#f8fafc}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:2rem;align-items:center}.about-text{display:flex;flex-direction:column;gap:1.5rem}.about-description{margin:0;color:#cbd5e1;font-size:1rem;line-height:1.9;max-width:42rem}.about-features{margin:0;padding:0;list-style:none;display:grid;gap:.85rem}.about-features li{color:#d1d5db;font-size:.98rem;line-height:1.75;padding-left:1.15rem;position:relative}.about-features li:before{content:"•";position:absolute;left:0;top:.15rem;color:#60a5fa}.about-frame{position:relative;min-height:320px;padding:1.75rem;border-radius:32px;background:transparent;border:none;box-shadow:none;overflow:hidden}.about-frame:before{display:none}.robot-follow{position:absolute;width:7rem;height:9rem;left:1.5rem;top:1.5rem;transform:translate(0);transition:transform .12s ease-out;pointer-events:none;z-index:3}.robot-head{position:relative;width:100%;height:4rem;background:linear-gradient(180deg,#dbeafef5,#94a3b833);border:1px solid rgba(255,255,255,.28);border-radius:1.2rem;box-shadow:inset 0 2px 6px #ffffff4d,0 12px 35px #0e3d721f}.robot-eye{position:absolute;top:50%;width:.85rem;height:.85rem;border-radius:50%;background:#0f172a;box-shadow:inset 0 0 .25rem #fff9;transform:translateY(-50%)}.eye-left{left:1.1rem}.eye-right{right:1.1rem}.robot-body{position:relative;margin-top:.8rem;width:100%;height:4.5rem;background:#0f172aeb;border:1px solid rgba(148,163,184,.18);border-radius:1.5rem;box-shadow:inset 0 1px #ffffff0f,0 18px 40px #00000024}.robot-chest{position:absolute;left:50%;top:1.1rem;width:3.4rem;height:2rem;border-radius:1rem;background:#3b82f626;transform:translate(-50%);box-shadow:inset 0 0 6px #60a5fa80}.robot-button{position:absolute;left:50%;bottom:1rem;width:1rem;height:1rem;border-radius:50%;background:linear-gradient(180deg,#7dd3fc,#38bdf8);transform:translate(-50%);box-shadow:0 0 15px #38bdf88c}.about-card{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:2rem;border-radius:28px;background:#ffffff0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08)}.about-card-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:#93c5fd}.about-card h3{margin:0;font-size:clamp(1.85rem,3.2vw,2.4rem);color:#f8fafc}.about-card p{margin:0;color:#cbd5e1;line-height:1.8}.about-frame:hover .robot-follow{opacity:1}@media(max-width:900px){.about-grid{grid-template-columns:1fr}.about-visual{margin-top:2rem}}.about-visual{display:flex;justify-content:center;align-items:center}.about-image{width:100%;max-width:28rem;border-radius:0;border:none;box-shadow:none;background:transparent;transition:transform .25s ease}.about-image:hover{transform:translateY(-6px)}@media(max-width:640px){.about-section{padding:3.5rem 1.25rem 4rem}.about-card{padding:1.5rem}}.lead{max-width:40rem;margin:0 auto;font-size:clamp(1rem,2vw,1.5rem);line-height:1.5;color:#cbd5e1}.divider{width:6rem;height:1px;margin:1.25rem auto;background:linear-gradient(90deg,transparent,#cbd5e1,transparent);opacity:.35}.skills-section{position:relative;max-width:84rem;margin:0 auto;padding:5rem 1.5rem 6rem;background:#000;overflow:hidden;border-radius:32px;box-shadow:0 40px 120px #00000073}.education-section{position:relative;max-width:84rem;margin:0 auto 2rem;padding:3.5rem 1.5rem 4rem;background:#000;overflow:hidden;border-radius:24px;box-shadow:0 30px 90px #0006}.education-grid{display:grid;grid-template-columns:repeat(3,minmax(16rem,1fr));gap:1.6rem;align-items:stretch}.education-card{position:relative;width:100%;min-height:190px;padding:1.8rem 1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 56px #00000038;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.education-card:hover{transform:translateY(-8px);border-color:#4d9cff38;box-shadow:0 28px 80px #4d9cff14}.education-card .skill-icon{width:4.2rem;height:4.2rem;border-radius:14px}.education-level{margin:0;color:#93c5fd;font-weight:700;font-size:.92rem}.education-institution{margin:.25rem 0 0;color:#fff;font-size:1rem;font-weight:700;text-align:center}.education-detail{margin:0;color:#cbd5e1;font-size:.95rem;text-align:center}@media(max-width:1024px){.education-grid{grid-template-columns:repeat(2,minmax(14rem,1fr))}}@media(max-width:560px){.education-grid{grid-template-columns:1fr}.education-section{padding:2.25rem 1rem 3rem}}.skills-header{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:3rem}.skills-header h2{position:relative;font-size:clamp(2.2rem,4vw,3rem);margin:0;font-weight:700;color:#fff;letter-spacing:-.04em}.underline-wrap{position:relative;width:12rem;height:.5rem}.underline-line{position:absolute;bottom:0;left:50%;transform:translate(-50%);border-radius:999px;height:4px}.neon-green{width:100%;background:#2bff96;transform:translate(-50%) rotate(-1.5deg)}.electric-blue{width:70%;background:#4d9cff;transform:translate(-50%) rotate(1.5deg);bottom:-8px}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(16rem,1fr));gap:1.6rem;justify-items:center}.skill-card{position:relative;width:100%;min-height:210px;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;border-radius:28px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 60px #0003;overflow:hidden;transform:translateY(18px);opacity:0;transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}.skill-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff12,#fff0 55%);pointer-events:none}.skill-card:hover{transform:translateY(-14px) scale(1.035);border-color:#2bff9673;box-shadow:0 34px 110px #2bff9624,0 6px 24px #00000073}.skill-card:focus-visible{outline:none;transform:translateY(-14px) scale(1.035);border-color:#6366f180;box-shadow:0 34px 110px #6366f11f,0 6px 24px #00000073}.skill-card:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%,-10%);width:60%;height:26%;background:radial-gradient(circle at 50% 20%,rgba(99,102,241,.18),rgba(99,102,241,.06) 30%,transparent 60%);filter:blur(18px);opacity:0;transition:opacity .28s ease,transform .28s ease;pointer-events:none}.skill-card:hover:after,.skill-card:focus-visible:after{opacity:1;transform:translate(-50%)}.skill-icon{width:4.8rem;height:4.8rem;display:grid;place-items:center;border-radius:18px;background:#ffffff14;color:#fff;box-shadow:inset 0 0 0 1px #ffffff14}.skill-icon i{font-size:2.2rem}.skill-name{margin:0;color:#fff;font-size:1rem;font-weight:700;letter-spacing:.02em;text-align:center}.skills-glow{position:absolute;width:260px;height:260px;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(45,255,150,.18),transparent 55%);filter:blur(32px);opacity:0;transition:opacity .24s ease,transform .24s ease}.skill-card:nth-child(1){animation-delay:.08s}.skill-card:nth-child(2){animation-delay:.14s}.skill-card:nth-child(3){animation-delay:.2s}.skill-card:nth-child(4){animation-delay:.26s}.skill-card:nth-child(5){animation-delay:.32s}.skill-card:nth-child(6){animation-delay:.38s}.skill-card:nth-child(7){animation-delay:.44s}.skill-card:nth-child(8){animation-delay:.5s}.skill-card:nth-child(9){animation-delay:.56s}.skills-section.visible .skill-card{animation:fade-up .75s ease-out forwards}@media(prefers-reduced-motion:reduce){.skill-card,.skill-card:hover,.skill-card:focus-visible,.skill-card:after{transition:none!important;transform:none!important;box-shadow:none!important}}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.skills-grid{grid-template-columns:repeat(3,minmax(14rem,1fr))}}@media(max-width:780px){.skills-section{padding:4.25rem 1.25rem 5rem}.skills-grid{grid-template-columns:repeat(2,minmax(14rem,1fr))}}@media(max-width:560px){.skills-section{padding:3.5rem 1rem 4rem}.skills-grid{grid-template-columns:1fr}}.projects-section{position:relative;max-width:84rem;margin:0 auto;padding:5rem 1.5rem 6rem;background:#000;border-radius:32px;box-shadow:0 40px 120px #00000073}.projects-header{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:3rem}.projects-header h2{position:relative;font-size:clamp(2.2rem,4vw,3rem);margin:0;font-weight:700;color:#fff;letter-spacing:-.04em}.projects-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:720px){.projects-grid{grid-template-columns:repeat(2,minmax(14rem,1fr))}}@media(min-width:1024px){.projects-grid{grid-template-columns:repeat(3,minmax(14rem,1fr))}}.project-card{position:relative;width:100%;height:280px;border-radius:16px;overflow:hidden;background-color:transparent;box-shadow:0 18px 50px #00000073;cursor:pointer;border:6px solid transparent;transition:transform .36s cubic-bezier(.2,.9,.2,1),box-shadow .36s ease,border-color .36s ease}.project-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 30px 90px #0000007a,0 6px 24px #00000047}.project-bg{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.project-card:hover .project-bg{transform:scale(1.08)}.project-card.neon-green:hover{transform:none;box-shadow:0 18px 50px #00000073}.project-card.neon-green:hover .project-bg{transform:none}.project-card.neon-green:hover .project-overlay{opacity:0;transform:translateY(20px)}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease;padding:1.5rem;text-align:center}.project-card:hover .project-overlay{opacity:1;transform:translateY(0)}.project-title{color:#fff;font-size:1.6rem;font-weight:700;margin-bottom:14px;letter-spacing:.5px;font-family:system-ui,-apple-system,sans-serif}.project-logos{display:flex;gap:16px}.tech-icon{width:32px;height:32px;transition:transform .2s ease}.tech-icon:hover{transform:scale(1.2)}.project-card.neon-green{border-color:#22c55e;box-shadow:0 26px 80px #22c55e0f}.project-card.neon-blue{border-color:#6366f1;box-shadow:0 26px 80px #6366f10f}.project-card.neon-purple{border-color:#c084fc;box-shadow:0 26px 80px #c084fc0f}.project-card.neon-blue:hover{box-shadow:0 28px 80px #6366f12e}.project-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin:0 auto 2.5rem}.project-filter-btn{border:1px solid rgba(148,163,184,.32);background:#0f172ab8;color:#e2e8f0;padding:.7rem 1.1rem;border-radius:999px;cursor:pointer;font-weight:600;letter-spacing:.04em;transition:all .25s ease}.project-filter-btn:hover,.project-filter-btn.is-active{background:linear-gradient(135deg,#22c55e38,#38bdf838);border-color:#34d399b3;color:#fff;box-shadow:0 0 24px #22c55e2e}.project-showcase-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:720px){.project-showcase-grid{grid-template-columns:repeat(2,minmax(16rem,1fr))}}@media(min-width:1024px){.project-showcase-grid{grid-template-columns:repeat(3,minmax(16rem,1fr))}}.project-item{position:relative;display:flex;flex-direction:column;min-height:360px;border-radius:24px;overflow:hidden;background:#0f172acc;border:1px solid rgba(148,163,184,.2);box-shadow:0 18px 50px #0f172a61;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.project-item:hover{transform:translateY(-6px);border-color:#60a5fa80;box-shadow:0 26px 70px #2563eb2e}.project-item.is-hidden{display:none}.project-visual{position:relative;height:180px;padding:1.1rem;background:linear-gradient(135deg,#0f172acc,#0f766e38)}.project-visual-one{background:linear-gradient(135deg,#111827e6,#22c55e33)}.project-visual-two{background:linear-gradient(135deg,#111827e6,#3b82f638)}.project-visual-three{background:linear-gradient(135deg,#111827e6,#a855f733)}.project-window,.project-phone,.project-board{position:relative;width:100%;height:100%;border-radius:18px;border:1px solid rgba(148,163,184,.3);background:#0f172ac7;overflow:hidden}.window-dot{position:absolute;top:.9rem;width:.6rem;height:.6rem;border-radius:50%;display:block}.window-dot.red{left:.9rem;background:#f87171}.window-dot.yellow{left:1.7rem;background:#fbbf24}.window-dot.green{left:2.5rem;background:#34d399}.window-body{position:absolute;top:2.4rem;right:1rem;bottom:1rem;left:1rem;display:grid;grid-template-columns:1fr .9fr;gap:.8rem}.window-card{border-radius:12px;background:linear-gradient(135deg,#3b82f640,#10b9811f);border:1px solid rgba(148,163,184,.18)}.window-card.short{grid-column:1 / span 2;height:54px}.window-card.medium{height:80px}.window-card.tall{height:100%}.project-phone{width:150px;height:100%;margin:0 auto;border-radius:24px;padding:.8rem .7rem .7rem;background:#020617e6}.phone-notch{width:42%;height:.75rem;border-radius:999px;background:#0f172ae6;margin:0 auto .8rem}.phone-screen{width:100%;height:calc(100% - 1.7rem);border-radius:16px;background:linear-gradient(180deg,#1e293bf2,#0f172acc);display:flex;flex-direction:column;justify-content:center;padding:.9rem;gap:.7rem}.stat-card{width:62%;height:2.6rem;border-radius:10px;background:linear-gradient(135deg,#60a5fa7a,#34d39947)}.stat-line{height:.6rem;border-radius:999px;background:#94a3b8b3}.stat-line.long{width:100%}.stat-line.medium{width:80%}.stat-line.short{width:62%}.project-board{display:grid;grid-template-columns:1.2fr .8fr;gap:.8rem;padding:1rem}.board-panel{border-radius:14px;background:linear-gradient(135deg,#a855f752,#60a5fa24);border:1px solid rgba(148,163,184,.18)}.board-panel.large{grid-row:1 / span 2}.board-panel.small{height:100px}.board-panel.medium{height:120px}.project-content{padding:1.2rem 1.1rem 1.4rem;display:flex;flex:1;flex-direction:column}.project-tag{display:inline-flex;width:fit-content;padding:.45rem .7rem;border-radius:999px;background:#38bdf81f;border:1px solid rgba(56,189,248,.2);color:#bae6fd;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}.project-content h3{margin:0 0 .55rem;font-size:1.42rem;color:#fff}.project-content p{margin:0;color:#cbd5e1;line-height:1.7;font-size:.97rem}.project-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1rem}.project-meta span{background:#94a3b81a;border:1px solid rgba(148,163,184,.18);border-radius:999px;padding:.35rem .65rem;color:#e2e8f0;font-size:.76rem}.contact-section{position:relative;max-width:84rem;margin:0 auto;padding:5rem 1.5rem 6rem;background:#000;border-radius:32px;box-shadow:0 40px 120px #00000073}.contact-card{display:grid;gap:1.35rem;padding:2.2rem;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:#ffffff08}.contact-copy{margin:0;color:#e5e7ef;font-size:1.05rem;line-height:1.8;max-width:48rem}.contact-detail{margin:0;color:#d1fae5;font-weight:500;line-height:1.8}.contact-detail strong{color:#fff}.contact-detail a{color:#34d399;text-decoration:none}.contact-form{display:grid;gap:1rem;margin-top:1rem}.contact-form input,.contact-form textarea{width:100%;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#f8fafc;padding:1rem 1.2rem;font-size:1rem;outline:none;transition:border-color .2s ease,background .2s ease}.contact-form input:focus,.contact-form textarea:focus{border-color:#3b82f6b3;background:#ffffff14}.contact-form textarea{resize:vertical;min-height:160px}.contact-submit{width:100px;min-width:12rem;padding:1rem 2rem;border-radius:999px;border:1px solid rgba(96,165,250,.3);background:linear-gradient(180deg,#0f172afa,#0f172acc 45%,#38bdf81f);color:#f8fafc;font-weight:700;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 18px 50px #0f172a59,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;position:relative}.contact-submit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 60%);pointer-events:none}.contact-submit:hover{transform:translateY(-2px) scale(1.01);background:linear-gradient(180deg,#0f172afa,#38bdf829);box-shadow:0 22px 60px #3b82f63d,inset 0 1px #ffffff24;color:#fff}.contact-submit:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;box-shadow:0 0 40px #38bdf824;opacity:0;transition:opacity .25s ease}.contact-submit:hover:after{opacity:1}@media(max-width:1024px){.projects-grid{grid-template-columns:1fr}}@media(max-width:560px){.projects-section{padding:4rem 1.25rem 5rem}.projects-grid{gap:1.8rem}}.dot-row{display:inline-flex;gap:.75rem;margin-top:1rem;opacity:0;animation:word-appear 1s ease-out forwards}.dot-row:before,.dot-row:after,.dot-row span{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:9999px;background:#cbd5e199}.word-animate{display:inline-block;opacity:0;margin:0 .15rem;transition:transform .3s ease,color .3s ease,text-shadow .3s ease}.word-animate:hover{color:#e2e8f0;transform:translateY(-2px)}#mouse-gradient{position:fixed;width:20rem;height:20rem;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(148,163,184,.18),transparent 55%);transform:translate(-50%,-50%);will-change:left,top,opacity;transition:left 70ms linear,top 70ms linear,opacity .3s ease-out;opacity:0;z-index:2}.bottom-social{position:absolute;left:50%;bottom:1.6rem;transform:translate(-50%);display:flex;align-items:center;gap:1rem;z-index:10;background:#060b1ba3;border:1px solid rgba(148,163,184,.12);border-radius:999px;padding:.8rem 1.2rem;box-shadow:0 18px 45px #02081738;opacity:0;transform:translate(-50%,10px);transition:opacity .5s ease,transform .5s ease}.site-footer{padding:1.4rem 1.5rem 2.2rem;text-align:center;color:#e2e8f0b3;font-size:.95rem;background:transparent}.bottom-social.visible{opacity:1;transform:translate(-50%)}.bottom-social a{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;color:#cbd5e1;text-decoration:none;border-radius:18px;transition:color .2s ease,transform .2s ease,background-color .2s ease,box-shadow .2s ease;animation:icon-pulse 4.5s ease-in-out infinite}.bottom-social a svg{width:1.35rem;height:1.35rem}.bottom-social a:hover{color:#fff;transform:translateY(-3px) scale(1.05);background:#ffffff1f;box-shadow:0 14px 30px #38bdf82e}.footer-loop{animation:footer-loop 7s ease-in-out infinite}.resume-card{width:min(18rem,100%);margin:2rem auto 0;display:flex;justify-content:center;background:#0f172a29;border:1px solid rgba(148,163,184,.18);border-radius:999px;padding:.35rem;opacity:0;transform:translateY(20px);animation:card-fade-in .75s ease-out forwards;animation-delay:4.4s}.resume-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;padding:1rem 2rem;color:#f8fafc;background:linear-gradient(180deg,#0f172afa,#0f172acc 45%,#38bdf81f);border:1px solid rgba(96,165,250,.3);border-radius:999px;text-decoration:none;font-weight:700;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 18px 50px #0f172a59,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease}.resume-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 60%);pointer-events:none}.resume-button:hover{transform:translateY(-2px) scale(1.01);background:linear-gradient(180deg,#0f172afa,#38bdf829);box-shadow:0 22px 60px #3b82f63d,inset 0 1px #ffffff24;color:#fff}.resume-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;box-shadow:0 0 40px #38bdf824;opacity:0;transition:opacity .25s ease}.resume-button:hover:after{opacity:1}.reveal-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}.reveal-on-scroll.visible{opacity:1;transform:translateY(0)}@keyframes card-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes footer-loop{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@keyframes icon-pulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.02)}}@media(max-width:640px){.home-section .bottom-social{flex-wrap:wrap;justify-content:center;gap:.8rem;padding:.7rem 1rem;bottom:1rem}}.ripple{position:fixed;width:8px;height:8px;border-radius:9999px;background:#cbd5e199;pointer-events:none;transform:translate(-50%,-50%);animation:ripple-fade 1s ease-out forwards;z-index:2}@keyframes word-appear{0%{opacity:0;transform:translateY(30px) scale(.85);filter:blur(10px)}50%{opacity:.8;transform:translateY(10px) scale(.95);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes grid-draw{0%{stroke-dashoffset:1000;opacity:0}50%{opacity:.3}to{stroke-dashoffset:0;opacity:.15}}@keyframes pulse-glow{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.4;transform:scale(1.1)}}@keyframes float{0%,to{transform:translate(0);opacity:.2}25%{transform:translate(5px,-10px);opacity:.6}50%{transform:translate(-3px,-5px);opacity:.4}75%{transform:translate(7px,-15px);opacity:.8}}@keyframes ripple-fade{0%{transform:translate(-50%,-50%) scale(1);opacity:.8}to{transform:translate(-50%,-50%) scale(3);opacity:0}}
