@font-face {
    font-family: "Cormorant Garamond";
    src: url("../fonts/CormorantGaramond-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cormorant Garamond";
    src: url("../fonts/CormorantGaramond-Italic.woff2") format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("../fonts/Manrope-Variable.woff2") format("woff2");
    font-weight: 200 800;
    font-style: normal;
    font-display: swap;
}

:root {
    color-scheme: dark;
    --night: #050814;
    --night-soft: #080d1d;
    --navy: #07172e;
    --navy-light: #0d2241;
    --violet-deep: #24113e;
    --violet: #7148c5;
    --violet-bright: #a783ff;
    --gold: #e3bb73;
    --gold-light: #f5dda9;
    --gold-deep: #b88b45;
    --cream: #f5f0e5;
    --ink: #f5f0e7;
    --muted: #b7b2c4;
    --dim: #8e899d;
    --panel: rgba(12, 17, 38, .82);
    --panel-solid: #0c1126;
    --panel-light: rgba(255, 255, 255, .045);
    --line: rgba(255, 255, 255, .09);
    --line-soft: rgba(255, 255, 255, .06);
    --line-gold: rgba(227, 187, 115, .26);
    --success: #74d9ac;
    --success-soft: rgba(116, 217, 172, .12);
    --warning: #f1c66f;
    --warning-soft: rgba(241, 198, 111, .12);
    --danger: #f19595;
    --danger-soft: rgba(241, 149, 149, .12);
    --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --sans: "Manrope", "Segoe UI", Arial, sans-serif;
    --radius-sm: 12px;
    --radius: 20px;
    --radius-lg: 30px;
    --shadow: 0 30px 80px rgba(0, 0, 0, .38);
    --shadow-soft: 0 18px 50px rgba(0, 0, 0, .22);
    --container: 1240px;
    --header-height: 82px;
    --ease: cubic-bezier(.22, 1, .36, 1);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-height) + 24px);
}

body {
    margin: 0;
    min-width: 320px;
    min-height: 100vh;
    background: var(--night);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 15px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

body.nav-open,
body.admin-nav-open {
    overflow: hidden;
}

::selection {
    background: rgba(227, 187, 115, .3);
    color: #fff;
}

img,
svg,
video,
iframe {
    display: block;
    max-width: 100%;
}

img {
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    cursor: pointer;
}

button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

p,
h1,
h2,
h3,
h4,
dl,
dd,
figure,
blockquote {
    margin: 0;
}

ul,
ol {
    margin: 0;
    padding: 0;
}

table {
    border-collapse: collapse;
    width: 100%;
}

svg {
    flex: 0 0 auto;
}

:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 4px;
}

[hidden] {
    display: none !important;
}

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

.skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 999;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--gold);
    color: #18101f;
    font-size: 13px;
    font-weight: 800;
    transform: translateY(-160%);
    transition: transform .2s ease;
}

.skip-link:focus {
    transform: translateY(0);
}

.container {
    width: min(var(--container), calc(100% - 64px));
    margin-inline: auto;
}

.site-main {
    position: relative;
    z-index: 1;
    min-height: 60vh;
    overflow: clip;
}

/* Ambient background */
.site-background {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 0%, #1c0e34 0, transparent 38%),
        radial-gradient(circle at 88% 14%, #0b2240 0, transparent 35%),
        linear-gradient(180deg, #050814, #070b1b 56%, #050814);
}

.aurora {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    opacity: .28;
    mix-blend-mode: screen;
    animation: aurora-drift 24s ease-in-out infinite alternate;
}

.aurora-a {
    top: -18vw;
    left: -12vw;
    width: 54vw;
    height: 54vw;
    background: radial-gradient(circle, rgba(106, 55, 181, .75), transparent 68%);
}

.aurora-b {
    top: 20%;
    right: -20vw;
    width: 48vw;
    height: 48vw;
    background: radial-gradient(circle, rgba(13, 65, 117, .62), transparent 70%);
    animation-delay: -8s;
    animation-duration: 28s;
}

.aurora-c {
    bottom: -24vw;
    left: 22%;
    width: 40vw;
    height: 40vw;
    background: radial-gradient(circle, rgba(168, 123, 51, .22), transparent 70%);
    animation-delay: -14s;
    animation-duration: 32s;
}

.star-field {
    position: absolute;
    inset: 0;
    opacity: .58;
    background-image:
        radial-gradient(1px 1px at 8% 14%, rgba(255, 255, 255, .8), transparent),
        radial-gradient(1px 1px at 22% 42%, rgba(245, 221, 169, .75), transparent),
        radial-gradient(1.5px 1.5px at 36% 22%, rgba(255, 255, 255, .55), transparent),
        radial-gradient(1px 1px at 54% 68%, rgba(255, 255, 255, .7), transparent),
        radial-gradient(1.5px 1.5px at 68% 32%, rgba(227, 187, 115, .65), transparent),
        radial-gradient(1px 1px at 82% 74%, rgba(255, 255, 255, .65), transparent),
        radial-gradient(1px 1px at 92% 18%, rgba(255, 255, 255, .7), transparent),
        radial-gradient(1px 1px at 14% 82%, rgba(255, 255, 255, .55), transparent),
        radial-gradient(1.5px 1.5px at 46% 92%, rgba(245, 221, 169, .6), transparent),
        radial-gradient(1px 1px at 74% 56%, rgba(255, 255, 255, .5), transparent);
    background-size: 620px 620px;
    animation: stars-twinkle 8s ease-in-out infinite alternate;
}

.grain {
    position: absolute;
    inset: 0;
    opacity: .035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

@keyframes aurora-drift {
    0% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(4vw, 3vh, 0) scale(1.08); }
    100% { transform: translate3d(-2vw, 5vh, 0) scale(.96); }
}

@keyframes stars-twinkle {
    from { opacity: .38; }
    to { opacity: .68; }
}

@keyframes float-soft {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes spin-slow {
    to { transform: rotate(360deg); }
}

@keyframes shimmer {
    from { background-position: -200% 0; }
    to { background-position: 200% 0; }
}

/* Typography */
h1,
h2,
h3,
h4 {
    font-family: var(--serif);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.012em;
}

h1 em,
h2 em,
h3 em {
    font-style: italic;
    color: var(--gold-light);
}

h1 {
    font-size: clamp(38px, 5.2vw, 68px);
}

h2 {
    font-size: clamp(32px, 3.7vw, 50px);
}

h3 {
    font-size: clamp(23px, 2.3vw, 30px);
}

strong {
    font-weight: 700;
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0 0 18px;
    color: var(--gold);
    font-family: var(--sans);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .24em;
    line-height: 1.5;
    text-transform: uppercase;
}

.eyebrow .icon {
    width: 15px;
    height: 15px;
}

.eyebrow-line {
    display: inline-block;
    width: 26px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold));
}

.eyebrow-light {
    color: var(--gold-light);
}

.eyebrow-light .eyebrow-line {
    background: linear-gradient(90deg, transparent, var(--gold-light));
}

.eyebrow-tag {
    padding: 4px 9px;
    border: 1px solid rgba(227, 187, 115, .25);
    border-radius: 999px;
    font-size: 8.5px;
    letter-spacing: .18em;
    color: rgba(245, 221, 169, .8);
}

.section {
    position: relative;
    padding: clamp(74px, 8vw, 118px) 0;
}

.section-heading {
    max-width: 760px;
    margin-bottom: clamp(34px, 4vw, 50px);
}

.section-heading h2 {
    margin-bottom: 18px;
}

.section-heading > p:not(.eyebrow),
.section-side-copy {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}

.section-heading-center {
    margin-inline: auto;
    text-align: center;
}

.section-heading-center .eyebrow {
    justify-content: center;
}

.section-heading-center > p:not(.eyebrow) {
    max-width: 620px;
    margin-inline: auto;
}

.section-heading-split {
    display: flex;
    max-width: none;
    align-items: end;
    justify-content: space-between;
    gap: 48px;
}

.section-heading-split > div {
    max-width: 720px;
}

.section-heading-split .section-side-copy {
    max-width: 350px;
    padding-bottom: 8px;
    flex: 0 1 350px;
    border-left: 1px solid var(--line);
    padding-left: 28px;
}

.section-foot-link {
    display: flex;
    justify-content: center;
    margin-top: 38px;
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--gold-light);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.4;
    transition: color .2s ease, gap .2s ease;
}

.text-link .icon {
    width: 15px;
    height: 15px;
    transition: transform .2s ease;
}

.text-link:hover {
    color: #fff;
    gap: 11px;
}

.text-link-lg {
    font-size: 13px;
    white-space: nowrap;
}

.text-link-lg .icon {
    width: 17px;
    height: 17px;
}

/* Buttons */
.btn {
    position: relative;
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 13px 24px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-family: var(--sans);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    transition: transform .25s var(--ease), background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.btn .icon {
    width: 17px;
    height: 17px;
}

.btn:hover {
    transform: translateY(-2px);
}

.btn:active {
    transform: translateY(0);
}

.btn-gold {
    background: linear-gradient(130deg, #f4d89e, var(--gold) 46%, #c89b51);
    color: #160f21;
    box-shadow: 0 10px 30px rgba(227, 187, 115, .18);
}

.btn-gold::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, .38) 48%, transparent 72%);
    transform: translateX(-120%);
    transition: transform .65s var(--ease);
}

.btn-gold:hover {
    box-shadow: 0 16px 38px rgba(227, 187, 115, .28);
}

.btn-gold:hover::after {
    transform: translateX(120%);
}

.btn-outline {
    border-color: rgba(227, 187, 115, .38);
    background: rgba(227, 187, 115, .035);
    color: var(--gold-light);
}

.btn-outline:hover {
    border-color: rgba(227, 187, 115, .7);
    background: rgba(227, 187, 115, .1);
    color: #fff;
}

.btn-outline-light {
    border-color: rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .035);
    color: var(--cream);
}

.btn-outline-light:hover {
    border-color: rgba(245, 221, 169, .45);
    background: rgba(255, 255, 255, .08);
}

.btn-ghost {
    border-color: transparent;
    background: transparent;
    color: var(--muted);
}

.btn-ghost:hover {
    background: rgba(255, 255, 255, .05);
    color: #fff;
}

.btn-sm {
    min-height: 40px;
    padding: 10px 18px;
    font-size: 11.5px;
}

.btn-xs {
    min-height: 32px;
    padding: 7px 13px;
    font-size: 10.5px;
}

.btn-lg {
    min-height: 54px;
    padding: 16px 30px;
    font-size: 13px;
}

.btn-block {
    width: 100%;
}

.btn[disabled] {
    opacity: .5;
    pointer-events: none;
}

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 80;
    height: var(--header-height);
    border-bottom: 1px solid transparent;
    transition: background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
}

.site-header::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(227, 187, 115, .4), transparent);
    transition: opacity .3s ease;
}

.site-header.is-scrolled,
body.nav-open .site-header {
    background: rgba(5, 8, 20, .78);
    border-color: var(--line-soft);
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
}

.site-header.is-scrolled::after {
    opacity: 1;
}

.header-inner {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    flex: 0 0 auto;
}

.brand-logo {
    width: 132px;
    height: auto;
    filter: drop-shadow(0 3px 14px rgba(227, 187, 115, .07));
}

.brand-academy {
    padding-left: 13px;
    border-left: 1px solid rgba(227, 187, 115, .35);
    color: var(--gold);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .28em;
    line-height: 1.3;
    text-transform: uppercase;
}

.primary-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nav-link {
    position: relative;
    padding: 10px 13px;
    color: var(--muted);
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .03em;
    transition: color .2s ease;
}

.nav-link::after {
    content: "";
    position: absolute;
    bottom: 3px;
    left: 13px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--gold);
    opacity: 0;
    transform: scale(0);
    transition: opacity .2s ease, transform .2s ease;
}

.nav-link:hover,
.nav-link.is-active {
    color: var(--cream);
}

.nav-link.is-active::after {
    opacity: 1;
    transform: scale(1);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 9px;
    flex: 0 0 auto;
}

.header-icon-link {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 50%;
    background: transparent;
    color: var(--muted);
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.header-icon-link .icon {
    width: 18px;
    height: 18px;
}

.header-icon-link:hover {
    border-color: var(--line);
    background: rgba(255, 255, 255, .05);
    color: var(--cream);
}

.header-admin-link {
    color: var(--gold);
}

.account-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 5px 13px 5px 5px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .035);
    transition: border-color .2s ease, background .2s ease;
}

.account-pill:hover {
    border-color: var(--line-gold);
    background: rgba(227, 187, 115, .06);
}

.account-pill-text {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.account-pill-text small {
    color: var(--dim);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.account-pill-text strong {
    max-width: 82px;
    overflow: hidden;
    color: var(--cream);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.avatar {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(113, 72, 197, .55), rgba(13, 34, 65, .8));
    color: var(--cream);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
}

.avatar-gold {
    border-color: rgba(227, 187, 115, .35);
    background: linear-gradient(135deg, rgba(227, 187, 115, .22), rgba(113, 72, 197, .26));
    color: var(--gold-light);
}

.avatar-lg {
    width: 46px;
    height: 46px;
    font-size: 12px;
}

.avatar-xl {
    width: 66px;
    height: 66px;
    font-size: 17px;
}

.logout-form {
    display: flex;
}

.nav-toggle {
    display: none;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: rgba(255, 255, 255, .04);
    color: var(--cream);
}

.nav-toggle .icon {
    width: 20px;
    height: 20px;
}

.nav-toggle-close,
.nav-mobile-actions {
    display: none;
}

/* Toast */
.toast-stack {
    position: fixed;
    top: calc(var(--header-height) + 14px);
    right: 22px;
    z-index: 200;
    display: flex;
    width: min(390px, calc(100vw - 32px));
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}

.toast {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px 40px 15px 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(11, 16, 34, .95);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .4);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    pointer-events: auto;
    animation: toast-in .4s var(--ease) both;
    overflow: hidden;
}

.toast.toast-leaving {
    animation: toast-out .28s ease forwards;
}

.toast-icon {
    display: inline-flex;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
}

.toast-icon .icon {
    width: 17px;
    height: 17px;
}

.toast-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.toast-copy strong {
    color: var(--cream);
    font-size: 12px;
    line-height: 1.4;
}

.toast-copy p {
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.55;
}

.toast-close {
    position: absolute;
    top: 11px;
    right: 10px;
    display: inline-flex;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--dim);
}

.toast-close:hover {
    background: rgba(255, 255, 255, .06);
    color: #fff;
}

.toast-close .icon {
    width: 14px;
    height: 14px;
}

.toast-timer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    transform-origin: left;
    background: var(--gold);
    animation: toast-timer 6s linear forwards;
}

.toast-success { border-color: rgba(116, 217, 172, .24); }
.toast-success .toast-icon { color: var(--success); background: var(--success-soft); }
.toast-success .toast-timer { background: var(--success); }
.toast-error { border-color: rgba(241, 149, 149, .25); }
.toast-error .toast-icon { color: var(--danger); background: var(--danger-soft); }
.toast-error .toast-timer { background: var(--danger); }
.toast-warning { border-color: rgba(241, 198, 111, .25); }
.toast-warning .toast-icon { color: var(--warning); background: var(--warning-soft); }
.toast-warning .toast-timer { background: var(--warning); }
.toast-info .toast-icon { color: var(--violet-bright); background: rgba(167, 131, 255, .12); }

@keyframes toast-in {
    from { opacity: 0; transform: translateX(22px) scale(.98); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes toast-out {
    to { opacity: 0; transform: translateX(24px) scale(.98); }
}

@keyframes toast-timer {
    to { transform: scaleX(0); }
}

/* Footer */
.site-footer {
    position: relative;
    z-index: 1;
    margin-top: clamp(60px, 8vw, 100px);
    border-top: 1px solid var(--line-soft);
    background:
        radial-gradient(circle at 15% 0%, rgba(65, 31, 111, .26), transparent 35%),
        linear-gradient(180deg, rgba(8, 12, 28, .72), rgba(4, 7, 16, .96));
    overflow: hidden;
}

.site-footer::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 45%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(227, 187, 115, .65), transparent);
    animation: footer-line 9s ease-in-out infinite alternate;
}

.footer-glow {
    position: absolute;
    top: -180px;
    right: 8%;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(113, 72, 197, .2), transparent 68%);
    filter: blur(30px);
}

.footer-top {
    position: relative;
    display: grid;
    grid-template-columns: minmax(260px, 1.55fr) repeat(2, minmax(130px, .7fr)) minmax(215px, .9fr);
    gap: 54px;
    padding: 68px 0 52px;
}

.footer-brand p {
    max-width: 390px;
    margin: 22px 0 24px;
    color: var(--muted);
    font-size: 12.5px;
    line-height: 1.85;
}

.footer-logo img {
    width: 160px;
}

.footer-socials {
    display: flex;
    gap: 9px;
}

.footer-socials a {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--muted);
    transition: border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease;
}

.footer-socials a:hover {
    border-color: var(--line-gold);
    background: rgba(227, 187, 115, .07);
    color: var(--gold-light);
    transform: translateY(-2px);
}

.footer-socials .icon {
    width: 16px;
    height: 16px;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 11px;
}

.footer-column h3 {
    margin-bottom: 8px;
    color: var(--cream);
    font-family: var(--sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.footer-column a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--muted);
    font-size: 12.5px;
    transition: color .2s ease, transform .2s ease;
}

.footer-column a:hover {
    color: var(--gold-light);
    transform: translateX(3px);
}

.footer-column a .icon {
    width: 14px;
    height: 14px;
    color: var(--gold);
}

.footer-note {
    margin-top: 7px;
    color: var(--dim);
    font-size: 10.5px;
    letter-spacing: .03em;
}

.footer-bottom {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 0 26px;
    border-top: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 10.5px;
}

.footer-bottom-note {
    letter-spacing: .02em;
}

@keyframes footer-line {
    from { transform: translateX(-10%); opacity: .4; }
    to { transform: translateX(40%); opacity: .9; }
}

.floating-help {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 70;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 16px 11px 12px;
    border: 1px solid rgba(227, 187, 115, .3);
    border-radius: 999px;
    background: rgba(9, 13, 29, .9);
    box-shadow: 0 14px 40px rgba(0, 0, 0, .32);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    color: var(--cream);
    font-size: 10.5px;
    font-weight: 600;
    transition: border-color .2s ease, transform .2s ease;
}

.floating-help .icon {
    width: 22px;
    height: 22px;
    color: var(--gold);
}

.floating-help:hover {
    border-color: rgba(227, 187, 115, .65);
    transform: translateY(-3px);
}

/* Shared components */
.chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .05);
    color: var(--muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.3;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.chip .icon {
    width: 12px;
    height: 12px;
}

.chip-category {
    border-color: rgba(227, 187, 115, .25);
    background: rgba(7, 10, 23, .55);
    color: var(--gold-light);
}

.chip-gold {
    border-color: rgba(227, 187, 115, .3);
    background: rgba(227, 187, 115, .12);
    color: var(--gold-light);
}

.chip-success {
    border-color: rgba(116, 217, 172, .25);
    background: var(--success-soft);
    color: var(--success);
}

.chip-soft {
    color: var(--cream);
}

.price {
    color: var(--gold-light);
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.01em;
}

.price-old {
    color: var(--dim);
    font-size: 11px;
    text-decoration: line-through;
}

.status-badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 5px;
    padding: 5px 9px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .04);
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.3;
    text-transform: uppercase;
    white-space: nowrap;
}

.status-badge .icon {
    width: 12px;
    height: 12px;
}

.status-paid {
    border-color: rgba(116, 217, 172, .22);
    background: var(--success-soft);
    color: var(--success);
}

.status-pending {
    border-color: rgba(241, 198, 111, .22);
    background: var(--warning-soft);
    color: var(--warning);
}

.status-refunded {
    border-color: rgba(241, 149, 149, .22);
    background: var(--danger-soft);
    color: var(--danger);
}

.status-draft {
    color: var(--dim);
}

.breadcrumb {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 30px;
    color: var(--dim);
    font-size: 10px;
    line-height: 1.4;
}

.breadcrumb a {
    color: var(--muted);
    transition: color .2s ease;
}

.breadcrumb a:hover {
    color: var(--gold-light);
}

.breadcrumb .icon {
    width: 12px;
    height: 12px;
    opacity: .5;
}

.breadcrumb span {
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reveal-ready .reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .7s var(--ease), transform .7s var(--ease);
}

.reveal-ready .reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.reveal-ready .product-grid .reveal:nth-child(2) { transition-delay: .07s; }
.reveal-ready .product-grid .reveal:nth-child(3) { transition-delay: .14s; }
.reveal-ready .product-grid .reveal:nth-child(4) { transition-delay: .21s; }

/* Forms */
.field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
}

.field > label,
.field-head label {
    color: var(--cream);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .015em;
}

.field-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.field-hint,
.label-optional,
.field-help {
    color: var(--dim);
    font-size: 9.5px;
    font-weight: 500;
    letter-spacing: .02em;
}

.field-help {
    line-height: 1.6;
}

.field-help strong {
    color: var(--muted);
}

