@charset "UTF-8";

:root {
    --cat-ink: #07070b;
    --cat-ink-soft: #111118;
    --cat-paper: #f3f1ea;
    --cat-paper-bright: #fffef8;
    --cat-lime: #c8ff00;
    --cat-pink: #ff2bd6;
    --cat-cyan: #00e7ff;
    --cat-violet: #6c35ff;
    --cat-muted: #a7a4b1;
    --cat-line: rgba(255, 255, 255, 0.14);
    --cat-radius: 2px;
}

html {
    scroll-behavior: smooth;
}

body.rave-page {
    margin: 0;
    background: var(--cat-paper);
    color: var(--cat-ink);
    font-family: "Circular Std Book", "Helvetica Neue", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    overflow-x: hidden;
}

.rave-page *,
.rave-page *::before,
.rave-page *::after,
.site-header *,
.site-footer * {
    box-sizing: border-box;
}

.rave-page h1,
.rave-page h2,
.rave-page h3,
.rave-page h4 {
    color: inherit;
    font-family: "Circular Std Black", "Arial Black", sans-serif;
    letter-spacing: -0.045em;
    margin-top: 0;
}

.rave-page em {
    color: var(--cat-lime);
    font-style: normal;
}

.site-container {
    max-width: 1480px;
    margin: 0 auto;
    padding-left: clamp(22px, 4vw, 68px);
    padding-right: clamp(22px, 4vw, 68px);
}

.section-pad {
    padding-top: clamp(88px, 10vw, 160px);
    padding-bottom: clamp(88px, 10vw, 160px);
}

/* Shared navigation */
.site-header {
    height: 0;
    position: relative;
    z-index: 1040;
}

.site-navbar {
    min-height: 78px;
    padding: 13px clamp(20px, 4vw, 68px);
    background: rgba(7, 7, 11, 0.8);
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: min-height 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.site-navbar.is-scrolled {
    min-height: 68px;
    background: rgba(7, 7, 11, 0.96);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}

.site-brand {
    align-items: center;
    display: inline-flex;
    gap: 12px;
    margin: 0;
    padding: 0;
}

.brand-mark {
    align-items: center;
    border: 2px solid var(--cat-lime);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    position: relative;
    width: 42px;
}

.brand-mark::after {
    background: var(--cat-cyan);
    bottom: 2px;
    content: "";
    height: 2px;
    left: 8px;
    position: absolute;
    right: 8px;
}

.brand-mark span {
    background: var(--cat-pink);
    border-radius: 50%;
    height: 9px;
    margin-top: 11px;
    width: 9px;
}

.brand-type {
    color: #fff;
    display: flex;
    flex-direction: column;
    font-family: "Circular Std Black", "Arial Black", sans-serif;
    font-size: 18px;
    letter-spacing: 0.08em;
    line-height: 1;
}

.brand-type small {
    color: var(--cat-muted);
    font-family: "Circular Std Book", sans-serif;
    font-size: 8px;
    letter-spacing: 0.34em;
    margin-top: 5px;
}

.site-nav-links .nav-link {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin: 0 4px;
    padding: 11px 10px !important;
    text-transform: uppercase;
    transition: color 180ms ease;
}

.site-nav-links .nav-link:hover,
.site-nav-links .nav-link:focus,
.site-nav-links .nav-link[aria-current="page"] {
    color: var(--cat-lime) !important;
}

.nav-cta {
    background: var(--cat-lime);
    border: 1px solid var(--cat-lime);
    border-radius: var(--cat-radius);
    color: var(--cat-ink) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    padding: 12px 16px;
    text-transform: uppercase;
}

.nav-cta:hover,
.nav-cta:focus {
    background: #fff;
    border-color: #fff;
    color: var(--cat-ink) !important;
    transform: translateY(-1px);
}

.site-navbar .navbar-toggler {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 2px;
    display: none;
    gap: 8px;
    padding: 7px 10px;
}

.menu-label {
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.site-navbar .navbar-toggler-icon {
    height: 20px;
    width: 20px;
}

/* Authenticated operations navigation */
.ops-sidebar {
    background: #0d0d13 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
    height: calc(100vh - 78px);
    padding-top: 22px;
    top: 78px;
}

.dashboard-main-wrapper {
    padding-top: 78px;
}

.ops-sidebar-heading {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    margin: 0 20px 14px;
    padding: 0 5px 20px;
}

.ops-sidebar-heading span {
    color: #fff;
    font-family: "Circular Std Black", sans-serif;
    font-size: 12px;
    letter-spacing: 0.08em;
}

.ops-sidebar-heading small {
    color: var(--cat-lime);
    font-family: monospace;
    font-size: 8px;
    letter-spacing: 0.16em;
    margin-top: 5px;
}

.ops-sidebar .navbar {
    background: transparent !important;
    padding: 0 14px;
}

.ops-sidebar .nav-item {
    margin-bottom: 3px;
}

.ops-sidebar .nav-link {
    align-items: center;
    border-radius: 2px;
    color: #a7a4b1 !important;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.025em;
    padding: 11px 12px !important;
}

.ops-sidebar .nav-link:hover,
.ops-sidebar .nav-link:focus {
    background: rgba(200, 255, 0, 0.08);
    color: var(--cat-lime) !important;
}

.ops-icon {
    color: var(--cat-cyan);
    display: inline-block;
    font-family: monospace;
    font-size: 17px;
    margin-right: 11px;
    text-align: center;
    width: 20px;
}

.ops-toggle::after {
    color: #5c5963;
    content: "+";
    font-family: monospace;
    margin-left: auto;
}

.ops-toggle[aria-expanded="true"]::after {
    content: "−";
}

.ops-submenu {
    border-left: 1px solid rgba(200, 255, 0, 0.35);
    margin: 4px 0 8px 22px;
    padding-left: 8px;
}

.ops-submenu .nav-link {
    font-size: 11px;
    padding: 8px 12px !important;
}

.ops-menu-label {
    color: #5f5c68;
    font-family: monospace;
    font-size: 8px;
    letter-spacing: 0.14em;
    padding: 14px 13px 7px;
    text-transform: uppercase;
}

.ops-store-label {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    margin-top: 15px;
    padding-top: 24px;
}

.ops-sidebar .navbar-toggler {
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 11px;
    letter-spacing: 0.08em;
    margin: 12px 0;
    text-transform: uppercase;
    width: 100%;
}

/* Reusable type and controls */
.eyebrow {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: 11px;
    font-weight: 800;
    gap: 10px;
    letter-spacing: 0.18em;
    margin-bottom: 24px;
    text-transform: uppercase;
}

.eyebrow span {
    background: var(--cat-lime);
    box-shadow: 0 0 16px rgba(200, 255, 0, 0.65);
    display: block;
    height: 7px;
    transform: rotate(45deg);
    width: 7px;
}

.eyebrow-dark {
    color: var(--cat-ink);
}

.btn-signal {
    align-items: center;
    background: var(--cat-lime);
    border: 1px solid var(--cat-lime);
    border-radius: var(--cat-radius);
    color: var(--cat-ink) !important;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 20px;
    justify-content: center;
    letter-spacing: 0.09em;
    min-height: 54px;
    padding: 15px 22px;
    text-transform: uppercase;
    transition: background 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.btn-signal span {
    font-size: 18px;
    line-height: 1;
}

.btn-signal:hover,
.btn-signal:focus {
    background: #fff;
    border-color: #fff;
    box-shadow: 8px 8px 0 var(--cat-pink);
    color: var(--cat-ink) !important;
    transform: translate(-3px, -3px);
}

.text-link {
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.09em;
    padding-bottom: 5px;
    text-transform: uppercase;
}

.text-link:hover,
.text-link:focus {
    border-color: var(--cat-lime);
    color: var(--cat-lime) !important;
}

.text-link-lime {
    border-color: rgba(200, 255, 0, 0.55);
    color: var(--cat-lime) !important;
}

.text-link-dark {
    border-color: rgba(7, 7, 11, 0.4);
    color: var(--cat-ink) !important;
}

.text-link-dark:hover,
.text-link-dark:focus {
    border-color: var(--cat-violet);
    color: var(--cat-violet) !important;
}

/* Landing hero */
.rave-hero {
    align-items: center;
    background: var(--cat-ink);
    color: #fff;
    display: flex;
    min-height: max(760px, 100vh);
    overflow: hidden;
    padding: 128px 0 94px;
    position: relative;
}

.hero-grid,
.cta-grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 48px 48px;
    inset: 0;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9), transparent 92%);
    pointer-events: none;
    position: absolute;
}

.hero-glow {
    border-radius: 50%;
    filter: blur(10px);
    opacity: 0.18;
    pointer-events: none;
    position: absolute;
}

.hero-glow-one {
    background: var(--cat-violet);
    height: 520px;
    left: -260px;
    top: 5%;
    width: 520px;
}

.hero-glow-two {
    background: var(--cat-pink);
    bottom: -280px;
    height: 600px;
    right: -220px;
    width: 600px;
}

.hero-container {
    position: relative;
    width: 100%;
    z-index: 2;
}

.hero-copy {
    padding-right: clamp(20px, 5vw, 92px);
}

.hero-copy h1 {
    color: #fff;
    font-size: clamp(62px, 8vw, 126px);
    line-height: 0.82;
    margin-bottom: 38px;
    text-transform: uppercase;
}

.hero-copy h1 em {
    display: inline-block;
    transform: translateX(clamp(10px, 4vw, 72px));
}

.hero-lede {
    color: #c3c0ca;
    font-size: clamp(18px, 1.5vw, 23px);
    line-height: 1.5;
    max-width: 640px;
}

.hero-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-top: 38px;
}

.hero-specs {
    border-top: 1px solid var(--cat-line);
    display: flex;
    flex-wrap: wrap;
    gap: 10px 34px;
    margin-top: 58px;
    max-width: 670px;
    padding-top: 18px;
}

.hero-specs span {
    color: #9b98a4;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.hero-specs b {
    color: var(--cat-cyan);
    margin-right: 7px;
}

.hero-art-column {
    padding-left: clamp(20px, 3vw, 48px);
    position: relative;
}

