:root {
    --ax-ink: #0a0b0b;
    --ax-graphite: #171a19;
    --ax-paper: #eeeae1;
    --ax-mist: #d7dad6;
    --ax-cyan: #8fe8de;
    --ax-walnut: #7a5139;
    --ax-line: rgba(10, 11, 11, 0.16);
    --ax-line-light: rgba(238, 234, 225, 0.18);
    --ax-pad: clamp(22px, 5.2vw, 84px);
}

body.desk-case {
    --accent: var(--ax-cyan);
    --accent-soft: var(--ax-mist);
    --project-bg: var(--ax-ink);
    --project-fg: var(--ax-paper);
    color: var(--ax-ink);
    background: var(--ax-paper);
}

.desk-case .mil-progress-track {
    right: auto;
    left: 0;
    background: rgba(238, 234, 225, 0.08);
}

.desk-case .mil-progress { background: var(--ax-cyan); }
.desk-case .case-header { color: var(--ax-paper); mix-blend-mode: normal; }

.desk-case .case-header.is-scrolled {
    color: var(--ax-ink);
    background: rgba(238, 234, 225, 0.92);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.desk-case .back-to-top {
    right: auto;
    left: 24px;
    color: var(--ax-paper);
    border-color: rgba(143, 232, 222, 0.34);
    background: rgba(10, 11, 11, 0.86);
}

.desk-case .back-to-top b { color: var(--ax-ink); background: var(--ax-cyan); }

.desk-hero.case-hero {
    position: relative;
    display: block;
    min-height: 100svh;
    overflow: hidden;
    color: var(--ax-paper);
    background: var(--ax-ink);
    isolation: isolate;
}

.desk-hero__media,
.desk-hero__media img,
.desk-hero__veil,
.desk-hero__trace {
    position: absolute;
    inset: 0;
}

.desk-hero__media { z-index: -4; overflow: hidden; }

.desk-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.025);
    transition: transform 1.5s cubic-bezier(.16, 1, .3, 1);
}

.desk-hero__veil {
    z-index: -3;
    background: rgba(4, 5, 5, 0.34);
}

.desk-hero__veil::after {
    position: absolute;
    inset: 0 46% 0 0;
    background: rgba(4, 5, 5, 0.56);
    content: "";
}

.desk-hero__trace {
    z-index: -2;
    left: auto;
    right: 17%;
    width: 1px;
    background: rgba(143, 232, 222, 0.2);
    transform: scaleY(0.72);
    transform-origin: bottom;
}

.desk-hero__trace::after {
    position: absolute;
    right: -4px;
    top: 42%;
    width: 9px;
    height: 9px;
    border: 1px solid var(--ax-cyan);
    border-radius: 50%;
    background: var(--ax-ink);
    content: "";
}

.desk-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: min(1050px, 88vw);
    min-height: 100svh;
    padding: 148px var(--ax-pad) 104px;
}

.desk-kicker {
    display: grid;
    grid-template-columns: 46px 1fr;
    width: max-content;
    margin-bottom: clamp(52px, 8vh, 96px);
    color: var(--ax-ink);
    background: var(--ax-paper);
}

.desk-kicker > span,
.desk-label > span {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 700;
}

.desk-kicker p {
    display: flex;
    min-width: 230px;
    margin: 0;
    padding: 0 18px;
    justify-content: center;
    flex-direction: column;
}

.desk-kicker b,
.desk-kicker small {
    display: block;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.13em;
}

.desk-kicker small { margin-top: 4px; opacity: 0.5; }

.desk-hero .hero-title {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    margin: 0;
}

.desk-hero .hero-title .title-line {
    font-size: clamp(86px, 12vw, 188px);
    font-weight: 700;
    line-height: 0.78;
    letter-spacing: -0.085em;
}

.desk-hero .hero-title .title-line--en {
    margin-top: 32px;
    font-size: clamp(25px, 3.2vw, 54px);
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.045em;
    opacity: 0.76;
}

.desk-hero__subtitle {
    max-width: 560px;
    margin: 44px 0 0;
    font-size: clamp(17px, 1.6vw, 25px);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: -0.02em;
}

.desk-hero__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }

.desk-hero__meta span {
    padding: 9px 13px;
    border: 1px solid rgba(238, 234, 225, 0.28);
    border-radius: 99px;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.13em;
}

.desk-hero__foot {
    position: absolute;
    z-index: 2;
    right: var(--ax-pad);
    bottom: 34px;
    left: var(--ax-pad);
    display: flex;
    justify-content: space-between;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.15em;
    opacity: 0.64;
}

.desk-nav {
    position: sticky;
    z-index: 86;
    top: 0;
    display: flex;
    min-height: 76px;
    padding: 0 var(--ax-pad);
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--ax-line);
    background: rgba(238, 234, 225, 0.94);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    transition: top 0.3s ease;
}

.case-header.is-scrolled ~ main .desk-nav { top: 76px; }
.desk-nav__list { display: flex; align-self: stretch; gap: clamp(26px, 4vw, 68px); }

.desk-nav__button {
    position: relative;
    display: flex;
    padding: 0;
    align-items: center;
    gap: 12px;
    border: 0;
    color: var(--ax-ink);
    background: transparent;
    cursor: pointer;
    opacity: 0.38;
    transition: opacity 0.25s ease;
}

.desk-nav__button::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--ax-ink);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s cubic-bezier(.16, 1, .3, 1);
    content: "";
}

.desk-nav__button:hover,
.desk-nav__button:focus-visible,
.desk-nav__button.is-active { opacity: 1; }

.desk-nav__button.is-active::after { transform: scaleX(1); }

.desk-nav__button span,
.desk-nav__button b,
.desk-nav__cta {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.13em;
}

.desk-nav__cta { display: flex; align-items: center; gap: 22px; color: inherit; text-decoration: none; }
.desk-nav__cta b { font-size: 18px; font-weight: 300; }

