.hero{text-align:center;min-height:100svh;padding:calc(var(--nav-height) + 2rem) var(--gutter) 5rem;justify-content:center;align-items:center;display:flex;position:relative}.hero-content{max-width:820px}.hero-greeting{font-family:var(--font-mono);color:var(--star-ice);margin-bottom:1.1rem;font-size:clamp(.85rem,2vw,1rem)}.hero-name{font-family:var(--font-display);letter-spacing:.06em;margin-bottom:1.1rem;font-size:clamp(4rem,15vw,8.5rem);font-weight:900;line-height:1}.hero-name-text{background:var(--gradient-eye);color:#0000;filter:drop-shadow(0 0 30px #5cc8ff40);-webkit-background-clip:text;background-clip:text;display:inline-block}.hero-role{min-height:1.6em;font-family:var(--font-mono);color:var(--nebula);justify-content:center;align-items:center;margin-bottom:1rem;font-size:clamp(1.05rem,3.4vw,1.45rem);font-weight:700;display:flex}.typed-caret{background:var(--star);width:.55em;height:1.15em;box-shadow:0 0 10px var(--star);margin-left:.15em;animation:1s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.hero-tagline{max-width:54ch;color:var(--text);text-shadow:0 1px 12px #07060be6;margin:0 auto 1.5rem;font-size:clamp(1rem,2.4vw,1.15rem)}.hero-meta{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:2rem;font-size:.9rem;display:inline-flex}.status-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px #4ade80}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.9rem;display:flex}.hero-socials{justify-content:center;gap:.75rem;margin-top:1.75rem;display:flex}.icon-link{width:44px;height:44px;color:var(--text-muted);border:1px solid var(--border);background:#07060b73;border-radius:12px;place-items:center;transition:color .2s,border-color .2s,transform .2s;display:grid}.icon-link:hover{color:var(--star);border-color:var(--star);transform:translateY(-2px)}.icon-link svg{width:20px;height:20px}.scroll-cue{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);flex-direction:column;align-items:center;gap:.5rem;font-size:.7rem;text-decoration:none;display:flex;position:absolute;bottom:1.75rem;left:50%;transform:translate(-50%)}.scroll-cue:after{content:"";background:linear-gradient(var(--nebula), transparent);width:1px;height:36px}.about-grid{grid-template-columns:1.05fr 1fr;align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.result-table{border-collapse:collapse;border-top:1px solid var(--border);width:100%;font-size:.8rem}.result-table caption{caption-side:top;text-align:left;color:var(--text-dim);border-top:1px solid var(--border);padding:.6rem 1.2rem;font-size:.75rem}.result-table th,.result-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem 1.2rem}.result-table th{width:34%;color:var(--text-dim);font-weight:400}.result-table td{color:var(--amber)}.about-text p{color:var(--text-muted);margin-bottom:1.1rem}.about-text p strong{color:var(--text);font-weight:600}.about-text .tag-list{margin-top:1.5rem}.scroll-chart{height:320vh;position:relative}.scroll-chart-sticky{height:100svh;padding:var(--nav-height) var(--gutter) 2rem;flex-direction:column;justify-content:center;align-items:center;display:flex;position:sticky;top:0;overflow:hidden}.scroll-chart .section-header{text-align:center;margin-bottom:1.5rem}.scroll-chart .section-lead{margin-inline:auto}.bars-svg{width:min(90vw,760px);height:38vh}.bar{fill:url(#barGradient);filter:drop-shadow(0 0 8px #f59e4b59)}.bars-baseline{stroke:var(--border-strong);stroke-width:1px}.scroll-chart-text{text-align:center;width:min(90vw,560px);height:4.5rem;margin-top:1.75rem;position:relative}.step{opacity:0;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:clamp(.95rem,2.5vw,1.1rem);transition:opacity .4s,transform .4s;display:flex;position:absolute;inset:0;transform:translateY(8px)}.step strong{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--nebula);font-size:.8rem}.step.active{opacity:1;color:var(--text);transform:none}.step-dots{gap:.5rem;margin-top:1.25rem;list-style:none;display:flex}.step-dots li{background:var(--border-strong);border-radius:3px;width:28px;height:3px;transition:background .3s}.step-dots li.active{background:var(--gradient-ring)}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.skill-card{padding:1.5rem}.skill-card:hover{box-shadow:var(--glow-nebula);transform:translateY(-4px)}.skill-card h3{font-family:var(--font-display);letter-spacing:.04em;align-items:center;gap:.6rem;margin-bottom:1.1rem;font-size:.95rem;display:flex}.skill-card h3:before{content:"";background:var(--star);width:8px;height:8px;box-shadow:0 0 10px var(--star);border-radius:50%}.filter-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.filter-tabs button{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#07060b73;border-radius:999px;padding:.45rem 1rem;font-size:.8rem;transition:color .2s,border-color .2s,background .2s}.filter-tabs button:hover{color:var(--text);border-color:var(--border-strong)}.filter-tabs button[aria-pressed=true]{color:#160c06;background:var(--gradient-ring);border-color:#0000}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.project-card{color:inherit;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--glow-star);transform:translateY(-4px)}.project-thumb{aspect-ratio:16/9;background:radial-gradient(circle at 30% 40%, #5cc8ff2e, transparent 55%), radial-gradient(circle at 75% 70%, #f59e4b33, transparent 55%), var(--bg-alt);border-bottom:1px solid var(--border);position:relative}.project-thumb img{object-fit:cover;object-position:top;opacity:.9;width:100%;height:100%;transition:opacity .3s,transform .5s}.project-card:hover .project-thumb img{opacity:1;transform:scale(1.03)}.project-card[hidden]{display:none}.project-body{flex-direction:column;flex:1;gap:.8rem;padding:1.4rem;display:flex}.project-body h3{font-size:1.1rem;font-weight:700}.project-body p{color:var(--text-muted);flex:1;font-size:.93rem}.project-badges{gap:.4rem;display:flex;position:absolute;top:.75rem;right:.75rem}.project-badge{font-family:var(--font-mono);color:var(--text);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07060bbf;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.7rem;display:inline-flex}.project-badge svg{width:11px;height:11px;fill:var(--nebula);stroke:var(--nebula)}.tag-more{color:var(--text-muted);border-color:var(--border);background:0 0}.project-more{color:var(--star);align-items:center;gap:.45rem;margin-top:.2rem;font-size:.88rem;font-weight:600;display:inline-flex}.project-more svg{width:16px;height:16px;transition:transform .25s}.project-card:hover .project-more svg{transform:translate(4px)}.project-thumb{overflow:hidden}.timeline-wrap{max-width:1000px;margin-inline:auto;position:relative}.timeline-track{background:var(--border);border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-progress{background:linear-gradient(var(--star), var(--nebula) 55%, var(--ember));transform-origin:top;border-radius:2px;position:absolute;inset:0;box-shadow:0 0 12px #f59e4b80}.timeline{list-style:none}.timeline-item{width:50%;margin-bottom:1.25rem;padding-right:2.75rem;position:relative}.timeline-item:nth-child(2n){margin-left:50%;padding-left:2.75rem;padding-right:0}.timeline-item+.timeline-item{margin-top:-4rem}.timeline-dot{background:var(--bg);border:2px solid var(--border-strong);border-radius:50%;width:18px;height:18px;transition:background .4s,border-color .4s,box-shadow .4s;position:absolute;top:1.55rem;right:-9px}.timeline-item:nth-child(2n) .timeline-dot{left:-9px;right:auto}.timeline-item.reached .timeline-dot{background:var(--nebula);border-color:var(--amber);box-shadow:0 0 0 4px #f59e4b26, var(--glow-nebula)}.timeline-card{padding:1.3rem 1.5rem}.is-animated .timeline-card{opacity:0;transition:opacity .6s,transform .6s,border-color .25s;transform:translate(-40px)}.is-animated .timeline-item:nth-child(2n) .timeline-card{transform:translate(40px)}.is-animated .timeline-item.reached .timeline-card{opacity:1;transform:none}.timeline-meta{margin-bottom:.8rem;font-size:.82rem}.timeline-card .tag-list{gap:.4rem}.timeline-card .tag{font-size:.72rem}@media (width<=760px){.timeline-track{left:9px}.timeline-item,.timeline-item:nth-child(2n),.timeline-item+.timeline-item{width:100%;margin-top:0;margin-left:0;padding-left:2.5rem;padding-right:0}.timeline-dot,.timeline-item:nth-child(2n) .timeline-dot{left:0;right:auto}.is-animated .timeline-card,.is-animated .timeline-item:nth-child(2n) .timeline-card{transform:translateY(24px)}}.timeline-period{font-family:var(--font-mono);color:var(--nebula);font-size:.8rem}.timeline-card h3{margin-top:.25rem;font-size:1.1rem}.timeline-org{color:var(--star-ice);font-size:.92rem}.timeline-card p{color:var(--text-muted);font-size:.93rem}.contact-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.contact-info{gap:1rem;display:grid}.contact-item{align-items:center;gap:1rem;padding:1.1rem 1.25rem;text-decoration:none;display:flex}.contact-item svg{width:22px;height:22px;color:var(--nebula);flex-shrink:0}.contact-item small{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-size:.72rem;display:block}.contact-item span{word-break:break-word;font-weight:500}a.contact-item:hover{border-color:var(--star)}.contact-socials{justify-content:flex-start;margin-top:.25rem}.contact-form{gap:1.1rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.form-row{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.form-field{gap:.4rem;display:grid}.form-field label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem}.form-field input,.form-field textarea{width:100%;font:inherit;color:var(--text);border:1px solid var(--border);background:#07060b99;border-radius:10px;padding:.8rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-field textarea{resize:vertical;min-height:140px}.form-field input:focus,.form-field textarea:focus{border-color:var(--star);outline:none;box-shadow:0 0 0 3px #5cc8ff26}.contact-form .btn{justify-self:start}.contact-form .btn:disabled{opacity:.7;cursor:wait;transform:none}.form-status{border:1px solid;border-radius:10px;padding:.8rem 1rem;font-size:.92rem}.form-status.is-success{color:#86efac;background:#4ade8014;border-color:#4ade804d}.form-status.is-error{color:#fca5a5;background:#f8717114;border-color:#f871714d}.site-footer{border-top:1px solid var(--border);background:#07060bb3;padding-block:2.5rem}.footer-inner{color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;display:flex}.footer-inner p a{color:var(--text-muted);transition:color .2s}.footer-inner p a:hover{color:var(--star)}@media (width<=860px){.about-grid,.contact-grid{grid-template-columns:1fr}}@media (width<=560px){.form-row{grid-template-columns:1fr}.hero-actions .btn{flex:100%}.projects-grid{grid-template-columns:1fr}.footer-inner{text-align:center;flex-direction:column}}