.hero-poster {
    background:
        radial-gradient(circle at 55% 34%, rgba(108, 53, 255, 0.5), transparent 35%),
        linear-gradient(155deg, #13131d 0%, #09090e 72%);
    border: 1px solid rgba(255, 255, 255, 0.24);
    box-shadow: 22px 22px 0 rgba(200, 255, 0, 0.09), 0 40px 90px rgba(0, 0, 0, 0.45);
    min-height: 590px;
    overflow: hidden;
    padding: 24px;
    position: relative;
    transform: rotate(2.2deg);
}

.hero-poster::before {
    background: repeating-linear-gradient(0deg, transparent 0, transparent 4px, rgba(255, 255, 255, 0.025) 5px);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.poster-meta,
.poster-footer {
    color: #dad7df;
    display: flex;
    font-family: monospace;
    font-size: 9px;
    justify-content: space-between;
    letter-spacing: 0.08em;
    position: relative;
    z-index: 4;
}

.signal-stage {
    height: 330px;
    left: 50%;
    position: absolute;
    top: 56px;
    transform: translateX(-50%);
    width: 330px;
}

.orbit {
    border: 1px solid rgba(0, 231, 255, 0.5);
    border-radius: 50%;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.orbit::after {
    background: var(--cat-lime);
    border-radius: 50%;
    box-shadow: 0 0 18px var(--cat-lime);
    content: "";
    height: 7px;
    position: absolute;
    right: 12%;
    top: 12%;
    width: 7px;
}

.orbit-one { height: 292px; width: 292px; animation: cat-spin 18s linear infinite; }
.orbit-two { border-color: rgba(255, 43, 214, 0.45); height: 232px; width: 232px; animation: cat-spin-reverse 14s linear infinite; }
.orbit-three { border-style: dashed; height: 174px; width: 174px; animation: cat-spin 11s linear infinite; }

.signal-beacon {
    background: linear-gradient(155deg, var(--cat-pink), #7919ff 55%, #211551);
    clip-path: polygon(50% 0, 94% 30%, 80% 100%, 20% 100%, 6% 30%);
    filter: drop-shadow(0 0 28px rgba(255, 43, 214, 0.6));
    height: 156px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 98px;
    z-index: 3;
}

.beacon-eye {
    background: var(--cat-lime);
    border: 7px solid var(--cat-ink);
    border-radius: 50%;
    box-shadow: 0 0 24px rgba(200, 255, 0, 0.85);
    height: 34px;
    left: 50%;
    position: absolute;
    top: 38px;
    transform: translateX(-50%);
    width: 34px;
}

.beacon-cut {
    border: 1px solid rgba(255, 255, 255, 0.7);
    bottom: 25px;
    height: 25px;
    left: 22px;
    position: absolute;
    right: 22px;
}

.signal-wave {
    border: 2px solid var(--cat-lime);
    border-bottom-color: transparent;
    border-left-color: transparent;
    border-radius: 50%;
    height: 50px;
    position: absolute;
    right: 70px;
    top: 102px;
    transform: rotate(-18deg);
    width: 50px;
}

.wave-two {
    height: 76px;
    right: 54px;
    top: 87px;
    width: 76px;
}

.poster-title {
    bottom: 59px;
    display: flex;
    flex-direction: column;
    font-family: "Circular Std Black", "Arial Black", sans-serif;
    font-size: clamp(48px, 4vw, 65px);
    left: 23px;
    letter-spacing: -0.07em;
    line-height: 0.76;
    position: absolute;
    text-transform: uppercase;
    z-index: 5;
}

.outline-word {
    color: transparent;
    -webkit-text-stroke: 1.5px var(--cat-lime);
}

.poster-footer {
    bottom: 20px;
    left: 24px;
    position: absolute;
    right: 24px;
}

.status-pill {
    align-items: center;
    display: flex;
    gap: 6px;
}

.status-pill i {
    background: var(--cat-lime);
    border-radius: 50%;
    box-shadow: 0 0 9px var(--cat-lime);
    height: 6px;
    width: 6px;
}

.hero-sticker {
    align-items: center;
    background: var(--cat-lime);
    border-radius: 50%;
    color: var(--cat-ink);
    display: flex;
    font-family: "Circular Std Black", sans-serif;
    font-size: 12px;
    height: 82px;
    justify-content: center;
    letter-spacing: 0.05em;
    line-height: 1;
    position: absolute;
    text-align: center;
    width: 82px;
    z-index: 6;
}

.sticker-one { left: -9px; top: 19%; transform: rotate(-14deg); }
.sticker-two { background: var(--cat-pink); bottom: 6%; color: #fff; right: -22px; transform: rotate(9deg); }

.scroll-cue {
    align-items: center;
    bottom: 24px;
    color: #85828e !important;
    display: flex;
    font-size: 9px;
    font-weight: 800;
    gap: 12px;
    left: clamp(22px, 4vw, 68px);
    letter-spacing: 0.18em;
    position: absolute;
    text-transform: uppercase;
    z-index: 3;
}

.scroll-cue span {
    border: 1px solid #595762;
    border-radius: 20px;
    height: 28px;
    position: relative;
    width: 16px;
}

.scroll-cue span::after {
    background: var(--cat-lime);
    border-radius: 50%;
    content: "";
    height: 3px;
    left: 5px;
    position: absolute;
    top: 5px;
    width: 3px;
    animation: scroll-dot 1.6s ease infinite;
}

.signal-marquee {
    background: var(--cat-lime);
    color: var(--cat-ink);
    overflow: hidden;
    padding: 15px 0;
    transform: rotate(-0.7deg) scale(1.01);
}

.marquee-track {
    align-items: center;
    animation: marquee-move 22s linear infinite;
    display: flex;
    gap: 26px;
    min-width: max-content;
    white-space: nowrap;
}

.marquee-track span {
    font-family: "Circular Std Black", sans-serif;
    font-size: 14px;
    letter-spacing: 0.11em;
}

.marquee-track i {
    font-size: 13px;
    font-style: normal;
}

/* Collection */
.collection-section {
    background: var(--cat-paper);
}

.section-heading {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-bottom: clamp(50px, 6vw, 86px);
}

.section-heading h2 {
    color: var(--cat-ink);
    font-size: clamp(47px, 6vw, 86px);
    line-height: 0.93;
    margin-bottom: 0;
    text-transform: uppercase;
}

.section-heading h2 em {
    color: var(--cat-violet);
}

.section-heading > p {
    color: #686572;
    font-size: 17px;
    line-height: 1.6;
    margin: 0 0 8px 40px;
    max-width: 470px;
}

.section-heading.compact {
    margin-bottom: 62px;
}

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

.collection-card {
    background: var(--cat-paper-bright);
    border: 1px solid #d7d4cb;
    color: var(--cat-ink) !important;
    display: block;
    overflow: hidden;
    position: relative;
    transition: transform 250ms ease, box-shadow 250ms ease;
}

.collection-card:hover,
.collection-card:focus {
    box-shadow: 12px 12px 0 var(--cat-ink);
    color: var(--cat-ink) !important;
    transform: translate(-6px, -6px);
}

.collection-art {
    height: 390px;
    overflow: hidden;
    position: relative;
}

.collection-copy {
    min-height: 275px;
    padding: 30px;
    position: relative;
}

.collection-index {
    color: #6e6a75;
    font-family: monospace;
    font-size: 10px;
    letter-spacing: 0.12em;
}

.collection-copy h3 {
    font-size: clamp(38px, 3.5vw, 58px);
    line-height: 0.88;
    margin: 24px 0 20px;
    text-transform: uppercase;
}

.collection-copy p {
    color: #686572;
    line-height: 1.5;
    margin-bottom: 0;
    max-width: 290px;
}

.card-arrow {
    align-items: center;
    border: 1px solid #bcb8ae;
    bottom: 28px;
    display: flex;
    font-size: 24px;
    height: 48px;
    justify-content: center;
    position: absolute;
    right: 28px;
    transition: background 180ms ease, color 180ms ease;
    width: 48px;
}

.collection-card:hover .card-arrow {
    background: var(--cat-ink);
    color: var(--cat-lime);
}

.totem-art {
    background: #0b0b11;
}

.art-grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.065) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.065) 1px, transparent 1px);
    background-size: 30px 30px;
    inset: 0;
    position: absolute;
}

.mini-orbit {
    border: 1px solid var(--cat-cyan);
    border-radius: 50%;
    height: 255px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 255px;
}

.mini-orbit-two {
    border-color: rgba(255, 43, 214, 0.75);
    height: 195px;
    width: 195px;
}

.totem-object {
    background: linear-gradient(155deg, var(--cat-pink), var(--cat-violet));
    clip-path: polygon(50% 0, 94% 25%, 80% 100%, 20% 100%, 6% 25%);
    filter: drop-shadow(0 0 22px rgba(255, 43, 214, 0.75));
    height: 170px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(4deg);
    width: 105px;
}

.totem-object i {
    background: var(--cat-lime);
    border: 7px solid #11111a;
    border-radius: 50%;
    height: 35px;
    left: 50%;
    position: absolute;
    top: 42px;
    transform: translateX(-50%);
    width: 35px;
}

.coordinate-label {
    bottom: 16px;
    color: rgba(255, 255, 255, 0.75);
    font-family: monospace;
    font-size: 9px;
    left: 17px;
    letter-spacing: 0.08em;
    position: absolute;
}

.hat-art {
    background: var(--cat-pink);
}

.hat-art::before {
    background-image: radial-gradient(rgba(255, 255, 255, 0.34) 1px, transparent 1px);
    background-size: 12px 12px;
    content: "";
    inset: 0;
    opacity: 0.28;
    position: absolute;
}

.scan-line {
    background: var(--cat-lime);
    box-shadow: 0 0 26px var(--cat-lime);
    height: 2px;
    left: 7%;
    position: absolute;
    right: 7%;
    top: 27%;
    transform: rotate(-7deg);
}

.hat-crown {
    background: var(--cat-ink);
    border-radius: 48% 48% 15% 15%;
    bottom: 104px;
    height: 170px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) rotate(-5deg);
    width: 185px;
}

.hat-brim {
    background: var(--cat-ink);
    border-radius: 50%;
    bottom: 80px;
    height: 48px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) rotate(-5deg);
    width: 315px;
}

.hat-band {
    border: 8px solid var(--cat-lime);
    border-bottom: 0;
    border-radius: 50% 50% 0 0;
    bottom: 111px;
    height: 52px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) rotate(-5deg);
    width: 187px;
    z-index: 2;
}

.spark {
    color: var(--cat-lime);
    font-size: 34px;
    position: absolute;
}

.spark-one { left: 13%; top: 18%; }
.spark-two { bottom: 19%; right: 12%; }

.print-art {
    background: #e4e0d5;
    perspective: 600px;
}

.print-art::before {
    background: repeating-linear-gradient(145deg, transparent 0, transparent 13px, rgba(7, 7, 11, 0.06) 14px);
    content: "";
    inset: 0;
    position: absolute;
}

.print-cube {
    background: var(--cat-violet);
    border: 2px solid var(--cat-ink);
    box-shadow: 10px 10px 0 var(--cat-ink);
    height: 110px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(36deg) skew(-8deg, -8deg);
    width: 110px;
}

.cube-two { background: var(--cat-lime); margin-left: -73px; margin-top: 64px; transform: translate(-50%, -50%) rotate(24deg) skew(-8deg, -8deg) scale(0.62); }
.cube-three { background: var(--cat-pink); margin-left: 85px; margin-top: 58px; transform: translate(-50%, -50%) rotate(51deg) skew(-8deg, -8deg) scale(0.48); }

.axis {
    font-family: monospace;
    font-size: 11px;
    font-weight: 800;
    position: absolute;
}

.axis-x { bottom: 20px; right: 24px; }
.axis-y { bottom: 42px; right: 24px; }
.axis-z { bottom: 64px; right: 24px; }

/* Mission */
.mission-section {
    background: var(--cat-ink);
    color: #fff;
    overflow: hidden;
    padding: clamp(90px, 11vw, 170px) 0;
    position: relative;
}

.mission-noise {
    background: radial-gradient(circle at 15% 45%, rgba(108, 53, 255, 0.2), transparent 34%), radial-gradient(circle at 90% 8%, rgba(255, 43, 214, 0.14), transparent 28%);
    inset: 0;
    position: absolute;
}

.mission-section .site-container {
    position: relative;
    z-index: 1;
}

.mission-visual {
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    max-width: 580px;
    position: relative;
}