.required-mark {
    color: var(--gold);
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="number"],
input[type="date"],
select,
textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 15px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, .035);
    color: var(--ink);
    font-size: 12.5px;
    line-height: 1.5;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

textarea {
    min-height: 110px;
    resize: vertical;
}

input::placeholder,
textarea::placeholder {
    color: rgba(160, 155, 177, .55);
}

input:hover,
select:hover,
textarea:hover {
    border-color: rgba(255, 255, 255, .16);
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: rgba(227, 187, 115, .55);
    background: rgba(255, 255, 255, .05);
    box-shadow: 0 0 0 3px rgba(227, 187, 115, .07);
}

input:disabled {
    color: var(--dim);
    background: rgba(255, 255, 255, .022);
    -webkit-text-fill-color: var(--dim);
}

select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 38px;
    cursor: pointer;
}

select option {
    background: #0b1023;
    color: var(--ink);
}

.input-wrap,
.input-prefix-wrap,
.input-suffix-wrap,
.select-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.input-wrap > .icon {
    position: absolute;
    left: 15px;
    z-index: 1;
    width: 16px;
    height: 16px;
    color: var(--dim);
    pointer-events: none;
}

.input-wrap input {
    padding-left: 42px;
    padding-right: 42px;
}

.input-wrap-disabled input {
    padding-right: 40px;
}

.password-toggle {
    position: absolute;
    right: 8px;
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--dim);
}

.password-toggle:hover {
    background: rgba(255, 255, 255, .05);
    color: var(--cream);
}

.password-toggle .icon {
    width: 16px;
    height: 16px;
}

.password-toggle.is-active {
    background: rgba(227, 187, 115, .08);
    color: var(--gold);
}

.input-lock {
    position: absolute;
    right: 14px;
    display: flex;
    color: var(--dim);
}

.input-lock .icon {
    width: 15px;
    height: 15px;
}

.input-prefix-wrap > span,
.input-suffix-wrap > span {
    position: absolute;
    z-index: 1;
    color: var(--dim);
    font-size: 11px;
    font-weight: 600;
}

.input-prefix-wrap > span {
    left: 14px;
}

.input-prefix-wrap input {
    padding-left: 44px;
}

.input-suffix-wrap > span {
    right: 14px;
}

.input-suffix-wrap input {
    padding-right: 52px;
}

.select-wrap .icon {
    position: absolute;
    right: 13px;
    width: 15px;
    height: 15px;
    color: var(--dim);
    pointer-events: none;
}

.select-wrap select {
    width: 100%;
}

.form-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.checkbox-field {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.65;
    cursor: pointer;
}

.checkbox-field input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkbox-box {
    display: inline-flex;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 5px;
    background: rgba(255, 255, 255, .03);
    color: var(--night);
    transition: background .2s ease, border-color .2s ease;
}

.checkbox-box .icon {
    width: 12px;
    height: 12px;
    opacity: 0;
    transition: opacity .15s ease;
}

.checkbox-field input:checked + .checkbox-box {
    border-color: var(--gold);
    background: var(--gold);
}

.checkbox-field input:checked + .checkbox-box .icon {
    opacity: 1;
}

.checkbox-field input:focus-visible + .checkbox-box {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
}

.checkbox-field a {
    color: var(--gold-light);
    text-decoration: underline;
    text-decoration-color: rgba(227, 187, 115, .35);
    text-underline-offset: 3px;
}

.checkbox-field-card {
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(255, 255, 255, .025);
}

.checkbox-field-card > span:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.checkbox-field-card strong {
    color: var(--cream);
    font-size: 11px;
}

.checkbox-field-card small {
    color: var(--dim);
    font-size: 9.5px;
    line-height: 1.5;
}

.password-strength {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    margin-top: 2px;
}

.password-strength span {
    height: 2px;
    border-radius: 99px;
    background: rgba(255, 255, 255, .1);
    transition: background .2s ease;
}

.password-strength small {
    grid-column: 1 / -1;
    margin-top: 3px;
    color: var(--dim);
    font-size: 9px;
}

.password-strength[data-level="1"] span:nth-child(1) { background: var(--danger); }
.password-strength[data-level="2"] span:nth-child(-n+2) { background: var(--warning); }
.password-strength[data-level="3"] span:nth-child(-n+3) { background: #b9cf73; }
.password-strength[data-level="4"] span { background: var(--success); }

.form-errors {
    display: flex;
    gap: 14px;
    margin-bottom: 22px;
    padding: 18px 20px;
    border: 1px solid rgba(241, 149, 149, .25);
    border-radius: 16px;
    background: rgba(78, 23, 32, .3);
    color: var(--muted);
    font-size: 11.5px;
}

.form-errors-icon {
    display: inline-flex;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--danger-soft);
    color: var(--danger);
}

.form-errors-icon .icon {
    width: 17px;
    height: 17px;
}

.form-errors strong {
    display: block;
    margin-bottom: 5px;
    color: var(--cream);
}

.form-errors ul {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-left: 16px;
    list-style: disc;
}

.form-errors p {
    margin-top: 4px;
}

.form-errors-info {
    border-color: rgba(167, 131, 255, .2);
    background: rgba(71, 45, 126, .2);
}

.form-errors-info .form-errors-icon {
    background: rgba(167, 131, 255, .12);
    color: var(--violet-bright);
}

.inline-note {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: rgba(255, 255, 255, .025);
    color: var(--muted);
    font-size: 10.5px;
    line-height: 1.55;
}

.inline-note > .icon {
    width: 15px;
    height: 15px;
    color: var(--gold);
}

.inline-note > a {
    margin-left: auto;
    color: var(--gold-light);
    font-weight: 700;
    white-space: nowrap;
}

.inline-note-warn {
    margin-bottom: 16px;
    border-color: rgba(241, 198, 111, .2);
    background: var(--warning-soft);
}

/* Product cards */
.product-grid {
    display: grid;
    gap: 22px;
}

.product-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: linear-gradient(165deg, rgba(20, 25, 49, .82), rgba(9, 13, 29, .92));
    box-shadow: 0 20px 55px rgba(0, 0, 0, .16);
    overflow: hidden;
    transition: transform .4s var(--ease), border-color .3s ease, box-shadow .4s ease;
}

.product-card::before {
    content: "";
    position: absolute;
    top: -1px;
    right: 28%;
    left: 28%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(227, 187, 115, .45), transparent);
    opacity: 0;
    transition: opacity .3s ease;
}

.product-card:hover {
    border-color: rgba(227, 187, 115, .25);
    transform: translateY(-6px);
    box-shadow: 0 30px 70px rgba(0, 0, 0, .32);
}

.product-card:hover::before {
    opacity: 1;
}

.product-card-media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: linear-gradient(145deg, #241441, #09162a);
}

.product-card-media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s var(--ease), filter .4s ease;
}

.product-card:hover .product-card-media > img {
    transform: scale(1.045);
    filter: brightness(.86);
}

.product-card-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(4, 7, 17, .12) 0, transparent 42%, rgba(5, 8, 18, .68) 100%);
    pointer-events: none;
}

.product-card-media .chip-category {
    position: absolute;
    top: 12px;
    left: 12px;
}

.product-card-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    padding: 5px 9px;
    border: 1px solid rgba(227, 187, 115, .28);
    border-radius: 999px;
    background: rgba(8, 11, 24, .72);
    color: var(--gold-light);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.product-card-custom {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    width: 27px;
    height: 27px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    background: rgba(7, 10, 22, .55);
    color: var(--cream);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.product-card-custom .icon {
    width: 12px;
    height: 12px;
}

.product-card-peek {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    background: rgba(245, 221, 169, .92);
    color: #1a1220;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .3s ease, transform .3s ease;
}

.product-card-peek .icon {
    width: 16px;
    height: 16px;
}

.product-card:hover .product-card-peek {
    opacity: 1;
    transform: translateY(0);
}

.product-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 17px 18px 18px;
}

.product-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 13px;
    margin-bottom: 9px;
    color: var(--dim);
    font-size: 9px;
    letter-spacing: .03em;
}

.product-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.product-card-meta .icon {
    width: 12px;
    height: 12px;
    color: var(--gold);
}

.product-card-title {
    margin-bottom: 8px;
    font-size: clamp(20px, 1.7vw, 24px);
    line-height: 1.1;
}

.product-card-title a {
    transition: color .2s ease;
}

.product-card-title a:hover {
    color: var(--gold-light);
}

.product-card-excerpt {
    display: -webkit-box;
    min-height: 34px;
    margin-bottom: 16px;
    color: var(--muted);
    font-size: 10.5px;
    line-height: 1.65;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-card-footer {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--line-soft);
}

.price-wrap {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.product-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--gold-light);
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .04em;
}

.product-card-cta .icon {
    width: 14px;
    height: 14px;
    transition: transform .2s ease;
}

.product-card:hover .product-card-cta .icon {
    transform: translateX(3px);
}

/* Empty states */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 58px 28px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: rgba(255, 255, 255, .022);
    text-align: center;
}

.empty-icon {
    display: inline-flex;
    width: 58px;
    height: 58px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border: 1px solid var(--line-gold);
    border-radius: 50%;
    background: rgba(227, 187, 115, .06);
    color: var(--gold);
}

.empty-icon .icon {
    width: 24px;
    height: 24px;
}

.empty-state h2,
.empty-state h3 {
    margin-bottom: 10px;
}

.empty-state p {
    max-width: 450px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.75;
}

.empty-state .btn {
    margin-top: 22px;
}

.empty-state-lg {
    padding: 80px 28px;
}

.empty-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}

.empty-actions .btn {
    margin-top: 0;
}

/* Home — hero */
.hero {
    position: relative;
    padding: 58px 0 0;
    overflow: clip;
}

.hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    align-items: center;
    gap: clamp(30px, 5vw, 70px);
    min-height: 590px;
    padding-bottom: 42px;
}

.hero-copy {
    max-width: 620px;
    animation: hero-copy-in 1s var(--ease) both;
}

.hero-copy h1 {
    max-width: 610px;
    margin-bottom: 22px;
    font-size: clamp(46px, 5.7vw, 76px);
    line-height: .98;
    letter-spacing: -.025em;
}

.hero-copy h1 em {
    display: inline-block;
    color: var(--gold-light);
}

.hero-lead {
    max-width: 545px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.85;
}

.hero-search {
    display: flex;
    width: min(100%, 545px);
    align-items: center;
    gap: 8px;
    margin: 29px 0 16px;
    padding: 6px;
    border: 1px solid rgba(227, 187, 115, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .045);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    transition: border-color .2s ease, background .2s ease;
}

.hero-search:focus-within {
    border-color: rgba(227, 187, 115, .45);
    background: rgba(255, 255, 255, .06);
}

.hero-search input {
    min-height: 40px;
    flex: 1;
    padding: 8px 5px 8px 36px;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-size: 11.5px;
}

.hero-search input:focus {
    background: transparent;
    box-shadow: none;
}

.search-icon {
    display: flex;
    margin-right: -31px;
    margin-left: 11px;
    z-index: 1;
    color: var(--gold);
    pointer-events: none;
}

.search-icon .icon {
    width: 16px;
    height: 16px;
}

.hero-search .btn {
    min-height: 40px;
    padding: 10px 20px;
    font-size: 10.5px;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
}

.hero-actions .btn {
    min-height: 43px;
    padding: 11px 18px;
    font-size: 10.5px;
}

.hero-assurances {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 23px;
    margin-top: 29px;
    padding-top: 18px;
    border-top: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 9px;
    letter-spacing: .04em;
}

.hero-assurances span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.hero-assurances .icon {
    width: 13px;
    height: 13px;
    color: var(--gold);
}

.hero-visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 565px;
    animation: hero-visual-in 1.15s .12s var(--ease) both;
}

.hero-halo {
    position: absolute;
    width: 440px;
    height: 440px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(227, 187, 115, .11), transparent 54%),
        radial-gradient(circle at 60% 40%, rgba(109, 64, 194, .3), transparent 62%);
    filter: blur(18px);
}

.hero-card-deck {
    position: relative;
    z-index: 2;
    width: min(100%, 486px);
    height: 545px;
}

.hero-cover {
    position: absolute;
    display: block;
    width: 244px;
    height: 348px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 15px;
    background: #151229;
    box-shadow: 0 32px 65px rgba(0, 0, 0, .45);
    overflow: hidden;
    transition: transform .55s var(--ease), border-color .3s ease;
}

.hero-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-cover-1 {
    top: 70px;
    left: 50%;
    z-index: 3;
    width: 278px;
    height: 397px;
    transform: translateX(-50%);
    border-color: rgba(227, 187, 115, .32);
}

.hero-cover-2 {
    top: 128px;
    left: 5px;
    z-index: 2;
    transform: rotate(-10deg);
    opacity: .87;
}

.hero-cover-3 {
    top: 104px;
    right: 3px;
    z-index: 1;
    transform: rotate(9deg);
    opacity: .8;
}

.hero-cover:hover {
    z-index: 5;
    border-color: rgba(227, 187, 115, .55);
}

.hero-cover-1:hover {
    transform: translateX(-50%) translateY(-7px);
}

.hero-cover-2:hover {
    transform: rotate(-6deg) translateY(-7px);
}

.hero-cover-3:hover {
    transform: rotate(5deg) translateY(-7px);
}

.hero-cover-info {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    padding: 50px 16px 15px;
    background: linear-gradient(transparent, rgba(5, 8, 19, .95));
}

.hero-cover-info small {
    color: var(--gold);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hero-cover-info strong {
    margin-top: 2px;
    color: var(--cream);
    font-family: var(--serif);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.15;
}

.hero-cover:not(.hero-cover-1) .hero-cover-info {
    display: none;
}

.floating-note {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 15px 11px 11px;
    border: 1px solid rgba(227, 187, 115, .2);
    border-radius: 14px;
    background: rgba(9, 14, 31, .84);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .28);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    animation: float-soft 5s ease-in-out infinite;
}

.floating-note > span:last-child {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.floating-note small {
    color: var(--dim);
    font-size: 8px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.floating-note strong {
    color: var(--cream);
    font-size: 10px;
}

.floating-note-a {
    top: 55px;
    left: -8px;
}

.floating-note-b {
    right: -9px;
    bottom: 57px;
    animation-delay: -2.4s;
}

.floating-icon {
    display: inline-flex;
    width: 31px;
    height: 31px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(227, 187, 115, .1);
    color: var(--gold);
}

.floating-icon .icon {
    width: 17px;
    height: 17px;
}

.floating-dot {
    position: relative;
    width: 9px;
    height: 9px;
    margin: 0 10px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 0 5px rgba(116, 217, 172, .1);
}

.hero-seal {
    position: absolute;
    top: 5px;
    right: -3px;
    z-index: 1;
    display: flex;
    width: 105px;
    height: 105px;
    align-items: center;
    justify-content: center;
    opacity: .5;
}

.hero-seal svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    animation: spin-slow 42s linear infinite;
}

.hero-seal text {
    fill: rgba(227, 187, 115, .65);
    font-family: var(--sans);
    font-size: 6px;
    letter-spacing: .23em;
}

.hero-seal > span {
    display: flex;
    color: rgba(227, 187, 115, .65);
}

.hero-seal .icon {
    width: 22px;
    height: 22px;
}

.hero-orbits {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.orbit {
    position: absolute;
    border: 1px solid rgba(227, 187, 115, .08);
    border-radius: 50%;
}

.orbit-a {
    top: -110px;
    right: -120px;
    width: 530px;
    height: 530px;
}

.orbit-b {
    top: 50px;
    right: -30px;
    width: 700px;
    height: 700px;
    border-color: rgba(255, 255, 255, .045);
}

.orbit-c {
    right: 110px;
    bottom: -300px;
    width: 900px;
    height: 900px;
    border-style: dashed;
    border-color: rgba(227, 187, 115, .055);
    animation: spin-slow 80s linear infinite;
}

.hero-star {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold-light);
    box-shadow: 0 0 14px 3px rgba(227, 187, 115, .25);
}

.hero-star-a {
    top: 18%;
    right: 34%;
}

.hero-star-b {
    bottom: 18%;
    left: 42%;
    width: 3px;
    height: 3px;
    opacity: .6;
}

.hero-marquee {
    position: relative;
    z-index: 2;
    margin-top: 4px;
    border-top: 1px solid var(--line-soft);
    border-bottom: 1px solid var(--line-soft);
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.marquee-track {
    display: flex;
    width: max-content;
    align-items: center;
    padding: 15px 0;
    animation: marquee-scroll 38s linear infinite;
}

.marquee-track span {
    color: rgba(227, 187, 115, .68);
    font-family: var(--serif);
    font-size: 15px;
    font-style: italic;
    letter-spacing: .06em;
    white-space: nowrap;
}

.marquee-track i {
    width: 3px;
    height: 3px;
    margin: 0 25px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .25);
}

@keyframes marquee-scroll {
    to { transform: translateX(-50%); }
}

@keyframes hero-copy-in {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes hero-visual-in {
    from { opacity: 0; transform: translateY(24px) scale(.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.stats-ribbon {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, .7fr)) minmax(200px, 1.25fr);
    margin-top: 32px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(120deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .018));
    overflow: hidden;
}

.stat-ribbon-item {
    display: flex;
    min-height: 92px;
    flex-direction: column;
    justify-content: center;
    padding: 20px 24px;
    border-right: 1px solid var(--line-soft);
}

.stat-ribbon-item strong {
    color: var(--cream);
    font-family: var(--serif);
    font-size: 31px;
    font-weight: 400;
    line-height: 1;
}

.stat-ribbon-item span {
    margin-top: 5px;
    color: var(--dim);
    font-size: 8.5px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.stat-ribbon-quote {
    flex-direction: row;
    align-items: center;
    gap: 13px;
    border-right: 0;
    background: linear-gradient(120deg, rgba(227, 187, 115, .07), transparent);
}

.stat-ribbon-quote .icon {
    width: 21px;
    height: 21px;
    color: var(--gold);
}

.stat-ribbon-quote span {
    margin: 0;
    color: var(--muted);
    font-family: var(--serif);
    font-size: 16px;
    font-style: italic;
    letter-spacing: 0;
    line-height: 1.3;
    text-transform: none;
}

/* Home — categories */
.section-categories {
    padding-top: clamp(80px, 8vw, 120px);
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.category-card {
    position: relative;
    display: flex;
    min-height: 305px;
    flex-direction: column;
    padding: 25px 24px 22px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(113, 72, 197, .15), transparent 45%),
        linear-gradient(165deg, rgba(255, 255, 255, .045), rgba(9, 13, 29, .55));
    overflow: hidden;
    transition: transform .35s var(--ease), border-color .3s ease, background .3s ease;
}

.category-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 18%;
    left: 18%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(227, 187, 115, .42), transparent);
    opacity: 0;
    transition: opacity .3s ease;
}

.category-card:hover {
    border-color: rgba(227, 187, 115, .25);
    transform: translateY(-5px);
    background:
        radial-gradient(circle at 100% 0%, rgba(113, 72, 197, .22), transparent 48%),
        linear-gradient(165deg, rgba(255, 255, 255, .06), rgba(9, 13, 29, .65));
}

.category-card:hover::before {
    opacity: 1;
}

.category-icon {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    margin-bottom: 26px;
    border: 1px solid rgba(227, 187, 115, .18);
    border-radius: 14px;
    background: rgba(227, 187, 115, .06);
    color: var(--gold);
}

.category-icon .icon {
    width: 21px;
    height: 21px;
}

.category-count {
    position: absolute;
    top: 28px;
    right: 22px;
    color: var(--dim);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.category-card h3 {
    margin-bottom: 9px;
    font-size: 27px;
}

.category-card p {
    margin-bottom: 20px;
    color: var(--muted);
    font-size: 10.5px;
    line-height: 1.7;
}

.category-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: auto;
    color: var(--gold-light);
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .03em;
}

.category-link .icon {
    width: 14px;
    height: 14px;
    transition: transform .2s ease;
}

.category-card:hover .category-link .icon {
    transform: translateX(3px);
}

.category-watermark {
    position: absolute;
    right: -20px;
    bottom: -28px;
    color: rgba(255, 255, 255, .025);
    transform: rotate(-10deg);
    transition: transform .4s var(--ease), color .3s ease;
}

.category-watermark .icon {
    width: 108px;
    height: 108px;
}

.category-card:hover .category-watermark {
    color: rgba(227, 187, 115, .06);
    transform: rotate(-4deg) scale(1.05);
}

.category-academy {
    background:
        radial-gradient(circle at 100% 0%, rgba(227, 187, 115, .12), transparent 48%),
        linear-gradient(165deg, rgba(255, 255, 255, .045), rgba(9, 13, 29, .55));
}

.category-analysis {
    background:
        radial-gradient(circle at 100% 0%, rgba(44, 111, 153, .18), transparent 48%),
        linear-gradient(165deg, rgba(255, 255, 255, .04), rgba(9, 13, 29, .55));
}

.category-ebook {
    background:
        radial-gradient(circle at 100% 0%, rgba(137, 91, 170, .15), transparent 48%),
        linear-gradient(165deg, rgba(255, 255, 255, .04), rgba(9, 13, 29, .55));
}

.category-course {
    background:
        radial-gradient(circle at 100% 0%, rgba(192, 131, 84, .13), transparent 48%),
        linear-gradient(165deg, rgba(255, 255, 255, .04), rgba(9, 13, 29, .55));
}

/* Home — collections */
.section-academy {
    padding-top: 0;
}

.collection-panel {
    position: relative;
    padding: clamp(30px, 4vw, 52px);
    border: 1px solid rgba(227, 187, 115, .14);
    border-radius: 34px;
    background:
        radial-gradient(circle at 80% 0%, rgba(76, 42, 128, .28), transparent 38%),
        linear-gradient(145deg, rgba(18, 23, 48, .92), rgba(7, 11, 25, .96));
    box-shadow: var(--shadow);
    overflow: hidden;
}

.collection-panel::before {
    content: "";
    position: absolute;
    top: 0;
    right: 15%;
    left: 15%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(227, 187, 115, .55), transparent);
}

