@property --accent {
    syntax: "<color>";
    inherits: true;
    initial-value: #d8ff38;
}

:root {
    --paper: #ebe9e2;
    --ink: #111113;
    --accent: #d8ff38;
    --muted: #787771;
    transition: --accent 1.1s cubic-bezier(0.2, 0.8, 0.2, 1);
}

* {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
html {
    background: #020203;
}
body {
    margin: 0;
    color: #f7f7f5;
    background: #020203;
    font-family: Archivo, sans-serif;
    overflow-x: hidden;
}
a {
    color: inherit;
    text-decoration: none;
}
.mono {
    font-family: "JetBrains Mono", monospace;
}
html[data-minimal] .star-field {
    display: none;
}
.star-field {
    position: fixed;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
main,
.site-header {
    position: relative;
    z-index: 1;
}

.site-header {
    position: fixed;
    z-index: 20;
    inset: 0 0 auto;
    height: 58px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 0 24px;
    color: #f7f7f5;
    font:
        600 11px/1 "JetBrains Mono",
        monospace;
    text-transform: uppercase;
    opacity: var(--header-opacity, 1);
}
.site-header nav {
    display: flex;
    gap: 28px;
}
.site-header nav a {
    opacity: 0.55;
    transition: opacity 0.2s;
}
.site-header nav a:hover {
    opacity: 1;
}
.wordmark {
    font:
        800 18px/1 Archivo,
        sans-serif;
}
.project-index {
    justify-self: end;
}

.overview {
    min-height: 100svh;
    padding: 110px 24px 50px;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 65% 50%, #17232d16, transparent 42%);
}
.overview-inner {
    width: min(1120px, 100%);
    position: relative;
}
.breadcrumb {
    margin: 0 0 45px;
    color: #76767b;
    font-size: 18px;
}
.breadcrumb span {
    margin: 0 9px;
    color: #38383d;
}
.overview-title {
    display: grid;
    gap: 13px;
    color: #67676c;
}
.overview-meta {
    display: flex;
    gap: 12px;
    align-items: center;
}
.overview-meta i {
    color: #aaa9ae;
    font-style: normal;
}
.overview-meta i::before {
    content: "·";
    margin-right: 12px;
    color: #48484d;
}
.overview-title .overview-set-mark {
    margin: 4px 0;
    width: clamp(240px, 32vw, 430px);
    line-height: 0;
}
.overview-set-mark svg {
    display: block;
    width: 100%;
    height: auto;
}
.overview-set-mark path {
    fill: #f7f7f5;
}
.overview-credit {
    display: grid;
    gap: 7px;
}
.overview-credit p {
    margin: 0;
}
.overview-credit .mono {
    color: #4f4f54;
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.overview-copy {
    max-width: 1010px;
    margin: 45px 0;
    color: #aaa9ae;
    font-size: clamp(1.35rem, 2.15vw, 2rem);
    line-height: 1.52;
    letter-spacing: -0.02em;
}
.overview-copy-label {
    display: block;
    margin-bottom: 16px;
    color: #67676c;
    font-size: 9px;
    line-height: 1;
    letter-spacing: 0.14em;
}
.overview-premise {
    margin: 0;
    color: #c4c3c0;
    font-weight: 600;
}
.overview-technical {
    max-width: 880px;
    margin: 22px 0 0;
    color: #85858a;
    font-size: clamp(0.92rem, 1.2vw, 1.08rem);
    line-height: 1.65;
    letter-spacing: -0.01em;
}
.overview-facts {
    margin: 0 0 40px;
    padding: 20px 0;
    border-block: 1px solid #ffffff18;
}
.overview-facts dt {
    margin-bottom: 9px;
    color: #5f5f64;
    font-size: 8px;
    line-height: 1;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}
.overview-facts dd {
    margin: 0;
    color: #aaa9ae;
    font-size: clamp(0.72rem, 0.95vw, 0.88rem);
    line-height: 1.35;
}
.overview-details {
    display: grid;
    width: max-content;
    gap: 9px;
    color: #67676c;
    font-size: 17px;
}
.store-button {
    width: max-content;
    display: flex;
    align-items: center;
    gap: 9px;
    border-radius: 9px;
    padding: 7px 15px;
    background: #f7f7f5;
    color: #050506;
}
.store-button > span {
    font-size: 31px;
}
.store-button b {
    display: grid;
    font-size: 20px;
    line-height: 0.9;
}
.store-button small {
    font-size: 9px;
}
.enter-case {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 14px;
    color: #aaa9ae;
    font:
        10px "JetBrains Mono",
        monospace;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.enter-case i {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid #ffffff30;
    border-radius: 50%;
    font-style: normal;
}

.dive {
    height: 500svh;
    position: relative;
    z-index: 4;
}
.dive-sticky {
    position: sticky;
    top: 0;
    height: 100svh;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: transparent;
}
.dive-title {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 0.02em;
    margin: 0;
    text-align: center;
    font-size: clamp(4rem, 10vw, 10rem);
    line-height: 0.82;
    letter-spacing: -0.075em;
    transform: scale(calc(1 - var(--title-exit, 0) * 0.06));
    opacity: var(--title-opacity, 0);
}
.dive-title span {
    display: block;
    will-change: transform;
}
.dive-title span:nth-child(1) {
    transform: translateX(
        calc(
            (1 - var(--title-close, 0)) * -115vw + var(--title-exit, 0) * 125vw
        )
    );
}
.dive-title span:nth-child(2) {
    transform: translateX(
        calc((1 - var(--title-close, 0)) * 115vw - var(--title-exit, 0) * 125vw)
    );
}
.dive-title span:nth-child(3) {
    transform: translateX(
        calc(
            (1 - var(--title-close, 0)) * -115vw + var(--title-exit, 0) * 125vw
        )
    );
}
.portal {
    position: absolute;
    left: 50%;
    top: var(--portal-y, 50%);
    z-index: 1;
    width: 1px;
    height: 1px;
    transform: rotate(var(--portal-turn, 0deg));
}
.portal span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: var(--ring-size, calc(12vw * var(--ring)));
    aspect-ratio: 1;
    border: 1px solid color-mix(in srgb, var(--ring-color) 68%, transparent);
    border-radius: 42% 58% 55% 45% / 48% 38% 62% 52%;
    opacity: var(--ring-opacity, 0.72);
    transform: translate(-50%, -50%) rotate(calc(var(--ring) * 27deg));
    box-shadow: 0 0 45px color-mix(in srgb, var(--ring-color) 18%, transparent);
}
.portal span:nth-child(1) {
    --ring: 0.32;
    --ring-color: #fbbf24;
}
.portal span:nth-child(2) {
    --ring: 0.46;
    --ring-color: #fb7185;
}
.portal span:nth-child(3) {
    --ring: 0.6;
    --ring-color: #38bdf8;
}
.portal span:nth-child(4) {
    --ring: 0.74;
    --ring-color: #a78bfa;
}
.portal span:nth-child(5) {
    --ring: 0.87;
    --ring-color: #fb923c;
}
.portal span:nth-child(6) {
    --ring: 1;
    --ring-color: #34d399;
}

.white-veil {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 5;
    width: calc(5px + var(--white-fill, 0) * 220vmax);
    height: calc(5px + var(--white-fill, 0) * 220vmax);
    border-radius: 50%;
    background: #fff;
    opacity: var(--white-on, 0);
    transform: translate(-50%, -50%);
    box-shadow: 0 0 calc(18px + (1 - var(--white-fill, 0)) * 34px)
        calc((1 - var(--white-fill, 0)) * 5px) #ffffffc7;
    pointer-events: none;
}
.white-plate {
    position: absolute;
    inset: -2px;
    z-index: 6;
    background: #fff;
    opacity: var(--white-plate, 0);
    pointer-events: none;
}

.set-mark {
    position: absolute;
    inset: 0;
    z-index: 4;
    margin: 0;
    width: 100%;
    height: 100%;
    line-height: 0;
    opacity: var(--set-visible, 0);
    transform: none;
    transform-origin: center;
    will-change: transform, opacity;
    pointer-events: none;
}
.set-svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    will-change: contents;
}
.set-letter {
    transform-box: fill-box;
    transform-origin: center;
}
.set-contour {
    fill: none;
    stroke-dasharray: 1;
    stroke-linecap: round;
    stroke-linejoin: miter;
    vector-effect: non-scaling-stroke;
}
.contour-outer {
    stroke-dashoffset: calc(1 - var(--set-outline-outer, 0));
}
.contour-middle {
    stroke-dashoffset: calc(1 - var(--set-outline-middle, 0));
}
.contour-inner {
    stroke-dashoffset: calc(1 - var(--set-outline-inner, 0));
}
.set-face {
    fill: #fff;
}
.contour-outer {
    stroke-width: 24;
}
.contour-middle {
    stroke-width: 16;
}
.contour-inner {
    stroke-width: 8;
}
.letter-s .contour-outer {
    stroke: url(#set-hue-e);
}
.letter-s .contour-middle {
    stroke: url(#set-hue-t);
}
.letter-s .contour-inner {
    stroke: url(#set-hue-s);
}
.letter-e .contour-outer {
    stroke: url(#set-hue-t);
}
.letter-e .contour-middle {
    stroke: url(#set-hue-s);
}
.letter-e .contour-inner {
    stroke: url(#set-hue-e);
}
.letter-t .contour-outer {
    stroke: url(#set-hue-s);
}
.letter-t .contour-middle {
    stroke: url(#set-hue-e);
}
.letter-t .contour-inner {
    stroke: url(#set-hue-t);
}
.letter-s {
    filter: drop-shadow(0 0 12px #d8ff385c);
    transform: translate3d(
            calc(
                (1 - var(--set-assemble, 0)) * -10vw - var(--set-open, 0) * 90vw
            ),
            calc(var(--set-open, 0) * 70vh),
            0
        )
        rotate(
            calc(
                (1 - var(--set-assemble, 0)) * -4deg - var(--set-open, 0) *
                    14deg
            )
        );
}
.letter-e {
    filter: drop-shadow(0 0 12px #21b7ff5c);
    transform: translate3d(0, calc(var(--set-open, 0) * -115vh), 0)
        rotate(calc(var(--set-open, 0) * -3deg));
}
.letter-t {
    filter: drop-shadow(0 0 12px #ff2c965c);
    transform: translate3d(
            calc(
                (1 - var(--set-assemble, 0)) * 10vw + var(--set-open, 0) * 90vw
            ),
            calc(var(--set-open, 0) * 70vh),
            0
        )
        rotate(
            calc(
                (1 - var(--set-assemble, 0)) * 4deg + var(--set-open, 0) * 14deg
            )
        );
}
.train-memory {
    position: absolute;
    right: 4vw;
    bottom: 13vh;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    color: #b7b7b4;
    font:
        600 clamp(0.58rem, 0.7vw, 0.72rem)/1 "JetBrains Mono",
        monospace;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    white-space: nowrap;
    opacity: var(--memory-opacity, 0);
    transform: translate3d(
        calc(
            (1 - var(--memory-enter, 0)) * 55vw - var(--memory-exit, 0) * 125vw
        ),
        0,
        0
    );
    will-change: transform, opacity;
    pointer-events: none;
}
.train-memory::before {
    content: "";
    width: clamp(54px, 6vw, 96px);
    height: 2px;
    background: linear-gradient(
        90deg,
        #d8ff38,
        #ff7a28,
        #21b7ff,
        #9a7cff,
        #ff2c96,
        #f8e54f
    );
    box-shadow: 0 0 12px #21b7ff4d;
}

.story {
    position: relative;
    z-index: auto;
    margin-top: -160svh;
    background: transparent;
    color: #f6f4ed;
    transition: background-color 1.15s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.story::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: var(--story-veil, 0);
    background: linear-gradient(
        to bottom,
        transparent 0,
        rgba(0, 0, 0, 0.08) 8%,
        transparent 18%,
        transparent 82%,
        rgba(0, 0, 0, 0.12) 96%,
        transparent
    );
}
.phone-stage {
    position: sticky;
    z-index: 6;
    top: 0;
    height: 100svh;
    opacity: var(--phone-reveal, 0);
    transform: translateY(calc((1 - var(--phone-reveal, 0)) * 78vh))
        scale(calc(1.56 - var(--phone-reveal, 0) * 0.56));
    will-change: opacity, transform;
    display: grid;
    place-items: center;
    overflow: hidden;
    pointer-events: none;
}
.phone {
    width: min(25vw, 340px);
    aspect-ratio: 78 / 163.4;
    padding: 5px;
    border-radius: 52px;
    background: linear-gradient(
        102deg,
        #6f240c 0%,
        #d9571d 4%,
        #ff8745 12%,
        #d94c16 48%,
        #ff9a5f 82%,
        #8b2c0d 100%
    );
    box-shadow:
        0 40px 90px #000c,
        0 12px 30px #0009,
        inset 0 0 0 1px #ffb07b,
        inset 0 0 0 2px #8a2a0d;
    transform: perspective(1200px) rotateY(var(--phone-y, -10deg))
        rotateX(var(--phone-x, 3deg)) translateY(var(--phone-lift, 0))
        scale(var(--phone-scale, 1));
    transition: transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.phone::before,
.phone::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 3px;
    border-radius: 3px;
    background: linear-gradient(#f78a4b, #a73510 16%, #d84d17 84%, #762006);
    box-shadow:
        inset 0 0 0 1px #ff9c62a8,
        0 1px 2px #0008;
}
.phone::before {
    left: -3px;
    top: 19%;
    height: 8%;
    box-shadow:
        inset 0 0 0 1px #ff9c62a8,
        0 42px 0 #c74414,
        0 76px 0 #c74414,
        0 1px 2px #0008;
}
.phone::after {
    right: -3px;
    top: 27%;
    height: 14%;
    box-shadow:
        inset 0 0 0 1px #ff9c62a8,
        0 150px 0 #c74414,
        0 1px 2px #0008;
}
.phone-screen {
    position: relative;
    height: 100%;
    overflow: hidden;
    border: 1px solid #160905;
    border-radius: 47px;
    background: #0b0b0d;
    color: white;
    box-shadow:
        0 0 0 1px #ffb18366,
        inset 0 0 5px #000;
}
.phone-island {
    position: absolute;
    z-index: 8;
    top: 17px;
    left: 50%;
    width: 88px;
    height: 24px;
    border: 1px solid #171719;
    border-radius: 20px;
    background: #020203;
    box-shadow:
        inset 0 1px 1px #252529,
        0 1px 2px #0008;
    transform: translateX(-50%);
}
.screen {
    position: absolute;
    inset: 0;
    padding: 62px 18px 60px;
    opacity: 0;
    transform: translateY(18px) scale(0.985);
    transition:
        opacity 0.85s cubic-bezier(0.2, 0.8, 0.2, 1),
        transform 0.85s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.screen.is-active {
    opacity: 1;
    transform: none;
}
.screen-capture {
    padding: 0;
    background: #000;
}
.screen-capture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.screen-board .board-page {
    height: auto;
    object-fit: initial;
    transform: translateY(var(--board-offset, 0px));
    will-change: transform;
}
.screen-board .board-nav {
    position: absolute;
    z-index: 2;
    inset: auto 0 0;
    height: auto;
    object-fit: initial;
}
.workout-frame {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: #000;
    will-change: transform, opacity;
}
.workout-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.workout-live-start-frame {
    z-index: 1;
    opacity: calc(1 - var(--workout-picker-enter, 0));
    transform: scale(calc(1 - var(--workout-picker-enter, 0) * 0.025));
}
.workout-picker-frame {
    z-index: 2;
    opacity: calc(
        var(--workout-picker-enter, 0) * (1 - var(--workout-final-enter, 0))
    );
    transform: translateY(calc((1 - var(--workout-picker-enter, 0)) * 10%))
        scale(calc(0.97 + var(--workout-picker-enter, 0) * 0.03));
}
.workout-live-final-frame {
    z-index: 3;
    opacity: var(--workout-final-enter, 0);
    transform: translateY(calc((1 - var(--workout-final-enter, 0)) * 10%));
}
.picker-state {
    position: absolute;
    inset: -4% 0;
    height: 108% !important;
    will-change: transform, opacity;
}
.picker-state-110 {
    opacity: calc(1 - var(--workout-picker-scroll, 0));
    transform: none;
}
.picker-state-140 {
    opacity: var(--workout-picker-scroll, 0);
    transform: none;
}
.picker-weight-readout {
    position: absolute;
    z-index: 3;
    top: 49%;
    left: 54%;
    width: 37%;
    height: 9%;
    display: grid;
    align-content: center;
    justify-items: start;
    color: #f5f4f4;
    background: #000;
}
.picker-weight-readout small {
    display: none;
}
.picker-weight-readout strong {
    position: relative;
    z-index: 1;
    padding-inline: 4px 10px;
    background: #000;
    font:
        500 56px Archivo,
        sans-serif;
    line-height: 0.98;
    letter-spacing: -0.09em;
    font-variant-numeric: tabular-nums;
}
.picker-weight-readout span {
    display: none;
}
.workout-step {
    position: absolute;
    z-index: 5;
    right: 13px;
    bottom: 15px;
    width: 34px;
    height: 2px;
    overflow: hidden;
    background: #ffffff26;
}
.workout-step span {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--accent);
    transform-origin: left;
    transform: scaleX(var(--workout-step, 0));
}
.nutrition-frame {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: #000;
    will-change: transform, opacity, clip-path;
}
.nutrition-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
.nutrition-week-frame {
    transform: scale(calc(1 - var(--nutrition-add, 0) * 0.025));
    filter: brightness(calc(1 - var(--nutrition-add, 0) * 0.28));
}
.nutrition-add-frame {
    opacity: var(--nutrition-add, 0);
    clip-path: inset(calc((1 - var(--nutrition-add, 0)) * 100%) 0 0);
    transform: translateY(calc((1 - var(--nutrition-add, 0)) * 9%));
}
.nutrition-progress {
    position: absolute;
    z-index: 4;
    left: 18px;
    right: 18px;
    bottom: 18px;
    height: 2px;
    overflow: hidden;
    background: #ffffff24;
}
.nutrition-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: #ff5fc3;
    transform: scaleX(var(--nutrition-progress, 0));
    transform-origin: left;
    box-shadow: 0 0 14px #ff5fc3;
}
.screen-capture.is-active ~ .prototype-tab-bar {
    opacity: 0;
}
.app-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
}
.app-top span {
    font:
        10px "JetBrains Mono",
        monospace;
    color: var(--accent);
}
.board-intro {
    margin: 30px 0 20px;
    font-size: 26px;
    line-height: 0.95;
    font-weight: 700;
    letter-spacing: -0.05em;
}
.lane {
    height: 66px;
    margin-top: 6px;
    border-top: 1px solid #ffffff20;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.screen-board .lane {
    opacity: var(--lane-opacity, 1);
    transform: translateX(var(--lane-shift, 0));
}
.screen-board .lane:nth-of-type(1) {
    transition-delay: 0ms;
}
.screen-board .lane:nth-of-type(2) {
    transition-delay: 45ms;
}
.screen-board .lane:nth-of-type(3) {
    transition-delay: 90ms;
}
.screen-board .lane:nth-of-type(4) {
    transition-delay: 135ms;
}
.screen-board .lane:nth-of-type(5) {
    transition-delay: 180ms;
}
.screen-board .lane:nth-of-type(6) {
    transition-delay: 225ms;
}
.lane b {
    font-size: 20px;
    letter-spacing: -0.04em;
}
.lane span {
    font:
        7px "JetBrains Mono",
        monospace;
}
.lane-shoulders b {
    color: #d8ff38;
}
.lane-chest b {
    color: #ff7a28;
}
.lane-back b {
    color: #21b7ff;
}
.lane-arms b {
    color: #ff2c96;
}
.lane-core b {
    color: #9a7cff;
}
.lane-legs b {
    color: #f8e54f;
}
.eyebrow {
    margin-top: 70px;
    font-size: 9px;
    color: var(--accent);
}
.weight {
    margin-top: 10px;
    font-size: 68px;
    font-weight: 800;
    letter-spacing: -0.08em;
}
.weight small {
    font:
        10px "JetBrains Mono",
        monospace;
}
.reps {
    display: flex;
    align-items: baseline;
    gap: 10px;
    border-block: 1px solid #2d2d30;
    padding: 20px 0;
}
.reps span {
    font-size: 110px;
    font-weight: 700;
    line-height: 0.8;
}
.reps small {
    font:
        10px "JetBrains Mono",
        monospace;
}
.screen-log button {
    border: 0;
    width: 100%;
    margin-top: 18px;
    padding: 15px;
    background: var(--accent);
    border-radius: 99px;
    font: 800 13px Archivo;
    transform: scale(var(--log-press, 1));
    box-shadow: 0 0 calc(var(--log-glow, 0) * 38px)
        color-mix(in srgb, var(--accent) 68%, transparent);
}
.last-set {
    margin-top: 18px;
    color: #77777d;
    font-size: 8px;
    line-height: 1.7;
}
.chart {
    margin-top: 35px;
    width: 100%;
    overflow: visible;
}
.chart-grid {
    stroke: #ffffff15;
    stroke-width: 1;
}
.chart-line {
    fill: none;
    stroke: var(--accent);
    stroke-width: 3;
    stroke-dasharray: 480;
    stroke-dashoffset: calc(480 - var(--chart-progress, 0) * 480);
}
.chart circle {
    fill: var(--accent);
    opacity: var(--chart-progress, 0);
}
.growth-stat {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 16px 0;
    border-top: 1px solid #28282c;
}
.growth-stat strong {
    font-size: 42px;
}
.growth-stat span {
    font:
        8px "JetBrains Mono",
        monospace;
    color: #818188;
}
.tab-bar {
    position: absolute;
    inset: auto 14px 12px;
    height: 44px;
    border-radius: 30px;
    background: #202024e8;
    display: flex;
    justify-content: space-around;
    align-items: center;
    font:
        7px "JetBrains Mono",
        monospace;
    transition: opacity 0.55s;
}
.tab-bar span:first-child {
    color: var(--accent);
}
.orbit {
    position: absolute;
    border: 1px solid color-mix(in srgb, var(--accent) 36%, transparent);
    border-radius: 50%;
    opacity: var(--ring-reveal, 0);
    scale: calc(0.72 + var(--ring-reveal, 0) * 0.28);
    transition: border-color 1.1s;
    will-change: opacity, scale;
}
.orbit-one {
    width: 68vw;
    height: 68vw;
}
.orbit-two {
    width: 45vw;
    height: 45vw;
    transform: rotate(35deg) scaleY(0.42);
}
.stage-label {
    position: absolute;
    bottom: 25px;
    right: 25px;
    font-size: 9px;
    opacity: calc(var(--ring-reveal, 0) * 0.45);
    writing-mode: vertical-rl;
}

.chapter {
    min-height: 130svh;
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 18vh 6vw;
    pointer-events: none;
}
.chapter-board {
    min-height: 250svh;
}
.chapter-log {
    min-height: 400svh;
}
.chapter-growth {
    min-height: 240svh;
}
.chapter-nutrition {
    min-height: 230svh;
}
.chapter-board .chapter-copy {
    position: sticky;
    top: 16svh;
    align-self: start;
}
.chapter-log .chapter-copy {
    position: sticky;
    top: 22svh;
    align-self: start;
}
.chapter-growth .chapter-copy {
    position: sticky;
    top: 27svh;
    align-self: start;
}
.chapter-nutrition .chapter-copy {
    position: sticky;
    top: 22svh;
    align-self: start;
}
.chapter-copy {
    align-self: center;
    max-width: 400px;
}
.chapter-copy-right {
    grid-column: 2;
    justify-self: end;
    padding-left: clamp(52px, 6vw, 104px);
}
.chapter-number {
    color: var(--accent);
    font-size: 9px;
    margin-bottom: 24px;
}
.chapter h2 {
    font-size: clamp(3rem, 6vw, 6.5rem);
    line-height: 0.85;
    letter-spacing: -0.07em;
    margin: 0 0 28px;
}
.chapter-copy > p:not(.chapter-number) {
    color: #aaa9a4;
    font-size: 15px;
    line-height: 1.55;
    max-width: 34em;
}
.chapter-log h2 {
    font-size: clamp(4.4rem, 7.2vw, 8rem);
    opacity: var(--log-copy-enter, 0);
    transform: translate3d(calc((1 - var(--log-copy-enter, 0)) * -72vw), 0, 0);
    will-change: transform, opacity;
}
.chapter-log .chapter-copy > p:not(.chapter-number),
.chapter-log dl {
    opacity: var(--log-copy-enter, 0);
    transform: translate3d(calc((1 - var(--log-copy-enter, 0)) * 72vw), 0, 0);
    will-change: transform, opacity;
}
.chapter-log .chapter-copy > p:not(.chapter-number) {
    font-size: 17px;
    line-height: 1.62;
}
.chapter-log .chapter-number {
    opacity: var(--log-copy-enter, 0);
}
.chapter-log dt {
    font-size: 30px;
}
.chapter dl {
    display: flex;
    gap: 45px;
    border-top: 1px solid #ffffff24;
    margin-top: 35px;
    padding-top: 18px;
}
.chapter dl div {
    display: grid;
    gap: 4px;
}
.chapter dt {
    font-size: 25px;
    font-weight: 700;
}
.chapter dd {
    margin: 0;
    font:
        8px "JetBrains Mono",
        monospace;
    color: #85858b;
    text-transform: uppercase;
}

.decision-stage {
    position: relative;
    width: 100%;
    min-height: 540px;
}
.decision-beat {
    position: absolute;
    inset: 0;
    will-change: opacity, transform, filter;
}
.decision-beat > p:not(.chapter-number) {
    color: #aaa9a4;
    font-size: 15px;
    line-height: 1.55;
    max-width: 34em;
}
.board-decision-stage {
    grid-column: 1 / -1;
    justify-self: stretch;
    max-width: none;
    width: 100%;
}
.board-decision-stage .decision-beat {
    width: min(400px, calc(50% - clamp(150px, 17vw, 245px)));
}
.board-decision-stage .board-story-primary {
    inset: 0 auto auto 0;
    opacity: calc(1 - var(--board-decision, 0));
    transform: translate3d(
        calc(var(--board-decision, 0) * -18vw),
        calc(var(--board-decision, 0) * -2vh),
        0
    );
    filter: blur(calc(var(--board-decision, 0) * 10px));
}
.board-decision-stage .board-decision {
    inset: 8vh 0 auto auto;
    opacity: var(--board-decision, 0);
    transform: translate3d(
        calc((1 - var(--board-decision, 0)) * 14vw),
        calc((1 - var(--board-decision, 0)) * 12vh),
        0
    );
    filter: blur(calc((1 - var(--board-decision, 0)) * 8px));
}
.evolution {
    margin-top: 34px;
    border-top: 1px solid #ffffff24;
    padding-top: 18px;
}
.evolution ol {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin: 0;
    padding: 0 0 18px;
    color: #77777c;
    font-size: 7px;
    line-height: 1.35;
    list-style: none;
    text-transform: uppercase;
}
.evolution ol::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    height: 1px;
    background: linear-gradient(90deg, #ffffff24, var(--accent));
    transform: scaleX(var(--board-decision, 0));
    transform-origin: left;
}
.evolution li {
    position: relative;
}
.evolution li::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -16px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
}
.evolution li:last-child {
    color: var(--accent);
}
.evolution > p {
    margin: 16px 0 0;
    color: #77777c;
    font-size: 11px;
    line-height: 1.5;
}

.log-decision-stage {
    grid-column: 1 / -1;
    justify-self: stretch;
    max-width: none;
    width: 100%;
}
.log-decision-stage .decision-beat {
    width: min(400px, calc(50% - clamp(150px, 17vw, 245px)));
}
.log-decision-stage .log-story-primary {
    inset: 0 0 auto auto;
    opacity: var(--log-primary, 0);
    transform: translate3d(
        calc(
            (1 - var(--log-copy-enter, 0)) * 14vw +
                (1 - var(--log-primary, 0)) * 18vw
        ),
        calc((1 - var(--log-copy-enter, 0)) * 4vh),
        0
    );
    filter: blur(calc((1 - var(--log-primary, 0)) * 10px));
}
.log-decision-stage .log-decision {
    inset: -3vh auto auto 0;
    opacity: var(--log-decision, 0);
    transform: translate3d(
        calc((1 - var(--log-decision, 0)) * -14vw),
        calc((1 - var(--log-decision, 0)) * 12vh),
        0
    );
    filter: blur(calc((1 - var(--log-decision, 0)) * 8px));
}
.log-decision-stage .log-testing {
    inset: 5vh 0 auto auto;
    opacity: var(--log-testing, 0);
    transform: translate3d(
        calc((1 - var(--log-testing, 0)) * 14vw),
        calc((1 - var(--log-testing, 0)) * 12vh),
        0
    );
    filter: blur(calc((1 - var(--log-testing, 0)) * 8px));
}
.chapter-log .decision-beat h2 {
    font-size: clamp(3.5rem, 6.4vw, 7rem);
}
.chapter-log .decision-beat > p:not(.chapter-number) {
    font-size: 17px;
    line-height: 1.62;
}
.chapter-log .decision-beat dt {
    font-size: clamp(19px, 2vw, 30px);
}

.outro {
    min-height: 270svh;
    position: relative;
    z-index: 5;
    margin-top: -34svh;
    background: transparent;
}
.outro-sticky {
    position: sticky;
    top: 0;
    height: 100svh;
    overflow: visible;
    padding: 8vh 4vw 3vh;
    isolation: isolate;
}
.result-field {
    position: fixed;
    z-index: -2;
    left: 50%;
    top: 98vh;
    width: 190vmax;
    height: 190vmax;
    border-radius: 50%;
    background: var(--result-color, #ff5fc3);
    transform: translate(-50%, -50%) scale(var(--result-reveal, 0));
    transform-origin: center;
    box-shadow: 0 0 12vmax
        color-mix(in srgb, var(--result-color, #ff5fc3) 50%, transparent);
    will-change: transform;
}
.result-field::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    opacity: calc(var(--result-reveal, 0) * 0.2);
    background:
        radial-gradient(circle at 50% 35%, #73d7ff55, transparent 34%),
        radial-gradient(circle at 12% 78%, #006c9c33, transparent 38%);
}
.result-trails {
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: var(--result-trails, 0);
    transform: translateY(calc((1 - var(--result-trails, 0)) * -8vh));
    pointer-events: none;
}
.result-trails span {
    position: absolute;
    left: -8vw;
    right: -8vw;
    top: calc(19% + var(--trail) * 9.5%);
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--trail-color) 16%,
        var(--trail-color) 84%,
        transparent
    );
    box-shadow: 0 0 22px color-mix(in srgb, var(--trail-color) 26%, transparent);
    transform: scaleX(var(--result-trails, 0)) skewY(-2deg);
}
.result-trails span:nth-child(1) {
    --trail: 0;
    --trail-color: #fbbf24;
}
.result-trails span:nth-child(2) {
    --trail: 1;
    --trail-color: #fb7185;
}
.result-trails span:nth-child(3) {
    --trail: 2;
    --trail-color: #38bdf8;
}
.result-trails span:nth-child(4) {
    --trail: 3;
    --trail-color: #a78bfa;
}
.result-trails span:nth-child(5) {
    --trail: 4;
    --trail-color: #fb923c;
}
.result-trails span:nth-child(6) {
    --trail: 5;
    --trail-color: #34d399;
}
.result-label {
    position: absolute;
    z-index: 2;
    top: 12vh;
    left: 4vw;
    margin: 0;
    font-size: 10px;
    letter-spacing: 0.08em;
    opacity: var(--outro-label, 0);
    transform: translateY(calc((1 - var(--outro-label, 0)) * 14px));
}
.outro h2 {
    position: relative;
    z-index: 2;
    display: grid;
    align-content: start;
    height: 100%;
    margin: 0;
    padding-top: 18vh;
    color: #f7f7f5;
    font-size: clamp(4rem, 9.4vw, 10.5rem);
    line-height: 0.79;
    letter-spacing: -0.078em;
}
.result-line {
    display: block;
    width: max-content;
    max-width: 100%;
    will-change: transform, opacity, filter;
}
.result-line-one {
    opacity: var(--result-line-1, 0);
    transform: translate3d(calc((1 - var(--result-line-1, 0)) * -112vw), 0, 0);
}
.result-line-two {
    justify-self: end;
    opacity: var(--result-line-2, 0);
    transform: translate3d(calc((1 - var(--result-line-2, 0)) * 112vw), 0, 0);
}
.result-line-three {
    opacity: var(--result-line-3, 0);
    transform: translate3d(0, calc((1 - var(--result-line-3, 0)) * 42vh), 0)
        scale(calc(0.94 + var(--result-line-3, 0) * 0.06));
    filter: blur(calc((1 - var(--result-line-3, 0)) * 4px));
}
.logo-playground {
    position: absolute;
    z-index: 3;
    right: 4vw;
    bottom: 8vh;
    width: clamp(230px, 25vw, 390px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    perspective: 1100px;
    cursor: grab;
    touch-action: none;
    user-select: none;
    opacity: var(--outro-logo, 0);
    transform: translate3d(0, calc((1 - var(--outro-logo, 0)) * 42px), 0)
        scale(calc(0.86 + var(--outro-logo, 0) * 0.14));
    outline: none;
    isolation: isolate;
}
.logo-playground::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 8%;
    border: 1px solid #ffffff24;
    border-radius: 50%;
    opacity: 0.35;
    transform: scale(0.82);
    transition:
        opacity 0.45s,
        transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.logo-playground:hover::before,
.logo-playground:focus-visible::before {
    opacity: 0.78;
    transform: scale(1);
}
.logo-playground:active {
    cursor: grabbing;
}
.logo-playground.is-over-hue {
    cursor: pointer;
}
.logo-playground:focus-visible {
    outline: 1px solid #fff9;
    outline-offset: 10px;
    border-radius: 50%;
}
.logo-canvas {
    width: 100%;
    height: 100%;
    display: block;
    filter: drop-shadow(0 28px 24px #00536f70);
}
.logo-hint {
    position: absolute;
    bottom: -3px;
    padding: 7px 10px;
    border: 1px solid #ffffff24;
    border-radius: 999px;
    background: #071c2633;
    backdrop-filter: blur(8px);
    font-size: 8px;
    letter-spacing: 0.13em;
    opacity: 0.72;
    transition:
        opacity 0.25s,
        background-color 0.25s,
        transform 0.25s;
}
.logo-playground:hover .logo-hint,
.logo-playground:focus-visible .logo-hint {
    opacity: 1;
    background: #071c265c;
    transform: translateY(-2px);
}
.logo-muscle-label {
    position: absolute;
    bottom: 34px;
    padding: 5px 8px;
    color: #fff;
    background: #001d1e8a;
    border-radius: 999px;
    font-size: 8px;
    letter-spacing: 0.12em;
    opacity: 0;
    transform: translateY(5px);
    transition:
        opacity 0.28s ease,
        transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}
.logo-playground.is-over-hue .logo-muscle-label {
    opacity: 1;
    transform: translateY(0);
}
.outro-bottom {
    position: absolute;
    z-index: 4;
    inset: auto 4vw 3vh;
    border-top: 1px solid #071c2638;
    padding-top: 18px;
    display: flex;
    justify-content: space-between;
    font:
        10px "JetBrains Mono",
        monospace;
    text-transform: uppercase;
    opacity: var(--outro-footer, 0);
    transform: translateY(calc((1 - var(--outro-footer, 0)) * 16px));
}
.phone-stage {
    translate: 0 calc(var(--result-phone-exit, 0) * -52vh);
    scale: calc(1 - var(--result-phone-exit, 0) * 0.16);
    opacity: min(var(--phone-reveal, 0), calc(1 - var(--result-phone-exit, 0)));
}

.muscle-gallery[hidden] {
    display: none;
}
.muscle-gallery {
    --muscle-color: #38bdf8;
    position: fixed;
    z-index: 100;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(270px, 0.82fr) minmax(320px, 1.18fr);
    align-items: center;
    gap: clamp(30px, 7vw, 120px);
    padding: 6vh 8vw;
    opacity: 0;
    isolation: isolate;
    transition: opacity 0.62s ease;
}
.muscle-gallery.is-open {
    opacity: 1;
}
.muscle-gallery-backdrop {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    border: 0;
    padding: 0;
    cursor: zoom-out;
    background:
        radial-gradient(
            circle at 71% 50%,
            color-mix(in srgb, var(--muscle-color) 12%, transparent),
            transparent 27%
        ),
        linear-gradient(112deg, #0202038f, #02020366 58%, #020203a6);
}
.muscle-gallery::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 62%;
    top: 50%;
    width: min(66vh, 52vw);
    aspect-ratio: 1;
    border: 1px solid color-mix(in srgb, var(--muscle-color) 34%, transparent);
    border-radius: 50%;
    box-shadow: 0 0 120px
        color-mix(in srgb, var(--muscle-color) 22%, transparent);
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.72);
    transition:
        opacity 0.8s 0.15s ease,
        transform 1.15s cubic-bezier(0.16, 1, 0.3, 1);
}
.muscle-gallery.is-open::before {
    opacity: 0.76;
    transform: translate(-50%, -50%) scale(1);
}
.muscle-gallery-copy {
    position: relative;
    z-index: 2;
    max-width: 470px;
    opacity: 0;
    transform: translate3d(-34px, 0, 0);
    transition:
        opacity 0.5s 0.34s ease,
        transform 0.85s 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.muscle-gallery.is-open .muscle-gallery-copy {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
.muscle-gallery-kicker {
    margin: 0 0 24px;
    color: color-mix(in srgb, var(--muscle-color) 82%, #fff);
    font-size: 9px;
    letter-spacing: 0.12em;
}
.muscle-gallery-copy h3 {
    margin: 0;
    color: #f7f7f5;
    font-size: clamp(4.5rem, 9vw, 10rem);
    line-height: 0.8;
    letter-spacing: -0.075em;
    text-transform: uppercase;
}
.muscle-gallery-copy > p:not(.muscle-gallery-kicker) {
    max-width: 31em;
    margin: 32px 0 28px;
    color: #a8a8a3;
    font-size: 15px;
    line-height: 1.55;
}
.muscle-gallery-details {
    margin: 0 0 32px;
    padding: 0;
    border-top: 1px solid #ffffff1f;
}
.muscle-gallery-details > div {
    display: grid;
    grid-template-columns: 94px 1fr;
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px solid #ffffff14;
}
.muscle-gallery-details dt {
    padding-top: 2px;
    color: #718082;
    font-size: 8px;
    letter-spacing: 0.13em;
}
.muscle-gallery-details dd {
    min-width: 0;
    margin: 0;
}
.muscle-gallery-details strong {
    display: block;
    margin-bottom: 4px;
    color: var(--muscle-color);
    font:
        600 10px/1.25 "JetBrains Mono",
        monospace;
    letter-spacing: 0.04em;
}
.muscle-gallery-details dd span {
    display: block;
    max-width: 31em;
    color: #849092;
    font-size: 11px;
    line-height: 1.4;
}
.muscle-gallery-return {
    color: #718082;
    font-size: 8px;
    letter-spacing: 0.14em;
}
.muscle-screen-shell {
    position: relative;
    z-index: 2;
    justify-self: center;
    width: min(38vh, 31vw, 410px);
    aspect-ratio: 1320 / 2720;
    margin: 0;
    overflow: visible;
    border-radius: 30px;
    background: #000;
    box-shadow:
        0 46px 90px #0009,
        0 0 0 1px color-mix(in srgb, var(--muscle-color) 36%, #ffffff20),
        0 0 74px color-mix(in srgb, var(--muscle-color) 18%, transparent);
    will-change: transform, opacity;
}
.muscle-screen-image {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    background: #000;
}
.muscle-gallery-close {
    position: absolute;
    z-index: 3;
    left: 2.2%;
    top: 1.5%;
    width: 13%;
    min-width: 42px;
    aspect-ratio: 1;
    border: 0;
    border-radius: 50%;
    padding: 0;
    background: transparent;
    cursor: pointer;
}
.muscle-gallery-close:focus-visible {
    outline: 1px solid var(--muscle-color);
    outline-offset: 3px;
}
.muscle-screen-shell figcaption {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 16px);
    display: flex;
    justify-content: space-between;
    color: #8d999a;
    font-size: 8px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.muscle-screen-shell figcaption span:first-child {
    color: var(--muscle-color);
}
.muscle-gallery-visible {
    overflow: hidden;
}
.site-header {
    transition: opacity 0.4s ease;
}
.muscle-gallery-visible .site-header {
    opacity: 0;
    pointer-events: none;
}
.result-field,
.result-trails,
.outro-title,
.result-label,
.logo-playground,
.outro-bottom {
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}
.muscle-gallery-visible .result-field,
.muscle-gallery-visible .result-trails,
.muscle-gallery-visible .outro-title,
.muscle-gallery-visible .result-label,
.muscle-gallery-visible .logo-playground,
.muscle-gallery-visible .outro-bottom {
    opacity: 0 !important;
}

@supports (animation-timeline: view()) {
    .chapter-copy {
        animation: chapter-copy-reveal linear both;
        animation-timeline: view(block);
        animation-range: cover 8% cover 92%;
    }

    .chapter-board,
    .chapter-log,
    .chapter-growth,
    .chapter-nutrition {
        view-timeline: --chapter-hold block;
    }
    .chapter-board .chapter-copy,
    .chapter-log .chapter-copy,
    .chapter-growth .chapter-copy,
    .chapter-nutrition .chapter-copy {
        animation-name: log-copy-hold;
        animation-timeline: --chapter-hold;
        animation-range: cover 7% cover 88%;
    }

    @keyframes chapter-copy-reveal {
        0% {
            opacity: 0;
            transform: translateY(54px);
        }
        28%,
        66% {
            opacity: 1;
            transform: translateY(0);
        }
        100% {
            opacity: 0.18;
            transform: translateY(-30px);
        }
    }

    @keyframes log-copy-hold {
        0% {
            opacity: 0;
            transform: translateY(42px);
        }
        14%,
        84% {
            opacity: 1;
            transform: translateY(0);
        }
        100% {
            opacity: 0;
            transform: translateY(-34px);
        }
    }
}

@media (max-width: 760px) {
    .site-header nav {
        display: none;
    }
    .site-header {
        grid-template-columns: 1fr 1fr;
    }
    .project-index {
        display: block;
    }
    .overview {
        padding-top: 90px;
        align-items: start;
    }
    .overview-copy {
        margin: 34px 0;
    }
    .overview-facts {
        padding: 18px 0;
    }
    .overview-facts dd {
        font-size: 0.75rem;
    }
    .enter-case {
        position: static;
        margin-top: 40px;
        justify-content: flex-end;
    }
    .dive-title {
        font-size: 17vw;
    }
    .train-memory {
        right: 24px;
        bottom: 15vh;
        gap: 10px;
        font-size: 0.52rem;
    }
    .train-memory::before {
        width: 44px;
    }
    .phone {
        width: 58vw;
        transform: perspective(900px) rotateY(var(--phone-y, -8deg))
            rotateX(var(--phone-x, 2deg)) translateY(var(--phone-lift, -10vh))
            scale(0.88);
    }
    .chapter {
        min-height: 145svh;
        grid-template-columns: 1fr;
        padding: 82vh 24px 14vh;
    }
    .chapter-board,
    .chapter-log {
        z-index: 7;
        min-height: auto;
    }
    .chapter-growth {
        min-height: 170svh;
    }
    .chapter-copy-right {
        grid-column: 1;
        justify-self: start;
        padding-left: 0;
    }
    .chapter-board .chapter-copy {
        position: relative;
        top: auto;
    }
    .chapter-log .chapter-copy {
        position: relative;
        top: auto;
    }
    .chapter-growth .chapter-copy {
        position: relative;
        top: auto;
    }
    .chapter-nutrition .chapter-copy {
        position: relative;
        top: auto;
    }
    .chapter h2 {
        font-size: 16vw;
    }
    .decision-stage {
        width: auto;
        min-height: 0;
        margin-inline: -24px;
        padding: 8vh 24px 12vh;
        background: linear-gradient(180deg, transparent, #100f12 5vh, #100f12);
    }
    .board-decision-stage {
        grid-column: 1;
        max-width: 400px;
    }
    .board-decision-stage .decision-beat {
        width: auto;
    }
    .log-decision-stage {
        grid-column: 1;
        max-width: 400px;
    }
    .log-decision-stage .decision-beat {
        width: auto;
    }
    .decision-beat {
        position: relative;
        inset: auto;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
    .decision-beat + .decision-beat {
        margin-top: 16vh;
        border-top: 1px solid #ffffff24;
        padding-top: 12vh;
    }
    .log-decision-stage .log-decision {
        margin-top: 8vh;
    }
    .chapter-log .decision-beat h2,
    .chapter-log .decision-beat > p:not(.chapter-number),
    .chapter-log .decision-beat dl,
    .chapter-log .chapter-number {
        opacity: 1 !important;
        transform: none !important;
    }
    .orbit-one {
        width: 130vw;
        height: 130vw;
    }
    .orbit-two {
        width: 95vw;
        height: 95vw;
    }
    .outro {
        margin-top: -18svh;
    }
    .outro h2 {
        padding-top: 19vh;
        font-size: 14vw;
        line-height: 0.84;
    }
    .result-label {
        left: 24px;
    }
    .logo-playground {
        right: 24px;
        bottom: 10vh;
        width: 52vw;
    }
    .muscle-gallery {
        grid-template-columns: 1fr;
        align-content: center;
        gap: 24px;
        padding: 68px 24px 44px;
    }
    .muscle-gallery-copy {
        position: absolute;
        z-index: 3;
        left: 24px;
        right: 24px;
        top: 24px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .muscle-gallery-kicker {
        margin: 0;
    }
    .muscle-gallery-copy h3 {
        font-size: 12px;
        line-height: 1;
        letter-spacing: 0.03em;
        color: var(--muscle-color);
    }
    .muscle-gallery-copy > p:not(.muscle-gallery-kicker),
    .muscle-gallery-details,
    .muscle-gallery-return {
        display: none;
    }
    .muscle-screen-shell {
        width: min(82vw, 40vh, 390px);
    }
    .muscle-gallery::before {
        left: 50%;
        width: 96vw;
    }
    .muscle-screen-shell figcaption {
        top: calc(100% + 10px);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    .phone,
    .screen,
    .orbit {
        transition: none;
    }
    .dive {
        height: 100svh;
    }
    .dive-title {
        opacity: 0;
    }
    .train-memory {
        opacity: 1;
        transform: none;
    }
    .white-veil,
    .white-plate {
        opacity: 0;
    }
    .set-mark {
        opacity: 1;
    }
    .set-mark path {
        transform: none !important;
        opacity: 1 !important;
    }
    .phone-stage {
        opacity: 1;
        transform: none;
        translate: none;
        scale: none;
    }
    .chapter-log h2,
    .chapter-log .chapter-copy > p:not(.chapter-number),
    .chapter-log dl {
        opacity: 1;
        transform: none;
    }
    .decision-beat {
        filter: none !important;
    }
    .result-field {
        transform: translate(-50%, -50%) scale(1);
    }
    .result-trails {
        display: none;
    }
    .outro-title span {
        transform: none;
        opacity: 1;
    }
    .outro-sticky > p,
    .outro-bottom {
        opacity: 1;
        transform: none;
    }
    .logo-playground {
        opacity: 1;
        transform: none;
    }
    .workout-live-start-frame,
    .workout-picker-frame {
        opacity: 0;
    }
    .workout-live-final-frame {
        opacity: 1;
        transform: none;
    }
    .nutrition-week-frame {
        opacity: 0;
    }
    .nutrition-add-frame {
        opacity: 1;
        clip-path: none;
        transform: none;
    }
    .chapter-copy,
    .outro-sticky > p,
    .outro-title span,
    .logo-playground,
    .outro-bottom {
        animation: none !important;
    }
    .muscle-gallery,
    .muscle-gallery::before,
    .muscle-gallery-copy {
        transition-duration: 0.01ms;
        transition-delay: 0s;
    }
}
