.home-shell{width:min(calc(100% - (2*clamp(1rem,3vw,2.5rem))),1320px);margin:0 auto;padding-top:6.5rem}.home-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:clamp(2rem,4vw,4rem);align-items:stretch;min-height:min(720px,calc(100svh - 8rem));padding-bottom:clamp(3rem,6vw,5rem);border-bottom:1px solid var(--color-line)}.home-hero-copy{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.home-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:0 0 auto;padding-bottom:2.5rem;font-family:var(--font-dot);font-size:.8rem;font-weight:500;letter-spacing:0;color:var(--color-glyph)}.home-hero h1{margin:0;max-width:16ch;font-size:clamp(2.6rem,6.4vw,5.6rem);font-weight:650;line-height:.98;letter-spacing:-.045em;text-wrap:balance;color:var(--color-ink)}.home-lead{max-width:38rem;margin:clamp(1.5rem,3vw,2.2rem) 0 0;color:var(--color-ink-muted);font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.65}.home-actions,.home-contact-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.home-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border:1px solid var(--color-line-strong);border-radius:999px;background:transparent;color:var(--color-ink);font-size:.94rem;font-weight:600;text-decoration:none;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.home-button:hover{border-color:var(--color-ink);background:var(--color-fill)}.home-button:active{transform:scale(.98)}.home-button-primary{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-on-ink)}.home-button-primary:hover{background:var(--color-ink-soft);border-color:var(--color-ink-soft)}.home-screen{position:relative;display:flex;min-height:22rem;padding:clamp(1.25rem,2.5vw,2rem);border-radius:16px;background:radial-gradient(circle,var(--color-line) 1px,transparent 1.5px) 0 0 / 24px 24px;mask-image:radial-gradient(closest-side,#000 60%,transparent);overflow:hidden}.home-hero-byte{width:clamp(9rem,15vw,13rem);height:auto;margin:auto}.home-section{padding:clamp(3.5rem,7vw,6rem) 0;border-bottom:1px solid var(--color-line)}.home-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;margin-bottom:clamp(2rem,4vw,3.5rem)}.home-heading h2,.home-contact h2{margin:0;max-width:22ch;font-size:clamp(1.9rem,3.8vw,3.4rem);font-weight:650;line-height:1.04;letter-spacing:-.04em;text-wrap:balance;color:var(--color-ink)}.home-text-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-ink-muted);font-size:.9rem;font-weight:550;text-decoration:none;white-space:nowrap;transition:color var(--motion-fast) var(--ease-standard)}.home-text-link:hover{color:var(--color-ink)}.home-directions{display:grid;border-top:1px solid var(--color-line)}.home-direction{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr) minmax(0,.8fr);align-items:start;gap:1.5rem;padding:1.75rem 0;border-bottom:1px solid var(--color-line)}.home-direction-body{display:grid;gap:.9rem}.home-direction h3{margin:0;font-size:1.35rem;font-weight:600;letter-spacing:-.02em;color:var(--color-ink)}.home-direction p{margin:0;color:var(--color-ink-muted);line-height:1.6}.home-stack{display:flex;flex-wrap:wrap;gap:.3rem 0;margin:0;padding:0;list-style:none;font-family:var(--font-dot);font-size:.8rem;color:var(--color-glyph)}.home-stack li+li:before{content:"·";margin:0 .5rem;color:var(--color-ink-faint)}.home-case{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;padding-top:.4rem;color:var(--color-ink);text-decoration:none}.home-case span{font-family:var(--font-dot);font-size:.8rem;letter-spacing:0;color:var(--color-glyph)}.home-case b{font-weight:600}.home-case i{margin-left:auto;font-style:normal;color:var(--color-ink-faint);transition:transform var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.home-case:hover i{transform:translate(3px);color:var(--color-ink)}.home-projects{margin:0;padding:0;list-style:none;border-top:1px solid var(--color-line)}.home-projects a{display:grid;grid-template-columns:minmax(0,1fr) auto 1.5rem;align-items:baseline;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--color-line);color:var(--color-ink);text-decoration:none;transition:background-color var(--motion-fast) var(--ease-standard)}.home-projects a:hover{background:color-mix(in srgb,var(--color-fill) 55%,transparent)}.home-project-main{display:flex;flex-direction:column;gap:.3rem;min-width:0}.home-project-main b{font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:600;letter-spacing:-.015em}.home-project-main span{color:var(--color-ink-muted);font-size:.92rem;line-height:1.5}.home-project-meta{font-family:var(--font-dot);font-size:.8rem;letter-spacing:0;color:var(--color-glyph);white-space:nowrap}.home-projects i{font-style:normal;color:var(--color-ink-faint);transition:transform var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.home-projects a:hover i{transform:translate(3px);color:var(--color-ink)}.home-lab-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:end}.home-lab-copy>p{max-width:34rem;margin:0;color:var(--color-ink-muted);line-height:1.65}.home-lab-readout{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;margin:2rem 0 .5rem}.home-lab-readout span{font-family:var(--font-dot);font-size:.8rem;color:var(--color-glyph)}.home-contact{display:grid;gap:.4rem;padding:clamp(4rem,8vw,7rem) 0 clamp(3rem,6vw,5rem)}.home-contact h2{max-width:24ch}.hero-pop{animation:hero-pop var(--motion-slow) var(--ease-standard) both}.hero-pop-delay-1{animation-delay:60ms}.hero-pop-delay-2{animation-delay:.12s}.hero-pop-delay-3{animation-delay:.18s}@keyframes hero-pop{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (max-width: 960px){.home-hero{grid-template-columns:1fr;min-height:0}.home-screen{min-height:13rem}.home-hero-byte{width:7.5rem}.home-direction{grid-template-columns:minmax(0,1fr);gap:.9rem 1rem;padding:1.5rem 0}.home-lab-body{grid-template-columns:1fr}}@media (max-width: 640px){.home-shell{padding-top:5.5rem}.home-kicker{padding-bottom:1.75rem}.home-screen{min-height:10rem}.home-hero-byte{width:6rem}.home-projects a{grid-template-columns:minmax(0,1fr) 1rem}.home-project-meta{grid-column:1;grid-row:2}.home-projects i{grid-column:2;grid-row:1}}@media (prefers-reduced-motion: reduce){.hero-pop{animation:none}.home-button,.home-case i,.home-projects i,.home-projects a{transition:none}}