.collection-glow {
    position: absolute;
    top: -100px;
    left: 30%;
    width: 460px;
    height: 300px;
    border-radius: 50%;
    background: rgba(113, 72, 197, .15);
    filter: blur(70px);
    pointer-events: none;
}

.collection-head {
    position: relative;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 48px;
    margin-bottom: 34px;
}

.collection-head > div:first-child {
    max-width: 660px;
}

.collection-head h2 {
    font-size: clamp(32px, 3.7vw, 48px);
}

.collection-head-side {
    max-width: 340px;
    flex: 0 1 340px;
    padding-bottom: 4px;
}

.collection-head-side p {
    margin-bottom: 18px;
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.8;
}

.collection-head-side .btn {
    min-height: 41px;
    padding: 10px 18px;
    font-size: 10.5px;
}

.collection-products {
    position: relative;
}

.collection-products .product-card {
    background: linear-gradient(165deg, rgba(28, 32, 60, .8), rgba(11, 15, 33, .94));
}

.collection-foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 14px;
    margin-top: 25px;
    padding-top: 19px;
    border-top: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 9.5px;
}

.collection-foot span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.collection-foot .icon {
    width: 14px;
    height: 14px;
    color: var(--gold);
}

/* Home — founder */
.founder-section {
    padding-top: clamp(50px, 6vw, 80px);
}

.founder-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(48px, 8vw, 110px);
}

.founder-visual {
    position: relative;
    max-width: 460px;
    margin-inline: auto;
}

.founder-frame {
    position: relative;
    border-radius: 24px 24px 150px 24px;
    overflow: hidden;
    box-shadow: var(--shadow);
}

.founder-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(5, 8, 19, .55));
}

.founder-frame img {
    width: 100%;
    aspect-ratio: 4 / 5.2;
    object-fit: cover;
    object-position: center top;
    filter: saturate(.82) contrast(1.02);
}

.founder-frame-line {
    position: absolute;
    inset: 12px;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 17px 17px 138px 17px;
    pointer-events: none;
}

.founder-caption {
    position: absolute;
    right: -30px;
    bottom: 42px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 18px 12px 12px;
    border: 1px solid rgba(227, 187, 115, .28);
    border-radius: 13px;
    background: rgba(8, 12, 27, .94);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .35);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.founder-mark {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(227, 187, 115, .1);
    color: var(--gold);
}

.founder-mark .icon {
    width: 17px;
    height: 17px;
}

.founder-caption > div {
    display: flex;
    flex-direction: column;
    line-height: 1.35;
}

.founder-caption strong {
    color: var(--cream);
    font-size: 11px;
}

.founder-caption span:not(.founder-mark) {
    color: var(--dim);
    font-size: 8.5px;
    letter-spacing: .05em;
}

.founder-orbit {
    position: absolute;
    top: -38px;
    left: -50px;
    z-index: -1;
    width: 160px;
    height: 160px;
    border: 1px dashed rgba(227, 187, 115, .14);
    border-radius: 50%;
}

.founder-copy h2 {
    max-width: 530px;
    margin-bottom: 21px;
}

.founder-lead {
    margin-bottom: 13px;
    color: var(--cream);
    font-family: var(--serif);
    font-size: 21px;
    font-style: italic;
    line-height: 1.5;
}

.founder-copy > p:not(.eyebrow):not(.founder-lead) {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.85;
}

.founder-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
    margin: 29px 0;
    padding: 24px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.founder-values > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.founder-values span {
    color: var(--gold);
    font-family: var(--serif);
    font-size: 17px;
}

.founder-values strong {
    color: var(--cream);
    font-size: 10.5px;
}

.founder-values p {
    color: var(--dim);
    font-size: 9.5px;
    line-height: 1.6;
}

/* Home — library preview */
.section-library-preview {
    padding-top: clamp(70px, 7vw, 95px);
}

.library-preview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
    gap: 20px;
}

.ebook-panel,
.analysis-panel {
    position: relative;
    padding: 27px;
    border: 1px solid var(--line);
    border-radius: 25px;
    background: linear-gradient(155deg, rgba(255, 255, 255, .042), rgba(9, 13, 29, .66));
    overflow: hidden;
}

.ebook-panel::before,
.analysis-panel::before {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(227, 187, 115, .07);
    filter: blur(42px);
}

.panel-heading {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.panel-kicker {
    display: block;
    margin-bottom: 5px;
    color: var(--gold);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.panel-heading h3 {
    max-width: 350px;
    font-size: 24px;
    line-height: 1.15;
}

.round-link {
    display: inline-flex;
    width: 37px;
    height: 37px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--muted);
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.round-link:hover {
    border-color: var(--line-gold);
    background: rgba(227, 187, 115, .08);
    color: var(--gold-light);
}

.round-link .icon {
    width: 16px;
    height: 16px;
}

.ebook-list {
    display: flex;
    flex-direction: column;
}

.ebook-row {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    border-top: 1px solid var(--line-soft);
}

.ebook-row:first-child {
    border-top: 0;
}

.ebook-row img {
    width: 54px;
    height: 72px;
    border-radius: 6px;
    object-fit: cover;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .28);
    transition: transform .3s var(--ease);
}

.ebook-row:hover img {
    transform: scale(1.04) rotate(-1deg);
}

.ebook-row-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.ebook-row-copy small {
    color: var(--gold);
    font-size: 8px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ebook-row-copy strong {
    color: var(--cream);
    font-family: var(--serif);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    transition: color .2s ease;
}

.ebook-row:hover .ebook-row-copy strong {
    color: var(--gold-light);
}

.ebook-row-copy > span {
    display: -webkit-box;
    color: var(--dim);
    font-size: 9.5px;
    line-height: 1.5;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ebook-row-price {
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.analysis-panel {
    background:
        radial-gradient(circle at 90% 0%, rgba(44, 111, 153, .12), transparent 45%),
        linear-gradient(155deg, rgba(255, 255, 255, .04), rgba(9, 13, 29, .66));
}

.analysis-list {
    display: flex;
    flex-direction: column;
}

.analysis-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 0;
    border-top: 1px solid var(--line-soft);
}

.analysis-row:first-child {
    border-top: 0;
}

.analysis-icon {
    display: inline-flex;
    width: 33px;
    height: 33px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(167, 131, 255, .14);
    border-radius: 9px;
    background: rgba(113, 72, 197, .08);
    color: var(--violet-bright);
}

.analysis-icon .icon {
    width: 15px;
    height: 15px;
}

.analysis-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 1px;
}

.analysis-copy strong {
    overflow: hidden;
    color: var(--cream);
    font-size: 10.5px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .2s ease;
}

.analysis-row:hover .analysis-copy strong {
    color: var(--gold-light);
}

.analysis-copy small {
    color: var(--dim);
    font-size: 8.5px;
}

.analysis-price {
    color: var(--gold-light);
    font-size: 9.5px;
    font-weight: 800;
    white-space: nowrap;
}

.analysis-row > .icon {
    width: 13px;
    height: 13px;
    color: var(--dim);
}

.analysis-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 9px;
    line-height: 1.6;
}

.analysis-note .icon {
    width: 14px;
    height: 14px;
    margin-top: 1px;
    color: var(--gold);
}

/* Home — process */
.section-process {
    padding-top: 0;
}

.process-panel {
    position: relative;
    padding: clamp(36px, 5vw, 62px);
    border: 1px solid rgba(227, 187, 115, .12);
    border-radius: 32px;
    background:
        radial-gradient(circle at 50% 0%, rgba(62, 35, 104, .3), transparent 55%),
        linear-gradient(160deg, rgba(13, 18, 39, .94), rgba(6, 10, 23, .98));
    overflow: hidden;
}

.process-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
    background-size: 60px 60px;
    -webkit-mask-image: radial-gradient(circle at 50% 0%, #000, transparent 70%);
    mask-image: radial-gradient(circle at 50% 0%, #000, transparent 70%);
    pointer-events: none;
}

.process-glow {
    position: absolute;
    top: -190px;
    left: 50%;
    width: 500px;
    height: 300px;
    border-radius: 50%;
    background: rgba(227, 187, 115, .07);
    filter: blur(60px);
    transform: translateX(-50%);
}

.process-panel .section-heading {
    position: relative;
    z-index: 2;
    margin-bottom: 42px;
}

.process-steps {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid var(--line-soft);
    border-radius: 18px;
    background: var(--line-soft);
    overflow: hidden;
}

.process-step {
    position: relative;
    min-height: 235px;
    padding: 26px 23px;
    background: rgba(8, 12, 27, .88);
}

.process-number {
    position: absolute;
    top: 20px;
    right: 21px;
    color: rgba(227, 187, 115, .32);
    font-family: var(--serif);
    font-size: 25px;
    font-style: italic;
}

.process-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    margin-bottom: 37px;
    border: 1px solid rgba(227, 187, 115, .17);
    border-radius: 50%;
    background: rgba(227, 187, 115, .05);
    color: var(--gold);
}

.process-icon .icon {
    width: 19px;
    height: 19px;
}

.process-step h3 {
    margin-bottom: 8px;
    font-size: 22px;
    line-height: 1.1;
}

.process-step p {
    color: var(--dim);
    font-size: 9.5px;
    line-height: 1.7;
}

/* Home — final CTA */
.section-final-cta {
    padding-top: 0;
    padding-bottom: clamp(20px, 3vw, 36px);
}

.final-cta {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: clamp(55px, 7vw, 88px) 32px;
    border: 1px solid rgba(227, 187, 115, .16);
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 120%, rgba(227, 187, 115, .14), transparent 55%),
        radial-gradient(circle at 18% 0%, rgba(113, 72, 197, .22), transparent 40%),
        linear-gradient(145deg, rgba(19, 23, 49, .95), rgba(7, 10, 24, .98));
    text-align: center;
    overflow: hidden;
}

.final-cta::before {
    content: "";
    position: absolute;
    inset: 13px;
    border: 1px solid rgba(255, 255, 255, .055);
    border-radius: 25px;
    pointer-events: none;
}

.final-cta-orb {
    position: absolute;
    top: -130px;
    left: 50%;
    width: 430px;
    height: 260px;
    border-radius: 50%;
    background: rgba(227, 187, 115, .11);
    filter: blur(65px);
    transform: translateX(-50%);
}

.final-cta-sigil {
    position: relative;
    display: inline-flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border: 1px solid rgba(227, 187, 115, .28);
    border-radius: 50%;
    background: rgba(227, 187, 115, .06);
    color: var(--gold);
    box-shadow: 0 0 40px rgba(227, 187, 115, .08);
}

.final-cta-sigil .icon {
    width: 23px;
    height: 23px;
}

.final-cta h2 {
    position: relative;
    max-width: 740px;
    margin-bottom: 15px;
}

.final-cta > p:not(.eyebrow) {
    position: relative;
    max-width: 540px;
    color: var(--muted);
    font-size: 12.5px;
    line-height: 1.8;
}

.final-cta-actions {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 27px;
}

.final-cta-note {
    position: relative;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 21px;
    color: var(--dim);
    font-size: 8.5px;
    letter-spacing: .04em;
}

.final-cta-note .icon {
    width: 12px;
    height: 12px;
}

.final-cta-compact {
    padding: clamp(45px, 5vw, 64px) 28px;
}

.final-cta-compact h2 {
    font-size: clamp(34px, 4vw, 46px);
}

/* Catalog */
.page-hero {
    position: relative;
    padding: 54px 0 46px;
    border-bottom: 1px solid var(--line-soft);
    background:
        radial-gradient(circle at 78% 8%, rgba(113, 72, 197, .18), transparent 42%),
        radial-gradient(circle at 8% 90%, rgba(13, 65, 117, .14), transparent 40%);
    overflow: hidden;
}

.page-hero::after {
    content: "";
    position: absolute;
    top: -1px;
    left: 12%;
    width: 26%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(227, 187, 115, .5), transparent);
}

.page-hero .breadcrumb {
    margin-bottom: 26px;
}

.page-hero-grid {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 48px;
}

.page-hero-copy {
    max-width: 780px;
}

.page-hero-copy h1 {
    margin-bottom: 17px;
    font-size: clamp(40px, 5vw, 62px);
}

.page-hero-copy > p:not(.eyebrow) {
    max-width: 650px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.85;
}

.page-hero-aside {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
    padding-bottom: 8px;
    text-align: right;
}

.page-hero-number {
    color: var(--gold-light);
    font-family: var(--serif);
    font-size: 60px;
    line-height: .9;
}

.page-hero-aside > span:not(.page-hero-number) {
    margin-top: 6px;
    color: var(--muted);
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.page-hero-aside small {
    margin-top: 8px;
    color: var(--dim);
    font-size: 9.5px;
}

.catalog-section {
    padding: clamp(34px, 4vw, 52px) 0 clamp(50px, 6vw, 80px);
}

.catalog-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    margin-bottom: 22px;
}

.filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 15px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .028);
    color: var(--muted);
    font-size: 10px;
    font-weight: 600;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.filter-chip span {
    display: inline-flex;
    min-width: 19px;
    height: 19px;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    color: var(--dim);
    font-size: 8.5px;
    font-weight: 800;
}

.filter-chip:hover {
    border-color: rgba(227, 187, 115, .3);
    color: var(--cream);
}

.filter-chip.is-active {
    border-color: rgba(227, 187, 115, .48);
    background: rgba(227, 187, 115, .1);
    color: var(--gold-light);
}

.filter-chip.is-active span {
    background: rgba(227, 187, 115, .2);
    color: var(--gold-light);
}

.catalog-tools {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.catalog-search {
    position: relative;
    display: flex;
    width: 218px;
    align-items: center;
}

.catalog-search > .icon {
    position: absolute;
    left: 13px;
    width: 15px;
    height: 15px;
    color: var(--dim);
    pointer-events: none;
}

.catalog-search input {
    min-height: 42px;
    padding: 9px 34px 9px 37px;
    border-radius: 999px;
    font-size: 11px;
}

.search-clear {
    position: absolute;
    right: 12px;
    display: flex;
    color: var(--dim);
}

.search-clear:hover {
    color: var(--cream);
}

.search-clear .icon {
    width: 14px;
    height: 14px;
}

.sort-form {
    display: flex;
    align-items: center;
    gap: 9px;
}

.sort-form > label {
    color: var(--dim);
    font-size: 9.5px;
    font-weight: 600;
    white-space: nowrap;
}

.sort-form .select-wrap select {
    min-height: 42px;
    width: 158px;
    padding-top: 9px;
    padding-bottom: 9px;
    border-radius: 999px;
    font-size: 10.5px;
}

.active-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 24px;
    padding: 11px 15px;
    border: 1px solid var(--line-soft);
    border-radius: 13px;
    background: rgba(255, 255, 255, .022);
    color: var(--dim);
    font-size: 10px;
}

.active-filters > span {
    letter-spacing: .04em;
}

.active-filters a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border: 1px solid rgba(227, 187, 115, .22);
    border-radius: 999px;
    color: var(--gold-light);
    font-weight: 600;
}

.active-filters a .icon {
    width: 11px;
    height: 11px;
}

.active-filters-reset {
    margin-left: auto;
    border-color: transparent !important;
    color: var(--dim) !important;
}

.active-filters-reset:hover {
    color: var(--cream) !important;
}

.catalog-footnote {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 34px;
    padding: 18px 20px;
    border: 1px solid var(--line-soft);
    border-radius: 15px;
    background: rgba(255, 255, 255, .02);
}

.catalog-footnote > span {
    display: inline-flex;
    color: var(--gold);
}

.catalog-footnote .icon {
    width: 18px;
    height: 18px;
}

.catalog-footnote p {
    flex: 1;
    color: var(--dim);
    font-size: 10.5px;
    line-height: 1.6;
}

.catalog-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 38px 42px;
    border: 1px solid rgba(227, 187, 115, .13);
    border-radius: 26px;
    background:
        radial-gradient(circle at 88% 0%, rgba(113, 72, 197, .2), transparent 45%),
        linear-gradient(140deg, rgba(17, 22, 45, .92), rgba(7, 11, 25, .95));
}

.catalog-cta h2 {
    margin-bottom: 7px;
    font-size: clamp(28px, 3vw, 38px);
}

.catalog-cta p:not(.eyebrow) {
    max-width: 540px;
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.75;
}

.catalog-cta .btn {
    flex: 0 0 auto;
}

/* Product page */
.product-page-hero {
    position: relative;
    padding: 34px 0 clamp(50px, 6vw, 80px);
    overflow: hidden;
}

.product-page-hero::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -120px;
    width: 640px;
    height: 640px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(113, 72, 197, .17), transparent 62%);
    pointer-events: none;
}

.admin-preview-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 26px;
    padding: 11px 16px;
    border: 1px dashed rgba(167, 131, 255, .32);
    border-radius: 12px;
    background: rgba(71, 45, 126, .16);
    color: var(--muted);
    font-size: 10.5px;
}

.admin-preview-bar > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.admin-preview-bar .icon {
    width: 14px;
    height: 14px;
    color: var(--violet-bright);
}

.admin-preview-bar > div {
    display: flex;
    align-items: center;
    gap: 14px;
}

.admin-preview-bar a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--gold-light);
    font-weight: 700;
}

.admin-preview-bar a .icon {
    width: 13px;
    height: 13px;
}

.product-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
    align-items: start;
    gap: clamp(38px, 6vw, 84px);
    margin-top: 6px;
}

.product-cover-column {
    position: sticky;
    top: calc(var(--header-height) + 22px);
}

.product-cover-stage {
    position: relative;
    display: grid;
    place-items: center;
    padding: 34px 24px;
    border: 1px solid var(--line);
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 20%, rgba(227, 187, 115, .07), transparent 48%),
        linear-gradient(160deg, rgba(255, 255, 255, .05), rgba(9, 13, 29, .72));
}

.product-cover-frame {
    position: relative;
    z-index: 2;
    width: min(100%, 305px);
    border-radius: 13px;
    box-shadow: 0 38px 80px rgba(0, 0, 0, .5);
}

.product-cover-frame img {
    width: 100%;
    aspect-ratio: 2 / 2.85;
    border-radius: 13px;
    object-fit: cover;
}

.cover-orbit {
    position: absolute;
    border: 1px dashed rgba(227, 187, 115, .1);
    border-radius: 50%;
}

.cover-orbit-a {
    width: 330px;
    height: 330px;
}

.cover-orbit-b {
    width: 430px;
    height: 430px;
    border-style: solid;
    border-color: rgba(255, 255, 255, .04);
}

.product-cover-chip {
    position: absolute;
    bottom: 22px;
    left: 50%;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    border: 1px solid rgba(227, 187, 115, .24);
    border-radius: 999px;
    background: rgba(7, 10, 22, .84);
    color: var(--gold-light);
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    transform: translateX(-50%);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.product-cover-chip .icon {
    width: 13px;
    height: 13px;
}

.product-cover-custom {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 11px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 999px;
    background: rgba(7, 10, 22, .7);
    color: var(--cream);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.product-cover-custom .icon {
    width: 12px;
    height: 12px;
}

.product-cover-note {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 15px;
    padding: 13px 16px;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: rgba(255, 255, 255, .02);
}

.product-cover-note > span {
    color: var(--gold);
}

.product-cover-note .icon {
    width: 17px;
    height: 17px;
}

.product-cover-note p {
    display: flex;
    flex-direction: column;
    color: var(--dim);
    font-size: 9.5px;
    line-height: 1.5;
}

.product-cover-note strong {
    color: var(--cream);
    font-size: 10.5px;
}

.product-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 17px;
}

.product-hero-copy h1 {
    margin-bottom: 16px;
    font-size: clamp(38px, 4.6vw, 58px);
    line-height: 1.02;
}

.product-excerpt {
    max-width: 640px;
    margin-bottom: 25px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.85;
}

.product-meta-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: 26px;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: var(--line-soft);
    overflow: hidden;
}

.product-meta-grid > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
    padding: 13px 15px;
    background: rgba(9, 13, 29, .72);
}

