:root {
    --psv2-ink: #091717;
    --psv2-muted: #53605f;
    --psv2-paper: #fbfaf4;
    --psv2-white: #ffffff;
    --psv2-purple: #824182;
    --psv2-purple-soft: #f7f0f7;
    --psv2-dark: #0b1b1a;
    --psv2-line: rgba(9, 23, 23, 0.12);
}

html {
    scroll-behavior: smooth;
}

.psv2-body {
    margin: 0;
    background: var(--psv2-paper);
    color: var(--psv2-ink);
    font-family: "Plus Jakarta Sans", sans-serif;
}

.psv2-page {
    padding: 64px 24px 104px;
}

.psv2-layout {
    display: grid;
    grid-template-columns: minmax(0, 780px) minmax(280px, 320px);
    gap: 32px;
    width: min(100%, 1132px);
    margin: 0 auto;
    align-items: start;
}

.psv2-document {
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid rgba(9, 23, 23, 0.08);
    border-radius: 14px;
    padding: 72px 76px 56px;
    background: var(--psv2-white);
    box-shadow: 0 24px 70px -56px rgba(9, 23, 23, 0.45);
}

.psv2-poster {
    margin: -72px -76px 52px;
}

.psv2-poster img {
    display: block;
    width: 100%;
    height: auto;
}

.psv2-document__header {
    position: relative;
    padding-bottom: 48px;
    border-bottom: 1px solid var(--psv2-line);
}

.psv2-document__header h1 {
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(2.1rem, 4.2vw, 2.65rem);
    font-weight: 620;
    letter-spacing: -0.04em;
    line-height: 1.08;
}

.psv2-document__header p {
    max-width: 66ch;
    margin: 24px 0 0;
    color: var(--psv2-muted);
    font-size: 1.07rem;
    line-height: 1.82;
}

.psv2-document__header .psv2-eyebrow {
    margin: 0 0 14px;
    color: var(--psv2-purple);
    font-size: 0.7rem;
    font-weight: 780;
    letter-spacing: 0.13em;
    line-height: 1.4;
    text-transform: uppercase;
}

.psv2-document__header .psv2-audience-line {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 22px;
    border: 1px solid rgba(130, 65, 130, 0.18);
    border-radius: 999px;
    padding: 8px 13px;
    background: rgba(130, 65, 130, 0.055);
    color: var(--psv2-ink);
    font-size: 0.75rem;
    font-weight: 680;
    line-height: 1.45;
}

.psv2-audience-line i {
    color: var(--psv2-purple);
}

.psv2-block {
    padding: 54px 0;
    border-bottom: 1px solid var(--psv2-line);
}

.psv2-block h2 {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0 0 26px;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.4rem, 2.8vw, 1.72rem);
    font-weight: 620;
    letter-spacing: -0.025em;
    line-height: 1.25;
}

.psv2-section-index {
    display: inline-block;
    width: 30px;
    flex: 0 0 30px;
    border-top: 1px solid rgba(130, 65, 130, 0.5);
    padding-top: 5px;
    color: var(--psv2-purple);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
}

.psv2-ideas__title-mark {
    display: inline-block;
    width: 30px;
    flex: 0 0 30px;
    border-top: 1px solid rgba(130, 65, 130, 0.5);
    padding-top: 5px;
    color: var(--psv2-purple);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
}

.psv2-block h3 {
    margin: 30px 0 10px;
    font-size: 1.02rem;
    font-weight: 680;
    line-height: 1.55;
}

.psv2-block p,
.psv2-block li {
    color: var(--psv2-muted);
    font-size: 0.98rem;
    line-height: 1.82;
}

.psv2-block p {
    margin: 0 0 18px;
}

.psv2-block strong {
    color: var(--psv2-ink);
    font-weight: 700;
}

.psv2-block:not(.psv2-info) > p,
.psv2-block:not(.psv2-info) > ul {
    max-width: 62ch;
}

.psv2-block ul {
    display: grid;
    gap: 11px;
    margin: 0;
    padding-left: 1.35rem;
    list-style: disc;
}

.psv2-block li {
    display: list-item;
}

.psv2-block li::marker {
    color: var(--psv2-purple);
}

.psv2-info {
    margin: 48px 0 0;
    border-top: 1px solid var(--psv2-line);
    border-right: 0;
    border-bottom: 1px solid var(--psv2-line);
    border-left: 0;
    border-radius: 0;
    padding: 28px 0;
    background: transparent;
}

.psv2-info h2 {
    margin-bottom: 20px;
}

.psv2-info ul {
    display: block;
    padding: 0;
    list-style: none;
}

.psv2-info li {
    display: grid;
    grid-template-columns: 172px minmax(0, 1fr);
    gap: 18px;
    border-top: 1px solid rgba(9, 23, 23, 0.08);
    padding: 13px 0;
}

.psv2-info li:last-child {
    padding-bottom: 0;
}

.psv2-ideas {
    overflow: hidden;
}

.psv2-ideas__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.32fr) minmax(190px, 0.68fr);
    gap: 28px;
    align-items: end;
}

.psv2-ideas__intro h2 {
    margin-bottom: 0;
}

.psv2-ideas__intro > p {
    max-width: 32ch;
    margin: 0;
    font-size: 0.84rem;
    line-height: 1.72;
}

.psv2-ideas__eyebrow {
    margin: 0 0 13px !important;
    color: var(--psv2-purple) !important;
    font-size: 0.66rem !important;
    font-weight: 780;
    letter-spacing: 0.1em;
    line-height: 1.4 !important;
    text-transform: uppercase;
}

.psv2-ideas__tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin-top: 36px;
    border-top: 1px solid var(--psv2-line);
    border-bottom: 1px solid var(--psv2-line);
}

.psv2-ideas__tab {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    min-width: 0;
    border: 0;
    border-right: 1px solid var(--psv2-line);
    padding: 14px 12px;
    background: transparent;
    color: var(--psv2-muted);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 180ms ease, color 180ms ease;
}

.psv2-ideas__tab:first-child {
    border-left: 1px solid var(--psv2-line);
}

.psv2-ideas__tab > span {
    color: rgba(9, 23, 23, 0.42);
    font-size: 0.6rem;
    font-weight: 780;
    letter-spacing: 0.08em;
}

.psv2-ideas__tab strong {
    overflow: hidden;
    color: inherit;
    font-size: 0.72rem;
    font-weight: 720;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.psv2-ideas__tab:hover,
.psv2-ideas__tab:focus-visible,
.psv2-ideas__tab.is-active {
    background: var(--psv2-purple-soft);
    color: var(--psv2-purple);
}

.psv2-ideas__tab:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid var(--psv2-purple);
    outline-offset: -2px;
}

.psv2-ideas__tab.is-active > span {
    color: var(--psv2-purple);
}

.psv2-ideas__panels {
    margin-top: 24px;
}

.psv2-idea-panel {
    display: grid;
    grid-template-columns: minmax(155px, 0.62fr) minmax(0, 1.38fr);
    gap: 26px;
    align-items: center;
    min-width: 0;
}

.psv2-idea-panel[hidden] {
    display: none;
}

.psv2-idea-panel__copy {
    align-self: start;
    padding-top: 10px;
}