.desk-section { padding: 138px var(--ax-pad); }

.desk-label { display: flex; align-items: flex-start; gap: 17px; }

.desk-label p {
    margin: 3px 0 0;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.14em;
}

.desk-label--light { color: var(--ax-paper); }

.desk-overview { border-bottom: 1px solid var(--ax-line); background: var(--ax-paper); }

.desk-overview__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
    gap: 90px 8vw;
    margin-top: 110px;
}

.desk-overview h2,
.desk-scenes__intro h2,
.desk-simulator__heading h2,
.desk-targets__heading h2,
.desk-process__intro h2,
.desk-deliverables h2 {
    grid-column: 1 / -1;
    margin: 0;
    font-size: clamp(54px, 7.6vw, 118px);
    font-weight: 700;
    line-height: 1.03;
    letter-spacing: -0.075em;
}

.desk-overview h2 span,
.desk-scenes__intro h2 span,
.desk-simulator__heading h2 span,
.desk-targets__heading h2 span,
.desk-process__intro h2 span,
.desk-deliverables h2 span { font-weight: 300; opacity: 0.42; }

.desk-overview__copy { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; }

.desk-overview__copy small,
.desk-facts dt,
.desk-anatomy__spec dt,
.scene-panel span,
.target-grid dt {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.14em;
    opacity: 0.52;
}

.desk-overview__copy p {
    margin: 17px 0 0;
    font-size: 14px;
    line-height: 1.95;
    opacity: 0.72;
}

.desk-facts { margin: 0; padding-left: 52px; border-left: 1px solid var(--ax-line); }
.desk-facts div + div { margin-top: 30px; }
.desk-facts dd { margin: 8px 0 0; font-size: 20px; font-weight: 700; letter-spacing: -0.03em; }

.desk-section--dark { color: var(--ax-paper); background: var(--ax-ink); }

.desk-anatomy {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    min-height: calc(100svh - 76px);
    padding: 0;
}

.desk-anatomy__media {
    position: relative;
    min-height: 780px;
    overflow: hidden;
    background: var(--ax-graphite);
    transform: perspective(1300px) rotateX(var(--desk-rx, 0deg)) rotateY(var(--desk-ry, 0deg));
    transform-style: preserve-3d;
    transition: transform 0.35s ease;
}

.desk-anatomy__media picture,
.desk-anatomy__media img { display: block; width: 100%; height: 100%; }
.desk-anatomy__media img { object-fit: cover; object-position: 58% center; }

.anatomy-pin { position: absolute; display: flex; align-items: center; gap: 10px; color: var(--ax-paper); }
.anatomy-pin i { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--ax-cyan); border-radius: 50%; background: rgba(10, 11, 11, 0.78); font-size: 8px; font-style: normal; }
.anatomy-pin b { padding: 8px 10px; background: rgba(10, 11, 11, 0.76); font-size: 8px; letter-spacing: 0.12em; }
.anatomy-pin--control { right: 12%; top: 48%; }
.anatomy-pin--column { right: 24%; bottom: 15%; }
.anatomy-pin--spine { left: 46%; top: 42%; }

.desk-anatomy__copy { display: flex; padding: 110px var(--ax-pad); justify-content: center; flex-direction: column; }

.desk-anatomy__copy h2 {
    margin: 78px 0 0;
    font-size: clamp(48px, 5.7vw, 88px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -0.07em;
}

.desk-anatomy__copy h2 span { color: var(--ax-cyan); font-weight: 300; }
.desk-anatomy__copy > p { max-width: 620px; margin: 38px 0 0; font-size: clamp(16px, 1.4vw, 21px); line-height: 1.85; opacity: 0.62; }
.desk-anatomy__spec { margin: 58px 0 0; border-top: 1px solid var(--ax-line-light); }
.desk-anatomy__spec div { display: flex; padding: 18px 0; align-items: baseline; justify-content: space-between; gap: 30px; border-bottom: 1px solid var(--ax-line-light); }
.desk-anatomy__spec dd { margin: 0; text-align: right; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; }

.desk-scenes { padding-bottom: 40px; background: var(--ax-paper); }
.desk-scenes__intro { display: grid; grid-template-columns: 1.45fr 0.55fr; gap: 8vw; margin-top: 100px; align-items: end; }
.desk-scenes__intro h2 { grid-column: auto; }
.desk-scenes__intro p { margin: 0 0 8px; font-size: 14px; line-height: 1.9; opacity: 0.66; }

.scene-tabs {
    position: sticky;
    z-index: 35;
    top: 152px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 90px;
    border-top: 1px solid var(--ax-line);
    border-bottom: 1px solid var(--ax-line);
    background: rgba(238, 234, 225, 0.95);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.scene-tab { display: flex; min-height: 72px; padding: 0 24px; align-items: center; gap: 18px; border: 0; border-right: 1px solid var(--ax-line); color: inherit; background: transparent; cursor: pointer; opacity: 0.42; }
.scene-tab:last-child { border-right: 0; }
.scene-tab span,
.scene-tab b { font-size: 9px; font-weight: 700; letter-spacing: 0.12em; }
.scene-tab.is-active { color: var(--ax-paper); background: var(--ax-ink); opacity: 1; }

.scene-list { padding: 42px 0 90px; }
.scene-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr); gap: 34px; align-items: end; scroll-margin-top: 238px; }
.scene-panel + .scene-panel { margin-top: 140px; }
.scene-panel picture { display: block; overflow: hidden; aspect-ratio: 16 / 8.7; background: var(--ax-graphite); }
.scene-panel img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.16, 1, .3, 1); }
.scene-panel:hover img { transform: scale(1.025); }
.scene-panel > div { padding: 0 0 12px; }
.scene-panel h3 { margin: 22px 0 20px; font-size: clamp(34px, 4vw, 62px); font-weight: 700; line-height: 1; letter-spacing: -0.06em; }
.scene-panel p { margin: 0; font-size: 13px; line-height: 1.85; opacity: 0.68; }