.product-meta-grid span {
    color: var(--dim);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.product-meta-grid strong {
    overflow: hidden;
    color: var(--cream);
    font-size: 10.5px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-purchase-panel {
    padding: 25px;
    border: 1px solid rgba(227, 187, 115, .2);
    border-radius: 22px;
    background:
        radial-gradient(circle at 88% 0%, rgba(227, 187, 115, .09), transparent 45%),
        linear-gradient(150deg, rgba(255, 255, 255, .05), rgba(10, 14, 31, .86));
    box-shadow: 0 24px 60px rgba(0, 0, 0, .26);
}

.product-price-block {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 19px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line-soft);
}

.product-price-label {
    color: var(--dim);
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.product-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 11px;
}

.product-price {
    color: var(--gold-light);
    font-family: var(--sans);
    font-size: 33px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1;
}

.discount-pill {
    padding: 4px 9px;
    border: 1px solid rgba(116, 217, 172, .25);
    border-radius: 999px;
    background: var(--success-soft);
    color: var(--success);
    font-size: 9px;
    font-weight: 800;
}

.product-price-note {
    color: var(--dim);
    font-size: 9.5px;
}

.purchase-helper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 12px;
    color: var(--dim);
    font-size: 9px;
    text-align: center;
}

.purchase-helper .icon {
    width: 12px;
    height: 12px;
}

.purchase-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px 20px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 9px;
}

.purchase-trust span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.purchase-trust .icon {
    width: 13px;
    height: 13px;
    color: var(--gold);
}

.access-active-note,
.access-expired-note {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 15px;
    padding: 13px 15px;
    border: 1px solid rgba(116, 217, 172, .22);
    border-radius: 13px;
    background: var(--success-soft);
    color: var(--muted);
    font-size: 10px;
    line-height: 1.55;
}

.access-active-note > span {
    color: var(--success);
}

.access-active-note .icon {
    width: 17px;
    height: 17px;
}

.access-active-note strong {
    display: block;
    color: var(--cream);
    font-size: 11px;
}

.access-expired-note {
    border-color: rgba(241, 198, 111, .22);
    background: var(--warning-soft);
    align-items: center;
}

.access-expired-note .icon {
    width: 16px;
    height: 16px;
    color: var(--warning);
}

.section-video {
    padding-top: clamp(30px, 4vw, 50px);
}

.video-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #04060f;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.video-frame iframe,
.video-frame video {
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.video-corner {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    background: rgba(7, 10, 22, .72);
    color: var(--cream);
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.video-corner .icon {
    width: 12px;
    height: 12px;
    color: var(--gold);
}

.section-product-detail {
    padding-top: clamp(55px, 6vw, 85px);
}

.product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: start;
    gap: clamp(38px, 5vw, 66px);
}

.product-main-copy {
    min-width: 0;
}

.prose-block {
    margin-bottom: 48px;
}

.prose-block h2 {
    margin-bottom: 20px;
}

.prose-block > p:not(.eyebrow) {
    margin-bottom: 15px;
    color: var(--muted);
    font-size: 12.5px;
    line-height: 1.9;
}

.prose-block > p:not(.eyebrow):last-child {
    margin-bottom: 0;
}

.highlights-block,
.curriculum-block,
.materials-block {
    margin-bottom: 48px;
}

.highlights-block h3,
.curriculum-block h3,
.materials-block h3 {
    margin-bottom: 6px;
    font-size: 27px;
}

.highlights-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 20px;
}

.highlight-item {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 15px 16px;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: rgba(255, 255, 255, .022);
}

.highlight-item > span {
    display: inline-flex;
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(116, 217, 172, .1);
    color: var(--success);
}

.highlight-item .icon {
    width: 13px;
    height: 13px;
}

.highlight-item p {
    color: var(--muted);
    font-size: 10.5px;
    line-height: 1.65;
}

.curriculum-heading,
.materials-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 19px;
}

.curriculum-heading span,
.materials-count {
    color: var(--dim);
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.curriculum-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.curriculum-item {
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: rgba(255, 255, 255, .022);
    overflow: hidden;
    transition: border-color .2s ease, background .2s ease;
}

.curriculum-item[open] {
    border-color: rgba(227, 187, 115, .2);
    background: rgba(227, 187, 115, .035);
}

.curriculum-item summary {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 15px 17px;
    cursor: pointer;
    list-style: none;
}

.curriculum-item summary::-webkit-details-marker {
    display: none;
}

.curriculum-number {
    color: var(--gold);
    font-family: var(--serif);
    font-size: 15px;
    font-style: italic;
}

.curriculum-item summary strong {
    flex: 1;
    color: var(--cream);
    font-size: 11.5px;
    font-weight: 700;
}

.curriculum-item summary .icon {
    width: 16px;
    height: 16px;
    color: var(--dim);
    transition: transform .25s ease;
}

.curriculum-item[open] summary .icon {
    transform: rotate(180deg);
    color: var(--gold);
}

.curriculum-body {
    padding: 0 17px 17px 45px;
}

.curriculum-body p {
    color: var(--muted);
    font-size: 10.5px;
    line-height: 1.75;
}

.materials-heading p {
    max-width: 430px;
    margin-top: 5px;
    color: var(--dim);
    font-size: 10px;
    line-height: 1.6;
}

.materials-list {
    border: 1px solid var(--line-soft);
    border-radius: 15px;
    overflow: hidden;
}

.material-row {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px 16px;
    border-top: 1px solid var(--line-soft);
    background: rgba(255, 255, 255, .016);
}

.material-row:first-child {
    border-top: 0;
}

.material-row.is-locked {
    opacity: .72;
}

.material-icon {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(227, 187, 115, .16);
    border-radius: 10px;
    background: rgba(227, 187, 115, .05);
    color: var(--gold);
}

.material-icon .icon {
    width: 16px;
    height: 16px;
}

.material-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 1px;
}

.material-copy small {
    color: var(--dim);
    font-size: 8px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.material-copy strong {
    overflow: hidden;
    color: var(--cream);
    font-size: 11px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.material-action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--gold-light);
    font-size: 9.5px;
    font-weight: 700;
    white-space: nowrap;
}

.material-action .icon {
    width: 13px;
    height: 13px;
}

.material-locked {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--dim);
    font-size: 9px;
    white-space: nowrap;
}

.material-locked .icon {
    width: 12px;
    height: 12px;
}

.materials-lock-note {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 13px;
    padding: 13px 16px;
    border: 1px dashed rgba(227, 187, 115, .2);
    border-radius: 13px;
    background: rgba(227, 187, 115, .03);
    color: var(--dim);
    font-size: 10px;
}

.materials-lock-note > .icon {
    width: 16px;
    height: 16px;
    color: var(--gold);
}

.materials-lock-note p {
    flex: 1;
    line-height: 1.55;
}

.product-sidebar {
    position: sticky;
    top: calc(var(--header-height) + 22px);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sidebar-card {
    padding: 21px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(160deg, rgba(255, 255, 255, .04), rgba(9, 13, 29, .68));
}

.sidebar-label {
    display: block;
    margin-bottom: 14px;
    color: var(--dim);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.mentor-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 13px;
}

.mentor-row > div {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.mentor-row strong {
    color: var(--cream);
    font-size: 12px;
}

.mentor-row span:not(.avatar) {
    color: var(--dim);
    font-size: 9px;
}

.sidebar-mentor > p {
    margin-bottom: 14px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.75;
}

.sidebar-facts dl {
    display: flex;
    flex-direction: column;
}

.sidebar-facts dl > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid var(--line-soft);
}

.sidebar-facts dl > div:first-child {
    border-top: 0;
    padding-top: 0;
}

.sidebar-facts dt {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--dim);
    font-size: 9.5px;
}

.sidebar-facts dt .icon {
    width: 13px;
    height: 13px;
    color: var(--gold);
}

.sidebar-facts dd {
    color: var(--cream);
    font-size: 10px;
    font-weight: 700;
    text-align: right;
}

.sidebar-help {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    background:
        radial-gradient(circle at 100% 0%, rgba(227, 187, 115, .1), transparent 50%),
        linear-gradient(160deg, rgba(255, 255, 255, .04), rgba(9, 13, 29, .72));
}

.sidebar-help > .icon {
    width: 25px;
    height: 25px;
    color: var(--gold);
}

.sidebar-help h3 {
    font-size: 21px;
    line-height: 1.1;
}

.sidebar-help p {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.7;
}

.section-related {
    padding-top: clamp(30px, 4vw, 50px);
}

/* Shared helpers */
.role-badge {
    display: inline-flex;
    width: fit-content;
    padding: 4px 9px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .04);
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.3;
    text-transform: uppercase;
    white-space: nowrap;
}

.role-superadmin {
    border-color: rgba(227, 187, 115, .3);
    background: rgba(227, 187, 115, .1);
    color: var(--gold-light);
}

.role-admin {
    border-color: rgba(167, 131, 255, .3);
    background: rgba(113, 72, 197, .14);
    color: var(--violet-bright);
}

.progress-track {
    height: 5px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    overflow: hidden;
}

.progress-track > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--violet-bright), var(--gold));
    transition: width 1s var(--ease);
}

.progress-track > span.is-warning {
    background: linear-gradient(90deg, var(--warning), #e89a55);
}

.progress-track-light {
    background: rgba(255, 255, 255, .13);
}

.mono {
    font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .95em;
    letter-spacing: .01em;
}

.table-sub {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 2px;
    color: var(--dim);
    font-size: 8px;
    line-height: 1.45;
}

.table-sub .icon {
    width: 10px;
    height: 10px;
}

.table-truncate {
    display: block;
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.align-right {
    text-align: right;
}

.empty-state-sm {
    padding: 32px 22px;
}

.empty-state-sm .empty-icon {
    width: 44px;
    height: 44px;
    margin-bottom: 12px;
}

.empty-state-sm .empty-icon .icon {
    width: 19px;
    height: 19px;
}

.empty-state-sm h3 {
    font-family: var(--serif);
    font-size: 24px;
    font-weight: 500;
}

.empty-state-sm p {
    font-size: 10.5px;
}

.empty-state-account {
    padding: clamp(36px, 5vw, 62px) 24px;
}

/* Checkout */
.checkout-page {
    position: relative;
    padding: clamp(40px, 6vw, 74px) 0 clamp(60px, 8vw, 100px);
}

.checkout-page .breadcrumb {
    margin-bottom: 26px;
}

.checkout-heading {
    max-width: 760px;
    margin-bottom: clamp(28px, 4vw, 42px);
}

.checkout-heading h1 {
    margin: 12px 0 16px;
    font-family: var(--serif);
    font-size: clamp(38px, 5vw, 60px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.01;
}

.checkout-heading h1 em {
    color: var(--gold-light);
    font-style: italic;
}

.checkout-heading > p:last-child {
    max-width: 560px;
    color: var(--muted);
    font-size: 12.5px;
    line-height: 1.75;
}

.checkout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 372px;
    gap: 22px;
    align-items: start;
}

.checkout-main {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.checkout-card {
    padding: clamp(18px, 2.6vw, 24px);
    border: 1px solid var(--line);
    border-radius: 20px;
    background: linear-gradient(160deg, rgba(255, 255, 255, .035), rgba(9, 13, 29, .62));
}

.checkout-card-head {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 18px;
}

.checkout-card-head > div {
    flex: 1;
    min-width: 0;
}

.checkout-card-head h2 {
    font-family: var(--serif);
    font-size: 25px;
    font-weight: 500;
    line-height: 1.1;
}

.checkout-card-head p {
    margin-top: 3px;
    color: var(--dim);
    font-size: 9.5px;
}

.checkout-card-head .text-link {
    margin-left: auto;
    font-size: 9px;
    white-space: nowrap;
}

.checkout-step {
    display: inline-flex;
    width: 33px;
    height: 33px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line-gold);
    border-radius: 50%;
    background: rgba(227, 187, 115, .05);
    color: var(--gold);
    font-family: var(--serif);
    font-size: 13px;
}

.buyer-summary {
    display: flex;
    align-items: center;
    gap: 13px;
    flex-wrap: wrap;
    padding: 14px 16px;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: rgba(255, 255, 255, .02);
}

.buyer-details {
    display: flex;
    min-width: 150px;
    flex: 1;
    flex-direction: column;
    gap: 2px;
}

.buyer-details strong {
    color: var(--cream);
    font-size: 12px;
}

.buyer-details span {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--dim);
    font-size: 9.5px;
    overflow-wrap: anywhere;
}

.buyer-details .icon {
    width: 12px;
    height: 12px;
    color: var(--gold);
}

.buyer-verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--success);
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: .03em;
}

.buyer-verified .icon {
    width: 12px;
    height: 12px;
}

.checkout-card .inline-note {
    margin-top: 12px;
}

.payment-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.payment-option {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 13px 15px;
    border: 1px solid var(--line-soft);
    border-radius: 13px;
    background: rgba(255, 255, 255, .015);
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease;
}

.payment-option:hover {
    border-color: var(--line);
    background: rgba(255, 255, 255, .03);
}

.payment-option:has(input:checked) {
    border-color: rgba(227, 187, 115, .42);
    background: rgba(227, 187, 115, .05);
}

.payment-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.payment-radio {
    position: relative;
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;
    transition: border-color .2s ease;
}

.payment-option input:checked ~ .payment-radio {
    border-color: var(--gold);
}

.payment-option input:checked ~ .payment-radio::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: var(--gold);
}

.payment-icon {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line-soft);
    border-radius: 10px;
    background: rgba(255, 255, 255, .04);
    color: var(--gold);
}

.payment-icon .icon {
    width: 16px;
    height: 16px;
}

.payment-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 1px;
}

.payment-copy strong {
    color: var(--cream);
    font-size: 11px;
}

.payment-copy small {
    color: var(--dim);
    font-size: 9px;
    line-height: 1.5;
}

.payment-check {
    display: inline-flex;
    color: var(--gold);
    opacity: 0;
    transition: opacity .2s ease;
}

.payment-option input:checked ~ .payment-check {
    opacity: 1;
}

.payment-check .icon {
    width: 15px;
    height: 15px;
}

.mode-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 12px;
    padding: 11px 13px;
    border: 1px dashed var(--line-gold);
    border-radius: 11px;
    background: rgba(227, 187, 115, .025);
    color: var(--dim);
    font-size: 9.5px;
    line-height: 1.65;
}

.mode-note > .icon {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    margin-top: 1px;
    color: var(--gold);
}

.mode-note strong {
    color: var(--cream);
}

.mode-note-instant {
    border-color: rgba(116, 217, 172, .28);
    background: rgba(116, 217, 172, .035);
}

.mode-note-instant > .icon {
    color: var(--success);
}

.free-access-panel {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border: 1px dashed rgba(116, 217, 172, .3);
    border-radius: 13px;
    background: rgba(116, 217, 172, .04);
    color: var(--muted);
    font-size: 10px;
    line-height: 1.65;
}

.free-access-panel > .icon {
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    color: var(--success);
}

.checkout-confirm .checkbox-field {
    margin-bottom: 16px;
}

.checkout-submit {
    justify-content: space-between;
    padding-inline: 22px;
}

.checkout-submit strong {
    margin-left: auto;
    font-size: 13px;
}

.checkout-secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: 11px;
    color: var(--dim);
    font-size: 8.5px;
    line-height: 1.5;
    text-align: center;
}

.checkout-secure .icon {
    width: 12px;
    height: 12px;
    color: var(--gold);
}

.checkout-summary {
    position: sticky;
    top: calc(var(--header-height) + 20px);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.summary-card {
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(227, 187, 115, .06), transparent 48%),
        linear-gradient(165deg, rgba(255, 255, 255, .045), rgba(9, 13, 29, .78));
    box-shadow: var(--shadow-soft);
}

.summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line-soft);
    color: var(--cream);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.summary-product {
    display: flex;
    gap: 13px;
    padding: 16px 0;
    border-bottom: 1px solid var(--line-soft);
}

.summary-product img {
    width: 72px;
    flex: 0 0 auto;
    border-radius: 7px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .42);
}

.summary-product h2 {
    margin-bottom: 7px;
    font-family: var(--serif);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.15;
}

.summary-product span {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 3px;
    color: var(--dim);
    font-size: 9px;
}

.summary-product .icon {
    width: 11px;
    height: 11px;
    color: var(--gold);
}

.summary-lines {
    display: flex;
    flex-direction: column;
    padding: 12px 0;
}

.summary-lines > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 0;
    color: var(--muted);
    font-size: 10px;
}

.summary-lines dd {
    color: var(--cream);
    font-weight: 600;
}

.summary-discount dd {
    color: var(--success);
}

.summary-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 0;
    border-top: 1px solid var(--line-soft);
}

.summary-total span {
    color: var(--muted);
    font-size: 10.5px;
}

.summary-total strong {
    color: var(--gold-light);
    font-family: var(--serif);
    font-size: 29px;
    font-weight: 500;
    line-height: 1;
}

.summary-perks {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 13px 0 3px;
    border-top: 1px solid var(--line-soft);
}

.summary-perks span {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--muted);
    font-size: 9.5px;
}

.summary-perks .icon {
    width: 12px;
    height: 12px;
    color: var(--success);
}

.summary-help {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 13px;
    padding: 11px;
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    background: rgba(255, 255, 255, .02);
    color: var(--dim);
    font-size: 9px;
    line-height: 1.5;
}

.summary-help > .icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    color: var(--success);
}

.summary-help a {
    display: block;
    margin-top: 1px;
    color: var(--gold-light);
    font-weight: 700;
}

.back-to-product {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 7px;
    color: var(--dim);
    font-size: 9.5px;
    transition: color .2s ease;
}

.back-to-product:hover {
    color: var(--gold-light);
}

/* Checkout success */
.success-page {
    position: relative;
    padding: clamp(46px, 7vw, 82px) 0 clamp(60px, 8vw, 100px);
    overflow: hidden;
}

.success-wrap {
    display: flex;
    max-width: 1020px;
    margin: 0 auto;
    flex-direction: column;
    gap: 20px;
}

.success-hero {
    position: relative;
    padding: clamp(32px, 4.6vw, 54px) clamp(20px, 4vw, 48px);
    border: 1px solid var(--line-gold);
    border-radius: 26px;
    background:
        radial-gradient(circle at 50% 0%, rgba(227, 187, 115, .13), transparent 58%),
        linear-gradient(170deg, rgba(255, 255, 255, .045), rgba(9, 13, 29, .8));
    text-align: center;
    overflow: hidden;
}

.success-rays {
    position: absolute;
    top: -210px;
    left: 50%;
    width: 640px;
    height: 640px;
    border-radius: 50%;
    background: repeating-conic-gradient(from 0deg, rgba(227, 187, 115, .07) 0deg 5deg, transparent 5deg 17deg);
    transform: translateX(-50%);
    pointer-events: none;
}

.success-mark {
    position: relative;
    display: flex;
    width: 76px;
    height: 76px;
    margin: 0 auto 18px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(227, 187, 115, .45);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(227, 187, 115, .22), rgba(227, 187, 115, .03));
    color: var(--gold-light);
    box-shadow: 0 0 56px rgba(227, 187, 115, .18);
}

.success-mark .icon {
    width: 32px;
    height: 32px;
}

.success-mark.is-pending {
    border-color: rgba(241, 198, 111, .4);
    background: radial-gradient(circle, rgba(241, 198, 111, .16), rgba(241, 198, 111, .02));
    color: var(--warning);
    box-shadow: 0 0 56px rgba(241, 198, 111, .12);
}

.success-hero .eyebrow {
    position: relative;
    justify-content: center;
}

.success-hero h1 {
    position: relative;
    max-width: 760px;
    margin: 14px auto 14px;
    font-family: var(--serif);
    font-size: clamp(38px, 5.4vw, 60px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.02;
}

.success-hero h1 em {
    color: var(--gold-light);
    font-style: italic;
}

.success-hero > p:not(.eyebrow):not(.success-pending-note) {
    position: relative;
    max-width: 560px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.75;
}

.success-order-code {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 22px;
    padding: 8px 11px 8px 16px;
    border: 1px dashed rgba(227, 187, 115, .35);
    border-radius: 999px;
    background: rgba(5, 8, 20, .45);
    color: var(--dim);
    font-size: 9px;
}

.success-order-code strong {
    color: var(--cream);
    font-family: var(--mono, ui-monospace, Consolas, monospace);
    font-size: 10.5px;
    letter-spacing: .07em;
}

.copy-button {
    display: inline-flex;
    width: 27px;
    height: 27px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: rgba(255, 255, 255, .05);
    color: var(--gold);
    transition: border-color .2s ease, background .2s ease;
}

.copy-button:hover,
.copy-button.is-copied {
    border-color: var(--line-gold);
    background: rgba(227, 187, 115, .12);
}

.copy-button .icon {
    width: 12px;
    height: 12px;
}

.success-actions {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.success-pending-note {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 14px;
    color: var(--warning);
    font-size: 9px;
}

.success-pending-note .icon {
    width: 12px;
    height: 12px;
}

.success-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    gap: 16px;
}

.success-summary-card,
.success-receipt {
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: linear-gradient(160deg, rgba(255, 255, 255, .035), rgba(9, 13, 29, .66));
}

.success-summary-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}

.success-product {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.success-product img {
    width: 92px;
    flex: 0 0 auto;
    border-radius: 8px;
    box-shadow: var(--shadow-soft);
}

.success-product > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.success-product h2 {
    font-family: var(--serif);
    font-size: 23px;
    font-weight: 500;
    line-height: 1.12;
}

.success-product-meta {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--dim);
    font-size: 9.5px;
}