.psv2-idea-panel__number {
    margin: 0 0 10px !important;
    color: var(--psv2-purple) !important;
    font-size: 0.62rem !important;
    font-weight: 780;
    letter-spacing: 0.1em;
    line-height: 1.4 !important;
    text-transform: uppercase;
}

.psv2-idea-panel__copy h3 {
    margin: 0 0 13px;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.25rem, 2.7vw, 1.65rem);
    font-weight: 620;
    letter-spacing: -0.035em;
    line-height: 1.13;
}

.psv2-idea-panel__copy > p:not(.psv2-idea-panel__number) {
    margin-bottom: 20px;
    font-size: 0.82rem;
    line-height: 1.75;
}

.psv2-idea-panel__outcome {
    display: grid;
    gap: 5px;
    border-top: 1px solid var(--psv2-line);
    padding-top: 13px;
}

.psv2-idea-panel__outcome span {
    color: var(--psv2-purple);
    font-size: 0.59rem;
    font-weight: 780;
    letter-spacing: 0.09em;
    line-height: 1.3;
    text-transform: uppercase;
}

.psv2-idea-panel__outcome strong {
    font-size: 0.7rem;
    line-height: 1.55;
}

.psv2-mockup,
.psv2-mockup * {
    box-sizing: border-box;
}

.psv2-mockup {
    --mockup-bg: #eef6f1;
    --mockup-surface: #ffffff;
    --mockup-sidebar: #f8fbf8;
    --mockup-accent: #20765e;
    --mockup-ink: #19312b;
    --mockup-muted: #71827c;
    --mockup-line: rgba(25, 49, 43, 0.1);
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(9, 23, 23, 0.14);
    border-radius: 12px;
    background: var(--mockup-bg);
    color: var(--mockup-ink);
    box-shadow: 0 22px 55px -34px rgba(9, 23, 23, 0.65);
    font-family: "Space Grotesk", sans-serif;
    font-size: 10px;
    line-height: 1.3;
    position: relative;
}

.psv2-mockup__image {
    display: block;
    width: 100%;
    height: auto;
}

.psv2-mockup--live .psv2-mockup__image {
    display: block;
    cursor: zoom-in;
}

.psv2-mockup--live .psv2-mockup__browserbar,
.psv2-mockup--live .psv2-mockup__app {
    display: none;
}

.psv2-mockup--live::after {
    position: absolute;
    right: 12px;
    bottom: 12px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    padding: 6px 9px;
    background: rgba(9, 23, 23, 0.82);
    color: #fff;
    content: "Tekan untuk buka live demo ↗";
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.52rem;
    font-weight: 700;
    line-height: 1.2;
    pointer-events: none;
}

.psv2-mockup--screenshot .psv2-mockup__browserbar,
.psv2-mockup--screenshot .psv2-mockup__app {
    display: none;
}

.psv2-mockup--sand {
    --mockup-bg: #f7f1e7;
    --mockup-surface: #fffdf9;
    --mockup-sidebar: #fcf8f0;
    --mockup-accent: #a36b31;
    --mockup-ink: #3a2d22;
    --mockup-muted: #897a6a;
    --mockup-line: rgba(58, 45, 34, 0.11);
}

.psv2-mockup--lilac {
    --mockup-bg: #f1eff9;
    --mockup-surface: #ffffff;
    --mockup-sidebar: #faf9fe;
    --mockup-accent: #7354a3;
    --mockup-ink: #2f2940;
    --mockup-muted: #7f7890;
    --mockup-line: rgba(47, 41, 64, 0.11);
}

.psv2-mockup--rose {
    --mockup-bg: #fbf0f1;
    --mockup-surface: #fffdfd;
    --mockup-sidebar: #fff8f8;
    --mockup-accent: #b95167;
    --mockup-ink: #422a31;
    --mockup-muted: #92777e;
    --mockup-line: rgba(66, 42, 49, 0.11);
}

.psv2-mockup--night {
    --mockup-bg: #e9eef7;
    --mockup-surface: #f9fbff;
    --mockup-sidebar: #101b35;
    --mockup-accent: #d6a05b;
    --mockup-ink: #25314d;
    --mockup-muted: #77839e;
    --mockup-line: rgba(37, 49, 77, 0.11);
}

.psv2-mockup__browserbar {
    display: flex;
    height: 27px;
    align-items: center;
    gap: 5px;
    border-bottom: 1px solid rgba(9, 23, 23, 0.1);
    padding: 0 10px;
    background: rgba(255, 255, 255, 0.68);
}

.psv2-mockup__browserbar > span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #d2aaa6;
}

.psv2-mockup__browserbar > span:nth-child(2) {
    background: #dfc887;
}

.psv2-mockup__browserbar > span:nth-child(3) {
    background: #94b9a2;
}

