*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}blockquote,body,dd,dl,figure,h1,h2,h3,h4,h5,h6,ol,p,ul{margin:0}ol[class],ul[class]{list-style:none;padding:0}body{min-height:100dvh;font-family:var(--font-body,var(--font-body-fallback));background:var(--color-background,#fff);color:var(--color-text-primary,#111);line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[hidden]{display:none!important}img,picture,svg,video{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-heading,var(--font-heading-fallback));font-weight:600;line-height:1.1;letter-spacing:var(--heading-tracking,-.02em);text-wrap:balance}p{text-wrap:pretty}:root{--font-heading-fallback:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-body-fallback:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--section-y:clamp(4rem,9vw,8rem);--focus-ring:3px}:focus-visible{outline:var(--focus-ring) solid var(--color-focus,var(--color-primary,#2438e8));outline-offset:3px;border-radius:3px}[data-on-dark] :focus-visible{outline-color:var(--color-focus-dark,#fff)}::selection{background:var(--color-primary,#2438e8);color:var(--color-primary-contrast,#fff)}.sr-only,.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;top:0;left:50%;z-index:999;transform:translate(-50%,-120%);padding:.75rem 1.5rem;background:var(--color-text-primary,#111);color:var(--color-background,#fff);font-size:.95rem;font-weight:600;text-decoration:none;border-radius:0 0 10px 10px;transition:transform .18s ease}.skip-link:focus-visible{transform:translate(-50%);outline-offset:-4px}@media (pointer:coarse){[role=button],a[href],button,select{min-height:44px}.nav-inline a,nav a{display:inline-flex;align-items:center}}[data-photo]{position:relative;display:block}[data-stars]{display:inline-flex;gap:2px}.shell{width:min(100% - 2.5rem,var(--shell,1180px));margin-inline:auto}@media (max-width:480px){.shell{width:min(100% - 2rem,var(--shell,1180px))}}.section{padding-block:var(--section-y)}.rail{display:flex;gap:var(--rail-gap,1.25rem);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:.75rem}.rail>*{scroll-snap-align:start;flex:0 0 auto}@media print{.skip-link,form,nav{display:none!important}}:root{--reveal-duration:620ms;--reveal-delay:0ms;--reveal-distance:22px;--reveal-ease:cubic-bezier(0.22,0.61,0.36,1)}.js [data-reveal]{opacity:0;will-change:opacity,transform;transition:opacity var(--reveal-duration) var(--reveal-ease) var(--reveal-delay),transform var(--reveal-duration) var(--reveal-ease) var(--reveal-delay),-webkit-clip-path var(--reveal-duration) var(--reveal-ease) var(--reveal-delay);transition:opacity var(--reveal-duration) var(--reveal-ease) var(--reveal-delay),transform var(--reveal-duration) var(--reveal-ease) var(--reveal-delay),clip-path var(--reveal-duration) var(--reveal-ease) var(--reveal-delay);transition:opacity var(--reveal-duration) var(--reveal-ease) var(--reveal-delay),transform var(--reveal-duration) var(--reveal-ease) var(--reveal-delay),clip-path var(--reveal-duration) var(--reveal-ease) var(--reveal-delay),-webkit-clip-path var(--reveal-duration) var(--reveal-ease) var(--reveal-delay)}.js [data-reveal=up]{transform:translate3d(0,var(--reveal-distance),0)}.js [data-reveal=down]{transform:translate3d(0,calc(var(--reveal-distance) * -1),0)}.js [data-reveal=left]{transform:translate3d(calc(var(--reveal-distance) * -1.4),0,0)}.js [data-reveal=right]{transform:translate3d(calc(var(--reveal-distance) * 1.4),0,0)}.js [data-reveal=scale]{transform:scale(.94)}.js [data-reveal=clip]{opacity:1}.js [data-reveal=clip]>[data-reveal-clip]{display:block;-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);transition:-webkit-clip-path var(--reveal-duration) var(--reveal-ease) var(--reveal-delay);transition:clip-path var(--reveal-duration) var(--reveal-ease) var(--reveal-delay);transition:clip-path var(--reveal-duration) var(--reveal-ease) var(--reveal-delay),-webkit-clip-path var(--reveal-duration) var(--reveal-ease) var(--reveal-delay)}.js [data-reveal=clip][data-visible=true]>[data-reveal-clip],.js [data-reveal][data-visible=true]{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}.js [data-reveal][data-visible=true]{opacity:1;transform:none;will-change:auto}@keyframes float-y{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,var(--float-distance,-14px),0)}}@keyframes float-xy{0%,to{transform:translateZ(0) rotate(0deg)}33%{transform:translate3d(6px,-12px,0) rotate(1.5deg)}66%{transform:translate3d(-6px,-6px,0) rotate(-1.5deg)}}@keyframes sway{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes spin-slow{to{transform:rotate(1turn)}}@keyframes ken-burns{0%{transform:scale(1.04) translateZ(0)}to{transform:scale(1.14) translate3d(-1.5%,-1.5%,0)}}@keyframes marquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pulse-ring{0%{transform:scale(.9);opacity:.55}70%{transform:scale(1.5);opacity:0}to{transform:scale(1.5);opacity:0}}.float{animation:float-y 7s ease-in-out infinite}.float-slow{animation:float-y 11s ease-in-out infinite}.float-drift{animation:float-xy 14s ease-in-out infinite}.sway{animation:sway 12s ease-in-out infinite;transform-origin:bottom center}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.js [data-reveal],.js [data-reveal]>[data-reveal-clip]{opacity:1!important;transform:none!important;-webkit-clip-path:none!important;clip-path:none!important}.float,.float-drift,.float-slow,.sway{animation:none!important}}