@layer components{.hero{position:relative;background:var(--bg)}.hero__panel{position:sticky;inset-block-start:var(--rail-height);block-size:calc(100lvh - var(--rail-height));display:grid;grid-template-rows:minmax(0,1fr);place-items:center;overflow:hidden;isolation:isolate;background:var(--bg)}@media (min-width:60rem){.hero__panel{inset-block-start:0;block-size:100lvh}.home{padding-inline:0}}.hero__link{display:block;position:relative;inline-size:100%;block-size:100%;background:var(--project-colour)}@media (min-width:60rem){.hero__link{justify-self:stretch;inline-size:auto;margin-inline:var(--rail-width) var(--margin-end)}}.hero__link .picture,.hero__link .picture img{inline-size:100%;block-size:100%;object-fit:cover;aspect-ratio:auto}.hero .hero__link .picture img,.hero .hero__link .picture--video .video__clip{object-position:var(--focus-mobile,var(--focus,50% 50%))}@media (min-width:60rem){.hero .hero__link .picture img,.hero .hero__link .picture--video .video__clip{object-position:var(--focus,50% 50%)}}.hero__link:focus-visible{outline:var(--focus-width) solid var(--focus-colour);outline-offset:calc(var(--focus-width) * -3)}.hero__panel{transition:translate var(--duration-slow) var(--ease-in-out)}.hero__panel.is-peeking{translate:0 calc(var(--peek-distance,2.5rem) * -1)}.hero__captions{position:fixed;inset-block-start:calc(var(--rail-height) + var(--space-s));inset-inline-end:var(--page-gutter);z-index:var(--z-raised);pointer-events:none}.hero__caption{position:absolute;inset-block-start:0;inset-inline-end:0;display:grid;gap:0;inline-size:max-content;max-inline-size:10rem;color:var(--fg);text-decoration:none;opacity:0;pointer-events:none;transition:opacity var(--duration-slow) var(--ease-in-out),transform var(--duration-base) var(--ease-out)}.hero__caption.is-active{opacity:1;pointer-events:auto}.hero__caption-title,.hero__caption-meta{font-size:var(--text--1);line-height:1.45;letter-spacing:var(--tracking-label)}.hero__caption:focus-visible{transform:translateX(0.35em)}@media (hover:hover){.hero__caption:hover{transform:translateX(0.35em)}}.hero__caption--soon{cursor:default}@media (hover:hover){.hero__caption--soon:hover{transform:none}}@media (min-width:60rem){.hero__captions{inset-block-start:var(--space-s);inset-inline-start:calc(100vw - var(--margin-end) + var(--space-s));inset-inline-end:var(--page-gutter)}.hero__caption{inset-inline-start:0;inset-inline-end:auto;inline-size:auto;max-inline-size:none}}@media (max-width:59.999rem){.hero__captions{display:none}}.hero__veil{position:absolute;inset:0;z-index:var(--z-raised);background:color-mix(in oklab,var(--colour-paper) 40%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:var(--veil-opacity,0)}:root.js .hero__veil{opacity:var(--veil-opacity,1)}:root.is-veil-easing .hero__veil,:root.is-veil-easing .hero__overlay{transition:opacity var(--duration-slow) var(--ease-in-out)}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.hero__veil{background:color-mix(in oklab,var(--colour-paper) 62%,transparent)}}:root.is-veil-clear .hero__veil{visibility:hidden}.hero__overlay{position:absolute;inset-block-end:clamp(var(--space-2xl),18vh,10rem);inset-inline-start:var(--page-gutter);z-index:var(--z-sticky);margin:0;color:var(--fg);opacity:var(--veil-opacity,1)}.hero__eyebrow{margin:0 0 var(--space-xs);font-family:var(--font-body);font-size:var(--text--1);line-height:var(--leading-tight);letter-spacing:var(--tracking-label)}.hero__intro{margin:0;font-family:var(--font-display);font-size:var(--text-life);line-height:var(--leading-display);letter-spacing:var(--tracking-display);max-inline-size:16em}:root[data-view='home']:not(.is-veil-clear) .rail,:root:not(.is-veil-clear) .hero__captions{filter:blur(calc(var(--veil-opacity,0) * 5px))}:root[data-view='home']:not(.is-veil-clear) .rail{will-change:filter}:root.is-veil-clear .hero__overlay{pointer-events:none}@media (max-width:59.999rem){:root.js[data-view='home'] .rail{transition:translate var(--duration-slow) var(--ease-out)}:root.js[data-view='home']:not(.is-veil-clear) .rail{translate:0 -100%}.hero__panel:first-child{inset-block-start:0;block-size:100lvh;margin-block-start:calc(var(--rail-height) * -1)}}@media (min-width:60rem){.hero__overlay{inset-block-start:50%;inset-block-end:auto;translate:0 -50%}}}@layer overrides{@media (prefers-reduced-motion:reduce){.hero__panel{transition:none;translate:none}.hero__caption{transition-duration:1ms}}}