.psv2-mockup__browserbar em {
    overflow: hidden;
    margin-left: 7px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.48rem;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.psv2-mockup__app {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    min-height: 392px;
}

.psv2-mockup__sidebar {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 16px 10px 11px;
    background: var(--mockup-sidebar);
}

.psv2-mockup__brand {
    display: flex;
    align-items: baseline;
    gap: 3px;
    margin: 0 4px 26px;
    color: var(--mockup-ink);
    font-size: 0.76rem;
    letter-spacing: -0.04em;
}

.psv2-mockup__brand b {
    font-weight: 780;
}

.psv2-mockup__brand span {
    color: var(--mockup-accent);
    font-weight: 500;
}

.psv2-mockup__side-label {
    margin: 0 5px 7px !important;
    color: var(--mockup-muted) !important;
    font-size: 0.46rem !important;
    font-weight: 780;
    letter-spacing: 0.09em;
    line-height: 1.3 !important;
    text-transform: uppercase;
}

.psv2-mockup__side-link {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    margin: 1px 0;
    border-radius: 4px;
    padding: 7px 5px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.51rem;
    font-weight: 650;
    line-height: 1.3;
}

.psv2-mockup__side-link span {
    width: 9px;
    color: currentColor;
    font-size: 0.55rem;
    text-align: center;
}

.psv2-mockup__side-link.is-current {
    background: color-mix(in srgb, var(--mockup-accent) 13%, transparent);
    color: var(--mockup-accent);
}

.psv2-mockup--live .psv2-mockup__side-link,
.psv2-mockup--live .psv2-mockup__stat-row > div,
.psv2-mockup--live .psv2-mockup__card-heading b,
.psv2-mockup--live .psv2-mockup__alert > b,
.psv2-mockup--live .psv2-mockup__room-card,
.psv2-mockup--live .psv2-student-row,
.psv2-mockup--live .psv2-order-row,
.psv2-mockup--live .psv2-run-row,
.psv2-mockup--live button {
    cursor: pointer;
}

.psv2-mockup--live .psv2-mockup__side-link:hover,
.psv2-mockup--live .psv2-mockup__stat-row > div:hover,
.psv2-mockup--live .psv2-mockup__card-heading b:hover,
.psv2-mockup--live .psv2-mockup__alert > b:hover,
.psv2-mockup--live .psv2-mockup__room-card:hover,
.psv2-mockup--live .psv2-student-row:hover,
.psv2-mockup--live .psv2-order-row:hover,
.psv2-mockup--live .psv2-run-row:hover {
    background: color-mix(in srgb, var(--mockup-accent) 7%, transparent);
}

.psv2-mockup--live .is-demo-active {
    outline: 2px solid color-mix(in srgb, var(--mockup-accent) 42%, transparent);
    outline-offset: -2px;
}

.psv2-mockup__toast {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 4;
    max-width: calc(100% - 20px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 5px;
    padding: 7px 9px;
    background: rgba(9, 23, 23, 0.9);
    color: #fff;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.48rem;
    font-weight: 650;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    transform: translateY(5px);
    transition: opacity 160ms ease, transform 160ms ease;
}

.psv2-mockup__toast.is-visible {
    opacity: 1;
    transform: none;
}

.psv2-mockup--live > .psv2-mockup__toast {
    display: none;
}

.psv2-mockup__side-footer {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    border-top: 1px solid var(--mockup-line);
    padding: 11px 2px 0;
    color: var(--mockup-ink);
    font-size: 0.48rem;
    font-weight: 700;
    line-height: 1.3;
}

.psv2-mockup__side-footer small {
    display: block;
    margin-top: 2px;
    color: var(--mockup-muted);
    font-size: 0.43rem;
    font-weight: 500;
}

.psv2-mockup__avatar {
    display: grid;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    border-radius: 50%;
    place-items: center;
    background: color-mix(in srgb, var(--mockup-accent) 16%, white);
    color: var(--mockup-accent);
    font-size: 0.45rem;
}

.psv2-mockup__main {
    min-width: 0;
    padding: 18px 17px 16px;
    background: var(--mockup-surface);
}

.psv2-mockup__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 15px;
}

.psv2-mockup__header small {
    display: block;
    margin-bottom: 4px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.49rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.3;
    text-transform: uppercase;
}

.psv2-mockup__header h4 {
    margin: 0;
    color: var(--mockup-ink);
    font-size: 1.06rem;
    font-weight: 650;
    letter-spacing: -0.045em;
    line-height: 1.1;
}

.psv2-mockup__status-dot {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 5px 7px;
    background: color-mix(in srgb, var(--mockup-accent) 11%, white);
    color: var(--mockup-accent);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.48rem;
    font-weight: 700;
    white-space: nowrap;
}

.psv2-mockup__status-dot::before {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
    content: "";
}

.psv2-mockup__status-dot.is-amber {
    --mockup-accent: #b17632;
}

.psv2-mockup__status-dot.is-purple {
    --mockup-accent: #7354a3;
}

.psv2-mockup__status-dot.is-rose {
    --mockup-accent: #b95167;
}

.psv2-mockup__status-dot.is-live {
    --mockup-accent: #d6a05b;
}

.psv2-mockup__stat-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.psv2-mockup__stat-row > div {
    min-width: 0;
    border: 1px solid var(--mockup-line);
    border-radius: 6px;
    padding: 9px 9px 8px;
    background: color-mix(in srgb, var(--mockup-bg) 44%, white);
}

.psv2-mockup__stat-row small {
    display: block;
    overflow: hidden;
    margin-bottom: 4px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.45rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.psv2-mockup__stat-row strong {
    display: block;
    color: var(--mockup-ink);
    font-size: 1.12rem;
    font-weight: 650;
    letter-spacing: -0.05em;
    line-height: 1.05;
}

.psv2-mockup__stat-row strong small {
    display: inline;
    margin: 0;
    font-size: 0.58rem;
    letter-spacing: 0;
}

.psv2-mockup__stat-row span {
    display: block;
    overflow: hidden;
    margin-top: 4px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.44rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.psv2-mockup__stat-row span.is-warn,
.psv2-mockup__stat-row .is-red {
    color: #b4544d;
}

.psv2-mockup__stat-row .is-purple {
    color: #7354a3;
}

.psv2-mockup__split,
.psv2-momentum-layout,
.psv2-tailor-layout,
.psv2-event-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.14fr) minmax(0, 0.86fr);
    gap: 9px;
    margin-bottom: 9px;
}

.psv2-mockup__card {
    min-width: 0;
    border: 1px solid var(--mockup-line);
    border-radius: 6px;
    padding: 10px;
    background: var(--mockup-surface);
}

.psv2-mockup__card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 9px;
    color: var(--mockup-ink);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.54rem;
    font-weight: 750;
}

.psv2-mockup__card-heading b,
.psv2-mockup__link {
    color: var(--mockup-accent);
    font-size: 0.46rem;
    font-weight: 750;
}

.psv2-mockup__batch-focus {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
}

.psv2-mockup__food-icon {
    display: grid;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    border-radius: 6px;
    place-items: center;
    background: #fff2d6;
    font-size: 0.86rem;
}

.psv2-mockup__batch-focus > div,
.psv2-student-row > div,
.psv2-order-row > div,
.psv2-mockup__alert > div,
.psv2-intervention > div {
    min-width: 0;
}

.psv2-mockup__batch-focus strong,
.psv2-student-row strong,
.psv2-order-row strong,
.psv2-mockup__alert strong,
.psv2-intervention strong {
    display: block;
    overflow: hidden;
    color: var(--mockup-ink);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.55rem;
    font-weight: 750;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.psv2-mockup__batch-focus small,
.psv2-student-row small,
.psv2-order-row small,
.psv2-mockup__alert small,
.psv2-intervention small {
    display: block;
    overflow: hidden;
    margin-top: 2px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.46rem;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.psv2-mockup__pill {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    border-radius: 999px;
    padding: 4px 5px;
    background: #edf4ef;
    color: #287454;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.43rem;
    font-weight: 750;
    line-height: 1;
}

.psv2-mockup__pill.is-amber {
    background: #fff4df;
    color: #a56a23;
}

.psv2-mockup__pill.is-red {
    background: #fce9e8;
    color: #b4544d;
}

.psv2-mockup__pill.is-purple {
    background: #f0eafa;
    color: #7354a3;
}

.psv2-mockup__progress {
    height: 5px;
    overflow: hidden;
    margin: 12px 0 5px;
    border-radius: 99px;
    background: #e9efea;
}

.psv2-mockup__progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--mockup-accent);
}

.psv2-mockup__micro-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.43rem;
}

.psv2-mockup__mini-list,
.psv2-mockup__tags {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.psv2-mockup__mini-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 5px;
    align-items: center;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.46rem;
}

.psv2-mockup__mini-list b {
    color: var(--mockup-ink);
    font-size: 0.46rem;
}

.psv2-mockup__dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
}

