.hero-section{background:linear-gradient(135deg, var(--bg) 0%, var(--surface) 100%);color:var(--text);text-align:center;padding:6rem 2rem}@media (width<=768px){.hero-section{padding:4rem 1.5rem}}.hero-container{max-width:var(--container-narrow);margin:0 auto}.hero-badge{background:var(--accent-strong);color:var(--text);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem;padding:.35rem 1rem;font-size:.85rem;font-weight:600;display:inline-block}.hero-headline{min-height:2.4em}.hero-typewriter{color:var(--accent)}.hero-caret{background:var(--accent);vertical-align:-.12em;width:3px;height:1em;margin-left:4px;animation:1s step-end infinite hero-caret-blink;display:inline-block}@media (prefers-reduced-motion:reduce){.hero-caret{animation:none}}@keyframes hero-caret-blink{50%{opacity:0}}.hero-description{color:var(--text-muted);font-size:1.2rem;line-height:var(--lh-body);margin-bottom:2.5rem}.hero-cta{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}@media (width<=768px){.hero-cta{flex-direction:column}}.about-layout{grid-template-columns:1fr;gap:2.5rem;display:grid}@media (width>=900px){.about-layout{grid-template-columns:1fr 1.15fr;align-items:start;gap:3rem}}.about-intro{flex-direction:column;gap:.5rem;display:flex}.about-panels{flex-direction:column;gap:1.25rem;display:flex}.about-card p{color:var(--text-muted);line-height:var(--lh-body);margin:0}.projects-head{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}@media (width>=800px){.projects-head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:2rem}}.projects-head-text{flex-direction:column;gap:.5rem;display:flex}@media (width>=800px){.projects-head-text{max-width:60ch}}.search-input{border-radius:var(--radius-control);border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);padding:.7rem 1rem;font-size:.95rem}.search-input:focus{border-color:var(--accent);outline:none}@media (width>=800px){.search-input{max-width:320px}}.tag-cloud{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;margin-bottom:2rem;display:flex}.tag-btn{background:var(--surface);color:var(--text-soft);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;padding:.4rem 1rem;font-size:.85rem;transition:background-color .2s,color .2s,border-color .2s}.tag-btn:hover,.tag-btn.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:600}.project-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;display:grid}.project-card{flex-direction:column;justify-content:space-between;transition:transform .2s;display:flex}.project-card:hover{transform:translateY(-4px)}.card-header{color:var(--accent);justify-content:space-between;margin-bottom:.75rem;font-size:.85rem;font-weight:500;display:flex}.project-card p{color:var(--text-muted);font-size:.95rem;line-height:var(--lh-body);flex-grow:1;margin-bottom:1.5rem}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.project-show-all-container{text-align:center;padding-top:2rem}.exp-timeline{border-left:2px solid var(--border);flex-direction:column;gap:3rem;margin-top:2rem;margin-left:1rem;padding-left:2rem;display:flex}.exp-item{position:relative}.exp-item:before{content:"";background:var(--accent);border:3px solid var(--surface-2);border-radius:50%;width:1rem;height:1rem;position:absolute;top:.25rem;left:-2.55rem}.exp-date{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.85rem;font-weight:600;display:inline-block}.exp-item p{color:var(--text-soft);line-height:var(--lh-body);margin:0}.cert-list{margin:2rem 0 0;padding:0;list-style:none}.cert-item{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;grid-template-areas:"issuer date""name date";align-items:center;gap:.15rem 1.5rem;padding:.9rem 0;display:grid}.cert-issuer{color:var(--accent);grid-area:issuer;font-size:.78rem;font-weight:600}.cert-name{color:var(--text);grid-area:name;font-size:1rem;font-weight:600}.cert-date{color:var(--text-muted);white-space:nowrap;grid-area:date;font-size:.85rem}.cert-title-link{color:var(--text);text-decoration:none}.cert-title-link:hover{color:var(--accent)}.cert-title-link:after{content:" ↗";color:var(--text-muted)}