.mission-ring {
    border: 1px solid rgba(0, 231, 255, 0.55);
    border-radius: 50%;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.mission-ring::before,
.mission-ring::after {
    background: rgba(0, 231, 255, 0.8);
    content: "";
    position: absolute;
}

.mission-ring::before { height: 1px; left: -8%; right: -8%; top: 50%; }
.mission-ring::after { bottom: -8%; left: 50%; top: -8%; width: 1px; }
.ring-a { height: 92%; width: 92%; }
.ring-b { border-color: rgba(255, 43, 214, 0.6); height: 68%; width: 68%; }
.ring-c { border-color: rgba(200, 255, 0, 0.7); border-style: dashed; height: 43%; width: 43%; animation: cat-spin 22s linear infinite; }

.mission-core {
    align-items: center;
    background: var(--cat-pink);
    border-radius: 50%;
    box-shadow: 0 0 70px rgba(255, 43, 214, 0.38);
    display: flex;
    height: 24%;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 24%;
}

.mission-core span {
    color: #fff;
    font-family: "Circular Std Black", sans-serif;
    font-size: clamp(13px, 1.3vw, 19px);
    letter-spacing: 0.03em;
    line-height: 0.9;
    text-align: center;
}

.mission-tag {
    background: var(--cat-lime);
    color: var(--cat-ink);
    font-family: monospace;
    font-size: 9px;
    padding: 7px 10px;
    position: absolute;
}

.tag-north { left: 13%; top: 8%; }
.tag-south { bottom: 10%; right: 5%; }

.mission-section h2 {
    color: #fff;
    font-size: clamp(44px, 5vw, 76px);
    line-height: 0.95;
    margin-bottom: 30px;
    text-transform: uppercase;
}

.mission-copy {
    color: #aaa7b2;
    font-size: 17px;
    line-height: 1.65;
}

.feature-list {
    list-style: none;
    margin: 42px 0 0;
    padding: 0;
}

.feature-list li {
    align-items: flex-start;
    border-top: 1px solid var(--cat-line);
    display: flex;
    gap: 22px;
    padding: 18px 0;
}

.feature-list li > span {
    color: var(--cat-cyan);
    font-family: monospace;
    font-size: 10px;
    margin-top: 5px;
}

.feature-list b,
.feature-list small {
    display: block;
}

.feature-list b {
    color: #fff;
    font-size: 15px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.feature-list small {
    color: #777480;
    font-size: 13px;
    margin-top: 3px;
}

/* Process */
.process-section {
    background: #dedbd2;
}

.process-grid {
    border-bottom: 1px solid #bcb8ae;
    border-top: 1px solid #bcb8ae;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.process-step {
    min-height: 370px;
    padding: 32px clamp(24px, 3vw, 48px) 38px;
    position: relative;
}

.process-step + .process-step {
    border-left: 1px solid #bcb8ae;
}

.step-number {
    font-family: monospace;
    font-size: 10px;
    letter-spacing: 0.12em;
}

.step-icon {
    align-items: center;
    border: 1px solid var(--cat-ink);
    border-radius: 50%;
    display: flex;
    font-size: 32px;
    height: 92px;
    justify-content: center;
    margin: 52px 0 42px;
    transition: background 200ms ease, color 200ms ease, transform 200ms ease;
    width: 92px;
}

.process-step:hover .step-icon {
    background: var(--cat-lime);
    transform: rotate(12deg);
}

.process-step h3 {
    font-size: 24px;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.process-step p {
    color: #65616c;
    line-height: 1.55;
    max-width: 330px;
}

.final-cta {
    background: var(--cat-violet);
    color: #fff;
    overflow: hidden;
    padding: clamp(92px, 11vw, 165px) 0;
    position: relative;
    text-align: center;
}

.final-cta .cta-grid {
    background-size: 38px 38px;
    mask-image: none;
    opacity: 0.45;
}

.final-cta .site-container {
    position: relative;
    z-index: 2;
}

.final-cta .eyebrow {
    justify-content: center;
}

.final-cta h2 {
    color: #fff;
    font-size: clamp(54px, 8vw, 116px);
    line-height: 0.86;
    margin: 0 auto 48px;
    text-transform: uppercase;
}

.final-cta h2 em {
    color: var(--cat-lime);
}

/* Footer */
.site-footer {
    background: var(--cat-ink);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    padding: 68px 0 26px;
}

.footer-grid {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
}

.footer-brand {
    align-items: center;
    color: #fff !important;
    display: inline-flex;
    font-family: "Circular Std Black", sans-serif;
    font-size: 20px;
    gap: 12px;
    letter-spacing: 0.08em;
}

.brand-mark-small {
    height: 30px;
    width: 33px;
}

.brand-mark-small span { height: 6px; margin-top: 8px; width: 6px; }

.footer-grid p {
    color: #777480;
    font-size: 13px;
    margin: 16px 0 0;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 34px;
}

.footer-links a {
    color: #a6a3ad !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.footer-links a:hover { color: var(--cat-lime) !important; }

.footer-meta {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #5f5c66;
    display: flex;
    font-family: monospace;
    font-size: 9px;
    justify-content: space-between;
    letter-spacing: 0.08em;
    margin-top: 58px;
    padding-top: 20px;
    text-transform: uppercase;
}

/* Interior page hero */
.page-hero {
    background: var(--cat-ink);
    color: #fff;
    min-height: 690px;
    overflow: hidden;
    padding: 180px 0 100px;
    position: relative;
}

.page-hero .site-container {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    min-height: 390px;
    position: relative;
    z-index: 2;
}

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

.page-hero h1 {
    color: #fff;
    font-size: clamp(64px, 9vw, 132px);
    line-height: 0.82;
    margin: 0;
    text-transform: uppercase;
}

.page-hero-copy > p:last-child {
    color: #aaa7b2;
    font-size: 19px;
    line-height: 1.55;
    margin: 40px 0 0;
    max-width: 620px;
}

.catalog-code {
    border-left: 1px solid var(--cat-line);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    margin-left: 40px;
    padding-left: 25px;
}

.catalog-code span,
.catalog-code small {
    color: #777480;
    font-family: monospace;
    font-size: 9px;
    letter-spacing: 0.1em;
}

.catalog-code strong {
    color: var(--cat-lime);
    font-family: monospace;
    font-size: 19px;
    margin: 6px 0 22px;
}

.product-jump-nav {
    background: var(--cat-lime);
    position: sticky;
    top: 68px;
    z-index: 100;
}

.product-jump-nav .site-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding-bottom: 0;
    padding-top: 0;
}

.product-jump-nav a {
    border-left: 1px solid rgba(7, 7, 11, 0.25);
    color: var(--cat-ink) !important;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    padding: 18px 22px;
    text-align: center;
    text-transform: uppercase;
    transition: background 180ms ease, color 180ms ease;
}

.product-jump-nav a:last-child { border-right: 1px solid rgba(7, 7, 11, 0.25); }
.product-jump-nav a:hover { background: var(--cat-ink); color: var(--cat-lime) !important; }
.product-jump-nav a span { font-family: monospace; margin-right: 7px; opacity: 0.55; }

.product-feature {
    --slot-bg: #111118;
    --slot-fg: #ffffff;
    --slot-line: rgba(255, 255, 255, 0.16);
    --slot-muted: #9d9aa7;
    --slot-accent: var(--cat-lime);
    padding: clamp(94px, 10vw, 158px) 0;
    scroll-margin-top: 118px;
}

.product-feature-dark {
    background: #0b0b10;
    color: #fff;
}

.product-feature-light {
    --slot-bg: var(--cat-paper-bright);
    --slot-fg: var(--cat-ink);
    --slot-line: rgba(7, 7, 11, 0.18);
    --slot-muted: #615e69;
    --slot-accent: var(--cat-violet);
    background: var(--cat-paper);
    color: var(--cat-ink);
}

.product-feature-violet {
    --slot-bg: #170c3d;
    --slot-fg: #ffffff;
    --slot-line: rgba(255, 255, 255, 0.18);
    --slot-muted: #b9add9;
    --slot-accent: var(--cat-cyan);
    background: #241056;
    color: #fff;
}

.product-number {
    color: var(--cat-cyan);
    font-family: monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    margin-bottom: 25px;
}

.product-number-dark { color: var(--cat-violet); }

.product-feature h2 {
    color: inherit;
    font-size: clamp(54px, 6vw, 88px);
    line-height: 0.86;
    margin-bottom: 32px;
    text-transform: uppercase;
}

.product-feature-light h2 em { color: var(--cat-violet); }

.product-lede {
    color: #aaa7b2;
    font-size: 17px;
    line-height: 1.65;
}

.product-lede-dark { color: #615e69; }

.spec-list {
    margin: 40px 0 34px;
}

.spec-list > div {
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    display: flex;
    gap: 20px;
    padding: 17px 0;
}

.spec-list > div > span {
    color: var(--cat-lime);
    font-family: monospace;
    font-size: 10px;
    padding-top: 4px;
}

.spec-list p { margin: 0; }
.spec-list b { color: #fff; display: block; font-size: 14px; letter-spacing: 0.025em; text-transform: uppercase; }
.spec-list small { color: #777480; display: block; font-size: 13px; line-height: 1.45; margin-top: 4px; }

.spec-list-dark > div { border-color: rgba(7, 7, 11, 0.17); }
.spec-list-dark > div > span { color: var(--cat-violet); }
.spec-list-dark b { color: var(--cat-ink); }
.spec-list-dark small { color: #686572; }

/* Interactive cart preview */
.cart-preview-banner {
    background: var(--cat-paper-bright);
    border-bottom: 1px solid rgba(7, 7, 11, 0.16);
    color: var(--cat-ink);
    padding: 34px 0;
}

.cart-preview-banner-inner {
    align-items: center;
    display: flex;
    gap: 48px;
    justify-content: space-between;
}

.cart-preview-banner .commerce-kicker {
    color: var(--cat-violet);
    margin-bottom: 10px;
}

.cart-preview-banner h2 {
    font-size: clamp(30px, 3vw, 44px);
    line-height: 0.95;
    margin-bottom: 13px;
    text-transform: uppercase;
}

.cart-preview-banner p:last-child {
    color: #5f5b68;
    line-height: 1.5;
    margin: 0;
    max-width: 760px;
}

.cart-preview-open,
.cart-launch {
    align-items: center;
    background: var(--cat-ink);
    border: 1px solid var(--cat-ink);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-family: monospace;
    font-size: 10px;
    font-weight: 700;
    gap: 20px;
    justify-content: space-between;
    letter-spacing: 0.08em;
    min-height: 50px;
    padding: 13px 16px;
    text-transform: uppercase;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.cart-preview-open strong,
.cart-launch strong {
    align-items: center;
    background: var(--cat-lime);
    border-radius: 50%;
    color: var(--cat-ink);
    display: inline-flex;
    font-family: monospace;
    font-size: 10px;
    height: 30px;
    justify-content: center;
    letter-spacing: 0;
    min-width: 30px;
    padding: 0 7px;
}

.cart-preview-open:hover,
.cart-launch:hover {
    background: var(--cat-violet);
    border-color: var(--cat-violet);
    color: #fff;
    transform: translateY(-2px);
}

.cart-launch {
    bottom: 22px;
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.34);
    position: fixed;
    right: 22px;
    z-index: 1060;
}

.cart-backdrop {
    background: rgba(7, 7, 11, 0.74);
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity 220ms ease, visibility 220ms ease;
    visibility: hidden;
    z-index: 1080;
}

.cart-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.cart-drawer {
    background: #0b0b10;
    box-shadow: -28px 0 70px rgba(0, 0, 0, 0.42);
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    max-width: 100vw;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(104%);
    transition: transform 240ms ease, visibility 240ms ease;
    visibility: hidden;
    width: 460px;
    z-index: 1090;
}

.cart-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
}

body.cart-is-open {
    overflow: hidden;
}

.cart-drawer-header {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    display: flex;
    justify-content: space-between;
    padding: 25px 26px 23px;
}

.cart-drawer-header p {
    color: var(--cat-cyan);
    font-family: monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin: 0 0 4px;
    text-transform: uppercase;
}

.cart-drawer-header h2 {
    color: #fff;
    font-size: 34px;
    line-height: 1;
    margin: 0;
    text-transform: uppercase;
}

.cart-close {
    align-items: center;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 27px;
    height: 48px;
    justify-content: center;
    line-height: 1;
    width: 48px;
}

.cart-payment-notice {
    background: rgba(200, 255, 0, 0.09);
    border-bottom: 1px solid rgba(200, 255, 0, 0.32);
    padding: 20px 26px;
}

.cart-payment-notice span {
    color: var(--cat-lime);
    display: block;
    font-family: monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.cart-payment-notice strong {
    display: block;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cart-payment-notice p {
    color: #b8b5c1;
    font-size: 12px;
    line-height: 1.45;
    margin: 6px 0 0;
}

.cart-drawer-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 14px 26px 26px;
}

.cart-empty {
    align-items: flex-start;
    border: 1px dashed rgba(255, 255, 255, 0.2);
    display: flex;
    flex-direction: column;
    margin-top: 12px;
    min-height: 240px;
    padding: 28px;
}

.cart-empty > span {
    color: var(--cat-lime);
    font-family: monospace;
    font-size: 11px;
    margin-bottom: auto;
}

.cart-empty h3 {
    color: #fff;
    font-size: 26px;
    line-height: 1;
    margin: 38px 0 10px;
    text-transform: uppercase;
}

.cart-empty p {
    color: #8f8c99;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.cart-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cart-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
    display: grid;
    gap: 16px;
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 20px 0;
}

.cart-item-index {
    align-items: center;
    border: 1px solid rgba(200, 255, 0, 0.5);
    color: var(--cat-lime);
    display: inline-flex;
    font-family: monospace;
    font-size: 9px;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.cart-item-copy h3 {
    color: #fff;
    font-size: 19px;
    line-height: 1.1;
    margin: 1px 0 5px;
    text-transform: uppercase;
}

.cart-item-copy > p {
    color: #777481;
    font-family: monospace;
    font-size: 8px;
    letter-spacing: 0.08em;
    margin: 0 0 14px;
    text-transform: uppercase;
}

.cart-item-controls {
    align-items: center;
    display: flex;
    gap: 7px;
}

.cart-quantity-control {
    align-items: center;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 18px;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.cart-quantity-control:disabled {
    cursor: not-allowed;
    opacity: 0.38;
}

.cart-quantity-value {
    align-items: center;
    display: inline-flex;
    font-family: monospace;
    font-size: 11px;
    height: 38px;
    justify-content: center;
    min-width: 32px;
}

.cart-item-remove {
    background: transparent;
    border: 0;
    color: #9f9ca8;
    cursor: pointer;
    font-family: monospace;
    font-size: 8px;
    letter-spacing: 0.08em;
    margin-left: auto;
    min-height: 38px;
    padding: 0 2px;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-transform: uppercase;
}

.cart-drawer-footer {
    background: #111118;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    padding: 22px 26px 24px;
}

.cart-summary {
    display: grid;
    gap: 7px 16px;
    grid-template-columns: 1fr auto;
}

.cart-summary span {
    color: #8f8c99;
    font-family: monospace;
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.cart-summary strong {
    color: #fff;
    font-family: monospace;
    font-size: 11px;
    text-transform: uppercase;
}

.cart-drawer-footer > p {
    color: #777481;
    font-size: 11px;
    line-height: 1.45;
    margin: 14px 0 17px;
}

.cart-actions {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1fr;
}

.cart-action {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #fff;
    cursor: pointer;
    font-family: monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
    min-height: 46px;
    padding: 11px 12px;
    text-transform: uppercase;
}

.cart-action-primary {
    background: var(--cat-lime);
    border-color: var(--cat-lime);
    color: var(--cat-ink);
    grid-column: 1 / -1;
}

.cart-action-disabled {
    border-style: dashed;
    grid-column: 1 / -1;
}

.cart-action:disabled {
    cursor: not-allowed;
    opacity: 0.46;
}

.cart-action-primary:not(:disabled):hover {
    background: #fff;
    border-color: #fff;
}

.cart-action:not(.cart-action-primary):not(:disabled):hover,
.cart-close:hover,
.cart-quantity-control:not(:disabled):hover {
    border-color: var(--cat-cyan);
    color: var(--cat-cyan);
}

.cart-clear {
    background: transparent;
    border: 0;
    color: #918e9b;
    cursor: pointer;
    display: block;
    font-family: monospace;
    font-size: 8px;
    letter-spacing: 0.09em;
    margin: 14px auto 0;
    min-height: 30px;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-transform: uppercase;
}

.cart-clear:disabled {
    cursor: not-allowed;
    opacity: 0.4;
}

.cart-preview-open:focus-visible,
.cart-launch:focus-visible,
.cart-close:focus-visible,
.cart-action:focus-visible,
.cart-clear:focus-visible,
.cart-quantity-control:focus-visible,
.cart-item-remove:focus-visible {
    outline: 3px solid var(--cat-cyan);
    outline-offset: 3px;
}

.prebuilt-card.is-shop-ready:hover {
    border-color: var(--slot-accent);
    transform: translateY(-4px);
}

.prebuilt-card.has-cart-item {
    border-color: var(--slot-accent);
    box-shadow: inset 0 0 0 1px var(--slot-accent);
}

.slot-status-cart {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.slot-status-cart::before {
    background: currentColor;
    border-radius: 50%;
    box-shadow: 0 0 10px currentColor;
    content: "";
    height: 6px;
    width: 6px;
}

/* Reusable prebuilt-product and demo-video slots */
.collection-commerce {
    border-top: 1px solid var(--slot-line);
    margin-top: clamp(78px, 9vw, 132px);
    padding-top: clamp(48px, 6vw, 80px);
}

.commerce-header {
    align-items: flex-end;
    display: flex;
    gap: 48px;
    justify-content: space-between;
    margin-bottom: 34px;
}

.commerce-kicker {
    color: var(--slot-accent);
    font-family: monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    margin: 0 0 17px;
    text-transform: uppercase;
}

.commerce-header h3 {
    color: var(--slot-fg);
    font-size: clamp(38px, 4vw, 60px);
    line-height: 0.92;
    margin: 0;
    max-width: 690px;
    text-transform: uppercase;
}

.commerce-header > p {
    color: var(--slot-muted);
    line-height: 1.55;
    margin: 0;
    max-width: 470px;
}

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

.prebuilt-card {
    background: var(--slot-bg);
    border: 1px solid var(--slot-line);
    color: var(--slot-fg);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    transition: border-color 180ms ease, transform 180ms ease;
}

.prebuilt-card.is-live:hover {
    border-color: var(--slot-accent);
    transform: translateY(-4px);
}

.prebuilt-preview {
    --preview-accent: var(--cat-lime);
    align-items: center;
    aspect-ratio: 4 / 3;
    background:
        linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
        radial-gradient(circle at 50% 45%, rgba(108, 53, 255, 0.52), #090910 70%);
    background-size: 24px 24px, 24px 24px, auto;
    border-bottom: 1px solid var(--slot-line);
    display: flex;
    justify-content: center;
    min-height: 240px;
    overflow: hidden;
    position: relative;
}

.design-image-preview img {
    height: 100%;
    object-fit: contain;
    position: absolute;
    width: 100%;
}

.preview-lime { --preview-accent: var(--cat-lime); }
.preview-pink { --preview-accent: var(--cat-pink); }
.preview-cyan { --preview-accent: var(--cat-cyan); }
.preview-violet { --preview-accent: #9b7bff; }

.preview-lime .slot-object { filter: drop-shadow(0 0 25px rgba(200, 255, 0, 0.58)); }
.preview-pink .slot-object { filter: drop-shadow(0 0 25px rgba(255, 43, 214, 0.58)); }
.preview-cyan .slot-object { filter: drop-shadow(0 0 25px rgba(0, 231, 255, 0.58)); }
.preview-violet .slot-object { filter: drop-shadow(0 0 25px rgba(155, 123, 255, 0.64)); }

.slot-index,
.slot-image-note,
.video-timecode {
    font-family: monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.09em;
    position: absolute;
    text-transform: uppercase;
    z-index: 3;
}

.slot-index {
    color: var(--preview-accent);
    left: 17px;
    top: 14px;
}

.slot-image-note {
    bottom: 13px;
    color: rgba(255, 255, 255, 0.54);
    right: 16px;
}

.slot-object {
    color: var(--preview-accent);
    display: block;
    position: relative;
    transform: rotate(5deg);
}

.slot-object-totem {
    background: linear-gradient(90deg, #171721 0 24%, currentColor 25% 35%, #171721 36% 100%);
    border: 4px solid currentColor;
    clip-path: polygon(22% 0, 78% 0, 100% 15%, 88% 100%, 12% 100%, 0 15%);
    height: 142px;
    width: 74px;
}

.slot-object-totem::before {
    background: currentColor;
    clip-path: polygon(50% 0, 100% 45%, 78% 100%, 22% 100%, 0 45%);
    content: "";
    height: 52px;
    left: 8px;
    position: absolute;
    top: 9px;
    width: 50px;
}

.slot-object-totem::after {
    border: 3px solid currentColor;
    border-radius: 50%;
    content: "";
    height: 20px;
    left: 23px;
    position: absolute;
    top: 83px;
    width: 20px;
}

.slot-object-totem i {
    background: currentColor;
    bottom: -13px;
    height: 18px;
    left: 19px;
    position: absolute;
    width: 28px;
}

.slot-object-hat {
    background: currentColor;
    border-radius: 50%;
    height: 42px;
    transform: rotate(-7deg);
    width: 174px;
}

.slot-object-hat::before {
    background: linear-gradient(105deg, #171721 0 32%, currentColor 33% 43%, #171721 44% 100%);
    border: 4px solid currentColor;
    border-radius: 48% 48% 18% 18%;
    bottom: 21px;
    content: "";
    height: 92px;
    left: 39px;
    position: absolute;
    width: 96px;
}

.slot-object-hat::after {
    border: 2px solid #171721;
    border-radius: 50%;
    content: "";
    inset: 9px 20px;
    position: absolute;
}

.slot-object-hat i {
    border: 2px solid currentColor;
    border-radius: 50%;
    height: 148px;
    left: 13px;
    opacity: 0.44;
    position: absolute;
    top: -81px;
    width: 148px;
}

.slot-object-print {
    background: #171721;
    border: 4px solid currentColor;
    clip-path: polygon(50% 0, 96% 24%, 84% 82%, 50% 100%, 15% 82%, 4% 24%);
    height: 132px;
    transform: rotate(10deg);
    width: 132px;
}

.slot-object-print::before,
.slot-object-print::after {
    background: currentColor;
    content: "";
    position: absolute;
}

.slot-object-print::before {
    height: 4px;
    left: -4px;
    top: 46px;
    transform: rotate(27deg);
    width: 140px;
}

.slot-object-print::after {
    height: 118px;
    left: 62px;
    top: 8px;
    transform: rotate(1deg);
    width: 4px;
}

.slot-object-print i {
    border: 3px solid currentColor;
    border-radius: 50%;
    height: 35px;
    left: 46px;
    position: absolute;
    top: 48px;
    width: 35px;
}

.prebuilt-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px;
}

.slot-status {
    color: var(--slot-accent);
    display: block;
    font-family: monospace;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.prebuilt-copy h4,
.video-slot-copy h4 {
    color: var(--slot-fg);
    font-size: 28px;
    line-height: 1;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.prebuilt-copy p,
.video-slot-copy p {
    color: var(--slot-muted);
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 24px;
}

.slot-meta {
    align-items: center;
    border-top: 1px solid var(--slot-line);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: auto;
    padding: 17px 0;
}

.slot-meta strong {
    color: var(--slot-fg);
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.slot-meta span {
    color: var(--slot-muted);
    font-family: monospace;
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.slot-buy {
    background: transparent;
    border: 1px dashed var(--slot-line);
    color: var(--slot-muted);
    cursor: not-allowed;
    font-family: monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    min-height: 45px;
    padding: 12px 16px;
    text-transform: uppercase;
    width: 100%;
}

.slot-checkout-form {
    margin: 0;
    width: 100%;
}

.slot-status-live {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.slot-status-live::before {
    background: currentColor;
    border-radius: 50%;
    box-shadow: 0 0 12px currentColor;
    content: "";
    height: 6px;
    width: 6px;
}

.slot-buy:disabled {
    cursor: not-allowed;
    opacity: 0.72;
}

.slot-buy-live {
    background: var(--slot-accent);
    border: 1px solid var(--slot-accent);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    color: var(--cat-ink);
    cursor: pointer;
    transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.product-feature-light .slot-buy-live {
    color: #fff;
}

.slot-buy-live:hover {
    background: #fff;
    border-color: #fff;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
    color: var(--cat-ink);
    transform: translateY(-2px);
}

.slot-buy-live:active {
    box-shadow: none;
    transform: translateY(0);
}

.slot-buy-live:focus-visible {
    outline: 3px solid var(--cat-cyan);
    outline-offset: 4px;
}

.demo-video-slot {
    background: var(--slot-bg);
    border: 1px solid var(--slot-line);
    color: var(--slot-fg);
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.8fr);
    margin-top: 20px;
    overflow: hidden;
}

.video-placeholder {
    --video-accent: var(--cat-lime);
    align-items: center;
    aspect-ratio: 16 / 9;
    background:
        radial-gradient(circle at 50% 50%, rgba(108, 53, 255, 0.58), transparent 32%),
        linear-gradient(115deg, #090910, #17112d 52%, #090910);
    border-right: 1px solid var(--slot-line);
    display: flex;
    justify-content: center;
    min-height: 310px;
    overflow: hidden;
    position: relative;
}

.video-placeholder-lime { --video-accent: var(--cat-lime); }
.video-placeholder-pink { --video-accent: var(--cat-pink); }
.video-placeholder-cyan { --video-accent: var(--cat-cyan); }

.video-placeholder::before,
.video-placeholder::after {
    border: 1px solid var(--video-accent);
    border-radius: 50%;
    content: "";
    opacity: 0.38;
    position: absolute;
}

.video-placeholder::before { height: 230px; width: 230px; }
.video-placeholder::after { height: 340px; width: 340px; }

.video-scanlines {
    background: repeating-linear-gradient(to bottom, transparent 0 5px, rgba(255, 255, 255, 0.035) 6px);
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.video-play {
    align-items: center;
    background: var(--video-accent);
    border-radius: 50%;
    box-shadow: 0 0 36px var(--video-accent);
    color: var(--cat-ink);
    display: flex;
    font-size: 24px;
    height: 82px;
    justify-content: center;
    padding-left: 5px;
    position: relative;
    width: 82px;
    z-index: 2;
}

.video-timecode {
    bottom: 16px;
    color: rgba(255, 255, 255, 0.72);
    left: 18px;
}

.video-slot-copy {
    align-self: center;
    padding: clamp(28px, 4vw, 55px);
}

.video-slot-copy p { margin-bottom: 23px; }

.video-formats {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.video-formats span {
    border: 1px solid var(--slot-line);
    color: var(--slot-muted);
    font-family: monospace;
    font-size: 8px;
    letter-spacing: 0.08em;
    padding: 6px 9px;
    text-transform: uppercase;
}

.demo-video-slot video,
.demo-video-slot iframe {
    aspect-ratio: 16 / 9;
    border: 0;
    border-right: 1px solid var(--slot-line);
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.product-visual {
    min-height: 630px;
    overflow: hidden;
    position: relative;
}

.visual-hud {
    color: rgba(255, 255, 255, 0.75);
    display: flex;
    font-family: monospace;
    font-size: 9px;
    justify-content: space-between;
    left: 24px;
    letter-spacing: 0.09em;
    position: absolute;
    right: 24px;
    top: 22px;
    z-index: 5;
}

.hud-dark { color: rgba(7, 7, 11, 0.7); }

.visual-caption {
    bottom: 18px;
    color: rgba(255, 255, 255, 0.55);
    font-family: monospace;
    font-size: 8px;
    left: 24px;
    letter-spacing: 0.08em;
    position: absolute;
}

.dark-caption { color: rgba(7, 7, 11, 0.55); }

.product-visual-totem {
    background:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        radial-gradient(circle at 50% 50%, #301a68 0, #101019 45%, #08080c 78%);
    background-size: 34px 34px, 34px 34px, auto;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.totem-beam {
    background: linear-gradient(to bottom, rgba(200, 255, 0, 0), rgba(200, 255, 0, 0.35), rgba(200, 255, 0, 0));
    filter: blur(3px);
    height: 92%;
    left: 50%;
    position: absolute;
    top: 4%;
    transform: translateX(-50%);
    width: 32%;
}

.totem-render {
    filter: drop-shadow(0 0 36px rgba(255, 43, 214, 0.65));
    height: 440px;
    left: 50%;
    position: absolute;
    top: 52%;
    transform: translate(-50%, -50%) rotate(3deg);
    width: 205px;
}

.totem-cap {
    background: var(--cat-lime);
    border: 6px solid #07070b;
    clip-path: polygon(50% 0, 100% 30%, 82% 100%, 18% 100%, 0 30%);
    height: 110px;
    left: 22px;
    position: absolute;
    top: 0;
    width: 161px;
}

.totem-lens {
    align-items: center;
    background: var(--cat-pink);
    border: 8px solid #0b0b10;
    border-radius: 50%;
    display: flex;
    height: 78px;
    justify-content: center;
    left: 64px;
    position: absolute;
    top: 48px;
    width: 78px;
    z-index: 3;
}

.totem-lens i { background: #fff; border-radius: 50%; box-shadow: 0 0 22px #fff; height: 17px; width: 17px; }

.totem-body {
    background: linear-gradient(150deg, #ff2bd6, #6c35ff 70%);
    clip-path: polygon(15% 0, 85% 0, 100% 88%, 76% 100%, 24% 100%, 0 88%);
    height: 330px;
    left: 25px;
    position: absolute;
    top: 94px;
    width: 155px;
}

.totem-body i,
.totem-body b {
    border: 2px solid rgba(255, 255, 255, 0.75);
    left: 34px;
    position: absolute;
    right: 34px;
}

.totem-body i { height: 75px; top: 66px; }
.totem-body b { border-left: 0; border-right: 0; bottom: 58px; height: 20px; }

.totem-clip {
    border: 7px solid var(--cat-lime);
    border-radius: 0 0 30px 30px;
    bottom: -25px;
    height: 65px;
    left: 74px;
    position: absolute;
    width: 58px;
}

.measurement {
    color: var(--cat-cyan);
    font-family: monospace;
    font-size: 8px;
    position: absolute;
}

.measurement-height { border-left: 1px solid var(--cat-cyan); bottom: 14%; left: 12%; top: 15%; }
.measurement-height::before,
.measurement-height::after { background: var(--cat-cyan); content: ""; height: 1px; left: -5px; position: absolute; width: 10px; }
.measurement-height::before { top: 0; }
.measurement-height::after { bottom: 0; }
.measurement-height span { left: 8px; position: absolute; top: 50%; transform: rotate(-90deg) translateX(-50%); transform-origin: left top; white-space: nowrap; }
.measurement-width { border-top: 1px solid var(--cat-cyan); bottom: 10%; left: 25%; right: 25%; text-align: center; }
.measurement-width span { position: relative; top: 5px; }

.product-visual-hat {
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, 0.42), transparent 38%),
        repeating-linear-gradient(135deg, transparent, transparent 16px, rgba(7, 7, 11, 0.04) 17px),
        var(--cat-pink);
    border: 1px solid rgba(7, 7, 11, 0.2);
}

.hat-render {
    height: 355px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -44%) rotate(-6deg);
    width: 475px;
    z-index: 2;
}

.render-crown {
    background: linear-gradient(145deg, #191923 0%, #09090d 64%, #262638 100%);
    border-radius: 48% 48% 13% 13%;
    bottom: 76px;
    box-shadow: inset 18px 0 35px rgba(255, 255, 255, 0.05);
    height: 245px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 275px;
}

.render-band {
    align-items: center;
    background: var(--cat-lime);
    bottom: 79px;
    display: flex;
    height: 39px;
    justify-content: space-around;
    left: 50%;
    padding: 0 18px;
    position: absolute;
    transform: translateX(-50%);
    width: 278px;
    z-index: 3;
}

.render-band i { background: var(--cat-pink); border-radius: 50%; box-shadow: 0 0 14px var(--cat-pink); height: 9px; width: 9px; }

.render-brim {
    background: #08080c;
    border-radius: 50%;
    bottom: 33px;
    box-shadow: 0 18px 30px rgba(7, 7, 11, 0.35);
    height: 90px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 470px;
}

.render-wire {
    border: 4px solid var(--cat-cyan);
    border-bottom-color: transparent;
    border-radius: 50%;
    bottom: 41px;
    box-shadow: 0 -4px 20px var(--cat-cyan);
    height: 66px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 435px;
    z-index: 5;
}

.hat-halo {
    border: 1px solid rgba(7, 7, 11, 0.5);
    border-radius: 50%;
    height: 410px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 410px;
}

.halo-two { border-style: dashed; height: 535px; width: 535px; }

.visual-label {
    background: var(--cat-ink);
    color: #fff;
    font-family: monospace;
    font-size: 8px;
    letter-spacing: 0.09em;
    padding: 7px 9px;
    position: absolute;
    z-index: 6;
}

.label-a { left: 4%; top: 28%; transform: rotate(-90deg); }
.label-b { bottom: 21%; right: 3%; }

.product-visual-print {
    background:
        linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
        #171024;
    background-size: 28px 28px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    perspective: 800px;
}

.print-bed {
    background: rgba(7, 7, 11, 0.65);
    border: 2px solid var(--cat-cyan);
    bottom: 105px;
    height: 230px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%) rotateX(65deg) rotateZ(-1deg);
    width: 430px;
}

.print-bed span { background: rgba(0, 231, 255, 0.23); height: 1px; left: 0; position: absolute; right: 0; }
.print-bed span:nth-child(1) { top: 20%; }
.print-bed span:nth-child(2) { top: 40%; }
.print-bed span:nth-child(3) { top: 60%; }
.print-bed span:nth-child(4) { top: 80%; }

.object-render {
    height: 260px;
    left: 50%;
    position: absolute;
    top: 47%;
    transform: translate(-50%, -50%);
    width: 260px;
    z-index: 4;
}

.object-top {
    background: var(--cat-lime);
    clip-path: polygon(50% 0, 100% 24%, 50% 48%, 0 24%);
    height: 170px;
    left: 0;
    position: absolute;
    top: 0;
    width: 260px;
}

.object-face {
    height: 190px;
    position: absolute;
    top: 81px;
    width: 130px;
}

.face-front { background: var(--cat-pink); clip-path: polygon(0 0, 100% 22%, 100% 100%, 0 77%); left: 0; }
.face-side { background: #7826e8; clip-path: polygon(0 22%, 100% 0, 100% 77%, 0 100%); right: 0; }

.object-hole {
    background: var(--cat-ink);
    border: 4px solid var(--cat-cyan);
    border-radius: 50%;
    height: 56px;
    left: 38px;
    position: absolute;
    top: 135px;
    width: 56px;
    z-index: 5;
}

.print-path {
    border: 1px dashed var(--cat-lime);
    border-radius: 50%;
    height: 420px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotateX(62deg);
    width: 540px;
}

.path-two { border-color: var(--cat-pink); height: 540px; transform: translate(-50%, -50%) rotateX(71deg) rotateZ(20deg); width: 390px; }
.print-label-a { left: 4%; top: 21%; }
.print-label-b { background: var(--cat-lime); bottom: 8%; color: var(--cat-ink); right: 4%; }

.product-contact {
    background: #0b0b10;
    padding: clamp(80px, 9vw, 130px) 0;
}

.contact-panel {
    align-items: center;
    background: var(--cat-violet);
    color: #fff;
    display: flex;
    gap: clamp(42px, 6vw, 90px);
    justify-content: space-between;
    overflow: hidden;
    padding: clamp(34px, 6vw, 86px);
    position: relative;
}

.contact-panel::after {
    border: 2px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    content: "";
    height: 420px;
    position: absolute;
    right: -220px;
    top: -210px;
    width: 420px;
}

.contact-panel h2 {
    color: #fff;
    font-size: clamp(46px, 6vw, 84px);
    line-height: 0.9;
    margin: 0;
    text-transform: uppercase;
}

.contact-panel-intro {
    flex: 1 1 540px;
    max-width: 650px;
    position: relative;
    z-index: 2;
}

.contact-panel-intro > p:last-child {
    color: #d0c8e9;
    font-size: 17px;
    line-height: 1.75;
    margin: 30px 0 0;
    max-width: 520px;
}

.contact-panel-copy {
    flex: 0 1 560px;
    max-width: 560px;
    position: relative;
    width: 100%;
    z-index: 2;
}

.product-inquiry-form {
    background: rgba(11, 11, 16, 0.38);
    border: 1px solid rgba(255, 255, 255, 0.22);
    padding: clamp(24px, 3vw, 38px);
}

.inquiry-field-row {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inquiry-field {
    display: block;
    margin: 0 0 18px;
}

.inquiry-field > span {
    color: #fff;
    display: block;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.inquiry-field input,
.inquiry-field select,
.inquiry-field textarea {
    background: rgba(7, 7, 10, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 0;
    color: #fff;
    font: inherit;
    outline: 0;
    padding: 13px 14px;
    transition: border-color 160ms ease, box-shadow 160ms ease;
    width: 100%;
}

.inquiry-field select { cursor: pointer; }
.inquiry-field select option { background: #15131c; color: #fff; }
.inquiry-field textarea { min-height: 130px; resize: vertical; }

.inquiry-field input:focus,
.inquiry-field select:focus,
.inquiry-field textarea:focus {
    border-color: var(--cat-lime);
    box-shadow: 0 0 0 2px rgba(204, 255, 0, 0.16);
}

.inquiry-field input::placeholder,
.inquiry-field textarea::placeholder { color: rgba(255, 255, 255, 0.48); }

.inquiry-field-trap {
    height: 0;
    margin: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    width: 0;
}

.inquiry-submit { border: 0; cursor: pointer; width: 100%; }
.inquiry-submit:disabled { cursor: wait; opacity: 0.65; }

.contact-panel-copy .inquiry-note {
    color: #d0c8e9;
    font-size: 13px;
    line-height: 1.5;
    margin: 15px 0 0;
}

.contact-panel-copy .inquiry-status {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    margin: 12px 0 0;
    min-height: 21px;
}

.contact-panel-copy .inquiry-status.is-success { color: var(--cat-lime); }
.contact-panel-copy .inquiry-status.is-error { color: #ffd1f7; }

/* About */
.about-hero .site-container { min-height: 430px; }

.about-sun {
    border: 1px solid rgba(255, 43, 214, 0.6);
    border-radius: 50%;
    height: min(64vw, 850px);
    position: absolute;
    right: -19vw;
    top: 4%;
    width: min(64vw, 850px);
}

.about-sun::before,
.about-sun::after {
    border: 1px solid rgba(0, 231, 255, 0.3);
    border-radius: 50%;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.about-sun::before { height: 76%; width: 76%; }
.about-sun::after { border-color: rgba(200, 255, 0, 0.42); height: 48%; width: 48%; }
.about-sun span { background: var(--cat-pink); border-radius: 50%; box-shadow: 0 0 90px rgba(255, 43, 214, 0.4); height: 16%; left: 42%; position: absolute; top: 42%; width: 16%; }

.manifesto-section { background: var(--cat-paper); }

.manifesto-grid {
    display: grid;
    gap: 60px;
    grid-template-columns: minmax(160px, 0.65fr) 2fr;
}

.manifesto-label {
    display: flex;
    flex-direction: column;
    font-family: monospace;
    font-size: 9px;
    letter-spacing: 0.1em;
}

.manifesto-label i { background: var(--cat-ink); height: 1px; margin-top: 17px; width: 100%; }

.manifesto-copy h2 {
    font-size: clamp(48px, 6.5vw, 96px);
    line-height: 0.95;
    max-width: 980px;
    text-transform: uppercase;
}

.manifesto-copy h2 em { color: var(--cat-violet); }
.manifesto-copy p { color: #66626d; line-height: 1.7; max-width: 760px; }
.manifesto-copy .manifesto-lede { color: var(--cat-ink); font-size: clamp(20px, 2.2vw, 30px); line-height: 1.45; margin-top: 45px; }

.values-section {
    background: var(--cat-ink);
    color: #fff;
    padding: clamp(90px, 10vw, 155px) 0;
}

.values-section .section-heading h2 { color: #fff; }
.values-section .section-heading h2 em { color: var(--cat-lime); }
.values-section .section-heading > p { color: #8c8995; }

.values-grid {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(3, 1fr);
}

.value-card {
    background: #111118;
    border: 1px solid rgba(255, 255, 255, 0.12);
    min-height: 470px;
    padding: 38px;
    position: relative;
}

.value-card-accent { background: var(--cat-violet); }

.value-glyph {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    display: flex;
    font-size: 30px;
    height: 82px;
    justify-content: center;
    margin-bottom: 62px;
    width: 82px;
}

.value-index { color: var(--cat-lime); font-family: monospace; font-size: 9px; letter-spacing: 0.12em; }
.value-card h3 { color: #fff; font-size: clamp(34px, 3vw, 50px); line-height: 0.94; margin: 24px 0; text-transform: uppercase; }
.value-card p { bottom: 35px; color: #8e8a97; line-height: 1.55; margin: 0; max-width: 310px; position: absolute; }
.value-card-accent p { color: #d6d0ed; }

.studio-section { background: #dedbd2; }

.studio-map {
    aspect-ratio: 1 / 0.88;
    background:
        linear-gradient(rgba(7, 7, 11, 0.075) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7, 7, 11, 0.075) 1px, transparent 1px);
    background-size: 34px 34px;
    border: 1px solid rgba(7, 7, 11, 0.22);
    max-width: 680px;
    overflow: hidden;
    position: relative;
}

.map-line { border-top: 2px dashed var(--cat-violet); height: 1px; left: 13%; position: absolute; transform-origin: left; }
.line-1 { top: 29%; transform: rotate(18deg); width: 36%; }
.line-2 { left: 42%; top: 42%; transform: rotate(-29deg); width: 35%; }
.line-3 { left: 64%; top: 27%; transform: rotate(68deg); width: 38%; }

.map-node { align-items: center; color: var(--cat-ink); display: flex; flex-direction: column; font-family: monospace; font-size: 8px; gap: 7px; letter-spacing: 0.08em; position: absolute; }
.map-node i { background: var(--cat-lime); border: 5px solid var(--cat-ink); border-radius: 50%; box-shadow: 0 0 0 5px var(--cat-lime); height: 22px; width: 22px; }
.node-1 { left: 10%; top: 25%; }
.node-2 { left: 39%; top: 38%; }
.node-3 { left: 67%; top: 16%; }
.node-4 { bottom: 16%; right: 15%; }
.node-2 i { background: var(--cat-pink); box-shadow: 0 0 0 5px var(--cat-pink); }
.node-3 i { background: var(--cat-cyan); box-shadow: 0 0 0 5px var(--cat-cyan); }
.node-4 i { background: var(--cat-violet); box-shadow: 0 0 0 5px var(--cat-violet); }
.map-coord { font-family: monospace; font-size: 8px; position: absolute; }
.coord-1 { bottom: 18px; left: 18px; }
.coord-2 { bottom: 18px; right: 18px; }

.studio-section h2 { font-size: clamp(45px, 5vw, 76px); line-height: 0.95; margin-bottom: 30px; text-transform: uppercase; }
.studio-section h2 em { color: var(--cat-violet); }
.studio-copy { color: #625f69; font-size: 16px; line-height: 1.68; }
.studio-section .text-link { display: inline-block; margin-top: 14px; }
.about-cta { background: var(--cat-pink); }

/* Secure checkout result pages */
.payment-result-page {
    background: var(--cat-ink) !important;
}

.payment-result-main {
    min-height: 100vh;
}

.payment-result-section {
    padding: clamp(126px, 13vw, 190px) 0 clamp(78px, 9vw, 130px);
}

.payment-result-panel {
    background: var(--cat-paper-bright);
    box-shadow: 0 36px 100px rgba(0, 0, 0, 0.42);
    display: grid;
    grid-template-columns: minmax(330px, 0.82fr) minmax(0, 1.18fr);
    margin: 0 auto;
    max-width: 1220px;
    min-height: 650px;
    overflow: hidden;
}

.payment-result-art {
    align-items: center;
    background: var(--cat-violet);
    display: flex;
    justify-content: center;
    min-height: 100%;
    overflow: hidden;
    position: relative;
}

.payment-result-panel-cancel .payment-result-art {
    background: #271039;
}

.payment-result-grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.11) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px);
    background-size: 34px 34px;
    inset: 0;
    position: absolute;
}

.payment-result-orbit {
    border: 1px solid rgba(200, 255, 0, 0.76);
    border-radius: 50%;
    height: 430px;
    position: absolute;
    width: 430px;
}

.payment-result-orbit-two {
    border-color: rgba(0, 231, 255, 0.72);
    height: 290px;
    width: 290px;
}

.payment-result-panel-cancel .payment-result-orbit {
    border-color: rgba(255, 43, 214, 0.72);
}

.payment-result-panel-cancel .payment-result-orbit-two {
    border-color: rgba(0, 231, 255, 0.68);
}

.payment-result-glyph {
    align-items: center;
    background: var(--cat-lime);
    border-radius: 50%;
    box-shadow: 0 0 80px rgba(200, 255, 0, 0.45);
    color: var(--cat-ink);
    display: flex;
    font-family: "Circular Std Black", sans-serif;
    font-size: 54px;
    height: 144px;
    justify-content: center;
    position: relative;
    width: 144px;
    z-index: 2;
}

.payment-result-panel-cancel .payment-result-glyph {
    background: var(--cat-pink);
    box-shadow: 0 0 80px rgba(255, 43, 214, 0.42);
    color: #fff;
}

.payment-result-code {
    bottom: 28px;
    color: rgba(255, 255, 255, 0.72);
    font-family: monospace;
    font-size: 9px;
    left: 30px;
    letter-spacing: 0.16em;
    position: absolute;
    z-index: 2;
}

.payment-result-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(46px, 6vw, 82px);
}

.payment-result-kicker {
    align-items: center;
    color: #67636f;
    display: flex;
    font-family: monospace;
    font-size: 9px;
    font-weight: 700;
    gap: 10px;
    letter-spacing: 0.14em;
    margin: 0 0 24px;
    text-transform: uppercase;
}

.payment-result-kicker span {
    background: var(--cat-violet);
    height: 7px;
    transform: rotate(45deg);
    width: 7px;
}

.payment-result-panel-cancel .payment-result-kicker span {
    background: var(--cat-pink);
}

.payment-result-copy h1 {
    color: var(--cat-ink);
    font-size: clamp(50px, 6vw, 84px);
    line-height: 0.88;
    margin-bottom: 28px;
    text-transform: uppercase;
}

.payment-result-copy h1 em {
    color: var(--cat-violet);
}

.payment-result-panel-cancel .payment-result-copy h1 em {
    color: #b31391;
}

.payment-result-lede {
    color: #625f69;
    font-size: 16px;
    line-height: 1.65;
    margin: 0 0 28px;
    max-width: 680px;
}

.payment-confirmation {
    background: var(--cat-ink-soft);
    color: #fff;
    margin: 0 0 22px;
    padding: 21px 23px;
}

.payment-confirmation-heading {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
    display: flex;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 13px;
}

.payment-confirmation-heading span,
.payment-confirmation-heading strong {
    font-family: monospace;
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.payment-confirmation-heading span { color: #8e8b97; }
.payment-confirmation-heading strong { color: var(--cat-lime); }

.payment-confirmation-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr 0.65fr;
    margin: 0;
}

.payment-confirmation-grid > div {
    min-width: 0;
}

.payment-confirmation-reference {
    grid-column: 1 / -1;
}

.payment-confirmation-grid dt {
    color: #817e8a;
    font-family: monospace;
    font-size: 8px;
    letter-spacing: 0.12em;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.payment-confirmation-grid dd {
    color: #fff;
    font-family: "Circular Std Black", sans-serif;
    font-size: 17px;
    margin: 0;
    overflow-wrap: anywhere;
}

.payment-confirmation-reference dd {
    color: var(--cat-cyan);
    font-family: monospace;
    font-size: 12px;
    letter-spacing: 0.05em;
}

.payment-pending-note,
.payment-cancel-note {
    align-items: flex-start;
    background: #e4f6a7;
    border-left: 4px solid #82a900;
    display: flex;
    gap: 13px;
    margin-bottom: 24px;
    padding: 15px 17px;
}

.payment-cancel-note {
    background: #ffe0f7;
    border-color: var(--cat-pink);
}

.payment-pending-note p,
.payment-cancel-note p {
    color: #343139;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.payment-pending-pulse {
    background: #739500;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(115, 149, 0, 0.15);
    flex: 0 0 8px;
    height: 8px;
    margin-top: 6px;
    width: 8px;
}

.payment-cancel-note > span {
    color: #a50985;
    flex: 0 0 auto;
    font-size: 22px;
    line-height: 1;
}

.payment-no-reference {
    border-left: 3px solid var(--cat-cyan);
    color: #625f69;
    font-size: 13px;
    margin: 0 0 24px;
    padding: 4px 0 4px 14px;
}

.payment-result-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.payment-result-link {
    border-bottom: 1px solid #928e99;
    color: #55515e !important;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    padding-bottom: 3px;
    text-transform: uppercase;
}

.payment-result-link:hover { color: var(--cat-violet) !important; }

.payment-security-note {
    color: #817d88;
    font-size: 11px;
    line-height: 1.45;
    margin: 27px 0 0;
}

.payment-security-note span {
    color: var(--cat-violet);
    margin-right: 6px;
}

.payment-result-actions a:focus-visible,
.payment-result-link:focus-visible {
    outline: 3px solid var(--cat-cyan);
    outline-offset: 4px;
}

/* Authenticated payment ledger */
.ops-payment-page {
    background: #e8e5dc;
    color: var(--cat-ink);
    font-family: "Circular Std Book", "Helvetica Neue", Arial, sans-serif;
    min-height: 100vh;
}

.payment-ledger-wrapper {
    min-height: calc(100vh - 78px);
}

.payment-ledger-main {
    margin: 0 auto;
    max-width: 1460px;
    padding: clamp(42px, 5vw, 76px) clamp(22px, 4vw, 62px) 70px;
}

.payment-ledger-heading {
    align-items: flex-end;
    display: flex;
    gap: 50px;
    justify-content: space-between;
    margin-bottom: 34px;
}

.payment-ledger-kicker {
    align-items: center;
    color: #625f69;
    display: flex;
    font-family: monospace;
    font-size: 9px;
    font-weight: 700;
    gap: 10px;
    letter-spacing: 0.14em;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.payment-ledger-kicker span {
    background: var(--cat-violet);
    height: 7px;
    transform: rotate(45deg);
    width: 7px;
}

.payment-ledger-heading h1 {
    font-family: "Circular Std Black", sans-serif;
    font-size: clamp(42px, 5vw, 68px);
    letter-spacing: -0.045em;
    line-height: 0.92;
    margin: 0 0 16px;
    text-transform: uppercase;
}

.payment-ledger-heading > div:first-child > p:last-child {
    color: #696571;
    line-height: 1.55;
    margin: 0;
    max-width: 650px;
}

.payment-ledger-count {
    align-items: flex-end;
    border-left: 1px solid rgba(7, 7, 11, 0.2);
    display: flex;
    flex-direction: column;
    min-width: 150px;
    padding-left: 28px;
}

.payment-ledger-count strong {
    color: var(--cat-violet);
    font-family: "Circular Std Black", sans-serif;
    font-size: 48px;
    line-height: 1;
}

.payment-ledger-count span {
    color: #696571;
    font-family: monospace;
    font-size: 8px;
    letter-spacing: 0.13em;
    margin-top: 6px;
    text-transform: uppercase;
}

.payment-ledger-panel {
    background: var(--cat-ink-soft);
    box-shadow: 0 22px 55px rgba(29, 25, 38, 0.17);
    color: #fff;
    overflow: hidden;
}

.payment-ledger-panel-head {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    justify-content: space-between;
    padding: 19px 24px;
}

.payment-ledger-panel-head > div {
    align-items: center;
    display: flex;
    gap: 10px;
}

.payment-ledger-panel-head strong,
.payment-ledger-panel-head > span {
    font-family: monospace;
    font-size: 9px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.payment-ledger-panel-head > span { color: #7d7986; }

.payment-ledger-live-dot {
    background: var(--cat-lime);
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(200, 255, 0, 0.8);
    height: 7px;
    width: 7px;
}

.payment-ledger-table-wrap {
    overflow-x: auto;
}

.payment-ledger-table {
    border-collapse: collapse;
    color: #fff;
    margin: 0;
    min-width: 1040px;
    width: 100%;
}

.payment-ledger-table th {
    background: #17171f;
    color: #807d89;
    font-family: monospace;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.13em;
    padding: 15px 24px;
    text-align: left;
    text-transform: uppercase;
}

.payment-ledger-table td {
    border-top: 1px solid rgba(255, 255, 255, 0.09);
    color: #d7d4dc;
    font-size: 14px;
    padding: 19px 24px;
    vertical-align: middle;
}

.payment-ledger-table tbody tr {
    transition: background 160ms ease;
}

.payment-ledger-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.035);
}

.payment-ledger-table code {
    background: transparent;
    color: var(--cat-cyan);
    font-family: monospace;
    font-size: 11px;
    letter-spacing: 0.04em;
    padding: 0;
}

.payment-ledger-amount {
    color: #fff !important;
    font-family: "Circular Std Black", sans-serif;
}

.payment-ledger-status {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #c4c1c9;
    display: inline-block;
    font-family: monospace;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.12em;
    min-width: 82px;
    padding: 7px 9px;
    text-align: center;
    text-transform: uppercase;
}

.payment-ledger-status[data-status="PAID"] {
    background: rgba(200, 255, 0, 0.12);
    border-color: rgba(200, 255, 0, 0.4);
    color: var(--cat-lime);
}

.payment-ledger-status[data-status="PENDING"],
.payment-ledger-status[data-status="PROCESSING"] {
    background: rgba(0, 231, 255, 0.1);
    border-color: rgba(0, 231, 255, 0.35);
    color: var(--cat-cyan);
}

.payment-ledger-status[data-status="FAILED"],
.payment-ledger-status[data-status="EXPIRED"] {
    background: rgba(255, 43, 214, 0.1);
    border-color: rgba(255, 43, 214, 0.35);
    color: #ff76e5;
}

.payment-ledger-status[data-status="REFUNDED"] {
    background: rgba(155, 123, 255, 0.12);
    border-color: rgba(155, 123, 255, 0.38);
    color: #b9a1ff;
}

.payment-ledger-empty {
    align-items: center;
    display: flex;
    flex-direction: column;
    min-height: 390px;
    padding: 70px 25px;
    text-align: center;
}

.payment-ledger-empty > span {
    align-items: center;
    border: 1px solid rgba(200, 255, 0, 0.4);
    border-radius: 50%;
    color: var(--cat-lime);
    display: flex;
    font-size: 35px;
    height: 82px;
    justify-content: center;
    margin-bottom: 25px;
    width: 82px;
}

.payment-ledger-empty h2 {
    color: #fff;
    font-family: "Circular Std Black", sans-serif;
    font-size: 31px;
    letter-spacing: -0.035em;
    margin: 0 0 9px;
    text-transform: uppercase;
}

.payment-ledger-empty p {
    color: #85818e;
    margin: 0 0 20px;
    max-width: 470px;
}

.payment-ledger-empty a {
    color: var(--cat-lime);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.payment-ledger-empty a:focus-visible {
    outline: 3px solid var(--cat-cyan);
    outline-offset: 4px;
}

.payment-ledger-footnote {
    align-items: flex-start;
    border-top: 1px solid rgba(7, 7, 11, 0.2);
    display: flex;
    gap: 22px;
    margin-top: 27px;
    padding-top: 18px;
}

.payment-ledger-footnote span {
    color: var(--cat-violet);
    flex: 0 0 auto;
    font-family: monospace;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.13em;
}

.payment-ledger-footnote p {
    color: #6f6b76;
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
}

/* Crew portal */
body.rave-page.portal-page {
    background: var(--cat-ink);
    min-height: 100vh;
}

.portal-shell {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 90px 26px 40px;
    position: relative;
}

.portal-brand {
    align-items: center;
    display: flex;
    gap: 12px;
    left: clamp(24px, 4vw, 60px);
    position: absolute;
    top: 26px;
}

.portal-panel {
    background: var(--cat-paper);
    box-shadow: 0 35px 100px rgba(0, 0, 0, 0.42);
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    max-width: 1120px;
    min-height: 650px;
    overflow: hidden;
    width: 100%;
}

.portal-art {
    background: var(--cat-violet);
    overflow: hidden;
    position: relative;
}

.portal-grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
    background-size: 36px 36px;
    inset: 0;
    position: absolute;
}

.portal-orbit {
    border: 1px solid rgba(200, 255, 0, 0.8);
    border-radius: 50%;
    height: 480px;
    left: 50%;
    position: absolute;
    top: 43%;
    transform: translate(-50%, -50%);
    width: 480px;
}

.orbit-beta {
    border-color: rgba(0, 231, 255, 0.8);
    height: 340px;
    width: 340px;
}

.portal-core {
    align-items: center;
    background: var(--cat-pink);
    border-radius: 50%;
    box-shadow: 0 0 80px rgba(255, 43, 214, 0.55);
    color: #fff;
    display: flex;
    font-family: "Circular Std Black", sans-serif;
    font-size: 30px;
    height: 150px;
    justify-content: center;
    left: 50%;
    letter-spacing: 0.08em;
    position: absolute;
    top: 43%;
    transform: translate(-50%, -50%);
    width: 150px;
}

.portal-art-copy {
    bottom: 34px;
    display: flex;
    flex-direction: column;
    left: 38px;
    position: absolute;
}

.portal-art-copy span {
    color: var(--cat-lime);
    font-family: monospace;
    font-size: 9px;
    letter-spacing: 0.12em;
}

.portal-art-copy strong {
    color: #fff;
    font-family: "Circular Std Black", sans-serif;
    font-size: 45px;
    letter-spacing: -0.06em;
    line-height: 0.77;
    margin-top: 12px;
}

.portal-form-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(40px, 6vw, 82px);
}

.portal-form-heading h1 {
    color: var(--cat-ink);
    font-size: clamp(48px, 5vw, 68px);
    line-height: 0.88;
    margin-bottom: 22px;
    text-transform: uppercase;
}

.portal-form-heading h1 em { color: var(--cat-violet); }
.portal-form-heading > p:last-child { color: #6c6874; }
.portal-form { margin-top: 38px; }
.portal-form .form-group { margin-bottom: 22px; }

.portal-form label:not(.portal-check) {
    color: var(--cat-ink);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.portal-form .form-control {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #aaa69c;
    border-radius: 0;
    color: var(--cat-ink);
    font-size: 15px;
    height: 48px;
    padding: 8px 0;
}

.portal-form .form-control:focus {
    border-color: var(--cat-violet);
    box-shadow: none;
}

.portal-check {
    align-items: center;
    color: #686572;
    cursor: pointer;
    display: flex;
    font-size: 12px;
    gap: 9px;
    margin: 4px 0 28px;
}

.portal-check input { accent-color: var(--cat-violet); }
.portal-submit { background: var(--cat-ink); border-color: var(--cat-ink); color: #fff !important; width: 100%; }
.portal-submit:hover { background: var(--cat-violet); border-color: var(--cat-violet); }
.portal-alert { background: #ffd6f5; border-left: 4px solid var(--cat-pink); color: #5d164f; font-size: 12px; margin-bottom: 20px; padding: 12px 14px; }
.portal-back { color: #696571 !important; font-size: 10px; font-weight: 800; letter-spacing: 0.09em; margin-top: 25px; text-align: center; text-transform: uppercase; }
.portal-back:hover { color: var(--cat-violet) !important; }

/* Motion, accessibility, and responsive layout */
.has-motion .reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 650ms ease, transform 650ms ease;
}

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

.rave-page a:focus-visible,
.site-header a:focus-visible,
.site-header button:focus-visible,
.site-footer a:focus-visible {
    outline: 3px solid var(--cat-cyan);
    outline-offset: 4px;
}

@keyframes cat-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes cat-spin-reverse { to { transform: translate(-50%, -50%) rotate(-360deg); } }
@keyframes scroll-dot { 0%, 100% { opacity: 0.25; transform: translateY(0); } 50% { opacity: 1; transform: translateY(12px); } }
@keyframes marquee-move { to { transform: translateX(-50%); } }

@media (max-width: 1199px) {
    .site-navbar { padding-left: 28px; padding-right: 28px; }
    .site-nav-links .nav-link { margin: 0; padding-left: 7px !important; padding-right: 7px !important; }
    .hero-poster { min-height: 530px; }
    .collection-art { height: 330px; }
    .collection-copy { min-height: 300px; }
    .product-visual { min-height: 560px; }
}

@media (max-width: 991px) {
    .site-navbar .navbar-toggler { display: flex; }

    .site-navbar .navbar-collapse {
        background: #0b0b10;
        border: 1px solid rgba(255, 255, 255, 0.16);
        box-shadow: 0 24px 50px rgba(0, 0, 0, 0.45);
        margin: 13px -8px 0;
        padding: 18px;
    }

    .site-nav-links { align-items: stretch !important; }
    .site-nav-links .nav-link { border-bottom: 1px solid rgba(255, 255, 255, 0.08); padding: 13px 4px !important; }
    .nav-cta { display: block; margin-top: 13px; text-align: center; }

    .rave-hero { padding-bottom: 110px; padding-top: 148px; }
    .hero-copy { padding-right: 15px; }
    .hero-art-column { margin: 80px auto 0; max-width: 620px; padding-left: 15px; }
    .hero-poster { min-height: 650px; }
    .signal-stage { top: 95px; }

    .section-heading { align-items: flex-start; flex-direction: column; }
    .section-heading > p { margin: 30px 0 0; }
    .collection-grid { grid-template-columns: 1fr; }
    .collection-card { display: grid; grid-template-columns: 1.1fr 1fr; }
    .collection-art { height: auto; min-height: 380px; }
    .collection-copy { min-height: 380px; }
    .mission-visual { margin-bottom: 85px; max-width: 530px; }
    .process-step { min-height: 400px; padding-left: 25px; padding-right: 25px; }

    .page-hero .site-container { align-items: flex-start; flex-direction: column; }
    .catalog-code { border-left: 0; border-top: 1px solid var(--cat-line); margin: 58px 0 0; padding: 20px 0 0; width: 100%; }
    .product-feature .row > div:first-child { margin-bottom: 70px; }
    .product-feature-light .row > div:first-child { margin-bottom: 0; margin-top: 70px; }
    .product-visual { margin: 0 auto; max-width: 720px; min-height: 660px; }
    .prebuilt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .prebuilt-card:last-child { grid-column: 1 / -1; }
    .prebuilt-card:last-child .prebuilt-preview { aspect-ratio: 2 / 1; }
    .demo-video-slot { grid-template-columns: 1fr; }
    .video-placeholder,
    .demo-video-slot > video,
    .demo-video-slot > iframe { border-bottom: 1px solid var(--slot-line); border-right: 0; }
    .contact-panel { align-items: flex-start; flex-direction: column; }
    .contact-panel-intro,
    .contact-panel-copy { flex-basis: auto; max-width: 100%; }

    .payment-result-panel { grid-template-columns: minmax(285px, 0.72fr) minmax(0, 1.28fr); }
    .payment-result-copy { padding: 48px 42px; }
    .payment-result-orbit { height: 340px; width: 340px; }
    .payment-result-orbit-two { height: 235px; width: 235px; }

    .manifesto-grid { gap: 45px; grid-template-columns: 1fr; }
    .manifesto-label i { max-width: 210px; }
    .value-card { min-height: 520px; padding: 28px; }
    .studio-map { margin: 0 auto 75px; }

    .portal-panel { grid-template-columns: 0.8fr 1fr; }
    .portal-art-copy strong { font-size: 36px; }
}

@media (max-width: 767px) {
    .site-navbar { max-width: 100vw; min-height: 70px; padding: 11px 18px; width: 100vw; }
    .site-navbar .navbar-toggler { position: absolute; right: 18px; top: 15px; }
    .brand-type { font-size: 15px; }
    .brand-mark { height: 33px; width: 36px; }
    .brand-type small { font-size: 7px; }

    .dashboard-main-wrapper { padding-top: 70px; }
    .ops-sidebar { height: auto; top: 0; }

    .rave-hero { min-height: auto; padding: 130px 0 105px; }
    .hero-copy { max-width: 100%; min-width: 0; overflow: hidden; width: 100%; }
    .hero-copy h1 { font-size: clamp(42px, 11.5vw, 56px); letter-spacing: -0.07em; max-width: 100%; }
    .hero-copy h1 em { transform: none; }
    .hero-lede { font-size: 17px; max-width: 100%; overflow-wrap: break-word; }
    .hero-actions { align-items: flex-start; flex-direction: column; }
    .hero-specs { align-items: flex-start; flex-direction: column; }
    .hero-art-column { margin-top: 65px; max-width: 100%; min-width: 0; }
    .hero-poster { min-height: 520px; padding: 18px; }
    .signal-stage { height: 280px; top: 65px; width: 280px; }
    .orbit-one { height: 255px; width: 255px; }
    .orbit-two { height: 205px; width: 205px; }
    .orbit-three { height: 150px; width: 150px; }
    .poster-title { font-size: 47px; }
    .poster-meta span:last-child { display: none; }
    .hero-sticker { height: 64px; font-size: 9px; width: 64px; }
    .sticker-two { right: -4px; }
    .scroll-cue { display: none; }

    .section-heading h2 { font-size: clamp(43px, 13vw, 65px); }
    .collection-card { display: block; }
    .collection-art { height: 340px; min-height: 0; }
    .collection-copy { min-height: 300px; padding: 25px; }
    .collection-copy h3 { font-size: 46px; }
    .card-arrow { bottom: 24px; right: 24px; }

    .mission-section h2 { font-size: 48px; }
    .process-grid { grid-template-columns: 1fr; }
    .process-step { min-height: 345px; }
    .process-step + .process-step { border-left: 0; border-top: 1px solid #bcb8ae; }

    .footer-grid { flex-direction: column; }
    .footer-links { margin-top: 42px; }
    .footer-meta { align-items: flex-start; flex-direction: column; gap: 8px; }

    .page-hero { min-height: 670px; padding: 145px 0 80px; }
    .page-hero h1 { font-size: clamp(58px, 17vw, 88px); }
    .page-hero .site-container { min-height: 430px; }
    .product-jump-nav { overflow-x: auto; top: 68px; }
    .product-jump-nav .site-container { min-width: 650px; }
    .product-jump-nav a { padding: 16px 14px; }
    .cart-preview-banner { padding: 30px 0; }
    .cart-preview-banner-inner { align-items: stretch; flex-direction: column; gap: 24px; }
    .cart-preview-open { width: 100%; }
    .cart-launch { bottom: 14px; right: 14px; }
    .cart-drawer { width: 100%; }
    .cart-drawer-header { padding: 20px 20px 18px; }
    .cart-payment-notice { padding: 17px 20px; }
    .cart-drawer-body { padding-left: 20px; padding-right: 20px; }
    .cart-drawer-footer { padding: 19px 20px 20px; }
    .product-feature { scroll-margin-top: 110px; }
    .product-visual { min-height: 500px; }
    .commerce-header { align-items: flex-start; flex-direction: column; gap: 24px; }
    .commerce-header > p { max-width: 600px; }
    .prebuilt-grid { grid-template-columns: 1fr; }
    .prebuilt-card:last-child { grid-column: auto; }
    .prebuilt-card:last-child .prebuilt-preview { aspect-ratio: 4 / 3; }
    .video-placeholder { min-height: 0; }
    .totem-render { transform: translate(-50%, -50%) rotate(3deg) scale(0.78); }
    .measurement-height { left: 7%; }
    .hat-render { transform: translate(-50%, -44%) rotate(-6deg) scale(0.72); }
    .hat-halo { height: 310px; width: 310px; }
    .halo-two { height: 420px; width: 420px; }
    .print-bed { width: 320px; }
    .object-render { transform: translate(-50%, -50%) scale(0.78); }
    .print-path { width: 400px; }
    .contact-panel { padding: 40px 25px; }
    .inquiry-field-row { grid-template-columns: 1fr; }

    .payment-result-section { padding-top: 112px; }
    .payment-result-panel { grid-template-columns: 1fr; }
    .payment-result-art { min-height: 340px; }
    .payment-result-copy { padding: 48px 34px 54px; }
    .payment-result-copy h1 { font-size: clamp(48px, 13vw, 72px); }

    .payment-ledger-main { padding: 40px 20px 60px; }
    .payment-ledger-heading { align-items: flex-start; flex-direction: column; gap: 24px; }
    .payment-ledger-count { align-items: flex-start; border-left: 0; border-top: 1px solid rgba(7, 7, 11, 0.2); padding: 17px 0 0; width: 100%; }
    .payment-ledger-panel-head > span { display: none; }
    .payment-ledger-table-wrap { overflow: visible; }
    .payment-ledger-table { min-width: 0; }
    .payment-ledger-table thead {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hidden;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }
    .payment-ledger-table,
    .payment-ledger-table tbody,
    .payment-ledger-table tr,
    .payment-ledger-table td { display: block; }
    .payment-ledger-table tbody tr { border-top: 1px solid rgba(255, 255, 255, 0.12); padding: 15px 20px; }
    .payment-ledger-table td {
        align-items: center;
        border: 0;
        display: grid;
        gap: 16px;
        grid-template-columns: minmax(82px, 0.55fr) minmax(0, 1.45fr);
        padding: 9px 0;
        text-align: right;
    }
    .payment-ledger-table td::before {
        color: #777481;
        content: attr(data-label);
        font-family: monospace;
        font-size: 8px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-align: left;
        text-transform: uppercase;
    }
    .payment-ledger-table td > * { justify-self: end; }
    .payment-ledger-table code { overflow-wrap: anywhere; }

    .manifesto-copy h2 { font-size: 49px; }
    .values-grid { grid-template-columns: 1fr; }
    .value-card { min-height: 430px; }
    .studio-map { min-height: 440px; }

    .portal-shell { align-items: flex-start; padding-left: 18px; padding-right: 18px; }
    .portal-panel { grid-template-columns: 1fr; }
    .portal-art { min-height: 260px; }
    .portal-orbit { height: 330px; width: 330px; }
    .orbit-beta { height: 220px; width: 220px; }
    .portal-core { height: 90px; width: 90px; }
    .portal-art-copy { bottom: 22px; left: 24px; }
    .portal-art-copy strong { font-size: 31px; }
    .portal-form-wrap { padding: 48px 28px; }
}

@media (max-width: 420px) {
    .site-brand { gap: 8px; }
    .brand-type small { letter-spacing: 0.23em; }
    .menu-label { display: none; }
    .hero-poster { min-height: 480px; }
    .signal-stage { transform: translateX(-50%) scale(0.83); transform-origin: top center; }
    .poster-title { font-size: 42px; }
    .poster-footer span:first-child { display: none; }
    .collection-art { height: 310px; }
    .hat-brim { width: 280px; }
    .mission-tag { display: none; }
    .product-visual { min-height: 450px; }
    .visual-label { display: none; }
    .commerce-header h3 { font-size: 36px; }
    .cart-actions { grid-template-columns: 1fr; }
    .cart-action,
    .cart-action-primary,
    .cart-action-disabled { grid-column: auto; }
    .cart-item-controls { flex-wrap: wrap; }
    .cart-item-remove { margin-left: 0; width: 100%; }
    .prebuilt-copy { padding: 22px; }
    .video-slot-copy { padding: 27px 22px; }
    .video-play { height: 68px; width: 68px; }
    .payment-result-art { min-height: 285px; }
    .payment-result-orbit { height: 270px; width: 270px; }
    .payment-result-orbit-two { height: 185px; width: 185px; }
    .payment-result-glyph { font-size: 42px; height: 112px; width: 112px; }
    .payment-result-copy { padding: 40px 23px 48px; }
    .payment-result-copy h1 { font-size: 46px; }
    .payment-confirmation-grid { grid-template-columns: 1fr; }
    .payment-confirmation-reference { grid-column: auto; }
    .payment-result-actions { align-items: flex-start; flex-direction: column; }
    .payment-ledger-heading h1 { font-size: 43px; }
    .payment-ledger-panel-head { padding-left: 19px; padding-right: 19px; }
    .payment-ledger-footnote { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
    .has-motion .reveal { opacity: 1; transform: none; }
}

.slot-inquiry { display: block; text-align: center; cursor: pointer; text-decoration: none; }
.slot-buy:disabled { cursor: wait; opacity: .7; }

/* Keep products and payment actions ahead of the studio details. */
.products-page .products-hero {
    min-height: 0;
    padding: 124px 0 38px;
}

.products-page .products-hero .site-container {
    align-items: center;
    min-height: 0;
}

.products-page .products-hero h1 {
    font-size: clamp(42px, 5.5vw, 78px);
    line-height: 0.95;
}

.products-page .products-hero .page-hero-copy > p:last-child {
    font-size: 16px;
    margin-top: 18px;
}

.shop-catalog {
    --slot-bg: #111118;
    --slot-fg: #fff;
    --slot-line: rgba(255, 255, 255, 0.16);
    --slot-muted: #9d9aa7;
    --slot-accent: var(--cat-lime);
    background: #0b0b10;
    padding: 42px 0 64px;
    scroll-margin-top: 126px;
}

.shop-intro {
    margin-bottom: 36px;
}

.shop-intro .commerce-kicker {
    margin-bottom: 12px;
}

.shop-intro h2 {
    color: #fff;
    font-size: clamp(28px, 3.5vw, 44px);
    line-height: 1;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.shop-intro > p:last-child {
    color: var(--slot-muted);
    font-size: 15px;
    margin: 0;
}

.shop-catalog .shop-category {
    margin-top: 0;
    padding: 28px;
    scroll-margin-top: 126px;
}

.shop-catalog .shop-category + .shop-category {
    margin-top: 34px;
}

.shop-catalog .commerce-header {
    align-items: flex-start;
    gap: 30px;
    margin-bottom: 24px;
}

.shop-catalog .commerce-header h3 {
    font-size: clamp(28px, 3vw, 40px);
}

.shop-catalog .commerce-header > p {
    font-size: 14px;
}

.shop-catalog .prebuilt-preview {
    aspect-ratio: 2 / 1;
    min-height: 190px;
}

.shop-catalog .prebuilt-copy {
    padding: 22px;
}

.express-checkout[hidden] {
    display: none !important;
}

.express-checkout {
    margin-bottom: 12px;
    min-width: 0;
}

.express-checkout-element {
    min-height: 48px;
    width: 100%;
}

.express-checkout-note,
.express-checkout-total {
    color: var(--slot-muted);
    display: block;
    font-size: 12px;
    line-height: 1.5;
    margin-top: 8px;
}

.express-checkout-total:empty,
.express-checkout-status:empty {
    display: none;
}

.prebuilt-copy .express-checkout-status {
    color: var(--slot-fg);
    font-size: 13px;
    line-height: 1.45;
    margin: 8px 0 0;
}

.shop-catalog .slot-buy:focus-visible,
.product-jump-nav a:focus-visible {
    outline: 3px solid var(--cat-cyan);
    outline-offset: 3px;
}

@media (max-width: 991px) {
    .shop-catalog .prebuilt-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shop-catalog .prebuilt-card:last-child {
        grid-column: auto;
    }

    .shop-catalog .prebuilt-card:last-child .prebuilt-preview {
        aspect-ratio: 2 / 1;
    }
}

@media (max-width: 767px) {
    .products-page .products-hero {
        padding: 108px 0 30px;
    }

    .products-page .products-hero h1 {
        font-size: clamp(38px, 8vw, 58px);
    }

    .products-page .catalog-code {
        display: none;
    }

    .products-page .product-jump-nav .site-container {
        min-width: 0;
    }

    .products-page .product-jump-nav a {
        font-size: 9px;
        letter-spacing: 0.025em;
        padding: 14px 7px;
    }

    .products-page .product-jump-nav a span {
        display: none;
    }

    .shop-catalog {
        padding: 28px 0 42px;
    }

    .shop-intro {
        margin-bottom: 24px;
    }

    .shop-catalog .shop-category {
        padding: 22px 0;
    }

    .shop-catalog .shop-category + .shop-category {
        margin-top: 24px;
        padding: 22px 16px;
    }

    .shop-catalog .commerce-header {
        flex-direction: column;
        gap: 14px;
    }

    .shop-catalog .prebuilt-grid {
        grid-template-columns: 1fr;
    }

    .shop-catalog .prebuilt-preview,
    .shop-catalog .prebuilt-card:last-child .prebuilt-preview {
        aspect-ratio: 2.5 / 1;
        min-height: 130px;
    }

    .shop-catalog .commerce-header > p {
        display: none;
    }
}