.dot-yellow { background: #e4b45d; }
.dot-pink { background: #d0839b; }
.dot-blue { background: #6e9db5; }

.psv2-mockup__tiny-note {
    margin: 10px 0 0 !important;
    border-top: 1px solid var(--mockup-line);
    padding-top: 8px;
    color: var(--mockup-muted) !important;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.43rem !important;
    line-height: 1.3 !important;
}

.psv2-mockup__table-card {
    padding-bottom: 7px;
}

.psv2-mockup__table {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.46rem;
}

.psv2-mockup__table > div {
    display: grid;
    grid-template-columns: 1.05fr 1fr 0.55fr;
    gap: 8px;
    align-items: center;
    border-top: 1px solid var(--mockup-line);
    padding: 7px 0;
}

.psv2-mockup__table-head {
    color: var(--mockup-muted);
    font-size: 0.4rem;
    font-weight: 750;
    letter-spacing: 0.04em;
}

.psv2-mockup__table strong {
    overflow: hidden;
    color: var(--mockup-ink);
    font-size: 0.48rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.psv2-mockup__table span {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--mockup-muted);
    white-space: nowrap;
}

.psv2-mockup__table span i {
    display: block;
    width: 35px;
    height: 4px;
    border-radius: 9px;
    background: var(--mockup-accent);
}

.psv2-mockup__table span i.is-low {
    background: #c9786d;
}

.psv2-mockup__table em {
    color: #287454;
    font-size: 0.43rem;
    font-style: normal;
    font-weight: 750;
}

.psv2-mockup__table em.is-neutral { color: #a56a23; }
.psv2-mockup__table em.is-warn { color: #b4544d; }

.psv2-room-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 9px;
}

.psv2-room-card {
    position: relative;
    border-top: 2px solid #75a987;
    padding: 9px;
}

.psv2-room-card.is-progress { border-top-color: #d2a15d; }
.psv2-room-card.is-blocked { border-top-color: #c9786d; }

.psv2-room-card__top {
    display: flex;
    justify-content: space-between;
    gap: 6px;
    margin-bottom: 9px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.43rem;
}

.psv2-room-card__top b { color: #38815c; font-size: 0.4rem; }
.psv2-room-card.is-progress .psv2-room-card__top b { color: #a36b31; }
.psv2-room-card.is-blocked .psv2-room-card__top b { color: #b4544d; }

.psv2-room-card > strong {
    display: block;
    margin-bottom: 3px;
    color: var(--mockup-ink);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.55rem;
}

.psv2-room-card > small {
    display: block;
    overflow: hidden;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.44rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.psv2-mockup__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 10px;
}

.psv2-mockup__tags i {
    border-radius: 3px;
    padding: 3px 4px;
    background: #edf4ef;
    color: #38815c;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.41rem;
    font-style: normal;
    font-weight: 700;
}

.psv2-mockup__tags i.is-hot { background: #fce9e8; color: #b4544d; }

.psv2-mockup__alert {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #f1d8a8;
    border-radius: 6px;
    padding: 8px 9px;
    background: #fff9eb;
}

.psv2-mockup__alert > span {
    display: grid;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border-radius: 50%;
    place-items: center;
    background: #f2d898;
    color: #8b6128;
    font-size: 0.65rem;
    font-weight: 800;
}

.psv2-mockup__alert > b {
    margin-left: auto;
    color: #a36b31;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.43rem;
    white-space: nowrap;
}

.psv2-momentum-layout { grid-template-columns: 1.25fr 0.75fr; }

.psv2-student-list,
.psv2-order-card,
.psv2-run-card {
    padding-bottom: 4px;
}

.psv2-student-row,
.psv2-order-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 46px auto;
    gap: 7px;
    align-items: center;
    border-top: 1px solid var(--mockup-line);
    padding: 8px 0;
}

.psv2-student-avatar {
    display: grid;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    place-items: center;
    color: #fff;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.43rem;
    font-weight: 750;
}

.psv2-student-avatar.is-pink { background: #cf7f9a; }
.psv2-student-avatar.is-blue { background: #769fbc; }
.psv2-student-avatar.is-green { background: #6ba287; }

.psv2-momentum-meter {
    height: 4px;
    overflow: hidden;
    border-radius: 8px;
    background: #ece8f2;
}

.psv2-momentum-meter i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--mockup-accent);
}

.psv2-intervention {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    border-top: 1px solid var(--mockup-line);
    padding: 8px 0;
}

.psv2-intervention > span {
    color: var(--mockup-accent);
    font-size: 0.5rem;
    font-weight: 800;
}

.psv2-intervention-card button,
.psv2-fitting-card button {
    width: 100%;
    margin-top: 8px;
    border: 0;
    border-radius: 4px;
    padding: 7px;
    background: color-mix(in srgb, var(--mockup-accent) 10%, white);
    color: var(--mockup-accent);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.45rem;
    font-weight: 750;
    cursor: pointer;
}

.psv2-order-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.psv2-order-code {
    color: var(--mockup-accent);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.45rem;
    font-weight: 750;
}

.psv2-fitting-time {
    display: flex;
    align-items: baseline;
    gap: 3px;
    margin: 3px 0 2px;
    color: var(--mockup-accent);
}

.psv2-fitting-time strong {
    font-size: 1.55rem;
    font-weight: 650;
    letter-spacing: -0.07em;
    line-height: 1;
}

.psv2-fitting-time span {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.5rem;
    font-weight: 750;
}

.psv2-fitting-card > strong,
.psv2-fitting-card > small {
    display: block;
    font-family: "Plus Jakarta Sans", sans-serif;
}

.psv2-fitting-card > strong { color: var(--mockup-ink); font-size: 0.55rem; }
.psv2-fitting-card > small { margin-top: 2px; color: var(--mockup-muted); font-size: 0.45rem; }

.psv2-fitting-note {
    margin-top: 12px;
    border-left: 2px solid var(--mockup-accent);
    padding: 6px 7px;
    background: color-mix(in srgb, var(--mockup-accent) 7%, white);
    color: var(--mockup-ink);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.45rem;
    line-height: 1.35;
}

.psv2-fitting-note span {
    display: block;
    margin-bottom: 2px;
    color: var(--mockup-accent);
    font-size: 0.4rem;
    font-weight: 750;
    text-transform: uppercase;
}

.psv2-event-layout { grid-template-columns: minmax(0, 1fr); }

.psv2-event-side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    align-content: start;
}

.psv2-run-row {
    display: grid;
    grid-template-columns: 34px 7px minmax(0, 1fr) auto;
    gap: 7px;
    align-items: stretch;
    min-height: 41px;
    border-top: 1px solid var(--mockup-line);
    padding: 8px 0;
}

.psv2-run-row time {
    padding-top: 2px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.45rem;
    font-weight: 700;
}

.psv2-run-line {
    position: relative;
    width: 1px;
    background: #d8dfeb;
}

.psv2-run-line::before {
    position: absolute;
    top: 2px;
    left: -3px;
    width: 7px;
    height: 7px;
    border: 2px solid var(--mockup-accent);
    border-radius: 50%;
    background: var(--mockup-surface);
    content: "";
}

.psv2-run-row.is-done .psv2-run-line::before {
    border-color: #83a98e;
    background: #83a98e;
}

.psv2-run-row.is-current .psv2-run-line::before {
    box-shadow: 0 0 0 3px rgba(214, 160, 91, 0.18);
}

.psv2-run-row > b {
    padding-top: 2px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.42rem;
    white-space: nowrap;
}

.psv2-run-row > div {
    min-width: 0;
}

.psv2-run-row > div strong {
    display: block;
    overflow: hidden;
    color: var(--mockup-ink);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.52rem;
    font-weight: 750;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.psv2-run-row > div small {
    display: block;
    overflow: hidden;
    margin-top: 2px;
    color: var(--mockup-muted);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.44rem;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.psv2-run-row.is-current > b { color: var(--mockup-accent); }
.psv2-run-row.is-done > b { color: #6a9b78; }

.psv2-vendor {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 5px;
    align-items: center;
    border-top: 1px solid var(--mockup-line);
    padding: 7px 0;
    color: var(--mockup-ink);
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.45rem;
}

.psv2-vendor i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #76a984;
}

.psv2-vendor i.is-warn { background: #d2a15d; }
.psv2-vendor small { color: var(--mockup-muted); font-size: 0.41rem; white-space: nowrap; }

.psv2-mockup__alert--dark {
    border-color: #e5c89b;
    background: #fff9ed;
}

.psv2-mockup--night .psv2-mockup__sidebar {
    color: #dbe3f5;
}

.psv2-mockup--night .psv2-mockup__sidebar .psv2-mockup__brand,
.psv2-mockup--night .psv2-mockup__sidebar .psv2-mockup__side-link.is-current,
.psv2-mockup--night .psv2-mockup__sidebar .psv2-mockup__side-footer {
    color: #f5f7ff;
}

.psv2-mockup--night .psv2-mockup__sidebar .psv2-mockup__side-label,
.psv2-mockup--night .psv2-mockup__sidebar .psv2-mockup__side-link {
    color: #96a4c2;
}

.psv2-mockup--night .psv2-mockup__sidebar .psv2-mockup__side-link.is-current {
    background: rgba(214, 160, 91, 0.18);
    color: #f2bd73;
}

.psv2-mockup--night .psv2-mockup__sidebar .psv2-mockup__side-footer {
    border-color: rgba(255, 255, 255, 0.13);
}

.psv2-mockup--night .psv2-mockup__avatar {
    background: rgba(214, 160, 91, 0.2);
    color: #f2bd73;
}

.psv2-tool-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 18px;
}

.psv2-tool {
    display: flex;
    min-width: 0;
    min-height: 28px;
    box-sizing: border-box;
    align-items: center;
    gap: 8px;
    padding: 0;
    background: transparent;
    color: var(--psv2-ink);
    font-size: 0.7rem;
    font-weight: 680;
    line-height: 1.3;
}

.psv2-tool img,
.psv2-tool__icon {
    display: inline-flex;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    align-items: center;
    justify-content: center;
    object-fit: contain;
}

.psv2-tool__icon {
    border-radius: 4px;
    background: var(--psv2-dark);
    color: var(--psv2-white);
    font-size: 0.64rem;
}

.psv2-skill-note {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 15px;
    margin-top: 28px;
    border-left: 3px solid var(--psv2-purple);
    padding: 20px 22px;
    background: rgba(130, 65, 130, 0.06);
}

.psv2-skill-note > i {
    display: grid;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    place-items: center;
    background: rgba(130, 65, 130, 0.1);
    color: var(--psv2-purple);
}

.psv2-skill-note .psv2-skill-note__label {
    margin: 0 0 3px;
    color: var(--psv2-purple);
    font-size: 0.63rem;
    font-weight: 780;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-transform: uppercase;
}

.psv2-skill-note h3 {
    margin: 0 0 8px;
    font-family: "Space Grotesk", sans-serif;
}

.psv2-skill-note div > p:last-child {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.7;
}

.psv2-timeline {
    margin-top: 4px;
}

.psv2-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 22px;
}

.psv2-timeline__item:not(:last-child) {
    padding-bottom: 38px;
}

.psv2-timeline__item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 43px;
    bottom: 0;
    left: 20px;
    width: 1px;
    background: rgba(130, 65, 130, 0.24);
}

.psv2-timeline__index {
    display: grid;
    align-content: start;
    justify-items: center;
    gap: 2px;
    border-top: 2px solid var(--psv2-purple);
    padding-top: 7px;
    color: var(--psv2-purple);
}

.psv2-timeline__index span {
    font-size: 0.56rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    line-height: 1;
    text-transform: uppercase;
}

.psv2-timeline__index strong {
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.05rem;
    font-weight: 620;
    line-height: 1.1;
}

.psv2-timeline__content {
    border-bottom: 1px solid rgba(9, 23, 23, 0.1);
    padding-bottom: 32px;
}

.psv2-timeline__item:last-child .psv2-timeline__content {
    border-bottom: 0;
    padding-bottom: 0;
}

.psv2-timeline__content h3 {
    margin: 0 0 8px;
}

.psv2-checkpoint {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 16px 0 0 !important;
    border-top: 1px solid rgba(9, 23, 23, 0.08);
    padding-top: 14px;
    color: var(--psv2-ink) !important;
    font-size: 0.84rem !important;
    line-height: 1.65 !important;
}

.psv2-checkpoint i {
    margin-top: 3px;
    color: var(--psv2-purple);
}

.psv2-expectation {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-top: 30px;
    border-left: 3px solid var(--psv2-purple);
    padding: 18px 20px;
    background: rgba(130, 65, 130, 0.06);
}

.psv2-expectation > i {
    margin-top: 4px;
    color: var(--psv2-purple);
}

.psv2-expectation p {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.68;
}

.psv2-tools-later {
    margin-top: 34px;
    border-top: 1px solid var(--psv2-line);
    padding-top: 28px;
}

.psv2-tools-later h3 {
    margin: 0 0 6px;
}

.psv2-tools-later > p {
    margin-bottom: 20px;
    font-size: 0.82rem;
}

.psv2-projects {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    grid-template-columns: none;
    gap: 18px;
    overflow-x: auto;
    margin-top: 30px;
    padding-bottom: 12px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.psv2-projects::-webkit-scrollbar {
    display: none;
}

.psv2-project {
    overflow: hidden;
    border: 1px solid rgba(9, 23, 23, 0.1);
    border-radius: 9px;
    background: #fbfaf6;
    scroll-snap-align: start;
}

.psv2-project > img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 8.5;
    border-bottom: 1px solid rgba(9, 23, 23, 0.08);
    object-fit: cover;
    object-position: top;
}

.psv2-project > div {
    padding: 22px 24px 24px;
}

.psv2-project .psv2-project__number {
    margin: 0 0 7px;
    color: var(--psv2-purple);
    font-size: 0.65rem;
    font-weight: 780;
    letter-spacing: 0.12em;
    line-height: 1.3;
}

.psv2-project h3 {
    margin: 0 0 8px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.16rem;
}

.psv2-project > div > p:last-child {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.72;
}

.psv2-project-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 5px;
}

.psv2-project-progress {
    display: flex;
    gap: 5px;
}

.psv2-project-progress span {
    width: 24px;
    height: 2px;
    background: rgba(9, 23, 23, 0.14);
}

.psv2-project-progress span.is-active {
    background: var(--psv2-purple);
}

.psv2-project-controls {
    display: flex;
    gap: 7px;
}

.psv2-project-controls button {
    display: grid;
    width: 36px;
    height: 36px;
    border: 1px solid var(--psv2-line);
    border-radius: 50%;
    place-items: center;
    background: var(--psv2-white);
    color: var(--psv2-ink);
    cursor: pointer;
}

.psv2-project-controls button:disabled {
    opacity: 0.28;
    cursor: default;
}

.psv2-project-controls button:focus-visible {
    outline: 2px solid var(--psv2-purple);
    outline-offset: 3px;
}

.psv2-built-proof .psv2-proof-principle {
    max-width: none;
    margin: 24px 0 0;
    border-top: 1px solid var(--psv2-line);
    padding-top: 20px;
    color: var(--psv2-ink);
    text-align: center;
}

.psv2-speaker__intro {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.psv2-speaker__intro > img {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    filter: saturate(0.86) contrast(1.04);
}

.psv2-speaker__intro h3 {
    margin: 0 0 2px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.18rem;
    font-weight: 620;
}

.psv2-speaker__role {
    margin: 0 0 14px !important;
    color: var(--psv2-purple) !important;
    font-size: 0.76rem !important;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.psv2-speaker__intro p:last-child {
    margin-bottom: 0;
}

.psv2-speaker__gallery {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.95fr);
    grid-template-rows: repeat(2, 180px);
    gap: 10px;
    margin-top: 30px;
}

.psv2-speaker__scene {
    overflow: hidden;
    margin: 0;
    border-radius: 7px;
    background: #e9ece6;
}

.psv2-speaker__scene--live {
    grid-column: 1;
    grid-row: 1;
}

.psv2-speaker__scene--talk {
    grid-column: 1;
    grid-row: 2;
}

.psv2-speaker__scene--training {
    grid-column: 2;
    grid-row: 1 / 3;
}

.psv2-speaker__scene img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.88) contrast(1.02);
    transition: filter 220ms ease, transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.psv2-speaker__scene:hover img {
    filter: saturate(1) contrast(1.02);
    transform: scale(1.018);
}

.psv2-reviews__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}

.psv2-reviews__heading h2 {
    margin-bottom: 12px;
}

.psv2-reviews__heading p {
    max-width: 55ch;
    margin: 0;
    font-size: 0.84rem;
    line-height: 1.68;
}

.psv2-reviews__heading > a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    margin-top: 6px;
    border-bottom: 1px solid rgba(130, 65, 130, 0.3);
    padding-bottom: 4px;
    color: var(--psv2-purple);
    font-size: 0.76rem;
    font-weight: 720;
    text-decoration: none;
}

.psv2-review-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    grid-template-columns: none;
    grid-template-rows: 1fr;
    gap: 14px;
    align-items: start;
    overflow-x: auto;
    padding-bottom: 12px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.psv2-review-rail::-webkit-scrollbar {
    display: none;
}

.psv2-review-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    border: 1px solid rgba(9, 23, 23, 0.11);
    border-radius: 8px;
    padding: 0;
    background: #eef1e7;
    cursor: zoom-in;
    box-shadow: 0 18px 38px -34px rgba(9, 23, 23, 0.55);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    scroll-snap-align: start;
}

.psv2-review-card--wide {
    grid-column: auto;
}

.psv2-review-card:hover,
.psv2-review-card:focus-visible {
    border-color: rgba(130, 65, 130, 0.42);
    box-shadow: 0 24px 48px -34px rgba(9, 23, 23, 0.68);
    transform: translateY(-2px);
}

.psv2-review-card:focus-visible {
    outline: 2px solid var(--psv2-purple);
    outline-offset: 3px;
}

.psv2-review-card img {
    display: block;
    width: 100%;
    height: auto;
}

.psv2-review-card > span {
    position: absolute;
    right: 10px;
    bottom: 10px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    padding: 6px 9px;
    background: rgba(9, 23, 23, 0.82);
    color: #fff;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 180ms ease, transform 180ms ease;
}

.psv2-review-card:hover > span,
.psv2-review-card:focus-visible > span {
    opacity: 1;
    transform: none;
}

.psv2-review-progress {
    display: flex;
    gap: 5px;
}

.psv2-review-progress span {
    width: 18px;
    height: 2px;
    background: rgba(9, 23, 23, 0.14);
}

.psv2-review-progress span.is-active {
    background: var(--psv2-purple);
}

.psv2-review-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 5px;
}

.psv2-review-controls {
    display: flex;
    gap: 7px;
}

.psv2-review-controls button {
    display: grid;
    width: 34px;
    height: 34px;
    border: 1px solid var(--psv2-line);
    border-radius: 50%;
    place-items: center;
    background: var(--psv2-white);
    color: var(--psv2-ink);
    cursor: pointer;
}

.psv2-review-controls button:disabled {
    opacity: 0.28;
    cursor: default;
}

.psv2-review-controls button:focus-visible {
    outline: 2px solid var(--psv2-purple);
    outline-offset: 3px;
}

.psv2-faq {
    border-top: 1px solid var(--psv2-line);
}

.psv2-faq details {
    overflow: hidden;
    border-bottom: 1px solid var(--psv2-line);
    transition: border-color 180ms ease;
}

.psv2-faq summary {
    position: relative;
    padding: 20px 40px 20px 0;
    color: var(--psv2-ink);
    font-size: 0.98rem;
    font-weight: 720;
    line-height: 1.55;
    cursor: pointer;
    list-style: none;
    transition: color 180ms ease, padding-left 180ms ease;
}

.psv2-faq summary::-webkit-details-marker {
    display: none;
}

.psv2-faq summary::before,
.psv2-faq summary::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 4px;
    width: 14px;
    height: 1.5px;
    background: var(--psv2-purple);
    transform: translateY(-50%);
    transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1), opacity 180ms ease;
}

.psv2-faq summary::after {
    transform: translateY(-50%) rotate(90deg);
}

.psv2-faq details[open] {
    border-color: rgba(130, 65, 130, 0.28);
}

.psv2-faq details[open] summary {
    color: var(--psv2-purple);
}

.psv2-faq details[open] summary::after {
    opacity: 0;
    transform: translateY(-50%) rotate(90deg) scaleX(0.3);
}

.psv2-faq summary:focus-visible {
    outline: 2px solid var(--psv2-purple);
    outline-offset: 5px;
}

.psv2-faq__content {
    padding: 0 34px 24px 0;
}

.psv2-faq__content > :last-child {
    margin-bottom: 0;
}

.psv2-faq__answer p {
    margin-bottom: 12px;
}

.psv2-faq__answer ul {
    gap: 10px;
}

.psv2-sidebar {
    min-width: 0;
    align-self: stretch;
}

.psv2-enrol-card {
    position: sticky;
    top: 88px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 14px;
    padding: 30px 28px 26px;
    background: var(--psv2-dark);
    color: var(--psv2-white);
    box-shadow: 0 26px 70px -32px rgba(9, 23, 23, 0.58);
}

.psv2-enrol-card::after {
    content: "";
    position: absolute;
    inset: 1px;
    z-index: 0;
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 12px;
    pointer-events: none;
}

.psv2-enrol-card > * {
    position: relative;
    z-index: 1;
}

.psv2-enrol-card__eyebrow {
    margin: 0 0 13px;
    color: #d4b7d4;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.1em;
    line-height: 1.5;
    text-transform: uppercase;
}

.psv2-enrol-card h2 {
    margin: 0 0 26px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.55rem;
    font-weight: 620;
    letter-spacing: -0.035em;
    line-height: 1.18;
}

.psv2-enrol-card__facts {
    margin: 0 0 24px;
}

.psv2-enrol-card__facts div {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.11);
    padding: 12px 0;
}

.psv2-enrol-card__facts div:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.psv2-enrol-card__facts dt,
.psv2-enrol-card__facts dd {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.55;
}

.psv2-enrol-card__facts dt {
    color: rgba(255, 255, 255, 0.52);
}

.psv2-enrol-card__facts dd {
    color: rgba(255, 255, 255, 0.92);
    font-weight: 650;
}

.psv2-enrol-card__button {
    display: flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 5px;
    background: var(--psv2-white);
    color: var(--psv2-dark);
    font-size: 0.88rem;
    font-weight: 750;
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.psv2-enrol-card__button:hover,
.psv2-enrol-card__button:focus-visible {
    background: #f2e8f2;
    color: var(--psv2-purple);
    transform: translateY(-2px);
}

.psv2-enrol-card__note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 14px 0 0;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.7rem;
    line-height: 1.5;
}

.psv2-enrol-card__note i {
    margin-top: 1px;
    color: #d4b7d4;
}

.psv2-live-dialog {
    width: min(900px, calc(100% - 28px));
    max-width: 900px;
    max-height: 92vh;
    margin: auto;
    border: 0;
    border-radius: 14px;
    padding: 0;
    background: transparent;
    color: var(--psv2-ink);
    box-shadow: 0 30px 100px -45px rgba(0, 0, 0, 0.8);
}

.psv2-live-dialog::backdrop {
    background: rgba(4, 14, 14, 0.76);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.psv2-live-dialog__surface {
    overflow: auto;
    max-height: 92vh;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;
    background: var(--psv2-paper);
}

.psv2-live-dialog__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px 18px;
}

.psv2-live-dialog__header p {
    margin: 0 0 5px;
    color: var(--psv2-purple);
    font-size: 0.62rem;
    font-weight: 780;
    letter-spacing: 0.1em;
    line-height: 1.4;
    text-transform: uppercase;
}

.psv2-live-dialog__header h2 {
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(1.25rem, 3vw, 1.7rem);
    font-weight: 620;
    letter-spacing: -0.04em;
    line-height: 1.12;
}

.psv2-live-dialog__header button {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 1px solid var(--psv2-line);
    border-radius: 50%;
    place-items: center;
    background: var(--psv2-white);
    color: var(--psv2-ink);
    cursor: pointer;
}

.psv2-live-dialog__header button:hover,
.psv2-live-dialog__header button:focus-visible {
    border-color: var(--psv2-purple);
    color: var(--psv2-purple);
}

.psv2-live-dialog__header button:focus-visible {
    outline: 2px solid var(--psv2-purple);
    outline-offset: 3px;
}

.psv2-live-dialog__stage {
    border-top: 1px solid var(--psv2-line);
    border-bottom: 1px solid var(--psv2-line);
    padding: 20px;
    background: #e9efeb;
}

.psv2-live-dialog__stage > .psv2-mockup {
    width: min(100%, 720px);
    margin: 0 auto;
    box-shadow: 0 26px 65px -38px rgba(9, 23, 23, 0.7);
}

.psv2-live-dialog__note {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 13px 24px 16px;
    color: var(--psv2-muted);
    font-size: 0.72rem;
    line-height: 1.55;
}

.psv2-live-dialog__note i {
    color: var(--psv2-purple);
}

.psv2-mobile-cta {
    display: none;
}

.psv2-waitlist {
    margin-top: 54px;
    border: 1px solid rgba(9, 23, 23, 0.1);
    border-radius: 10px;
    padding: 32px;
    background: var(--psv2-white);
    box-shadow: 0 18px 48px -42px rgba(9, 23, 23, 0.5);
}

.psv2-waitlist__form-wrap {
    margin-top: 26px;
    border: 1px solid var(--psv2-line);
    border-radius: 2px;
    padding: 22px;
    background: var(--psv2-white);
}

.psv2-waitlist__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 22px;
    border-top: 1px solid var(--psv2-line);
    border-bottom: 1px solid var(--psv2-line);
}

