.landing-page{background:radial-gradient(circle at 50% 30%, #ffffffbf, transparent 30rem), var(--background);place-items:start center;min-height:100svh;padding:clamp(5rem,18vh,10rem) 1.5rem clamp(3rem,8vh,6rem);display:grid;position:relative;overflow:hidden}.landing-grain{pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.landing-copy{width:min(680px,100%);animation:landingCopyIn .9s var(--ease-out) 80ms both;position:relative}.landing-paragraph{color:var(--muted);letter-spacing:0;text-wrap:pretty;margin:0 0 1.35em;font-size:clamp(1.125rem,.98rem + .55vw,1.3125rem);font-weight:590;line-height:1.58}.landing-paragraph:last-of-type{margin-bottom:0}.landing-paragraph-primary{animation:landingTextIn .82s var(--ease-out) .12s both}.landing-paragraph:nth-of-type(2){animation:landingTextIn .82s var(--ease-out) .26s both}.landing-lead,.landing-paragraph strong{color:var(--foreground);font-weight:760}.landing-paragraph a{color:var(--foreground);text-underline-offset:.18em;text-decoration-thickness:1px;transition:color .18s}.landing-paragraph a:hover,.landing-paragraph a:focus-visible{color:var(--muted)}.experience-section{animation:landingTextIn .82s var(--ease-out) .32s both;border-top:1px solid #0000001a;margin-top:3rem;padding-top:2rem}.experience-title{color:var(--foreground);letter-spacing:0;margin:0 0 1rem;font-size:1.05rem;font-weight:760;line-height:1.2}.experience-back{color:var(--muted);margin-bottom:2.6rem;font-size:.8125rem;font-weight:560;line-height:1.2;text-decoration:none;transition:color .18s;display:inline-flex}.experience-back:hover,.experience-back:focus-visible{color:var(--foreground)}@keyframes landingCopyIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes landingTextIn{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur()}}@media (max-width:900px){.landing-page{padding-top:clamp(3rem,10vh,4.5rem)}}@media (prefers-reduced-motion:reduce){.landing-copy,.landing-paragraph{animation:none}.experience-back{transition:none}}