.success-product-meta .icon {
    width: 11px;
    height: 11px;
    color: var(--gold);
}

.success-access-live {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--success);
    font-size: 9px;
    font-weight: 700;
}

.success-access-live .icon {
    width: 12px;
    height: 12px;
}

.success-access-live.is-pending {
    color: var(--warning);
}

.success-product-link {
    display: flex;
    align-items: center;
    gap: 5px;
    width: 100%;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--line-soft);
    color: var(--gold-light);
    font-size: 9px;
    font-weight: 700;
}

.success-product-link .icon {
    width: 12px;
    height: 12px;
}

.success-receipt-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.success-receipt-head > span:last-child {
    color: var(--dim);
    font-size: 8.5px;
}

.receipt-lines {
    display: flex;
    flex-direction: column;
}

.receipt-lines > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-top: 1px solid var(--line-soft);
    font-size: 9.5px;
}

.receipt-lines > div:first-child {
    border-top: 0;
}

.receipt-lines dt {
    color: var(--dim);
}

.receipt-lines dd {
    color: var(--cream);
    text-align: right;
}

.receipt-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    border-top: 1px solid var(--line);
}

.receipt-total span {
    color: var(--muted);
    font-size: 10px;
}

.receipt-total strong {
    color: var(--gold-light);
    font-family: var(--serif);
    font-size: 25px;
    font-weight: 500;
    line-height: 1;
}

.receipt-foot {
    display: flex;
    align-items: center;
    gap: 5px;
    padding-top: 10px;
    border-top: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 8px;
}

.receipt-foot .icon {
    width: 12px;
    height: 12px;
    color: var(--gold);
}

.success-next {
    padding: clamp(24px, 3.4vw, 36px);
    border: 1px solid var(--line-soft);
    border-radius: 22px;
    background: rgba(255, 255, 255, .018);
}

.success-next-head {
    margin-bottom: 20px;
    text-align: center;
}

.success-next-head .eyebrow {
    justify-content: center;
}

.success-next-head h2 {
    margin-top: 8px;
    font-family: var(--serif);
    font-size: clamp(27px, 3.2vw, 38px);
    font-weight: 400;
    line-height: 1.05;
}

.success-next-head h2 em {
    color: var(--gold-light);
    font-style: italic;
}

.success-next-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.success-next-steps > div {
    padding: 16px;
    border: 1px solid var(--line-soft);
    border-radius: 15px;
    background: rgba(255, 255, 255, .02);
}

.success-next-steps span {
    display: block;
    margin-bottom: 7px;
    color: var(--gold);
    font-family: var(--serif);
    font-size: 23px;
    line-height: 1;
}

.success-next-steps strong {
    display: block;
    margin-bottom: 4px;
    color: var(--cream);
    font-size: 10.5px;
}

.success-next-steps p {
    color: var(--dim);
    font-size: 9px;
    line-height: 1.6;
}

/* Auth */
.auth-section {
    position: relative;
    padding: clamp(34px, 5vw, 60px) 0 clamp(56px, 7vw, 88px);
    overflow: hidden;
}

.auth-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    gap: clamp(26px, 4vw, 60px);
    align-items: center;
}

.auth-visual {
    position: relative;
    display: flex;
    min-height: 580px;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    padding: clamp(26px, 3.6vw, 42px);
    border: 1px solid var(--line);
    border-radius: 28px;
    background:
        radial-gradient(circle at 18% 0%, rgba(113, 72, 197, .22), transparent 55%),
        linear-gradient(165deg, rgba(255, 255, 255, .045), rgba(9, 13, 29, .82));
    overflow: hidden;
}

.auth-orb {
    position: absolute;
    top: -130px;
    right: -110px;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(227, 187, 115, .16), transparent 68%);
    pointer-events: none;
}

.auth-visual-top {
    position: relative;
}

.auth-kicker {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border: 1px solid var(--line-gold);
    border-radius: 999px;
    background: rgba(227, 187, 115, .05);
    color: var(--gold-light);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.auth-kicker .icon {
    width: 11px;
    height: 11px;
}

.auth-visual-top h1 {
    max-width: 490px;
    margin: 18px 0 13px;
    font-family: var(--serif);
    font-size: clamp(33px, 4.2vw, 52px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.03;
}

.auth-visual-top h1 em {
    color: var(--gold-light);
    font-style: italic;
}

.auth-visual-top > p {
    max-width: 400px;
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.75;
}

.auth-covers {
    position: relative;
    display: flex;
    height: 260px;
    align-items: flex-end;
    justify-content: center;
}

.auth-cover {
    position: absolute;
    bottom: 0;
    width: 136px;
    border-radius: 9px;
    box-shadow: 0 26px 54px rgba(0, 0, 0, .52);
    transition: transform .55s var(--ease);
}

.auth-cover img {
    width: 100%;
    border-radius: 9px;
}

.auth-cover-1 {
    left: 50%;
    bottom: 16px;
    z-index: 3;
    transform: translateX(-50%) rotate(-3deg);
}

.auth-cover-2 {
    left: 12%;
    z-index: 2;
    width: 116px;
    opacity: .88;
    transform: rotate(-11deg) translateY(10px);
}

.auth-cover-3 {
    right: 12%;
    z-index: 1;
    width: 116px;
    opacity: .88;
    transform: rotate(10deg) translateY(10px);
}

.auth-visual:hover .auth-cover-1 {
    transform: translateX(-50%) rotate(0deg) translateY(-7px);
}

.auth-visual:hover .auth-cover-2 {
    transform: rotate(-14deg) translate(-6px, 4px);
}

.auth-visual:hover .auth-cover-3 {
    transform: rotate(13deg) translate(6px, 4px);
}

.auth-philosophy {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 14px 16px;
    border: 1px solid var(--line-soft);
    border-radius: 15px;
    background: rgba(255, 255, 255, .022);
}

.auth-philosophy > .icon {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    color: var(--gold);
}

.auth-philosophy p {
    color: var(--muted);
    font-family: var(--serif);
    font-size: 15.5px;
    font-style: italic;
    line-height: 1.45;
}

.auth-philosophy span {
    display: block;
    margin-top: 5px;
    color: var(--dim);
    font-family: var(--sans);
    font-size: 8px;
    font-style: normal;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.auth-visual-foot {
    position: relative;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    color: var(--dim);
    font-size: 8.5px;
    letter-spacing: .03em;
}

.auth-visual-foot span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.auth-visual-foot .icon {
    width: 12px;
    height: 12px;
    color: var(--gold);
}

.auth-card-wrap {
    width: 100%;
    max-width: 470px;
    margin-inline: auto;
}

.auth-card {
    position: relative;
    padding: clamp(24px, 3.4vw, 38px);
    border: 1px solid var(--line);
    border-radius: 24px;
    background: linear-gradient(170deg, rgba(255, 255, 255, .05), rgba(9, 13, 29, .86));
    box-shadow: var(--shadow);
}

.auth-card-head {
    margin-bottom: 22px;
    text-align: center;
}

.auth-card-icon {
    display: inline-flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    margin-bottom: 13px;
    border: 1px solid var(--line-gold);
    border-radius: 15px;
    background: rgba(227, 187, 115, .07);
    color: var(--gold);
}

.auth-card-icon .icon {
    width: 23px;
    height: 23px;
}

.auth-card-head .eyebrow {
    justify-content: center;
}

.auth-card-head h2 {
    margin: 7px 0 6px;
    font-family: var(--serif);
    font-size: clamp(27px, 3vw, 34px);
    font-weight: 400;
    line-height: 1.06;
}

.auth-card-head > p:last-child {
    max-width: 320px;
    margin-inline: auto;
    color: var(--dim);
    font-size: 10px;
    line-height: 1.65;
}

.auth-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.auth-form .checkbox-field {
    margin-top: 2px;
}

.auth-form .password-strength {
    margin-top: 0;
}

.auth-divider {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 18px 0;
    color: var(--dim);
    font-size: 9px;
}

.auth-divider::before,
.auth-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: var(--line);
}

.auth-help {
    margin-top: 13px;
    color: var(--dim);
    font-size: 9px;
    line-height: 1.6;
    text-align: center;
}

.auth-help a {
    color: var(--gold-light);
    font-weight: 700;
}

.auth-back {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 14px;
    padding: 0 4px;
    color: var(--dim);
    font-size: 9px;
}

.auth-back a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--muted);
    transition: color .2s ease;
}

.auth-back a:hover {
    color: var(--gold-light);
}

.auth-back .icon {
    width: 12px;
    height: 12px;
}

.auth-steps {
    position: relative;
    display: flex;
    flex-direction: column;
}

.auth-steps > div {
    position: relative;
    padding: 11px 0 11px 40px;
    border-top: 1px solid var(--line-soft);
}

.auth-steps > div:first-child {
    padding-top: 0;
    border-top: 0;
}

.auth-steps span {
    position: absolute;
    top: 12px;
    left: 0;
    color: var(--gold);
    font-family: var(--serif);
    font-size: 16px;
    line-height: 1;
}

.auth-steps > div:first-child span {
    top: 1px;
}

.auth-steps strong {
    display: block;
    color: var(--cream);
    font-size: 10.5px;
}

.auth-steps p {
    margin-top: 2px;
    color: var(--dim);
    font-size: 9px;
    line-height: 1.55;
}

.auth-covers-register .auth-cover-2,
.auth-covers-register .auth-cover-3 {
    width: 110px;
}

/* Account */
.account-hero {
    position: relative;
    padding: clamp(40px, 5.6vw, 68px) 0 clamp(32px, 4.4vw, 52px);
    border-bottom: 1px solid var(--line-soft);
    background:
        radial-gradient(circle at 12% 20%, rgba(113, 72, 197, .2), transparent 44%),
        radial-gradient(circle at 88% 0%, rgba(227, 187, 115, .09), transparent 40%);
    overflow: hidden;
}

.account-hero-orb {
    position: absolute;
    top: -170px;
    right: 7%;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(227, 187, 115, .14), transparent 68%);
    pointer-events: none;
}

.account-hero-grid {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    flex-wrap: wrap;
}

.account-identity {
    display: flex;
    align-items: center;
    gap: 18px;
}

.account-identity h1 {
    font-family: var(--serif);
    font-size: clamp(38px, 4.8vw, 55px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.02em;
}

.account-identity h1 span {
    color: var(--gold);
}

.account-identity > div > p:last-child {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 8px;
    color: var(--dim);
    font-size: 9.5px;
}

.account-identity .icon {
    width: 12px;
    height: 12px;
    color: var(--gold);
}

.account-dot {
    display: inline-block;
    width: 3px;
    height: 3px;
    margin: 0 2px;
    border-radius: 50%;
    background: var(--dim);
}

.account-hero-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.account-hero-compact {
    padding-bottom: clamp(36px, 4.6vw, 54px);
}

.account-stat-row {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 32px;
}

.account-stat {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 15px 17px;
    border: 1px solid var(--line-soft);
    border-radius: 15px;
    background: rgba(255, 255, 255, .025);
}

.account-stat-icon {
    display: inline-flex;
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(227, 187, 115, .16);
    border-radius: 11px;
    background: rgba(227, 187, 115, .05);
    color: var(--gold);
}

.account-stat-icon .icon {
    width: 17px;
    height: 17px;
}

.account-stat strong {
    display: block;
    color: var(--cream);
    font-family: var(--serif);
    font-size: 23px;
    font-weight: 500;
    line-height: 1;
}

.account-stat div > span {
    display: block;
    margin-top: 3px;
    color: var(--dim);
    font-size: 8.5px;
    line-height: 1.4;
}

.account-section {
    padding: clamp(26px, 3.8vw, 42px) 0 clamp(56px, 7vw, 92px);
}

.account-tabs {
    display: flex;
    width: fit-content;
    max-width: 100%;
    gap: 3px;
    margin-bottom: 28px;
    padding: 4px;
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    background: rgba(255, 255, 255, .025);
    overflow-x: auto;
}

.account-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 999px;
    color: var(--dim);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
    transition: color .2s ease, background .2s ease;
}

.account-tab .icon {
    width: 13px;
    height: 13px;
}

.account-tab:hover {
    color: var(--cream);
}

.account-tab.is-active {
    background: linear-gradient(130deg, rgba(227, 187, 115, .2), rgba(227, 187, 115, .07));
    color: var(--gold-light);
}

.account-tab-admin {
    color: var(--violet-bright);
}

.account-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.account-section-head h2 {
    margin-top: 7px;
    font-family: var(--serif);
    font-size: clamp(29px, 3.6vw, 42px);
    font-weight: 400;
    line-height: 1.05;
}

.account-section-head h2 em {
    color: var(--gold-light);
    font-style: italic;
}

.account-section-count {
    padding: 5px 10px;
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    color: var(--dim);
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: .04em;
}

.member-programs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
    gap: 14px;
}

.member-program {
    display: flex;
    gap: 15px;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(160deg, rgba(255, 255, 255, .035), rgba(9, 13, 29, .6));
    transition: transform .3s var(--ease), border-color .3s ease, box-shadow .3s ease;
}

.member-program:hover {
    border-color: var(--line-gold);
    box-shadow: var(--shadow-soft);
    transform: translateY(-3px);
}

.member-program-cover {
    position: relative;
    width: 94px;
    flex: 0 0 auto;
    border-radius: 9px;
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .4);
}

.member-program-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.member-program-type {
    position: absolute;
    bottom: 5px;
    left: 5px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(5, 8, 20, .82);
    color: var(--gold-light);
    font-size: 6.5px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.member-program-body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
}

.member-program-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    flex-wrap: wrap;
}

.access-pill {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--success);
    font-size: 7.5px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.access-pill .icon {
    width: 10px;
    height: 10px;
}

.access-pill.is-warning {
    color: var(--warning);
}

.member-program-days {
    color: var(--dim);
    font-size: 8px;
}

.member-program h3 {
    margin: 8px 0 4px;
    font-family: var(--serif);
    font-size: 19px;
    font-weight: 500;
    line-height: 1.15;
}

.member-program h3 a:hover {
    color: var(--gold-light);
}

.member-program p {
    display: -webkit-box;
    overflow: hidden;
    color: var(--dim);
    font-size: 9px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.access-progress {
    margin-top: 11px;
}

.access-progress-head {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
    color: var(--dim);
    font-size: 7.5px;
}

.member-program-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 11px;
}

.member-program-actions .text-link {
    font-size: 8.5px;
}

.account-subsection {
    margin-top: 32px;
}

.account-subhead {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 13px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.account-subhead h3 {
    font-family: var(--serif);
    font-size: 21px;
    font-weight: 500;
    line-height: 1.1;
}

.account-subhead p {
    margin-top: 2px;
    color: var(--dim);
    font-size: 9px;
}

.account-subhead > a,
.account-subhead > span {
    color: var(--dim);
    font-size: 8.5px;
}

.expired-list {
    display: flex;
    flex-direction: column;
    gap: 1px;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: var(--line-soft);
    overflow: hidden;
}

.expired-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 13px;
    background: rgba(9, 13, 29, .78);
}

.expired-row img {
    width: 40px;
    flex: 0 0 auto;
    border-radius: 5px;
}

.expired-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 1px;
}

.expired-copy small {
    color: var(--gold);
    font-size: 7.5px;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.expired-copy strong {
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.expired-copy span {
    color: var(--dim);
    font-size: 8px;
}

.expired-row .btn {
    flex: 0 0 auto;
}

.account-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, .8fr);
    gap: 20px;
    align-items: start;
    margin-top: 36px;
}

.account-orders {
    min-width: 0;
}

.orders-list {
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    overflow: hidden;
}

.orders-list-head {
    display: grid;
    grid-template-columns: 1.1fr 1.5fr .7fr .8fr;
    gap: 11px;
    padding: 9px 13px;
    background: rgba(255, 255, 255, .03);
    color: var(--dim);
    font-size: 7.5px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.order-row {
    display: grid;
    grid-template-columns: 1.1fr 1.5fr .7fr .8fr;
    gap: 11px;
    align-items: center;
    padding: 11px 13px;
    border-top: 1px solid var(--line-soft);
    background: rgba(255, 255, 255, .012);
}

.order-code,
.order-product {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}

.order-code strong {
    color: var(--cream);
    font-family: var(--mono, ui-monospace, Consolas, monospace);
    font-size: 9px;
    letter-spacing: .02em;
}

.order-code span,
.order-product span {
    color: var(--dim);
    font-size: 8px;
}

.order-product strong {
    overflow: hidden;
    color: var(--muted);
    font-size: 9.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.order-amount {
    color: var(--cream);
    font-size: 10px;
}

.account-side {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.account-help-card,
.account-quote-card {
    padding: 19px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(160deg, rgba(255, 255, 255, .04), rgba(9, 13, 29, .68));
}

.account-help-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    margin-bottom: 11px;
    border: 1px solid rgba(116, 217, 172, .25);
    border-radius: 12px;
    background: rgba(116, 217, 172, .07);
    color: var(--success);
}

.account-help-icon .icon {
    width: 18px;
    height: 18px;
}

.account-help-card h3 {
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.1;
}

.account-help-card p {
    margin: 5px 0 13px;
    color: var(--dim);
    font-size: 9px;
    line-height: 1.65;
}

.account-quote-card {
    background:
        radial-gradient(circle at 100% 0%, rgba(227, 187, 115, .09), transparent 55%),
        linear-gradient(160deg, rgba(255, 255, 255, .035), rgba(9, 13, 29, .68));
}

.account-quote-card > .icon {
    width: 20px;
    height: 20px;
    margin-bottom: 9px;
    color: var(--gold);
}

.account-quote-card p {
    color: var(--muted);
    font-family: var(--serif);
    font-size: 14px;
    font-style: italic;
    line-height: 1.55;
}

.account-quote-card span {
    display: block;
    margin-top: 7px;
    color: var(--dim);
    font-size: 7.5px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* Profile */
.profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, .8fr);
    gap: 20px;
    align-items: start;
}

.profile-main {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.profile-card {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: clamp(18px, 2.6vw, 24px);
    border: 1px solid var(--line);
    border-radius: 20px;
    background: var(--panel);
}

.profile-card-head {
    display: flex;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line-soft);
}

.profile-card-icon {
    display: inline-flex;
    width: 37px;
    height: 37px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(227, 187, 115, .2);
    border-radius: 11px;
    background: rgba(227, 187, 115, .06);
    color: var(--gold);
}

.profile-card-icon .icon {
    width: 17px;
    height: 17px;
}

.profile-card-head h2 {
    font-family: var(--serif);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.1;
}

.profile-card-head p {
    margin-top: 2px;
    color: var(--dim);
    font-size: 9px;
}

.profile-form-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 13px;
    flex-wrap: wrap;
    padding-top: 14px;
    border-top: 1px solid var(--line-soft);
}

.profile-form-foot > span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--dim);
    font-size: 8px;
}

.profile-form-foot .icon {
    width: 11px;
    height: 11px;
    color: var(--gold);
}

.profile-side {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.profile-summary {
    position: sticky;
    top: calc(var(--header-height) + 20px);
}

.profile-summary-avatar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line-soft);
    text-align: center;
}

.profile-summary-avatar strong {
    color: var(--cream);
    font-size: 11.5px;
}

.profile-summary dl {
    display: flex;
    flex-direction: column;
    margin-top: 5px;
}

.profile-summary dl > div {
    display: flex;
    justify-content: space-between;
    gap: 11px;
    padding: 7px 0;
    border-top: 1px solid var(--line-soft);
    font-size: 9px;
}

.profile-summary dl > div:first-child {
    border-top: 0;
}

.profile-summary dt {
    color: var(--dim);
}

.profile-summary dd {
    color: var(--muted);
    overflow-wrap: anywhere;
    text-align: right;
}

.profile-status {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 9px;
    padding-top: 11px;
    border-top: 1px solid var(--line-soft);
    color: var(--success);
    font-size: 8.5px;
}

.profile-status .icon {
    width: 12px;
    height: 12px;
}

.profile-admin-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 15px;
    border: 1px solid rgba(167, 131, 255, .25);
    border-radius: 15px;
    background: rgba(113, 72, 197, .08);
    transition: border-color .2s ease, background .2s ease;
}

.profile-admin-link:hover {
    border-color: rgba(167, 131, 255, .45);
    background: rgba(113, 72, 197, .13);
}

.profile-admin-link > span {
    display: inline-flex;
    width: 31px;
    height: 31px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(167, 131, 255, .12);
    color: var(--violet-bright);
}

.profile-admin-link > span .icon {
    width: 15px;
    height: 15px;
}

.profile-admin-link > div {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
}

.profile-admin-link strong {
    color: var(--cream);
    font-size: 10px;
}

.profile-admin-link small {
    color: var(--dim);
    font-size: 8px;
}

.profile-admin-link > .icon {
    width: 13px;
    height: 13px;
    color: var(--violet-bright);
}

/* Library */
.library-locked {
    position: relative;
    padding: clamp(38px, 5.6vw, 74px) 0 clamp(56px, 8vw, 96px);
    overflow: hidden;
}

.library-locked-orb {
    position: absolute;
    top: -180px;
    right: -120px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(113, 72, 197, .22), transparent 65%);
    pointer-events: none;
}