.psv2-waitlist__facts > div {
    display: grid;
    gap: 4px;
    padding: 16px 18px 16px 0;
}

.psv2-waitlist__facts > div + div {
    border-left: 1px solid var(--psv2-line);
    padding-right: 0;
    padding-left: 18px;
}

.psv2-waitlist__facts span {
    color: var(--psv2-muted);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    line-height: 1.4;
    text-transform: uppercase;
}

.psv2-waitlist__facts strong {
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.15rem;
    font-weight: 620;
    line-height: 1.3;
}

.psv2-waitlist form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.psv2-waitlist form[hidden] {
    display: none;
}

.psv2-waitlist input {
    width: 100%;
    min-width: 0;
    height: 50px;
    box-sizing: border-box;
    border: 1px solid var(--psv2-line);
    border-radius: 3px;
    outline: none;
    padding: 0 14px;
    background: var(--psv2-paper);
    color: var(--psv2-ink);
    font: inherit;
}

.psv2-waitlist input:focus {
    border-color: var(--psv2-purple);
    box-shadow: 0 0 0 3px rgba(130, 65, 130, 0.1);
}

.psv2-waitlist button {
    min-height: 50px;
    border: 0;
    border-radius: 3px;
    padding: 0 19px;
    background: var(--psv2-ink);
    color: var(--psv2-paper);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 720;
    cursor: pointer;
}

