.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 24%;min-height:min(46rem,calc(100svh - 4rem));overflow:hidden;--pivot-x:88%;--pivot-y:54%;--line-in-x:62%;--out-angle:-25deg;--out-len:28rem;--rings-w:clamp(14rem,26vw,22rem)}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;gap:var(--s-4);justify-content:center;padding:var(--s-6) var(--page-x);max-width:calc(40rem + 2 * var(--page-x))}.hero-copy .display{font-size:clamp(2.75rem,5.4vw,5.25rem)}.hero-copy .actions{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}.hero-margin{position:relative;margin:0;background:var(--moss-field);color:var(--on-field);display:flex;align-items:flex-end;padding:var(--s-4)}.hero-margin figcaption{position:relative;z-index:2;font-size:var(--fs-label);color:var(--on-field);border-top:var(--rule-w) solid color-mix(in srgb,var(--on-field) 50%,transparent);padding-top:var(--s-1);max-width:14em}.hero-margin figcaption b{display:block;font-weight:700;letter-spacing:var(--ls-label);text-transform:uppercase;margin-bottom:.25rem}.hero-margin figcaption span{opacity:.95}.transition{position:absolute;inset:0;z-index:1;pointer-events:none}.transition .seg{position:absolute;top:var(--pivot-y);height:1px;background:var(--adobe);filter:brightness(1.45);transform-origin:left center;transform:scaleX(0);animation:14s linear infinite}.transition .seg-in{left:var(--line-in-x);width:calc(var(--pivot-x) - var(--line-in-x));animation-name:seg-in}.transition .seg-out{left:var(--pivot-x);width:var(--out-len);rotate:var(--out-angle);animation-name:seg-out}@keyframes seg-in{0%{transform:scaleX(0);opacity:1}15%{transform:scaleX(1);opacity:1}80%{transform:scaleX(1);opacity:1}92%,to{transform:scaleX(1);opacity:0}}@keyframes seg-out{0%,15%{transform:scaleX(0);opacity:1}36%{transform:scaleX(1);opacity:1}80%{transform:scaleX(1);opacity:1}92%,to{transform:scaleX(1);opacity:0}}.transition .rings{position:absolute;left:var(--pivot-x);top:var(--pivot-y);width:var(--rings-w);height:auto;overflow:visible;transform:translate(-50%,-50%)}.transition .rings circle{stroke:var(--on-field);stroke-width:1;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;opacity:0;animation:ring-open 14s var(--ease-breath) infinite;animation-delay:calc(var(--k,0) * .22s)}.transition .rings .origin{fill:var(--adobe);filter:brightness(1.45);stroke:none;animation-name:origin-open}@keyframes ring-open{0%,15%{opacity:0;transform:scale(.55)}22%{opacity:.9;transform:scale(1)}80%{opacity:.9}92%,to{opacity:0}}@keyframes origin-open{0%,14%{opacity:0;transform:scale(.3)}16%{opacity:1;transform:scale(1.5)}20%{transform:scale(1)}80%{opacity:1}92%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.transition .seg,.transition .rings circle{animation:none;transform:none;opacity:1}.transition .seg-out{transform:scaleX(1)}.transition .rings circle{transform:none}}@media(max-width:64rem){.hero{grid-template-columns:1fr;min-height:0;--line-in-x:0%;--pivot-x:62%;--out-angle:-35deg;--out-len:20rem;--rings-w:clamp(11rem,46vw,16rem)}.hero-copy{max-width:none;padding-block:var(--s-5) var(--s-4)}.hero-margin{min-height:23rem;padding:var(--s-3) var(--page-x)}.transition{top:auto;height:23rem;bottom:0}.transition .seg,.transition .rings{top:32%}}.doors .module p{max-width:30em}.overlap{margin:0}.overlap svg{width:100%;max-width:56rem;margin-inline:auto;height:auto}.overlap .disc-a{fill:color-mix(in srgb,var(--adobe) 14%,transparent);stroke:var(--adobe);stroke-width:2}.overlap .disc-m{fill:color-mix(in srgb,var(--moss) 14%,transparent);stroke:var(--moss);stroke-width:2}.overlap .ring-a,.overlap .ring-m{fill:none;stroke-opacity:.3;transform-box:fill-box;transform-origin:center;animation:breathe 9s var(--ease-breath) infinite}.overlap .ring-a{stroke:var(--adobe)}.overlap .ring-m{stroke:var(--moss);animation-delay:-4.5s}@keyframes breathe{0%,to{transform:scale(.97);opacity:.5}50%{transform:scale(1.01);opacity:1}}.overlap text{font-family:var(--font-sans);text-anchor:middle;fill:var(--ink)}.overlap .v-label{font-size:13px;font-weight:600;letter-spacing:.14em}.overlap .v-a{fill:var(--adobe)}.overlap .v-m{fill:var(--moss)}.overlap .v-o{fill:var(--stone);font-size:11px}.overlap .v-title{font-size:21px;font-weight:600}.overlap .v-sub{font-size:15px;font-weight:600}