.locked-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: clamp(30px, 5vw, 68px);
    align-items: center;
}

.locked-copy .breadcrumb {
    margin-bottom: 24px;
}

.locked-icon {
    display: inline-flex;
    width: 56px;
    height: 56px;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    border: 1px solid var(--line-gold);
    border-radius: 17px;
    background: rgba(227, 187, 115, .07);
    color: var(--gold);
}

.locked-icon .icon {
    width: 25px;
    height: 25px;
}

.locked-copy h1 {
    margin-top: 11px;
    font-family: var(--serif);
    font-size: clamp(36px, 4.8vw, 56px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.02;
}

.locked-copy h1 em {
    color: var(--gold-light);
    font-style: italic;
}

.locked-lead {
    max-width: 500px;
    margin-top: 14px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.75;
}

.locked-actions {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.locked-help {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 14px;
    color: var(--dim);
    font-size: 9px;
}

.locked-help:hover {
    color: var(--gold-light);
}

.locked-help .icon {
    width: 13px;
    height: 13px;
    color: var(--success);
}

.locked-product {
    position: relative;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: linear-gradient(165deg, rgba(255, 255, 255, .045), rgba(9, 13, 29, .8));
    box-shadow: var(--shadow);
}

.locked-cover {
    position: relative;
    width: min(290px, 78%);
    margin: 0 auto 18px;
}

.locked-cover img {
    width: 100%;
    border-radius: 11px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, .5);
}

.locked-cover-badge {
    position: absolute;
    right: -10px;
    bottom: 15px;
    display: inline-flex;
    width: 41px;
    height: 41px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(227, 187, 115, .4);
    border-radius: 50%;
    background: rgba(9, 13, 29, .93);
    color: var(--gold);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .4);
}

.locked-cover-badge .icon {
    width: 17px;
    height: 17px;
}

.locked-product-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    text-align: center;
}

.locked-product-copy h2 {
    font-family: var(--serif);
    font-size: 23px;
    font-weight: 500;
    line-height: 1.12;
}

.locked-product-copy > span:last-child {
    color: var(--dim);
    font-size: 9px;
}

.locked-materials {
    display: flex;
    flex-direction: column;
    margin-top: 15px;
    border-top: 1px solid var(--line-soft);
}

.locked-materials span {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 7px 0;
    border-bottom: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 9px;
}

.locked-materials .icon {
    width: 11px;
    height: 11px;
    opacity: .7;
}

.locked-more {
    color: var(--gold) !important;
}

.library-hero {
    position: relative;
    padding: clamp(32px, 4.6vw, 56px) 0 clamp(28px, 3.8vw, 46px);
    overflow: hidden;
}

.library-hero-orb {
    position: absolute;
    top: -170px;
    right: 0;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(113, 72, 197, .23), transparent 65%);
    pointer-events: none;
}

.library-hero .admin-preview-bar {
    margin-bottom: 20px;
}

.library-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: clamp(24px, 3.8vw, 50px);
    align-items: center;
}

.library-cover {
    position: relative;
    border-radius: 12px;
    box-shadow: 0 36px 80px rgba(0, 0, 0, .55);
}

.library-cover img {
    width: 100%;
    border-radius: 11px;
}

.library-cover-shine {
    position: absolute;
    inset: 0;
    border-radius: 11px;
    background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, .13) 46%, transparent 60%);
    pointer-events: none;
}

.library-copy .product-badges {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.library-copy > .eyebrow {
    margin-top: 14px;
}

.library-copy h1 {
    max-width: 720px;
    margin-top: 7px;
    font-family: var(--serif);
    font-size: clamp(32px, 4.4vw, 52px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.03;
}

.library-lead {
    max-width: 600px;
    margin-top: 13px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.75;
}

.library-meta {
    display: flex;
    gap: clamp(16px, 3vw, 38px);
    flex-wrap: wrap;
    margin-top: 18px;
}

.library-meta > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.library-meta span {
    color: var(--dim);
    font-size: 7.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.library-meta strong {
    color: var(--cream);
    font-size: 10.5px;
    font-weight: 700;
}

.library-access-card {
    margin-top: 18px;
    padding: 13px 15px;
    border: 1px solid rgba(116, 217, 172, .22);
    border-radius: 14px;
    background: rgba(116, 217, 172, .04);
}

.library-access-top,
.library-access-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    flex-wrap: wrap;
    color: var(--muted);
    font-size: 9px;
}

.library-access-top span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.library-access-top .icon,
.library-access-foot .icon {
    width: 11px;
    height: 11px;
    color: var(--success);
}

.library-access-top strong {
    color: var(--cream);
}

.library-access-card .progress-track {
    margin: 8px 0;
}

.library-access-foot {
    color: var(--dim);
    font-size: 8px;
}

.library-access-foot a {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--gold-light);
}

.library-access-foot a .icon {
    color: var(--gold);
}

.library-access-admin {
    display: flex;
    align-items: center;
    gap: 9px;
    border-color: rgba(167, 131, 255, .25);
    background: rgba(113, 72, 197, .08);
    color: var(--muted);
    font-size: 9px;
    line-height: 1.55;
}

.library-access-admin > .icon {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    color: var(--violet-bright);
}

.library-actions {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.library-section {
    padding: clamp(28px, 3.6vw, 42px) 0 clamp(56px, 7vw, 92px);
    border-top: 1px solid var(--line-soft);
}

.library-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}

.library-section-head h2 {
    margin-top: 7px;
    font-family: var(--serif);
    font-size: clamp(29px, 3.6vw, 42px);
    font-weight: 400;
    line-height: 1.05;
}

.library-section-head h2 em {
    color: var(--gold-light);
    font-style: italic;
}

.library-section-note {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    max-width: 290px;
    color: var(--dim);
    font-size: 8.5px;
    line-height: 1.6;
}

.library-section-note .icon {
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
    margin-top: 1px;
    color: var(--gold);
}

.library-materials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 10px;
}

.library-material-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 15px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: rgba(255, 255, 255, .022);
    transition: transform .25s var(--ease), border-color .25s ease, background .25s ease;
}

.library-material-card:hover {
    border-color: var(--line-gold);
    background: rgba(227, 187, 115, .04);
    transform: translateY(-3px);
}

.library-material-index {
    position: absolute;
    top: 8px;
    right: 11px;
    color: rgba(245, 240, 229, .16);
    font-family: var(--serif);
    font-size: 16px;
    line-height: 1;
}

.library-material-icon {
    display: inline-flex;
    width: 39px;
    height: 39px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(227, 187, 115, .18);
    border-radius: 11px;
    background: rgba(227, 187, 115, .055);
    color: var(--gold);
}

.library-material-icon .icon {
    width: 17px;
    height: 17px;
}

.library-material-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 2px;
}

.library-material-copy small {
    color: var(--gold);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.library-material-copy strong {
    padding-right: 12px;
    color: var(--cream);
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.35;
}

.library-material-copy > span {
    color: var(--dim);
    font-size: 8px;
}

.library-material-arrow {
    display: inline-flex;
    width: 27px;
    height: 27px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line-soft);
    border-radius: 50%;
    color: var(--gold-light);
}

.library-material-arrow .icon {
    width: 12px;
    height: 12px;
}

.library-guide-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: clamp(22px, 4vw, 46px);
    margin-top: 28px;
    padding: clamp(22px, 3.6vw, 36px);
    border: 1px solid var(--line);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(227, 187, 115, .08), transparent 55%),
        linear-gradient(160deg, rgba(255, 255, 255, .035), rgba(9, 13, 29, .68));
}

.library-guide-copy h2 {
    margin: 7px 0 11px;
    font-family: var(--serif);
    font-size: clamp(27px, 3.2vw, 38px);
    font-weight: 400;
    line-height: 1.05;
}

.library-guide-copy h2 em {
    color: var(--gold-light);
    font-style: italic;
}

.library-guide-copy > p:not(.eyebrow) {
    margin-bottom: 15px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.75;
}

.library-guide-steps {
    display: flex;
    flex-direction: column;
}

.library-guide-steps > div {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 3px 11px;
    padding: 9px 0;
    border-top: 1px solid var(--line-soft);
}

.library-guide-steps > div:first-child {
    padding-top: 0;
    border-top: 0;
}

.library-guide-steps span {
    grid-row: span 2;
    color: var(--gold);
    font-family: var(--serif);
    font-size: 19px;
    line-height: 1;
}

.library-guide-steps strong {
    color: var(--cream);
    font-size: 10px;
}

.library-guide-steps p {
    color: var(--dim);
    font-size: 8.5px;
    line-height: 1.55;
}

.library-support {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 13px;
    flex-wrap: wrap;
    margin-top: 18px;
    padding: 13px 17px;
    border: 1px solid var(--line-soft);
    border-radius: 14px;
    background: rgba(255, 255, 255, .018);
}

.library-support > div {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--dim);
    font-size: 9px;
}

.library-support > div > .icon {
    width: 17px;
    height: 17px;
    color: var(--success);
}

.library-support strong {
    color: var(--cream);
}

.library-support .text-link {
    font-size: 8.5px;
}

/* Welcome */
.welcome-page {
    position: relative;
    padding: clamp(32px, 4.6vw, 56px) 0 clamp(56px, 8vw, 96px);
    overflow: hidden;
}

.welcome-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.welcome-orb-a {
    top: -200px;
    right: -80px;
    width: 540px;
    height: 540px;
    background: radial-gradient(circle, rgba(113, 72, 197, .25), transparent 65%);
}

.welcome-orb-b {
    bottom: 5%;
    left: -200px;
    width: 440px;
    height: 440px;
    background: radial-gradient(circle, rgba(227, 187, 115, .09), transparent 65%);
}

.welcome-page .breadcrumb {
    position: relative;
    margin-bottom: 30px;
}

.welcome-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) 320px;
    gap: clamp(28px, 4.6vw, 60px);
    align-items: center;
    padding-bottom: 26px;
}

.welcome-kicker {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border: 1px solid var(--line-gold);
    border-radius: 999px;
    background: rgba(227, 187, 115, .05);
    color: var(--gold-light);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.welcome-kicker .icon {
    width: 11px;
    height: 11px;
}

.welcome-copy .eyebrow {
    margin-top: 14px;
}

.welcome-copy h1 {
    max-width: 640px;
    margin-top: 7px;
    font-family: var(--serif);
    font-size: clamp(35px, 4.8vw, 54px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.02;
}

.welcome-lead {
    max-width: 560px;
    margin-top: 13px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.75;
}

.welcome-meta {
    display: flex;
    gap: clamp(15px, 3vw, 34px);
    flex-wrap: wrap;
    margin-top: 18px;
}

.welcome-meta > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.welcome-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--dim);
    font-size: 7.5px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.welcome-meta .icon {
    width: 10px;
    height: 10px;
    color: var(--gold);
}

.welcome-meta strong {
    color: var(--cream);
    font-size: 9.5px;
}

.welcome-actions {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.welcome-book {
    position: relative;
    width: 100%;
    max-width: 270px;
    justify-self: center;
}

.welcome-book img {
    position: relative;
    z-index: 1;
    width: 100%;
    border-radius: 11px;
    box-shadow: 0 40px 80px rgba(0, 0, 0, .55);
}

.welcome-book-glow {
    position: absolute;
    inset: -30px;
    background: radial-gradient(circle at 50% 40%, rgba(227, 187, 115, .2), transparent 65%);
    filter: blur(18px);
}

.welcome-book-label {
    position: absolute;
    bottom: -27px;
    left: 50%;
    color: var(--dim);
    font-size: 8px;
    letter-spacing: .1em;
    text-transform: uppercase;
    white-space: nowrap;
    transform: translateX(-50%);
}

.welcome-book-seal {
    position: absolute;
    top: -11px;
    right: -11px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 4px 8px;
    border: 1px solid rgba(116, 217, 172, .35);
    border-radius: 999px;
    background: rgba(9, 13, 29, .93);
    color: var(--success);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.welcome-book-seal .icon {
    width: 9px;
    height: 9px;
}

.welcome-note {
    display: flex;
    gap: 13px;
    margin-top: clamp(30px, 4.4vw, 46px);
    padding: clamp(18px, 2.8vw, 26px);
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255, 255, 255, .018);
}

.welcome-note > .icon {
    width: 23px;
    height: 23px;
    flex: 0 0 auto;
    color: var(--gold);
}

.welcome-note p {
    color: var(--muted);
    font-family: var(--serif);
    font-size: clamp(15px, 1.8vw, 20px);
    font-style: italic;
    line-height: 1.5;
}

.welcome-note span {
    display: block;
    margin-top: 7px;
    color: var(--dim);
    font-family: var(--sans);
    font-size: 7.5px;
    font-style: normal;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.welcome-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.welcome-step {
    position: relative;
    padding: 20px 18px;
    border: 1px solid var(--line-soft);
    border-radius: 18px;
    background: linear-gradient(160deg, rgba(255, 255, 255, .03), rgba(9, 13, 29, .58));
    overflow: hidden;
}

.welcome-step-number {
    position: absolute;
    top: 10px;
    right: 14px;
    color: rgba(245, 240, 229, .11);
    font-family: var(--serif);
    font-size: 32px;
    line-height: 1;
}

.welcome-step-icon {
    display: inline-flex;
    width: 39px;
    height: 39px;
    align-items: center;
    justify-content: center;
    margin-bottom: 11px;
    border: 1px solid rgba(227, 187, 115, .18);
    border-radius: 12px;
    background: rgba(227, 187, 115, .05);
    color: var(--gold);
}

.welcome-step-icon .icon {
    width: 17px;
    height: 17px;
}

.welcome-step h2 {
    margin-bottom: 5px;
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 500;
    line-height: 1.1;
}

.welcome-step p {
    color: var(--dim);
    font-size: 9px;
    line-height: 1.65;
}

.welcome-bottom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.welcome-support,
.welcome-access {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 17px;
    border: 1px solid var(--line-soft);
    border-radius: 16px;
    background: rgba(255, 255, 255, .018);
}

.welcome-support > .icon,
.welcome-access > .icon {
    width: 21px;
    height: 21px;
    flex: 0 0 auto;
    color: var(--gold);
}

.welcome-support > div,
.welcome-access > div {
    min-width: 150px;
    flex: 1;
}

.welcome-support h3,
.welcome-access h3 {
    font-family: var(--serif);
    font-size: 19px;
    font-weight: 500;
    line-height: 1.1;
}

.welcome-support p,
.welcome-access p {
    margin-top: 2px;
    color: var(--dim);
    font-size: 8.5px;
    line-height: 1.55;
}

.welcome-support .btn,
.welcome-access .text-link {
    flex: 0 0 auto;
}

/* FAQ */
.faq-hero {
    position: relative;
    padding: clamp(34px, 4.8vw, 60px) 0 clamp(28px, 3.8vw, 44px);
    overflow: hidden;
}

.faq-orb {
    position: absolute;
    top: -180px;
    left: 38%;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(113, 72, 197, .22), transparent 65%);
    pointer-events: none;
}

.faq-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) 340px;
    gap: clamp(26px, 4vw, 56px);
    align-items: center;
}

.faq-hero .breadcrumb {
    margin-bottom: 22px;
}

.faq-hero-grid h1 {
    margin-top: 9px;
    font-family: var(--serif);
    font-size: clamp(36px, 4.8vw, 58px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.01;
}

.faq-hero-grid h1 em {
    color: var(--gold-light);
    font-style: italic;
}

.faq-hero-grid > div > p:last-child {
    max-width: 520px;
    margin-top: 13px;
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.75;
}

.faq-help-card {
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(227, 187, 115, .1), transparent 55%),
        linear-gradient(160deg, rgba(255, 255, 255, .04), rgba(9, 13, 29, .72));
    box-shadow: var(--shadow-soft);
}

.faq-help-icon {
    display: inline-flex;
    width: 43px;
    height: 43px;
    align-items: center;
    justify-content: center;
    margin-bottom: 11px;
    border: 1px solid rgba(116, 217, 172, .25);
    border-radius: 13px;
    background: rgba(116, 217, 172, .07);
    color: var(--success);
}

.faq-help-icon .icon {
    width: 20px;
    height: 20px;
}

.faq-help-card h2 {
    font-family: var(--serif);
    font-size: 25px;
    font-weight: 500;
    line-height: 1.1;
}

.faq-help-card > p {
    margin: 5px 0 15px;
    color: var(--dim);
    font-size: 9px;
    line-height: 1.65;
}

.faq-help-hours {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 9px;
    color: var(--dim);
    font-size: 8px;
}

.faq-help-hours .icon {
    width: 11px;
    height: 11px;
}

.faq-section {
    padding: clamp(22px, 3vw, 34px) 0 clamp(36px, 5.4vw, 64px);
}

.faq-layout {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
}

.faq-side {
    position: sticky;
    top: calc(var(--header-height) + 22px);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.faq-side .sidebar-label {
    margin-bottom: 8px;
}

.faq-side-link {
    padding: 8px 11px;
    border-left: 1px solid var(--line);
    color: var(--dim);
    font-size: 9.5px;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.faq-side-link:hover {
    color: var(--cream);
}

.faq-side-link.is-active {
    border-left-color: var(--gold);
    background: linear-gradient(90deg, rgba(227, 187, 115, .06), transparent);
    color: var(--gold-light);
}

.faq-side-note {
    display: flex;
    gap: 7px;
    margin-top: 18px;
    padding: 12px;
    border: 1px dashed var(--line-gold);
    border-radius: 12px;
    color: var(--dim);
    font-size: 8px;
    line-height: 1.6;
}

.faq-side-note > .icon {
    width: 13px;
    height: 13px;
    flex: 0 0 auto;
    color: var(--gold);
}

.faq-list-wrap {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 26px;
}

.faq-group h2 {
    margin-bottom: 9px;
    font-family: var(--serif);
    font-size: 25px;
    font-weight: 500;
}

.faq-list {
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .012);
    overflow: hidden;
}

.faq-item {
    border-top: 1px solid var(--line-soft);
}

.faq-item:first-child {
    border-top: 0;
}

.faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 14px 16px;
    color: var(--cream);
    font-size: 10.5px;
    font-weight: 600;
    line-height: 1.5;
    list-style: none;
    cursor: pointer;
    transition: background .2s ease;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary:hover {
    background: rgba(255, 255, 255, .028);
}

.faq-item summary .icon {
    width: 13px;
    height: 13px;
    flex: 0 0 auto;
    color: var(--gold);
    transition: transform .25s var(--ease);
}

.faq-item[open] summary {
    background: rgba(227, 187, 115, .035);
}

.faq-item[open] summary .icon {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 16px 15px;
}

.faq-answer p {
    max-width: 680px;
    color: var(--muted);
    font-size: 9.5px;
    line-height: 1.75;
}

.faq-contact {
    display: flex;
    align-items: center;
    gap: 13px;
    flex-wrap: wrap;
    padding: 17px 19px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background:
        radial-gradient(circle at 0% 100%, rgba(227, 187, 115, .08), transparent 55%),
        rgba(255, 255, 255, .018);
}

.faq-contact-icon {
    display: inline-flex;
    width: 37px;
    height: 37px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(227, 187, 115, .2);
    border-radius: 11px;
    background: rgba(227, 187, 115, .06);
    color: var(--gold);
}

.faq-contact-icon .icon {
    width: 16px;
    height: 16px;
}

.faq-contact > div {
    min-width: 170px;
    flex: 1;
}

.faq-contact h3 {
    font-family: var(--serif);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.1;
}

.faq-contact p {
    margin-top: 2px;
    color: var(--dim);
    font-size: 8.5px;
}

.section-faq-cta {
    padding-top: 0;
}

.final-cta-compact {
    padding: clamp(26px, 4vw, 42px);
}

.final-cta-compact h2 {
    font-size: clamp(27px, 3.8vw, 42px);
}

/* Error */
.error-page {
    position: relative;
    display: flex;
    align-items: center;
    padding: clamp(50px, 8vw, 110px) 0;
    overflow: hidden;
}

.error-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.error-orb-a {
    top: -160px;
    right: 9%;
    width: 470px;
    height: 470px;
    background: radial-gradient(circle, rgba(113, 72, 197, .22), transparent 65%);
}

.error-orb-b {
    bottom: -190px;
    left: 4%;
    width: 410px;
    height: 410px;
    background: radial-gradient(circle, rgba(227, 187, 115, .09), transparent 65%);
}

.error-card {
    position: relative;
    max-width: 620px;
    margin: 0 auto;
    padding: clamp(28px, 4.6vw, 50px);
    border: 1px solid var(--line);
    border-radius: 26px;
    background: linear-gradient(165deg, rgba(255, 255, 255, .045), rgba(9, 13, 29, .8));
    box-shadow: var(--shadow);
    text-align: center;
}

.error-sigil {
    display: inline-flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
    border: 1px solid var(--line-gold);
    border-radius: 50%;
    color: var(--gold);
}

.error-sigil .icon {
    width: 23px;
    height: 23px;
}

.error-code {
    display: block;
    margin: 4px 0 2px;
    color: rgba(227, 187, 115, .16);
    font-family: var(--serif);
    font-size: clamp(78px, 13vw, 142px);
    font-weight: 400;
    letter-spacing: -.04em;
    line-height: .85;
}

.error-card .eyebrow {
    justify-content: center;
}

.error-card h1 {
    margin: 11px 0 9px;
    font-family: var(--serif);
    font-size: clamp(28px, 3.8vw, 40px);
    font-weight: 400;
    line-height: 1.08;
}

.error-card > p:not(.eyebrow) {
    max-width: 420px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.75;
}

.error-actions {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.error-help {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 8.5px;
}

.error-help a {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--success);
    font-weight: 700;
}

.error-help .icon {
    width: 11px;
    height: 11px;
}

/* Admin layout */
.admin-shell {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 100vh;
}

.admin-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 70;
    display: flex;
    width: 252px;
    flex-direction: column;
    padding: 20px 16px;
    border-right: 1px solid var(--line-soft);
    background: rgba(6, 10, 22, .9);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    overflow-y: auto;
    transition: transform .35s var(--ease);
}