.psv2-waitlist button:hover {
    background: var(--psv2-purple);
}

.psv2-waitlist button:disabled {
    opacity: 0.62;
    cursor: wait;
}

.psv2-form-message {
    grid-column: 1 / -1;
    min-height: 1.2em;
    margin: 0 !important;
    color: #a33f4a !important;
    font-size: 0.82rem !important;
    line-height: 1.5 !important;
}

.psv2-form-success {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: var(--psv2-purple);
}

.psv2-form-success[hidden] {
    display: none;
}

.psv2-form-success h3 {
    margin: 0;
    color: var(--psv2-ink);
    font-family: "Space Grotesk", sans-serif;
    font-size: 1.2rem;
    font-weight: 650;
}

.psv2-form-success p {
    margin: 5px 0 0;
    color: var(--psv2-ink);
}

.psv2-whatsapp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    margin-top: 18px;
    border-radius: 3px;
    padding: 0 18px;
    background: #168c47;
    color: var(--psv2-white);
    font-size: 0.9rem;
    font-weight: 750;
    text-decoration: none;
}

.psv2-whatsapp-button:hover {
    background: #11753a;
}

.psv2-whatsapp-button[hidden],
.psv2-whatsapp-note[hidden] {
    display: none;
}

.psv2-form-success .psv2-whatsapp-note {
    color: var(--psv2-muted);
    font-size: 0.78rem;
}

