.landing{--max-w:760px;--pad-x:clamp(20px, 5vw, 32px);font-feature-settings:"ss01", "cv11";max-width:var(--max-w);padding:0 var(--pad-x) 96px;width:100%;margin:0 auto;font-size:14.5px;line-height:1.65}.landing:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(1200px 600px at 90% -200px, var(--accent-soft), transparent 60%);position:fixed;inset:0}.landing section{max-width:none;margin:0;padding:72px 0 0;scroll-margin-top:72px}.landing section:first-of-type{padding-top:32px}.landing h1,.landing h2,.landing h3,.landing h4{letter-spacing:-.01em;margin:0;font-weight:600}.landing p{color:var(--fg-mute);margin:0 0 .85em}.landing p:last-child{margin-bottom:0}.landing a{color:var(--foreground);border-bottom:1px dotted var(--line-strong);text-decoration:none;transition:color .16s,border-color .16s}.landing a:hover{color:var(--accent);border-color:var(--accent)}.landing .section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.landing .section-head h2{text-transform:uppercase;letter-spacing:.14em;color:var(--fg-faint);font-size:13px;font-weight:500}.landing .section-head h2:before{content:"§ ";color:var(--accent)}.landing .section-head .meta{color:var(--fg-faint);font-size:12px}.landing .section-head a.meta{border:0}.landing .btn{border:1px solid var(--line-strong);background:var(--bg-elev);color:var(--foreground);white-space:nowrap;will-change:transform;border-radius:8px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;transition:transform .2s cubic-bezier(.2,.7,.2,1),border-color .16s,background .16s,color .16s;display:inline-flex}.landing .btn:hover{border-color:var(--foreground)}.landing .btn.primary{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.landing .btn.primary:hover{background:var(--accent);border-color:var(--accent);color:#04130d}.landing .btn .arrow{transition:transform .2s}.landing .btn:hover .arrow{transform:translate(2px)}.landing .hero{padding-top:56px;padding-bottom:8px}.landing .hero-top{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.landing .avatar{flex-shrink:0;width:64px;height:64px;position:relative}.landing .avatar img{object-fit:cover;border:1px solid var(--border);border-radius:50%;width:64px;height:64px;transition:transform .4s cubic-bezier(.2,.7,.2,1);display:block}.landing .avatar:hover img{transform:scale(1.04)}.landing .avatar-ring{border:1px dashed var(--line-strong);pointer-events:none;border-radius:50%;animation:30s linear infinite landing-spin;position:absolute;inset:-4px}.landing .avatar-status{background:var(--accent-vivid);border:2px solid var(--background);border-radius:50%;width:12px;height:12px;animation:2s ease-out infinite landing-ping-mini;position:absolute;bottom:2px;right:2px}.landing .eyebrow{border:1px solid var(--border);background:var(--bg-elev);color:var(--fg-mute);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 10px;font-size:12px;display:inline-flex}.landing .eyebrow .dot{background:var(--accent-vivid);width:6px;height:6px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;animation:2.4s ease-in-out infinite landing-pulse}.landing .hero h1{letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(28px,5.4vw,40px);font-weight:600;line-height:1.18}.landing .hero h1 .accent{color:var(--accent)}.landing .cursor{background:var(--accent-vivid);vertical-align:-2px;width:.55ch;height:1em;margin-left:2px;animation:1.05s step-end infinite landing-blink;display:inline-block}.landing .hero .lede{color:var(--fg-mute);max-width:62ch;margin-bottom:28px;font-size:15px}.landing .cta{flex-wrap:wrap;gap:10px;display:flex}.landing .socials{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-top:24px;padding-top:20px;display:flex}.landing .socials a{border:1px solid var(--border);background:var(--bg-elev);width:34px;height:34px;color:var(--fg-mute);border-radius:8px;place-items:center;transition:transform .2s cubic-bezier(.2,.7,.2,1),color .16s,border-color .16s;display:grid}.landing .socials a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.landing .about p strong{color:var(--foreground);font-weight:600}.landing .now-card{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;margin-top:18px;padding:16px 18px;position:relative;overflow:hidden}.landing .now-card:before{content:"";background:linear-gradient(120deg, transparent 0%, var(--accent-soft) 50%, transparent 100%);pointer-events:none;opacity:.6;background-position:100% 0;background-size:200% 100%;animation:6s linear infinite landing-shimmer;position:absolute;inset:0}.landing .now-card .now-label{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;display:flex}.landing .now-card .ping{background:var(--accent-vivid);border-radius:50%;flex-shrink:0;width:7px;height:7px;position:relative}.landing .now-card .ping:after{content:"";background:var(--accent-vivid);border-radius:50%;animation:1.6s cubic-bezier(0,0,.2,1) infinite landing-ping;position:absolute;inset:0}.landing .now-card p{color:var(--foreground);font-size:14px}.landing .skills-grid{border-top:1px solid var(--border);grid-template-columns:140px 1fr;gap:8px 24px;padding-top:18px;display:grid}.landing .skills-grid .label{color:var(--fg-faint);text-transform:lowercase;padding-top:4px;font-size:12px}.landing .skills-grid .tags{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding-bottom:10px;display:flex}.landing .skills-grid>div:nth-last-child(-n+2){border-bottom:0;padding-bottom:0}.landing .tag{border:1px solid var(--border);background:var(--bg-elev);color:var(--foreground);white-space:nowrap;cursor:default;border-radius:5px;padding:3px 9px;font-size:12px;transition:all .16s}.landing .tag:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.landing .projects-list{border-top:1px solid var(--border);flex-direction:column;display:flex}.landing .project{border-bottom:1px solid var(--border);grid-template-columns:64px 1fr auto;align-items:start;gap:18px;padding:22px 0;display:grid;position:relative}.landing .project .num{color:var(--fg-faint);font-variant-numeric:tabular-nums;padding-top:2px;font-size:12px}.landing .project .body h3{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;font-size:15px;display:flex}.landing .project .body h3 .pill{background:var(--accent-soft);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:500}.landing .project .body p{color:var(--fg-mute);margin-bottom:10px;font-size:13.5px}.landing .project .stack{color:var(--fg-faint);letter-spacing:.04em;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;display:flex}.landing .project .stack span:before{content:"· ";color:var(--line-strong);margin-right:2px}.landing .project .stack span:first-child:before{content:"";margin-right:0}.landing .project .links{gap:6px;display:flex}.landing .project .links a{border:1px solid var(--border);background:var(--bg-elev);width:30px;height:30px;color:var(--fg-mute);border-radius:6px;place-items:center;display:grid}.landing .project .links a:hover{color:var(--accent);border-color:var(--accent)}.landing .timeline{border-left:1px solid var(--border);flex-direction:column;gap:32px;margin-left:6px;padding-left:22px;display:flex}.landing .timeline-item{position:relative}.landing .timeline-item:before{content:"";background:var(--background);border:2px solid var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:-27px}.landing .timeline-item.current:before{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.landing .timeline-item .when{color:var(--fg-faint);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.landing .timeline-item h3{margin:2px 0;font-size:15px}.landing .timeline-item .role{color:var(--fg-mute);margin-bottom:12px;font-size:13px}.landing .timeline-item ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.landing .timeline-item li{color:var(--fg-mute);padding-left:18px;font-size:13px;position:relative}.landing .timeline-item li:before{content:"▸";color:var(--accent);position:absolute;left:0}.landing .timeline-item li strong{color:var(--foreground);font-weight:600}.landing .heatmap-card{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;padding:18px;overflow:hidden}.landing .heatmap-card img{border-radius:4px;width:100%;display:block}.landing .posts{border-top:1px solid var(--border);flex-direction:column;display:flex}.landing .post{border:0;border-bottom:1px solid var(--border);color:inherit;grid-template-columns:1fr auto;align-items:baseline;gap:12px 18px;padding:16px 0;transition:padding-left .2s;display:grid}.landing .post:hover{color:inherit;padding-left:6px}.landing .post .post-meta{color:var(--fg-faint);align-items:center;gap:10px;margin-bottom:4px;font-size:11.5px;display:flex}.landing .post .source-chip{background:var(--accent-soft);border:1px solid var(--accent-soft);color:var(--accent);letter-spacing:.04em;text-transform:uppercase;border-radius:3px;padding:1px 6px;font-size:10px}.landing .post h3{color:var(--foreground);margin-bottom:4px;font-size:14px;font-weight:500;line-height:1.4;transition:color .16s}.landing .post:hover h3{color:var(--accent)}.landing .post .excerpt{color:var(--fg-mute);font-size:12.5px;line-height:1.5}.landing .post .when{color:var(--fg-faint);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.landing .posts-more{text-align:center;padding-top:24px}.landing .contact-card{border:1px solid var(--border);background:var(--bg-elev);text-align:center;border-radius:12px;padding:28px}.landing .contact-card h3{letter-spacing:-.02em;margin-bottom:8px;font-size:22px}.landing .contact-card p{color:var(--fg-mute);margin-bottom:18px}.landing .contact-card .links{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.landing .landing-footer{border-top:1px solid var(--border);color:var(--fg-faint);padding-top:24px;flex-wrap:wrap;justify-content:space-between;gap:8px;max-width:none;margin-top:64px;padding-inline:0;font-size:11.5px;display:flex}.landing .landing-footer a{color:var(--fg-mute);border:0}.landing .landing-footer a:hover{color:var(--accent)}.landing .reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(14px)}.landing .reveal.in{opacity:1;transform:translateY(0)}.landing .reveal[data-delay="1"]{transition-delay:60ms}.landing .reveal[data-delay="2"]{transition-delay:.12s}.landing .reveal[data-delay="3"]{transition-delay:.18s}.landing .reveal[data-delay="4"]{transition-delay:.24s}@keyframes landing-spin{to{transform:rotate(360deg)}}@keyframes landing-blink{50%{background:0 0}}@keyframes landing-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes landing-ping{0%{opacity:.7;transform:scale(1)}75%,to{opacity:0;transform:scale(2.4)}}@keyframes landing-ping-mini{0%{box-shadow:0 0 0 0 var(--accent-soft)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}@keyframes landing-shimmer{to{background-position:-100% 0}}@media (width<=560px){.landing .skills-grid{grid-template-columns:1fr;gap:4px}.landing .skills-grid .label{padding-top:12px}}@media (width<=600px){.landing .project{grid-template-columns:1fr;gap:6px}.landing .project .num{display:none}.landing .project .links{padding-top:8px}}@media (prefers-reduced-motion:reduce){.landing *,.landing :before,.landing :after{transition:none!important;animation:none!important}.landing .reveal{opacity:1;transform:none}}