.admin-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 22px;
    padding: 0 4px;
}

.brand-admin .brand-logo {
    width: 110px;
}

.brand-admin .brand-academy {
    font-size: 7.5px;
    letter-spacing: .22em;
}

.admin-sidebar-close {
    display: none;
    width: 33px;
    height: 33px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: transparent;
    color: var(--muted);
}

.admin-sidebar-close .icon {
    width: 15px;
    height: 15px;
}

.admin-sidebar-label {
    margin: 14px 0 6px;
    padding: 0 10px;
    color: var(--dim);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.admin-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-nav-link {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--muted);
    font-size: 10.5px;
    font-weight: 600;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.admin-nav-link:hover {
    background: rgba(255, 255, 255, .04);
    color: var(--cream);
}

.admin-nav-link.is-active {
    border-color: rgba(227, 187, 115, .18);
    background: rgba(227, 187, 115, .07);
    color: var(--gold-light);
}

.admin-nav-icon {
    display: inline-flex;
    width: 27px;
    height: 27px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .04);
}

.admin-nav-link.is-active .admin-nav-icon {
    background: rgba(227, 187, 115, .1);
}

.admin-nav-icon .icon {
    width: 14px;
    height: 14px;
}

.admin-nav-dot {
    width: 5px;
    height: 5px;
    margin-left: auto;
    border-radius: 50%;
    background: var(--gold);
}

.admin-quick {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-quick-link {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 9px;
    color: var(--dim);
    font-size: 9.5px;
    transition: background .2s ease, color .2s ease;
}

.admin-quick-link:hover {
    background: rgba(255, 255, 255, .04);
    color: var(--cream);
}

.admin-quick-link .icon {
    width: 12px;
    height: 12px;
    color: var(--gold);
}

.admin-sidebar-spacer {
    flex: 1;
    min-height: 22px;
}

.admin-profile {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 9px 0;
    border-top: 1px solid var(--line-soft);
}

.admin-profile-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
}

.admin-profile-copy strong {
    overflow: hidden;
    color: var(--cream);
    font-size: 9.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-profile-copy span {
    color: var(--dim);
    font-size: 7.5px;
}

.admin-logout {
    display: inline-flex;
    width: 29px;
    height: 29px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 50%;
    background: transparent;
    color: var(--dim);
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.admin-logout:hover {
    border-color: rgba(241, 149, 149, .25);
    background: var(--danger-soft);
    color: var(--danger);
}

.admin-logout .icon {
    width: 14px;
    height: 14px;
}

.admin-overlay {
    display: none;
}

.admin-main {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    margin-left: 252px;
}

.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    height: 70px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 clamp(16px, 2.6vw, 32px);
    border-bottom: 1px solid var(--line-soft);
    background: rgba(5, 8, 20, .78);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

.admin-topbar-left {
    display: flex;
    align-items: center;
    gap: 11px;
}

.admin-menu-toggle {
    display: none;
    width: 37px;
    height: 37px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: rgba(255, 255, 255, .04);
    color: var(--cream);
}

.admin-menu-toggle .icon {
    width: 17px;
    height: 17px;
}

.admin-breadcrumb {
    display: block;
    color: var(--dim);
    font-size: 7.5px;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.admin-topbar-title {
    color: var(--cream);
    font-size: 11.5px;
    font-weight: 700;
}

.admin-topbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-date {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--dim);
    font-size: 8.5px;
}

.admin-date .icon {
    width: 12px;
    height: 12px;
}

.admin-topbar-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 11px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    font-size: 8.5px;
    font-weight: 600;
    transition: border-color .2s ease, color .2s ease;
}

.admin-topbar-link:hover {
    border-color: var(--line-gold);
    color: var(--gold-light);
}

.admin-topbar-link .icon {
    width: 12px;
    height: 12px;
}

.admin-content {
    flex: 1;
    padding: clamp(18px, 2.6vw, 32px);
}

.admin-footer {
    display: flex;
    justify-content: space-between;
    gap: 13px;
    flex-wrap: wrap;
    padding: 15px clamp(16px, 2.6vw, 32px);
    border-top: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 7.5px;
}

/* Admin shared */
.admin-page {
    display: flex;
    max-width: 1380px;
    margin: 0 auto;
    flex-direction: column;
    gap: 18px;
}

.admin-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    flex-wrap: wrap;
}

.admin-page-head h1 {
    margin-top: 7px;
    font-family: var(--serif);
    font-size: clamp(29px, 3.5vw, 42px);
    font-weight: 400;
    letter-spacing: -.015em;
    line-height: 1.03;
}

.admin-page-head h1 em {
    color: var(--gold-light);
    font-style: italic;
}

.admin-page-head > div > p:last-child {
    max-width: 600px;
    margin-top: 7px;
    color: var(--dim);
    font-size: 9.5px;
    line-height: 1.65;
}

.admin-page-actions {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.admin-count-pill {
    padding: 5px 11px;
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    color: var(--dim);
    font-size: 8px;
    font-weight: 700;
}

.admin-panel {
    padding: clamp(15px, 2.2vw, 22px);
    border: 1px solid var(--line-soft);
    border-radius: 18px;
    background: rgba(255, 255, 255, .016);
}

.admin-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 13px;
}

.admin-panel-head h2 {
    font-family: var(--serif);
    font-size: 21px;
    font-weight: 500;
    line-height: 1.1;
}

.admin-panel-head p {
    margin-top: 2px;
    color: var(--dim);
    font-size: 8px;
}

.admin-panel-action {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--gold-light);
    font-size: 8.5px;
    font-weight: 700;
    white-space: nowrap;
}

.admin-panel-action .icon {
    width: 11px;
    height: 11px;
}

.admin-panel-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    color: var(--dim);
    font-size: 7.5px;
    white-space: nowrap;
}

.admin-panel-chip .icon {
    width: 10px;
    height: 10px;
}

.admin-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
}

.admin-stat-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 17px;
    border: 1px solid var(--line-soft);
    border-radius: 16px;
    background: linear-gradient(160deg, rgba(255, 255, 255, .03), rgba(9, 13, 29, .55));
    overflow: hidden;
}

.admin-stat-card strong {
    margin-top: 5px;
    color: var(--cream);
    font-family: var(--serif);
    font-size: 29px;
    font-weight: 500;
    line-height: 1;
}

.admin-stat-card > span:not(.admin-stat-glyph):not(.admin-stat-icon):not(.admin-stat-tag) {
    color: var(--dim);
    font-size: 8px;
}

.admin-stat-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
}

.admin-stat-icon {
    display: inline-flex;
    width: 31px;
    height: 31px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(227, 187, 115, .16);
    border-radius: 9px;
    background: rgba(227, 187, 115, .05);
    color: var(--gold);
}

.admin-stat-icon .icon {
    width: 14px;
    height: 14px;
}

.admin-stat-icon-warn {
    border-color: rgba(241, 198, 111, .2);
    background: var(--warning-soft);
    color: var(--warning);
}

.admin-stat-icon-muted {
    color: var(--dim);
}

.admin-stat-link {
    display: inline-flex;
    color: var(--dim);
    transition: color .2s ease;
}

.admin-stat-link .icon {
    width: 13px;
    height: 13px;
}

.admin-stat-link:hover {
    color: var(--gold);
}

.admin-stat-tag {
    color: var(--dim);
    font-size: 7.5px;
}

.admin-stat-glyph {
    position: absolute;
    right: -8px;
    bottom: -14px;
    color: rgba(255, 255, 255, .03);
}

.admin-stat-glyph .icon {
    width: 86px;
    height: 86px;
}

.admin-stat-revenue {
    border-color: rgba(227, 187, 115, .22);
    background:
        radial-gradient(circle at 100% 0%, rgba(227, 187, 115, .12), transparent 55%),
        linear-gradient(160deg, rgba(255, 255, 255, .04), rgba(9, 13, 29, .55));
}

.admin-stat-revenue strong {
    color: var(--gold-light);
}

.admin-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, .9fr);
    gap: 12px;
}

.admin-chart {
    display: flex;
    height: 226px;
    align-items: flex-end;
    gap: 7px;
    margin-top: 5px;
    padding-top: 9px;
}

.admin-chart.is-empty {
    opacity: .55;
}

.admin-chart-col {
    display: flex;
    min-width: 0;
    height: 100%;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

.admin-chart-value {
    color: var(--dim);
    font-size: 6.5px;
    white-space: nowrap;
}

.admin-chart-track {
    display: flex;
    width: 100%;
    max-width: 46px;
    height: 100%;
    align-items: flex-end;
    border-radius: 6px;
    background: rgba(255, 255, 255, .025);
    overflow: hidden;
}

.admin-chart-track > span {
    display: block;
    width: 100%;
    border-radius: 6px 6px 0 0;
    background: linear-gradient(180deg, rgba(227, 187, 115, .85), rgba(113, 72, 197, .6));
    transform-origin: bottom;
    animation: chart-rise .9s var(--ease) both;
}

@keyframes chart-rise {
    from {
        opacity: .3;
        transform: scaleY(.08);
    }
    to {
        opacity: 1;
        transform: scaleY(1);
    }
}

.admin-chart-label {
    color: var(--dim);
    font-size: 7px;
    white-space: nowrap;
}

.admin-chart-empty {
    display: flex;
    align-items: center;
    gap: 5px;
    padding-top: 11px;
    color: var(--dim);
    font-size: 8.5px;
}

.admin-chart-empty .icon {
    width: 12px;
    height: 12px;
    color: var(--gold);
}

.admin-catalog-bar {
    display: flex;
    height: 13px;
    margin: 7px 0 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .04);
    overflow: hidden;
}

.catalog-segment {
    display: block;
    height: 100%;
    min-width: 2px;
}

.segment-academy {
    background: #7148c5;
}

.segment-course {
    background: #e3bb73;
}

.segment-analysis {
    background: #74d9ac;
}

.segment-ebook {
    background: #7ea6e8;
}

.admin-catalog-legend {
    display: flex;
    flex-direction: column;
}

.admin-catalog-legend a {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 6px 0;
    border-top: 1px solid var(--line-soft);
    color: var(--muted);
    font-size: 9px;
}

.admin-catalog-legend a:first-child {
    border-top: 0;
}

.admin-catalog-legend a strong {
    margin-left: auto;
    color: var(--cream);
    font-size: 9px;
}

.legend-dot {
    width: 6px;
    height: 6px;
    flex: 0 0 auto;
    border-radius: 50%;
}

.admin-catalog-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 13px;
    padding-top: 11px;
    border-top: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 8px;
}

.admin-catalog-foot span,
.admin-catalog-foot a {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.admin-catalog-foot a {
    color: var(--gold-light);
    font-weight: 700;
}

.admin-catalog-foot .icon {
    width: 11px;
    height: 11px;
}

.admin-dashboard-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, .9fr);
    gap: 12px;
    align-items: start;
}

.admin-quick-panel {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.admin-action-card {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 11px;
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    background: rgba(255, 255, 255, .018);
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.admin-action-card:hover {
    border-color: var(--line-gold);
    background: rgba(227, 187, 115, .04);
    transform: translateY(-1px);
}

.admin-action-icon {
    display: inline-flex;
    width: 31px;
    height: 31px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(227, 187, 115, .15);
    border-radius: 9px;
    background: rgba(227, 187, 115, .05);
    color: var(--gold);
}

.admin-action-icon .icon {
    width: 14px;
    height: 14px;
}

.admin-action-card > div {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
}

.admin-action-card strong {
    color: var(--cream);
    font-size: 9px;
}

.admin-action-card small {
    color: var(--dim);
    font-size: 7.5px;
}

.admin-action-card > .icon {
    width: 13px;
    height: 13px;
    color: var(--dim);
}

.admin-tip {
    display: flex;
    gap: 7px;
    padding: 10px 11px;
    border: 1px dashed var(--line-gold);
    border-radius: 11px;
    background: rgba(227, 187, 115, .02);
    color: var(--dim);
    font-size: 8px;
    line-height: 1.6;
}

.admin-tip > .icon {
    width: 13px;
    height: 13px;
    flex: 0 0 auto;
    color: var(--gold);
}

.admin-tip strong {
    color: var(--cream);
}

/* Admin tables */
.admin-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 9.5px;
}

.admin-table th {
    padding: 8px 11px;
    border-bottom: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .1em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-table td {
    padding: 10px 11px;
    border-bottom: 1px solid var(--line-soft);
    color: var(--muted);
    vertical-align: middle;
}

.admin-table tbody tr {
    transition: background .2s ease;
}

.admin-table tbody tr:hover {
    background: rgba(255, 255, 255, .022);
}

.admin-table tbody tr:last-child td {
    border-bottom: 0;
}

.admin-table strong {
    color: var(--cream);
    font-weight: 600;
}

.admin-table .align-right {
    text-align: right;
}

.admin-table-compact td {
    padding: 8px 11px;
    font-size: 9px;
}

.admin-table-compact th {
    padding: 7px 11px;
}

.admin-table-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    flex-wrap: wrap;
    margin-top: 3px;
    padding-top: 11px;
    border-top: 1px solid var(--line-soft);
    color: var(--dim);
    font-size: 7.5px;
}

.admin-table-foot span {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.admin-table-foot .icon {
    width: 10px;
    height: 10px;
}

.admin-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 28px 15px;
    color: var(--dim);
    font-size: 9px;
    text-align: center;
}

.admin-empty > .icon {
    width: 27px;
    height: 27px;
    margin-bottom: 2px;
    color: rgba(227, 187, 115, .5);
}

.admin-empty h3 {
    color: var(--cream);
    font-family: var(--serif);
    font-size: 21px;
    font-weight: 500;
}

.admin-empty p {
    max-width: 340px;
    font-size: 8.5px;
    line-height: 1.6;
}

.admin-empty-lg {
    padding: 52px 18px;
}

.admin-empty-actions {
    display: flex;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
    margin-top: 7px;
}

.admin-filterbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.admin-search {
    position: relative;
    display: flex;
    max-width: 400px;
    min-width: 230px;
    flex: 1;
    align-items: center;
}

.admin-search > .icon {
    position: absolute;
    left: 11px;
    width: 13px;
    height: 13px;
    color: var(--dim);
    pointer-events: none;
}

.admin-search input {
    width: 100%;
    height: 38px;
    padding: 0 34px;
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    background: rgba(255, 255, 255, .025);
    color: var(--cream);
    font-size: 9.5px;
}

.admin-search input::placeholder {
    color: var(--dim);
}

.admin-search input:focus {
    border-color: var(--line-gold);
    outline: none;
}

.admin-search > a {
    position: absolute;
    right: 7px;
    display: inline-flex;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--dim);
}

.admin-search > a:hover {
    background: rgba(255, 255, 255, .05);
    color: var(--cream);
}

.admin-search > a .icon {
    width: 11px;
    height: 11px;
}

.admin-filter-group {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.admin-filter-group .select-wrap select {
    min-width: 136px;
    height: 38px;
    padding: 0 32px 0 13px;
    border-radius: 999px;
    font-size: 9.5px;
}

.admin-filter-reset {
    padding: 6px 3px;
    color: var(--dim);
    font-size: 8.5px;
    font-weight: 700;
}

.admin-filter-reset:hover {
    color: var(--danger);
}

.admin-search-sm {
    max-width: 270px;
    min-width: 210px;
}

.admin-search-sm input {
    height: 35px;
    font-size: 9px;
}

.admin-status-tabs {
    display: flex;
    max-width: 100%;
    gap: 3px;
    padding: 4px;
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    background: rgba(255, 255, 255, .018);
    overflow-x: auto;
}

.admin-status-tab {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 11px;
    border-radius: 999px;
    color: var(--dim);
    font-size: 8.5px;
    font-weight: 700;
    white-space: nowrap;
    transition: background .2s ease, color .2s ease;
}

.admin-status-tab span {
    padding: 1px 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .05);
    font-size: 7px;
}

.admin-status-tab:hover {
    color: var(--cream);
}

.admin-status-tab.is-active {
    background: rgba(227, 187, 115, .12);
    color: var(--gold-light);
}

.admin-status-tab.is-active span {
    background: rgba(227, 187, 115, .16);
}

.admin-order-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    flex-wrap: wrap;
    margin-bottom: 13px;
}

.admin-order-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.admin-mini-stat {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 13px;
    border: 1px solid var(--line-soft);
    border-radius: 13px;
    background: rgba(255, 255, 255, .018);
}

.admin-mini-stat strong {
    display: block;
    color: var(--cream);
    font-family: var(--serif);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.1;
}

.admin-mini-stat div > span {
    display: block;
    margin-top: 2px;
    color: var(--dim);
    font-size: 7.5px;
}

.admin-payment-label {
    color: var(--muted);
    font-size: 8.5px;
}

/* Admin product form */
.admin-page-head-form {
    align-items: flex-start;
}

.admin-back-link {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-bottom: 9px;
    color: var(--dim);
    font-size: 8px;
    font-weight: 600;
    transition: color .2s ease;
}

.admin-back-link:hover {
    color: var(--gold-light);
}

.admin-back-link .icon {
    width: 11px;
    height: 11px;
}

.admin-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 336px;
    gap: 12px;
    align-items: start;
}

.admin-form-main {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 12px;
}

.admin-form-section {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.admin-form-section-head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
    padding-bottom: 11px;
    border-bottom: 1px solid var(--line-soft);
}

.admin-form-section-head > div {
    min-width: 170px;
    flex: 1;
}

.admin-form-section-head h2 {
    font-family: var(--serif);
    font-size: 21px;
    font-weight: 500;
    line-height: 1.1;
}

.admin-form-section-head p {
    margin-top: 2px;
    color: var(--dim);
    font-size: 8px;
}

.admin-section-number {
    display: inline-flex;
    width: 29px;
    height: 29px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line-gold);
    border-radius: 50%;
    color: var(--gold);
    font-family: var(--serif);
    font-size: 12px;
}

.admin-form-section .form-grid-2 {
    gap: 11px;
}

.admin-form-section .field > label {
    font-size: 9.5px;
}

.admin-form-side {
    position: sticky;
    top: 84px;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.admin-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    flex-wrap: wrap;
    color: var(--dim);
    font-size: 8px;
}