.psv2-registration-note {
    display: inline-flex;
    gap: 6px;
    margin-top: 2px !important;
    border-bottom: 1px solid rgba(130, 65, 130, 0.24);
    padding-bottom: 4px;
    color: var(--psv2-purple) !important;
    font-size: 0.88rem !important;
}

.psv2-waitlist__fields {
    display: grid;
    gap: 10px;
}

.psv2-waitlist__cta {
    display: flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 3px;
    background: var(--psv2-ink);
    color: var(--psv2-paper);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 720;
    text-decoration: none;
}

.psv2-waitlist__cta:hover {
    background: var(--psv2-purple);
}

.psv2-waitlist__closed {
    color: var(--psv2-muted);
}

.psv2-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 1000px) {
    .psv2-layout {
        display: block;
        width: min(100%, 820px);
    }

    .psv2-sidebar {
        display: none;
    }

    .psv2-mobile-cta {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1100;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        border-top: 1px solid rgba(9, 23, 23, 0.1);
        padding: 12px max(18px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 -16px 40px -30px rgba(9, 23, 23, 0.55);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), opacity 180ms ease;
    }

    .psv2-mobile-cta.is-hidden {
        opacity: 0;
        transform: translateY(110%);
        pointer-events: none;
    }

    .psv2-mobile-cta > div {
        display: grid;
        min-width: 0;
        gap: 2px;
    }

    .psv2-mobile-cta strong {
        color: var(--psv2-ink);
        font-size: 0.82rem;
        line-height: 1.35;
    }

    .psv2-mobile-cta > div > span {
        overflow: hidden;
        color: var(--psv2-muted);
        font-size: 0.68rem;
        line-height: 1.35;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .psv2-mobile-cta a {
        flex: 0 0 auto;
        border-radius: 4px;
        padding: 12px 16px;
        background: var(--psv2-dark);
        color: var(--psv2-white);
        font-size: 0.76rem;
        font-weight: 750;
        text-decoration: none;
    }

    .psv2-page {
        padding-bottom: 120px;
    }

    .psv2-ideas__intro {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 0.55fr);
    }

    .psv2-idea-panel {
        grid-template-columns: minmax(165px, 0.58fr) minmax(0, 1.42fr);
        gap: 20px;
    }
}