.desk-simulator { color: var(--ax-paper); background: var(--ax-graphite); }
.desk-simulator__heading { display: grid; grid-template-columns: 1.4fr 0.6fr; gap: 8vw; margin-top: 100px; align-items: end; }
.desk-simulator__heading h2 { grid-column: auto; }
.desk-simulator__heading p { margin: 0 0 8px; font-size: 14px; line-height: 1.9; opacity: 0.62; }

.desk-simulator__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.65fr); gap: clamp(40px, 6vw, 100px); margin-top: 90px; align-items: stretch; }

.sim-stage {
    position: relative;
    min-height: 660px;
    overflow: hidden;
    border: 1px solid var(--ax-line-light);
    background: #202322;
    isolation: isolate;
}

.sim-room { position: absolute; inset: 0; z-index: -2; }
.sim-room::before { position: absolute; inset: 0 0 34% 0; border-bottom: 1px solid rgba(238, 234, 225, 0.12); background: #2a2d2c; content: ""; }
.sim-room span { position: absolute; left: 12%; top: 0; width: 1px; height: 66%; background: rgba(238, 234, 225, 0.08); }
.sim-room i { position: absolute; right: 9%; top: 15%; width: 22%; height: 32%; border: 1px solid rgba(238, 234, 225, 0.1); }

.sim-desk { position: absolute; inset: 0; }
.sim-desk__top-group { position: absolute; z-index: 3; left: 50%; bottom: calc(143px + var(--lift-px, 24px)); width: 72%; height: 215px; transform: translateX(-50%); transition: bottom 0.42s cubic-bezier(.16, 1, .3, 1); }
.sim-desk__top { position: absolute; right: 0; bottom: 0; left: 0; height: 22px; border-radius: 7px 7px 4px 4px; background: var(--desk-top); box-shadow: 0 16px 24px rgba(0, 0, 0, 0.25); transition: background 0.3s ease; }
.sim-desk__top::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: rgba(0, 0, 0, 0.3); content: ""; }
.sim-screen { position: absolute; z-index: 2; right: 29%; bottom: 34px; width: 34%; height: 145px; border: 7px solid #0b0c0c; border-radius: 5px; background: #141716; box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28); }
.sim-screen::before { position: absolute; left: 50%; top: 100%; width: 8px; height: 30px; background: #a8ada9; transform: translateX(-50%); content: ""; }
.sim-screen::after { position: absolute; left: 50%; top: calc(100% + 28px); width: 68px; height: 6px; border-radius: 99px; background: #8e9490; transform: translateX(-50%); content: ""; }
.sim-keyboard { position: absolute; left: 34%; bottom: 27px; width: 25%; height: 9px; border-radius: 2px; background: #111313; transform: perspective(120px) rotateX(55deg); }
.sim-lamp { position: absolute; right: 8%; bottom: 26px; width: 7px; height: 100px; background: #0f1110; }
.sim-lamp::before { position: absolute; right: -4px; top: -8px; width: 80px; height: 5px; background: #0f1110; transform: rotate(-18deg); transform-origin: right; content: ""; }
.sim-lamp::after { position: absolute; right: 67px; top: -31px; width: 40px; height: 11px; border-radius: 99px; background: #0f1110; content: ""; }
.sim-control { position: absolute; right: 15%; bottom: -11px; width: 58px; height: 12px; border-radius: 0 0 6px 6px; background: #0b0c0c; }
.sim-control::after { position: absolute; right: 9px; top: 4px; width: 12px; height: 3px; border-radius: 99px; background: var(--ax-cyan); box-shadow: 0 0 12px rgba(143, 232, 222, 0.5); content: ""; }

.sim-column { position: absolute; z-index: 2; bottom: 86px; width: 32px; height: calc(99px + var(--lift-px, 24px)); background: #111312; transition: height 0.42s cubic-bezier(.16, 1, .3, 1); }
.sim-column::before { position: absolute; right: 5px; top: 0; bottom: 0; left: 5px; border-right: 1px solid rgba(255, 255, 255, 0.07); border-left: 1px solid rgba(255, 255, 255, 0.04); background: #202321; content: ""; }
.sim-column i { position: absolute; z-index: 2; right: 2px; top: 46%; left: 2px; height: 1px; background: rgba(238, 234, 225, 0.12); }
.sim-column--left { left: 25%; }
.sim-column--right { right: 25%; }
.sim-foot { position: absolute; z-index: 3; bottom: 74px; width: 130px; height: 17px; border-radius: 99px; background: #0d0f0e; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.35); }
.sim-foot--left { left: calc(25% - 48px); }
.sim-foot--right { right: calc(25% - 48px); }

.sim-stage__status { position: absolute; left: 24px; top: 22px; }
.sim-stage__status span { display: block; font-size: 8px; font-weight: 700; letter-spacing: 0.14em; opacity: 0.42; }
.sim-stage__status b { display: block; margin-top: 9px; color: var(--ax-cyan); font-size: 18px; letter-spacing: 0.1em; }
.sim-stage__axis { position: absolute; right: 28px; top: 68px; bottom: 78px; width: 1px; background: var(--ax-line-light); }
.sim-stage__axis i { position: absolute; right: -4px; top: calc(100% - var(--axis-y, 12.7%)); width: 9px; height: 9px; border: 1px solid var(--ax-cyan); border-radius: 50%; background: var(--ax-graphite); transition: top 0.42s cubic-bezier(.16, 1, .3, 1); }

.sim-controls { display: flex; flex-direction: column; justify-content: center; }
.sim-readout { display: flex; padding-bottom: 34px; align-items: flex-end; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--ax-line-light); }
.sim-readout > span,
.sim-range > span,
.sim-materials legend,
.sim-material-note span { font-size: 8px; font-weight: 700; letter-spacing: 0.14em; opacity: 0.48; }
.sim-readout p { display: flex; margin: 0; align-items: flex-end; line-height: 0.8; }
.sim-readout output { font-size: clamp(56px, 6vw, 90px); font-weight: 700; letter-spacing: -0.07em; }
.sim-readout small { margin: 0 0 8px 10px; font-size: 14px; font-weight: 700; }
.sim-range { display: block; margin-top: 38px; }
.sim-range input { width: 100%; margin: 28px 0 0; accent-color: var(--ax-cyan); cursor: ew-resize; }
.sim-range i { display: flex; margin-top: 6px; justify-content: space-between; font-style: normal; }
.sim-range i b { font-size: 8px; font-weight: 700; opacity: 0.36; }
.sim-presets { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 34px; }
.sim-presets button { display: flex; min-height: 58px; padding: 0 16px; align-items: center; gap: 12px; border: 1px solid var(--ax-line-light); color: inherit; background: transparent; cursor: pointer; transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease; }
.sim-presets button:hover,
.sim-presets button:focus-visible,
.sim-presets button.is-active { color: var(--ax-ink); border-color: var(--ax-cyan); background: var(--ax-cyan); }
.sim-presets button span,
.sim-presets button b { font-size: 8px; font-weight: 700; letter-spacing: 0.11em; }
.sim-materials { display: flex; margin: 42px 0 0; padding: 0; gap: 22px; border: 0; }
.sim-materials legend { width: 100%; margin-bottom: 18px; }
.sim-materials button { display: flex; padding: 0; align-items: center; gap: 8px; border: 0; color: inherit; background: transparent; cursor: pointer; opacity: 0.46; }
.sim-materials button.is-active { opacity: 1; }
.sim-materials button i { display: block; width: 34px; height: 34px; border: 1px solid rgba(238, 234, 225, 0.35); border-radius: 50%; background: var(--swatch); }
.sim-materials button.is-active i { outline: 1px solid var(--ax-cyan); outline-offset: 4px; }
.sim-materials button b { font-size: 9px; font-weight: 700; }
.sim-material-note { display: flex; margin: 34px 0 0; padding-top: 18px; justify-content: space-between; border-top: 1px solid var(--ax-line-light); }
.sim-material-note b { color: var(--ax-cyan); font-size: 10px; letter-spacing: 0.13em; }

.desk-targets { border-bottom: 1px solid var(--ax-line); background: var(--ax-paper); }
.desk-targets__heading { display: grid; grid-template-columns: 1.4fr 0.6fr; gap: 8vw; margin-top: 100px; align-items: end; }
.desk-targets__heading h2 { grid-column: auto; }
.desk-targets__heading p { margin: 0 0 8px; font-size: 13px; line-height: 1.9; opacity: 0.62; }
.target-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 90px 0 0; border-top: 1px solid var(--ax-line); border-bottom: 1px solid var(--ax-line); }
.target-grid > div { min-height: 310px; padding: 32px 26px; border-right: 1px solid var(--ax-line); }
.target-grid > div:last-child { border-right: 0; }
.target-grid dd { display: flex; margin: 70px 0 0; align-items: flex-end; }
.target-grid dd b { font-size: clamp(54px, 6vw, 94px); line-height: 0.8; letter-spacing: -0.08em; }
.target-grid dd small { margin: 0 0 7px 9px; font-size: 10px; font-weight: 700; }
.target-grid p { margin: 70px 0 0; font-size: 11px; opacity: 0.58; }

.desk-process__intro { display: grid; grid-template-columns: 1.4fr 0.6fr; gap: 8vw; margin-top: 100px; align-items: end; }
.desk-process__intro h2 { grid-column: auto; }
.desk-process__intro h2 span { color: var(--ax-cyan); opacity: 1; }
.desk-process__intro p { margin: 0 0 8px; font-size: 13px; line-height: 1.9; opacity: 0.6; }
.desk-process__steps { display: grid; grid-template-columns: repeat(4, 1fr); margin: 90px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--ax-line-light); border-bottom: 1px solid var(--ax-line-light); }
.desk-process__steps li { min-height: 340px; padding: 32px 26px; border-right: 1px solid var(--ax-line-light); }
.desk-process__steps li:last-child { border-right: 0; }
.desk-process__steps li > span { font-size: 30px; font-weight: 300; opacity: 0.2; }
.desk-process__steps div { margin-top: 78px; }
.desk-process__steps h3 { margin: 0 0 22px; font-size: 15px; font-weight: 700; letter-spacing: 0.04em; }
.desk-process__steps p { margin: 0; font-size: 12px; line-height: 1.9; opacity: 0.56; }

.desk-deliverables { background: var(--ax-paper); }
.desk-deliverables__grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 8vw; margin-top: 100px; }
.desk-deliverables h2 { grid-column: auto; }
.desk-deliverables ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ax-line); }
.desk-deliverables li { display: grid; grid-template-columns: 42px 1fr; min-height: 56px; padding: 0 8px; align-items: center; border-bottom: 1px solid var(--ax-line); font-size: 11px; font-weight: 700; letter-spacing: 0.04em; }
.desk-deliverables li span { font-size: 8px; opacity: 0.4; }
.desk-concept-note { max-width: 700px; margin: 100px 0 0 auto; padding-top: 22px; border-top: 1px solid var(--ax-line); font-size: 11px; line-height: 1.8; opacity: 0.5; }

.desk-next { color: var(--ax-ink); background: var(--ax-paper); }
.desk-next:hover,
.desk-next:focus-visible { color: var(--ax-paper); background: var(--ax-walnut); }
.desk-case .case-footer { color: var(--ax-paper); background: var(--ax-ink); }
.desk-case .footer-cta { border-color: var(--ax-line-light); }

/* Project 03 / product motion */
.desk-motion { overflow: hidden; }
.desk-motion__heading { display: grid; grid-template-columns: 1.42fr 0.58fr; gap: 8vw; margin-top: 100px; align-items: end; }
.desk-motion__heading h2 { margin: 0; font-size: clamp(58px, 7.6vw, 124px); line-height: 0.99; letter-spacing: -0.075em; }
.desk-motion__heading h2 span { color: var(--ax-cyan); font-weight: 300; }
.desk-motion__heading p { margin: 0 0 8px; font-size: 14px; line-height: 1.9; opacity: 0.62; }

.explode-stage {
    --explode-top-y: 0px;
    --explode-control-x: 0px;
    --explode-control-y: 0px;
    --explode-drive-y: 0px;
    --explode-columns-y: 0px;
    --explode-columns-spread: 0px;
    --explode-feet-y: 0px;
    --explode-feet-spread: 0px;
    position: relative;
    width: auto;
    margin: clamp(74px, 9vw, 142px) calc(0px - var(--ax-pad)) 0;
    color: var(--ax-paper);
    background: #070808;
    border-top: 1px solid rgba(238, 234, 225, 0.1);
    border-bottom: 1px solid rgba(238, 234, 225, 0.1);
}

.explode-stage__head { display: flex; min-height: 106px; padding: 22px var(--ax-pad); align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(238, 234, 225, 0.09); }
.explode-stage__head > div { display: grid; gap: 9px; }
.explode-stage__head span,
.explode-stage__head b,
.explode-stage__head small,
.explode-stage__note,
.explode-controls label > span,
.lift-film__top span,
.lift-film__top b,
.lift-film__time,
.lift-film__height > span { font-size: 9px; line-height: 1; letter-spacing: 0.16em; font-weight: 700; }
.explode-stage__head span { opacity: 0.46; }
.explode-stage__head b { color: var(--ax-cyan); }
.explode-stage__head p { display: flex; margin: 0; align-items: flex-end; }
.explode-stage__head output { font-size: clamp(42px, 5vw, 70px); line-height: 0.8; letter-spacing: -0.07em; font-weight: 300; }
.explode-stage__head small { margin: 0 0 2px 6px; color: var(--ax-cyan); }

.explode-stage__viewport { position: relative; display: grid; min-height: 720px; padding: 60px var(--ax-pad) 52px; grid-template-columns: minmax(190px, 0.62fr) minmax(500px, 1.45fr) minmax(120px, 0.35fr); gap: clamp(24px, 4vw, 70px); align-items: center; overflow: hidden; }
.explode-stage__viewport::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 54% 45%, rgba(143, 232, 222, 0.055), transparent 32%); }
.explode-labels { position: relative; z-index: 2; display: grid; gap: clamp(24px, 3.6vw, 50px); margin: 0; padding: 0; list-style: none; }
.explode-labels li { display: flex; align-items: center; gap: 16px; opacity: 0.38; transition: opacity 420ms ease; }
.explode-labels li::after { content: ''; width: clamp(30px, 5vw, 80px); height: 1px; margin-left: auto; background: rgba(238, 234, 225, 0.16); }
.explode-labels i { color: var(--ax-cyan); font-size: 8px; font-style: normal; font-weight: 700; }
.explode-labels span { font-size: 8px; line-height: 1.4; letter-spacing: 0.13em; font-weight: 700; }
.explode-stage.is-exploded .explode-labels li { opacity: 0.82; }
.explode-stage.is-exploded .explode-labels li:nth-child(1) { opacity: 1; }

.explode-product { position: relative; z-index: 1; width: min(100%, 690px); aspect-ratio: 1.46 / 1; margin: 0 auto; filter: drop-shadow(0 32px 45px rgba(0, 0, 0, 0.42)); }
.explode-axis { position: absolute; z-index: 0; top: 4%; bottom: 3%; left: 50%; width: 1px; background: rgba(143, 232, 222, 0.2); }
.explode-axis::before,
.explode-axis::after { content: ''; position: absolute; left: -4px; width: 9px; height: 9px; border: 1px solid var(--ax-cyan); border-radius: 50%; background: #070808; }
.explode-axis::before { top: 0; }
.explode-axis::after { bottom: 0; }
.explode-part { position: absolute; will-change: transform; }
.explode-top { z-index: 6; top: 20%; left: 3%; width: 94%; height: 30px; transform: translate3d(0, var(--explode-top-y), 0); clip-path: polygon(3% 0, 93% 0, 100% 65%, 97% 100%, 5% 100%, 0 65%); background: linear-gradient(180deg, #946448 0%, var(--ax-walnut) 46%, #513324 100%); box-shadow: 0 12px 20px rgba(0, 0, 0, 0.28); }
.explode-top::before { content: ''; position: absolute; inset: 5px 6% auto; height: 1px; background: rgba(238, 198, 160, 0.27); }
.explode-top i { position: absolute; inset: 0; opacity: 0.34; background: repeating-linear-gradient(12deg, transparent 0 76px, rgba(46, 20, 13, 0.5) 77px 78px, transparent 79px 128px); }
.explode-control { z-index: 7; top: calc(20% + 27px); right: 9%; width: 58px; height: 15px; transform: translate3d(var(--explode-control-x), var(--explode-control-y), 0); border: 1px solid rgba(238, 234, 225, 0.18); border-radius: 2px 2px 7px 7px; background: #050606; }
.explode-control::after { content: ''; position: absolute; right: 9px; top: 5px; width: 4px; height: 4px; border-radius: 50%; background: var(--ax-cyan); box-shadow: 0 0 9px rgba(143, 232, 222, 0.6); }
.explode-control i { position: absolute; top: 5px; left: 10px; width: 22px; height: 1px; background: rgba(238, 234, 225, 0.16); }
.explode-drive { z-index: 5; top: 28%; left: 18%; width: 64%; height: 25px; transform: translate3d(0, var(--explode-drive-y), 0); border: 1px solid rgba(238, 234, 225, 0.12); background: #101211; }
.explode-drive > i { position: absolute; left: 35%; right: 35%; top: -1px; bottom: -1px; border-inline: 1px solid rgba(238, 234, 225, 0.08); background: #0a0b0b; }
.explode-drive > span { position: absolute; top: 18px; right: -10%; width: 12px; height: 178px; border-radius: 5px; background: repeating-linear-gradient(180deg, #181b1a 0 9px, rgba(238, 234, 225, 0.24) 10px, #0b0c0c 11px 14px); }
.explode-columns { z-index: 4; top: 31%; left: 0; width: 100%; height: 52%; transform: translate3d(0, var(--explode-columns-y), 0); }
.explode-columns > span { position: absolute; top: 0; width: 38px; height: 100%; border: 1px solid rgba(238, 234, 225, 0.18); background: linear-gradient(90deg, #101211, #2b2f2d 50%, #121413); }
.explode-columns > span:first-child { left: calc(23% - var(--explode-columns-spread)); }
.explode-columns > span:last-child { right: calc(23% - var(--explode-columns-spread)); }
.explode-columns i { position: absolute; top: 0; left: 7px; right: 7px; height: 58%; border-inline: 1px solid rgba(238, 234, 225, 0.13); background: linear-gradient(90deg, #2d312f, #454a47 50%, #242725); }
.explode-feet { z-index: 3; right: 0; bottom: 8%; left: 0; height: 24px; transform: translate3d(0, var(--explode-feet-y), 0); }
.explode-feet span { position: absolute; width: 28%; height: 18px; border-top: 1px solid rgba(238, 234, 225, 0.16); background: #0a0c0b; clip-path: polygon(9% 0, 88% 0, 100% 70%, 94% 100%, 3% 100%, 0 70%); }
.explode-feet span:first-child { left: calc(8% - var(--explode-feet-spread)); }
.explode-feet span:last-child { right: calc(8% - var(--explode-feet-spread)); }
.explode-stage__note { position: relative; z-index: 2; display: grid; gap: 14px; color: rgba(238, 234, 225, 0.4); writing-mode: vertical-rl; align-items: center; justify-self: end; }
.explode-stage__note i { display: block; width: 1px; height: 90px; background: rgba(143, 232, 222, 0.4); }
.explode-stage__note b { color: rgba(238, 234, 225, 0.62); font-weight: 700; }

.explode-controls { display: grid; grid-template-columns: minmax(280px, 1fr) auto; gap: clamp(32px, 7vw, 120px); padding: 30px var(--ax-pad) 38px; align-items: end; border-top: 1px solid rgba(238, 234, 225, 0.09); }
.explode-controls label { display: grid; gap: 19px; }
.explode-controls label > span { color: rgba(238, 234, 225, 0.5); }
.explode-controls input { width: 100%; height: 24px; margin: 0; cursor: ew-resize; accent-color: var(--ax-cyan); background: transparent; }
.explode-controls input::-webkit-slider-runnable-track { height: 1px; background: rgba(238, 234, 225, 0.28); }
.explode-controls input::-webkit-slider-thumb { width: 14px; height: 14px; margin-top: -6px; border: 1px solid var(--ax-cyan); border-radius: 50%; appearance: none; background: #070808; }
.explode-controls input::-moz-range-track { height: 1px; background: rgba(238, 234, 225, 0.28); }
.explode-controls input::-moz-range-thumb { width: 14px; height: 14px; border: 1px solid var(--ax-cyan); border-radius: 50%; background: #070808; }
.explode-controls > div { display: grid; grid-template-columns: repeat(2, minmax(132px, 1fr)); }
.explode-controls button { min-height: 58px; padding: 0 22px; color: var(--ax-paper); border: 1px solid rgba(238, 234, 225, 0.2); background: transparent; cursor: pointer; text-align: left; transition: color 240ms ease, border-color 240ms ease, background 240ms ease; }
.explode-controls button + button { border-left: 0; }
.explode-controls button:hover,
.explode-controls button:focus-visible,
.explode-controls button.is-active { color: var(--ax-ink); border-color: var(--ax-cyan); background: var(--ax-cyan); outline: none; }
.explode-controls button span { margin-right: 16px; font-size: 8px; opacity: 0.55; }
.explode-controls button b { font-size: 9px; letter-spacing: 0.12em; }

.lift-film { position: relative; width: auto; aspect-ratio: 16 / 9; margin: clamp(90px, 11vw, 170px) calc(0px - var(--ax-pad)) calc(0px - var(--ax-pad)); overflow: hidden; color: var(--ax-paper); background: #070808; border-top: 1px solid rgba(238, 234, 225, 0.1); }
.lift-film video { display: block; width: 100%; height: 100%; object-fit: cover; }
.lift-film__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(7, 8, 8, 0.26), transparent 38%, transparent 64%, rgba(7, 8, 8, 0.72)); }
.lift-film__top,
.lift-film__bottom { position: absolute; z-index: 2; right: var(--ax-pad); left: var(--ax-pad); display: flex; justify-content: space-between; }
.lift-film__top { top: clamp(24px, 3.2vw, 52px); align-items: flex-start; }
.lift-film__top > div { display: grid; gap: 12px; }
.lift-film__top span { color: rgba(238, 234, 225, 0.5); }
.lift-film__top > div b { color: var(--ax-paper); }
.lift-film__top > p { display: flex; margin: 0; gap: 13px; align-items: center; }
.lift-film__top > p i { width: 6px; height: 6px; border-radius: 50%; background: var(--ax-cyan); box-shadow: 0 0 10px rgba(143, 232, 222, 0.65); }
.lift-film__top > p b { color: var(--ax-cyan); }
.lift-film__bottom { bottom: clamp(30px, 4vw, 62px); align-items: flex-end; }
.lift-film__bottom > button { display: flex; min-width: 118px; height: 46px; padding: 0 17px; align-items: center; gap: 14px; color: var(--ax-paper); border: 1px solid rgba(238, 234, 225, 0.26); background: rgba(7, 8, 8, 0.38); backdrop-filter: blur(9px); cursor: pointer; }
.lift-film__bottom > button:hover,
.lift-film__bottom > button:focus-visible { color: var(--ax-ink); border-color: var(--ax-cyan); background: var(--ax-cyan); outline: none; }
.lift-film__bottom > button i { width: 9px; height: 11px; border-inline: 2px solid currentColor; }
.lift-film__bottom > button.is-paused i { width: 0; height: 0; border: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid currentColor; }
.lift-film__bottom > button b { font-size: 9px; letter-spacing: 0.12em; }
.lift-film__time { display: grid; margin-right: auto; margin-left: 22px; gap: 7px; color: rgba(238, 234, 225, 0.52); }
.lift-film__time b { color: var(--ax-paper); font-variant-numeric: tabular-nums; }
.lift-film__height { text-align: right; }
.lift-film__height > span { color: rgba(238, 234, 225, 0.5); }
.lift-film__height p { display: flex; margin: 9px 0 0; align-items: flex-end; justify-content: flex-end; }
.lift-film__height output { font-size: clamp(48px, 6.7vw, 108px); line-height: 0.78; letter-spacing: -0.075em; font-weight: 300; }
.lift-film__height small { margin: 0 0 2px 8px; color: var(--ax-cyan); font-size: 10px; letter-spacing: 0.12em; }
.lift-film__progress { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; height: 2px; background: rgba(238, 234, 225, 0.12); }
.lift-film__progress i { display: block; width: 0; height: 100%; background: var(--ax-cyan); }

html[data-language="en"] .desk-hero .hero-title .title-line:first-child { font-size: clamp(70px, 10vw, 160px); }
html[data-language="en"] .desk-hero .hero-title .title-line--en { font-size: clamp(28px, 3vw, 50px); }

@media (max-width: 1100px) {
    .desk-nav__cta { display: none; }
    .desk-nav { justify-content: center; }
    .desk-overview__grid,
    .desk-motion__heading,
    .desk-scenes__intro,
    .desk-simulator__heading,
    .desk-targets__heading,
    .desk-process__intro,
    .desk-deliverables__grid { grid-template-columns: 1fr; }
    .desk-overview__copy { grid-template-columns: 1fr 1fr; }
    .desk-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; padding: 34px 0 0; border-top: 1px solid var(--ax-line); border-left: 0; }
    .desk-facts div + div { margin-top: 0; }
    .desk-anatomy { grid-template-columns: 1fr; }
    .desk-anatomy__media { min-height: 670px; }
    .desk-anatomy__copy { min-height: 690px; }
    .explode-stage__viewport { min-height: 650px; grid-template-columns: minmax(150px, 0.45fr) minmax(420px, 1.25fr) minmax(70px, 0.2fr); }
    .explode-product { max-width: 580px; }
    .explode-controls { grid-template-columns: 1fr; }
    .explode-controls > div { max-width: 420px; }
    .desk-scenes__intro,
    .desk-motion__heading,
    .desk-simulator__heading,
    .desk-targets__heading,
    .desk-process__intro { gap: 34px; }
    .scene-panel { grid-template-columns: 1fr; }
    .scene-panel > div { display: grid; grid-template-columns: .4fr .8fr 1fr; gap: 30px; align-items: start; }
    .scene-panel h3 { margin: 0; }
    .desk-simulator__grid { grid-template-columns: 1fr; }
    .sim-stage { min-height: 620px; }
    .sim-controls { max-width: 700px; }
    .target-grid,
    .desk-process__steps { grid-template-columns: repeat(2, 1fr); }
    .target-grid > div:nth-child(2),
    .desk-process__steps li:nth-child(2) { border-right: 0; }
    .target-grid > div:nth-child(-n+2),
    .desk-process__steps li:nth-child(-n+2) { border-bottom: 1px solid var(--ax-line); }
}

@media (max-width: 760px) {
    :root { --ax-pad: 22px; }
    .desk-case .case-header { grid-template-columns: 1fr auto; padding-right: 18px; padding-left: 18px; }
    .desk-case .case-nav { display: none; }
    .desk-case .lang-toggle { grid-column: 2; }
    .desk-hero__media img { object-position: 57% center; }
    .desk-hero__veil { background: rgba(4, 5, 5, 0.48); }
    .desk-hero__veil::after { inset: 0; background: rgba(4, 5, 5, 0.18); }
    .desk-hero__trace { right: 8%; }
    .desk-hero__content { width: 100%; padding-top: 132px; padding-bottom: 112px; }
    .desk-kicker { margin-bottom: 86px; }
    .desk-hero .hero-title { line-height: 0.92; }
    .desk-hero .hero-title .title-line { font-size: clamp(75px, 23vw, 112px); white-space: normal; }
    .desk-hero .hero-title .title-line--en { margin-top: 22px; font-size: 22px; }
    .desk-hero__subtitle { margin-top: 34px; }
    .desk-hero__foot { bottom: 24px; }
    .desk-hero__foot span:first-child { display: none; }
    .desk-hero__foot { justify-content: flex-end; }
    .desk-nav { min-height: 64px; padding: 0 14px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
    .desk-nav::-webkit-scrollbar { display: none; }
    .case-header.is-scrolled ~ main .desk-nav { top: 64px; }
    .desk-nav__list { width: max-content; gap: 28px; }
    .desk-nav__button b { white-space: nowrap; }
    .desk-section { padding-top: 90px; padding-bottom: 90px; }
    .desk-overview__grid { gap: 58px; margin-top: 70px; }
    .desk-overview h2,
    .desk-motion__heading h2,
    .desk-scenes__intro h2,
    .desk-simulator__heading h2,
    .desk-targets__heading h2,
    .desk-process__intro h2,
    .desk-deliverables h2 { font-size: clamp(44px, 13vw, 67px); }
    .desk-overview__copy { grid-template-columns: 1fr; gap: 34px; }
    .desk-facts { grid-template-columns: 1fr; }
    .desk-anatomy__media { min-height: 0; aspect-ratio: 4 / 5; }
    .desk-anatomy__media img { object-position: 59% center; }
    .anatomy-pin b { display: none; }
    .anatomy-pin--control { right: 8%; top: 48%; }
    .anatomy-pin--column { right: 20%; bottom: 16%; }
    .anatomy-pin--spine { left: 42%; top: 42%; }
    .desk-anatomy__copy { min-height: 0; padding: 90px 22px; }
    .desk-anatomy__copy h2 { margin-top: 56px; font-size: clamp(44px, 13vw, 66px); }
    .desk-anatomy__copy > p { font-size: 16px; }
    .desk-anatomy__spec div { align-items: flex-start; flex-direction: column; gap: 8px; }
    .desk-anatomy__spec dd { text-align: left; }
    .desk-motion__heading { grid-template-columns: 1fr; gap: 30px; margin-top: 68px; }
    .desk-motion__heading p { font-size: 15px; }
    .explode-stage { margin-top: 72px; }
    .explode-stage__head { min-height: 88px; padding-top: 18px; padding-bottom: 18px; }
    .explode-stage__head b { font-size: 8px; }
    .explode-stage__head output { font-size: 44px; }
    .explode-stage__viewport { min-height: 690px; padding: 126px 22px 38px; grid-template-columns: 1fr; grid-template-rows: minmax(330px, auto) auto; gap: 34px; }
    .explode-product { grid-row: 1; width: 100%; max-width: 540px; }
    .explode-labels { grid-row: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 22px; }
    .explode-labels li { gap: 10px; }
    .explode-labels li::after { display: none; }
    .explode-labels span { font-size: 7px; }
    .explode-stage__note { display: none; }
    .explode-controls { grid-template-columns: 1fr; padding-top: 28px; padding-bottom: 30px; }
    .explode-controls > div { grid-template-columns: 1fr 1fr; max-width: none; }
    .explode-controls button { min-height: 54px; padding: 0 15px; }
    .explode-controls button span { margin-right: 8px; }
    .lift-film { aspect-ratio: 4 / 3; margin-top: 92px; }
    .lift-film__top { top: 22px; }
    .lift-film__top > p > span { display: none; }
    .lift-film__bottom { bottom: 26px; }
    .lift-film__bottom > button { min-width: 46px; width: 46px; padding: 0; justify-content: center; }
    .lift-film__bottom > button b,
    .lift-film__time { display: none; }
    .lift-film__height output { font-size: 44px; }
    .lift-film__height > span { font-size: 7px; }
    .lift-film__height small { font-size: 8px; }
    .desk-scenes__intro,
    .desk-motion__heading,
    .desk-simulator__heading,
    .desk-targets__heading,
    .desk-process__intro { margin-top: 68px; }
    .scene-tabs { top: 128px; margin-top: 58px; }
    .scene-tab { min-height: 60px; padding: 0 12px; justify-content: center; }
    .scene-tab span { display: none; }
    .scene-tab b { font-size: 8px; }
    .scene-list { padding-top: 24px; }
    .scene-panel { scroll-margin-top: 200px; }
    .scene-panel + .scene-panel { margin-top: 84px; }
    .scene-panel picture { aspect-ratio: 4 / 5; }
    .scene-panel img { object-position: center; }
    .scene-panel > div { display: block; }
    .scene-panel h3 { margin: 18px 0 16px; font-size: 36px; }
    .desk-simulator__grid { margin-top: 58px; }
    .sim-stage { min-height: 480px; }
    .sim-desk__top-group { width: 82%; height: 150px; }
    .sim-screen { right: 27%; width: 38%; height: 95px; }
    .sim-lamp { height: 70px; }
    .sim-lamp::before { width: 55px; }
    .sim-lamp::after { right: 47px; top: -24px; width: 31px; }
    .sim-column--left { left: 20%; }
    .sim-column--right { right: 20%; }
    .sim-foot--left { left: calc(20% - 45px); }
    .sim-foot--right { right: calc(20% - 45px); }
    .sim-readout { align-items: flex-start; flex-direction: column; }
    .sim-presets { grid-template-columns: 1fr; }
    .sim-materials { gap: 17px; }
    .sim-materials button { flex-direction: column; }
    .target-grid,
    .desk-process__steps { grid-template-columns: 1fr; }
    .target-grid > div,
    .target-grid > div:nth-child(2),
    .desk-process__steps li,
    .desk-process__steps li:nth-child(2) { min-height: 250px; border-right: 0; border-bottom: 1px solid var(--ax-line); }
    .target-grid > div:last-child,
    .desk-process__steps li:last-child { border-bottom: 0; }
    .target-grid dd { margin-top: 54px; }
    .target-grid p { margin-top: 50px; }
    .desk-process__steps li { min-height: 230px; }
    .desk-process__steps div { margin-top: 54px; }
    .desk-deliverables__grid { gap: 58px; margin-top: 68px; }
    .desk-concept-note { margin-top: 74px; }
    html[data-language="en"] .desk-hero .hero-title .title-line:first-child { font-size: clamp(55px, 16vw, 82px); }
}

@media (prefers-reduced-motion: reduce) {
    .desk-hero__media img,
    .desk-anatomy__media,
    .scene-panel img,
    .sim-desk__top-group,
    .sim-column,
    .sim-stage__axis i { transform: none !important; transition: none !important; }
    .explode-part { transition: none !important; }
}