.admin-form-actions span {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.admin-form-actions .icon {
    width: 11px;
    height: 11px;
    color: var(--gold);
}

.admin-form-stack {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.admin-publish-card .field > label {
    font-size: 9px;
}

.admin-publish-cancel {
    display: block;
    margin-top: 9px;
    color: var(--dim);
    font-size: 8px;
    text-align: center;
}

.admin-publish-cancel:hover {
    color: var(--cream);
}

.admin-form-tip {
    display: flex;
    gap: 7px;
    padding: 10px;
    border: 1px dashed var(--line-gold);
    border-radius: 11px;
    color: var(--dim);
    font-size: 8px;
    line-height: 1.6;
}

.admin-form-tip .icon {
    width: 12px;
    height: 12px;
    flex: 0 0 auto;
    color: var(--gold);
}

.checkbox-field-card {
    align-items: flex-start;
    padding: 11px;
    border: 1px solid var(--line-soft);
    border-radius: 11px;
    background: rgba(255, 255, 255, .018);
}

.checkbox-field-card > span:last-child {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.checkbox-field-card strong {
    color: var(--cream);
    font-size: 9px;
}

.checkbox-field-card small {
    color: var(--dim);
    font-size: 7.5px;
    line-height: 1.5;
}

.cover-editor {
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr);
    gap: 15px;
    align-items: start;
}

.cover-editor-preview img {
    width: 100%;
    border-radius: 8px;
    box-shadow: var(--shadow-soft);
}

.cover-editor-label {
    display: block;
    margin-top: 6px;
    color: var(--dim);
    font-size: 7px;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
}

.cover-editor-fields {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.file-drop {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 16px;
    border: 1px dashed rgba(227, 187, 115, .3);
    border-radius: 12px;
    background: rgba(227, 187, 115, .02);
    color: var(--dim);
    text-align: center;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease;
}

.file-drop:hover,
.file-drop.is-dragover {
    border-color: rgba(227, 187, 115, .6);
    background: rgba(227, 187, 115, .05);
}

.file-drop > .icon {
    width: 19px;
    height: 19px;
    margin-bottom: 1px;
    color: var(--gold);
}

.file-drop span {
    font-size: 9px;
}

.file-drop strong {
    color: var(--cream);
}

.file-drop small {
    font-size: 7.5px;
    line-height: 1.5;
}

.file-drop input {
    position: absolute;
    inset: 0;
    width: 100%;
    opacity: 0;
    cursor: pointer;
}

.file-selected {
    display: block;
    margin-top: 5px;
    color: var(--success);
    font-size: 8px;
}

.material-editor {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.material-editor-row {
    display: grid;
    grid-template-columns: 22px minmax(0, 1.15fr) minmax(0, 1.35fr) 124px 30px;
    gap: 7px;
    align-items: end;
    padding: 9px;
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    background: rgba(255, 255, 255, .018);
}

.material-editor-row .field {
    gap: 4px;
}

.material-editor-row .field > label {
    color: var(--dim);
    font-size: 7.5px;
}

.material-editor-row input,
.material-editor-row select {
    height: 35px;
    font-size: 9px;
}

.material-drag {
    display: inline-flex;
    height: 35px;
    align-items: center;
    justify-content: center;
    color: var(--dim);
}

.material-drag .icon {
    width: 13px;
    height: 13px;
}

.material-remove {
    display: inline-flex;
    width: 30px;
    height: 35px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--dim);
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.material-remove:hover {
    border-color: rgba(241, 149, 149, .25);
    background: var(--danger-soft);
    color: var(--danger);
}

.material-remove .icon {
    width: 13px;
    height: 13px;
}

.material-editor-help {
    display: flex;
    gap: 5px;
    margin-top: 9px;
    color: var(--dim);
    font-size: 8px;
    line-height: 1.6;
}

.material-editor-help .icon {
    width: 11px;
    height: 11px;
    flex: 0 0 auto;
    margin-top: 1px;
    color: var(--gold);
}

.material-editor-help code {
    padding: 1px 4px;
    border-radius: 4px;
    background: rgba(255, 255, 255, .06);
    color: var(--gold-light);
    font-size: .95em;
}

.admin-live-preview {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.mini-preview-card {
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    background: rgba(255, 255, 255, .022);
    overflow: hidden;
}

.mini-preview-card > img {
    width: 100%;
    max-height: 230px;
    object-fit: cover;
}

.mini-preview-card > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 11px;
}

.mini-preview-category {
    color: var(--gold);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.mini-preview-card strong {
    color: var(--cream);
    font-family: var(--serif);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.2;
}

.mini-preview-card p {
    color: var(--dim);
    font-size: 8px;
    line-height: 1.55;
}

.mini-preview-price {
    color: var(--gold-light);
    font-size: 9.5px;
    font-weight: 800;
}

/* Admin product table */
.admin-product-cell {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 210px;
}

.admin-product-cell img {
    width: 38px;
    height: 51px;
    flex: 0 0 auto;
    border-radius: 5px;
    object-fit: cover;
    box-shadow: 0 6px 14px rgba(0, 0, 0, .35);
}

.admin-product-cell > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.admin-product-title {
    color: var(--cream);
    font-size: 9.5px;
    font-weight: 700;
    line-height: 1.35;
}

.admin-product-title:hover {
    color: var(--gold-light);
}

.admin-product-flags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 3px;
}

.admin-product-flags span {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: var(--gold);
    font-size: 6.5px;
}

.admin-product-flags .icon {
    width: 8px;
    height: 8px;
}

.admin-duration {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--muted);
    font-size: 8px;
    white-space: nowrap;
}

.admin-duration .icon {
    width: 10px;
    height: 10px;
    color: var(--dim);
}

.admin-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
}

.admin-row-actions form {
    display: flex;
}

.admin-icon-btn {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line-soft);
    border-radius: 8px;
    background: rgba(255, 255, 255, .018);
    color: var(--muted);
    transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.admin-icon-btn:hover {
    border-color: var(--line-gold);
    background: rgba(227, 187, 115, .07);
    color: var(--gold-light);
}

.admin-icon-btn .icon {
    width: 12px;
    height: 12px;
}

.admin-icon-danger:hover {
    border-color: rgba(241, 149, 149, .3);
    background: var(--danger-soft);
    color: var(--danger);
}

.admin-member-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 170px;
}

.admin-member-cell .avatar {
    width: 29px;
    height: 29px;
    font-size: 8px;
}

.admin-member-cell > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.admin-access-count {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--muted);
    font-size: 8px;
    white-space: nowrap;
}

.admin-access-count .icon {
    width: 10px;
    height: 10px;
    color: var(--gold);
}

/* Admin member detail */
.admin-member-headline {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 3px;
}

.admin-member-headline h1 {
    margin-top: 2px;
    font-size: clamp(25px, 3.2vw, 36px);
}

.admin-member-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.admin-member-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 316px;
    gap: 12px;
    align-items: start;
}

.admin-member-main {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 12px;
}

.admin-member-side {
    position: sticky;
    top: 84px;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.admin-grant-card {
    border-color: rgba(227, 187, 115, .18);
}

.admin-access-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.admin-access-row {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto auto;
    gap: 9px;
    align-items: center;
    padding: 9px;
    border: 1px solid var(--line-soft);
    border-radius: 11px;
    background: rgba(255, 255, 255, .016);
}

.admin-access-product {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
}

.admin-access-product img {
    width: 32px;
    height: 43px;
    flex: 0 0 auto;
    border-radius: 4px;
    object-fit: cover;
}

.admin-access-product > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.admin-access-product strong {
    overflow: hidden;
    color: var(--cream);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-access-product span {
    color: var(--dim);
    font-size: 7px;
}

.admin-access-missing {
    display: inline-flex;
    width: 32px;
    height: 43px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border: 1px dashed var(--line);
    border-radius: 4px;
    color: var(--dim);
}

.admin-access-missing .icon {
    width: 13px;
    height: 13px;
}

.admin-access-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 3px 9px;
    color: var(--muted);
    font-size: 7px;
}

.admin-access-dates span {
    display: flex;
    flex-direction: column;
}

.admin-access-dates small {
    color: var(--dim);
    font-size: 6.5px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.admin-access-left {
    color: var(--gold) !important;
}

.admin-access-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
}

.extend-form {
    display: flex;
    align-items: center;
    gap: 2px;
}

.extend-form input {
    width: 44px;
    height: 28px;
    padding: 0 3px;
    border: 1px solid var(--line-soft);
    border-radius: 7px;
    background: rgba(255, 255, 255, .018);
    color: var(--cream);
    font-size: 8px;
    text-align: center;
}

.admin-access-help {
    display: flex;
    gap: 5px;
    margin-top: 9px;
    color: var(--dim);
    font-size: 7.5px;
    line-height: 1.6;
}

.admin-access-help .icon {
    width: 10px;
    height: 10px;
    flex: 0 0 auto;
    color: var(--gold);
}

.admin-member-summary dl {
    display: flex;
    flex-direction: column;
}

.admin-member-summary dl > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    padding: 6px 0;
    border-top: 1px solid var(--line-soft);
    font-size: 8px;
}

.admin-member-summary dl > div:first-child {
    border-top: 0;
}

.admin-member-summary dt {
    color: var(--dim);
}

.admin-member-summary dd {
    color: var(--muted);
    text-align: right;
}

/* Responsive */
@media (max-width: 1240px) {
    .admin-form-grid,
    .admin-member-layout {
        grid-template-columns: 1fr;
    }

    .admin-form-side,
    .admin-member-side {
        position: static;
    }

    .admin-form-side {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }

    .admin-form-tip {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1180px) {
    .product-grid-4 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .checkout-grid {
        grid-template-columns: minmax(0, 1fr) 336px;
    }

    .library-hero-grid {
        grid-template-columns: 270px minmax(0, 1fr);
    }
}

@media (max-width: 1120px) {
    .admin-sidebar {
        transform: translateX(-102%);
    }

    .admin-main {
        margin-left: 0;
    }

    .admin-menu-toggle,
    .admin-sidebar-close {
        display: inline-flex;
    }

    .admin-overlay {
        position: fixed;
        inset: 0;
        z-index: 60;
        display: block;
        background: rgba(3, 6, 14, .62);
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s ease, visibility .3s ease;
    }

    body.admin-nav-open .admin-sidebar {
        transform: translateX(0);
    }

    body.admin-nav-open .admin-overlay {
        opacity: 1;
        visibility: visible;
    }

    .admin-topbar {
        height: 64px;
    }

    .admin-stats-grid,
    .admin-member-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-top {
        grid-template-columns: 1.3fr 1fr 1fr;
        gap: 34px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1000px) {
    .account-columns,
    .profile-grid {
        grid-template-columns: 1fr;
    }

    .account-stat-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .account-side,
    .profile-side {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }

    .profile-summary {
        position: static;
        grid-column: 1 / -1;
    }

    .admin-dashboard-grid,
    .admin-dashboard-bottom {
        grid-template-columns: 1fr;
    }

    .admin-order-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .nav-toggle {
        display: inline-flex;
    }

    .auth-desktop {
        display: none;
    }

    .primary-nav {
        position: fixed;
        top: calc(var(--header-height) + 10px);
        right: 16px;
        left: 16px;
        z-index: 90;
        display: flex;
        max-height: calc(100vh - var(--header-height) - 26px);
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        padding: 14px;
        border: 1px solid var(--line);
        border-radius: 20px;
        background: var(--night-soft);
        box-shadow: var(--shadow);
        opacity: 0;
        visibility: hidden;
        overflow-y: auto;
        transform: translateY(-10px);
        transition: opacity .25s ease, transform .25s var(--ease), visibility .25s ease;
    }

    body.nav-open .primary-nav {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .nav-link {
        padding: 10px 12px;
        border-radius: 10px;
        font-size: 12px;
    }

    .nav-link::after {
        display: none;
    }

    .nav-link.is-active {
        background: rgba(227, 187, 115, .08);
        color: var(--gold-light);
    }

    .nav-mobile-actions {
        display: flex;
        flex-direction: column;
        gap: 6px;
        margin-top: 8px;
        padding-top: 12px;
        border-top: 1px solid var(--line-soft);
    }

    body.nav-open .nav-toggle-open {
        display: none;
    }

    body.nav-open .nav-toggle-close {
        display: inline-flex;
    }

    .header-actions .account-pill-text {
        display: none;
    }

    .header-actions .header-icon-link,
    .header-actions .logout-form {
        display: none;
    }

    .account-pill {
        padding: 3px;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-top: 16px;
    }

    .hero-copy {
        max-width: 680px;
    }

    .hero-visual {
        width: 100%;
        max-width: 540px;
        min-height: 470px;
        margin-inline: auto;
    }

    .stats-ribbon {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stat-ribbon-item:nth-child(2n) {
        border-right: 0;
    }

    .stat-ribbon-quote {
        grid-column: 1 / -1;
        border-top: 1px solid var(--line-soft);
    }

    .category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .founder-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .library-preview-grid {
        grid-template-columns: 1fr;
    }

    .process-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-hero-grid {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 18px;
    }

    .page-hero-aside {
        align-items: flex-start;
        padding-bottom: 0;
        text-align: left;
    }

    .page-hero-number {
        font-size: 46px;
    }

    .product-hero-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .product-cover-column {
        position: static;
    }

    .product-cover-stage {
        max-width: 380px;
        margin: 0 auto;
    }

    .product-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .product-sidebar {
        position: static;
    }

    .checkout-grid {
        grid-template-columns: 1fr;
    }

    .checkout-summary {
        position: static;
        order: -1;
    }

    .success-detail-grid {
        grid-template-columns: 1fr;
    }

    .auth-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .auth-card-wrap {
        max-width: 520px;
        order: -1;
    }

    .auth-visual {
        min-height: 0;
    }

    .auth-covers {
        height: 230px;
    }

    .locked-grid {
        grid-template-columns: 1fr;
    }

    .locked-product {
        width: 100%;
        max-width: 390px;
        margin: 0 auto;
    }

    .library-hero-grid {
        grid-template-columns: 1fr;
    }

    .library-cover {
        max-width: 225px;
        margin-inline: auto;
    }

    .library-guide-panel {
        grid-template-columns: 1fr;
    }

    .welcome-hero {
        grid-template-columns: 1fr;
    }

    .welcome-book {
        max-width: 215px;
    }

    .faq-hero-grid {
        grid-template-columns: 1fr;
    }

    .faq-help-card {
        max-width: 420px;
    }
}

@media (max-width: 860px) {
    .collection-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .collection-head-side {
        max-width: 560px;
        flex: none;
        padding-bottom: 0;
    }

    .catalog-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .catalog-tools {
        flex-wrap: wrap;
    }

    .catalog-search {
        width: 100%;
        flex: 1 1 210px;
    }

    .sort-form {
        flex: 0 1 210px;
    }

    .welcome-steps {
        grid-template-columns: 1fr;
    }

    .welcome-bottom {
        grid-template-columns: 1fr;
    }

    .faq-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .faq-side {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4px;
    }

    .faq-side .sidebar-label {
        width: 100%;
    }

    .faq-side-link {
        padding: 6px 12px;
        border: 1px solid var(--line-soft);
        border-radius: 999px;
    }

    .faq-side-link.is-active {
        border-color: var(--line-gold);
        background: rgba(227, 187, 115, .07);
    }

    .faq-side-note {
        width: 100%;
    }

    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
        padding: 46px 0 36px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-contact {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        flex-wrap: wrap;
        gap: 7px;
    }

    .floating-help {
        padding: 10px;
    }

    .floating-help span {
        display: none;
    }

    .success-next-steps {
        grid-template-columns: 1fr;
    }

    .founder-values {
        grid-template-columns: 1fr;
    }

    .highlights-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    :root {
        --header-height: 72px;
    }

    .container {
        width: calc(100% - 40px);
    }

    .section-heading-split,
    .account-section-head,
    .library-section-head {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .product-grid-4,
    .product-grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .product-grid {
        gap: 14px;
    }

    .catalog-cta {
        flex-direction: column;
        align-items: flex-start;
        gap: 22px;
        padding: 28px 24px;
    }

    .catalog-cta .btn {
        width: 100%;
    }

    .process-steps {
        grid-template-columns: 1fr;
    }

    .checkout-card-head {
        flex-wrap: wrap;
    }

    .checkout-card-head .text-link {
        margin-left: 46px;
    }

    .orders-list-head {
        display: none;
    }

    .order-row {
        grid-template-columns: minmax(0, 1fr) auto;
        row-gap: 6px;
    }

    .order-code {
        grid-column: 1;
        grid-row: 1;
    }

    .order-product {
        grid-column: 1;
        grid-row: 2;
    }

    .order-amount {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }

    .order-row .status-badge {
        grid-column: 2;
        grid-row: 2;
        justify-self: end;
    }

    .account-side,
    .profile-side {
        grid-template-columns: 1fr;
    }

    .profile-summary {
        grid-column: auto;
    }

    .form-grid-2 {
        grid-template-columns: 1fr;
    }

    .welcome-support,
    .welcome-access {
        align-items: flex-start;
    }

    .admin-topbar {
        height: 60px;
    }

    .admin-topbar-right .admin-date {
        display: none;
    }

    .admin-page-head {
        align-items: flex-start;
    }

    .admin-page-actions {
        width: 100%;
    }

    .admin-filterbar {
        align-items: stretch;
    }

    .admin-search {
        width: 100%;
        max-width: none;
    }

    .admin-filter-group {
        width: 100%;
        justify-content: space-between;
    }

    .admin-filter-group .select-wrap {
        flex: 1;
    }

    .admin-filter-group .select-wrap select {
        width: 100%;
    }

    .admin-order-toolbar {
        align-items: stretch;
    }

    .admin-search-sm {
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    .admin-form-side {
        grid-template-columns: 1fr;
    }

    .admin-form-tip {
        grid-column: auto;
    }

    .cover-editor {
        grid-template-columns: 118px minmax(0, 1fr);
        gap: 12px;
    }

    .material-editor-row {
        position: relative;
        grid-template-columns: 1fr;
        padding: 9px 42px 9px 9px;
    }

    .material-drag {
        display: none;
    }

    .material-remove {
        position: absolute;
        top: 7px;
        right: 7px;
    }

    .admin-access-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .admin-access-product {
        grid-column: 1 / -1;
    }

    .admin-access-dates {
        grid-column: 1;
    }

    .admin-access-row > .status-badge {
        grid-column: 2;
        grid-row: 2;
        justify-self: end;
    }

    .admin-access-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .admin-table-wrap {
        overflow: visible;
    }

    .admin-table,
    .admin-table tbody,
    .admin-table tr,
    .admin-table td {
        display: block;
        width: 100%;
    }

    .admin-table thead {
        display: none;
    }

    .admin-table tbody tr {
        margin-bottom: 9px;
        padding: 6px 12px;
        border: 1px solid var(--line-soft);
        border-radius: 12px;
        background: rgba(255, 255, 255, .018);
    }

    .admin-table tbody tr:last-child {
        margin-bottom: 0;
    }

    .admin-table tbody tr:hover {
        background: rgba(255, 255, 255, .018);
    }

    .admin-table td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 6px 0;
        border-bottom: 1px solid var(--line-soft);
        text-align: right;
    }

    .admin-table td:last-child {
        border-bottom: 0;
    }

    .admin-table td::before {
        content: attr(data-label);
        flex: 0 0 auto;
        color: var(--dim);
        font-size: 7px;
        font-weight: 800;
        letter-spacing: .08em;
        text-align: left;
        text-transform: uppercase;
    }

    .admin-table td:not([data-label]) {
        justify-content: flex-end;
    }

    .admin-table td:not([data-label])::before {
        content: none;
    }

    .admin-table td.align-right {
        text-align: right;
    }

    .admin-product-cell,
    .admin-member-cell {
        min-width: 0;
        flex: 1;
        justify-content: flex-start;
        text-align: left;
    }

    .admin-product-cell img {
        width: 32px;
        height: 43px;
    }

    .admin-row-actions {
        flex-wrap: nowrap;
    }

    .admin-member-headline {
        align-items: flex-start;
    }
}

@media (max-width: 560px) {
    .container {
        width: calc(100% - 32px);
    }

    .header-actions .account-pill {
        display: none;
    }

    .hero-copy h1 {
        font-size: clamp(37px, 10.5vw, 48px);
    }

    .hero-visual {
        min-height: 400px;
        margin-top: -10px;
        margin-bottom: -50px;
        transform: scale(.74);
        transform-origin: top center;
    }

    .hero-search {
        flex-wrap: wrap;
        border-radius: 20px;
    }

    .hero-search .btn {
        width: 100%;
    }

    .search-icon {
        margin-right: -31px;
    }

    .product-grid-4,
    .product-grid-3,
    .category-grid {
        grid-template-columns: 1fr;
    }

    .stats-ribbon {
        grid-template-columns: 1fr;
    }

    .stat-ribbon-item {
        min-height: 74px;
        border-right: 0;
        border-bottom: 1px solid var(--line-soft);
    }

    .stat-ribbon-item:nth-child(2n) {
        border-right: 0;
    }

    .stat-ribbon-quote {
        border-top: 0;
        border-bottom: 0;
    }

    .account-stat-row {
        grid-template-columns: 1fr;
    }

    .account-identity {
        gap: 13px;
    }

    .account-identity .avatar-xl {
        width: 54px;
        height: 54px;
        font-size: 14px;
    }

    .account-hero-actions .btn {
        flex: 1;
    }

    .member-program {
        flex-direction: column;
    }

    .member-program-cover {
        width: 100%;
        height: 170px;
    }

    .member-program-cover img {
        object-fit: cover;
        object-position: center 28%;
    }

    .checkout-card {
        padding: 16px;
    }

    .checkout-card-head .text-link {
        margin-left: 0;
        width: 100%;
    }

    .buyer-verified {
        margin-left: 59px;
    }

    .success-product {
        flex-direction: column;
    }

    .success-product img {
        width: 82px;
    }

    .success-order-code {
        border-radius: 16px;
    }

    .auth-visual {
        padding: 20px;
    }

    .auth-covers,
    .auth-visual-foot {
        display: none;
    }

    .welcome-book {
        max-width: 190px;
    }

    .welcome-note {
        flex-direction: column;
    }

    .library-support,
    .library-support > div,
    .faq-contact {
        align-items: flex-start;
    }

    .library-support .text-link {
        margin-left: 25px;
    }

    .error-card {
        padding: 24px 18px;
    }

    .footer-top {
        grid-template-columns: 1fr;
    }

    .footer-brand,
    .footer-contact {
        grid-column: auto;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin-stats-grid,
    .admin-member-stats,
    .admin-order-stats {
        grid-template-columns: 1fr;
    }

    .cover-editor {
        grid-template-columns: 1fr;
    }

    .cover-editor-preview {
        width: 108px;
        margin-inline: auto;
    }

    .admin-content {
        padding: 14px;
    }

    .admin-panel {
        padding: 14px;
    }

    .admin-page-actions .btn {
        flex: 1;
    }

    .admin-topbar-link span {
        display: none;
    }

    .admin-table td {
        align-items: flex-start;
        text-align: left;
    }

    .admin-table td[data-label] {
        flex-direction: column;
        gap: 3px;
    }

    .admin-table td::before {
        width: 100%;
    }

    .admin-row-actions {
        justify-content: flex-start;
    }

    .admin-access-dates {
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