@media (max-width: 600px) {
    .psv2-page {
        padding: 12px 10px 118px;
        background: var(--psv2-paper);
    }

    .psv2-live-dialog {
        width: calc(100% - 14px);
        max-height: 90vh;
    }

    .psv2-live-dialog__surface {
        max-height: 90vh;
    }

    .psv2-live-dialog__header {
        padding: 17px 16px 14px;
    }

    .psv2-live-dialog__stage {
        padding: 10px;
    }

    .psv2-live-dialog__note {
        padding: 11px 16px 13px;
        font-size: 0.66rem;
    }

    .psv2-document {
        width: 100%;
        border: 1px solid rgba(9, 23, 23, 0.08);
        border-radius: 14px;
        padding: 0 18px 24px;
        box-shadow: none;
    }

    .psv2-poster {
        margin: 0 -18px 38px;
    }

    .psv2-document__header {
        padding-bottom: 36px;
    }

    .psv2-document__header h1 {
        font-size: 2.15rem;
    }

    .psv2-document__header .psv2-eyebrow {
        font-size: 0.64rem;
    }

    .psv2-document__header .psv2-audience-line {
        display: flex;
        width: fit-content;
        border-radius: 8px;
        font-size: 0.7rem;
    }

    .psv2-document__header p,
    .psv2-block p,
    .psv2-block li {
        font-size: 0.95rem;
        line-height: 1.76;
    }

    .psv2-block {
        padding: 38px 0;
    }

    .psv2-info {
        margin-top: 38px;
        padding: 22px 0;
    }

    .psv2-info li {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .psv2-ideas__intro {
        display: block;
    }

    .psv2-ideas__intro > p {
        max-width: 54ch;
        margin-top: 16px;
    }

    .psv2-ideas__tabs {
        display: flex;
        overflow-x: auto;
        margin-right: -18px;
        margin-left: -18px;
        padding: 0 18px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .psv2-ideas__tabs::-webkit-scrollbar {
        display: none;
    }

    .psv2-ideas__tab,
    .psv2-ideas__tab:first-child {
        min-width: 104px;
        border-left: 1px solid var(--psv2-line);
        padding: 13px 11px;
    }

    .psv2-idea-panel {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .psv2-idea-panel__copy {
        padding-top: 0;
    }

    .psv2-mockup__app {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .psv2-mockup__main {
        padding: 15px 12px 13px;
    }

    .psv2-mockup__sidebar {
        padding-right: 8px;
        padding-left: 8px;
    }

    .psv2-mockup__split,
    .psv2-momentum-layout,
    .psv2-tailor-layout,
    .psv2-event-layout {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
        gap: 7px;
    }

    .psv2-event-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .psv2-mockup__stat-row {
        gap: 5px;
    }

    .psv2-mockup__stat-row > div,
    .psv2-mockup__card {
        padding-right: 7px;
        padding-left: 7px;
    }

    .psv2-tool-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .psv2-skill-note {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 12px;
        padding: 17px;
    }

    .psv2-skill-note > i {
        width: 30px;
        height: 30px;
    }

    .psv2-expectation {
        padding: 16px;
    }

    .psv2-project > div {
        padding: 18px;
    }

    .psv2-project > img {
        aspect-ratio: 16 / 10;
    }

    .psv2-block h2 {
        align-items: flex-start;
        font-size: 1.45rem;
    }

    .psv2-timeline__item {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 16px;
    }

    .psv2-timeline__item:not(:last-child)::after {
        left: 17px;
    }

    .psv2-speaker__intro {
        grid-template-columns: 68px minmax(0, 1fr);
        gap: 16px;
    }

    .psv2-speaker__intro > img {
        width: 68px;
        height: 68px;
    }

    .psv2-speaker__gallery {
        grid-auto-flow: column;
        grid-auto-columns: 84%;
        grid-template-columns: none;
        grid-template-rows: 220px;
        gap: 10px;
        overflow-x: auto;
        margin-right: -18px;
        margin-left: -18px;
        padding: 0 18px 12px;
        scroll-padding-inline: 18px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .psv2-speaker__gallery::-webkit-scrollbar {
        display: none;
    }

    .psv2-speaker__scene,
    .psv2-speaker__scene--live,
    .psv2-speaker__scene--talk,
    .psv2-speaker__scene--training {
        grid-column: auto;
        grid-row: auto;
        scroll-snap-align: start;
    }

    .psv2-reviews__heading {
        display: block;
    }

    .psv2-reviews__heading > a {
        margin-top: 14px;
    }

    .psv2-review-rail {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 86%;
        grid-template-columns: none;
        grid-template-rows: 1fr;
        gap: 12px;
        overflow-x: auto;
        margin-right: -18px;
        margin-left: -18px;
        padding: 2px 18px 14px;
        scroll-padding-inline: 18px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .psv2-review-rail::-webkit-scrollbar {
        display: none;
    }

    .psv2-review-card,
    .psv2-review-card--wide {
        grid-column: auto;
        scroll-snap-align: start;
    }

    .psv2-review-card > span {
        display: none;
    }

    .psv2-review-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-top: 5px;
    }

    .psv2-review-progress {
        display: flex;
        gap: 5px;
    }

    .psv2-review-progress span {
        width: 18px;
        height: 2px;
        background: rgba(9, 23, 23, 0.14);
    }

    .psv2-review-progress span.is-active {
        background: var(--psv2-purple);
    }

    .psv2-review-controls {
        display: flex;
        gap: 7px;
    }

    .psv2-review-controls button {
        display: grid;
        width: 34px;
        height: 34px;
        border: 1px solid var(--psv2-line);
        border-radius: 50%;
        place-items: center;
        background: var(--psv2-white);
        color: var(--psv2-ink);
        cursor: pointer;
    }

    .psv2-review-controls button:disabled {
        opacity: 0.28;
        cursor: default;
    }

    .psv2-review-controls button:focus-visible {
        outline: 2px solid var(--psv2-purple);
        outline-offset: 3px;
    }

    .psv2-waitlist__form-wrap {
        padding: 16px;
    }

    .psv2-waitlist {
        margin-top: 38px;
        padding: 24px 18px;
    }

    .psv2-waitlist form {
        grid-template-columns: 1fr;
    }

    .psv2-waitlist button {
        width: 100%;
    }

    .psv2-faq summary {
        padding-top: 19px;
        padding-bottom: 19px;
    }

    .psv2-faq__content {
        padding-right: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .psv2-faq *,
    .psv2-mobile-cta,
    .psv2-enrol-card__button {
        transition: none !important;
        animation: none !important;
    }
}
